UNPKG

@excubiae/contracts

Version:
286 lines (285 loc) 14.2 kB
{ "_format": "hh-sol-artifact-1", "contractName": "ERC20VotesPolicy", "sourceName": "contracts/extensions/erc20votes/ERC20VotesPolicy.sol", "abi": [ { "inputs": [], "stateMutability": "payable", "type": "constructor" }, { "inputs": [], "name": "AlreadyEnforced", "type": "error" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "TargetAlreadySet", "type": "error" }, { "inputs": [], "name": "TargetNotSet", "type": "error" }, { "inputs": [], "name": "TargetOnly", "type": "error" }, { "inputs": [], "name": "UnsuccessfulCheck", "type": "error" }, { "inputs": [], "name": "ZeroAddress", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "subject", "type": "address" }, { "indexed": true, "internalType": "address", "name": "guarded", "type": "address" }, { "indexed": false, "internalType": "bytes", "name": "evidence", "type": "bytes" } ], "name": "Enforced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "guarded", "type": "address" } ], "name": "TargetSet", "type": "event" }, { "inputs": [], "name": "BASE_CHECKER", "outputs": [ { "internalType": "contract BaseChecker", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "subject", "type": "address" }, { "internalType": "bytes", "name": "evidence", "type": "bytes" } ], "name": "enforce", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "enforcedUsers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAppendedBytes", "outputs": [ { "internalType": "bytes", "name": "appendedBytes", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "guarded", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_guarded", "type": "address" } ], "name": "setTarget", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "trait", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f28061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d9456531146101a2578063f2fde38b146101c557600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e9565b6101d8565b005b6100ee610213565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610131366004610670565b610227565b60025461010b906001600160a01b031681565b6100ee6102ca565b60005461010090046001600160a01b031661010b565b61016f6102d2565b6040516100d291906106da565b60408051808201909152600a8152694552433230566f74657360b01b602082015261016f565b6100c66101b0366004610670565b60036020526000908152604090205460ff1681565b6100ee6101d3366004610670565b6102e1565b6001546001600160a01b0316331461020357604051631f492dbf60e21b815260040160405180910390fd5b61020e838383610324565b505050565b61021b61038c565b61022560006103bf565b565b61022f61038c565b6001600160a01b0381166102565760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102805760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610225610418565b60606102dc610474565b905090565b6102e961038c565b6001600160a01b03811661031857604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610321816103bf565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035e57604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020e83838361047f565b6000546001600160a01b036101009091041633146102255760405163118cdaa760e01b815233600482015260240161030f565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610420610562565b600061042a610474565b90506000808280602001905181019061044391906106ed565b91509150610450826103bf565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dc30610573565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b390869086908690600401610750565b602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f4919061077e565b61051157604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055590869086906107a0565b60405180910390a3505050565b61056a6105a2565b610225336103bf565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c55760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032157600080fd5b6000806000604084860312156105fe57600080fd5b8335610609816105d4565b9250602084013567ffffffffffffffff81111561062557600080fd5b8401601f8101861361063657600080fd5b803567ffffffffffffffff81111561064d57600080fd5b86602082840101111561065f57600080fd5b939660209190910195509293505050565b60006020828403121561068257600080fd5b813561068d816105d4565b9392505050565b6000815180845260005b818110156106ba5760208185018101518683018201520161069e565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061068d6020830184610694565b6000806040838503121561070057600080fd5b825161070b816105d4565b602084015190925061071c816105d4565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107759083018486610727565b95945050505050565b60006020828403121561079057600080fd5b8151801515811461068d57600080fd5b6020815260006107b4602083018486610727565b94935050505056fea26469706673582212202592b46654ff8c7b17a2ecdc4d132811b6df88407262eb3e68484139fb5fc32364736f6c634300081c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d9456531146101a2578063f2fde38b146101c557600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e9565b6101d8565b005b6100ee610213565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610131366004610670565b610227565b60025461010b906001600160a01b031681565b6100ee6102ca565b60005461010090046001600160a01b031661010b565b61016f6102d2565b6040516100d291906106da565b60408051808201909152600a8152694552433230566f74657360b01b602082015261016f565b6100c66101b0366004610670565b60036020526000908152604090205460ff1681565b6100ee6101d3366004610670565b6102e1565b6001546001600160a01b0316331461020357604051631f492dbf60e21b815260040160405180910390fd5b61020e838383610324565b505050565b61021b61038c565b61022560006103bf565b565b61022f61038c565b6001600160a01b0381166102565760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102805760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610225610418565b60606102dc610474565b905090565b6102e961038c565b6001600160a01b03811661031857604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610321816103bf565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035e57604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020e83838361047f565b6000546001600160a01b036101009091041633146102255760405163118cdaa760e01b815233600482015260240161030f565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610420610562565b600061042a610474565b90506000808280602001905181019061044391906106ed565b91509150610450826103bf565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dc30610573565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b390869086908690600401610750565b602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f4919061077e565b61051157604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055590869086906107a0565b60405180910390a3505050565b61056a6105a2565b610225336103bf565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c55760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032157600080fd5b6000806000604084860312156105fe57600080fd5b8335610609816105d4565b9250602084013567ffffffffffffffff81111561062557600080fd5b8401601f8101861361063657600080fd5b803567ffffffffffffffff81111561064d57600080fd5b86602082840101111561065f57600080fd5b939660209190910195509293505050565b60006020828403121561068257600080fd5b813561068d816105d4565b9392505050565b6000815180845260005b818110156106ba5760208185018101518683018201520161069e565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061068d6020830184610694565b6000806040838503121561070057600080fd5b825161070b816105d4565b602084015190925061071c816105d4565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107759083018486610727565b95945050505050565b60006020828403121561079057600080fd5b8151801515811461068d57600080fd5b6020815260006107b4602083018486610727565b94935050505056fea26469706673582212202592b46654ff8c7b17a2ecdc4d132811b6df88407262eb3e68484139fb5fc32364736f6c634300081c0033", "linkReferences": {}, "deployedLinkReferences": {} }