UNPKG

@excubiae/contracts

Version:
262 lines (261 loc) 13.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "BaseERC721Policy", "sourceName": "contracts/test/examples/base/BaseERC721Policy.sol", "abi": [ { "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": [], "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": "0x6080604052348015600f57600080fd5b503380603557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b603c816041565b50609a565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61075c806100a96000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637e164204116100715780637e1642041461012b5780638129fc1c1461013e5780638da5cb5b14610146578063b41a4b191461015c578063ce343deb14610171578063f2fde38b1461019757600080fd5b8063158ef93e146100ae5780631e898ef1146100d0578063715018a6146100e557806372f7a030146100ed578063776d1a0114610118575b600080fd5b6000546100bb9060ff1681565b60405190151581526020015b60405180910390f35b6100e36100de366004610553565b6101aa565b005b6100e36101e5565b600154610100906001600160a01b031681565b6040516001600160a01b0390911681526020016100c7565b6100e36101263660046105da565b6101f9565b600254610100906001600160a01b031681565b6100e361029c565b60005461010090046001600160a01b0316610100565b6101646102a4565b6040516100c79190610644565b60408051808201909152600a8152694261736545524337323160b01b6020820152610164565b6100e36101a53660046105da565b6102b3565b6001546001600160a01b031633146101d557604051631f492dbf60e21b815260040160405180910390fd5b6101e08383836102f6565b505050565b6101ed6103d9565b6101f7600061040c565b565b6102016103d9565b6001600160a01b0381166102285760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102525760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b6101f7610465565b60606102ae6104c1565b905090565b6102bb6103d9565b6001600160a01b0381166102ea57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6102f38161040c565b50565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b240859061032a90869086908690600401610680565b602060405180830381865afa158015610347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036b91906106ae565b61038857604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda0906103cc90869086906106d0565b60405180910390a3505050565b6000546001600160a01b036101009091041633146101f75760405163118cdaa760e01b81523360048201526024016102e1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61046d6104cc565b60006104776104c1565b90506000808280602001905181019061049091906106ec565b9150915061049d8261040c565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102ae306104dd565b6104d461050c565b6101f73361040c565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff161561052f5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b03811681146102f357600080fd5b60008060006040848603121561056857600080fd5b83356105738161053e565b9250602084013567ffffffffffffffff81111561058f57600080fd5b8401601f810186136105a057600080fd5b803567ffffffffffffffff8111156105b757600080fd5b8660208284010111156105c957600080fd5b939660209190910195509293505050565b6000602082840312156105ec57600080fd5b81356105f78161053e565b9392505050565b6000815180845260005b8181101561062457602081850181015186830182015201610608565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006105f760208301846105fe565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906106a59083018486610657565b95945050505050565b6000602082840312156106c057600080fd5b815180151581146105f757600080fd5b6020815260006106e4602083018486610657565b949350505050565b600080604083850312156106ff57600080fd5b825161070a8161053e565b602084015190925061071b8161053e565b80915050925092905056fea26469706673582212203efae37d2175cd2ed88555024ef34642e07fb862808101b387f622aa7e456c4f64736f6c634300081c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637e164204116100715780637e1642041461012b5780638129fc1c1461013e5780638da5cb5b14610146578063b41a4b191461015c578063ce343deb14610171578063f2fde38b1461019757600080fd5b8063158ef93e146100ae5780631e898ef1146100d0578063715018a6146100e557806372f7a030146100ed578063776d1a0114610118575b600080fd5b6000546100bb9060ff1681565b60405190151581526020015b60405180910390f35b6100e36100de366004610553565b6101aa565b005b6100e36101e5565b600154610100906001600160a01b031681565b6040516001600160a01b0390911681526020016100c7565b6100e36101263660046105da565b6101f9565b600254610100906001600160a01b031681565b6100e361029c565b60005461010090046001600160a01b0316610100565b6101646102a4565b6040516100c79190610644565b60408051808201909152600a8152694261736545524337323160b01b6020820152610164565b6100e36101a53660046105da565b6102b3565b6001546001600160a01b031633146101d557604051631f492dbf60e21b815260040160405180910390fd5b6101e08383836102f6565b505050565b6101ed6103d9565b6101f7600061040c565b565b6102016103d9565b6001600160a01b0381166102285760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102525760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b6101f7610465565b60606102ae6104c1565b905090565b6102bb6103d9565b6001600160a01b0381166102ea57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6102f38161040c565b50565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b240859061032a90869086908690600401610680565b602060405180830381865afa158015610347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036b91906106ae565b61038857604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda0906103cc90869086906106d0565b60405180910390a3505050565b6000546001600160a01b036101009091041633146101f75760405163118cdaa760e01b81523360048201526024016102e1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61046d6104cc565b60006104776104c1565b90506000808280602001905181019061049091906106ec565b9150915061049d8261040c565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102ae306104dd565b6104d461050c565b6101f73361040c565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff161561052f5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b03811681146102f357600080fd5b60008060006040848603121561056857600080fd5b83356105738161053e565b9250602084013567ffffffffffffffff81111561058f57600080fd5b8401601f810186136105a057600080fd5b803567ffffffffffffffff8111156105b757600080fd5b8660208284010111156105c957600080fd5b939660209190910195509293505050565b6000602082840312156105ec57600080fd5b81356105f78161053e565b9392505050565b6000815180845260005b8181101561062457602081850181015186830182015201610608565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006105f760208301846105fe565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906106a59083018486610657565b95945050505050565b6000602082840312156106c057600080fd5b815180151581146105f757600080fd5b6020815260006106e4602083018486610657565b949350505050565b600080604083850312156106ff57600080fd5b825161070a8161053e565b602084015190925061071b8161053e565b80915050925092905056fea26469706673582212203efae37d2175cd2ed88555024ef34642e07fb862808101b387f622aa7e456c4f64736f6c634300081c0033", "linkReferences": {}, "deployedLinkReferences": {} }