@wandevs/governance-contracts-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +2618 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +2618 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/util.ts","../src/types/index.ts","../src/abis/WanGovernor.ts","../src/governance.ts"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as e}from"node:module";import{Abi as t,createPublicClient as n,encodeFunctionData as r,http as i}from"viem";import{wanchain as a}from"viem/chains";const{encodeAbiParameters:o,decodeAbiParameters:s}=e(import.meta.url)(`viem`),c={1:{types:[{type:`uint256`},{type:`string`},{type:`string`},{type:`string`},{type:`string`}],names:[`version`,`title`,`description`,`email`,`telegram`]},2:{types:[{type:`uint256`},{type:`string`},{type:`string`},{type:`string`},{type:`string`},{type:`string`}],names:[`version`,`title`,`description`,`email`,`telegram`,`twitter`]},3:{types:[{type:`uint256`},{type:`string`},{type:`string`},{type:`string`},{type:`string`},{type:`string`},{type:`string`}],names:[`version`,`title`,`description`,`email`,`telegram`,`twitter`,`discord`]}};function l(...e){let t=c[e[0]];if(!t)throw Error(`Unsupported version`);if(e.length!==t.types.length)throw Error(`Invalid number of arguments for the specified version`);return o(t.types,e)}function u(e){let t=c[d(e)];if(!t)throw Error(`Unsupported version`);let n=s(t.types,e);console.log(`decoded:`,n);let r={};for(let e=0;e<t.names.length;e++)r[t.names[e]]=n[e];return r}function d(e){if(!e)return 0;let t=e.startsWith(`0x`)?2:0,n=e.substring(t,t+64);return parseInt(n,16)}let f=function(e){return e[e.NotExists=0]=`NotExists`,e[e.Claimed=1]=`Claimed`,e[e.InProgress=2]=`InProgress`,e[e.ReadyToClaim=3]=`ReadyToClaim`,e}({}),p=function(e){return e[e.Proposer=0]=`Proposer`,e[e.Partner=1]=`Partner`,e[e.Voter=2]=`Voter`,e}({}),m=function(e){return e[e.None=0]=`None`,e[e.Burn=1]=`Burn`,e[e.Lock=2]=`Lock`,e}({}),h=function(e){return e[e.None=0]=`None`,e[e.For=1]=`For`,e[e.Against=2]=`Against`,e}({}),g=function(e){return e[e.None=0]=`None`,e[e.UnderReview=1]=`UnderReview`,e[e.Canceled=2]=`Canceled`,e[e.Fundraising=3]=`Fundraising`,e[e.VotingInProgress=4]=`VotingInProgress`,e[e.Succeeded=5]=`Succeeded`,e[e.Rejected=6]=`Rejected`,e}({}),_=function(e){return e[e.Funding=0]=`Funding`,e[e.Technical=1]=`Technical`,e}({});const v=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`receive`,stateMutability:`payable`},{type:`function`,name:`BURN`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`DEFAULT_ADMIN_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`DENOMINATOR`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`WAN_GOVERNOR_OPERATOR_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`cancelProposal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_reason`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimPartnerWithdrawal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_requestId`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimProposerWithdrawal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_requestId`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimVoterWithdrawal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_requestId`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`contributeProposal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_reason`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`payable`},{type:`function`,name:`createProposal`,inputs:[{name:`_reqWanAmount`,type:`uint256`,internalType:`uint256`},{name:`_category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`},{name:`_pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_description`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`payable`},{type:`function`,name:`getAllProposalCount`,inputs:[],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getFoundations`,inputs:[],outputs:[{name:``,type:`address[]`,internalType:`address[]`}],stateMutability:`view`},{type:`function`,name:`getProposalCountByRole`,inputs:[{name:`_role`,type:`uint8`,internalType:`enum IWanGovernor.ProposalRole`},{name:`_account`,type:`address`,internalType:`address`}],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getProposalCountByState`,inputs:[{name:`_state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`}],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getProposalId`,inputs:[{name:`_reqWanAmount`,type:`uint256`,internalType:`uint256`},{name:`_proposer`,type:`address`,internalType:`address`},{name:`_category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`},{name:`_pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_description`,type:`bytes`,internalType:`bytes`}],outputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`getProposalIdByRoleAt`,inputs:[{name:`_role`,type:`uint8`,internalType:`enum IWanGovernor.ProposalRole`},{name:`_account`,type:`address`,internalType:`address`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`getProposalIdByStateAt`,inputs:[{name:`_state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`getProposalInfo`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`info`,type:`tuple`,internalType:`struct IWanGovernor.ProposalInfo`,components:[{name:`requireXpAmount`,type:`uint256`,internalType:`uint256`},{name:`requestWanAmount`,type:`uint256`,internalType:`uint256`},{name:`requestMinVotingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalPledgingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalPledgingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalVotingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalVotingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalLockingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalBurnedWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalClaimeStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`submitTimestamp`,type:`uint256`,internalType:`uint256`},{name:`fundraisingDeadline`,type:`uint256`,internalType:`uint256`},{name:`voteDeadline`,type:`uint256`,internalType:`uint256`},{name:`tally`,type:`tuple`,internalType:`struct IWanGovernor.Tally`,components:[{name:`yes`,type:`uint256`,internalType:`uint256`},{name:`no`,type:`uint256`,internalType:`uint256`}]},{name:`proposerFundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]},{name:`category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`},{name:`state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`proposer`,type:`address`,internalType:`address`},{name:`description`,type:`bytes`,internalType:`bytes`},{name:`reason`,type:`bytes`,internalType:`bytes`}]}],stateMutability:`view`},{type:`function`,name:`getProposalInfoAt`,inputs:[{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`info`,type:`tuple`,internalType:`struct IWanGovernor.ProposalInfo`,components:[{name:`requireXpAmount`,type:`uint256`,internalType:`uint256`},{name:`requestWanAmount`,type:`uint256`,internalType:`uint256`},{name:`requestMinVotingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalPledgingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalPledgingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalVotingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalVotingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalLockingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalBurnedWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalClaimeStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`submitTimestamp`,type:`uint256`,internalType:`uint256`},{name:`fundraisingDeadline`,type:`uint256`,internalType:`uint256`},{name:`voteDeadline`,type:`uint256`,internalType:`uint256`},{name:`tally`,type:`tuple`,internalType:`struct IWanGovernor.Tally`,components:[{name:`yes`,type:`uint256`,internalType:`uint256`},{name:`no`,type:`uint256`,internalType:`uint256`}]},{name:`proposerFundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]},{name:`category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`},{name:`state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`proposer`,type:`address`,internalType:`address`},{name:`description`,type:`bytes`,internalType:`bytes`},{name:`reason`,type:`bytes`,internalType:`bytes`}]}],stateMutability:`view`},{type:`function`,name:`getProposalMultiplierCounts`,inputs:[],outputs:[{name:`proposalWanMultiplierCount`,type:`uint256`,internalType:`uint256`},{name:`votingWanMultiplierCount`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getProposalPartnerAndVoterCounts`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`partnerCount`,type:`uint256`,internalType:`uint256`},{name:`voterCount`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getProposalPartnerAt`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`getProposalPartnerInfo`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_partner`,type:`address`,internalType:`address`}],outputs:[{name:`partnerInfo`,type:`tuple`,internalType:`struct IWanGovernor.PartnerInfo`,components:[{name:`fundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]}]}],stateMutability:`view`},{type:`function`,name:`getProposalPartnerInfoAt`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`partner`,type:`address`,internalType:`address`},{name:`partnerInfo`,type:`tuple`,internalType:`struct IWanGovernor.PartnerInfo`,components:[{name:`fundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]}]}],stateMutability:`view`},{type:`function`,name:`getProposalState`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`}],stateMutability:`view`},{type:`function`,name:`getProposalVoterAt`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`getProposalVoterInfo`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_voter`,type:`address`,internalType:`address`}],outputs:[{name:`voterInfo`,type:`tuple`,internalType:`struct IWanGovernor.VoterInfo`,components:[{name:`fundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]},{name:`voteType`,type:`uint8`,internalType:`enum IWanGovernor.VoteType`}]}],stateMutability:`view`},{type:`function`,name:`getProposalVoterInfoAt`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`voter`,type:`address`,internalType:`address`},{name:`voterInfo`,type:`tuple`,internalType:`struct IWanGovernor.VoterInfo`,components:[{name:`fundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]},{name:`voteType`,type:`uint8`,internalType:`enum IWanGovernor.VoteType`}]}],stateMutability:`view`},{type:`function`,name:`getProposalWanMultiplier`,inputs:[{name:`_pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_lockDuration`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`multiplier`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getProposalWanMultiplierAt`,inputs:[{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`multiplier`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getRoleAdmin`,inputs:[{name:`role`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`getVotingWanMultiplier`,inputs:[{name:`_pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_lockDuration`,type:`uint128`,internalType:`uint128`}],outputs:[{name:`multiplier`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getVotingWanMultiplierAt`,inputs:[{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`multiplier`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`getWanPower`,inputs:[{name:`multiplier`,type:`uint256`,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`wanPower`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`grantRole`,inputs:[{name:`role`,type:`bytes32`,internalType:`bytes32`},{name:`account`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`hasProposalExists`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`state`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`hasRole`,inputs:[{name:`role`,type:`bytes32`,internalType:`bytes32`},{name:`account`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`initialize`,inputs:[{name:`_admin`,type:`address`,internalType:`address`},{name:`_operator`,type:`address`,internalType:`address`},{name:`_proposalGlobalConfig`,type:`tuple`,internalType:`struct IWanGovernor.ProposalGlobalConfig`,components:[{name:`ethTransferGasLimit`,type:`uint256`,internalType:`uint256`},{name:`minParticipationAmount`,type:`uint256`,internalType:`uint256`},{name:`requestWanMultiplier`,type:`uint256`,internalType:`uint256`},{name:`succeedThreshold`,type:`uint256`,internalType:`uint256`},{name:`requireXpAmount`,type:`uint256`,internalType:`uint256`},{name:`pledgeLockDuration`,type:`uint128`,internalType:`uint128`},{name:`fundraisingDuration`,type:`uint128`,internalType:`uint128`},{name:`voteDuration`,type:`uint128`,internalType:`uint128`},{name:`xp`,type:`address`,internalType:`address`},{name:`stakingManager`,type:`address`,internalType:`address`},{name:`wanTreasury`,type:`address`,internalType:`address`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isFoundation`,inputs:[{name:`account`,type:`address`,internalType:`address`}],outputs:[{name:`isFoundationMember`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`proposalCategoryCount`,inputs:[{name:`state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`}],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`proposalGlobalConfig`,inputs:[],outputs:[{name:`ethTransferGasLimit`,type:`uint256`,internalType:`uint256`},{name:`minParticipationAmount`,type:`uint256`,internalType:`uint256`},{name:`requestWanMultiplier`,type:`uint256`,internalType:`uint256`},{name:`succeedThreshold`,type:`uint256`,internalType:`uint256`},{name:`requireXpAmount`,type:`uint256`,internalType:`uint256`},{name:`pledgeLockDuration`,type:`uint128`,internalType:`uint128`},{name:`fundraisingDuration`,type:`uint128`,internalType:`uint128`},{name:`voteDuration`,type:`uint128`,internalType:`uint128`},{name:`xp`,type:`address`,internalType:`address`},{name:`stakingManager`,type:`address`,internalType:`address`},{name:`wanTreasury`,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`renounceRole`,inputs:[{name:`role`,type:`bytes32`,internalType:`bytes32`},{name:`callerConfirmation`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`requestPartnerWithdrawal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`partnerRequestId`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestProposerWithdrawal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`proposerRequestId`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestVoterWithdrawal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`voterRequestId`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`reviewProposal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`isApproved`,type:`bool`,internalType:`bool`},{name:`_reason`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`revokeRole`,inputs:[{name:`role`,type:`bytes32`,internalType:`bytes32`},{name:`account`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFoundations`,inputs:[{name:`params`,type:`tuple[]`,internalType:`struct IWanGovernor.SetFoundationParam[]`,components:[{name:`account`,type:`address`,internalType:`address`},{name:`isFoundationMember`,type:`bool`,internalType:`bool`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setProposalWanMultiplier`,inputs:[{name:`params`,type:`tuple[]`,internalType:`struct IWanGovernor.SetWanMultiplier[]`,components:[{name:`multiplier`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`}]},{name:`ifClean`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setVotingWanMultiplier`,inputs:[{name:`params`,type:`tuple[]`,internalType:`struct IWanGovernor.SetWanMultiplier[]`,components:[{name:`multiplier`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`}]},{name:`ifClean`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`,internalType:`bytes4`}],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`tallyProposal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`totalProposalAmountInfo`,inputs:[],outputs:[{name:`allProposalWanAmount`,type:`uint256`,internalType:`uint256`},{name:`allProposalLockingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`allProposalBurnedWanAmount`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`updateEthTransferGasLimit`,inputs:[{name:`_gasLimit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateFundraisingDuration`,inputs:[{name:`_duration`,type:`uint128`,internalType:`uint128`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateMinParticipationAmount`,inputs:[{name:`_amount`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updatePledgeLockDuration`,inputs:[{name:`_lockDuration`,type:`uint128`,internalType:`uint128`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateRequestWanMultiplier`,inputs:[{name:`_requestWanMultiplier`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateSucceedThreshold`,inputs:[{name:`_threshold`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateVoteDuration`,inputs:[{name:`_duration`,type:`uint128`,internalType:`uint128`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`updateXpRequiredAmount`,inputs:[{name:`_amount`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`voteProposal`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_lockDuration`,type:`uint128`,internalType:`uint128`},{name:`votePledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_voteType`,type:`uint8`,internalType:`enum IWanGovernor.VoteType`},{name:`_reason`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`payable`},{type:`event`,name:`CancelProposal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`proposer`,type:`address`,indexed:!0,internalType:`address`},{name:`keys`,type:`string[]`,indexed:!1,internalType:`string[]`},{name:`values`,type:`bytes[]`,indexed:!1,internalType:`bytes[]`}],anonymous:!1},{type:`event`,name:`ClaimPartnerWithdrawal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`requestId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ClaimProposerWithdrawal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`requestId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ClaimVoterWithdrawal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`requestId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ContributeProposal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`partner`,type:`address`,indexed:!0,internalType:`address`},{name:`state`,type:`uint8`,indexed:!0,internalType:`enum IWanGovernor.ProposalState`},{name:`keys`,type:`string[]`,indexed:!1,internalType:`string[]`},{name:`values`,type:`bytes[]`,indexed:!1,internalType:`bytes[]`}],anonymous:!1},{type:`event`,name:`CreateProposal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`proposer`,type:`address`,indexed:!0,internalType:`address`},{name:`state`,type:`uint8`,indexed:!0,internalType:`enum IWanGovernor.ProposalState`},{name:`keys`,type:`string[]`,indexed:!1,internalType:`string[]`},{name:`values`,type:`bytes[]`,indexed:!1,internalType:`bytes[]`}],anonymous:!1},{type:`event`,name:`Initialized`,inputs:[{name:`version`,type:`uint64`,indexed:!1,internalType:`uint64`}],anonymous:!1},{type:`event`,name:`RequestPartnerWithdrawal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`requestId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`stWanAmount`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`RequestProposerWithdrawal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`requestId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`stWanAmount`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`RequestVoterWithdrawal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`requestId`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`stWanAmount`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ReviewProposal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`isApproved`,type:`bool`,indexed:!0,internalType:`bool`},{name:`state`,type:`uint8`,indexed:!0,internalType:`enum IWanGovernor.ProposalState`},{name:`reason`,type:`bytes`,indexed:!1,internalType:`bytes`}],anonymous:!1},{type:`event`,name:`RoleAdminChanged`,inputs:[{name:`role`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`previousAdminRole`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`newAdminRole`,type:`bytes32`,indexed:!0,internalType:`bytes32`}],anonymous:!1},{type:`event`,name:`RoleGranted`,inputs:[{name:`role`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`account`,type:`address`,indexed:!0,internalType:`address`},{name:`sender`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`RoleRevoked`,inputs:[{name:`role`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`account`,type:`address`,indexed:!0,internalType:`address`},{name:`sender`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`SetFoundation`,inputs:[{name:`account`,type:`address`,indexed:!0,internalType:`address`},{name:`isFoundationMember`,type:`bool`,indexed:!0,internalType:`bool`}],anonymous:!1},{type:`event`,name:`SetProposalFailed`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`reason`,type:`bytes`,indexed:!1,internalType:`bytes`}],anonymous:!1},{type:`event`,name:`SetProposalStage`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`ifSet`,type:`bool`,indexed:!0,internalType:`bool`}],anonymous:!1},{type:`event`,name:`SetProposalWanMultiplier`,inputs:[{name:`multiplier`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`pledgeType`,type:`uint8`,indexed:!0,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,indexed:!0,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`SetVotingWanMultiplier`,inputs:[{name:`multiplier`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`pledgeType`,type:`uint8`,indexed:!0,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,indexed:!0,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`TallyProposal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`wanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`},{name:`stWanAmount`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`UpdateEthTransferGasLimit`,inputs:[{name:`gasLimit`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`UpdateFundraisingDuration`,inputs:[{name:`duration`,type:`uint128`,indexed:!0,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`UpdateMinParticipationAmount`,inputs:[{name:`amount`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`UpdatePledgeLockDuration`,inputs:[{name:`lockDuration`,type:`uint128`,indexed:!0,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`UpdateRequestWanMultiplier`,inputs:[{name:`requestWanMultiplier`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`UpdateSucceedThreshold`,inputs:[{name:`threshold`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`UpdateVoteDuration`,inputs:[{name:`duration`,type:`uint128`,indexed:!0,internalType:`uint128`}],anonymous:!1},{type:`event`,name:`UpdateXpRequiredAmount`,inputs:[{name:`amount`,type:`uint256`,indexed:!0,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`VoteProposal`,inputs:[{name:`proposalId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`voter`,type:`address`,indexed:!0,internalType:`address`},{name:`voteType`,type:`uint8`,indexed:!0,internalType:`enum IWanGovernor.VoteType`},{name:`keys`,type:`string[]`,indexed:!1,internalType:`string[]`},{name:`values`,type:`bytes[]`,indexed:!1,internalType:`bytes[]`}],anonymous:!1},{type:`error`,name:`AccessControlBadConfirmation`,inputs:[]},{type:`error`,name:`AccessControlUnauthorizedAccount`,inputs:[{name:`account`,type:`address`,internalType:`address`},{name:`neededRole`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`AlreadyContributeProposal`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`partner`,type:`address`,internalType:`address`}]},{type:`error`,name:`AmountBelowMinimum`,inputs:[{name:`provided`,type:`uint256`,internalType:`uint256`},{name:`required`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`ApplicationExceedsLimit`,inputs:[{name:`requested`,type:`uint256`,internalType:`uint256`},{name:`limit`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`EthTransferFailed`,inputs:[{name:`to`,type:`address`,internalType:`address`},{name:`value`,type:`uint256`,internalType:`uint256`},{name:`gasLimit`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidInitialization`,inputs:[]},{type:`error`,name:`InvalidPledgeType`,inputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`}]},{type:`error`,name:`InvalidVotePlegeType`,inputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`}]},{type:`error`,name:`InvalidVoteType`,inputs:[{name:`voteType`,type:`uint8`,internalType:`enum IWanGovernor.VoteType`}]},{type:`error`,name:`LockPeriodNotReached`,inputs:[{name:`unlockTime`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`NotAdmin`,inputs:[{name:`account`,type:`address`,internalType:`address`}]},{type:`error`,name:`NotAdminOrOperator`,inputs:[{name:`account`,type:`address`,internalType:`address`}]},{type:`error`,name:`NotExistsRequestId`,inputs:[{name:`requestId`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`NotInitializing`,inputs:[]},{type:`error`,name:`NotMatchArrayLength`,inputs:[]},{type:`error`,name:`NotRequestProposal`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`requestId`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`NotSupportedPledgeType`,inputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`}]},{type:`error`,name:`NotSupportedVotePledgeType`,inputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`}]},{type:`error`,name:`ProposalAlreadyVoted`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`voter`,type:`address`,internalType:`address`}]},{type:`error`,name:`ProposalAreadyExists`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalNotApproved`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalNotExist`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalNotFundraising`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalNotReachedTallyStage`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalNotUnderReview`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalNotVotingInProgress`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalVotingEnded`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProposalVotingTallied`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ProspectiveProposalNotExist`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`ReviewPendingProposalNotExist`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`SafeCastOverflowedUintDowncast`,inputs:[{name:`bits`,type:`uint8`,internalType:`uint8`},{name:`value`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`SafeERC20FailedOperation`,inputs:[{name:`token`,type:`address`,internalType:`address`}]},{type:`error`,name:`Unauthorized`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`account`,type:`address`,internalType:`address`},{name:`proposer`,type:`address`,internalType:`address`}]},{type:`error`,name:`UnauthorizedEtherTransfer`,inputs:[{name:`from`,type:`address`,internalType:`address`}]},{type:`error`,name:`VotingProposalNotExist`,inputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],y=[{type:`function`,name:`getEthBalance`,inputs:[{name:`addr`,type:`address`,internalType:`address`}],outputs:[{name:`balance`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function b(e,t){return{address:e,abi:y,functionName:`getEthBalance`,args:[t]}}const x=[{name:`balanceOf`,type:`function`,inputs:[{name:`owner`,type:`address`}],outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`}];function S(e,t){return{address:e,abi:x,functionName:`balanceOf`,args:[t]}}const C=[{type:`function`,name:`BURN`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`}];function w(e){return{address:e,abi:C,functionName:`BURN`}}const T=[{type:`function`,name:`getFoundations`,inputs:[],outputs:[{name:``,type:`address[]`,internalType:`address[]`}],stateMutability:`view`}];function ee(e){return{address:e,abi:T,functionName:`getFoundations`}}const E=[{type:`function`,name:`proposalCategoryCount`,inputs:[{name:`state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`}],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function D(e,t,n){return{address:e,abi:E,functionName:`proposalCategoryCount`,args:[t,n]}}const O=[{type:`function`,name:`getProposalId`,inputs:[{name:`_reqWanAmount`,type:`uint256`,internalType:`uint256`},{name:`_proposer`,type:`address`,internalType:`address`},{name:`_category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`},{name:`_pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`_description`,type:`bytes`,internalType:`bytes`}],outputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`}];function k(e,t,n,r,i,a){return{address:e,abi:O,functionName:`getProposalId`,args:[t,n,r,i,a]}}const A=[{type:`function`,name:`getProposalInfo`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`info`,type:`tuple`,internalType:`struct IWanGovernor.ProposalInfo`,components:[{name:`requireXpAmount`,type:`uint256`,internalType:`uint256`},{name:`requestWanAmount`,type:`uint256`,internalType:`uint256`},{name:`requestMinVotingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalPledgingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalPledgingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalVotingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalVotingWanPower`,type:`uint256`,internalType:`uint256`},{name:`totalWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalLockingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalBurnedWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`totalClaimeStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`submitTimestamp`,type:`uint256`,internalType:`uint256`},{name:`fundraisingDeadline`,type:`uint256`,internalType:`uint256`},{name:`voteDeadline`,type:`uint256`,internalType:`uint256`},{name:`tally`,type:`tuple`,internalType:`struct IWanGovernor.Tally`,components:[{name:`yes`,type:`uint256`,internalType:`uint256`},{name:`no`,type:`uint256`,internalType:`uint256`}]},{name:`proposerFundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]},{name:`category`,type:`uint8`,internalType:`enum IWanGovernor.ProposalCategory`},{name:`state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`proposer`,type:`address`,internalType:`address`},{name:`description`,type:`bytes`,internalType:`bytes`},{name:`reason`,type:`bytes`,internalType:`bytes`}]}],stateMutability:`view`}];function j(e,t){return{address:e,abi:A,functionName:`getProposalInfo`,args:[t]}}const M=[{type:`function`,name:`getProposalIdByStateAt`,inputs:[{name:`_state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`}];function N(e,t,n){return{address:e,abi:M,functionName:`getProposalIdByStateAt`,args:[t,n]}}const P=[{type:`function`,name:`getProposalCountByState`,inputs:[{name:`_state`,type:`uint8`,internalType:`enum IWanGovernor.ProposalState`}],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function F(e,t){return{address:e,abi:P,functionName:`getProposalCountByState`,args:[t]}}const I=[{type:`function`,name:`getProposalCountByRole`,inputs:[{name:`_role`,type:`uint8`,internalType:`enum IWanGovernor.ProposalRole`},{name:`_account`,type:`address`,internalType:`address`}],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function L(e,t,n){return{address:e,abi:I,functionName:`getProposalCountByRole`,args:[t,n]}}const R=[{type:`function`,name:`getProposalPartnerAndVoterCounts`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`partnerCount`,type:`uint256`,internalType:`uint256`},{name:`voterCount`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function z(e,t){return{address:e,abi:R,functionName:`getProposalPartnerAndVoterCounts`,args:[t]}}const B=[{type:`function`,name:`getProposalPartnerInfo`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_partner`,type:`address`,internalType:`address`}],outputs:[{name:`partnerInfo`,type:`tuple`,internalType:`struct IWanGovernor.PartnerInfo`,components:[{name:`fundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]}]}],stateMutability:`view`}];function V(e,t,n){return{address:e,abi:B,functionName:`getProposalPartnerInfo`,args:[t,n]}}const te=[{type:`function`,name:`getProposalIdByRoleAt`,inputs:[{name:`_role`,type:`uint8`,internalType:`enum IWanGovernor.ProposalRole`},{name:`_account`,type:`address`,internalType:`address`},{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`proposalId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`}];function H(e,t,n,r){return{address:e,abi:te,functionName:`getProposalIdByRoleAt`,args:[t,n,r]}}const U=[{type:`function`,name:`getAllProposalCount`,inputs:[],outputs:[{name:`count`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function W(e){return{address:e,abi:U,functionName:`getAllProposalCount`,args:[]}}const G=[{type:`function`,name:`totalProposalAmountInfo`,inputs:[],outputs:[{name:`allProposalWanAmount`,type:`uint256`,internalType:`uint256`},{name:`allProposalLockingWanAmount`,type:`uint256`,internalType:`uint256`},{name:`allProposalBurnedWanAmount`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function K(e){return{address:e,abi:G,functionName:`totalProposalAmountInfo`}}const q=[{type:`function`,name:`proposalGlobalConfig`,inputs:[],outputs:[{name:`ethTransferGasLimit`,type:`uint256`,internalType:`uint256`},{name:`minParticipationAmount`,type:`uint256`,internalType:`uint256`},{name:`requestWanMultiplier`,type:`uint256`,internalType:`uint256`},{name:`succeedThreshold`,type:`uint256`,internalType:`uint256`},{name:`requireXpAmount`,type:`uint256`,internalType:`uint256`},{name:`pledgeLockDuration`,type:`uint128`,internalType:`uint128`},{name:`fundraisingDuration`,type:`uint128`,internalType:`uint128`},{name:`voteDuration`,type:`uint128`,internalType:`uint128`},{name:`xp`,type:`address`,internalType:`address`},{name:`stakingManager`,type:`address`,internalType:`address`},{name:`wanTreasury`,type:`address`,internalType:`address`}],stateMutability:`view`}];function J(e){return{address:e,abi:q,functionName:`proposalGlobalConfig`}}const Y=[{type:`function`,name:`getProposalVoterInfo`,inputs:[{name:`_proposalId`,type:`bytes32`,internalType:`bytes32`},{name:`_voter`,type:`address`,internalType:`address`}],outputs:[{name:`voterInfo`,type:`tuple`,internalType:`struct IWanGovernor.VoterInfo`,components:[{name:`fundInfo`,type:`tuple`,internalType:`struct IWanGovernor.FundInfo`,components:[{name:`wanAmount`,type:`uint256`,internalType:`uint256`},{name:`wanPower`,type:`uint256`,internalType:`uint256`},{name:`requestId`,type:`uint256`,internalType:`uint256`},{name:`claimStWanAmount`,type:`uint256`,internalType:`uint256`},{name:`claimWanAmount`,type:`uint256`,internalType:`uint256`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`exited`,type:`bool`,internalType:`bool`},{name:`reason`,type:`bytes`,internalType:`bytes`}]},{name:`voteType`,type:`uint8`,internalType:`enum IWanGovernor.VoteType`}]}],stateMutability:`view`}];function X(e,t,n){return{address:e,abi:Y,functionName:`getProposalVoterInfo`,args:[t,n]}}const Z=[{type:`function`,name:`getProposalMultiplierCounts`,inputs:[],outputs:[{name:`proposalWanMultiplierCount`,type:`uint256`,internalType:`uint256`},{name:`votingWanMultiplierCount`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function Q(e){return{address:e,abi:Z,functionName:`getProposalMultiplierCounts`,args:[]}}const ne=[{type:`function`,name:`getProposalWanMultiplierAt`,inputs:[{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`multiplier`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function re(e,t){return{address:e,abi:ne,functionName:`getProposalWanMultiplierAt`,args:[t]}}const ie=[{type:`function`,name:`getVotingWanMultiplierAt`,inputs:[{name:`_index`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`pledgeType`,type:`uint8`,internalType:`enum IWanGovernor.PledgeType`},{name:`lockDuration`,type:`uint128`,internalType:`uint128`},{name:`multiplier`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`}];function ae(e,t){return{address:e,abi:ie,functionName:`getVotingWanMultiplierAt`,args:[t]}}const oe=[{type:`function`,name:`getUnstakeStatus`,inputs:[{name:`requestId`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`unstakeStatus`,type:`uint8`,internalType:`uint8`}],stateMutability:`view`}];function $(e,t){return{address:e,abi:oe,functionName:`getUnstakeStatus`,args:[t]}}var se=class{constructor(e,t=a,r){this.publicClient=n({chain:t,transport:r?i(r):i()}),this.governanceAddr=e}async getBaseParameters(){let e=await this.publicClient.multicall({contracts:[K(this.governanceAddr),J(this.governanceAddr),w(this.governanceAddr),W(this.governanceAddr),F(this.governanceAddr,g.UnderReview),F(this.governanceAddr,g.Fundraising),F(this.governanceAddr,g.VotingInProgress),F(this.governanceAddr,g.Succeeded),F(this.governanceAddr,g.Rejected),F(this.governanceAddr,g.Canceled),Q(this.governanceAddr)],allowFailure:!1});return{allProposalWanAmount:e[0][0],allProposalLockingWanAmount:e[0][1],allProposalBurnedWanAmount:e[0][2],ethTransferGasLimit:e[1][0],minParticipationAmount:e[1][1],requestWanMultiplier:e[1][2],succeedThreshold:e[1][3],requireXpAmount:e[1][4],pledgeLockDuration:e[1][5],fundraisingDuration:e[1][6],voteDuration:e[1][7],xp:e[1][8],stakingManager:e[1][9],wanTreasury:e[1][10],burnAddr:e[2],proposalCount:e[3],reviewPendingProposalCount:e[4],prospectiveProposalCount:e[5],votingProposalCount:e[6],succeededProposalCount:e[7],failedProposalCount:e[8],canceledProposalCount:e[9],proposalWanMultiplierCount:e[10][0],votingWanMultiplierCount:e[10][1]}}async getProposalMultipliers(e){let t=0n,n=0n;if(e.proposalWanMultiplier){if(e.proposalWanMultiplier.end<e.proposalWanMultiplier.start||e.proposalWanMultiplier.start<0n)throw Error(`Invalid proposalWanMultiplier`);t=e.proposalWanMultiplier.end-e.proposalWanMultiplier.start+1n}if(e.votingWanMultiplier){if(e.votingWanMultiplier.end<e.votingWanMultiplier.start||e.votingWanMultiplier.start<0n)throw Error(`Invalid votingWanMultiplier`);n=e.votingWanMultiplier.end-e.votingWanMultiplier.start+1n}let r=t+n,i=t>0n,a=n>0n,o=Array(r);if(i)for(let e=0;e<t;++e)o[e]=re(this.governanceAddr,e);if(a)for(let e=t;e<r;++e)o[e]=ae(this.governanceAddr,e-t);let s=await this.publicClient.multicall({contracts:o,allowFailure:!1}),c=i?Array(t):[],l=a?Array(n):[];for(let e=0n;e<s.length;++e)e<t?c[e]={pledgeType:s[e][0],lockDuration:s[e][1],multiplier:s[e][2]}:l[e-t]={pledgeType:s[e][0],lockDuration:s[e][1],multiplier:s[e][2]};return{proposalWanMultipliers:c,votingWanMultipliers:l}}async getProposalCounts(){let e=await this.publicClient.multicall({contracts:[W(this.governanceAddr),F(this.governanceAddr,g.UnderReview),F(this.governanceAddr,g.Fundraising),F(this.governanceAddr,g.VotingInProgress),F(this.governanceAddr,g.Succeeded),F(this.governanceAddr,g.Rejected),F(this.governanceAddr,g.Canceled)],allowFailure:!1});return{allProposalCount:e[0],reviewPendingProposalCount:e[1],prospectiveProposalCount:e[2],votingProposalCount:e[3],succeededProposalCount:e[4],failedProposalCount:e[5],canceledProposalCount:e[6]}}async getActiveProposalCategoryCounts(){let e=await this.publicClient.multicall({contracts:[D(this.governanceAddr,g.Fundraising,_.Funding),D(this.governanceAddr,g.Fundraising,_.Technical),D(this.governanceAddr,g.VotingInProgress,_.Funding),D(this.governanceAddr,g.VotingInProgress,_.Technical)],allowFailure:!1});return{fundingProposalCount:e[0]+e[2],technicalProposalCount:e[1]+e[3]}}async getAssetBalances(e,t){let n=await this.publicClient.multicall({contracts:[b(this.publicClient.chain.contracts.multicall3.address,t),S(e,t)],allowFailure:!1});return{ethBalance:n[0],xpBalance:n[1]}}async getAccountProposalCount(e){let t=await this.publicClient.multicall({contracts:[L(this.governanceAddr,p.Proposer,e),L(this.governanceAddr,p.Partner,e),L(this.governanceAddr,p.Voter,e)],allowFailure:!1});return{proposerProposalCount:t[0],partnerProposalCount:t[1],voterProposalCount:t[2]}}async getFoundations(){return await this.publicClient.readContract(ee(`0xaFBF28B258599466fFAC7C207172d84CE12761B8`))}async getAccountProposalId(e,t,n,r,i){return await this.publicClient.readContract(k(this.governanceAddr,t,e,n,r,i))}async getProposalPartnerAndVoterCounts(e){return await this.publicClient.readContract(z(this.governanceAddr,e))}async getProposerProposals(e,t){if(t.end<t.start||t.start<0n)throw Error(`Invalid indexRange`);let n=Array(t.end-t.start+1n);for(let r=t.start;r<=t.end;++r)n[r-t.start]=H(this.governanceAddr,p.Proposer,e,r);let r=await this.publicClient.multicall({contracts:n,allowFailure:!1});n=Array(r.length);for(let e=0;e<r.length;e++)n[e]=j(this.governanceAddr,r[e]);let i=await this.publicClient.multicall({contracts:n,allowFailure:!1});for(let e=0;e<r.length;)i[e].proposalId=r[e],e+=2;return i}async getPartnerProposals(e,t){if(t.end<t.start||t.start<0n)throw Error(`Invalid indexRange`);let n=Array(t.end-t.start+1n);for(let r=t.start;r<=t.end;++r)n[r-t.start]=H(this.governanceAddr,p.Partner,e,r);let r=await this.publicClient.multicall({contracts:n,allowFailure:!1});n=Array(r.length*2);for(let t=0;t<r.length;++t){let i=t*2;n[i]=j(this.governanceAddr,r[t]),n[i+1]=V(this.governanceAddr,r[t],e)}let i=await this.publicClient.multicall({contracts:n,allowFailure:!1}),a=Array(r.length);for(let e=0;e<r.length;++e){let t=e*2;i[t].proposalId=r[e],a[e]={proposalInfo:i[t],partnerInfo:i[t+1]}}return a}async getVoterProposals(e,t){if(t.end<t.start||t.start<0n)throw Error(`Invalid indexRange`);let n=Array(t.end-t.start+1n);for(let r=t.start;r<=t.end;++r)n[r-t.start]=H(this.governanceAddr,p.Voter,e,r);let r=await this.publicClient.multicall({contracts:n,allowFailure:!1});n=Array(r.length*2);for(let t=0;t<r.length;++t){let i=t*2;n[i]=j(this.governanceAddr,r[t]),n[i+1]=X(this.governanceAddr,r[t],e)}let i=await this.publicClient.multicall({contracts:n,allowFailure:!1}),a=Array(r.length);for(let e=0;e<r.length;++e){let t=e*2;i[t].proposalId=r[e],a[e]={proposalInfo:i[t],voterInfo:i[t+1]}}return a}async getPartnerInfo(e,t){let n=Array(t.length);for(let r=0;r<t.length;++r)n[r]=V(this.governanceAddr,t[r],e);let r=await this.publicClient.multicall({contracts:n,allowFailure:!1});for(let e=0;e<t.length;++e)r[e].proposalId=t[e];return r}async getVoterInfo(e,t){let n=Array(t.length);for(let r=0;r<t.length;++r)n[r]=X(this.governanceAddr,t[r],e);let r=await this.publicClient.multicall({contracts:n,allowFailure:!1});for(let e=0;e<t.length;++e)r[e].proposalId=t[e];return r}async getReviewPendingProposals(e){if(e.end<e.start||e.start<0n)throw Error(`Invalid indexRange`);let t=Array(e.end-e.start+1n);for(let n=e.start;n<=e.end;++n)t[n-e.start]=N(this.governanceAddr,g.UnderReview,n);let n=await this.publicClient.multicall({contracts:t,allowFailure:!1});t=Array(n.length);for(let e=0;e<n.length;++e)t[e]=j(this.governanceAddr,n[e]);let r=await this.publicClient.multicall({contracts:t,allowFailure:!1});for(let e=0;e<n.length;++e)r[e].proposalId=n[e];return r}async getProspectiveProposals(e){if(e.end<e.start||e.start<0n)throw Error(`Invalid indexRange`);let t=Array(e.end-e.start+1n);for(let n=e.start;n<=e.end;++n)t[n-e.start]=N(this.governanceAddr,g.Fundraising,n);let n=await this.publicClient.multicall({contracts:t,allowFailure:!1});t=Array(n.length);for(let e=0;e<n.length;++e)t[e]=j(this.governanceAddr,n[e]);let r=await this.publicClient.multicall({contracts:t,allowFailure:!1});for(let e=0;e<n.length;++e)r[e].proposalId=n[e];return r}async getVotingProposals(e){if(e.end<e.start||e.start<0n)throw Error(`Invalid indexRange`);let t=Array(e.end-e.start+1n);for(let n=e.start;n<=e.end;++n)t[n-e.start]=N(this.governanceAddr,g.VotingInProgress,n);let n=await this.publicClient.multicall({contracts:t,allowFailure:!1});t=Array(n.length);for(let e=0;e<n.length;++e)t[e]=j(this.governanceAddr,n[e]);let r=await this.publicClient.multicall({contracts:t,allowFailure:!1});for(let e=0;e<n.length;++e)r[e].proposalId=n[e];return r}async getSucceedProposals(e){if(e.end<e.start||e.start<0n)throw Error(`Invalid indexRange`);let t=Array(e.end-e.start+1n);for(let n=e.start;n<=e.end;++n)t[n-e.start]=N(this.governanceAddr,g.Succeeded,n);let n=await this.publicClient.multicall({contracts:t,allowFailure:!1});t=Array(n.length);for(let e=0;e<n.length;++e)t[e]=j(this.governanceAddr,n[e]);let r=await this.publicClient.multicall({contracts:t,allowFailure:!1});for(let e=0;e<n.length;++e)r[e].proposalId=n[e];return r}async getFailedProposals(e){if(e.end<e.start||e.start<0n)throw Error(`Invalid indexRange`);let t=Array(e.end-e.start+1n);for(let n=e.start;n<=e.end;++n)t[n-e.start]=N(this.governanceAddr,g.Rejected,n);let n=await this.publicClient.multicall({contracts:t,allowFailure:!1});t=Array(n.length);for(let e=0;e<n.length;++e)t[e]=j(this.governanceAddr,n[e]);let r=await this.publicClient.multicall({contracts:t,allowFailure:!1});for(let e=0;e<n.length;++e)r[e].proposalId=n[e];return r}async getProposalInfo(e){let t=await this.publicClient.readContract(j(this.governanceAddr,e));return t.proposalId=e,t}canRequestProposalWithdrawal(e,t){let n=Array(t.length);for(let r=0;r<t.length;++r){let i=!0,a=!1;(t[r].state==g.Rejected||t[r].state==g.Succeeded&&(t[r].lockDuration==0n||t[r].requestId>0n))&&(i=!1),t[r].state==g.Succeeded&&t[r].lockDuration>0n&&e>t[r].voteDeadline+t[r].lockDuration&&t[r].requestId==0n&&!t[r].exited&&(a=!0),n[r]={needRequestWithdrawal:i,canRequestWithdrawal:a}}return n}async canClaimProposalWithdrawal(e,t,n){let r=0,i={},a=Array(n.length),o=Array(n.length);for(let s=0;s<n.length;++s){if(n[s].state==g.Rejected||n[s].state==g.Succeeded&&n[s].lockDuration==0n&&!n[s].exited){a[s]=!0;continue}if(n[s].state==g.Succeeded&&n[s].lockDuration>0n&&t>n[s].voteDeadline+n[s].lockDuration&&n[s].requestId>0n&&!n[s].exited){o[r]=$(e,n[s].requestId),i[s]=r,r++;continue}a[s]=!1}o=o.slice(0,r);let s=await this.publicClient.multicall({contracts:o,allowFailure:!1});for(let e=0;e<o.length;e++)a[i[e]]=s[e]==f.ReadyToClaim;return a}async getUnstakeStatus(e,t){return await this.publicClient.readContract($(e,t))}async buildTx(e,t,n,i=0n){return await this.publicClient.simulateContract({address:this.governanceAddr,abi:v,functionName:t,args:n,account:e,value:i}),await this.publicClient.prepareTransactionRequest({account:e,to:this.governanceAddr,data:r({abi:v,functionName:t,args:n}),value:i})}async _buildTx(e,t,n=0n){return await this.publicClient.simulateContract({address:this.governanceAddr,abi:t.abi,functionName:t.functionName,args:t.args,account:e}),await this.publicClient.prepareTransactionRequest({account:e,to:this.governanceAddr,data:r(t),value:n})}async buildCreateProposalTx(e,t,n,r,i,a){return await this.buildTx(e,`createProposal`,[n,r,i,a],t)}async buildCancelProposalTx(e,t,n){return await this.buildTx(e,`cancelProposal`,[t,n])}async buildReviewProposalTx(e,t,n,r){return await this.buildTx(e,`reviewProposal`,[t,n,r])}async buildContributeProposalTx(e,t,n,r,i){return await this.buildTx(e,`contributeProposal`,[t,r,i],n)}async buildVoteProposalTx(e,t,n,r,i,a,o){return await this.buildTx(e,`voteProposal`,[t,r,i,a,o],n)}async buildTallyProposalTx(e,t){return await this.buildTx(e,`tallyProposal`,[t])}async buildRequestProposerWithdrawalTx(e,t){return await this.buildTx(e,`requestProposerWithdrawal`,[t],0n)}async buildClaimProposerWithdrawalTx(e,t,n){return await this.buildTx(e,`claimProposerWithdrawal`,[t,n],0n)}async buildRequestPartnerWithdrawalTx(e,t){return await this.buildTx(e,`requestPartnerWithdrawal`,[t],0n)}async buildClaimPartnerWithdrawalTx(e,t,n){return await this.buildTx(e,`claimPartnerWithdrawal`,[t,n],0n)}async buildRequestVoterWithdrawalTx(e,t){return await this.buildTx(e,`requestVoterWithdrawal`,[t],0n)}async buildClaimVoterWithdrawalTx(e,t,n){return await this.buildTx(e,`claimVoterWithdrawal`,[t,n],0n)}async buildUpdateFundraisingDurationTx(e,t){return await this.buildTx(e,`updateFundraisingDuration`,[t],0n)}async buildUpdateMinParticipationAmountTx(e,t){return await this.buildTx(e,`updateMinParticipationAmount`,[t],0n)}};export{se as Governance,m as PledgeType,_ as ProposalCategory,p as ProposalRole,g as ProposalState,f as UnstakeStatus,h as VoteType,u as decodeProposalDescriptionData,l as encodeProposalDescriptionData,d as getVersionFromData,c as supportedProposalDescriptionDataTypeSchema};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|