0 txs
0 calls
constructor
constructor()
functions
BATCH_LIMIT
viewfunction BATCH_LIMIT() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
TOKEN_TYPE
viewfunction TOKEN_TYPE() view returns (bytes32)
TRANSFER_EVENT_SIG
viewfunction TRANSFER_EVENT_SIG() view returns (bytes32)
WITHDRAW_BATCH_EVENT_SIG
viewfunction WITHDRAW_BATCH_EVENT_SIG() view returns (bytes32)
exitTokens
nonpayablefunction exitTokens(address, address rootToken, bytes log)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _owner)
lockTokens
nonpayablefunction lockTokens(address depositor, address depositReceiver, address rootToken, bytes depositData)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
events
LockedERC721
event LockedERC721(address indexed depositor, address indexed depositReceiver, address indexed rootToken, uint256 tokenId)
LockedERC721Batch
event LockedERC721Batch(address indexed depositor, address indexed depositReceiver, address indexed rootToken, uint256[] tokenIds)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
No errors.
creation bytecode
0x60806040526000600260006101000a81548160ff02191690831515021790555034801561002b57600080fd5b506125e88061003b6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806391d14854116100a2578063c4d66de811610071578063c4d66de814610572578063ca15c873146105b6578063d547741f146105f8578063e375b64e14610646578063ec87621c1461071f5761010b565b806391d14854146104b25780639559c0bd14610518578063a217fddf14610536578063b017a30f146105545761010b565b80634794b430116100de5780634794b43014610303578063609c92b8146103215780638274664f1461033f5780639010d07c1461043a5761010b565b8063150b7a0214610110578063248a9ca3146102255780632f2ff15d1461026757806336568abe146102b5575b600080fd5b6101d16004803603608081101561012657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460018302840111640100000000831117156101c157600080fd5b909192939192939050505061073d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6102516004803603602081101561023b57600080fd5b8101908080359060200190929190505050610752565b6040518082815260200191505060405180910390f35b6102b36004803603604081101561027d57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610771565b005b610301600480360360408110156102cb57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107fa565b005b61030b610893565b6040518082815260200191505060405180910390f35b6103296108ba565b6040518082815260200191505060405180910390f35b6104386004803603606081101561035557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103b257600080fd5b8201836020820111156103c457600080fd5b803590602001918460018302840111640100000000831117156103e657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506108f3565b005b6104706004803603604081101561045057600080fd5b810190808035906020019092919080359060200190929190505050610eb9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104fe600480360360408110156104c857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eea565b604051808215151515815260200191505060405180910390f35b610520610f1b565b6040518082815260200191505060405180910390f35b61053e610f20565b6040518082815260200191505060405180910390f35b61055c610f27565b6040518082815260200191505060405180910390f35b6105b46004803603602081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4e565b005b6105e2600480360360208110156105cc57600080fd5b8101908080359060200190929190505050611079565b6040518082815260200191505060405180910390f35b6106446004803603604081101561060e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061109f565b005b61071d6004803603608081101561065c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156106d957600080fd5b8201836020820111156106eb57600080fd5b8035906020019184600183028401116401000000008311171561070d57600080fd5b9091929391929390505050611128565b005b610727611691565b6040518082815260200191505060405180910390f35b600063150b7a0260e01b905095945050505050565b6000806000838152602001908152602001600020600201549050919050565b610797600080848152602001908152602001600020600201546107926116ca565b610eea565b6107ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061241c602f913960400191505060405180910390fd5b6107f682826116d2565b5050565b6108026116ca565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061255d602f913960400191505060405180910390fd5b61088f8282611765565b5050565b7ff871896b17e9cb7a64941c62c188a4f5c621b86800e3d15452ece01ce56073df60001b81565b60405180807f45524337323100000000000000000000000000000000000000000000000000008152506006019050604051809103902081565b60405180807f4d414e414745525f524f4c450000000000000000000000000000000000000000815250600c019050604051809103902061093a816109356116ca565b610eea565b6001906109ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156109f05780601f106109c5576101008083540402835291602001916109f0565b820191906000526020600020905b8154815290600101906020018083116109d357829003601f168201915b50509250505060405180910390fd5b506060610a13610a0e846117f8565b61189d565b90506060610a3482600181518110610a2757fe5b602002602001015161189d565b90506000610a5582600181518110610a4857fe5b6020026020010151611a68565b90507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60001b610a9883600081518110610a8b57fe5b6020026020010151611a68565b60001b1415610c3657600073ffffffffffffffffffffffffffffffffffffffff16610ad683600281518110610ac957fe5b6020026020010151611a68565b73ffffffffffffffffffffffffffffffffffffffff1614610b42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061253c6021913960400191505060405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff166342842e0e3083610b7d86600381518110610b7057fe5b6020026020010151611a68565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050610eb0565b7ff871896b17e9cb7a64941c62c188a4f5c621b86800e3d15452ece01ce56073df60001b610c7783600081518110610c6a57fe5b6020026020010151611a68565b60001b1415610e5e576060610c9f84600281518110610c9257fe5b6020026020010151611c1d565b90506060818060200190516020811015610cb857600080fd5b8101908080516040519392919084640100000000821115610cd857600080fd5b83820191506020820185811115610cee57600080fd5b8251866020820283011164010000000082111715610d0b57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015610d42578082015181840152602081019050610d27565b50505050905001604052505050905060008151905060005b81811015610e55578973ffffffffffffffffffffffffffffffffffffffff166342842e0e3087868581518110610d8c57fe5b60200260200101516040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e3057600080fd5b505af1158015610e44573d6000803e3d6000fd5b505050508080600101915050610d5a565b50505050610eaf565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806124f36022913960400191505060405180910390fd5b5b50505050505050565b6000610ee282600080868152602001908152602001600020600001611d1d90919063ffffffff16565b905092915050565b6000610f1382600080868152602001908152602001600020600001611d3790919063ffffffff16565b905092915050565b601481565b6000801b81565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60001b81565b600260009054906101000a900460ff1615610fd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f616c726561647920696e6974656400000000000000000000000000000000000081525060200191505060405180910390fd5b61100f6040518060400160405280600f81526020017f4552433732315072656469636174650000000000000000000000000000000000815250611d67565b61101c6000801b82611e13565b61105b60405180807f4d414e414745525f524f4c450000000000000000000000000000000000000000815250600c019050604051809103902082611e13565b6001600260006101000a81548160ff02191690831515021790555050565b6000611098600080848152602001908152602001600020600001611e21565b9050919050565b6110c5600080848152602001908152602001600020600201546110c06116ca565b610eea565b61111a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806124736030913960400191505060405180910390fd5b6111248282611765565b5050565b60405180807f4d414e414745525f524f4c450000000000000000000000000000000000000000815250600c019050604051809103902061116f8161116a6116ca565b610eea565b600190611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156112255780601f106111fa57610100808354040283529160200191611225565b820191906000526020600020905b81548152906001019060200180831161120857829003601f168201915b50509250505060405180910390fd5b5060208383905014156113bb5760008383602081101561125357600080fd5b810190808035906020019092919050505090508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8357472e13612a8c3d6f3e9d71fbba8a78ab77dbdcc7fcf3b7b645585f0bbbfc846040518082815260200191505060405180910390a48473ffffffffffffffffffffffffffffffffffffffff166342842e0e8830846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561139d57600080fd5b505af11580156113b1573d6000803e3d6000fd5b5050505050611689565b6060838360208110156113cd57600080fd5b81019080803590602001906401000000008111156113ea57600080fd5b8201836020820111156113fc57600080fd5b8035906020019184602083028401116401000000008311171561141e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505090508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f5345c2beb0e49c805f42bb70c4ec5c3c3d9680ce45b8f4529c028d5f3e0f7a0d846040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156115145780820151818401526020810190506114f9565b505050509050019250505060405180910390a46000815190506014811115611587576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124cf6024913960400191505060405180910390fd5b60005b81811015611685578673ffffffffffffffffffffffffffffffffffffffff166342842e0e8a308685815181106115bc57fe5b60200260200101516040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561166057600080fd5b505af1158015611674573d6000803e3d6000fd5b50505050808060010191505061158a565b5050505b505050505050565b60405180807f4d414e414745525f524f4c450000000000000000000000000000000000000000815250600c019050604051809103902081565b600033905090565b6116f981600080858152602001908152602001600020600001611e3690919063ffffffff16565b15611761576117066116ca565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61178c81600080858152602001908152602001600020600001611e6690919063ffffffff16565b156117f4576117996116ca565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61180061233a565b6000825111611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f524c505265616465723a20494e56414c49445f42595445535f4c454e4754480081525060200191505060405180910390fd5b600060208301905060405180604001604052808451815260200182815250915050919050565b60606118a882611e96565b61191a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f524c505265616465723a204954454d5f4e4f545f4c495354000000000000000081525060200191505060405180910390fd5b600061192583611ecf565b905060608167ffffffffffffffff8111801561194057600080fd5b5060405190808252806020026020018201604052801561197a57816020015b61196761233a565b81526020019060019003908161195f5790505b509050600061198c8560200151611f83565b9050846000015181146119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125156027913960400191505060405180910390fd5b60006119f9866020015161203b565b8660200151019050600080600090505b85811015611a5a57611a1a83611f83565b9150604051806040016040528083815260200184815250858281518110611a3d57fe5b602002602001018190525081830192508080600101915050611a09565b508395505050505050919050565b6000611a7382611e96565b15611ae6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f524c505265616465723a204445434f44494e475f4c4953545f41535f55494e5481525060200191505060405180910390fd5b602182600001511115611b61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f524c505265616465723a20494e56414c49445f55494e545f4c454e475448000081525060200191505060405180910390fd5b6000611b708360200151611f83565b905082600001518114611bce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061258c6027913960400191505060405180910390fd5b6000611bdd846020015161203b565b90506000818560000151039050600080838760200151019050805191506020831015611c1057826020036101000a820491505b8195505050505050919050565b60606000611c2e8360200151611f83565b905082600001518114611c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061244b6028913960400191505060405180910390fd5b6000611c9b846020015161203b565b9050600081856000015103905060608167ffffffffffffffff81118015611cc157600080fd5b506040519080825280601f01601f191660200182016040528015611cf45781602001600182028036833780820191505090505b5090506000816020019050611d108488602001510182856120c4565b8195505050505050919050565b6000611d2c836000018361212b565b60001c905092915050565b6000611d5f836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6121ae565b905092915050565b806040516020018082805190602001908083835b60208310611d9e5780518252602082019150602081019050602083039250611d7b565b6001836020036101000a038019825116818451168082178552505050505050905001807f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000815250601a0191505060405160208183030381529060405260019080519060200190611e0f929190612354565b5050565b611e1d82826116d2565b5050565b6000611e2f826000016121d1565b9050919050565b6000611e5e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6121e2565b905092915050565b6000611e8e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612252565b905092915050565b600080600083602001519050805160001a915060c060ff168260ff161015611ec357600092505050611eca565b6001925050505b919050565b600080600090506000611ee5846020015161203b565b84602001510190506000846000015185602001510190505b80821015611f7857611f0e82611f83565b8201915080821115611f6b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806124a3602c913960400191505060405180910390fd5b8280600101935050611efd565b829350505050919050565b6000806000835160001a9050608060ff16811015611fa45760019150612031565b60b860ff16811015611fc1576001608060ff168203019150612030565b60c060ff16811015611ff15760b78103600185019450806020036101000a8551046001820181019350505061202f565b60f860ff1681101561200e57600160c060ff16820301915061202e565b60f78103600185019450806020036101000a855104600182018101935050505b5b5b5b8192505050919050565b600080825160001a9050608060ff1681101561205b5760009150506120bf565b60b860ff16811080612080575060c060ff16811015801561207f575060f860ff1681105b5b1561208f5760019150506120bf565b60c060ff168110156120af5760018060b80360ff168203019150506120bf565b60018060f80360ff168203019150505b919050565b60008114156120d257612126565b5b602060ff1681106121025782518252602060ff1683019250602060ff1682019150602060ff16810390506120d3565b6000600182602060ff16036101000a03905080198451168184511681811785525050505b505050565b60008183600001805490501161218c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123fa6022913960400191505060405180910390fd5b82600001828154811061219b57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b60006121ee83836121ae565b61224757826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061224c565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461232e576000600182039050600060018660000180549050039050600086600001828154811061229d57fe5b90600052602060002001549050808760000184815481106122ba57fe5b90600052602060002001819055506001830187600101600083815260200190815260200160002081905550866000018054806122f257fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050612334565b60009150505b92915050565b604051806040016040528060008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061239557805160ff19168380011785556123c3565b828001600101855582156123c3579182015b828111156123c25782518255916020019190600101906123a7565b5b5090506123d091906123d4565b5090565b6123f691905b808211156123f25760008160009055506001016123da565b5090565b9056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74524c505265616465723a2042595445535f4445434f4445445f4c454e4754485f4d49534d41544348416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65524c505265616465723a204e554d5f4954454d535f4445434f4445445f4c454e4754485f4d49534d415443484552433732315072656469636174653a20455843454544535f42415443485f4c494d49544552433732315072656469636174653a20494e56414c49445f5349474e4154555245524c505265616465723a204c4953545f4445434f4445445f4c454e4754485f4d49534d415443484552433732315072656469636174653a20494e56414c49445f5245434549564552416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66524c505265616465723a2055494e545f4445434f4445445f4c454e4754485f4d49534d41544348a2646970667358221220eca85c82f6d83277497d896de6cfe980f27b94f869bdb1bbe40282cb5e9f310d64736f6c63430006060033