UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

113 lines (112 loc) 19.9 kB
{ "_format": "hh-sol-artifact-1", "contractName": "GovernorStateLogic", "sourceName": "contracts/governance/libraries/GovernorStateLogic.sol", "abi": [ { "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "GovernorNonexistentProposal", "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": [ { "internalType": "uint8", "name": "bits", "type": "uint8" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "SafeCastOverflowedUintDowncast", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "state", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x61111861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80633e4f49e61461003a575b600080fd5b61004d610048366004610faf565b610063565b60405160ff909116815260200160405180910390f35b600061006e82610085565b600981111561007f5761007f610fc8565b92915050565b600080610090610431565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b90920416908360028111156100e5576100e5610fc8565b036100f7575060089695505050505050565b600283600281111561010b5761010b610fc8565b0361011d575060099695505050505050565b8115610130575060069695505050505050565b8015610143575060029695505050505050565b836001015460000361017057604051636ad0607560e01b8152600481018890526024015b60405180910390fd5b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610fde565b1015610201575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610ff7565b65ffffffffffff169050600061028589610455565b905061029089610624565b6102a35750600798975050505050505050565b8181106102b95750600198975050505050505050565b6102c289610650565b15806102d457506102d2896106ae565b155b156102e85750600398975050505050505050565b6102f1896106d6565b6000036103075750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610388919061101f565b1561039d575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c919061101f565b15610421575060069998505050505050505050565b5060029998505050505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600080610460610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610fde565b10610591576000610503610431565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610fde565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610fde565b61061384610708565b61061d9190611057565b9392505050565b60008061062f610431565b60009384526001016020525050604090206004810154600390910154101590565b60008061065b610431565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906106a461068d86610708565b83600181111561069f5761069f610fc8565b610ab0565b1115949350505050565b6000806106b9610431565b6000938452600f0160205250506040902080546001909101541190565b6000806106e1610431565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080610713610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610fde565b106107ff5760006107b6610431565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401610548565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f9190610fde565b600085815260018085016020526040909120015461088d919061106a565b9050600061089c60018361106a565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190610fde565b61091f919061107d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190610fde565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b9190610ff7565b65ffffffffffff168111610a915773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190610ff7565b65ffffffffffff1690505b82610a9c8383611057565b610aa69190611057565b9695505050505050565b600080610abb610431565b90506064610ac98585610b4c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b389190610fde565b610b42919061107d565b61058991906110aa565b600061061d838360ff166001811115610b6757610b67610fc8565b600080610b72610431565b90506000816018016000856001811115610b8e57610b8e610fc8565b6001811115610b9f57610b9f610fc8565b8152602081019190915260400160009081205491506018830181866001811115610bcb57610bcb610fc8565b6001811115610bdc57610bdc610fc8565b81526020810191909152604001600020610bf760018461106a565b81548110610c0757610c076110cc565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610c4d576001600160d01b0316945061007f9350505050565b610c9e610c5989610cb3565b8660180160008a6001811115610c7157610c71610fc8565b6001811115610c8257610c82610fc8565b8152602001908152602001600020610cea90919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff821115610ce6576040516306dfcc6560e41b81526030600482015260248101839052604401610167565b5090565b815460009081816005811115610d49576000610d0584610da0565b610d0f908561106a565b60008881526020902090915081015465ffffffffffff9081169087161015610d3957809150610d47565b610d44816001611057565b92505b505b6000610d5787878585610e88565b90508015610d9257610d7c87610d6e60018461106a565b600091825260209091200190565b54600160301b90046001600160d01b0316610d95565b60005b979650505050505050565b600081600003610db257506000919050565b60006001610dbf84610eea565b901c6001901b90506001818481610dd857610dd8611094565b048201901c90506001818481610df057610df0611094565b048201901c90506001818481610e0857610e08611094565b048201901c90506001818481610e2057610e20611094565b048201901c90506001818481610e3857610e38611094565b048201901c90506001818481610e5057610e50611094565b048201901c90506001818481610e6857610e68611094565b048201901c905061061d81828581610e8257610e82611094565b04610f7e565b60005b81831015610ee2576000610e9f8484610f94565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ece57809250610edc565b610ed9816001611057565b93505b50610e8b565b509392505050565b600080608083901c15610eff57608092831c92015b604083901c15610f1157604092831c92015b602083901c15610f2357602092831c92015b601083901c15610f3557601092831c92015b600883901c15610f4757600892831c92015b600483901c15610f5957600492831c92015b600283901c15610f6b57600292831c92015b600183901c1561007f5760010192915050565b6000818310610f8d578161061d565b5090919050565b6000610fa360028484186110aa565b61061d90848416611057565b600060208284031215610fc157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610ff057600080fd5b5051919050565b60006020828403121561100957600080fd5b815165ffffffffffff8116811461061d57600080fd5b60006020828403121561103157600080fd5b8151801515811461061d57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561007f5761007f611041565b8181038181111561007f5761007f611041565b808202811582820484141761007f5761007f611041565b634e487b7160e01b600052601260045260246000fd5b6000826110c757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220adee2b7230f17dd9439e4b221fbe0ca4c725fdc47da04097beb1235ae3473cb664736f6c63430008140033", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80633e4f49e61461003a575b600080fd5b61004d610048366004610faf565b610063565b60405160ff909116815260200160405180910390f35b600061006e82610085565b600981111561007f5761007f610fc8565b92915050565b600080610090610431565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b90920416908360028111156100e5576100e5610fc8565b036100f7575060089695505050505050565b600283600281111561010b5761010b610fc8565b0361011d575060099695505050505050565b8115610130575060069695505050505050565b8015610143575060029695505050505050565b836001015460000361017057604051636ad0607560e01b8152600481018890526024015b60405180910390fd5b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610fde565b1015610201575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190610ff7565b65ffffffffffff169050600061028589610455565b905061029089610624565b6102a35750600798975050505050505050565b8181106102b95750600198975050505050505050565b6102c289610650565b15806102d457506102d2896106ae565b155b156102e85750600398975050505050505050565b6102f1896106d6565b6000036103075750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610364573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610388919061101f565b1561039d575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156103e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040c919061101f565b15610421575060069998505050505050505050565b5060029998505050505050505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600080610460610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610fde565b10610591576000610503610431565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610fde565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610fde565b61061384610708565b61061d9190611057565b9392505050565b60008061062f610431565b60009384526001016020525050604090206004810154600390910154101590565b60008061065b610431565b6000848152601582016020908152604080832054601185019092529091205491925060ff16906106a461068d86610708565b83600181111561069f5761069f610fc8565b610ab0565b1115949350505050565b6000806106b9610431565b6000938452600f0160205250506040902080546001909101541190565b6000806106e1610431565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080610713610431565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610fde565b106107ff5760006107b6610431565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda90602401610548565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa15801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086f9190610fde565b600085815260018085016020526040909120015461088d919061106a565b9050600061089c60018361106a565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190610fde565b61091f919061107d565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190610fde565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b9190610ff7565b65ffffffffffff168111610a915773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190610ff7565b65ffffffffffff1690505b82610a9c8383611057565b610aa69190611057565b9695505050505050565b600080610abb610431565b90506064610ac98585610b4c565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b389190610fde565b610b42919061107d565b61058991906110aa565b600061061d838360ff166001811115610b6757610b67610fc8565b600080610b72610431565b90506000816018016000856001811115610b8e57610b8e610fc8565b6001811115610b9f57610b9f610fc8565b8152602081019190915260400160009081205491506018830181866001811115610bcb57610bcb610fc8565b6001811115610bdc57610bdc610fc8565b81526020810191909152604001600020610bf760018461106a565b81548110610c0757610c076110cc565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211610c4d576001600160d01b0316945061007f9350505050565b610c9e610c5989610cb3565b8660180160008a6001811115610c7157610c71610fc8565b6001811115610c8257610c82610fc8565b8152602001908152602001600020610cea90919063ffffffff16565b6001600160d01b031698975050505050505050565b600065ffffffffffff821115610ce6576040516306dfcc6560e41b81526030600482015260248101839052604401610167565b5090565b815460009081816005811115610d49576000610d0584610da0565b610d0f908561106a565b60008881526020902090915081015465ffffffffffff9081169087161015610d3957809150610d47565b610d44816001611057565b92505b505b6000610d5787878585610e88565b90508015610d9257610d7c87610d6e60018461106a565b600091825260209091200190565b54600160301b90046001600160d01b0316610d95565b60005b979650505050505050565b600081600003610db257506000919050565b60006001610dbf84610eea565b901c6001901b90506001818481610dd857610dd8611094565b048201901c90506001818481610df057610df0611094565b048201901c90506001818481610e0857610e08611094565b048201901c90506001818481610e2057610e20611094565b048201901c90506001818481610e3857610e38611094565b048201901c90506001818481610e5057610e50611094565b048201901c90506001818481610e6857610e68611094565b048201901c905061061d81828581610e8257610e82611094565b04610f7e565b60005b81831015610ee2576000610e9f8484610f94565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610ece57809250610edc565b610ed9816001611057565b93505b50610e8b565b509392505050565b600080608083901c15610eff57608092831c92015b604083901c15610f1157604092831c92015b602083901c15610f2357602092831c92015b601083901c15610f3557601092831c92015b600883901c15610f4757600892831c92015b600483901c15610f5957600492831c92015b600283901c15610f6b57600292831c92015b600183901c1561007f5760010192915050565b6000818310610f8d578161061d565b5090919050565b6000610fa360028484186110aa565b61061d90848416611057565b600060208284031215610fc157600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610ff057600080fd5b5051919050565b60006020828403121561100957600080fd5b815165ffffffffffff8116811461061d57600080fd5b60006020828403121561103157600080fd5b8151801515811461061d57600080fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561007f5761007f611041565b8181038181111561007f5761007f611041565b808202811582820484141761007f5761007f611041565b634e487b7160e01b600052601260045260246000fd5b6000826110c757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220adee2b7230f17dd9439e4b221fbe0ca4c725fdc47da04097beb1235ae3473cb664736f6c63430008140033", "linkReferences": { "contracts/governance/libraries/GovernorClockLogic.sol": { "GovernorClockLogic": [ { "length": 20, "start": 575 }, { "length": 20, "start": 2522 }, { "length": 20, "start": 2645 } ] } }, "deployedLinkReferences": { "contracts/governance/libraries/GovernorClockLogic.sol": { "GovernorClockLogic": [ { "length": 20, "start": 517 }, { "length": 20, "start": 2464 }, { "length": 20, "start": 2587 } ] } } }