0 txs
41 calls
constructor
No constructor.
functions
childToRootToken
viewfunction childToRootToken(bytes32) view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
depositFee
viewfunction depositFee() view returns (uint256)
ETHER_ADDRESS
viewfunction ETHER_ADDRESS() view returns (address)
getMerkleRoot
viewfunction getMerkleRoot() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hashChild
purefunction hashChild(uint64 childTokenIndex, uint64 childTokenSubIndex) pure returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MAPPER_ROLE
viewfunction MAPPER_ROLE() view returns (bytes32)
MERKLE_UPDATER
viewfunction MERKLE_UPDATER() view returns (bytes32)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
previousMerkleRoot
viewfunction previousMerkleRoot() view returns (bytes32)
processedExits
viewfunction processedExits(bytes32) view returns (bool)
rootToChildToken
viewfunction rootToChildToken(address) view returns (uint64 index, uint64 subindex)
stateSenderAddress
viewfunction stateSenderAddress() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenToType
viewfunction tokenToType(address) view returns (bytes32)
treasurer
viewfunction treasurer() view returns (address)
typeToVault
viewfunction typeToVault(bytes32) view returns (address)
withdrawFee
viewfunction withdrawFee() view returns (uint256)
cleanMapToken
nonpayablefunction cleanMapToken(address rootToken, uint64 childTokenIndex, uint64 childTokenSubIndex)
depositEtherFor
payablefunction depositEtherFor(address user, bytes32 ccdUser) payable
depositFor
payablefunction depositFor(address user, bytes32 ccdUser, address rootToken, bytes depositData) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _owner)
mapToken
nonpayablefunction mapToken(address rootToken, uint64 childTokenIndex, uint64 childTokenSubIndex, bytes32 tokenType)
registerVault
nonpayablefunction registerVault(bytes32 tokenType, address vaultAddress)
remapToken
nonpayablefunction remapToken(address rootToken, uint64 childTokenIndex, uint64 childTokenSubIndex, bytes32 tokenType)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDepositFee
nonpayablefunction setDepositFee(uint256 newDepositFee)
setMerkleRoot
nonpayablefunction setMerkleRoot(bytes32 _merkleRoot)
setPaused
nonpayablefunction setPaused(bool _paused)
setStateSender
nonpayablefunction setStateSender(address newStateSender)
setTreasurer
nonpayablefunction setTreasurer(address newTreasurer)
setWithdrawFee
nonpayablefunction setWithdrawFee(uint256 newWithdrawFee)
withdraw
payablefunction withdraw(tuple withdrawParam, bytes32[] proof) payable
events
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
0x608060405234801561001057600080fd5b506124e5806100206000396000f3fe6080604052600436106102295760003560e01c80636f3cde1f11610123578063cf1d21c0116100ab578063ea60c7c41161006f578063ea60c7c414610717578063f0471dc014610778578063f57663d114610798578063fda49eb4146107ab578063ff57e1d8146107cb57600080fd5b8063cf1d21c01461066e578063d547741f14610696578063e2c49de1146106b6578063e43009a6146106d4578063e941fa781461070157600080fd5b8063ab14248e116100f2578063ab14248e14610594578063b6ac642a146105e2578063c4d66de814610602578063c85d263114610622578063caf3791e1461065857600080fd5b80636f3cde1f1461051f5780637cb647591461053f57806391d148541461055f578063a217fddf1461057f57600080fd5b8063490ae210116101b15780635c975abb116101755780635c975abb1461047f578063607f2d4214610499578063671d6429146104c957806367a52793146104e95780636cb136b0146104ff57600080fd5b8063490ae210146103e3578063495906571461040357806352174ca914610418578063568b80b514610438578063594986a41461046c57600080fd5b8063286f8c74116101f8578063286f8c74146103395780632eb4a7ab146103595780632f2ff15d1461036f57806336568abe1461038f5780633e9e3e73146103af57600080fd5b806301ffc9a7146102935780630bbfae05146102c857806316c38b3c146102db578063248a9ca3146102fb57600080fd5b3661028e5760405162461bcd60e51b815260206004820152602860248201527f526f6f74436861696e4d616e616765723a206e6f2064697265637420455448206044820152676465706f7369747360c01b60648201526084015b60405180910390fd5b005b600080fd5b34801561029f57600080fd5b506102b36102ae366004611e58565b6107eb565b60405190151581526020015b60405180910390f35b61028c6102d6366004611e82565b610822565b3480156102e757600080fd5b5061028c6102f6366004611f10565b610cca565b34801561030757600080fd5b5061032b610316366004611f32565b6000908152600d602052604090206001015490565b6040519081526020016102bf565b34801561034557600080fd5b5061028c610354366004611f63565b610cea565b34801561036557600080fd5b5061032b60075481565b34801561037b57600080fd5b5061028c61038a366004611f63565b610d84565b34801561039b57600080fd5b5061028c6103aa366004611f63565b610daf565b3480156103bb57600080fd5b5061032b7f71e7a05257c6e1a8458eede759a6478098f83525a01219cdc0e74ef32e36a77381565b3480156103ef57600080fd5b5061028c6103fe366004611f32565b610e2d565b34801561040f57600080fd5b5060075461032b565b34801561042457600080fd5b5061028c610433366004611faf565b610e3f565b34801561044457600080fd5b5061032b7f2559c73ad5e64226de134fc607a00e9f0c0b7465b43c2ae69baaca347c60777781565b61028c61047a366004611ff4565b610f4f565b34801561048b57600080fd5b50600c546102b39060ff1681565b3480156104a557600080fd5b506102b36104b4366004611f32565b60056020526000908152604090205460ff1681565b3480156104d557600080fd5b5061028c6104e4366004612092565b611069565b3480156104f557600080fd5b5061032b600a5481565b34801561050b57600080fd5b5061028c61051a366004612092565b611108565b34801561052b57600080fd5b5061028c61053a3660046120af565b6111a9565b34801561054b57600080fd5b5061028c61055a366004611f32565b611288565b34801561056b57600080fd5b506102b361057a366004611f63565b611317565b34801561058b57600080fd5b5061032b600081565b3480156105a057600080fd5b506105ca6105af366004611f32565b6003602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016102bf565b3480156105ee57600080fd5b5061028c6105fd366004611f32565b611342565b34801561060e57600080fd5b5061028c61061d366004612092565b611354565b34801561062e57600080fd5b506105ca61063d366004611f32565b6001602052600090815260409020546001600160a01b031681565b34801561066457600080fd5b5061032b60085481565b34801561067a57600080fd5b506105ca73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106a257600080fd5b5061028c6106b1366004611f63565b611467565b3480156106c257600080fd5b506006546001600160a01b03166105ca565b3480156106e057600080fd5b5061032b6106ef366004612092565b60046020526000908152604090205481565b34801561070d57600080fd5b5061032b600b5481565b34801561072357600080fd5b50610758610732366004612092565b6002602052600090815260409020546001600160401b0380821691600160401b90041682565b604080516001600160401b039384168152929091166020830152016102bf565b34801561078457600080fd5b5061028c6107933660046120af565b61148d565b61028c6107a63660046120fc565b611604565b3480156107b757600080fd5b506009546105ca906001600160a01b031681565b3480156107d757600080fd5b5061032b6107e6366004612128565b611674565b60006001600160e01b03198216637965db0b60e01b148061081c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600c5460ff16156108455760405162461bcd60e51b81526004016102839061215b565b600b543410156108bd5760405162461bcd60e51b815260206004820152603b60248201527f526f6f74436861696e4d616e616765723a204554482073656e64206e6565647360448201527f20746f206265206174206c6561737420776974686472617746656500000000006064820152608401610283565b600b54156108d0576108d0600b546116b9565b60006108df602085018561219d565b6108ef604086016020870161219d565b60408601356109046080880160608901612092565b608088013561091960c08a0160a08b0161219d565b61092960e08b0160c08c0161219d565b60405160200161093f97969594939291906121b8565b60408051601f1981840301815291815281516020928301206000818152600590935291205490915060ff16156109c85760405162461bcd60e51b815260206004820152602860248201527f526f6f74436861696e4d616e616765723a206578697420616c726561647920706044820152671c9bd8d95cdcd95960c21b6064820152608401610283565b610a098383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060075491508490506116f3565b80610a505750610a508383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060085491508490506116f3565b610ac25760405162461bcd60e51b815260206004820152603760248201527f526f6f74436861696e4d616e616765723a207472616e73616374696f6e20707260448201527f6f6f6620766572696669636174696f6e206661696c65640000000000000000006064820152608401610283565b60008181526005602090815260408220805460ff19166001179055610afd90610aed9087018761219d565b6107e6604088016020890161219d565b6000818152600360205260409020549091506001600160a01b031680610b355760405162461bcd60e51b815260040161028390612200565b6001600160a01b03808216600090815260046020908152604080832054835260019091529020541680638468b27a610b7360808a0160608b01612092565b84610b8460e08c0160c08d0161219d565b604080516001600160e01b031960e087901b1681526001600160a01b0394851660048201529390921660248401526001600160401b031660448301528a01356064820152608401600060405180830381600087803b158015610be557600080fd5b505af1158015610bf9573d6000803e3d6000fd5b50506006546001600160a01b0316915063325f4a4a9050610c1d60208a018a61219d565b610c2d60408b0160208c0161219d565b60408b0135610c4260808d0160608e01612092565b8c608001358d60a0016020810190610c5a919061219d565b8e60c0016020810190610c6d919061219d565b6040518863ffffffff1660e01b8152600401610c8f97969594939291906121b8565b600060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b5050505050505050505050565b6000610cd68133611709565b50600c805460ff1916911515919091179055565b6000610cf68133611709565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038581169182179092556006549251633001397d60e01b8152600481018790526024810191909152911690633001397d90604401600060405180830381600087803b158015610d6757600080fd5b505af1158015610d7b573d6000803e3d6000fd5b50505050505050565b6000828152600d6020526040902060010154610da08133611709565b610daa838361176d565b505050565b6001600160a01b0381163314610e1f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610283565b610e2982826117f3565b5050565b6000610e398133611709565b50600a55565b6000610e4b8133611709565b6000610e578484611674565b604080518082018252600080825260208083018281526001600160a01b038b8116808552600284528685209551865493516001600160401b03908116600160401b026001600160801b031990951691811691909117939093179095558684526003835285842080546001600160a01b03191690558484526004928390528584208490556006549551634b898fdf60e11b815292830194909452898116602483015288166044820152606481019190915292935016906397131fbe906084015b600060405180830381600087803b158015610f3057600080fd5b505af1158015610f44573d6000803e3d6000fd5b505050505050505050565b600c5460ff1615610f725760405162461bcd60e51b81526004016102839061215b565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610feb5760405162461bcd60e51b8152602060048201526024808201527f526f6f74436861696e4d616e616765723a20696e76616c696420726f6f74207460448201526337b5b2b760e11b6064820152608401610283565b600a5434101561100d5760405162461bcd60e51b815260040161028390612242565b600a541561102057611020600a546116b9565b61106285858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061185a92505050565b5050505050565b60006110758133611709565b6001600160a01b0382166110e55760405162461bcd60e51b815260206004820152603160248201527f526f6f74436861696e4d616e616765723a207472656173757265722063616e206044820152706e6f74206265206164647265737328302960781b6064820152608401610283565b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b60006111148133611709565b6001600160a01b0382166111865760405162461bcd60e51b815260206004820152603360248201527f526f6f74436861696e4d616e616765723a20737461746553656e6465722063616044820152726e206e6f74206265206164647265737328302960681b6064820152608401610283565b50600680546001600160a01b0319166001600160a01b0392909216919091179055565b7f2559c73ad5e64226de134fc607a00e9f0c0b7465b43c2ae69baaca347c6077776111d48133611709565b60006111e08585611674565b6001600160a01b0387166000908152600260205260409020549091506001600160401b031615801561122757506000818152600360205260409020546001600160a01b0316155b6112735760405162461bcd60e51b815260206004820181905260248201527f526f6f74436861696e4d616e616765723a20616c7265616479206d61707065646044820152606401610283565b6112808682878787611a50565b505050505050565b7f71e7a05257c6e1a8458eede759a6478098f83525a01219cdc0e74ef32e36a7736112b38133611709565b600780546008558290556006546040516338835bcb60e01b8152600481018490526001600160a01b03909116906338835bcb90602401600060405180830381600087803b15801561130357600080fd5b505af1158015611280573d6000803e3d6000fd5b6000918252600d602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600061134e8133611709565b50600b55565b600054610100900460ff1661136f5760005460ff1615611373565b303b155b6113d65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610283565b600054610100900460ff161580156113f8576000805461ffff19166101011790555b611403600083611b8c565b61142d7f2559c73ad5e64226de134fc607a00e9f0c0b7465b43c2ae69baaca347c60777783611b8c565b600980546001600160a01b0319166001600160a01b038416179055600c805460ff191690558015610e29576000805461ff00191690555050565b6000828152600d60205260409020600101546114838133611709565b610daa83836117f3565b60006114998133611709565b60006114a58585611674565b6001600160a01b03871660009081526002602090815260408083208151808301909252546001600160401b03808216808452600160401b90920416928201839052939450926114f391611674565b6000848152600360209081526040808320546001600160a01b0316808452600290925290912054919250906001600160401b031615158061155b57506001600160a01b038116600090815260026020526040902054600160401b90046001600160401b031615155b156115bd57604080518082018252600080825260208083018281526001600160a01b0386168352600282528483209351845491516001600160401b03908116600160401b026001600160801b0319909316911617179092556004909152908120555b6000828152600360205260409020546001600160a01b0316156115f757600082815260036020526040902080546001600160a01b03191690555b610f4489858a8a8a611a50565b600c5460ff16156116275760405162461bcd60e51b81526004016102839061215b565b600a543410156116495760405162461bcd60e51b815260040161028390612242565b600a541561165c5761165c600a546116b9565b610e298282600a543461166f91906122b5565b611b96565b6040516001600160c01b031960c084811b8216602084015283901b16602882015260009060300160405160208183030381529060405280519060200120905092915050565b6009546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e29573d6000803e3d6000fd5b6000826117008584611c42565b14949350505050565b6117138282611317565b610e295761172b816001600160a01b03166014611cb6565b611736836020611cb6565b6040516020016117479291906122ec565b60408051601f198184030181529082905262461bcd60e51b82526102839160040161238d565b6117778282611317565b610e29576000828152600d602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117af3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117fd8282611317565b15610e29576000828152600d602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160a01b0382166000908152600460209081526040808320546002909252909120546001600160401b03161580159061189557508015155b6118b15760405162461bcd60e51b815260040161028390612200565b6000818152600160205260409020546001600160a01b0316806119225760405162461bcd60e51b8152602060048201526024808201527f526f6f74436861696e4d616e616765723a20696e76616c696420746f6b656e206044820152637479706560e01b6064820152608401610283565b6001600160a01b0386166119785760405162461bcd60e51b815260206004820152601e60248201527f526f6f74436861696e4d616e616765723a20696e76616c6964207573657200006044820152606401610283565b60405163c6aafd7560e01b81526001600160a01b0382169063c6aafd75906119ac9033908a908a908a908a906004016123a0565b600060405180830381600087803b1580156119c657600080fd5b505af11580156119da573d6000803e3d6000fd5b5050600654604051631fe194a560e11b81526001600160a01b039091169250633fc3294a9150611a169089908990899087908a906004016123e6565b600060405180830381600087803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b50505050505050505050565b6000818152600160205260409020546001600160a01b0316611ac75760405162461bcd60e51b815260206004820152602a60248201527f526f6f74436861696e4d616e616765723a206e6f7420737570706f7274656420604482015269746f6b656e207479706560b01b6064820152608401610283565b6040805180820182526001600160401b0385811680835285821660208085018281526001600160a01b038c81166000818152600285528981209851895494518916600160401b026001600160801b0319909516981697909717929092179096558a85526003825286852080546001600160a01b03191682179055808552600491829052938690208790556006549551631c3a2f8b60e11b81529081019390935260248301919091526044820152606481018490529116906338745f1690608401610f16565b610e29828261176d565b600081604051602001611bab91815260200190565b6040516020818303038152906040529050611bdc848473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8461185a565b7ff0f2fe64297d6f5ba18daddd165143adda9d1be31e3172fbca589ee2e039f82b546000908152600160205260408082205490516001600160a01b03909116916108fc851502918591818181858888f19350505050158015611062573d6000803e3d6000fd5b600081815b8451811015611cae576000858281518110611c6457611c64612421565b60200260200101519050808311611c8a5760008381526020829052604090209250611c9b565b600081815260208490526040902092505b5080611ca681612437565b915050611c47565b509392505050565b60606000611cc5836002612450565b611cd090600261246f565b6001600160401b03811115611ce757611ce7612482565b6040519080825280601f01601f191660200182016040528015611d11576020820181803683370190505b509050600360fc1b81600081518110611d2c57611d2c612421565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611d5b57611d5b612421565b60200101906001600160f81b031916908160001a9053506000611d7f846002612450565b611d8a90600161246f565b90505b6001811115611e02576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611dbe57611dbe612421565b1a60f81b828281518110611dd457611dd4612421565b60200101906001600160f81b031916908160001a90535060049490941c93611dfb81612498565b9050611d8d565b508315611e515760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610283565b9392505050565b600060208284031215611e6a57600080fd5b81356001600160e01b031981168114611e5157600080fd5b6000806000838503610100811215611e9957600080fd5b60e0811215611ea757600080fd5b5083925060e08401356001600160401b0380821115611ec557600080fd5b818601915086601f830112611ed957600080fd5b813581811115611ee857600080fd5b8760208260051b8501011115611efd57600080fd5b6020830194508093505050509250925092565b600060208284031215611f2257600080fd5b81358015158114611e5157600080fd5b600060208284031215611f4457600080fd5b5035919050565b6001600160a01b0381168114611f6057600080fd5b50565b60008060408385031215611f7657600080fd5b823591506020830135611f8881611f4b565b809150509250929050565b80356001600160401b0381168114611faa57600080fd5b919050565b600080600060608486031215611fc457600080fd5b8335611fcf81611f4b565b9250611fdd60208501611f93565b9150611feb60408501611f93565b90509250925092565b60008060008060006080868803121561200c57600080fd5b853561201781611f4b565b945060208601359350604086013561202e81611f4b565b925060608601356001600160401b038082111561204a57600080fd5b818801915088601f83011261205e57600080fd5b81358181111561206d57600080fd5b89602082850101111561207f57600080fd5b9699959850939650602001949392505050565b6000602082840312156120a457600080fd5b8135611e5181611f4b565b600080600080608085870312156120c557600080fd5b84356120d081611f4b565b93506120de60208601611f93565b92506120ec60408601611f93565b9396929550929360600135925050565b6000806040838503121561210f57600080fd5b823561211a81611f4b565b946020939093013593505050565b6000806040838503121561213b57600080fd5b61214483611f93565b915061215260208401611f93565b90509250929050565b60208082526022908201527f526f6f74436861696e4d616e616765723a206272696467652069732070617573604082015261195960f21b606082015260800190565b6000602082840312156121af57600080fd5b611e5182611f93565b6001600160401b039788168152958716602087015260408601949094526001600160a01b039290921660608501526080840152831660a083015290911660c082015260e00190565b60208082526022908201527f526f6f74436861696e4d616e616765723a20746f6b656e206e6f74206d617070604082015261195960f21b606082015260800190565b6020808252603a908201527f526f6f74436861696e4d616e616765723a204554482073656e64206e6565647360408201527f20746f206265206174206c65617374206465706f736974466565000000000000606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561081c5761081c61229f565b60005b838110156122e35781810151838201526020016122cb565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123248160178501602088016122c8565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516123558160288401602088016122c8565b01602801949350505050565b600081518084526123798160208601602086016122c8565b601f01601f19169290920160200192915050565b602081526000611e516020830184612361565b6001600160a01b0386811682528581166020830152604082018590528316606082015260a0608082018190526000906123db90830184612361565b979650505050505050565b6001600160a01b0386811682526020820186905284811660408301528316606082015260a0608082018190526000906123db90830184612361565b634e487b7160e01b600052603260045260246000fd5b6000600182016124495761244961229f565b5060010190565b600081600019048311821515161561246a5761246a61229f565b500290565b8082018082111561081c5761081c61229f565b634e487b7160e01b600052604160045260246000fd5b6000816124a7576124a761229f565b50600019019056fea2646970667358221220d404ab68d35c41e5dc427310bcac6e32dd20aacfcd609af6f12425bb2f41c73e64736f6c63430008100033