0 txs
806 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getDailyUsage
viewfunction getDailyUsage(address token) view returns (uint256)
getRateLimit
viewfunction getRateLimit(address token) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
ics20
viewfunction ics20() view returns (address)
RATE_LIMITER_ROLE
viewfunction RATE_LIMITER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
grantRateLimiterRole
nonpayablefunction grantRateLimiterRole(address account)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address ics20_)
recvCallback
nonpayablefunction recvCallback(address token, address, uint256 amount)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRateLimiterRole
nonpayablefunction revokeRateLimiterRole(address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
send
nonpayablefunction send(address token, address to, uint256 amount)
setRateLimit
nonpayablefunction setRateLimit(address token, uint256 rateLimit)
events
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)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
EscrowUnauthorized
error EscrowUnauthorized(address caller)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
RateLimitExceeded
error RateLimitExceeded(uint256 rateLimit, uint256 usage)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080806040523460aa575f5160206114d65f395f51905f525460ff8160401c16609b576002600160401b03196001600160401b038216016049575b60405161142790816100af8239f35b6001600160401b0319166001600160401b039081175f5160206114d65f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80603a565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610b1d575080630779afe6146109e45780630b0aee6914610980578063248a9ca31461092e5780632f2ff15d146108d157806336568abe1461086757806340f5d8e11461078057806391d148541461070a5780639a61e8e1146106b8578063a217fddf1461069e578063b4f22eb71461062d578063c4d66de8146103a8578063c68f0c71146102b6578063d34a3fd9146101cf578063d547741f1461016b578063e60d6462146101315763f11d5ea9146100d7575f80fd5b3461012d57602060031936011261012d576100f86100f3610bde565b611374565b5f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c101602052602060405f2054604051908152f35b5f80fd5b3461012d575f60031936011261012d5760206040517f15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db8152f35b3461012d57604060031936011261012d576101cd60043561018a610bbb565b906101c86101c3825f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052600160405f20015490565b610dd9565b61117c565b005b3461012d57604060031936011261012d576101e8610bde565b335f9081527f9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb602052604090205460ff16156102665773ffffffffffffffffffffffffffffffffffffffff165f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10060205260243560405f20555f80f35b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004527f15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db60245260445ffd5b3461012d57602060031936011261012d576102cf610bde565b6024602073ffffffffffffffffffffffffffffffffffffffff7f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e416005416604051928380927ff17a7e660000000000000000000000000000000000000000000000000000000082523360048301525afa90811561039d575f9161035e575b6101cd836103593385610c01565b61107a565b90506020813d602011610395575b8161037960209383610d6b565b8101031261012d575190811515820361012d579061035961034b565b3d915061036c565b6040513d5f823e3d90fd5b3461012d57602060031936011261012d576103c1610bde565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff821680159081610625575b600114908161061b575b159081610612575b506105ea57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055610595575b506104846113c3565b61048c6113c3565b6104946113c3565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e416005416177f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e416005561050257005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00558361047b565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610412565b303b15915061040a565b849150610400565b3461012d57606060031936011261012d576101cd610649610bde565b610651610bbb565b506106953373ffffffffffffffffffffffffffffffffffffffff7f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e4160054163314610c01565b60443590611284565b3461012d575f60031936011261012d5760206040515f8152f35b3461012d575f60031936011261012d57602073ffffffffffffffffffffffffffffffffffffffff7f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e416005416604051908152f35b3461012d57604060031936011261012d57610723610bbb565b6004355f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b3461012d57602060031936011261012d57610799610bde565b6024602073ffffffffffffffffffffffffffffffffffffffff7f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e416005416604051928380927ff17a7e660000000000000000000000000000000000000000000000000000000082523360048301525afa90811561039d575f91610828575b6101cd836108233385610c01565b610e5f565b90506020813d60201161085f575b8161084360209383610d6b565b8101031261012d575190811515820361012d5790610823610815565b3d9150610836565b3461012d57604060031936011261012d57610880610bbb565b3373ffffffffffffffffffffffffffffffffffffffff8216036108a9576101cd9060043561117c565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461012d57604060031936011261012d576101cd6004356108f0610bbb565b906109296101c3825f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052600160405f20015490565b610f68565b3461012d57602060031936011261012d5760206109786004355f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052600160405f20015490565b604051908152f35b3461012d57602060031936011261012d5773ffffffffffffffffffffffffffffffffffffffff6109ae610bde565b165f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c100602052602060405f2054604051908152f35b3461012d57606060031936011261012d5760043573ffffffffffffffffffffffffffffffffffffffff81169081810361012d575f602091610a23610bbb565b82604435610a6a3373ffffffffffffffffffffffffffffffffffffffff7f537eb9d931756581e7ea6f7811162c646321946650ac0ac6bf83b24932e4160054163314610c01565b610a748188610c4b565b6040519073ffffffffffffffffffffffffffffffffffffffff878301947fa9059cbb000000000000000000000000000000000000000000000000000000008652166024830152604482015260448152610ace606482610d6b565b51925af11561039d575f513d610b145750803b155b610ae957005b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60011415610ae3565b3461012d57602060031936011261012d57600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361012d57817f7965db0b0000000000000000000000000000000000000000000000000000000060209314908115610b91575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483610b8a565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012d57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012d57565b15610c095750565b73ffffffffffffffffffffffffffffffffffffffff907facd411fe000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff81165f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10060205260405f2054908115610d6657610c9d90611374565b90815f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10160205260405f2054928301809311610d3957808311610d0957505f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10160205260405f2055565b90507f5f713586000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b505050565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dac57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f20541615610e305750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb602052604090205460ff16610f635773ffffffffffffffffffffffffffffffffffffffff165f8181527f9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790553391907f15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b505f90565b805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f1461107457805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb602052604090205460ff1615610f635773ffffffffffffffffffffffffffffffffffffffff165f8181527f9cc214e773bfb12ee113956ef0921bc635e2f55453601bf5624331c946d7c8cb6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690553391907f15975e67e85433b86162c65eeaf7d19d2b619671751d1f6d4d320dc195d465db907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f1461107457805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b73ffffffffffffffffffffffffffffffffffffffff81165f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10060205260405f205415611370576112d490611374565b5f8181527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10160205260409020549180831161133a575090505f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c1016020525f6040812055565b8203918211610d39575f527fcb05b6cb8e6c87c443cb04d44193d7d46d51c1198725a0ee3478d5baa736c10160205260405f2055565b5050565b6040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006020820192620151804204845260601b166040820152603481526113bd605482610d6b565b51902090565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156113f257565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffdfea164736f6c634300081c000af0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00