0 txs
92 calls
constructor
constructor()
functions
canExecuteTopup
viewfunction canExecuteTopup(uint256 _receiverId) view returns (bool)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getNextTopupTime
viewfunction getNextTopupTime(uint256 _receiverId) view returns (uint256)
getReceiverInfo
viewfunction getReceiverInfo(uint256 _receiverId) view returns (tuple)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
receiverObjects
viewfunction receiverObjects(uint256) view returns (address receiver, address treasury, address token, uint256 amount, uint256 period, uint256 lastTopupTime, bool enabled)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
UPGRADE_ROLE
viewfunction UPGRADE_ROLE() view returns (bytes32)
configureReceiver
nonpayablefunction configureReceiver(uint256 _receiverId, address _receiver, address _treasury, address _token, uint256 _amount, uint256 _period)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _admin, address _operator)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setReceiverEnabled
nonpayablefunction setReceiverEnabled(uint256 _receiverId, bool _enabled)
topup
nonpayablefunction topup(uint256 _receiverId)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
ReceiverConfigured
event ReceiverConfigured(uint256 indexed receiverId, address indexed receiver, address indexed treasury, address token, uint256 amount, uint256 period, bool enabled)
ReceiverEnabledChanged
event ReceiverEnabledChanged(uint256 indexed receiverId, bool enabled)
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)
TopupExecuted
event TopupExecuted(uint256 indexed receiverId, address indexed receiver, uint256 amount, uint256 timestamp)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InsufficientTreasuryBalance
error InsufficientTreasuryBalance()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidImplementationAddress
error InvalidImplementationAddress(address implementation)
InvalidInitialization
error InvalidInitialization()
InvalidPeriod
error InvalidPeriod()
NotInitializing
error NotInitializing()
ReceiverNotConfigured
error ReceiverNotConfigured(uint256 receiverId)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TopupPeriodNotElapsed
error TopupPeriodNotElapsed()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516118cc6100fd600039600081816110c3015281816110ec015261128101526118cc6000f3fe60806040526004361061011f5760003560e01c806352d1902d116100a0578063b66d0a7b11610064578063b66d0a7b146104bd578063b908afa8146104dd578063d4dfa4ab14610511578063d547741f14610531578063f5b541a61461055157600080fd5b806352d1902d1461030b5780638f32cdf41461032057806391d148541461044a578063a217fddf1461046a578063ad3cb1cc1461047f57600080fd5b806330db555f116100e757806330db555f14610278578063345db46e1461029857806336568abe146102b8578063485cc955146102d85780634f1ef286146102f857600080fd5b806301ffc9a7146101245780630659355f146101595780631feea26614610208578063248a9ca31461022a5780632f2ff15d14610258575b600080fd5b34801561013057600080fd5b5061014461013f366004611580565b610585565b60405190151581526020015b60405180910390f35b34801561016557600080fd5b506101c26101743660046115aa565b60006020819052908152604090208054600182015460028301546003840154600485015460058601546006909601546001600160a01b03958616969486169590931693919290919060ff1687565b604080516001600160a01b039889168152968816602088015294909616938501939093526060840191909152608083015260a082015290151560c082015260e001610150565b34801561021457600080fd5b506102286102233660046115df565b6105bc565b005b34801561023657600080fd5b5061024a6102453660046115aa565b610829565b604051908152602001610150565b34801561026457600080fd5b5061022861027336600461163e565b61084b565b34801561028457600080fd5b506102286102933660046115aa565b61086d565b3480156102a457600080fd5b5061024a6102b33660046115aa565b610a4d565b3480156102c457600080fd5b506102286102d336600461163e565b610b31565b3480156102e457600080fd5b506102286102f336600461166a565b610b69565b6102286103063660046116aa565b610d1d565b34801561031757600080fd5b5061024a610d3c565b34801561032c57600080fd5b506103ea61033b3660046115aa565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525060009081526020818152604091829020825160e08101845281546001600160a01b03908116825260018301548116938201939093526002820154909216928201929092526003820154606082015260048201546080820152600582015460a082015260069091015460ff16151560c082015290565b6040805182516001600160a01b039081168252602080850151821690830152838301511691810191909152606080830151908201526080808301519082015260a0808301519082015260c09182015115159181019190915260e001610150565b34801561045657600080fd5b5061014461046536600461163e565b610d59565b34801561047657600080fd5b5061024a600081565b34801561048b57600080fd5b506104b0604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101509190611798565b3480156104c957600080fd5b506101446104d83660046115aa565b610d91565b3480156104e957600080fd5b5061024a7f88aa719609f728b0c5e7fb8dd3608d5c25d497efbb3b9dd64e9251ebba10150881565b34801561051d57600080fd5b5061022861052c3660046117cb565b610e4f565b34801561053d57600080fd5b5061022861054c36600461163e565b610ee1565b34801561055d57600080fd5b5061024a7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b60006001600160e01b03198216637965db0b60e01b14806105b657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006105c781610efd565b6001600160a01b0386166105ee5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0385166106155760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03841661063c5760405163e6c4247b60e01b815260040160405180910390fd5b8260000361065d5760405163162908e360e11b815260040160405180910390fd5b8160000361067e576040516302e8f35960e31b815260040160405180910390fd5b6040518060e00160405280876001600160a01b03168152602001866001600160a01b03168152602001856001600160a01b03168152602001848152602001838152602001600081526020016001151581525060008089815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff021916908315150217905550905050846001600160a01b0316866001600160a01b0316887ff5416f1541d0890e60cf7aaf087bf4449d96b03cc37168c05ea2f987aacc4b28878787600160405161081894939291906001600160a01b03949094168452602084019290925260408301521515606082015260800190565b60405180910390a450505050505050565b6000908152600080516020611877833981519152602052604090206001015490565b61085482610829565b61085d81610efd565b6108678383610f0a565b50505050565b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961089781610efd565b600082815260208190526040902080546001600160a01b031615806108c15750600681015460ff16155b156108e7576040516354286bf760e11b8152600481018490526024015b60405180910390fd5b6000816005015411801561090d57508060040154816005015461090a9190611800565b42105b1561092b57604051632742276360e11b815260040160405180910390fd5b600281015460018201546040516370a0823160e01b81526001600160a01b03918216600482015291169060009082906370a0823190602401602060405180830381865afa158015610980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a49190611821565b905082600301548110156109cb57604051631c7b597b60e11b815260040160405180910390fd5b4260058401556001830154835460038501546109f9926001600160a01b038681169391811692911690610faf565b82546003840154604080519182524260208301526001600160a01b039092169187917f44d73af1ce634ee8e7a002b9aded81364d3a58289368178af3ba32c973119d82910160405180910390a35050505050565b600081815260208181526040808320815160e08101835281546001600160a01b039081168083526001840154821695830195909552600283015416928101929092526003810154606083015260048101546080830152600581015460a08301526006015460ff16151560c0820152901580610aca57508060c00151155b15610aeb576040516354286bf760e11b8152600481018490526024016108de565b8060a00151600003610b005750600092915050565b600081608001518260a00151610b169190611800565b905080421015610b265780610b29565b60005b949350505050565b6001600160a01b0381163314610b5a5760405163334bd91960e11b815260040160405180910390fd5b610b648282611009565b505050565b6000610b73611085565b805490915060ff600160401b820416159067ffffffffffffffff16600081158015610b9b5750825b905060008267ffffffffffffffff166001148015610bb85750303b155b905081158015610bc6575080155b15610be45760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c0e57845460ff60401b1916600160401b1785555b6001600160a01b038716610c355760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038616610c5c5760405163e6c4247b60e01b815260040160405180910390fd5b610c646110ae565b610c6c6110ae565b610c77600088610f0a565b50610ca27f88aa719609f728b0c5e7fb8dd3608d5c25d497efbb3b9dd64e9251ebba10150888610f0a565b50610ccd7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92987610f0a565b508315610d1457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610d256110b8565b610d2e8261115d565b610d3882826111b9565b5050565b6000610d46611276565b5060008051602061185783398151915290565b6000918252600080516020611877833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260208181526040808320815160e08101835281546001600160a01b039081168083526001840154821695830195909552600283015416928101929092526003810154606083015260048101546080830152600581015460a08301526006015460ff16151560c0820152901580610e0e57508060c00151155b15610e1c5750600092915050565b8060a00151600003610e315750600192915050565b80608001518160a00151610e459190611800565b4210159392505050565b6000610e5a81610efd565b600083815260208190526040902080546001600160a01b0316610e93576040516354286bf760e11b8152600481018590526024016108de565b60068101805460ff191684151590811790915560405190815284907f66740d160e78887bf0f50ce7ecb220296c6866bdb658621ca4c13bfe77050c8e9060200160405180910390a250505050565b610eea82610829565b610ef381610efd565b6108678383611009565b610f0781336112bf565b50565b6000600080516020611877833981519152610f258484610d59565b610fa5576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055610f5b3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506105b6565b60009150506105b6565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526108679085906112f8565b60006000805160206118778339815191526110248484610d59565b15610fa5576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506105b6565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006105b6565b6110b6611369565b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061113f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611133600080516020611857833981519152546001600160a01b031690565b6001600160a01b031614155b156110b65760405163703e46dd60e11b815260040160405180910390fd5b7f88aa719609f728b0c5e7fb8dd3608d5c25d497efbb3b9dd64e9251ebba10150861118781610efd565b6001600160a01b038216610d38576040516335d0b3d760e11b81526001600160a01b03831660048201526024016108de565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611213575060408051601f3d908101601f1916820190925261121091810190611821565b60015b61123b57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016108de565b600080516020611857833981519152811461126c57604051632a87526960e21b8152600481018290526024016108de565b610b64838361138e565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110b65760405163703e46dd60e11b815260040160405180910390fd5b6112c98282610d59565b610d385760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016108de565b600080602060008451602086016000885af18061131b576040513d6000823e3d81fd5b50506000513d91508115611333578060011415611340565b6001600160a01b0384163b155b1561086757604051635274afe760e01b81526001600160a01b03851660048201526024016108de565b6113716113e4565b6110b657604051631afcd79f60e31b815260040160405180910390fd5b611397826113fe565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156113dc57610b648282611463565b610d386114d9565b60006113ee611085565b54600160401b900460ff16919050565b806001600160a01b03163b60000361143457604051634c9c8ce360e01b81526001600160a01b03821660048201526024016108de565b60008051602061185783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611480919061183a565b600060405180830381855af49150503d80600081146114bb576040519150601f19603f3d011682016040523d82523d6000602084013e6114c0565b606091505b50915091506114d08583836114f8565b95945050505050565b34156110b65760405163b398979f60e01b815260040160405180910390fd5b60608261150d5761150882611557565b611550565b815115801561152457506001600160a01b0384163b155b1561154d57604051639996b31560e01b81526001600160a01b03851660048201526024016108de565b50805b9392505050565b8051156115675780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b60006020828403121561159257600080fd5b81356001600160e01b03198116811461155057600080fd5b6000602082840312156115bc57600080fd5b5035919050565b80356001600160a01b03811681146115da57600080fd5b919050565b60008060008060008060c087890312156115f857600080fd5b86359550611608602088016115c3565b9450611616604088016115c3565b9350611624606088016115c3565b9598949750929560808101359460a0909101359350915050565b6000806040838503121561165157600080fd5b82359150611661602084016115c3565b90509250929050565b6000806040838503121561167d57600080fd5b611686836115c3565b9150611661602084016115c3565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156116bd57600080fd5b6116c6836115c3565b9150602083013567ffffffffffffffff8111156116e257600080fd5b8301601f810185136116f357600080fd5b803567ffffffffffffffff81111561170d5761170d611694565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561173c5761173c611694565b60405281815282820160200187101561175457600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b8381101561178f578181015183820152602001611777565b50506000910152565b60208152600082518060208401526117b7816040850160208701611774565b601f01601f19169190910160400192915050565b600080604083850312156117de57600080fd5b82359150602083013580151581146117f557600080fd5b809150509250929050565b808201808211156105b657634e487b7160e01b600052601160045260246000fd5b60006020828403121561183357600080fd5b5051919050565b6000825161184c818460208701611774565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220d5721d08040fb22df6b8ec8bff0279f1825f7408e49822ea448affea25e7077464736f6c634300081c0033