1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1730],{81730:function(t,a,r){r.r(a),r.d(a,{Vote:function(){return Vote}});var e,o=r(49242),s=r(2593),n=r(32046),i=r(61744),c=r(64146),p=r(47454);let d=((e={})[e.Against=0]="Against",e[e.For=1]="For",e[e.Abstain=2]="Abstain",e);r(13550),r(64063),r(2162),r(77191),r(54098),r(54146);let Vote=class Vote{get chainId(){return this._chainId}constructor(t,a,r){let e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:new p.dw(t,a,o,e,r);this._chainId=s,this.abi=p.e.parse(o||[]),this.contractWrapper=n,this.storage=r,this.metadata=new p.ah(this.contractWrapper,p.e3,this.storage),this.app=new p.b0(this.contractWrapper,this.metadata,this.storage),this.encoder=new p.ag(this.contractWrapper),this.estimator=new p.aQ(this.contractWrapper),this.events=new p.aR(this.contractWrapper),this.interceptor=new p.aS(this.contractWrapper)}onNetworkUpdated(t){this.contractWrapper.updateSignerOrProvider(t)}getAddress(){return this.contractWrapper.address}async get(t){let a=await this.getAll(),r=a.filter(a=>a.proposalId.eq(s.O$.from(t)));if(0===r.length)throw Error("proposal not found");return r[0]}async getAll(){return Promise.all((await this.contractWrapper.read("getAllProposals",[])).map(async t=>({proposalId:t.proposalId,proposer:t.proposer,description:t.description,startBlock:t.startBlock,endBlock:t.endBlock,state:await this.contractWrapper.read("state",[t.proposalId]),votes:await this.getProposalVotes(t.proposalId),executions:t[3].map((a,r)=>({toAddress:t.targets[r],nativeTokenValue:a,transactionData:t.calldatas[r]}))})))}async getProposalVotes(t){let a=await this.contractWrapper.read("proposalVotes",[t]);return[{type:d.Against,label:"Against",count:a.againstVotes},{type:d.For,label:"For",count:a.forVotes}
1,{type:d.Abstain,label:"Abstain",count:a.abstainVotes}]}async hasVoted(t,a){return a||(a=await this.contractWrapper.getSignerAddress()),this.contractWrapper.read("hasVoted",[t,await (0,p.cL)(a)])}async canExecute(t){await this.ensureExists(t);let a=await this.get(t),r=a.executions.map(t=>t.toAddress),e=a.executions.map(t=>t.nativeTokenValue),o=a.executions.map(t=>t.transactionData),s=n.id(a.description);try{return await this.contractWrapper.callStatic().execute(r,e,o,s),!0}catch(t){return!1}}async balance(){let t=await this.contractWrapper.getProvider().getBalance(this.contractWrapper.address);return{name:"",symbol:"",decimals:18,value:t,displayValue:i.formatUnits(t,18)}}async balanceOfToken(t){let a=new c.CH(await (0,p.cL)(t),o,this.contractWrapper.getProvider());return await (0,p.bc)(this.contractWrapper.getProvider(),t,await a.balanceOf(this.contractWrapper.address))}async ensureExists(t){try{await this.contractWrapper.read("state",[t])}catch(a){throw Error(`Proposal ${t} not found`)}}async settings(){let[t,a,r,e,o]=await Promise.all([this.contractWrapper.read("votingDelay",[]),this.contractWrapper.read("votingPeriod",[]),this.contractWrapper.read("token",[]),this.contractWrapper.read("quorumNumerator",[]),this.contractWrapper.read("proposalThreshold",[])]),s=await (0,p.bb)(this.contractWrapper.getProvider(),r);return{votingDelay:t.toString(),votingPeriod:a.toString(),votingTokenAddress:r,votingTokenMetadata:s,votingQuorumFraction:e.toString(),proposalTokenThreshold:o.toString()}}propose=(0,p.dx)(async(t,a)=>{a||(a=[{toAddress:this.contractWrapper.address,nativeTokenValue:0,transactionData:"0x"}]);let r=a.map(t=>t.toAddress),e=a.map(t=>t.nativeTokenValue),o=a.map(t=>t.transactionData);return p.aW.fromContractWrapper({contractWrapper:this.contractWrapper,method:"propose",args:[r,e,o,t],parse:t=>{let a=this.contractWrapper.parseLogs("ProposalCreated",t?.logs);return{id:a[0].args.proposalId,receipt:t}}})});vote=(0,p.dx)((()=>{var t=this;return async function(a,r){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return await t.ensureExists(a),p.aW.fromContractWrapper({contractWrapper:t.contractWrapper,method:"castVoteWithReason",args:[a,r,e]})}})());execute=(0,p.dx)(async t=>{await this.ensureExists(t);let a=await this.get(t),r=a.executions.map(t=>t.toAddress),e=a.executions.map(t=>t.nativeTokenValue),o=a.executions.map(t=>t.transactionData),s=n.id(a.description);return p.aW.fromContractWrapper({contractWrapper:this.contractWrapper,method:"execute",args:[r,e,o,s]})});async prepare(t,a,r){return p.aW.fromContractWrapper({contractWrapper:this.contractWrapper,method:t,args:a,overrides:r})}async call(t,a,r){return this.contractWrapper.call(t,a,r)}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.