@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
444 lines (443 loc) • 44 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "GovernorCommunityExecutionLogic",
"sourceName": "contracts/governance/libraries/GovernorCommunityExecutionLogic.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum GovernorTypes.ProposalType",
"name": "proposalType",
"type": "uint8"
}
],
"name": "GovernorRestrictedProposal",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "enum GovernorTypes.ProposalState",
"name": "current",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "expectedStates",
"type": "bytes32"
}
],
"name": "GovernorUnexpectedProposalState",
"type": "error"
},
{
"inputs": [],
"name": "InvalidPayeeAddress",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "MissingProposalBudget",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "NotReadyToClaim",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "PayeesAlreadyFinalized",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "PayoutAlreadyClaimed",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "provided",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"name": "TooManyContributors",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "UnauthorizedCommunityExecution",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "maxBudget",
"type": "uint256"
}
],
"name": "ProposalBudgetSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string[]",
"name": "contributors",
"type": "string[]"
}
],
"name": "ProposalContributorsSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "ProposalInDevelopment",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "description",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "implementationDiscussion",
"type": "string"
}
],
"name": "ProposalInDevelopmentDetails",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "ProposalPayoutClaimed",
"type": "event"
},
{
"inputs": [],
"name": "getMaxContributorsPerProposal",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getProposalBudget",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getProposalContributors",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getProposalDescription",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getProposalImplementationDiscussion",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "getProposalPayee",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "isProposalCommunityExecutionFinalized",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "isProposalPaid",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6121c761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c806301d6e78f146100a85780630a9c9f19146100ce57806316a19ad6146100f057806320132e5414610110578063229acb17146101335780634bb66439146101535780635452a01b1461015b5780635b16e25914610186578063656f3e40146101a65780638a69614e146101b9578063c305f59a146101d9575b600080fd5b6100bb6100b6366004611b21565b6101ec565b6040519081526020015b60405180910390f35b8180156100da57600080fd5b506100ee6100e9366004611be4565b61020a565b005b8180156100fc57600080fd5b506100ee61010b366004611be4565b610243565b61012361011e366004611b21565b61032e565b60405190151581526020016100c5565b610146610141366004611b21565b61034f565b6040516100c59190611cfb565b6100bb6103fb565b61016e610169366004611b21565b61040e565b6040516001600160a01b0390911681526020016100c5565b610199610194366004611b21565b610435565b6040516100c59190611d0e565b6101466101b4366004611b21565b61052a565b8180156101c557600080fd5b506100ee6101d4366004611b21565b610551565b6101236101e7366004611b21565b6106c9565b60006101f66106ea565b600092835260250160205250604090205490565b610214898261070e565b61021e89896107c0565b610228838361084f565b610238898989898989898961088a565b505050505050505050565b61024d898261098d565b61025789896107c0565b610261838361084f565b600061026b6106ea565b60008b815260278201602052604090205490915060ff16156102a857604051630e4ce86960e41b8152600481018b90526024015b60405180910390fd5b60008a81526027820160205260409020805460ff191660011790556102d38a8a8a8a8a8a8a8a61088a565b60008a8152601e82016020908152604091829020805460ff1916600117905590518b81527fae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0910160405180910390a150505050505050505050565b60006103386106ea565b600092835260270160205250604090205460ff1690565b60606103596106ea565b600083815260299190910160205260409020805461037690611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546103a290611d86565b80156103ef5780601f106103c4576101008083540402835291602001916103ef565b820191906000526020600020905b8154815290600101906020018083116103d257829003601f168201915b50505050509050919050565b60006104056106ea565b60240154905090565b60006104186106ea565b60009283526026016020525060409020546001600160a01b031690565b606061043f6106ea565b602b016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561051f57838290600052602060002001805461049290611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546104be90611d86565b801561050b5780601f106104e05761010080835404028352916020019161050b565b820191906000526020600020905b8154815290600101906020018083116104ee57829003601f168201915b505050505081526020019060010190610473565b505050509050919050565b60606105346106ea565b6000838152602a9190910160205260409020805461037690611d86565b600061055b6106ea565b90506105708261056b6009610aa4565b610ac7565b50600082815260288201602052604090205460ff16156105a6576040516331bfcd9f60e11b81526004810183905260240161029f565b600082815260268201602090815260408083205460258501909252909120546001600160a01b03909116908115806105dc575080155b156105fd57604051637b210ad760e11b81526004810185905260240161029f565b600084815260288401602052604090819020805460ff1916600117905560238401549051638e184b3f60e01b81526001600160a01b0390911690638e184b3f9061064d9085908590600401611dc0565b600060405180830381600087803b15801561066757600080fd5b505af115801561067b573d6000803e3d6000fd5b50505050816001600160a01b0316847fea09ed9ea14239b5e3188607c24cf3ee441615cfa1f8ff9dfeaf12f0a7949bc6836040516106bb91815260200190565b60405180910390a350505050565b60006106d36106ea565b600092835260280160205250604090205460ff1690565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006107186106ea565b600084815260018201602052604090208054919250906001600160a01b03163314801590610744575082155b1561076657338460405163483f74db60e11b815260040161029f929190611dc0565b610784846107746009610aa4565b61077e6008610aa4565b17610ac7565b50600084815260288301602052604090205460ff16156107ba576040516331bfcd9f60e11b81526004810185905260240161029f565b50505050565b60006107ca6106ea565b60008481526025919091016020526040902054905080158015906107f557506001600160a01b038216155b156108135760405163792ee9db60e11b815260040160405180910390fd5b8015801561082957506001600160a01b03821615155b1561084a57604051638667f7cb60e01b81526004810184905260240161029f565b505050565b60006108596106ea565b6024015490508082111561084a57604051631f3ca81760e11b8152600481018390526024810182905260440161029f565b60006108946106ea565b60008a8152602682016020908152604080832080546001600160a01b0319166001600160a01b038e161790556029840190915290209091506108d7878983611e3d565b506000898152602a8201602052604090206108f3858783611e3d565b50610900818a8585610b0f565b876001600160a01b0316897fe88c3dd4f40f87300587b77b8fd804224e789f0998e5421d84fc6641bc4206db898989896040516109409493929190611f25565b60405180910390a3887f73a685e17e09a2fbdba72e1aa6c2adf949b4025a58dcb463ce267875fb7ea3f1848460405161097a929190611f4c565b60405180910390a2505050505050505050565b60006109976106ea565b600084815260018201602052604090208054919250906001600160a01b031633148015906109c3575082155b156109e557338460405163483f74db60e11b815260040161029f929190611dc0565b600084815260158301602052604081205460ff1690816001811115610a0c57610a0c611d70565b14610a2e5784816040516344b7587b60e01b815260040161029f929190611fe7565b610a4685610a3c6004610aa4565b61077e6006610aa4565b506002820154600160201b900460ff168015610a7b57506004610a6886610b98565b6009811115610a7957610a79611d70565b145b15610a9d5784816040516344b7587b60e01b815260040161029f929190611fe7565b5050505050565b6000816009811115610ab857610ab8611d70565b600160ff919091161b92915050565b600080610ad384610b98565b9050600083610ae183610aa4565b1603610b06578381846040516331b75e4d60e01b815260040161029f9392919061200b565b90505b92915050565b6000838152602b850160205260408120610b2891611a99565b60005b81811015610a9d576000848152602b860160205260409020838383818110610b5557610b55612033565b9050602002810190610b679190612049565b82546001810184556000938452602090932090920191610b879183611e3d565b50610b91816120a5565b9050610b2b565b600080610ba36106ea565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610bf857610bf8611d70565b03610c0a575060089695505050505050565b6002836002811115610c1e57610c1e611d70565b03610c30575060099695505050505050565b8115610c43575060069695505050505050565b8015610c56575060029695505050505050565b8360010154600003610c7e57604051636ad0607560e01b81526004810188905260240161029f565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906120be565b1015610d0f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e91906120d7565b65ffffffffffff1690506000610d9389610f3f565b9050610d9e8961110e565b610db15750600798975050505050505050565b818110610dc75750600198975050505050505050565b610dd08961113a565b1580610de25750610de089611198565b155b15610df65750600398975050505050505050565b610dff896111c0565b600003610e155750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9691906120ff565b15610eab575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1a91906120ff565b15610f2f575060069998505050505050505050565b5060029998505050505050505050565b600080610f4a6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fde91906120be565b1061107b576000610fed6106ea565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906120be565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f491906120be565b6110fd846111f2565b611107919061211c565b9392505050565b6000806111196106ea565b60009384526001016020525050604090206004810154600390910154101590565b6000806111456106ea565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061118e611177866111f2565b83600181111561118957611189611d70565b61159a565b1115949350505050565b6000806111a36106ea565b6000938452600f0160205250506040902080546001909101541190565b6000806111cb6106ea565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000806111fd6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129191906120be565b106112e95760006112a06106ea565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401611032565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135991906120be565b6000858152600180850160205260409091200154611377919061212f565b9050600061138660018361212f565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906120be565b6114099190612142565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148691906120be565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f591906120d7565b65ffffffffffff16811161157b5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157091906120d7565b65ffffffffffff1690505b82611586838361211c565b611590919061211c565b9695505050505050565b6000806115a56106ea565b905060646115b38585611636565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162291906120be565b61162c9190612142565b611073919061216f565b6000610b06838360ff16600181111561165157611651611d70565b60008061165c6106ea565b9050600081601801600085600181111561167857611678611d70565b600181111561168957611689611d70565b81526020810191909152604001600090812054915060188301818660018111156116b5576116b5611d70565b60018111156116c6576116c6611d70565b815260208101919091526040016000206116e160018461212f565b815481106116f1576116f1612033565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611737576001600160d01b03169450610b099350505050565b6117886117438961179d565b8660180160008a600181111561175b5761175b611d70565b600181111561176c5761176c611d70565b81526020019081526020016000206117d490919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff8211156117d0576040516306dfcc6560e41b8152603060048201526024810183905260440161029f565b5090565b8154600090818160058111156118335760006117ef8461188a565b6117f9908561212f565b60008881526020902090915081015465ffffffffffff908116908716101561182357809150611831565b61182e81600161211c565b92505b505b600061184187878585611972565b9050801561187c576118668761185860018461212f565b600091825260209091200190565b54600160301b90046001600160d01b031661187f565b60005b979650505050505050565b60008160000361189c57506000919050565b600060016118a9846119d4565b901c6001901b905060018184816118c2576118c2612159565b048201901c905060018184816118da576118da612159565b048201901c905060018184816118f2576118f2612159565b048201901c9050600181848161190a5761190a612159565b048201901c9050600181848161192257611922612159565b048201901c9050600181848161193a5761193a612159565b048201901c9050600181848161195257611952612159565b048201901c90506111078182858161196c5761196c612159565b04611a68565b60005b818310156119cc5760006119898484611a7e565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156119b8578092506119c6565b6119c381600161211c565b93505b50611975565b509392505050565b600080608083901c156119e957608092831c92015b604083901c156119fb57604092831c92015b602083901c15611a0d57602092831c92015b601083901c15611a1f57601092831c92015b600883901c15611a3157600892831c92015b600483901c15611a4357600492831c92015b600283901c15611a5557600292831c92015b600183901c15610b095760010192915050565b6000818310611a775781610b06565b5090919050565b6000611a8d600284841861216f565b610b069084841661211c565b5080546000825590600052602060002090810190611ab79190611aba565b50565b808211156117d0576000611ace8282611ad7565b50600101611aba565b508054611ae390611d86565b6000825580601f10611af3575050565b601f016020900490600052602060002090810190611ab791905b808211156117d05760008155600101611b0d565b600060208284031215611b3357600080fd5b5035919050565b60008083601f840112611b4c57600080fd5b5081356001600160401b03811115611b6357600080fd5b602083019150836020828501011115611b7b57600080fd5b9250929050565b60008083601f840112611b9457600080fd5b5081356001600160401b03811115611bab57600080fd5b6020830191508360208260051b8501011115611b7b57600080fd5b8015158114611ab757600080fd5b8035611bdf81611bc6565b919050565b600080600080600080600080600060c08a8c031215611c0257600080fd5b8935985060208a01356001600160a01b0381168114611c2057600080fd5b975060408a01356001600160401b0380821115611c3c57600080fd5b611c488d838e01611b3a565b909950975060608c0135915080821115611c6157600080fd5b611c6d8d838e01611b3a565b909750955060808c0135915080821115611c8657600080fd5b50611c938c828d01611b82565b9094509250611ca6905060a08b01611bd4565b90509295985092959850929598565b6000815180845260005b81811015611cdb57602081850181015186830182015201611cbf565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610b066020830184611cb5565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611d6357603f19888603018452611d51858351611cb5565b94509285019290850190600101611d35565b5092979650505050505050565b634e487b7160e01b600052602160045260246000fd5b600181811c90821680611d9a57607f821691505b602082108103611dba57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b601f82111561084a57600081815260208120601f850160051c81016020861015611e165750805b601f850160051c820191505b81811015611e3557828155600101611e22565b505050505050565b6001600160401b03831115611e5457611e54611dd9565b611e6883611e628354611d86565b83611def565b6000601f841160018114611e9c5760008515611e845750838201355b600019600387901b1c1916600186901b178355610a9d565b600083815260209020601f19861690835b82811015611ecd5786850135825560209485019460019092019101611ead565b5086821015611eea5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611f39604083018688611efc565b828103602084015261187f818587611efc565b60208082528181018390526000906040600585901b8401810190840186845b87811015611fda57868403603f190183528135368a9003601e19018112611f9157600080fd5b890185810190356001600160401b03811115611fac57600080fd5b803603821315611fbb57600080fd5b611fc6868284611efc565b955050509184019190840190600101611f6b565b5091979650505050505050565b8281526040810160028310611ffe57611ffe611d70565b8260208301529392505050565b83815260608101600a841061202257612022611d70565b602082019390935260400152919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261206057600080fd5b8301803591506001600160401b0382111561207a57600080fd5b602001915036819003821315611b7b57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b7576120b761208f565b5060010190565b6000602082840312156120d057600080fd5b5051919050565b6000602082840312156120e957600080fd5b815165ffffffffffff81168114610b0657600080fd5b60006020828403121561211157600080fd5b8151610b0681611bc6565b80820180821115610b0957610b0961208f565b81810381811115610b0957610b0961208f565b8082028115828204841417610b0957610b0961208f565b634e487b7160e01b600052601260045260246000fd5b60008261218c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122070a64416f6de954c0730435f445df20d19644fee9b3b1e4db67012b6ee393caf64736f6c63430008140033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c806301d6e78f146100a85780630a9c9f19146100ce57806316a19ad6146100f057806320132e5414610110578063229acb17146101335780634bb66439146101535780635452a01b1461015b5780635b16e25914610186578063656f3e40146101a65780638a69614e146101b9578063c305f59a146101d9575b600080fd5b6100bb6100b6366004611b21565b6101ec565b6040519081526020015b60405180910390f35b8180156100da57600080fd5b506100ee6100e9366004611be4565b61020a565b005b8180156100fc57600080fd5b506100ee61010b366004611be4565b610243565b61012361011e366004611b21565b61032e565b60405190151581526020016100c5565b610146610141366004611b21565b61034f565b6040516100c59190611cfb565b6100bb6103fb565b61016e610169366004611b21565b61040e565b6040516001600160a01b0390911681526020016100c5565b610199610194366004611b21565b610435565b6040516100c59190611d0e565b6101466101b4366004611b21565b61052a565b8180156101c557600080fd5b506100ee6101d4366004611b21565b610551565b6101236101e7366004611b21565b6106c9565b60006101f66106ea565b600092835260250160205250604090205490565b610214898261070e565b61021e89896107c0565b610228838361084f565b610238898989898989898961088a565b505050505050505050565b61024d898261098d565b61025789896107c0565b610261838361084f565b600061026b6106ea565b60008b815260278201602052604090205490915060ff16156102a857604051630e4ce86960e41b8152600481018b90526024015b60405180910390fd5b60008a81526027820160205260409020805460ff191660011790556102d38a8a8a8a8a8a8a8a61088a565b60008a8152601e82016020908152604091829020805460ff1916600117905590518b81527fae96d9c307786efa9d87d53b27b247aa9ef9c3640c4d5065fddc861c71684ab0910160405180910390a150505050505050505050565b60006103386106ea565b600092835260270160205250604090205460ff1690565b60606103596106ea565b600083815260299190910160205260409020805461037690611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546103a290611d86565b80156103ef5780601f106103c4576101008083540402835291602001916103ef565b820191906000526020600020905b8154815290600101906020018083116103d257829003601f168201915b50505050509050919050565b60006104056106ea565b60240154905090565b60006104186106ea565b60009283526026016020525060409020546001600160a01b031690565b606061043f6106ea565b602b016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561051f57838290600052602060002001805461049290611d86565b80601f01602080910402602001604051908101604052809291908181526020018280546104be90611d86565b801561050b5780601f106104e05761010080835404028352916020019161050b565b820191906000526020600020905b8154815290600101906020018083116104ee57829003601f168201915b505050505081526020019060010190610473565b505050509050919050565b60606105346106ea565b6000838152602a9190910160205260409020805461037690611d86565b600061055b6106ea565b90506105708261056b6009610aa4565b610ac7565b50600082815260288201602052604090205460ff16156105a6576040516331bfcd9f60e11b81526004810183905260240161029f565b600082815260268201602090815260408083205460258501909252909120546001600160a01b03909116908115806105dc575080155b156105fd57604051637b210ad760e11b81526004810185905260240161029f565b600084815260288401602052604090819020805460ff1916600117905560238401549051638e184b3f60e01b81526001600160a01b0390911690638e184b3f9061064d9085908590600401611dc0565b600060405180830381600087803b15801561066757600080fd5b505af115801561067b573d6000803e3d6000fd5b50505050816001600160a01b0316847fea09ed9ea14239b5e3188607c24cf3ee441615cfa1f8ff9dfeaf12f0a7949bc6836040516106bb91815260200190565b60405180910390a350505050565b60006106d36106ea565b600092835260280160205250604090205460ff1690565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b60006107186106ea565b600084815260018201602052604090208054919250906001600160a01b03163314801590610744575082155b1561076657338460405163483f74db60e11b815260040161029f929190611dc0565b610784846107746009610aa4565b61077e6008610aa4565b17610ac7565b50600084815260288301602052604090205460ff16156107ba576040516331bfcd9f60e11b81526004810185905260240161029f565b50505050565b60006107ca6106ea565b60008481526025919091016020526040902054905080158015906107f557506001600160a01b038216155b156108135760405163792ee9db60e11b815260040160405180910390fd5b8015801561082957506001600160a01b03821615155b1561084a57604051638667f7cb60e01b81526004810184905260240161029f565b505050565b60006108596106ea565b6024015490508082111561084a57604051631f3ca81760e11b8152600481018390526024810182905260440161029f565b60006108946106ea565b60008a8152602682016020908152604080832080546001600160a01b0319166001600160a01b038e161790556029840190915290209091506108d7878983611e3d565b506000898152602a8201602052604090206108f3858783611e3d565b50610900818a8585610b0f565b876001600160a01b0316897fe88c3dd4f40f87300587b77b8fd804224e789f0998e5421d84fc6641bc4206db898989896040516109409493929190611f25565b60405180910390a3887f73a685e17e09a2fbdba72e1aa6c2adf949b4025a58dcb463ce267875fb7ea3f1848460405161097a929190611f4c565b60405180910390a2505050505050505050565b60006109976106ea565b600084815260018201602052604090208054919250906001600160a01b031633148015906109c3575082155b156109e557338460405163483f74db60e11b815260040161029f929190611dc0565b600084815260158301602052604081205460ff1690816001811115610a0c57610a0c611d70565b14610a2e5784816040516344b7587b60e01b815260040161029f929190611fe7565b610a4685610a3c6004610aa4565b61077e6006610aa4565b506002820154600160201b900460ff168015610a7b57506004610a6886610b98565b6009811115610a7957610a79611d70565b145b15610a9d5784816040516344b7587b60e01b815260040161029f929190611fe7565b5050505050565b6000816009811115610ab857610ab8611d70565b600160ff919091161b92915050565b600080610ad384610b98565b9050600083610ae183610aa4565b1603610b06578381846040516331b75e4d60e01b815260040161029f9392919061200b565b90505b92915050565b6000838152602b850160205260408120610b2891611a99565b60005b81811015610a9d576000848152602b860160205260409020838383818110610b5557610b55612033565b9050602002810190610b679190612049565b82546001810184556000938452602090932090920191610b879183611e3d565b50610b91816120a5565b9050610b2b565b600080610ba36106ea565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610bf857610bf8611d70565b03610c0a575060089695505050505050565b6002836002811115610c1e57610c1e611d70565b03610c30575060099695505050505050565b8115610c43575060069695505050505050565b8015610c56575060029695505050505050565b8360010154600003610c7e57604051636ad0607560e01b81526004810188905260240161029f565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906120be565b1015610d0f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7e91906120d7565b65ffffffffffff1690506000610d9389610f3f565b9050610d9e8961110e565b610db15750600798975050505050505050565b818110610dc75750600198975050505050505050565b610dd08961113a565b1580610de25750610de089611198565b155b15610df65750600398975050505050505050565b610dff896111c0565b600003610e155750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9691906120ff565b15610eab575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610ef6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1a91906120ff565b15610f2f575060069998505050505050505050565b5060029998505050505050505050565b600080610f4a6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fde91906120be565b1061107b576000610fed6106ea565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa15801561104f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107391906120be565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f491906120be565b6110fd846111f2565b611107919061211c565b9392505050565b6000806111196106ea565b60009384526001016020525050604090206004810154600390910154101590565b6000806111456106ea565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061118e611177866111f2565b83600181111561118957611189611d70565b61159a565b1115949350505050565b6000806111a36106ea565b6000938452600f0160205250506040902080546001909101541190565b6000806111cb6106ea565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b6000806111fd6106ea565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129191906120be565b106112e95760006112a06106ea565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401611032565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135991906120be565b6000858152600180850160205260409091200154611377919061212f565b9050600061138660018361212f565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff91906120be565b6114099190612142565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148691906120be565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f591906120d7565b65ffffffffffff16811161157b5773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561154c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157091906120d7565b65ffffffffffff1690505b82611586838361211c565b611590919061211c565b9695505050505050565b6000806115a56106ea565b905060646115b38585611636565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162291906120be565b61162c9190612142565b611073919061216f565b6000610b06838360ff16600181111561165157611651611d70565b60008061165c6106ea565b9050600081601801600085600181111561167857611678611d70565b600181111561168957611689611d70565b81526020810191909152604001600090812054915060188301818660018111156116b5576116b5611d70565b60018111156116c6576116c6611d70565b815260208101919091526040016000206116e160018461212f565b815481106116f1576116f1612033565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611737576001600160d01b03169450610b099350505050565b6117886117438961179d565b8660180160008a600181111561175b5761175b611d70565b600181111561176c5761176c611d70565b81526020019081526020016000206117d490919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff8211156117d0576040516306dfcc6560e41b8152603060048201526024810183905260440161029f565b5090565b8154600090818160058111156118335760006117ef8461188a565b6117f9908561212f565b60008881526020902090915081015465ffffffffffff908116908716101561182357809150611831565b61182e81600161211c565b92505b505b600061184187878585611972565b9050801561187c576118668761185860018461212f565b600091825260209091200190565b54600160301b90046001600160d01b031661187f565b60005b979650505050505050565b60008160000361189c57506000919050565b600060016118a9846119d4565b901c6001901b905060018184816118c2576118c2612159565b048201901c905060018184816118da576118da612159565b048201901c905060018184816118f2576118f2612159565b048201901c9050600181848161190a5761190a612159565b048201901c9050600181848161192257611922612159565b048201901c9050600181848161193a5761193a612159565b048201901c9050600181848161195257611952612159565b048201901c90506111078182858161196c5761196c612159565b04611a68565b60005b818310156119cc5760006119898484611a7e565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156119b8578092506119c6565b6119c381600161211c565b93505b50611975565b509392505050565b600080608083901c156119e957608092831c92015b604083901c156119fb57604092831c92015b602083901c15611a0d57602092831c92015b601083901c15611a1f57601092831c92015b600883901c15611a3157600892831c92015b600483901c15611a4357600492831c92015b600283901c15611a5557600292831c92015b600183901c15610b095760010192915050565b6000818310611a775781610b06565b5090919050565b6000611a8d600284841861216f565b610b069084841661211c565b5080546000825590600052602060002090810190611ab79190611aba565b50565b808211156117d0576000611ace8282611ad7565b50600101611aba565b508054611ae390611d86565b6000825580601f10611af3575050565b601f016020900490600052602060002090810190611ab791905b808211156117d05760008155600101611b0d565b600060208284031215611b3357600080fd5b5035919050565b60008083601f840112611b4c57600080fd5b5081356001600160401b03811115611b6357600080fd5b602083019150836020828501011115611b7b57600080fd5b9250929050565b60008083601f840112611b9457600080fd5b5081356001600160401b03811115611bab57600080fd5b6020830191508360208260051b8501011115611b7b57600080fd5b8015158114611ab757600080fd5b8035611bdf81611bc6565b919050565b600080600080600080600080600060c08a8c031215611c0257600080fd5b8935985060208a01356001600160a01b0381168114611c2057600080fd5b975060408a01356001600160401b0380821115611c3c57600080fd5b611c488d838e01611b3a565b909950975060608c0135915080821115611c6157600080fd5b611c6d8d838e01611b3a565b909750955060808c0135915080821115611c8657600080fd5b50611c938c828d01611b82565b9094509250611ca6905060a08b01611bd4565b90509295985092959850929598565b6000815180845260005b81811015611cdb57602081850181015186830182015201611cbf565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610b066020830184611cb5565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611d6357603f19888603018452611d51858351611cb5565b94509285019290850190600101611d35565b5092979650505050505050565b634e487b7160e01b600052602160045260246000fd5b600181811c90821680611d9a57607f821691505b602082108103611dba57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b601f82111561084a57600081815260208120601f850160051c81016020861015611e165750805b601f850160051c820191505b81811015611e3557828155600101611e22565b505050505050565b6001600160401b03831115611e5457611e54611dd9565b611e6883611e628354611d86565b83611def565b6000601f841160018114611e9c5760008515611e845750838201355b600019600387901b1c1916600186901b178355610a9d565b600083815260209020601f19861690835b82811015611ecd5786850135825560209485019460019092019101611ead565b5086821015611eea5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611f39604083018688611efc565b828103602084015261187f818587611efc565b60208082528181018390526000906040600585901b8401810190840186845b87811015611fda57868403603f190183528135368a9003601e19018112611f9157600080fd5b890185810190356001600160401b03811115611fac57600080fd5b803603821315611fbb57600080fd5b611fc6868284611efc565b955050509184019190840190600101611f6b565b5091979650505050505050565b8281526040810160028310611ffe57611ffe611d70565b8260208301529392505050565b83815260608101600a841061202257612022611d70565b602082019390935260400152919050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261206057600080fd5b8301803591506001600160401b0382111561207a57600080fd5b602001915036819003821315611b7b57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b7576120b761208f565b5060010190565b6000602082840312156120d057600080fd5b5051919050565b6000602082840312156120e957600080fd5b815165ffffffffffff81168114610b0657600080fd5b60006020828403121561211157600080fd5b8151610b0681611bc6565b80820180821115610b0957610b0961208f565b81810381811115610b0957610b0961208f565b8082028115828204841417610b0957610b0961208f565b634e487b7160e01b600052601260045260246000fd5b60008261218c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122070a64416f6de954c0730435f445df20d19644fee9b3b1e4db67012b6ee393caf64736f6c63430008140033",
"linkReferences": {
"contracts/governance/libraries/GovernorClockLogic.sol": {
"GovernorClockLogic": [
{
"length": 20,
"start": 3405
},
{
"length": 20,
"start": 5316
},
{
"length": 20,
"start": 5439
}
]
}
},
"deployedLinkReferences": {
"contracts/governance/libraries/GovernorClockLogic.sol": {
"GovernorClockLogic": [
{
"length": 20,
"start": 3347
},
{
"length": 20,
"start": 5258
},
{
"length": 20,
"start": 5381
}
]
}
}
}