0 txs
1 call
constructor
No constructor.
functions
getAccountLastInteraction
viewfunction getAccountLastInteraction(uint128 accountId) view returns (uint256)
getAccountOwner
viewfunction getAccountOwner(uint128 accountId) view returns (address)
getAccountPermissions
viewfunction getAccountPermissions(uint128 accountId) view returns (tuple[] accountPerms)
getAccountTokenAddress
viewfunction getAccountTokenAddress() view returns (address)
hasPermission
viewfunction hasPermission(uint128 accountId, bytes32 permission, address user) view returns (bool)
isAuthorized
viewfunction isAuthorized(uint128 accountId, bytes32 permission, address user) view returns (bool)
createAccount
nonpayablefunction createAccount() returns (uint128 accountId)
createAccount
nonpayablefunction createAccount(uint128 requestedAccountId)
grantPermission
nonpayablefunction grantPermission(uint128 accountId, bytes32 permission, address user)
notifyAccountTransfer
nonpayablefunction notifyAccountTransfer(address to, uint128 accountId)
renouncePermission
nonpayablefunction renouncePermission(uint128 accountId, bytes32 permission)
revokePermission
nonpayablefunction revokePermission(uint128 accountId, bytes32 permission, address user)
events
AccountCreated
event AccountCreated(uint128 indexed accountId, address indexed owner)
PermissionGranted
event PermissionGranted(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)
PermissionRevoked
event PermissionRevoked(uint128 indexed accountId, bytes32 indexed permission, address indexed user, address sender)
errors
FeatureUnavailable
error FeatureUnavailable(bytes32 which)
InvalidAccountId
error InvalidAccountId(uint128 accountId)
InvalidPermission
error InvalidPermission(bytes32 permission)
OnlyAccountTokenProxy
error OnlyAccountTokenProxy(address origin)
PermissionDenied
error PermissionDenied(uint128 accountId, bytes32 permission, address target)
PermissionNotGranted
error PermissionNotGranted(uint128 accountId, bytes32 permission, address user)
PositionOutOfBounds
error PositionOutOfBounds()
ValueAlreadyInSet
error ValueAlreadyInSet()
ValueNotInSet
error ValueNotInSet()
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b50611536806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c80639dca362f116100715780639dca362f1461014f578063a148bf101461016f578063a76272881461018f578063a796fecd146101a2578063bf60c31d146101c2578063cadb09a5146101d557600080fd5b8062cd9ef3146100b85780631213d453146100cd5780631b5dccdb146100f557806347c1c561146101165780637dec8b55146101295780638d34166b1461013c575b600080fd5b6100cb6100c6366004611272565b6101e8565b005b6100e06100db366004611272565b610274565b60405190151581526020015b60405180910390f35b6101086101033660046112ae565b610296565b6040519081526020016100ec565b6100cb6101243660046112c9565b6102b5565b6100cb6101373660046112f3565b6103a5565b6100e061014a366004611272565b61043b565b61015761044b565b6040516001600160801b0390911681526020016100ec565b6101776105b4565b6040516001600160a01b0390911681526020016100ec565b6100cb61019d366004611272565b6105db565b6101b56101b03660046112ae565b61063d565b6040516100ec9190611326565b6101776101d03660046112ae565b61076a565b6100cb6101e33660046112ae565b610788565b6101f1826108ba565b6000610205846420a226a4a760d91b6109f9565b9050610215600182018484610a8b565b816001600160a01b031683856001600160801b03167f32ff7c3f84299a3543c1e89057e98ba962f4fbe7786c52289e184c57b9a36a50610253610b1d565b6040516001600160a01b03909116815260200160405180910390a450505050565b600061028e838361028487610b5a565b6001019190610bd0565b949350505050565b60006102a182610b5a565b6005015467ffffffffffffffff1692915050565b6102d4816102c1610b1d565b6102ca85610b5a565b6001019190610c09565b6103225781816102e2610b1d565b604051633b9fd5cf60e21b81526001600160801b03909316600484015260248301919091526001600160a01b031660448201526064015b60405180910390fd5b6103418161032e610b1d565b61033785610b5a565b6001019190610c4e565b610349610b1d565b6001600160a01b031681836001600160801b03167f116c7e9cd2db316974fb473babcbcd625be1350842d0319e761d30aefb09a58a610386610b1d565b6040516001600160a01b03909116815260200160405180910390a45050565b6103ad610ca1565b60006103b882610b5a565b905060006103c860038301610cf7565b905060005b8151811015610417576104058282815181106103eb576103eb6113cf565b602002602001015184600101610d0b90919063ffffffff16565b8061040f816113fb565b9150506103cd565b506001820180546001600160a01b0319166001600160a01b03861617905550505050565b600061028e83836102ca87610b5a565b60006104666c18dc99585d195058d8dbdd5b9d609a1b610dbc565b60006104706105b4565b9050600061047c610ded565b805490915067ffffffffffffffff1661049d60026001600160801b03611414565b6104a79190611448565b815490935060019082906000906104c990849067ffffffffffffffff1661146f565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610500836104fb610b1d565b610e69565b50816001600160a01b0316638832e6e3610518610b1d565b856040518363ffffffff1660e01b8152600401610536929190611490565b600060405180830381600087803b15801561055057600080fd5b505af1158015610564573d6000803e3d6000fd5b50505050610570610b1d565b6001600160a01b0316836001600160801b03167fa9e04d307e860938fa63307df8b8090e365276e59fcca12ed55656c25e53801960405160405180910390a3505090565b60006105cc691858d8dbdd5b9d13999d60b21b610ec1565b546001600160a01b0316919050565b60006105ef846420a226a4a760d91b6109f9565b90506105ff600182018484610c4e565b816001600160a01b031683856001600160801b03167f116c7e9cd2db316974fb473babcbcd625be1350842d0319e761d30aefb09a58a610253610b1d565b6060600061064a83610b5a565b6001019050600061065d82600201610f1f565b90508067ffffffffffffffff811115610678576106786114c1565b6040519080825280602002602001820160405280156106be57816020015b6040805180820190915260008152606060208201528152602001906001900390816106965790505b50925060015b8181116107625760006106da6002850183610f29565b90506040518060400160405280826001600160a01b03168152602001610725866001016000856001600160a01b03166001600160a01b03168152602001908152602001600020610f3b565b9052856107336001856114d7565b81518110610743576107436113cf565b602002602001018190525050808061075a906113fb565b9150506106c4565b505050919050565b600061077582610b5a565b600101546001600160a01b031692915050565b6107a16c18dc99585d195058d8dbdd5b9d609a1b610dbc565b6107b360026001600160801b03611414565b6001600160801b0316816001600160801b0316106107ef576040516330e7876160e11b81526001600160801b0382166004820152602401610319565b60006107f96105b4565b9050806001600160a01b0316638832e6e3610812610b1d565b846040518363ffffffff1660e01b8152600401610830929190611490565b600060405180830381600087803b15801561084a57600080fd5b505af115801561085e573d6000803e3d6000fd5b5050505061086e826104fb610b1d565b50610877610b1d565b6001600160a01b0316826001600160801b03167fa9e04d307e860938fa63307df8b8090e365276e59fcca12ed55656c25e53801960405160405180910390a35050565b67574954484452415760c01b81141580156108e057506744454c454741544560c01b8114155b80156108f35750631352539560e21b8114155b801561090757506420a226a4a760d91b8114155b801561091d5750665245574152445360c81b8114155b801561094957507f50455250535f4d4f444946595f434f4c4c41544552414c0000000000000000008114155b801561097557507f50455250535f434f4d4d49545f4153594e435f4f5244455200000000000000008114155b8015610988575063212aa92760e11b8114155b80156109a957507110919417d411549414d7d4105657d111509560721b8114155b80156109d557507f4246505f50455250535f53504c49545f4143434f554e540000000000000000008114155b156109f65760405163139ce95960e11b815260048101829052602401610319565b50565b6000610a0483610b5a565b9050610a1d82610a12610b1d565b600184019190610bd0565b610a65578282610a2b610b1d565b60405162ef2a9160e11b81526001600160801b03909316600484015260248301919091526001600160a01b03166044820152606401610319565b60058101805467ffffffffffffffff19164267ffffffffffffffff161790555b92915050565b6001600160a01b038116610ab25760405163d92e233d60e01b815260040160405180910390fd5b81600003610ad65760405163139ce95960e11b815260006004820152602401610319565b610ae36002840182610f97565b610af457610af46002840182610fb9565b6001600160a01b03811660009081526001840160205260409020610b189083610fd0565b505050565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e33148015610b43575060143610155b15610b55575060131936013560601c90565b503390565b60008082604051602001610bb191906040808252601e908201527f696f2e73796e7468657469782e73796e7468657469782e4163636f756e74000060608201526001600160801b0391909116602082015260800190565b60408051601f1981840301815291905280516020909101209392505050565b82546000906001600160a01b0383811691161480610bfc5750610bfc846420a226a4a760d91b84610c09565b8061028e575061028e8484845b60006001600160a01b0382161580159061028e57506001600160a01b03821660009081526001858101602090815260408084208785529092019052902054151561028e565b6001600160a01b03811660009081526001840160205260409020610c729083611029565b6001600160a01b0381166000908152600184016020526040902054600003610b1857610b186002840182611128565b610ca96105b4565b6001600160a01b0316610cba610b1d565b6001600160a01b031614610cf557610cd0610b1d565b6040516324de626960e21b81526001600160a01b039091166004820152602401610319565b565b60606000610d0483610f3b565b9392505050565b6001600160a01b03811660009081526001830160205260408120610d2e90610f3b565b90508051600003610d3e57505050565b60005b8151811015610dae57610d9c828281518110610d5f57610d5f6113cf565b6020026020010151856001016000866001600160a01b03166001600160a01b0316815260200190815260200160002061102990919063ffffffff16565b80610da6816113fb565b915050610d41565b50610b186002840183611128565b610dcd81610dc8610b1d565b61113b565b6109f657604051637e023fb760e01b815260048101829052602401610319565b600080604051602001610e4b9060208082526031908201527f696f2e73796e7468657469782e73796e7468657469782e53797374656d41636360408201527037bab73a21b7b73334b3bab930ba34b7b760791b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b6000610e7483610b5a565b80546fffffffffffffffffffffffffffffffff19166001600160801b0394909416939093178355506001820180546001600160a01b0319166001600160a01b039290921691909117905590565b6040805160208101829052602a60608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e4173736f63696080820152696174656453797374656d60b01b60a0820152908101829052600090819060c001610bb1565b6000610a85825490565b6000610d04610f388484611181565b90565b606081600001805480602002602001604051908101604052809291908181526020018280548015610f8b57602002820191906000526020600020905b815481526020019060010190808311610f77575b50505050509050919050565b6001600160a01b03811660009081526001830160205260408120541515610d04565b610fcc826001600160a01b038316610fd0565b5050565b600081815260018301602052604090205415610fff5760405163682ad32d60e01b815260040160405180910390fd5b81546001818101845560008481526020808220909301849055845493815293019052604090912055565b60008181526001830160205260408120549081900361105b5760405163b3dbc29360e01b815260040160405180910390fd5b60006110686001836114d7565b845490915060009061107c906001906114d7565b90508082146110e157600085600001828154811061109c5761109c6113cf565b90600052602060002001549050808660000184815481106110bf576110bf6113cf565b6000918252602080832090910192909255918252600187019052604090208390555b84548590806110f2576110f26114ea565b60019003818190600052602060002001600090559055846001016000858152602001908152602001600020600090555050505050565b610fcc826001600160a01b038316611029565b600080611147846111e6565b6001810154909150610100900460ff1615611166576000915050610a85565b600181015460ff168061028e575061028e6002820184610f97565b60008115806111905750825482115b156111ae5760405163eb9bc44760e01b815260040160405180910390fd5b60006111bb6001846114d7565b90508360000181815481106111d2576111d26113cf565b906000526020600020015491505092915050565b6040805160208101829052602560608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e46656174757260808201526465466c616760d81b60a0820152908101829052600090819060c001610bb1565b80356001600160801b038116811461125657600080fd5b919050565b80356001600160a01b038116811461125657600080fd5b60008060006060848603121561128757600080fd5b6112908461123f565b9250602084013591506112a56040850161125b565b90509250925092565b6000602082840312156112c057600080fd5b610d048261123f565b600080604083850312156112dc57600080fd5b6112e58361123f565b946020939093013593505050565b6000806040838503121561130657600080fd5b61130f8361125b565b915061131d6020840161123f565b90509250929050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156113c057898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113ab5783518252928b019260019290920191908b019061138b565b50978a0197955050509187019160010161134e565b50919998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161140d5761140d6113e5565b5060010190565b60006001600160801b038084168061143c57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6001600160801b03818116838216019080821115611468576114686113e5565b5092915050565b67ffffffffffffffff818116838216019080821115611468576114686113e5565b6001600160a01b039290921682526001600160801b0316602082015260606040820181905260009082015260800190565b634e487b7160e01b600052604160045260246000fd5b81810381811115610a8557610a856113e5565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200437a363ff25c660f4e27f03c58153b128f927e5b4eccaa8b036e97acbc5404d64736f6c63430008110033