3 txs
4 calls
constructor
constructor(address _initialAuthority, address _xDomainMessenger, address _receivingL2Addr)
functions
authority
viewfunction authority() view returns (address)
defaultGasLimit
viewfunction defaultGasLimit() view returns (uint32)
getTokenCount
viewfunction getTokenCount(address owner) view returns (uint256)
getTokensByOwner
viewfunction getTokensByOwner(address owner, uint256 fromIndex, uint256 toIndex) view returns (uint256[])
isActivated
viewfunction isActivated(uint256 tokenId) view returns (bool)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
MAX_GAS_LIMIT
viewfunction MAX_GAS_LIMIT() view returns (uint32)
MAX_TOKENS_PER_UPDATE
viewfunction MAX_TOKENS_PER_UPDATE() view returns (uint256)
paused
viewfunction paused() view returns (bool)
receivingL2Addr
viewfunction receivingL2Addr() view returns (address)
regulars
viewfunction regulars() view returns (address)
xDomainMessenger
viewfunction xDomainMessenger() view returns (address)
activateToken
nonpayablefunction activateToken(uint256 tokenId)
pause
nonpayablefunction pause()
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setDefaultGasLimit
nonpayablefunction setDefaultGasLimit(uint32 newGasLimit)
unpause
nonpayablefunction unpause()
updateMany
nonpayablefunction updateMany(address ownerAddress, uint256 fromIndex, uint256 toIndex, uint32 gasAmount)
updateTokenOwner
nonpayablefunction updateTokenOwner(uint256 tokenId, uint32 gasAmount)
updateTokenOwner
nonpayablefunction updateTokenOwner(uint256 tokenId)
events
AuthorityUpdated
event AuthorityUpdated(address authority)
DefaultGasLimitUpdated
event DefaultGasLimitUpdated(uint32 newLimit)
ManyTokensUpdated
event ManyTokensUpdated(address indexed owner, uint256 fromIndex, uint256 toIndex, uint32 gasAmount)
Paused
event Paused(address account)
TokenActivated
event TokenActivated(uint256 indexed tokenId)
TokenUpdated
event TokenUpdated(uint256 indexed tokenId, address indexed owner, uint32 gasAmount)
Unpaused
event Unpaused(address account)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
CrossDomainMessageFailed
error CrossDomainMessageFailed(address target, uint32 gasLimit)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
InvalidGasLimit
error InvalidGasLimit(uint32 providedLimit, uint32 maxLimit)
InvalidTokenRange
error InvalidTokenRange(uint256 fromIndex, uint256 toIndex, uint256 ownerBalance)
OwnerHasNoTokens
error OwnerHasNoTokens(address owner)
TooManyTokensPerUpdate
error TooManyTokensPerUpdate(uint256 totalTokens, uint256 maxTokens)
creation bytecode
0x60e06040526000805463ffffffff60b01b191661075360b61b1790553480156200002857600080fd5b5060405162001a0838038062001a088339810160408190526200004b9162000107565b82620000578162000096565b506000805460ff60a81b19169055736d0de90cdc47047982238fcf69944555d27ecb256080526001600160a01b0390811660c0521660a0525062000151565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b80516001600160a01b03811681146200010257600080fd5b919050565b6000806000606084860312156200011d57600080fd5b6200012884620000ea565b92506200013860208501620000ea565b91506200014860408501620000ea565b90509250925092565b60805160a05160c051611833620001d5600039600081816101ba015281816105fa0152818161066c01528181610a9b0152610b0d01526000818161026c015281816105cd0152610a6e015260008181610176015281816104dd01528181610729015281816108b201528181610c9301528181610e320152610f7d01526118336000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806376727fa3116100cd5780639744d42411610081578063bf7e214f11610066578063bf7e214f14610332578063e26c523c14610343578063e3f5aa511461036357600080fd5b80639744d42414610317578063ac7884401461032a57600080fd5b80638456cb59116100b25780638456cb59146102c25780638fb36037146102ca57806395368d2e146102eb57600080fd5b806376727fa31461028e5780637a9e5e4b146102af57600080fd5b806340f9bbe011610124578063524b6f7011610109578063524b6f70146102425780635c975abb146102555780636506f4ac1461026757600080fd5b806340f9bbe01461021c5780634ae706f81461022f57600080fd5b80632c68b45e116101555780632c68b45e146101dc57806331809dcf146101f15780633f4ba83a1461021457600080fd5b806318a7e35a146101715780632366626f146101b5575b600080fd5b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6101ef6101ea366004611417565b61036d565b005b6102046101ff366004611417565b6103ee565b60405190151581526020016101ac565b6101ef610416565b6101ef61022a366004611442565b610429565b6101ef61023d366004611487565b6106f6565b6101ef6102503660046114d1565b610ba1565b600054600160a81b900460ff16610204565b6101987f000000000000000000000000000000000000000000000000000000000000000081565b6102a161029c3660046114f5565b610c71565b6040519081526020016101ac565b6101ef6102bd3660046114f5565b610d00565b6101ef610d93565b6102d2610da4565b6040516001600160e01b031990911681526020016101ac565b60005461030290600160b01b900463ffffffff1681565b60405163ffffffff90911681526020016101ac565b6101ef610325366004611417565b610de1565b6102a1606481565b6000546001600160a01b0316610198565b610356610351366004611512565b610e0d565b6040516101ac9190611582565b610302624c4b4081565b61037a335b600036611054565b600881901c60009081526001602081905260409091205460ff83169190911b166103eb57600881901c6000908152600160208190526040808320805460ff86169390931b9092179091555182917f43f7deefc1f4e825772604a0bc01b8362eb1eef895e6bd4db39bfab68c1e94c891a25b50565b600881901c600090815260016020819052604082205460ff84169190911b1615155b92915050565b61041f33610372565b61042761116d565b565b6104316111c2565b61043a33610372565b600882901c60009081526001602081905260409091205460ff84169190911b166104ab57600882901c6000908152600160208190526040808320805460ff87169390931b9092179091555183917f43f7deefc1f4e825772604a0bc01b8362eb1eef895e6bd4db39bfab68c1e94c891a25b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561052c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105509190611595565b604051602481018590526001600160a01b038216604482015290915060009060640160408051601f198184030181529181526020820180516001600160e01b03167fe68c24ae0000000000000000000000000000000000000000000000000000000017905251633dbb202b60e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633dbb202b90610626907f000000000000000000000000000000000000000000000000000000000000000090859088906004016115d6565b600060405180830381600087803b15801561064057600080fd5b505af1925050508015610651575060015b6106aa5760405163013bd13760e71b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482015263ffffffff841660248201526044015b60405180910390fd5b60405163ffffffff841681526001600160a01b0383169085907f61f11beb3592594f127a625a7cadbb3c3dc9ca6de12acd3d682d4927c0fa37ef9060200160405180910390a350505050565b6106fe6111c2565b61070733610372565b6040516370a0823160e01b81526001600160a01b0385811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611627565b9050806000036107c45760405163e9b20bab60e01b81526001600160a01b03861660048201526024016106a1565b82841015806107d257508083115b156108015760405163731c68b160e01b81526004810185905260248101849052604481018290526064016106a1565b600061080d8585611656565b90506064811115610854576040517f1dfedba600000000000000000000000000000000000000000000000000000000815260048101829052606460248201526044016106a1565b60008167ffffffffffffffff81111561086f5761086f611669565b604051908082528060200260200182016040528015610898578160200160208202803683370190505b50905060005b828110156109fd5760006001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016632f745c598a6108e2858c61167f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611627565b90508083838151811061096457610964611692565b6020908102919091010152610999600182600881901c600090815260208390526040902054600160ff83161b16151592915050565b6109ea57600881901c6000908152600160208190526040808320805460ff86169390931b9092179091555182917f43f7deefc1f4e825772604a0bc01b8362eb1eef895e6bd4db39bfab68c1e94c891a25b50806109f5816116a8565b91505061089e565b5060008188604051602401610a139291906116c1565b60408051601f198184030181529181526020820180516001600160e01b03167f82413f2a0000000000000000000000000000000000000000000000000000000017905251633dbb202b60e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633dbb202b90610ac7907f00000000000000000000000000000000000000000000000000000000000000009085908a906004016115d6565b600060405180830381600087803b158015610ae157600080fd5b505af1925050508015610af2575060015b610b465760405163013bd13760e71b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482015263ffffffff861660248201526044016106a1565b604080518881526020810188905263ffffffff87168183015290516001600160a01b038a16917f90050f1dba8450ad2e6b68347cb07773e6940f7ad8cf3dba4bf43126babe77bd919081900360600190a25050505050505050565b610baa33610372565b624c4b4063ffffffff82161115610bfe576040517fdb055e5200000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152624c4b4060248201526044016106a1565b600080547fffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffff16600160b01b63ffffffff8416908102919091179091556040519081527f6e562b83e3277c7611cc9d364d836abb69074b5139c96582a9f042f8b3d28ade906020015b60405180910390a150565b6040516370a0823160e01b81526001600160a01b0382811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610cdc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104109190611627565b60005433906001600160a01b03168114610d375760405162d1953b60e31b81526001600160a01b03821660048201526024016106a1565b816001600160a01b03163b600003610d86576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016106a1565b610d8f82611206565b5050565b610d9c33610372565b61042761126c565b60008054600160a01b900460ff16610dbc5750600090565b507f8fb360370000000000000000000000000000000000000000000000000000000090565b610de96111c2565b610df233610372565b6000546103eb908290600160b01b900463ffffffff16610429565b6040516370a0823160e01b81526001600160a01b0384811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610e79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9d9190611627565b905080600003610ecb5760405163e9b20bab60e01b81526001600160a01b03861660048201526024016106a1565b8084101580610ed957508083115b80610ee45750828410155b15610f135760405163731c68b160e01b81526004810185905260248101849052604481018290526064016106a1565b6000610f1f8585611656565b905060008167ffffffffffffffff811115610f3c57610f3c611669565b604051908082528060200260200182016040528015610f65578160200160208202803683370190505b50905060005b82811015611049576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016632f745c5989610fad848b61167f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190611627565b82828151811061102c5761102c611692565b602090810291909101015280611041816116a8565b915050610f6b565b509695505050505050565b60008061108a61106c6000546001600160a01b031690565b863061107c60046000898b6116ec565b61108591611716565b6112af565b91509150816111665763ffffffff811615611143576000805460ff60a01b198116600160a01b179091556040517f94c7d7ee0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906394c7d7ee906110fe90889088908890600401611746565b600060405180830381600087803b15801561111857600080fd5b505af115801561112c573d6000803e3d6000fd5b50506000805460ff60a01b19169055506111669050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016106a1565b5050505050565b6111756113d4565b6000805460ff60a81b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054600160a81b900460ff1615610427576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610c66565b6112746111c2565b6000805460ff60a81b1916600160a81b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586111a53390565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b03167fb700961300000000000000000000000000000000000000000000000000000000179052516113379190611785565b600060405180830381855afa9150503d8060008114611372576040519150601f19603f3d011682016040523d82523d6000602084013e611377565b606091505b509150915081156113c95760408151106113a9578080602001905181019061139f91906117b6565b90945092506113c9565b60208151106113c957808060200190518101906113c691906117e2565b93505b505094509492505050565b600054600160a81b900460ff16610427576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561142957600080fd5b5035919050565b63ffffffff811681146103eb57600080fd5b6000806040838503121561145557600080fd5b82359150602083013561146781611430565b809150509250929050565b6001600160a01b03811681146103eb57600080fd5b6000806000806080858703121561149d57600080fd5b84356114a881611472565b9350602085013592506040850135915060608501356114c681611430565b939692955090935050565b6000602082840312156114e357600080fd5b81356114ee81611430565b9392505050565b60006020828403121561150757600080fd5b81356114ee81611472565b60008060006060848603121561152757600080fd5b833561153281611472565b95602085013595506040909401359392505050565b600081518084526020808501945080840160005b838110156115775781518752958201959082019060010161155b565b509495945050505050565b6020815260006114ee6020830184611547565b6000602082840312156115a757600080fd5b81516114ee81611472565b60005b838110156115cd5781810151838201526020016115b5565b50506000910152565b6001600160a01b038416815260606020820152600083518060608401526116048160808501602088016115b2565b63ffffffff93909316604083015250601f91909101601f19160160800192915050565b60006020828403121561163957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561041057610410611640565b634e487b7160e01b600052604160045260246000fd5b8082018082111561041057610410611640565b634e487b7160e01b600052603260045260246000fd5b6000600182016116ba576116ba611640565b5060010190565b6040815260006116d46040830185611547565b90506001600160a01b03831660208301529392505050565b600080858511156116fc57600080fd5b8386111561170957600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561173e5780818660040360031b1b83161692505b505092915050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516117978184602087016115b2565b9190910192915050565b805180151581146117b157600080fd5b919050565b600080604083850312156117c957600080fd5b6117d2836117a1565b9150602083015161146781611430565b6000602082840312156117f457600080fd5b6114ee826117a156fea2646970667358221220af30a6fedb7a0e4bdda00122f93ee65b6bc8a1cfb6448092aa6904a5f4f6d4e564736f6c63430008140033000000000000000000000000e0e306530a5181cb3ac5abc77a20a61958b08b8d000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa000000000000000000000000e05003e439f087eca56a28574b4790b6f35d49df