@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
267 lines (266 loc) • 36.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "GovernorDepositLogic",
"sourceName": "contracts/governance/libraries/GovernorDepositLogic.sol",
"abi": [
{
"inputs": [],
"name": "CheckpointUnorderedInsertion",
"type": "error"
},
{
"inputs": [],
"name": "GovernorInvalidDepositAmount",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"internalType": "address",
"name": "depositer",
"type": "address"
}
],
"name": "GovernorNoDepositToWithdraw",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GovernorNonexistentProposal",
"type": "error"
},
{
"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": "uint256",
"name": "proposalId",
"type": "uint256"
}
],
"name": "GranteeCannotDepositOwnGrant",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "bits",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "SafeCastOverflowedUintDowncast",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "depositor",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "ProposalDeposit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "withdrawer",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "proposalId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "ProposalWithdraw",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "proposalTypeValue",
"type": "uint8"
}
],
"name": "depositThresholdByProposalType",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "timepoint",
"type": "uint256"
}
],
"name": "getDepositVotingPower",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x611e8c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062f714ce1461005a5780636b6a07041461007c578063a56b5765146100a1578063e2bbb158146100b4575b600080fd5b81801561006657600080fd5b5061007a610075366004611ab6565b6100d4565b005b61008f61008a366004611ae2565b6103c4565b60405190815260200160405180910390f35b61008f6100af366004611b05565b6103e9565b8180156100c057600080fd5b5061007a6100cf366004611b2f565b610433565b60006100de610535565b6000848152600d8201602090815260408083206001600160a01b038716845290915281205491925061013d90859061011590610559565b6001610122600982611b7d565b61012d906002611c7a565b6101379190611c89565b1861057c565b5080600003610176576040516315fb458d60e01b8152600481018590526001600160a01b03841660248201526044015b60405180910390fd5b6000848152600d8301602090815260408083206001600160a01b0387168452825280832083905580516324776b7d60e21b8152905161022f9273__$3618b725599b71188fd71e0b940aaf7176$__926391ddadf492600480830193928290030181865af41580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f9190611c9c565b6001600160a01b0386166000908152601d860160205260409020906105c2565b9050600061024e610249846001600160d01b038516611c89565b610678565b90506102e173__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190611c9c565b6001600160a01b0387166000908152601d87016020526040902090836106b0565b5050600c84015460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190611cc4565b6103785760405162461bcd60e51b815260040161016d90611ce6565b85856001600160a01b03167ffbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1856040516103b491815260200190565b60405180910390a3505050505050565b60006103e38260ff1660018111156103de576103de611b51565b6106cb565b92915050565b6000806103f4610535565b905061042261040284610799565b6001600160a01b0386166000908152601d840160205260409020906105c2565b6001600160d01b0316949350505050565b600061043d610535565b9050826000036104605760405163c22b340f60e01b815260040160405180910390fd5b60008281526001808301602052604082209081015490910361049857604051636ad0607560e01b81526004810184905260240161016d565b80546001600160a01b0316331480156104d557506001600084815260158401602052604090205460ff1660018111156104d3576104d3611b51565b145b156104f657604051633c23a8d760e11b81526004810184905260240161016d565b610509836105046000610559565b61057c565b508381600301600082825461051e9190611d1d565b9091555061052f90508433856107cc565b50505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600081600981111561056d5761056d611b51565b600160ff919091161b92915050565b60008061058884610a28565b905060008361059683610559565b16036105bb578381846040516331b75e4d60e01b815260040161016d93929190611d30565b9392505050565b8154600090818160058111156106215760006105dd84610dcf565b6105e79085611c89565b60008881526020902090915081015465ffffffffffff90811690871610156106115780915061061f565b61061c816001611d1d565b92505b505b600061062f87878585610eb7565b9050801561066a5761065487610646600184611c89565b600091825260209091200190565b54600160301b90046001600160d01b031661066d565b60005b979650505050505050565b60006001600160d01b038211156106ac576040516306dfcc6560e41b815260d060048201526024810183905260440161016d565b5090565b6000806106be858585610f11565b915091505b935093915050565b6000806106d6610535565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611d66565b61075e8661108b565b6107689190611d7f565b6107729190611dac565b9050600061077f856110fd565b90508082111561079157949350505050565b509392505050565b600065ffffffffffff8211156106ac576040516306dfcc6560e41b8152603060048201526024810183905260440161016d565b60006107d6610535565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190611cc4565b6108735760405162461bcd60e51b815260040161016d90611ce6565b6000828152600d8201602090815260408083206001600160a01b0387168452909152812080548692906108a7908490611d1d565b92505081905550600061094073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611c9c565b6001600160a01b0386166000908152601d850160205260409020906105c2565b9050600061094d86610678565b6109579083611dce565b90506109ea73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611c9c565b6001600160a01b0387166000908152601d86016020526040902090836106b0565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516103b491815260200190565b600080610a33610535565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610a8857610a88611b51565b03610a9a575060089695505050505050565b6002836002811115610aae57610aae611b51565b03610ac0575060099695505050505050565b8115610ad3575060069695505050505050565b8015610ae6575060029695505050505050565b8360010154600003610b0e57604051636ad0607560e01b81526004810188905260240161016d565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190611d66565b1015610b9f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611c9c565b65ffffffffffff1690506000610c2389611147565b9050610c2e8961130f565b610c415750600798975050505050505050565b818110610c575750600198975050505050505050565b610c608961133b565b1580610c725750610c7089611399565b155b15610c865750600398975050505050505050565b610c8f896113c1565b600003610ca55750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611cc4565b15610d3b575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611cc4565b15610dbf575060069998505050505050505050565b5060029998505050505050505050565b600081600003610de157506000919050565b60006001610dee846113f3565b901c6001901b90506001818481610e0757610e07611d96565b048201901c90506001818481610e1f57610e1f611d96565b048201901c90506001818481610e3757610e37611d96565b048201901c90506001818481610e4f57610e4f611d96565b048201901c90506001818481610e6757610e67611d96565b048201901c90506001818481610e7f57610e7f611d96565b048201901c90506001818481610e9757610e97611d96565b048201901c90506105bb81828581610eb157610eb1611d96565b04611487565b60005b81831015610791576000610ece848461149d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610efd57809250610f0b565b610f08816001611d1d565b93505b50610eba565b825460009081908015611030576000610f2f87610646600185611c89565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fcf5784610fa688610646600186611c89565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611020565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506106c39050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816106c3565b600080611096610535565b90506110a1836114b8565b6110bd5760405162461bcd60e51b815260040161016d90611df5565b8060160160008460018111156110d5576110d5611b51565b60018111156110e6576110e6611b51565b815260200190815260200160002054915050919050565b600080611108610535565b9050611113836114b8565b61112f5760405162461bcd60e51b815260040161016d90611df5565b8060190160008460018111156110d5576110d5611b51565b600080611152610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190611d66565b106112835760006111f5610535565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611d66565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611d66565b611305846114ef565b6105bb9190611d1d565b60008061131a610535565b60009384526001016020525050604090206004810154600390910154101590565b600080611346610535565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061138f611378866114ef565b83600181111561138a5761138a611b51565b611897565b1115949350505050565b6000806113a4610535565b6000938452600f0160205250506040902080546001909101541190565b6000806113cc610535565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080608083901c1561140857608092831c92015b604083901c1561141a57604092831c92015b602083901c1561142c57602092831c92015b601083901c1561143e57601092831c92015b600883901c1561145057600892831c92015b600483901c1561146257600492831c92015b600283901c1561147457600292831c92015b600183901c156103e35760010192915050565b600081831061149657816105bb565b5090919050565b60006114ac6002848418611dac565b6105bb90848416611d1d565b6000808260018111156114cd576114cd611b51565b14806103e3575060018260018111156114e8576114e8611b51565b1492915050565b6000806114fa610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190611d66565b106115e657600061159d610535565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda9060240161123a565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190611d66565b60008581526001808501602052604090912001546116749190611c89565b90506000611683600183611c89565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190611d66565b6117069190611d7f565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d66565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190611c9c565b65ffffffffffff1681116118785773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186d9190611c9c565b65ffffffffffff1690505b826118838383611d1d565b61188d9190611d1d565b9695505050505050565b6000806118a2610535565b905060646118b08585611933565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156118fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191f9190611d66565b6119299190611d7f565b61127b9190611dac565b60006105bb838360ff16600181111561194e5761194e611b51565b600080611959610535565b9050600081601801600085600181111561197557611975611b51565b600181111561198657611986611b51565b81526020810191909152604001600090812054915060188301818660018111156119b2576119b2611b51565b60018111156119c3576119c3611b51565b815260208101919091526040016000206119de600184611c89565b815481106119ee576119ee611e40565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611a34576001600160d01b031694506103e39350505050565b611a85611a4089610799565b8660180160008a6001811115611a5857611a58611b51565b6001811115611a6957611a69611b51565b81526020019081526020016000206105c290919063ffffffff16565b6001600160d01b031698975050505050505050565b80356001600160a01b0381168114611ab157600080fd5b919050565b60008060408385031215611ac957600080fd5b82359150611ad960208401611a9a565b90509250929050565b600060208284031215611af457600080fd5b813560ff811681146105bb57600080fd5b60008060408385031215611b1857600080fd5b611b2183611a9a565b946020939093013593505050565b60008060408385031215611b4257600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156103e3576103e3611b67565b600181815b80851115611bd1578160001904821115611bb757611bb7611b67565b80851615611bc457918102915b93841c9390800290611b9b565b509250929050565b600082611be8575060016103e3565b81611bf5575060006103e3565b8160018114611c0b5760028114611c1557611c31565b60019150506103e3565b60ff841115611c2657611c26611b67565b50506001821b6103e3565b5060208310610133831016604e8410600b8410161715611c54575081810a6103e3565b611c5e8383611b96565b8060001904821115611c7257611c72611b67565b029392505050565b60006105bb60ff841683611bd9565b818103818111156103e3576103e3611b67565b600060208284031215611cae57600080fd5b815165ffffffffffff811681146105bb57600080fd5b600060208284031215611cd657600080fd5b815180151581146105bb57600080fd5b6020808252601d908201527f42335452476f7665726e6f723a207472616e73666572206661696c6564000000604082015260600190565b808201808211156103e3576103e3611b67565b83815260608101600a8410611d5557634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b600060208284031215611d7857600080fd5b5051919050565b80820281158282048414176103e3576103e3611b67565b634e487b7160e01b600052601260045260246000fd5b600082611dc957634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b03818116838216019080821115611dee57611dee611b67565b5092915050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122085ba1380d199b075eb171ef8f7d0547fcea0a8e5195b03296a1b7596c5b0488964736f6c63430008140033",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062f714ce1461005a5780636b6a07041461007c578063a56b5765146100a1578063e2bbb158146100b4575b600080fd5b81801561006657600080fd5b5061007a610075366004611ab6565b6100d4565b005b61008f61008a366004611ae2565b6103c4565b60405190815260200160405180910390f35b61008f6100af366004611b05565b6103e9565b8180156100c057600080fd5b5061007a6100cf366004611b2f565b610433565b60006100de610535565b6000848152600d8201602090815260408083206001600160a01b038716845290915281205491925061013d90859061011590610559565b6001610122600982611b7d565b61012d906002611c7a565b6101379190611c89565b1861057c565b5080600003610176576040516315fb458d60e01b8152600481018590526001600160a01b03841660248201526044015b60405180910390fd5b6000848152600d8301602090815260408083206001600160a01b0387168452825280832083905580516324776b7d60e21b8152905161022f9273__$3618b725599b71188fd71e0b940aaf7176$__926391ddadf492600480830193928290030181865af41580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f9190611c9c565b6001600160a01b0386166000908152601d860160205260409020906105c2565b9050600061024e610249846001600160d01b038516611c89565b610678565b90506102e173__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af415801561029c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c09190611c9c565b6001600160a01b0387166000908152601d87016020526040902090836106b0565b5050600c84015460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190611cc4565b6103785760405162461bcd60e51b815260040161016d90611ce6565b85856001600160a01b03167ffbe8f0867e2424d124a83f2a1d534d784a8bb780b73b22f3f1032daffb603fa1856040516103b491815260200190565b60405180910390a3505050505050565b60006103e38260ff1660018111156103de576103de611b51565b6106cb565b92915050565b6000806103f4610535565b905061042261040284610799565b6001600160a01b0386166000908152601d840160205260409020906105c2565b6001600160d01b0316949350505050565b600061043d610535565b9050826000036104605760405163c22b340f60e01b815260040160405180910390fd5b60008281526001808301602052604082209081015490910361049857604051636ad0607560e01b81526004810184905260240161016d565b80546001600160a01b0316331480156104d557506001600084815260158401602052604090205460ff1660018111156104d3576104d3611b51565b145b156104f657604051633c23a8d760e11b81526004810184905260240161016d565b610509836105046000610559565b61057c565b508381600301600082825461051e9190611d1d565b9091555061052f90508433856107cc565b50505050565b7fd09a0aaf4ab3087bae7fa25ef74ddd4e5a4950980903ce417e66228cf7dc7b0090565b600081600981111561056d5761056d611b51565b600160ff919091161b92915050565b60008061058884610a28565b905060008361059683610559565b16036105bb578381846040516331b75e4d60e01b815260040161016d93929190611d30565b9392505050565b8154600090818160058111156106215760006105dd84610dcf565b6105e79085611c89565b60008881526020902090915081015465ffffffffffff90811690871610156106115780915061061f565b61061c816001611d1d565b92505b505b600061062f87878585610eb7565b9050801561066a5761065487610646600184611c89565b600091825260209091200190565b54600160301b90046001600160d01b031661066d565b60005b979650505050505050565b60006001600160d01b038211156106ac576040516306dfcc6560e41b815260d060048201526024810183905260440161016d565b5090565b6000806106be858585610f11565b915091505b935093915050565b6000806106d6610535565b90506000606482600b0160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611d66565b61075e8661108b565b6107689190611d7f565b6107729190611dac565b9050600061077f856110fd565b90508082111561079157949350505050565b509392505050565b600065ffffffffffff8211156106ac576040516306dfcc6560e41b8152603060048201526024810183905260440161016d565b60006107d6610535565b600c8101546040516323b872dd60e01b81526001600160a01b038681166004830152306024830152604482018890529293509116906323b872dd906064016020604051808303816000875af1158015610833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108579190611cc4565b6108735760405162461bcd60e51b815260040161016d90611ce6565b6000828152600d8201602090815260408083206001600160a01b0387168452909152812080548692906108a7908490611d1d565b92505081905550600061094073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190611c9c565b6001600160a01b0386166000908152601d850160205260409020906105c2565b9050600061094d86610678565b6109579083611dce565b90506109ea73__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611c9c565b6001600160a01b0387166000908152601d86016020526040902090836106b0565b505083856001600160a01b03167f65c1df56bba34c409163f3295407ab399df5a4d9bf3dd0288416d6041cdc272c886040516103b491815260200190565b600080610a33610535565b6000848152600180830160209081526040808420601e8601909252909220546002830154939450919260ff92831692600160281b8204811692600160301b9092041690836002811115610a8857610a88611b51565b03610a9a575060089695505050505050565b6002836002811115610aae57610aae611b51565b03610ac0575060099695505050505050565b8115610ad3575060069695505050505050565b8015610ae6575060029695505050505050565b8360010154600003610b0e57604051636ad0607560e01b81526004810188905260240161016d565b836001015485600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8c9190611d66565b1015610b9f575060009695505050505050565b600073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611c9c565b65ffffffffffff1690506000610c2389611147565b9050610c2e8961130f565b610c415750600798975050505050505050565b818110610c575750600198975050505050505050565b610c608961133b565b1580610c725750610c7089611399565b155b15610c865750600398975050505050505050565b610c8f896113c1565b600003610ca55750600498975050505050505050565b6000898152600788016020526040908190205460068901549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015610d02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d269190611cc4565b15610d3b575060059998505050505050505050565b6006880154604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611cc4565b15610dbf575060069998505050505050505050565b5060029998505050505050505050565b600081600003610de157506000919050565b60006001610dee846113f3565b901c6001901b90506001818481610e0757610e07611d96565b048201901c90506001818481610e1f57610e1f611d96565b048201901c90506001818481610e3757610e37611d96565b048201901c90506001818481610e4f57610e4f611d96565b048201901c90506001818481610e6757610e67611d96565b048201901c90506001818481610e7f57610e7f611d96565b048201901c90506001818481610e9757610e97611d96565b048201901c90506105bb81828581610eb157610eb1611d96565b04611487565b60005b81831015610791576000610ece848461149d565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610efd57809250610f0b565b610f08816001611d1d565b93505b50610eba565b825460009081908015611030576000610f2f87610646600185611c89565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015610f8357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603610fcf5784610fa688610646600186611c89565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611020565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506106c39050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816106c3565b600080611096610535565b90506110a1836114b8565b6110bd5760405162461bcd60e51b815260040161016d90611df5565b8060160160008460018111156110d5576110d5611b51565b60018111156110e6576110e6611b51565b815260200190815260200160002054915050919050565b600080611108610535565b9050611113836114b8565b61112f5760405162461bcd60e51b815260040161016d90611df5565b8060190160008460018111156110d5576110d5611b51565b600080611152610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e69190611d66565b106112835760006111f5610535565b600a810154600086815260018084016020526040918290200154905163d3a368bd60e01b815260048101919091529192506001600160a01b03169063d3a368bd906024015b602060405180830381865afa158015611257573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127b9190611d66565b949350505050565b80600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190611d66565b611305846114ef565b6105bb9190611d1d565b60008061131a610535565b60009384526001016020525050604090206004810154600390910154101590565b600080611346610535565b6000848152601582016020908152604080832054601185019092529091205491925060ff169061138f611378866114ef565b83600181111561138a5761138a611b51565b611897565b1115949350505050565b6000806113a4610535565b6000938452600f0160205250506040902080546001909101541190565b6000806113cc610535565b600093845260010160205250506040902060020154600160381b900465ffffffffffff1690565b600080608083901c1561140857608092831c92015b604083901c1561141a57604092831c92015b602083901c1561142c57602092831c92015b601083901c1561143e57601092831c92015b600883901c1561145057600892831c92015b600483901c1561146257600492831c92015b600283901c1561147457600292831c92015b600183901c156103e35760010192915050565b600081831061149657816105bb565b5090919050565b60006114ac6002848418611dac565b6105bb90848416611d1d565b6000808260018111156114cd576114cd611b51565b14806103e3575060018260018111156114e8576114e8611b51565b1492915050565b6000806114fa610535565b90508060010160008481526020019081526020016000206001015481600a0160009054906101000a90046001600160a01b03166001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190611d66565b106115e657600061159d610535565b600a81015460008681526001808401602052604091829020015490516368377f6d60e11b815260048101919091529192506001600160a01b03169063d06efeda9060240161123a565b600a81015460408051639cbe5efd60e01b815290516000926001600160a01b031691639cbe5efd9160048083019260209291908290030181865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190611d66565b60008581526001808501602052604090912001546116749190611c89565b90506000611683600183611c89565b83600a0160009054906101000a90046001600160a01b03166001600160a01b03166302a251a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190611d66565b6117069190611d7f565b9050600083600a0160009054906101000a90046001600160a01b03166001600160a01b031663593728126040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d66565b905073__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190611c9c565b65ffffffffffff1681116118785773__$3618b725599b71188fd71e0b940aaf7176$__6391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af4158015611849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186d9190611c9c565b65ffffffffffff1690505b826118838383611d1d565b61188d9190611d1d565b9695505050505050565b6000806118a2610535565b905060646118b08585611933565b600c830154604051632394e7a360e21b8152600481018890526001600160a01b0390911690638e539e8c90602401602060405180830381865afa1580156118fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191f9190611d66565b6119299190611d7f565b61127b9190611dac565b60006105bb838360ff16600181111561194e5761194e611b51565b600080611959610535565b9050600081601801600085600181111561197557611975611b51565b600181111561198657611986611b51565b81526020810191909152604001600090812054915060188301818660018111156119b2576119b2611b51565b60018111156119c3576119c3611b51565b815260208101919091526040016000206119de600184611c89565b815481106119ee576119ee611e40565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b0316878211611a34576001600160d01b031694506103e39350505050565b611a85611a4089610799565b8660180160008a6001811115611a5857611a58611b51565b6001811115611a6957611a69611b51565b81526020019081526020016000206105c290919063ffffffff16565b6001600160d01b031698975050505050505050565b80356001600160a01b0381168114611ab157600080fd5b919050565b60008060408385031215611ac957600080fd5b82359150611ad960208401611a9a565b90509250929050565b600060208284031215611af457600080fd5b813560ff811681146105bb57600080fd5b60008060408385031215611b1857600080fd5b611b2183611a9a565b946020939093013593505050565b60008060408385031215611b4257600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156103e3576103e3611b67565b600181815b80851115611bd1578160001904821115611bb757611bb7611b67565b80851615611bc457918102915b93841c9390800290611b9b565b509250929050565b600082611be8575060016103e3565b81611bf5575060006103e3565b8160018114611c0b5760028114611c1557611c31565b60019150506103e3565b60ff841115611c2657611c26611b67565b50506001821b6103e3565b5060208310610133831016604e8410600b8410161715611c54575081810a6103e3565b611c5e8383611b96565b8060001904821115611c7257611c72611b67565b029392505050565b60006105bb60ff841683611bd9565b818103818111156103e3576103e3611b67565b600060208284031215611cae57600080fd5b815165ffffffffffff811681146105bb57600080fd5b600060208284031215611cd657600080fd5b815180151581146105bb57600080fd5b6020808252601d908201527f42335452476f7665726e6f723a207472616e73666572206661696c6564000000604082015260600190565b808201808211156103e3576103e3611b67565b83815260608101600a8410611d5557634e487b7160e01b600052602160045260246000fd5b602082019390935260400152919050565b600060208284031215611d7857600080fd5b5051919050565b80820281158282048414176103e3576103e3611b67565b634e487b7160e01b600052601260045260246000fd5b600082611dc957634e487b7160e01b600052601260045260246000fd5b500490565b6001600160d01b03818116838216019080821115611dee57611dee611b67565b5092915050565b6020808252602b908201527f476f7665726e6f72436f6e666967757261746f723a20696e76616c696420707260408201526a6f706f73616c207479706560a81b606082015260800190565b634e487b7160e01b600052603260045260246000fdfea264697066735822122085ba1380d199b075eb171ef8f7d0547fcea0a8e5195b03296a1b7596c5b0488964736f6c63430008140033",
"linkReferences": {
"contracts/governance/libraries/GovernorClockLogic.sol": {
"GovernorClockLogic": [
{
"length": 20,
"start": 491
},
{
"length": 20,
"start": 655
},
{
"length": 20,
"start": 2287
},
{
"length": 20,
"start": 2456
},
{
"length": 20,
"start": 3037
},
{
"length": 20,
"start": 6081
},
{
"length": 20,
"start": 6204
}
]
}
},
"deployedLinkReferences": {
"contracts/governance/libraries/GovernorClockLogic.sol": {
"GovernorClockLogic": [
{
"length": 20,
"start": 433
},
{
"length": 20,
"start": 597
},
{
"length": 20,
"start": 2229
},
{
"length": 20,
"start": 2398
},
{
"length": 20,
"start": 2979
},
{
"length": 20,
"start": 6023
},
{
"length": 20,
"start": 6146
}
]
}
}
}