1 tx
4 calls
constructor
constructor(address initialAuthority)
functions
approvedCallers
viewfunction approvedCallers(address) view returns (bool)
authority
viewfunction authority() view returns (address)
cdmAddresses
viewfunction cdmAddresses(uint256) view returns (address)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
MAX_TOKEN_ID
viewfunction MAX_TOKEN_ID() view returns (uint256)
paused
viewfunction paused() view returns (bool)
tokenByIndex
viewfunction tokenByIndex(address wallet, uint256 index) view returns (uint256)
tokenIdsByWallet
viewfunction tokenIdsByWallet(address wallet) view returns (uint256[])
tokenOwner
viewfunction tokenOwner(uint256 tokenId) view returns (address)
trackedTokenCount
viewfunction trackedTokenCount() view returns (uint256)
unpackTokenIds
purefunction unpackTokenIds(bytes packedTokenIds) pure returns (uint256[])
walletCount
viewfunction walletCount(address wallet) view returns (uint256)
adminUpdateMany
nonpayablefunction adminUpdateMany(uint256[] _tokenIds, address _newOwner)
adminUpdateOwner
nonpayablefunction adminUpdateOwner(uint256 _tokenId, address _newOwner)
pause
nonpayablefunction pause()
setApprovedCaller
nonpayablefunction setApprovedCaller(address _addr, bool _val)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setCDMAddress
nonpayablefunction setCDMAddress(uint256 _chainId, address _addr)
unpause
nonpayablefunction unpause()
updateMany
nonpayablefunction updateMany(uint256[] _tokenIds, address _newOwner)
updateManyPacked
nonpayablefunction updateManyPacked(bytes packedTokenIds, address newOwner)
updateOwner
nonpayablefunction updateOwner(uint256 _tokenId, address _newOwner)
events
ApprovedCallerUpdated
event ApprovedCallerUpdated(address addr, bool val)
AuthorityUpdated
event AuthorityUpdated(address authority)
BatchUpdateTokens
event BatchUpdateTokens(uint256[] tokenIds, address indexed newOwner)
CMDAddressUpdated
event CMDAddressUpdated(uint256 chainId, address addr)
CrossDomainError
event CrossDomainError(address msgSender, address cdmAddrOfChain, address indexed originalSender, bool approvedCaller)
CrossDomainMessage
event CrossDomainMessage(address sender, address origin, address xorigin, uint256 chainId)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
UpdateTokenId
event UpdateTokenId(uint256 indexed tokenId, address indexed previousOwner, address indexed newOwner)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
CallerNotApproved
error CallerNotApproved(address caller)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
IndexOutOfBounds
error IndexOutOfBounds(uint256 providedIndex, uint256 arrayLength)
InvalidTokenId
error InvalidTokenId(uint256 tokenId)
NotFromXDomainMessenger
error NotFromXDomainMessenger(address sender)
UnauthorizedCaller
error UnauthorizedCaller(address msgSender, address originalSender)
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
creation bytecode
0x6080604052600060015534801561001557600080fd5b50604051611b09380380611b0983398101604081905261003491610124565b8061003e816100d0565b50506000805460ff60a81b1916815560026020527fb45a023a5b47e335be59bc3f73b9ac8b4a6ac7edfab69af24a46b6a6673560f480547342000000000000000000000000000000000000076001600160a01b0319918216811790925562014a349092527f05e90cc6af875bff6440f35fd7dff942d212ebb58a6b0a64bbc855b841f67b948054909216179055610154565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60006020828403121561013657600080fd5b81516001600160a01b038116811461014d57600080fd5b9392505050565b6119a6806101636000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c80637c583802116100d8578063a71975af1161008c578063cab08b3711610066578063cab08b3714610381578063cb60f1bf14610394578063e996e099146103a757600080fd5b8063a71975af14610324578063a7e0122e14610347578063bf7e214f1461037057600080fd5b806383ae3ec2116100bd57806383ae3ec2146102c35780638456cb59146102e35780638fb36037146102eb57600080fd5b80637c5838021461029d57806382413f2a146102b057600080fd5b80633f4ba83a1161013a5780636e0d5e5d116101145780636e0d5e5d146102645780637192711f146102775780637a9e5e4b1461028a57600080fd5b80633f4ba83a146102355780635c975abb1461023d5780636da612d81461025b57600080fd5b80631caaa4871161016b5780631caaa487146101b8578063276024f6146101f95780633cd212661461022257600080fd5b806313957cfd1461018757806315dfd6431461019c575b600080fd5b61019a6101953660046114e6565b6103ba565b005b6101a560015481565b6040519081526020015b60405180910390f35b6101e16101c636600461151f565b6000908152600460205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016101af565b6101e161020736600461151f565b6002602052600090815260409020546001600160a01b031681565b61019a610230366004611538565b61042b565b61019a61044a565b600054600160a81b900460ff165b60405190151581526020016101af565b6101a561271081565b61019a6102723660046115a6565b61045d565b61019a610285366004611538565b6106c7565b61019a6102983660046115fd565b6107c4565b61019a6102ab366004611538565b610853565b61019a6102be366004611621565b6108c8565b6102d66102d13660046115fd565b6109fa565b6040516101af919061169c565b61019a610a66565b6102f3610a77565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101af565b61024b6103323660046115fd565b60036020526000908152604090205460ff1681565b6101a56103553660046115fd565b6001600160a01b031660009081526006602052604090205490565b6000546001600160a01b03166101e1565b61019a61038f366004611621565b610ab4565b6101a56103a23660046116e0565b610b08565b6102d66103b536600461170c565b610bbc565b6103c7335b600036610cc1565b6001600160a01b038216600081815260036020908152604091829020805460ff19168515159081179091558251938452908301527f422d958fbc14ed45b678c256b4ac6e1a1e213878442f80368349c6f72642d22391015b60405180910390a15050565b610434336103bf565b61043c610dda565b6104468282610e1e565b5050565b610453336103bf565b61045b610edc565b565b610465610dda565b600061046f610f31565b466000908152600260205260409020549091506001600160a01b0316331415806104b257506001600160a01b03811660009081526003602052604090205460ff16155b1561056d57466000908152600260209081526040808320546001600160a01b038581168086526003855294839020548351338152919092169381019390935260ff16151582820152517f148cb9f411780866cf6949e15c556c4a47d8cf6968bd3d9ec817f3f0db0cbd4f9181900360600190a26040517f536dd9ef0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03821660248201526044015b60405180910390fd5b600061057a600285611764565b905060008167ffffffffffffffff81111561059757610597611786565b6040519080825280602002602001820160405280156105c0578160200160208202803683370190505b50905060005b8281101561066757600087876105dd84600261179c565b6105e89060016117b3565b8181106105f7576105f76117c6565b919091013560f81c90506008898961061086600261179c565b81811061061f5761061f6117c6565b875192013560f81c90921b9290921792505061ffff821690849084908110610649576106496117c6565b6020908102919091010152508061065f816117dc565b9150506105c6565b506106728185610fc2565b604080513381523260208201526001600160a01b0385168183015246606082015290517fa5093b7c8911c424379d1c75f4eb174b536227b3b34ad344aff3733d32fe44a89181900360800190a1505050505050565b6106cf610dda565b60006106d9610f31565b466000908152600260205260409020549091506001600160a01b031633146107165760405163633ccf3760e01b8152336004820152602401610564565b6001600160a01b03811660009081526003602052604090205460ff1661075a57604051639d5d5ca760e01b81526001600160a01b0382166004820152602401610564565b6107648383610e1e565b7fa5093b7c8911c424379d1c75f4eb174b536227b3b34ad344aff3733d32fe44a8333261078f610f31565b604080516001600160a01b039485168152928416602084015292168183015246606082015290519081900360800190a1505050565b60005433906001600160a01b031681146107fb5760405162d1953b60e31b81526001600160a01b0382166004820152602401610564565b816001600160a01b03163b60000361084a576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610564565b610446826110bf565b61085c336103bf565b600082815260026020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385169081179091558251858152918201527f49898ad2ee829bc9f3cadb7b7c82cf5acdfb5f5869d1adb2b6c84fef7cc7ab32910161041f565b6108d0610dda565b60006108da610f31565b466000908152600260205260409020549091506001600160a01b031633146109175760405163633ccf3760e01b8152336004820152602401610564565b6001600160a01b03811660009081526003602052604090205460ff1661095b57604051639d5d5ca760e01b81526001600160a01b0382166004820152602401610564565b610999848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250869250610fc2915050565b7fa5093b7c8911c424379d1c75f4eb174b536227b3b34ad344aff3733d32fe44a833326109c4610f31565b604080516001600160a01b039485168152928416602084015292168183015246606082015290519081900360800190a150505050565b6001600160a01b038116600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610a5a57602002820191906000526020600020905b815481526020019060010190808311610a46575b50505050509050919050565b610a6f336103bf565b61045b611120565b60008054600160a01b900460ff16610a8f5750600090565b507f8fb360370000000000000000000000000000000000000000000000000000000090565b610abd336103bf565b610ac5610dda565b610b03838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250610fc2915050565b505050565b6001600160a01b0382166000908152600660205260408120548210610b7e576001600160a01b038316600090815260066020526040908190205490517f63a056dd000000000000000000000000000000000000000000000000000000008152610564918491600401918252602082015260400190565b6001600160a01b0383166000908152600660205260409020805483908110610ba857610ba86117c6565b906000526020600020015490505b92915050565b60606000610bcb600284611764565b905060008167ffffffffffffffff811115610be857610be8611786565b604051908082528060200260200182016040528015610c11578160200160208202803683370190505b50905060005b82811015610cb85760008686610c2e84600261179c565b610c399060016117b3565b818110610c4857610c486117c6565b919091013560f81c905060088888610c6186600261179c565b818110610c7057610c706117c6565b875192013560f81c90921b9290921792505061ffff821690849084908110610c9a57610c9a6117c6565b60209081029190910101525080610cb0816117dc565b915050610c17565b50949350505050565b600080610cf7610cd96000546001600160a01b031690565b8630610ce960046000898b6117f5565b610cf29161181f565b611163565b9150915081610dd35763ffffffff811615610db0576000805460ff60a01b198116600160a01b179091556040517f94c7d7ee0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906394c7d7ee90610d6b90889088908890600401611867565b600060405180830381600087803b158015610d8557600080fd5b505af1158015610d99573d6000803e3d6000fd5b50506000805460ff60a01b1916905550610dd39050565b60405162d1953b60e31b81526001600160a01b0386166004820152602401610564565b5050505050565b600054600160a81b900460ff161561045b576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610e45576040516342bcdf7f60e11b815260040160405180910390fd5b6127108210610e6a5760405163ed15e6cf60e01b815260048101839052602401610564565b6000828152600460205260409020546001600160a01b0316610e8c81846112b5565b610e9682846113d3565b816001600160a01b0316816001600160a01b0316847ff35f7de2307d3ff01d53200e7d33fe42695bb6aaedbcf4182682adfc932841ca60405160405180910390a4505050565b610ee461147d565b6000805460ff60a81b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b466000908152600260205260408120546001600160a01b031633819003610fba57806001600160a01b0316636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb491906118a6565b91505090565b600091505090565b6001600160a01b038116610fe9576040516342bcdf7f60e11b815260040160405180910390fd5b60005b8251811015611079576000838281518110611009576110096117c6565b6020026020010151905061271081106110385760405163ed15e6cf60e01b815260048101829052602401610564565b6000818152600460205260409020546001600160a01b031661105a81836112b5565b61106484836113d3565b50508080611071906117dc565b915050610fec565b50806001600160a01b03167fa83a281dbb841ebd1c3b79f5a25ccd28204a79f4fa3a66c57051b971fe006c82836040516110b3919061169c565b60405180910390a25050565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b611128610dda565b6000805460ff60a81b1916600160a81b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f143390565b6040516001600160a01b03848116602483015283811660448301527fffffffff000000000000000000000000000000000000000000000000000000008316606483015260009182918291829189169060840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb7009613000000000000000000000000000000000000000000000000000000001790525161121891906118c3565b600060405180830381855afa9150503d8060008114611253576040519150601f19603f3d011682016040523d82523d6000602084013e611258565b606091505b509150915081156112aa57604081511061128a578080602001905181019061128091906118f2565b90945092506112aa565b60208151106112aa57808060200190518101906112a7919061192a565b93505b505094509492505050565b6001600160a01b03821615610446576001600160a01b0382166000908152600660205260408120546112e990600190611947565b600083815260056020526040902054909150808214611390576001600160a01b038416600090815260066020526040812080548490811061132c5761132c6117c6565b906000526020600020015490508060066000876001600160a01b03166001600160a01b031681526020019081526020016000208381548110611370576113706117c6565b600091825260208083209091019290925591825260059052604090208190555b6001600160a01b03841660009081526006602052604090208054806113b7576113b761195a565b6001900381819060005260206000200160009055905550505050565b6000818152600460205260409020546001600160a01b031661140557600180549060006113ff836117dc565b91905055505b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03871690811790915580845260068352908320805460018181018355828652938520018590559252905461146a9190611947565b6000918252600560205260409091205550565b600054600160a81b900460ff1661045b576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811681146114d557600080fd5b50565b80151581146114d557600080fd5b600080604083850312156114f957600080fd5b8235611504816114c0565b91506020830135611514816114d8565b809150509250929050565b60006020828403121561153157600080fd5b5035919050565b6000806040838503121561154b57600080fd5b823591506020830135611514816114c0565b60008083601f84011261156f57600080fd5b50813567ffffffffffffffff81111561158757600080fd5b60208301915083602082850101111561159f57600080fd5b9250929050565b6000806000604084860312156115bb57600080fd5b833567ffffffffffffffff8111156115d257600080fd5b6115de8682870161155d565b90945092505060208401356115f2816114c0565b809150509250925092565b60006020828403121561160f57600080fd5b813561161a816114c0565b9392505050565b60008060006040848603121561163657600080fd5b833567ffffffffffffffff8082111561164e57600080fd5b818601915086601f83011261166257600080fd5b81358181111561167157600080fd5b8760208260051b850101111561168657600080fd5b602092830195509350508401356115f2816114c0565b6020808252825182820181905260009190848201906040850190845b818110156116d4578351835292840192918401916001016116b8565b50909695505050505050565b600080604083850312156116f357600080fd5b82356116fe816114c0565b946020939093013593505050565b6000806020838503121561171f57600080fd5b823567ffffffffffffffff81111561173657600080fd5b6117428582860161155d565b90969095509350505050565b634e487b7160e01b600052601160045260246000fd5b60008261178157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b8082028115828204841417610bb657610bb661174e565b80820180821115610bb657610bb661174e565b634e487b7160e01b600052603260045260246000fd5b6000600182016117ee576117ee61174e565b5060010190565b6000808585111561180557600080fd5b8386111561181257600080fd5b5050820193919092039150565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561185f5780818660040360031b1b83161692505b505092915050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b6000602082840312156118b857600080fd5b815161161a816114c0565b6000825160005b818110156118e457602081860181015185830152016118ca565b506000920191825250919050565b6000806040838503121561190557600080fd5b8251611910816114d8565b602084015190925063ffffffff8116811461151457600080fd5b60006020828403121561193c57600080fd5b815161161a816114d8565b81810381811115610bb657610bb661174e565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220306848debe987de8845e5f71fbdf5b8485e527e05d2776d663149ec1847f8b7364736f6c634300081400330000000000000000000000007b53a6cfd5b3383a02050eda88ee8f01999baf6a