(window["webpackJsonpaugmented-tbc-design"]=window["webpackJsonpaugmented-tbc-design"]||[]).push([[0],{216:function(e,t,a){e.exports=a(408)},406:function(e,t,a){},407:function(e,t,a){},408:function(e,t,a){"use strict";a.r(t);var n=a(1),r=a.n(n),i=a(14),o=a.n(i),c=a(448),l=a(447),s=a(63),u=a.n(s),m=a(114),d=a(4),p=a(409),f=a(454),h=a(446),g=a(410),b=a(450),v=a(444),x=a(445),E=a(452),y=a(443),O="https://medium.com/giveth/deep-dive-augmented-bonding-curves-3f1f7c1fa751",k=Object(p.a)(function(e){return Object(f.a)({container:{display:"flex",flexDirection:"column",alignItems:"center"},title:{},subtitle:{color:e.palette.text.secondary,margin:e.spacing(3,0,0),maxWidth:e.spacing(82)},subsubtitle:{color:e.palette.text.secondary,opacity:.6,maxWidth:e.spacing(74)},lightBulb:{verticalAlign:"middle",marginRight:e.spacing(1)},link:{color:e.palette.primary.main},logoContainer:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:e.spacing(4)},logo:{width:"25px",marginRight:"4px"},logoText:{display:"inline",fontSize:"1.1rem",fontWeight:500}})});function j(){var e=k();return r.a.createElement("div",{className:e.container},r.a.createElement("div",{className:e.logoContainer},r.a.createElement("img",{src:"./favicon.ico",className:e.logo,alt:"logo"}),r.a.createElement(g.a,{className:e.logoText},"Commons Stack")),r.a.createElement(g.a,{className:e.title,variant:"h4"},"Augmented Bonding Curve Design"),r.a.createElement(g.a,{className:e.subtitle},"Experiment with the Commons Stack's Augmented Bonding Curve component. Change the Hatch variables to explore what continuous funding streams can do for your community."),r.a.createElement(g.a,{className:e.subsubtitle},"Read more about the Augmented Bonding Curve"," ",r.a.createElement(y.a,{href:O},"here"),". Note that this is a demo for illustration purposes only, a narrative showcase of cadCAD's capabilities."))}var C=a(12),w=a(3),N=a(449),B=a(81),S=a.n(B),F=a(8),P=a(453),R=Object(F.a)({root:{height:8},thumb:{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor",marginTop:-8,marginLeft:-12,"&:focus,&:hover,&$active":{boxShadow:"inherit"}},active:{},valueLabel:{left:"calc(-50% + 4px)"},track:{height:8,borderRadius:4},rail:{height:8,borderRadius:4},markLabel:{top:30}})(P.a),A=a(451),T=Object(p.a)(function(e){var t;return{container:{color:e.palette.text.secondary,display:"flex",fontSize:"0.9rem",cursor:"pointer",transition:"color ease 150ms","&:hover":{color:"#c3c9d0"}},popoverContainer:{padding:e.spacing(2),"& > p:not(:last-child)":{paddingBottom:e.spacing(1),marginBottom:e.spacing(1),borderBottom:"1px solid #3f5463"}},paper:(t={backgroundColor:"#384b59",maxWidth:.9*e.breakpoints.values.md},Object(C.a)(t,"@media screen and (max-width: ".concat(e.breakpoints.values.md,"px)"),{maxWidth:"90vw"}),Object(C.a)(t,"padding",e.spacing(.5)),t),descriptionBody:{color:"#dbdfe4"}}});function I(e){var t=e.content,a=e.popoverText,n=T(),i=r.a.useState(null),o=Object(d.a)(i,2),c=o[0],l=o[1];function s(){l(null)}var u=Boolean(c),m=u?"simple-popover":void 0;return r.a.createElement("div",{className:n.container},r.a.createElement("div",{"aria-describedby":m,onClick:function(e){l(e.currentTarget)}},r.a.createElement(g.a,null,t)),r.a.createElement(A.a,{PaperProps:{className:n.paper},id:m,open:u,anchorEl:c,onClose:s,onClick:s,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},r.a.createElement(b.a,{className:n.popoverContainer},r.a.createElement(g.a,null,t),r.a.createElement(g.a,{className:n.descriptionBody},a))))}var M=Object(p.a)(function(e){return Object(f.a)({root:{margin:e.spacing(6,0,3)},lightBulb:{verticalAlign:"middle",marginRight:e.spacing(1)},leftContainer:{color:e.palette.text.secondary},centerContainer:{},listBoxContainer:{"& > div:not(:last-child)":{paddingBottom:"12px",marginBottom:"12px",borderBottom:"1px solid #313d47"}},listBox:{"& > div":{display:"flex",alignItems:"center","& p":{marginBottom:0}},"& > div:not(:last-child)":{paddingRight:"12px"}},slider:{color:e.palette.primary.main}})});function D(e){var t=e.inputRef,a=e.onChange,n=e.prefix,i=e.suffix,o=Object(w.a)(e,["inputRef","onChange","prefix","suffix"]);return r.a.createElement(S.a,Object.assign({},o,{getInputRef:t,onValueChange:function(e){a({target:{value:e.value}})},thousandSeparator:!0,prefix:n,suffix:i}))}function H(e){var t=e.inputFields,a=e.onChangeCommited,n=M();return r.a.createElement("div",{className:n.listBoxContainer},t.map(function(e){var t=e.label,i=e.description,o=e.value,c=e.setter,l=e.min,s=e.max,u=e.step,m=e.prefix,d=e.suffix,p=e.format,f=e.toText,h=e.toNum;function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;isNaN(e)&&(e=0),e>s?e=s:ee*N&&b(e*N)},min:.01,max:1,step:.01,toText:function(e){return String(+e.toFixed(2))},toNum:function(e){return parseFloat(e)},format:function(e){return"$".concat(e)}},{label:"".concat(V.p1.name," (DAI/token)"),description:V.p1.text,value:g,setter:b,min:Number((B*(m||.1)).toFixed(2)),max:Number((N*m).toFixed(2)),step:.01,toText:function(e){return String(+e.toFixed(2))},toNum:function(e){return parseFloat(e)},format:function(e){return"$".concat(e)}},{label:V.wFee.name,description:V.wFee.text,value:E,setter:y,min:0,max:.1,step:.001,suffix:"%",format:function(e){return"".concat(+(100*e).toFixed(1),"%")},toText:function(e){return String(+(100*e).toFixed(1))},toNum:function(e){return.01*parseFloat(e)}},{label:"".concat(V.vHalflife.name," (weeks)"),description:V.vHalflife.text,value:j,setter:w,min:1,max:104,step:1,suffix:"",format:function(e){return String(Math.round(e))},toText:function(e){return String(Math.round(e))},toNum:function(e){return Math.round(parseInt(e))}}];return r.a.createElement(H,{inputFields:S,onChangeCommited:function(){a(function(e){return function(e){for(var t=1;t div:not(:last-child)":{paddingBottom:e.spacing(1),marginBottom:e.spacing(1),borderBottom:"1px solid #3f5463"},"& td":{verticalAlign:"top",padding:e.spacing(.5)}},descriptionTitle:{padding:e.spacing(.5)},descriptionBody:{color:"#dbdfe4",padding:e.spacing(.5)},descriptionPadding:{padding:e.spacing(.5)}}});function Q(e){var t=e.text,a=e.title,n=e.table,i=e.body,o=U(),c=r.a.useState(null),l=Object(d.a)(c,2),s=l[0],u=l[1];function m(){u(null)}var p=Boolean(s),f=p?"simple-popover":void 0;return r.a.createElement("div",{className:o.container},r.a.createElement(J.a,{onClick:function(e){u(e.currentTarget)}}),r.a.createElement(A.a,{PaperProps:{className:o.paper},id:f,open:p,anchorEl:s,onClose:m,onClick:m,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},r.a.createElement(b.a,{className:o.popoverContainer},r.a.createElement("div",{className:o.descriptionContainer},a&&r.a.createElement("div",null,r.a.createElement(g.a,{className:o.descriptionTitle},a)),i&&r.a.createElement("div",null,r.a.createElement(g.a,{className:o.descriptionBody},i)),n&&r.a.createElement("div",null,r.a.createElement("table",null,r.a.createElement("tbody",null,n.map(function(e){var t=e.name,a=e.text;return r.a.createElement("tr",{key:t},r.a.createElement("td",null,r.a.createElement(g.a,null,t)),r.a.createElement("td",null,r.a.createElement(g.a,{className:o.descriptionBody},a)))})))),t))))}var X=Object(p.a)(function(e){return Object(f.a)({root:{margin:e.spacing(6,0,3)},lightBulb:{verticalAlign:"middle",marginRight:e.spacing(1)},leftContainer:{},centerContainer:{},listBoxContainer:{"& > div:not(:last-child)":{paddingBottom:"12px",marginBottom:"12px",borderBottom:"1px solid #313d47"}},listBox:{"& > div":{display:"flex",alignItems:"center","& p":{marginBottom:0}},"& > div:not(:last-child)":{paddingRight:"12px"}},slider:{color:e.palette.primary.main}})});function Y(e){var t=e.inputRef,a=e.onChange,n=e.prefix,i=e.suffix,o=Object(w.a)(e,["inputRef","onChange","prefix","suffix"]);return r.a.createElement(S.a,Object.assign({},o,{getInputRef:t,onValueChange:function(e){a({target:{value:e.value}})},thousandSeparator:!0,prefix:n,suffix:i}))}function Z(e){var t=e.inputFields,a=e.onChangeCommited,n=X();return r.a.createElement("div",{className:n.listBoxContainer},t.map(function(e){var t=e.label,i=e.description,o=e.value,c=e.setter,l=e.min,s=e.max,u=e.step,m=e.prefix,d=e.suffix,p=e.format,f=e.toText,h=e.toNum;function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;isNaN(e)&&(e=0),e>s?e=s:e5e8?[1e9,"B"]:e>5e5?[1e6,"M"]:e>500?[1e3,"K"]:[1,""],a=Object(d.a)(t,2);return{scaling:a[0],unit:a[1]}}var le=a(19);function se(e){var t=e.d0,a=e.theta,n=e.p0,r=e.p1/n/(1-a),i=(1-a)*t,o=t/n;return{k:r,R0:i,S0:o,V0:Math.pow(o,r)/i}}function ue(e){var t=e.S,a=e.V0,n=e.k;return Math.pow(t,n)/a}function me(e){var t=e.R,a=e.V0,n=e.k;return Math.pow(a*t,1/n)}function de(e){var t=e.S,a=e.H,n=e.V0,r=e.k;if(t===a){var i=pe({R:ue({S:t,V0:n,k:r}),V0:n,k:r});return Math.abs(i)}return pe({R:ue({S:t-a,V0:n,k:r}),V0:n,k:r})}function pe(e){var t=e.R,a=e.V0,n=e.k;return n*Math.pow(t,(n-1)/n)/Math.pow(a,1/n)}function fe(e){var t=e.R,a=e.deltaR,n=e.V0,r=e.k,i=Math.pow(n*t,1/r),o=a/(Math.pow(n*(t+a),1/r)-i),c=pe({R:t,V0:n,k:r});return Math.abs(o-c)/c}function he(e){var t=e.R,a=e.k,n=e.priceGrowth;return-t+Math.pow(n*Math.pow(t,1-1/a),a/(-1+a))}function ge(e){for(var t=e.sum,a=e.num,n=t/a,r=n*e.spread,i=[],o=0;o1||r<0)&&(r=xe(e,t)),r*=t-e,r+=e}function Ee(e){var t=Math.floor(e.length/2),a=Object(le.a)(e).sort(function(e,t){return e-t});return e.length%2!==0?a[t]:(a[t-1]+a[t])/2}var ye=a(185),Oe=!1,ke="x",je="Supply (tokens) / Collateral (DAI)",Ce="#b7c1cb",we=Object(p.a)(function(e){return Object(f.a)({tooltip:{border:"1px solid #313d47",backgroundColor:"#384b59",padding:e.spacing(1),color:"#c7ccd2"}})});var Ne=function(e){for(var t=e.theta,a=se({d0:e.d0,theta:t,p0:e.p0,p1:e.p1}),n=a.k,i=a.R0,o=a.S0,c=a.V0,l=Math.round(i),s=function(e){return o*Math.pow(e/l,1/n)},u=4*l,m=Math.round((u-0)/100),p=ce(Math.max(u,s(u))),f=p.scaling,h=p.unit,g=[],b=0;b<101;b++){var v,x=Math.round(0+m*b);g.push((v={},Object(C.a)(v,ke,x),Object(C.a)(v,je,s(x)),v))}var E=Object(ye.a)(),y=we(),O=function(e){return(+(e/f).toPrecision(2)).toLocaleString()};return r.a.createElement(te.g,{debounce:1},r.a.createElement(te.b,{width:0,height:400,data:g,margin:{top:10,right:30,left:0,bottom:0}},r.a.createElement(te.c,{vertical:!1,stroke:E.palette.text.secondary,strokeOpacity:.13}),r.a.createElement(te.i,{interval:24,dataKey:ke,tickFormatter:O,unit:h,tick:{fill:E.palette.text.secondary},stroke:E.palette.text.secondary}),r.a.createElement(te.j,{interval:"preserveStartEnd",ticks:ne(g.map(function(e){return e[je]}),3),tickFormatter:O,unit:h,tick:{fill:E.palette.text.secondary},domain:[0,s(u)],stroke:E.palette.text.secondary}),r.a.createElement(te.h,{content:r.a.createElement(function(e){var t=e.active,a=e.payload,i=e.label;if(t){var o=a[0].value,l=i,s=pe({R:l,V0:c,k:n}),u=[["Supply",O(o)+h,"tokens"],["Collateral",O(l)+h,"DAI"],["Price",s.toFixed(2),"DAI/token"]];return r.a.createElement("div",{className:y.tooltip},r.a.createElement("table",null,r.a.createElement("tbody",null,u.map(function(e){var t=Object(d.a)(e,3),a=t[0],n=t[1],i=t[2];return r.a.createElement("tr",{key:a},r.a.createElement("td",null,a),r.a.createElement("td",null,n),r.a.createElement("td",null,i))}))))}return null},null)}),r.a.createElement(te.a,{isAnimationActive:Oe,type:"monotone",dataKey:je,stroke:E.palette.primary.main,fill:E.palette.primary.main,fillOpacity:.3,strokeWidth:2}),r.a.createElement(te.f,{x:l,y:s(l),stroke:"transparent",strokeDasharray:"9 0",label:r.a.createElement(function(e){var t=e.textAnchor,a=e.viewBox;return r.a.createElement("text",{x:a.x+a.width/4+10,y:a.y+20,fill:Ce,textAnchor:t},"Initial Token Supply")},null)}),r.a.createElement(te.e,{x:l,y:s(l),r:6,fill:E.palette.primary.main,stroke:2}),r.a.createElement(te.d,{formatter:function(e){return r.a.createElement("span",{style:{color:E.palette.text.secondary}},e)}})))};a(406);function Be(){return r.a.createElement("div",{className:"spinner"},r.a.createElement("div",{className:"bounce1"}),r.a.createElement("div",{className:"bounce2"}),r.a.createElement("div",{className:"bounce3"}))}var Se=Object(p.a)(function(e){return Object(f.a)({root:{margin:e.spacing(6,0,3)},lightBulb:{verticalAlign:"middle",marginRight:e.spacing(1)},leftContainer:{color:e.palette.text.secondary},centerContainer:{},listBoxContainer:{"& > div:not(:last-child)":{marginBottom:"12px",borderBottom:"1px solid #313d47"}},listBox:{paddingBottom:"12px","& > div":{display:"flex",alignItems:"center","& p":{marginBottom:0}},"& > div:not(:last-child)":{paddingRight:"12px"}},valueFooter:{color:e.palette.text.secondary,fontSize:"80%"}})});function Fe(e){var t=e.resultFields,a=e.simulationDuration,i=Object(n.useState)(!0),o=Object(d.a)(i,2),c=o[0],l=o[1];Object(n.useEffect)(function(){var e=setTimeout(function(){l(!1)},a);return function(){clearTimeout(e)}});var s=Se();return r.a.createElement("div",{className:s.listBoxContainer},t.map(function(e){var t=e.label,a=e.description,n=e.value,i=e.valueFooter;return r.a.createElement(x.a,{key:t,container:!0,spacing:0,className:s.listBox},r.a.createElement(x.a,{item:!0,xs:8,className:s.leftContainer},r.a.createElement(I,{content:t,popoverText:a})),r.a.createElement(x.a,{item:!0,xs:4,className:s.centerContainer},c?r.a.createElement(Be,null):r.a.createElement("div",null,r.a.createElement(g.a,null,n),i&&r.a.createElement(g.a,{className:s.valueFooter},i))))}))}var Pe="x",Re="Price (DAI/token)",Ae="Floor price (DAI/token)",Te="Total funds raised (DAI)",Ie="Post-Hatch price",Me="Hatch price",De="#53c388",He="#4090d9",Ve="#b7c1cb",Le=Object(p.a)(function(e){return Object(f.a)({tooltip:{border:"1px solid #313d47",backgroundColor:"#384b59",padding:e.spacing(1),color:"#c7ccd2"}})});var We=function(e){for(var t=e.priceTimeseries,a=e.totalFundsRaisedTimeseries,i=e.floorpriceTimeseries,o=e.simulationDuration,c=e.p0,l=e.p1,s=[],u=0;u div:not(:last-child)":{paddingBottom:e.spacing(3)},"& > div":{"& > div":{paddingTop:"0 !important"}},paddingBottom:e.spacing(9)},simulationContainer:{minHeight:"442px"},paper:{width:"100%",height:"100%",minHeight:310,backgroundColor:"#293640"},box:{padding:e.spacing(3,3)},boxButton:{padding:e.spacing(3,3)},boxHeader:{padding:e.spacing(3,3),height:e.spacing(10),display:"flex",alignItems:"center",borderBottom:"1px solid #313d47"},boxBorderBottom:{borderBottom:"1px solid #313d47"},initialRaise:{justifyContent:"space-between"},boxChart:{width:"100%",height:"100%",minHeight:310,maxHeight:350,padding:e.spacing(3,3),paddingRight:"5px",paddingLeft:"5px"},boxPlaceholder:{padding:e.spacing(3,3),display:"flex",height:"100%",alignItems:"center",justifyContent:"center",color:e.palette.text.secondary,opacity:.4},header:{backgroundColor:"#0b1216",color:"#f8f8f8",textAlign:"center",padding:e.spacing(3,0,16),marginBottom:-e.spacing(10)},button:{background:"linear-gradient(290deg, #1aa059, #3d9567)",color:"white"},descriptionContainer:{"& > div:not(:last-child)":{paddingBottom:e.spacing(1),marginBottom:e.spacing(1),borderBottom:"1px solid #3f5463"},"& td":{verticalAlign:"top",padding:e.spacing(.5)}},descriptionTitle:{padding:e.spacing(.5)},descriptionBody:{color:"#dbdfe4"},descriptionPadding:{padding:e.spacing(.5)},d0Container:{"& > div":{padding:"0 12px 0 0 !important",display:"flex",alignItems:"center"}},d0Number:{padding:"0 !important",display:"flex",alignItems:"center"},d0Slidder:{padding:"0 12px 0 0 !important",display:"flex",alignItems:"center"}})});var Je=a(183),Ue=a.n(Je),Qe=a(184),Xe=Object(Qe.a)({palette:{type:"dark",primary:{main:"#2ecd79"},secondary:{main:"#116be0",light:"#0f8bff",dark:"#116be0"},error:{main:Ue.a.A400},background:{default:"#fff",paper:"#293640"},text:{primary:"#fff",secondary:"#9aa3ad"}},typography:{h6:{fontWeight:400}}});console.log(Xe);var Ye=Xe;o.a.render(r.a.createElement(l.a,{theme:Ye},r.a.createElement(c.a,null),r.a.createElement(function(){var e=Object(n.useState)({theta:.35,p0:.1,p1:.3,wFee:.05,vHalflife:17,d0:3e6}),t=Object(d.a)(e,2),a=t[0],i=t[1],o=a.d0,c=a.theta,l=a.p0,s=a.p1,p=a.wFee,f=a.vHalflife,y=Object(n.useMemo)(function(){return Object(ze.throttle)(i,250)},[]),O=se({d0:o,theta:c,p0:l,p1:s}),k=O.k,C=O.R0,w=O.S0,N=O.V0,B=Object(n.useState)([0]),S=Object(d.a)(B,2),F=S[0],P=S[1],R=Object(n.useState)([0]),A=Object(d.a)(R,2),T=A[0],I=A[1],M=Object(n.useState)([0]),D=Object(d.a)(M,2),H=D[0],$=D[1],G=Object(n.useState)(C),J=Object(d.a)(G,2),U=J[0],X=J[1],Y=Object(n.useState)(0),Z=Object(d.a)(Y,2),_=Z[0],te=Z[1],ae=Object(n.useState)(0),ne=Object(d.a)(ae,2),ce=ne[0],le=ne[1],ue=Object(n.useState)(0),xe=Object(d.a)(ue,2),ye=xe[0],Oe=xe[1],ke=Object(n.useState)(!1),je=Object(d.a)(ke,2),Ce=je[0],we=je[1],Be=Object(n.useState)(!1),Se=Object(d.a)(Be,2),Pe=Se[0],Re=Se[1];function Ae(){return(Ae=Object(m.a)(u.a.mark(function e(){return u.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return Te(),e.next=3,oe(0);case 3:we(!0);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Te(){we(!1),te(0),P([0]),I([0]),le(0)}Object(n.useEffect)(function(){we(!1)},[a]),Object(n.useEffect)(function(){var e=!0;function t(){return(t=Object(m.a)(u.a.mark(function t(){var a,n,r,i,o,c,l,s,m,d,h;return u.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:a=[C],n=[w],r=[pe({R:C,V0:N,k:k})],i=[0],o=[],c=[],l=[w],s=[],m=52,.97,1.04,10,8,Re(!0),d=function(t){for(var u=ve(100,40*t+100),m=re(a),d=(re(n),re(l)),h=0,g=0,b=0,v=0,x=[0],E=1,y=0,O=0;O<20&&v<1.05*E;O++){var j=void 0,C=void 0;j=Ke[t],C=$e[t],O>15&&(j=1.02,C+=1.04);var w=ve(j,C),B=he({R:m,k:k,priceGrowth:w});h=m+B;var S=ge({sum:B,num:u,spread:10});y=Ee(S.map(function(e){return fe({R:m,deltaR:e,V0:N,k:k})})),x=S.filter(function(e){return e<0}),b=d-be({week:t,H:d,halflife:f,cliff:8}),E=de({S:g=me({R:m,V0:N,k:k}),H:g-b,V0:N,k:k}),v=pe({R:h,V0:N,k:k})}var F=Ee(x),P=-p*x.reduce(function(e,t){return e+t},0);if(a.push(h),n.push(g),l.push(b),r.push(v),o.push(y),c.push(F),i.push(re(i)+P),s.push(E),te(function(e){return e+x.length}),!Ce||!e)return"break"},h=0;case 16:if(!(h