0 txs
2k calls
constructor
constructor(address depositToken_, uint256 depositAmountMinimum_)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
depositAmountMinimum
viewfunction depositAmountMinimum() view returns (uint256)
depositCapInfo
viewfunction depositCapInfo() view returns (uint256 cap, uint256 counter)
depositToken
viewfunction depositToken() view returns (address)
dstEid
viewfunction dstEid() view returns (uint32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
IMPLEMENTATION_VERSION
viewfunction IMPLEMENTATION_VERSION() view returns (string)
name
viewfunction name() view returns (string)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
deposit
nonpayablefunction deposit(uint8 depositType, uint256 amount, address recipient)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(string name_, uint32 dstEid_, address admin)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
rescue
nonpayablefunction rescue(address token, address to, uint256 amount)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
updateDepositCap
nonpayablefunction updateDepositCap(uint256 depositCap, bool resetCounter)
withdraw
nonpayablefunction withdraw(address to, uint256 amount)
events
DepositCapUpdated
event DepositCapUpdated(uint256 depositCap)
Deposited
event Deposited(uint8 indexed depositType, address indexed depositToken, address depositor, address indexed recipient, uint256 amount, uint32 dstEid)
Initialized
event Initialized(uint64 version)
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)
Withdrawn
event Withdrawn(address indexed to, uint256 amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
InvalidAmount
error InvalidAmount()
InvalidInitialization
error InvalidInitialization()
InvalidRecipient
error InvalidRecipient()
NotInitializing
error NotInitializing()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60e0806040523461014e576040816113d0803803809161001f82856101c9565b83398101031261014e578051906001600160a01b0382169081830361014e5760200151905f5160206113b05f395f51905f52549160ff8360401c166101ba576004936020936002600160401b03196001600160401b03821601610165575b5060805260a05260405163313ce56760e01b815292839182905afa801561015a575f90610119575b60ff91501660120360ff81116101055760ff16604d811161010557600a0a60c0526040516111af9081610201823960805181818161016a0152818161034601526108b1015260a0518181816104170152610b0c015260c0518161026c0152f35b634e487b7160e01b5f52601160045260245ffd5b506020813d602011610152575b81610133602093836101c9565b8101031261014e575160ff8116810361014e5760ff906100a5565b5f80fd5b3d9150610126565b6040513d5f823e3d90fd5b6001600160401b0319166001600160401b039081175f5160206113b05f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2908590a15f61007d565b63f92ee8a960e01b5f5260045ffd5b601f909101601f19168101906001600160401b038211908210176101ec57604052565b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610cc95750806306fdde0314610bf657806320ff430b14610bb8578063248a9ca314610b795780632f2ff15d14610b2f578063348e3f2614610af557806336568abe14610ab1578063734ff5f314610a8e578063754b377c14610a4d57806377a21fa7146109a75780638ddcc36b1461094557806391d14854146108ef578063a217fddf146108d5578063c89039c514610892578063d547741f14610841578063dc3b6d421461044c578063e025fac5146101d55763f3fef3a3146100e2575f80fd5b346101d15760403660031901126101d1576100fb610d46565b335f9081527fb3941fac81aa8677f8c232baf3b48c87279efa82e8aa0e0735d83019a84771bf6020526040902054602435919060ff161561019a5760206001600160a01b038261018f857f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d595847f000000000000000000000000000000000000000000000000000000000000000016610e8b565b6040519485521692a2005b63e2517d3f60e01b5f52336004527f7edcee67725a77bfa311b39349d7e96df9b23fbdbdcb328dfc17d77926920c1360245260445ffd5b5f80fd5b346101d15760603660031901126101d15760043560028110156101d1576024356101fd610d72565b9160027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00541461043d5760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055811592838015610414575b6103e2576001600160a01b0316928315610405577f000000000000000000000000000000000000000000000000000000000000000090818402918483041417156103f1577fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb47480154906102c78183610de2565b7fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb47480054106103e2576102f791610de2565b7fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb474801557f015e6a821749b9ebdeda723b90e655ed82d576c065dd7fdafd66bfa6af1e3cd860606001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016936103a16040516323b872dd60e01b60208201523360248201523060448201528260648201526064815261039b608482610d88565b866110bc565b63ffffffff600154166040519133835260208301526040820152a460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055005b63162908e360e11b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b634e46966960e11b5f5260045ffd5b507f00000000000000000000000000000000000000000000000000000000000000008310610256565b633ee5aeb560e01b5f5260045ffd5b346101d15760603660031901126101d15760043567ffffffffffffffff81116101d157366023820112156101d157806004013567ffffffffffffffff81116107c457604051916104a6601f8301601f191660200184610d88565b81835236602483830101116101d157815f92602460209301838601378301015260243563ffffffff81168091036101d1576104df610d72565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549160ff8360401c16159267ffffffffffffffff811680159081610839575b600114908161082f575b159081610826575b506108175767ffffffffffffffff1981166001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836107d8575b5061057661111b565b61057e61111b565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556105aa61111b565b835167ffffffffffffffff81116107c4576105c55f54610daa565b601f8111610724575b506020601f82116001146106a057819061061195965f92610695575b50508160011b915f199060031b1c1916175f555b63ffffffff196001541617600155610ec9565b5061061857005b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b0151905086806105ea565b601f198216955f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563965f5b81811061070c5750916106119697918460019594106106f4575b505050811b015f556105fe565b01515f1960f88460031b161c191690558680806106e7565b838301518955600190980197602093840193016106cd565b5f8052601f820160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301906020831061079c575b601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301905b81811061079157506105ce565b5f8155600101610784565b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563915061075a565b634e487b7160e01b5f52604160045260245ffd5b68ffffffffffffffffff191668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00558461056d565b63f92ee8a960e01b5f5260045ffd5b90501586610531565b303b159150610529565b85915061051f565b346101d15760403660031901126101d157610890600435610860610d5c565b9061088b610886825f525f51602061115a5f395f51905f52602052600160405f20015490565b610e3e565b61101f565b005b346101d1575f3660031901126101d15760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101d1575f3660031901126101d15760206040515f8152f35b346101d15760403660031901126101d157610908610d5c565b6004355f525f51602061115a5f395f51905f526020526001600160a01b0360405f2091165f52602052602060ff60405f2054166040519015158152f35b346101d1575f3660031901126101d15760407fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb474800547fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb4748015482519182526020820152f35b346101d15760403660031901126101d15760043560243580151581036101d1577f333b26cca69716ad4680ddb07663f5bfb4f06045671f336af9a83690a3ae00f9916020916109f4610def565b817fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb47480055610a25575b604051908152a1005b5f7fbdedafde14722ae45d6ffda31d1d233d0f8a07469ea5d7d5ac5ee483bb47480155610a1c565b346101d1575f3660031901126101d157610a8a604051610a6e604082610d88565b60038152620312e360ec1b602082015260405191829182610d1c565b0390f35b346101d1575f3660031901126101d157602063ffffffff60015416604051908152f35b346101d15760403660031901126101d157610aca610d5c565b336001600160a01b03821603610ae6576108909060043561101f565b63334bd91960e11b5f5260045ffd5b346101d1575f3660031901126101d15760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101d15760403660031901126101d157610890600435610b4e610d5c565b90610b74610886825f525f51602061115a5f395f51905f52602052600160405f20015490565b610f78565b346101d15760203660031901126101d1576020610bb06004355f525f51602061115a5f395f51905f52602052600160405f20015490565b604051908152f35b346101d15760603660031901126101d157610890610bd4610d46565b610bdc610d5c565b610be4610def565b6001600160a01b036044359216610e8b565b346101d1575f3660031901126101d1576040515f5f54610c1581610daa565b8084529060018116908115610ca55750600114610c49575b610a8a83610c3d81850382610d88565b60405191829182610d1c565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b808210610c8b57509091508101602001610c3d610c2d565b919260018160209254838588010152019101909291610c73565b60ff191660208086019190915291151560051b84019091019150610c3d9050610c2d565b346101d15760203660031901126101d1576004359063ffffffff60e01b82168092036101d157602091637965db0b60e01b8114908115610d0b575b5015158152f35b6301ffc9a760e01b14905083610d04565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101d157565b602435906001600160a01b03821682036101d157565b604435906001600160a01b03821682036101d157565b90601f8019910116810190811067ffffffffffffffff8211176107c457604052565b90600182811c92168015610dd8575b6020831014610dc457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610db9565b919082018092116103f157565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615610e2757565b63e2517d3f60e01b5f52336004525f60245260445ffd5b805f525f51602061115a5f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f20541615610e755750565b63e2517d3f60e01b5f523360045260245260445ffd5b610ec7926001600160a01b036040519363a9059cbb60e01b6020860152166024840152604483015260448252610ec2606483610d88565b6110bc565b565b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16610f73576001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b805f525f51602061115a5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461101957805f525f51602061115a5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f51602061115a5f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461101957805f525f51602061115a5f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b905f602091828151910182855af115611110575f513d61110757506001600160a01b0381163b155b6110eb5750565b6001600160a01b0390635274afe760e01b5f521660045260245ffd5b600114156110e4565b6040513d5f823e3d90fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561114a57565b631afcd79f60e31b5f5260045ffdfe02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212205c9bf99041c90c6c55caad66a4eaeb694c7be380ce54922706521ac400d4c92c64736f6c634300081d0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000989680