1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9271],{39271:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Vote:function(){return Vote}});var VoteType,QueryParams_7d9473b5_browser_esm=__webpack_require__(17249),contract_metadata_88f06ef9_browser_esm=__webpack_require__(3983),IERC20=__webpack_require__(49242),id=__webpack_require__(32046),bignumber=__webpack_require__(2593),lib_esm=__webpack_require__(61744),contracts_lib_esm=__webpack_require__(64146);let VoteType1=((VoteType={})[VoteType.Against=0]="Against",VoteType[VoteType.For=1]="For",VoteType[VoteType.Abstain=2]="Abstain",VoteType);__webpack_require__(13550),__webpack_require__(71770),__webpack_require__(54098),__webpack_require__(2162),__webpack_require__(64063),__webpack_require__(62822);class Vote{get chainId(){return this._chainId}constructor(network,address,storage){var _this=this;let options=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},abi=arguments.length>4?arguments[4]:void 0,chainId=arguments.length>5?arguments[5]:void 0,contractWrapper=arguments.length>6&&void 0!==arguments[6]?arguments[6]:new contract_metadata_88f06ef9_browser_esm.dz(network,address,abi,options);(0,QueryParams_7d9473b5_browser_esm._)(this,"contractWrapper",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"storage",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"abi",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"metadata",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"app",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"encoder",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"estimator",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"events",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"interceptor",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"_chainId",void 0),(0,QueryParams_7d9473b5_browser_esm._)(this,"propose",(0,contract_metadata_88f06ef9_browser_esm.ds)(async(description,executions)=>{executions||(executions=[{toAddress:this.contractWrapper.readContract.address,nativeTokenValue:0,transactionData:"0x"}]);let tos=executions.map(p=>p.toAddress),values=executions.map(p=>p.nativeTokenValue),datas=executions.map(p=>p.transactionData);return contract_metadata_88f06ef9_browser_esm.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method:"propose",args:[tos,values,datas,description],parse:receipt=>{let event=this.contractWrapper.parseLogs("ProposalCreated",receipt?.logs);return{id:event[0].args.proposalId,receipt}}})})),(0,QueryParams_7d9473b5_browser_esm._)(this,"vote",(0,contract_metadata_88f06ef9_browser_esm.ds)(async function(proposalId,voteType){let reason=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return await _this.ensureExists(proposalId),contract_metadata_88f06ef9_browser_esm.aV.fromContractWrapper({contractWrapper:_this.contractWrapper,method:"castVoteWithReason",args:[proposalId,voteType,reason]})})),(0,QueryParams_7d9473b5_browser_esm._)(this,"execute",(0,contract_metadata_88f06ef9_browser_esm.ds)(async proposalId=>{await this.ensureExists(proposalId);let proposal=await this.get(proposalId),tos=proposal.executions.map(p=>p.toAddress),values=proposal.executions.map(p=>p.nativeTokenValue),datas=proposal.executions.map(p=>p.transactionData),descriptionHash=id.id(proposal.description);return contract_metadata_88f06ef9_browser_esm.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method:"execute",args:[tos,values,datas,descriptionHash]})})),this._chainId=chainId,this.abi=contract_metadata_88f06ef9_browser_esm.e.parse(abi||[]),this.contractWrapper=contractWrapper,this.storage=storage,this.metadata=new contract_metadata_88f06ef9_browser_esm.ag(this.contractWrapper,contract_metadata_88f06ef9_browser_esm.dT,this.storage),this.app=new contract_metadata_88f06ef9_browser_esm.a$(this.contractWrapper,this.metadata,this.storage),this.encoder=new contract_metadata_88f06ef9_browser_esm.af(this.contractWrapper),this.estimator=new contract_metadata_88f06ef9_browser_esm.aP(this.contractWrapper),this.events=new contract_metadata_88f06ef9_browser_esm.aQ(this.contractWrapper),this.interceptor=new contract_metadata_88f06ef9_browser_esm.aR(this.contractWrapper)}onNetworkUpdated(network){this.contractWrapper.updateSignerOrProvider(network)}getAddress(){return this.contractWrapper.readContract.address}async get(proposalId){let all=await this.getAll(),proposals=all.filter(p=>
1p.proposalId.eq(bignumber.O$.from(proposalId)));if(0===proposals.length)throw Error("proposal not found");return proposals[0]}async getAll(){return Promise.all((await this.contractWrapper.readContract.getAllProposals()).map(async data=>({proposalId:data.proposalId,proposer:data.proposer,description:data.description,startBlock:data.startBlock,endBlock:data.endBlock,state:await this.contractWrapper.readContract.state(data.proposalId),votes:await this.getProposalVotes(data.proposalId),executions:data[3].map((c,i)=>({toAddress:data.targets[i],nativeTokenValue:c,transactionData:data.calldatas[i]}))})))}async getProposalVotes(proposalId){let votes=await this.contractWrapper.readContract.proposalVotes(proposalId);return[{type:VoteType1.Against,label:"Against",count:votes.againstVotes},{type:VoteType1.For,label:"For",count:votes.forVotes},{type:VoteType1.Abstain,label:"Abstain",count:votes.abstainVotes}]}async hasVoted(proposalId,account){return account||(account=await this.contractWrapper.getSignerAddress()),this.contractWrapper.readContract.hasVoted(proposalId,await (0,contract_metadata_88f06ef9_browser_esm.cH)(account))}async canExecute(proposalId){await this.ensureExists(proposalId);let proposal=await this.get(proposalId),tos=proposal.executions.map(p=>p.toAddress),values=proposal.executions.map(p=>p.nativeTokenValue),datas=proposal.executions.map(p=>p.transactionData),descriptionHash=id.id(proposal.description);try{return await this.contractWrapper.callStatic().execute(tos,values,datas,descriptionHash),!0}catch(e){return!1}}async balance(){let balance=await this.contractWrapper.readContract.provider.getBalance(this.contractWrapper.readContract.address);return{name:"",symbol:"",decimals:18,value:balance,displayValue:lib_esm.formatUnits(balance,18)}}async balanceOfToken(tokenAddress){let erc20=new contracts_lib_esm.CH(await (0,contract_metadata_88f06ef9_browser_esm.cH)(tokenAddress),IERC20,this.contractWrapper.getProvider());return await (0,contract_metadata_88f06ef9_browser_esm.b9)(this.contractWrapper.getProvider(),tokenAddress,await erc20.balanceOf(this.contractWrapper.readContract.address))}async ensureExists(proposalId){try{await this.contractWrapper.readContract.state(proposalId)}catch(e){throw Error(`Proposal ${proposalId} not found`)}}async settings(){let[votingDelay,votingPeriod,votingTokenAddress,votingQuorumFraction,proposalTokenThreshold]=await Promise.all([this.contractWrapper.readContract.votingDelay(),this.contractWrapper.readContract.votingPeriod(),this.contractWrapper.readContract.token(),this.contractWrapper.readContract["quorumNumerator()"](),this.contractWrapper.readContract.proposalThreshold()]),votingTokenMetadata=await (0,contract_metadata_88f06ef9_browser_esm.b8)(this.contractWrapper.getProvider(),votingTokenAddress);return{votingDelay:votingDelay.toString(),votingPeriod:votingPeriod.toString(),votingTokenAddress,votingTokenMetadata,votingQuorumFraction:votingQuorumFraction.toString(),proposalTokenThreshold:proposalTokenThreshold.toString()}}async prepare(method,args,overrides){return contract_metadata_88f06ef9_browser_esm.aV.fromContractWrapper({contractWrapper:this.contractWrapper,method,args,overrides})}async call(functionName,args,overrides){return this.contractWrapper.call(functionName,args,overrides)}}}}]);
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.