0 txs
6 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
hasRole
viewfunction hasRole(uint256 roleId, address user) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
pendingSuperAdmin
viewfunction pendingSuperAdmin() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
ROLE_MANAGER_ROLE
viewfunction ROLE_MANAGER_ROLE() view returns (uint256)
ROLE_TRANSFER_EXPIRY_DEADLINE
viewfunction ROLE_TRANSFER_EXPIRY_DEADLINE() view returns (uint256)
roleTransferExpiry
viewfunction roleTransferExpiry() view returns (uint256)
SUPER_ADMIN_ROLE
viewfunction SUPER_ADMIN_ROLE() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
uri
viewfunction uri(uint256) view returns (string)
acceptSuperAdminRoleTransfer
nonpayablefunction acceptSuperAdminRoleTransfer(address currentSuperAdmin)
assignRole
nonpayablefunction assignRole(uint256 roleId, address receiver)
cancelSuperAdminRoleTransfer
nonpayablefunction cancelSuperAdminRoleTransfer()
initialize
nonpayablefunction initialize(address initialSuperAdmin)
initiateTransferSuperAdminRole
nonpayablefunction initiateTransferSuperAdminRole(address receiver)
revokeRole
nonpayablefunction revokeRole(uint256 roleId, address user)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address, address, uint256[], uint256[], bytes)
safeTransferFrom
nonpayablefunction safeTransferFrom(address, address, uint256, uint256, bytes)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Initialized
event Initialized(uint64 version)
RoleBurned
event RoleBurned(uint256 indexed roleId, address user, address burnedBy)
RoleMinted
event RoleMinted(uint256 indexed roleId, address receiver, address mintedBy)
SuperAdminRoleTransferCancelled
event SuperAdminRoleTransferCancelled(address pendingSuperAdmin, address currentSuperAdmin)
SuperAdminRoleTransferComplete
event SuperAdminRoleTransferComplete(address newSuperAdmin)
SuperAdminRoleTransferInitiated
event SuperAdminRoleTransferInitiated(address pendingSuperAdmin, address currentSuperAdmin)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
Upgraded
event Upgraded(address indexed implementation)
URI
event URI(string value, uint256 indexed id)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AlreadyHasRole
error AlreadyHasRole()
CannotTransferRoleToken
error CannotTransferRoleToken()
DoesNotHaveRole
error DoesNotHaveRole()
ERC1155InsufficientBalance
error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId)
ERC1155InvalidApprover
error ERC1155InvalidApprover(address approver)
ERC1155InvalidArrayLength
error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength)
ERC1155InvalidOperator
error ERC1155InvalidOperator(address operator)
ERC1155InvalidReceiver
error ERC1155InvalidReceiver(address receiver)
ERC1155InvalidSender
error ERC1155InvalidSender(address sender)
ERC1155MissingApprovalForAll
error ERC1155MissingApprovalForAll(address operator, address owner)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
InvalidRoleId
error InvalidRoleId()
NoRoleTransferInitiated
error NoRoleTransferInitiated()
NotCurrentSuperAdmin
error NotCurrentSuperAdmin()
NotInitializing
error NotInitializing()
NotPendingSuperAdmin
error NotPendingSuperAdmin()
NotSuperAdmin
error NotSuperAdmin()
NotSuperAdminOrRoleManager
error NotSuperAdminOrRoleManager()
OnlySuperAdminCanUpdateRoleManager
error OnlySuperAdminCanUpdateRoleManager()
RoleTransferAlreadyInitiated
error RoleTransferAlreadyInitiated()
RoleTransferExpired
error RoleTransferExpired()
SuperAdminRoleReserved
error SuperAdminRoleReserved()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100e857306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c166100d9576002600160401b03196001600160401b03821601610073575b604051611d8590816100ed823960805181818161086001526109b10152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610054565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8062fdd58e1461018357806301ffc9a71461017e5780630e89341c146101795780631d0b19e7146101745780632eb2c2d61461016f5780634460bdd61461016a57806348028d63146101655780634e1273f4146101605780634f1ef2861461015b57806352d1902d14610156578063685b824a14610151578063a22cb4651461014c578063ad3cb1cc14610147578063be9c46d414610142578063c4d66de81461013d578063c6b54b3c14610138578063e89d994f14610133578063e985e9c51461012e578063ec1a0f3214610129578063ec2606c014610124578063f242432a1461011f578063f990f4ea1461011a5763ffbc289c14610115575f80fd5b6110a2565b611085565b611033565b610fdb565b610f44565b610ed3565b610eb6565b610e9b565b610d2b565b610c31565b610bea565b610b1b565b6109f6565b61099f565b610822565b610763565b6106f8565b6106dd565b610655565b6103cc565b6102d9565b610233565b6101cc565b600435906001600160a01b038216820361019e57565b5f80fd5b602435906001600160a01b038216820361019e57565b35906001600160a01b038216820361019e57565b3461019e57604036600319011261019e5760206102186101ea610188565b6024355f525f80516020611cf0833981519152835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b6001600160e01b031981160361019e57565b3461019e57602036600319011261019e57602060043561025281610221565b63ffffffff60e01b16636cdb3d1360e11b8114908115610290575b811561027f575b506040519015158152f35b6301ffc9a760e01b1490505f610274565b6303a24d0760e21b8114915061026d565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9060206102d69281815201906102a1565b90565b3461019e57602036600319011261019e576040515f5f80516020611d3083398151915254610306816111ab565b80845290600181169081156103a8575060011461033e575b61033a8361032e8185038261055a565b604051918291826102c5565b0390f35b5f80516020611d308339815191525f9081527ff429cb5e2ec84cbb765e76b31964a56ccde03e7a6122d6cc4afb19edc55edeed939250905b80821061038e5750909150810160200161032e61031e565b919260018160209254838588010152019101909291610376565b60ff191660208086019190915291151560051b8401909101915061032e905061031e565b3461019e57604036600319011261019e576004356103e86101a2565b335f9081525f80516020611cd083398151915260205260409020541580610511575b61050257600182146104f35781156104e4575f8281525f80516020611cf0833981519152602090815260408083206001600160a01b0385168452909152902054156104d5576104d07fc8c89ea0fdb9c74ed9fddb5a13d3ef31fa038aaf5f97c1f354508a36c6cb2dba91835f525f80516020611cf08339815191526020526104b06104a88260405f209060018060a01b03165f5260205260405f2090565b54858361150c565b604080516001600160a01b03909216825233602083015290918291820190565b0390a2005b638907dbfd60e01b5f5260045ffd5b6325ac91a560e01b5f5260045ffd5b63124f2def60e31b5f5260045ffd5b63384027fd60e01b5f5260045ffd5b50335f9081527f6b275818af3d2f74f0d5f3eda517b7f21706883939b9703a9da41788781ff68560205260409020541561040a565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761057b57604052565b610546565b6001600160401b03811161057b5760051b60200190565b9080601f8301121561019e5781356105ae81610580565b926105bc604051948561055a565b81845260208085019260051b82010192831161019e57602001905b8282106105e45750505090565b81358152602091820191016105d7565b6001600160401b03811161057b57601f01601f191660200190565b81601f8201121561019e57803590610626826105f4565b92610634604051948561055a565b8284526020838301011161019e57815f926020809301838601378301015290565b3461019e5760a036600319011261019e5761066e610188565b506106776101a2565b506044356001600160401b03811161019e57610697903690600401610597565b506064356001600160401b03811161019e576106b7903690600401610597565b506084356001600160401b03811161019e576106d790369060040161060f565b506111e3565b3461019e575f36600319011261019e57602060405160018152f35b3461019e575f36600319011261019e575f546040516001600160a01b039091168152602090f35b90602080835192838152019201905f5b81811061073c5750505090565b825184526020938401939092019160010161072f565b9060206102d692818152019061071f565b3461019e57604036600319011261019e576004356001600160401b03811161019e573660238201121561019e5780600401359061079f82610580565b916107ad604051938461055a565b8083526024602084019160051b8301019136831161019e57602401905b82821061080a57836024356001600160401b03811161019e5761033a916107f86107fe923690600401610597565b9061121a565b60405191829182610752565b60208091610817846101b8565b8152019101906107ca565b604036600319011261019e57610836610188565b6024356001600160401b03811161019e5761085590369060040161060f565b906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561097d575b5061096e57335f9081525f80516020611cd083398151915260205260409020541561095f576040516352d1902d60e01b8152916020836004816001600160a01b0386165afa5f938161092e575b506108f957634c9c8ce360e01b5f526001600160a01b03821660045260245ffd5b905f80516020611cb0833981519152830361091a576109189250611882565b005b632a87526960e21b5f52600483905260245ffd5b61095191945060203d602011610958575b610949818361055a565b810190611547565b925f6108d8565b503d61093f565b6316c726b160e01b5f5260045ffd5b63703e46dd60e11b5f5260045ffd5b5f80516020611cb0833981519152546001600160a01b0316141590505f61088b565b3461019e575f36600319011261019e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361096e5760206040515f80516020611cb08339815191528152f35b3461019e57604036600319011261019e57600435610a126101a2565b335f9081525f80516020611cd083398151915260205260409020541580610ae6575b61050257610a5a81610a458461115d565b9060018060a01b03165f5260205260405f2090565b54610ad7576002821480610ac1575b610ab257600182146104f35781156104e4576104d07f48de6cbe7374abb10c7ea584fb75c79c8e6457c2e5ffddb65227e976908e361a916104b0610aab610bd6565b8583611556565b633bf2098d60e11b5f5260045ffd5b50610ad2610ace3361146d565b1590565b610a69565b6314571ee960e31b5f5260045ffd5b50335f9081527f6b275818af3d2f74f0d5f3eda517b7f21706883939b9703a9da41788781ff685602052604090205415610a34565b3461019e57604036600319011261019e57610b34610188565b60243580151580910361019e576001600160a01b038216918215610bc457335f9081527f88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c450160205260409020610b899190610a45565b60ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b62ced3e160e81b5f525f60045260245ffd5b60405190610be560208361055a565b5f8252565b3461019e575f36600319011261019e5761033a604051610c0b60408261055a565b60058152640352e302e360dc1b60208201526040519182916020835260208301906102a1565b3461019e57602036600319011261019e57610c4a610188565b5f546001600160a01b031633819003610d1c576001544211610d0d576001600160a01b031615610cfe57610c80610ace8261146d565b610cef57610c8d906114a2565b5f54610caa906001600160a01b0316610ca4610bd6565b906115af565b5f80546001600160a01b03191681556001556040513381527f44c1b0d0d96f09a008b669ac1b17888937840ea5ba58e48a32d5d746a42160759080602081015b0390a1005b63704bf76560e01b5f5260045ffd5b633144e81f60e21b5f5260045ffd5b633eb7e0c960e01b5f5260045ffd5b63e241e06360e01b5f5260045ffd5b3461019e57602036600319011261019e57610d44610188565b5f80516020611d1083398151915254906001600160401b03610d7560ff604085901c1615936001600160401b031690565b1680159081610e93575b6001149081610e89575b159081610e80575b50610e7157610dd49082610dcb60016001600160401b03195f80516020611d108339815191525416175f80516020611d1083398151915255565b610e37576112af565b610dda57005b610e0460ff60401b195f80516020611d1083398151915254165f80516020611d1083398151915255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2908060208101610cea565b610e6c6801000000000000000060ff60401b195f80516020611d108339815191525416175f80516020611d1083398151915255565b6112af565b63f92ee8a960e01b5f5260045ffd5b9050155f610d91565b303b159150610d89565b839150610d7f565b3461019e575f36600319011261019e57602060405160028152f35b3461019e575f36600319011261019e5760206040516202a3008152f35b3461019e57604036600319011261019e57602060ff610f38610ef3610188565b610a45610efe6101a2565b6001600160a01b039092165f9081527f88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c45016020526040902090565b54166040519015158152f35b3461019e575f36600319011261019e57335f9081525f80516020611cd083398151915260205260409020541561095f575f546001600160a01b038116908115610cfe576001600160a01b0319165f908155600155604080516001600160a01b0390921682523360208301527fc461b6b72267cd5e2e7288403bbc38ae86c6178908da636f17365216646fdd9e919081908101610cea565b3461019e57604036600319011261019e576020611028600435610ffc6101a2565b905f525f80516020611cf0833981519152835260405f209060018060a01b03165f5260205260405f2090565b541515604051908152f35b3461019e5760a036600319011261019e5761104c610188565b506110556101a2565b506084356001600160401b03811161019e5761107590369060040161060f565b50631d6cf20560e11b5f5260045ffd5b3461019e575f36600319011261019e576020600154604051908152f35b3461019e57602036600319011261019e576110bb610188565b335f9081525f80516020611cd083398151915260205260409020541561095f575f80546001600160a01b0319166001600160a01b038316179055426202a300810190811061114957600155604080516001600160a01b0390921682523360208301527f4a568af8538b97e4f0691ce4720442faecaec1c39be29c619a08ae87aa54d8b3919081908101610cea565b634e487b7160e01b5f52601160045260245ffd5b5f525f80516020611cf083398151915260205260405f2090565b6111a7915f525f80516020611cf083398151915260205260405f209060018060a01b03165f5260205260405f2090565b5490565b90600182811c921680156111d9575b60208310146111c557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916111ba565b631d6cf20560e11b5f5260045ffd5b80518210156112065760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9190918051835180820361129a57505080519061123682610580565b91611244604051938461055a565b808352611253601f1991610580565b013660208401375f5b8151811015611293578061128260019260051b6020808287010151918901015190611177565b61128c82866111f2565b520161125c565b5090925050565b635b05999160e01b5f5260045260245260445ffd5b60405160206112be818361055a565b5f82526112c9611924565b6112d1611924565b8151916001600160401b03831161057b57611302836112fd5f80516020611d30833981519152546111ab565b611bf5565b602091601f84116001146113ab57508261139b937f44c1b0d0d96f09a008b669ac1b17888937840ea5ba58e48a32d5d746a42160759593611358935f926113a0575b50508160011b915f199060031b1c19161790565b5f80516020611d30833981519152555b611370611924565b61138161137b610bd6565b826115af565b6040516001600160a01b0390911681529081906020820190565b0390a1565b015190505f80611344565b5f80516020611d308339815191525f529190601f1984167ff429cb5e2ec84cbb765e76b31964a56ccde03e7a6122d6cc4afb19edc55edeed935f905b82821061145557505092600192859261139b967f44c1b0d0d96f09a008b669ac1b17888937840ea5ba58e48a32d5d746a421607598961061143d575b505050811b015f80516020611d3083398151915255611368565b01515f1960f88460031b161c191690555f8080611423565b806001869782949787015181550196019401906113e7565b6001600160a01b03165f9081525f80516020611cd08339815191526020526040902054151590565b9190820180921161114957565b6001600160a01b038116156114fa576114f8906114e06001809160405192600184526020840152604083019160018352606084015260808301604052565b90604051926114f060208561055a565b5f84526115ee565b565b626a0d4560e21b5f525f60045260245ffd5b906001600160a01b038216156114fa576114f8926114e060405192600184526020840152604083019160018352606084015260808301604052565b9081602091031261019e575190565b9091906001600160a01b0381161561159c5761159660016114f8949160405192600184526020840152604083019160018352606084015260808301604052565b91611743565b632bfa23e760e11b5f525f60045260245ffd5b906001600160a01b0382161561159c576114f8916115966001809160405192600184526020840152604083019160018352606084015260808301604052565b909250825182519081810361172e5750506001600160a01b038116801515949093905f5b82518110156116a5578060051b87602080838701015192880101519061163d575b5050600101611612565b61164a86610a458461115d565b5481811061166e5786610a45600195949361166693039361115d565b55905f611633565b6040516303dee4c560e01b81526001600160a01b038816600482015260248101919091526044810182905260648101839052608490fd5b5094505f93929150600181511484146116fb5760209081015191810151604080519384529183015233917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291819081015b0390a4565b60405133927f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb9282916116f6918361194f565b635b05999160e01b5f5260045260245260445ffd5b93929190805182519081810361172e5750506001600160a01b03851693841515935f5b83518110156117b65780868960019360051b602080828a010151918a01015192611794575b50505001611766565b6117ac91610a456117a49261115d565b918254611495565b90555f898161178b565b509390959460018351145f14611847576020838101518582015160408051928352928201525f9133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629190a45b61180f575b50505050565b8051600103611837579060208061182e95930151910151915f33611b3a565b5f808080611809565b611842935f33611a0b565b61182e565b5f6040517f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb33918061187a89898361194f565b0390a4611804565b90813b15611903575f80516020611cb083398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156118eb576118e891611bd8565b50565b5050346118f457565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b60ff5f80516020611d108339815191525460401c161561194057565b631afcd79f60e31b5f5260045ffd5b90916119666102d69360408452604084019061071f565b91602081840391015261071f565b9081602091031261019e57516102d681610221565b6001600160a01b0391821681529116602082015260a0604082018190526102d694919391926119ce92916119c0919086019061071f565b90848203606086015261071f565b9160808184039101526102a1565b3d15611a06573d906119ed826105f4565b916119fb604051938461055a565b82523d5f602084013e565b606090565b9091949293853b611a1f575b505050505050565b602093611a4191604051968795869563bc197c8160e01b875260048701611989565b03815f6001600160a01b0387165af15f9181611ad0575b50611a925750611a666119dc565b8051919082611a8b57632bfa23e760e11b5f526001600160a01b03821660045260245ffd5b9050602001fd5b6001600160e01b0319166343e6837f60e01b01611ab557505f8080808080611a17565b632bfa23e760e11b5f526001600160a01b031660045260245ffd5b611af391925060203d602011611afa575b611aeb818361055a565b810190611974565b905f611a58565b503d611ae1565b6001600160a01b039182168152911660208201526040810191909152606081019190915260a0608082018190526102d6929101906102a1565b9091949293853b611b4d57505050505050565b602093611b6f91604051968795869563f23a6e6160e01b875260048701611b01565b03815f6001600160a01b0387165af15f9181611bb7575b50611b945750611a666119dc565b6001600160e01b031916630dc5919f60e01b01611ab557505f8080808080611a17565b611bd191925060203d602011611afa57611aeb818361055a565b905f611b86565b5f806102d693602081519101845af4611bef6119dc565b91611c51565b601f8111611c01575050565b5f80516020611d308339815191525f5260205f20906020601f840160051c83019310611c47575b601f0160051c01905b818110611c3c575050565b5f8155600101611c31565b9091508190611c28565b90611c755750805115611c6657805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580611ca6575b611c86575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15611c7e56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbce957cc9280e9a013c6ee8f75e77ed2c589ca52d01d54c80990428e2a74f452aa88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c4500f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0088be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c4502a2646970667358221220c759f05c958c916a76123de3e28e022e5f9ae1c4617452d227aeab87c5b4cc0964736f6c634300081a0033