2 lines
46 KiB
JavaScript
2 lines
46 KiB
JavaScript
"use strict";define("kredits-web/app",["exports","ember","kredits-web/resolver","ember-load-initializers","kredits-web/config/environment"],function(e,t,n,r,l){var o=void 0;t.default.MODEL_FACTORY_INJECTIONS=!0,o=t.default.Application.extend({modulePrefix:l.default.modulePrefix,podModulePrefix:l.default.podModulePrefix,Resolver:n.default}),(0,r.default)(o,l.default.modulePrefix),e.default=o}),define("kredits-web/components/add-contributor/component",["exports","ember","kredits-web/models/contributor"],function(e,t,n){var r=t.default.Component,l=t.default.isPresent,o=t.default.inject.service,s=t.default.computed;e.default=r.extend({kredits:o(),newContributor:null,inProgress:!1,isValidAddress:function(){return this.get("kredits.web3").isAddress(this.get("newContributor.address"))}.property("kredits.web3","newContributor.address"),isValidName:function(){return l(this.get("newContributor.name"))}.property("newContributor.name"),isValidURL:function(){return l(this.get("newContributor.url"))}.property("newContributor.url"),isValidGithubUID:function(){return l(this.get("newContributor.github_uid"))}.property("newContributor.github_uid"),isValidGithubUsername:function(){return l(this.get("newContributor.github_username"))}.property("newContributor.github_username"),isValidWikiUsername:function(){return l(this.get("newContributor.wiki_username"))}.property("newContributor.wiki_username"),isValid:s.and("isValidAddress","isValidName","isValidGithubUID"),reset:function(){this.setProperties({newContributor:n.default.create({kind:"person"}),inProgress:!1})},actions:{save:function(){var e=this;return this.get("contractInteractionEnabled")?void(this.get("isValid")?(this.set("inProgress",!0),this.get("kredits").addContributor(this.get("newContributor")).then(function(t){e.reset(),e.get("contributors").pushObject(t),window.scroll(0,0)})):alert("Invalid data. Please review and try again.")):void alert("Only core team members can add new contributors. Please ask someone to set you up.")}}})}),define("kredits-web/components/add-contributor/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"WQk0xZ2e",block:'{"statements":[["open-element","form",[]],["modifier",["action"],[["get",[null]],"save"],[["on"],["submit"]]],["flush-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","name","id","checked"],["checkbox","is-core","is-core",["get",["newContributor","isCore"]]]]],false],["text","\\n "],["open-element","label",[]],["static-attr","for","is-core"],["static-attr","class","checkbox"],["flush-element"],["text","\\n Core team member (can add contributors)\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["address","text","0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4",["get",["newContributor","address"]],["helper",["if"],[["get",["isValidAddress"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["open-element","select",[]],["static-attr","required",""],["dynamic-attr","onchange",["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["newContributor","kind"]]],null]],[["value"],["target.value"]]],null],["flush-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","person"],["dynamic-attr","selected",["helper",["eq"],[["get",["newContributor","kind"]],"person"],null],null],["flush-element"],["text","Person"],["close-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","organization"],["dynamic-attr","selected",["helper",["eq"],[["get",["newContributor","kind"]],"organization"],null],null],["flush-element"],["text","Organization"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["name","text","Name",["get",["newContributor","name"]],["helper",["if"],[["get",["isValidName"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["url","text","URL",["get",["newContributor","url"]],["helper",["if"],[["get",["isValidURL"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["github_uid","text","GitHub UID (123)",["get",["newContributor","github_uid"]],["helper",["if"],[["get",["isValidGithubUID"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["github_username","text","GitHub username",["get",["newContributor","github_username"]],["helper",["if"],[["get",["isValidGithubUsername"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["wiki_username","text","Wiki Username",["get",["newContributor","wiki_username"]],["helper",["if"],[["get",["isValidWikiUsername"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["static-attr","class","actions"],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","value","disabled"],["submit",["helper",["if"],[["get",["inProgress"]],"Processing","Save"],null],["get",["inProgress"]]]]],false],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/components/add-contributor/template.hbs"}})}),define("kredits-web/components/add-proposal/component",["exports","ember"],function(e,t){var n=t.default.Component,r=t.default.isPresent,l=t.default.inject.service,o=t.default.computed;e.default=n.extend({kredits:l(),proposal:null,contributors:null,inProgress:!1,isValidRecipient:o("proposal.recipientAddress",function(){return this.get("kredits.web3").isAddress(this.get("proposal.recipientAddress"))}),isValidAmount:o("proposal.amount",function(){return parseInt(this.get("proposal.amount"),10)>0}),isValidUrl:o("proposal.url",function(){return r(this.get("proposal.url"))}),isValidDescription:o("proposal.description",function(){return r(this.get("proposal.description"))}),isValid:o.and("isValidRecipient","isValidAmount","isValidDescription"),actions:{save:function(){var e=this;if(!this.get("isValid"))return alert("Invalid data. Please review and try again."),!1;this.set("inProgress",!0);var n=this.get("proposal"),r=this.get("contributors").findBy("address",n.get("recipientAddress"));n.set("recipientProfile",r.get("ipfsHash")),this.get("kredits").addProposal(n).then(function(){e.attrs.onSave()}).catch(function(e){t.default.Logger.error("[add-proposal] error creating the proposal",e),alert("Something went wrong.")}).finally(function(){e.set("inProgress",!1)})}}})}),define("kredits-web/components/add-proposal/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"142Bx2In",block:'{"statements":[["open-element","form",[]],["modifier",["action"],[["get",[null]],"save"],[["on"],["submit"]]],["flush-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["open-element","select",[]],["static-attr","required",""],["dynamic-attr","onchange",["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["proposal","recipientAddress"]]],null]],[["value"],["target.value"]]],null],["flush-element"],["text","\\n "],["open-element","option",[]],["static-attr","value",""],["static-attr","selected",""],["static-attr","disabled",""],["static-attr","hidden",""],["flush-element"],["text","Contributor"],["close-element"],["text","\\n"],["block",["each"],[["get",["contributors"]]],null,1],["text"," "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["open-element","select",[]],["static-attr","required",""],["dynamic-attr","onchange",["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["proposal","kind"]]],null]],[["value"],["target.value"]]],null],["flush-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","community"],["dynamic-attr","selected",["helper",["eq"],[["get",["proposal","kind"]],"community"],null],null],["flush-element"],["text","Community"],["close-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","design"],["dynamic-attr","selected",["helper",["eq"],[["get",["proposal","kind"]],"design"],null],null],["flush-element"],["text","Design"],["close-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","dev"],["dynamic-attr","selected",["helper",["eq"],[["get",["proposal","kind"]],"dev"],null],null],["flush-element"],["text","Development"],["close-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","docs"],["dynamic-attr","selected",["helper",["eq"],[["get",["proposal","kind"]],"docs"],null],null],["flush-element"],["text","Documentation"],["close-element"],["text","\\n "],["open-element","option",[]],["static-attr","value","ops"],["dynamic-attr","selected",["helper",["eq"],[["get",["proposal","kind"]],"ops"],null],null],["flush-element"],["text","IT Operations"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","placeholder","value","class"],["text","100",["get",["proposal","amount"]],["helper",["if"],[["get",["isValidAmount"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","placeholder","value","class"],["text","Description",["get",["proposal","description"]],["helper",["if"],[["get",["isValidDescription"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","placeholder","value","class"],["text","URL (optional)",["get",["proposal","url"]],["helper",["if"],[["get",["isValidUrl"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["static-attr","class","actions"],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","value","disabled"],["submit",["helper",["if"],[["get",["inProgress"]],"Processing","Save"],null],["get",["inProgress"]]]]],false],["text","\\n "],["block",["link-to"],["index"],null,0],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n\\n"]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text","Back"]],"locals":[]},{"statements":[["text"," "],["open-element","option",[]],["dynamic-attr","value",["unknown",["contributor","address"]],null],["dynamic-attr","selected",["helper",["eq"],[["get",["proposal","recipientAddress"]],["get",["contributor","address"]]],null],null],["flush-element"],["append",["unknown",["contributor","github_username"]],false],["close-element"],["text","\\n"]],"locals":["contributor"]}],"hasPartials":false}',meta:{moduleName:"kredits-web/components/add-proposal/template.hbs"}})}),define("kredits-web/components/contributor-list/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({tagName:"table",classNames:"contributor-list",selectedContributor:null,actions:{toggleContributorInfo:function(e){e.get("showMetadata")?e.set("showMetadata",!1):(this.get("contributors").setEach("showMetadata",!1),e.set("showMetadata",!0))}}})}),define("kredits-web/components/contributor-list/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"2dB8TB03",block:'{"statements":[["open-element","tbody",[]],["flush-element"],["text","\\n"],["block",["each"],[["get",["contributors"]]],null,1],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","li",[]],["flush-element"],["open-element","a",[]],["dynamic-attr","href",["concat",["https://ipfs.io/ipfs/",["unknown",["contributor","ipfsHash"]]]]],["flush-element"],["text","Inspect IPFS profile"],["close-element"],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","tr",[]],["dynamic-attr","class",["concat",[["helper",["if"],[["get",["contributor","isCurrentUser"]],"current-user"],null]]]],["modifier",["action"],[["get",[null]],"toggleContributorInfo",["get",["contributor"]]]],["flush-element"],["text","\\n "],["open-element","td",[]],["static-attr","class","person"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","class","avatar"],["dynamic-attr","src",["unknown",["contributor","avatarURL"]],null],["flush-element"],["close-element"],["text","\\n "],["append",["unknown",["contributor","name"]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","td",[]],["static-attr","class","kredits"],["flush-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","amount"],["flush-element"],["append",["unknown",["contributor","kredits"]],false],["close-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","symbol"],["flush-element"],["text","₭S"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","tr",[]],["dynamic-attr","class",["concat",["metadata ",["helper",["if"],[["get",["contributor","isCurrentUser"]],"current-user"],null]," ",["helper",["if"],[["get",["contributor","showMetadata"]],"visible"],null]]]],["flush-element"],["text","\\n "],["open-element","td",[]],["static-attr","colspan","2"],["flush-element"],["text","\\n "],["open-element","ul",[]],["flush-element"],["text","\\n "],["open-element","li",[]],["flush-element"],["open-element","a",[]],["dynamic-attr","href",["concat",["https://testnet.etherscan.io/address/",["unknown",["contributor","address"]]]]],["flush-element"],["text","Inspect Ethereum transactions"],["close-element"],["close-element"],["text","\\n"],["block",["if"],[["get",["contributor","ipfsHash"]]],null,0],["text"," "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n"]],"locals":["contributor"]}],"hasPartials":false}',meta:{moduleName:"kredits-web/components/contributor-list/template.hbs"}})}),define("kredits-web/components/loading-spinner/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({classNames:["loading-spinner"]})}),define("kredits-web/components/loading-spinner/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"+vFITFyc",block:'{"statements":[["open-element","p",[]],["flush-element"],["text","\\n "],["open-element","svg",[]],["static-attr","xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],["static-attr","xmlns:xlink","http://www.w3.org/1999/xlink","http://www.w3.org/2000/xmlns/"],["static-attr","version","1.1"],["static-attr","x","0px"],["static-attr","y","0px"],["static-attr","viewBox","0 0 132 100"],["static-attr","enable-background","new 0 0 100 100"],["static-attr","xml:space","preserve","http://www.w3.org/XML/1998/namespace"],["flush-element"],["text","\\n "],["open-element","path",[]],["static-attr","id","path-comet"],["static-attr","d","M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z"],["flush-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n"],["open-element","p",[]],["flush-element"],["text","\\n Loading data from Ethereum...\\n"],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/components/loading-spinner/template.hbs"}})}),define("kredits-web/components/proposal-list/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({tagName:"ul",classNames:["proposal-list"],actions:{confirm:function(e){this.get("contractInteractionEnabled")?this.sendAction("confirmAction",e):window.alert("Only members can vote on proposals. Please ask someone to set you up.")}}})}),define("kredits-web/components/proposal-list/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"+DfNCAaB",block:'{"statements":[["block",["each"],[["get",["proposals"]]],null,1]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["open-element","button",[]],["modifier",["action"],[["get",[null]],"confirm",["get",["proposal","id"]]]],["flush-element"],["text","+1"],["close-element"]],"locals":[]},{"statements":[["text"," "],["open-element","li",[]],["dynamic-attr","data-proposal-id",["unknown",["proposal","id"]],null],["dynamic-attr","title",["concat",["(",["unknown",["proposal","kind"]],") ",["unknown",["proposal","description"]]]]],["flush-element"],["text","\\n "],["open-element","span",[]],["dynamic-attr","class",["concat",["category ",["unknown",["proposal","kind"]]]]],["flush-element"],["text","♥"],["close-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","amount"],["flush-element"],["append",["unknown",["proposal","amount"]],false],["close-element"],["open-element","span",[]],["static-attr","class","symbol"],["flush-element"],["text","₭S"],["close-element"],["text","\\n for "],["open-element","span",[]],["static-attr","class","recipient"],["flush-element"],["append",["unknown",["proposal","recipientName"]],false],["close-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","votes"],["flush-element"],["text","("],["append",["unknown",["proposal","votesCount"]],false],["text","/"],["append",["unknown",["proposal","votesNeeded"]],false],["text"," votes)"],["close-element"],["text","\\n\\n "],["block",["unless"],[["get",["proposal","executed"]]],null,0],["text","\\n "],["close-element"],["text","\\n"]],"locals":["proposal"]}],"hasPartials":false}',meta:{moduleName:"kredits-web/components/proposal-list/template.hbs"}})}),define("kredits-web/controllers/application",["exports","ember"],function(e,t){e.default=t.default.Controller.extend({})}),define("kredits-web/controllers/index",["exports","ember","kredits-web/models/proposal"],function(e,t,n){var r=t.default.computed,l=t.default.inject.service;e.default=t.default.Controller.extend({kredits:l(),contractInteractionEnabled:r.alias("kredits.web3Provided"),findContributorByAddress:function(e){return this.get("model.contributors").findBy("address",e)},proposalsOpen:function(){var e=this,t=this.get("model.proposals").filterBy("executed",!1).map(function(t){return t.set("recipientName",e.findContributorByAddress(t.get("recipientAddress")).name),t});return t}.property("model.proposals.[]","model.proposals.@each.executed","model.contributors.[]"),proposalsClosed:function(){var e=this,t=this.get("model.proposals").filterBy("executed",!0).map(function(t){return t.set("recipientName",e.findContributorByAddress(t.get("recipientAddress")).name),t});return t}.property("model.proposals.[]","model.proposals.@each.executed","model.contributors.[]"),proposalsSorting:["id:desc"],proposalsClosedSorted:t.default.computed.sort("proposalsClosed","proposalsSorting"),proposalsOpenSorted:t.default.computed.sort("proposalsOpen","proposalsSorting"),contributorsWithKredits:function(){return this.get("model.contributors").filter(function(e){return 0!==e.get("kredits")})}.property("model.contributors.@each.kredits"),contributorsSorting:["kredits:desc"],contributorsSorted:t.default.computed.sort("contributorsWithKredits","contributorsSorting"),watchContractEvents:function(){var e=this,n=this.get("kredits.kreditsContract").allEvents();n.watch(function(n,r){switch(t.default.Logger.debug("[index] Received contract event",r),r.event){case"ProposalCreated":e._handleProposalCreated(r);break;case"ProposalExecuted":e._handleProposalExecuted(r);break;case"ProposalVoted":e._handleProposalVoted(r);break;case"Transfer":e._handleTransfer(r)}})}.on("init"),_handleProposalCreated:function(e){if(t.default.isPresent(this.get("model.proposals").findBy("id",e.args.id.toNumber())))return t.default.Logger.debug("[index] proposal exists, not adding from event"),!1;var r=n.default.create({id:e.args.id.toNumber(),creatorAddress:e.args.creator,recipientAddress:e.args.recipient,recipientName:null,votesCount:0,votesNeeded:2,amount:e.args.amount.toNumber(),executed:!1,url:e.args.url,ipfsHash:e.args.ipfsHash});this.get("model.proposals").pushObject(r)},_handleProposalExecuted:function(e){return this.get("model.proposals").findBy("id",e.args.id.toNumber()).get("executed")?(t.default.Logger.debug("[index] proposal already executed, not adding from event"),!1):(this.get("model.proposals").findBy("id",e.args.id.toNumber()).setProperties({executed:!0,votesCount:2}),void this.get("model.contributors").findBy("address",e.args.recipient).incrementProperty("kredits",e.args.amount.toNumber()))},_handleProposalVoted:function(e){this.get("model.proposals").findBy("id",e.args.id.toNumber()).incrementProperty("votesCount",1)},_handleTransfer:function(e){this.get("model.contributors").findBy("address",e.args.from).incrementProperty("kredits",-e.args.value.toNumber()),this.get("model.contributors").findBy("address",e.args.to).incrementProperty("kredits",e.args.value.toNumber())},actions:{confirmProposal:function(e){this.get("kredits").vote(e).then(function(e){window.confirm("Vote submitted to Ethereum blockhain: "+e)})}}})}),define("kredits-web/controllers/proposals/new",["exports","ember","ember-parachute"],function(e,t,n){var r=new n.default({recipient:{defaultValue:""},amount:{defaultValue:""},url:{defaultValue:""},ipfsHash:{defaultValue:""}});e.queryParams=r,e.default=t.default.Controller.extend(r.Mixin,{contributors:null,actions:{onSave:function(){this.transitionToRoute("index")}}})}),define("kredits-web/helpers/and",["exports","ember","ember-truth-helpers/helpers/and"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.andHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.andHelper)),e.default=r}),define("kredits-web/helpers/app-version",["exports","ember","kredits-web/config/environment"],function(e,t,n){function r(){return l}e.appVersion=r;var l=n.default.APP.version;e.default=t.default.Helper.helper(r)}),define("kredits-web/helpers/eq",["exports","ember","ember-truth-helpers/helpers/equal"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.equalHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.equalHelper)),e.default=r}),define("kredits-web/helpers/gt",["exports","ember","ember-truth-helpers/helpers/gt"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.gtHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.gtHelper)),e.default=r}),define("kredits-web/helpers/gte",["exports","ember","ember-truth-helpers/helpers/gte"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.gteHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.gteHelper)),e.default=r}),define("kredits-web/helpers/is-array",["exports","ember","ember-truth-helpers/helpers/is-array"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.isArrayHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.isArrayHelper)),e.default=r}),define("kredits-web/helpers/is-equal",["exports","ember-truth-helpers/helpers/is-equal"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return t.isEqual}})}),define("kredits-web/helpers/lt",["exports","ember","ember-truth-helpers/helpers/lt"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.ltHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.ltHelper)),e.default=r}),define("kredits-web/helpers/lte",["exports","ember","ember-truth-helpers/helpers/lte"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.lteHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.lteHelper)),e.default=r}),define("kredits-web/helpers/not-eq",["exports","ember","ember-truth-helpers/helpers/not-equal"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.notEqualHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.notEqualHelper)),e.default=r}),define("kredits-web/helpers/not",["exports","ember","ember-truth-helpers/helpers/not"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.notHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.notHelper)),e.default=r}),define("kredits-web/helpers/or",["exports","ember","ember-truth-helpers/helpers/or"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.orHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.orHelper)),e.default=r}),define("kredits-web/helpers/xor",["exports","ember","ember-truth-helpers/helpers/xor"],function(e,t,n){var r=null;t.default.Helper?r=t.default.Helper.helper(n.xorHelper):t.default.HTMLBars.makeBoundHelper&&(r=t.default.HTMLBars.makeBoundHelper(n.xorHelper)),e.default=r}),define("kredits-web/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","kredits-web/config/environment"],function(e,t,n){var r=n.default.APP,l=r.name,o=r.version;e.default={name:"App Version",initialize:(0,t.default)(l,o)}}),define("kredits-web/initializers/container-debug-adapter",["exports","ember-resolver/container-debug-adapter"],function(e,t){e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0];e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("kredits-web/initializers/defer-loading",["exports"],function(e){e.default={name:"defer-loading",initialize:function(e){return!!window.windowLoadComplete||(e.deferReadiness(),void window.addEventListener("load",function(){e.advanceReadiness()}))}}}),define("kredits-web/initializers/export-application-global",["exports","ember","kredits-web/config/environment"],function(e,t,n){function r(){var e=arguments[1]||arguments[0];if(n.default.exportApplicationGlobal!==!1){var r;if("undefined"!=typeof window)r=window;else if("undefined"!=typeof global)r=global;else{if("undefined"==typeof self)return;r=self}var l,o=n.default.exportApplicationGlobal;l="string"==typeof o?o:t.default.String.classify(n.default.modulePrefix),r[l]||(r[l]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete r[l]}}))}}e.initialize=r,e.default={name:"export-application-global",initialize:r}}),define("kredits-web/initializers/parachute-route",["exports","ember-parachute/initializers/parachute-route"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("kredits-web/initializers/truth-helpers",["exports","ember","ember-truth-helpers/utils/register-helper","ember-truth-helpers/helpers/and","ember-truth-helpers/helpers/or","ember-truth-helpers/helpers/equal","ember-truth-helpers/helpers/not","ember-truth-helpers/helpers/is-array","ember-truth-helpers/helpers/not-equal","ember-truth-helpers/helpers/gt","ember-truth-helpers/helpers/gte","ember-truth-helpers/helpers/lt","ember-truth-helpers/helpers/lte"],function(e,t,n,r,l,o,s,a,i,u,d,p,c){function m(){t.default.Helper||((0,n.registerHelper)("and",r.andHelper),(0,n.registerHelper)("or",l.orHelper),(0,n.registerHelper)("eq",o.equalHelper),(0,n.registerHelper)("not",s.notHelper),(0,n.registerHelper)("is-array",a.isArrayHelper),(0,n.registerHelper)("not-eq",i.notEqualHelper),(0,n.registerHelper)("gt",u.gtHelper),(0,n.registerHelper)("gte",d.gteHelper),(0,n.registerHelper)("lt",p.ltHelper),(0,n.registerHelper)("lte",c.lteHelper))}e.initialize=m,e.default={name:"truth-helpers",initialize:m}}),define("kredits-web/models/contributor",["exports","ember"],function(e,t){var n=t.default.isPresent;e.default=t.default.Object.extend({address:null,name:null,kind:null,url:null,github_username:null,github_uid:null,wiki_username:null,ipfsHash:null,kredits:null,isCore:!1,isCurrentUser:!1,avatarURL:function(){return"https://avatars2.githubusercontent.com/u/"+this.get("github_uid")+"?v=3&s=128"}.property("github_uid"),loadProfile:function(e){var r=this,l=new t.default.RSVP.Promise(function(l,o){e.getFile(r.get("ipfsHash")).then(function(e){var o=JSON.parse(e),s=t.default.Object.create(o);r.setProperties({name:s.get("name"),kind:s.get("kind")});var a=s.get("accounts"),i=a.findBy("site","github.com"),u=a.findBy("site","wiki.kosmos.org");n(i)&&r.setProperties({github_username:i.username,github_uid:i.uid}),n(u)&&r.setProperties({wiki_username:u.username}),t.default.Logger.debug("[contributor] loaded contributor profile",s),l()}).catch(function(e){t.default.Logger.error("[contributor] error trying to load contributor profile",r.get("ipfsHash"),e),o(e)})});return l},toJSON:function(){var e={"@context":"https://schema.kosmos.org","@type":"Contributor",kind:this.get("kind"),name:this.get("name"),accounts:[]};return t.default.isPresent(this.get("url"))&&(e.url=this.get("url")),t.default.isPresent(this.get("github_uid"))&&e.accounts.push({site:"github.com",uid:this.get("github_uid"),username:this.get("github_username"),url:"https://github.com/"+this.get("github_username")}),t.default.isPresent(this.get("wiki_username"))&&e.accounts.push({site:"wiki.kosmos.org",username:this.get("wiki_username"),url:"https://wiki.kosmos.org/User:"+this.get("wiki_username")}),e},serialize:function(){return JSON.stringify(this.toJSON())}})}),define("kredits-web/models/proposal",["exports","ember"],function(e,t){var n=t.default.isPresent,r=t.default.isEmpty;e.default=t.default.Object.extend({id:null,creatorAddress:null,recipientAddress:null,recipientName:null,recipientProfile:null,votesCount:null,votesNeeded:null,amount:null,executed:null,contribution:null,kind:null,description:null,url:null,details:null,ipfsHash:null,loadContribution:function(e){var n=this,r=new t.default.RSVP.Promise(function(r,l){e.getFile(n.get("ipfsHash")).then(function(e){var l=JSON.parse(e),o=t.default.Object.create(l);n.setProperties({kind:o.get("kind"),description:o.get("description"),url:o.get("url")}),t.default.Logger.debug("[proposal] loaded contribution details",l),r()}).catch(function(e){t.default.Logger.error("[proposal] error trying to load contribution details",n.get("ipfsHash"),e),l(e)})});return r},contributionToJSON:function(){if(r(this.get("recipientProfile")))throw new Error("IPFS hash for recipient profile missing from proposal object");
|
|
if(r(this.get("kind"))||r(this.get("description")))throw new Error("Missing one or more required properties: kind, description");var e={"@context":"https://schema.kosmos.org","@type":"Contribution",contributor:{ipfs:this.get("recipientProfile")},kind:this.get("kind"),description:this.get("description"),details:{}};return n(this.get("url"))&&(e.url=this.get("url")),e},serializeContribution:function(){return JSON.stringify(this.contributionToJSON())}})}),define("kredits-web/resolver",["exports","ember-resolver"],function(e,t){e.default=t.default}),define("kredits-web/router",["exports","ember","kredits-web/config/environment"],function(e,t,n){var r=t.default.Router.extend({location:n.default.locationType,rootURL:n.default.rootURL});r.map(function(){this.route("spinner"),this.route("proposals",function(){this.route("new")})}),e.default=r}),define("kredits-web/routes/application",["exports","ember"],function(e,t){e.default=t.default.Route.extend({})}),define("kredits-web/routes/index",["exports","ember","kredits-web/models/contributor"],function(e,t,n){e.default=t.default.Route.extend({kredits:t.default.inject.service(),model:function(){var e=this.get("kredits");return t.default.RSVP.hash({contributors:e.getContributors(),totalSupply:e.getValueFromContract("tokenContract","totalSupply"),proposals:e.getProposals(),newContributor:n.default.create({kind:"person"})})}})}),define("kredits-web/routes/proposals/new",["exports","ember","kredits-web/models/proposal"],function(e,t,n){var r=t.default.Route,l=t.default.RSVP,o=t.default.inject.service;e.default=r.extend({kredits:o(),model:function(e){var t=n.default.create({recipientAddress:e.recipient,amount:e.amount,url:e.url,kind:e.kind||"dev",ipfsHash:e.ipfsHash});return l.hash({proposal:t,contributors:this.get("kredits").getContributors()})},setupController:function(e,t){this._super(e,t.proposal),e.set("contributors",t.contributors)}})}),define("kredits-web/routes/spinner",["exports","ember"],function(e,t){e.default=t.default.Route.extend({})}),define("kredits-web/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("kredits-web/services/ipfs",["exports","ember","npm:ipfs-api","kredits-web/config/environment"],function(e,t,n,r){e.default=t.default.Service.extend({ipfsInstance:null,ipfs:function(){if(this.get("ipfsInstance"))return this.get("ipfsInstance");var e=(0,n.default)(r.default.ipfs);return this.set("ipfsInstance",e),e}.property("ipfsInstance"),storeFile:function(e){var n=this.get("ipfs");return n.add(new n.Buffer(e)).then(function(n){return t.default.Logger.debug("[ipfs] stored content in IPFS",e,n[0].hash),n[0].hash})},getFile:function(e){return this.get("ipfs").cat(e,{buffer:!0}).then(function(e){return e.toString()},function(n){throw t.default.Logger.error("[ipfs] error trying to fetch file",e,n),n})}})}),define("kredits-web/services/kredits",["exports","ember","npm:web3","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/proposal","npm:kredits-contracts","npm:uuid"],function(e,t,n,r,l,o,s,a){var i=t.default.Service,u=t.default.isPresent,d=t.default.inject.service;e.default=i.extend({ipfs:d(),web3Instance:null,web3Provided:!1,web3:function(){if(this.get("web3Instance"))return this.get("web3Instance");var e=void 0;if("undefined"!=typeof window.web3)t.default.Logger.debug("[kredits] Using user-provided instance, e.g. from Mist browser or Metamask"),e=window.web3,this.set("web3Provided",!0);else{t.default.Logger.debug("[kredits] Creating new instance from npm module class");var l=localStorage.getItem("config:web3ProviderUrl")||r.default.web3ProviderUrl,o=new n.default.providers.HttpProvider(l);e=new n.default(o)}return this.set("web3Instance",e),window.web3=e,e}.property("web3Instance"),currentUserAccounts:function(){return this.get("web3Provided")&&this.get("web3").eth.accounts||[]}.property("web3Provided","web3"),initializeKreditsContract:function(){var e=null;return u(r.default.contractMetadata)?(localStorage.getItem("config:networkId")&&(r.default.contractMetadata.networkId=localStorage.getItem("config:networkId")),e=(0,s.default)(this.get("web3"),r.default.contractMetadata).Kredits):e=(0,s.default)(this.get("web3")).Kredits,e},kreditsContract:function(){if(this.get("kreditsContractInstance"))return this.get("kreditsContractInstance");var e=this.initializeKreditsContract();return this.set("kreditsContractInstance",e),e}.property("kreditsContractInstance","web3"),tokenContract:function(){if(this.get("tokenContractInstance"))return this.get("tokenContractInstance");var e=(0,s.default)(this.get("web3"),r.default.contractMetadata).Token;return this.set("tokenContractInstance",e),window.Token=e,e}.property("tokenContractInstance","web3"),getValueFromContract:function(e,n){for(var r=arguments.length,l=Array(r>2?r-2:0),o=2;o<r;o++)l[o-2]=arguments[o];var s=this;return t.default.Logger.debug("[kredits] read from contract",e),new t.default.RSVP.Promise(function(t,r){var o;(o=s.get(e))[n].apply(o,l.concat([function(e,n){return e?void r(e):void t(n)}]))})},getContributorData:function(e){var n=this,r=new t.default.RSVP.Promise(function(r,o){n.getValueFromContract("kreditsContract","contributorAddresses",e).then(function(e){n.getValueFromContract("kreditsContract","contributors",e).then(function(s){n.getValueFromContract("tokenContract","balanceOf",e).then(function(a){t.default.Logger.debug("[kredits] person",e,s);var i=l.default.create({address:e,ipfsHash:s[2],kredits:a.toNumber(),isCurrentUser:n.get("currentUserAccounts").includes(e)});i.loadProfile(n.get("ipfs")).then(function(){return r(i)},function(e){return o(e)})})})}).catch(function(e){return o(e)})});return r},getContributors:function(){var e=this;return this.getValueFromContract("kreditsContract","contributorsCount").then(function(n){for(var r=[],l=0;l<n.toNumber();l++)r.push(e.getContributorData(l));return t.default.RSVP.all(r)})},getProposalData:function(e){var n=this,r=new t.default.RSVP.Promise(function(r,l){n.getValueFromContract("kreditsContract","proposals",e).then(function(s){var a=o.default.create({id:e,creatorAddress:s[0],recipientAddress:s[1],votesCount:s[2].toNumber(),votesNeeded:s[3].toNumber(),amount:s[4].toNumber(),executed:s[5],url:s[6],ipfsHash:s[7]});a.get("ipfsHash")?a.loadContribution(n.get("ipfs")).then(function(){return r(a)},function(e){return l(e)}):(t.default.Logger.warn("[kredits] proposal from blockchain is missing IPFS hash",a),r(a))}).catch(function(e){return l(e)})});return r},getProposals:function(){var e=this;return this.getValueFromContract("kreditsContract","proposalsCount").then(function(n){for(var r=[],l=0;l<n.toNumber();l++)r.push(e.getProposalData(l));return t.default.RSVP.all(r)})},vote:function(e){var n=this;return t.default.Logger.debug("[kredits] vote for",e),new t.default.RSVP.Promise(function(r,l){n.get("kreditsContract").vote(e,function(e,n){return e?void l(e):(t.default.Logger.debug("[kredits] vote response",n),void r(n))})})},addContributor:function(e){var n=this;t.default.Logger.debug("[kredits] add contributor",e),e.setProperties({kredits:0,isCurrentUser:this.get("currentUserAccounts").includes(e.address)});var r=a.default.v4();return new t.default.RSVP.Promise(function(l,o){n.get("ipfs").storeFile(e.serialize()).then(function(s){e.set("ipfsHash",s),n.get("kreditsContract").addContributor(e.address,e.name,e.ipfsHash,e.isCore,r,function(n,r){return n?void o(n):(t.default.Logger.debug("[kredits] add contributor response",r),void l(e))})})})},addProposal:function(e){var n=this;return new t.default.RSVP.Promise(function(r,l){var o=e.getProperties("recipientAddress","amount","url"),s=o.recipientAddress,a=o.amount,i=o.url;n.get("ipfs").storeFile(e.serializeContribution()).then(function(e){n.get("kreditsContract").addProposal(s,a,i,e,function(e,n){return e?void l(e):(t.default.Logger.debug("[kredits] add proposal response",n),void r())})})})}})}),define("kredits-web/services/qp",["exports","ember-parachute/services/qp"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("kredits-web/templates/application",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"bs9LAwOM",block:'{"statements":[["open-element","main",[]],["flush-element"],["text","\\n "],["append",["unknown",["outlet"]],false],["text","\\n"],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/templates/application.hbs"}})}),define("kredits-web/templates/index",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"8/wGC0lT",block:'{"statements":[["open-element","section",[]],["static-attr","id","contributors"],["flush-element"],["text","\\n "],["open-element","header",[]],["flush-element"],["text","\\n "],["open-element","h2",[]],["flush-element"],["text","Kosmos Contributors"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","content"],["flush-element"],["text","\\n "],["append",["helper",["contributor-list"],null,[["contributors"],[["get",["contributorsSorted"]]]]],false],["text","\\n\\n "],["open-element","p",[]],["static-attr","class","stats"],["flush-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","number"],["flush-element"],["append",["unknown",["model","totalSupply"]],false],["close-element"],["text"," kredits issued and distributed among\\n "],["open-element","span",[]],["static-attr","class","number"],["flush-element"],["append",["unknown",["contributorsWithKredits","length"]],false],["close-element"],["text"," contributors.\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n\\n"],["block",["if"],[["get",["proposalsOpen"]]],null,4],["text","\\n"],["open-element","section",[]],["static-attr","id","proposals-closed"],["flush-element"],["text","\\n "],["open-element","header",[]],["flush-element"],["text","\\n "],["open-element","h2",[]],["flush-element"],["text","Closed Proposals"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","div",[]],["static-attr","class","content"],["flush-element"],["text","\\n "],["append",["helper",["proposal-list"],null,[["proposals","confirmAction"],[["get",["proposalsClosedSorted"]],"confirmProposal"]]],false],["text","\\n\\n"],["block",["if"],[["get",["contractInteractionEnabled"]]],null,1],["text"," "],["close-element"],["text","\\n"],["close-element"],["text","\\n\\n"],["open-element","section",[]],["static-attr","id","add-contributor"],["flush-element"],["text","\\n "],["open-element","header",[]],["flush-element"],["text","\\n "],["open-element","h2",[]],["flush-element"],["text","Add Contributor"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","content"],["flush-element"],["text","\\n "],["append",["helper",["add-contributor"],null,[["contributors","newContributor","contractInteractionEnabled"],[["get",["model","contributors"]],["get",["model","newContributor"]],["get",["contractInteractionEnabled"]]]]],false],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text","Create new proposal"]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["static-attr","class","actions"],["flush-element"],["text","\\n "],["block",["link-to"],["proposals.new"],null,0],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text","Create new proposal"]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["static-attr","class","actions"],["flush-element"],["text","\\n "],["block",["link-to"],["proposals.new"],null,2],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","section",[]],["static-attr","id","proposals-open"],["flush-element"],["text","\\n "],["open-element","header",[]],["flush-element"],["text","\\n "],["open-element","h2",[]],["flush-element"],["text","Open Proposals"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","div",[]],["static-attr","class","content"],["flush-element"],["text","\\n "],["append",["helper",["proposal-list"],null,[["proposals","confirmAction","contractInteractionEnabled"],[["get",["proposalsOpenSorted"]],"confirmProposal",["get",["contractInteractionEnabled"]]]]],false],["text","\\n\\n"],["block",["if"],[["get",["contractInteractionEnabled"]]],null,3],["text"," "],["close-element"],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"kredits-web/templates/index.hbs"}})}),define("kredits-web/templates/loading",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"elCfJGFx",block:'{"statements":[["append",["unknown",["loading-spinner"]],false],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/templates/loading.hbs"}})}),define("kredits-web/templates/proposals/new",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"E7lL8xlx",block:'{"statements":[["open-element","section",[]],["static-attr","id","add-proposal"],["flush-element"],["text","\\n "],["open-element","header",[]],["flush-element"],["text","\\n "],["open-element","h2",[]],["flush-element"],["text","Add Proposal"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","content"],["flush-element"],["text","\\n "],["append",["helper",["add-proposal"],null,[["proposal","contributors","onSave"],[["get",["model"]],["get",["contributors"]],["helper",["action"],[["get",[null]],"onSave"],null]]]],false],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/templates/proposals/new.hbs"}})}),define("kredits-web/templates/spinner",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"OxhVgkbb",block:'{"statements":[["append",["unknown",["loading-spinner"]],false],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/templates/spinner.hbs"}})}),define("kredits-web/config/environment",["ember"],function(e){var t="kredits-web";try{var n=t+"/config/environment",r=document.querySelector('meta[name="'+n+'"]').getAttribute("content"),l=JSON.parse(unescape(r)),o={default:l};return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(e){throw new Error('Could not read config from meta tag with name "'+n+'".')}}),runningTests||require("kredits-web/app").default.create({name:"kredits-web",version:"1.0.0+9b37f130"}); |