1 tx
69 calls
constructor
constructor(address currentStore_, address oldCoinBox_)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
EXTERNAL_SERVICE_ROLE
viewfunction EXTERNAL_SERVICE_ROLE() view returns (bytes32)
getRepresentativeUserBalance
viewfunction getRepresentativeUserBalance(address user_) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUserBalance
viewfunction getUserBalance(address user_) view returns (uint256 totalBalance)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
payRepresentativeBalance
nonpayablefunction payRepresentativeBalance(address user_, uint256 amount_)
payUserBalance
nonpayablefunction payUserBalance(address user_, uint256 amount_)
recoverErc20
nonpayablefunction recoverErc20(address token_, uint256 amount_)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
events
Erc20Recovered
event Erc20Recovered(address token, uint256 amount)
Paid
event Paid(address indexed user, uint256 amount)
RepresentativePaid
event RepresentativePaid(address indexed ref, uint256 amount)
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)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080346100fa57601f610dc538819003918201601f19168301916001600160401b038311848410176100ff5780849260409485528339810103126100fa5780516001600160a01b0391828216918290036100fa57602001519182168092036100fa57801515806100f1575b156100ac5761007833610115565b5061008233610193565b5060018060a01b0319908160015416176001556002541617600255604051610b7190816102348239f35b60405162461bcd60e51b815260206004820152601760248201527f436f696e426f783a207a65726f206164647265737365730000000000000000006044820152606490fd5b5081151561006a565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff1661018f57818052816020526040822081835260205260408220600160ff198254161790553391600080516020610da58339815191528180a4600190565b5090565b6001600160a01b031660008181527ffa0e1b88ae80280a2d15105415347b7f39fd4fd157e11e447e21c4a3c189ace960205260408120549091907f02c4cebdcd93d412403417a1c3dcd39de1fcbdb45dd5f40026e5df231dc58f959060ff1661022e57808352826020526040832082845260205260408320600160ff19825416179055600080516020610da5833981519152339380a4600190565b50509056fe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a71461050857508063073ff25914610493578063248a9ca3146104695780632f2ff15d1461044157806336568abe146103fa57806347734892146103d45780634acffa0b146103a75780634cdf26901461036c5780637184858c146102e7578063738a8ce61461015757806391d1485414610112578063a217fddf146100f35763d547741f146100b357600080fd5b346100ef57806003193601126100ef576100eb91356100e660016100d5610577565b938387528660205286200154610607565b6106ac565b5080f35b8280fd5b83823461010e578160031936011261010e5751908152602090f35b5080fd5b5090346100ef57816003193601126100ef578160209360ff92610133610577565b903582528186526001600160a01b0383832091168252855220541690519015158152f35b5091903461010e578260031936011261010e5761017261055c565b602435918380526020848152858520338652815260ff8686205416156102ca57855163a9059cbb60e01b828201908152336024830152604480830187905282526001600160a01b0385169291601f199188918291906101d260648261079b565b519082875af13d156102bd573d67ffffffffffffffff81116102aa57906102169291610207858c5194601f840116018461079b565b82523d898584013e5b846107d3565b8051918215159182610281575b5050905061026b57505092516001600160a01b0390931683526020830152907fa75ce34872c395a628c61aff7fee33ef71bed972e3a28c7f63fff0022f629aa990604090a180f35b8551635274afe760e01b81529182015260249150fd5b8092508193810103126102a65701518015908115036102a257803880610223565b8580fd5b8680fd5b634e487b7160e01b895260418652602489fd5b6102169150606090610210565b855163e2517d3f60e01b8152338184015260248101869052604490fd5b50346100ef57806003193601126100ef5760207fa2863fbc71b01fafc64124b5cc6d3f7b82b9735b0412db16a0bd20f66755614c9161032461055c565b906001600160a01b036024359261033961058d565b61034d8461034683610843565b1015610722565b16948587528352808620610362838254610778565b905551908152a280f35b83823461010e578160031936011261010e57602090517f02c4cebdcd93d412403417a1c3dcd39de1fcbdb45dd5f40026e5df231dc58f958152f35b83823461010e57602036600319011261010e576020906103cd6103c861055c565b610843565b9051908152f35b83823461010e57602036600319011261010e576020906103cd6103f561055c565b610964565b5082903461010e578060031936011261010e57610415610577565b90336001600160a01b0383160361043257506100eb9192356106ac565b5163334bd91960e11b81528390fd5b50346100ef57806003193601126100ef576100eb913561046460016100d5610577565b61062d565b5090346100ef5760203660031901126100ef57816020936001923581528085522001549051908152f35b83823461010e578060031936011261010e577f737c69225d647e5994eab1a6c301bf6d9232beb2759ae1e27a8966b4732bc48960206104d061055c565b6001600160a01b03602435916104e461058d565b6104f18361034683610964565b169384865260038352808620610362838254610778565b849084346100ef5760203660031901126100ef573563ffffffff60e01b81168091036100ef5760209250637965db0b60e01b811490811561054b575b5015158152f35b6301ffc9a760e01b14905083610544565b600435906001600160a01b038216820361057257565b600080fd5b602435906001600160a01b038216820361057257565b3360009081527ffa0e1b88ae80280a2d15105415347b7f39fd4fd157e11e447e21c4a3c189ace960205260409020547f02c4cebdcd93d412403417a1c3dcd39de1fcbdb45dd5f40026e5df231dc58f959060ff16156105e95750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff60406000205416156105e95750565b90600091808352826020526001600160a01b036040842092169182845260205260ff604084205416156000146106a757808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b90600091808352826020526001600160a01b036040842092169182845260205260ff6040842054166000146106a75780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b1561072957565b60405162461bcd60e51b815260206004820152602160248201527f436f696e426f783a20616d6f756e7420626967676572207468616e20746f74616044820152601b60fa1b6064820152608490fd5b9190820180921161078557565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176107bd57604052565b634e487b7160e01b600052604160045260246000fd5b906107fa57508051156107e857805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158061082d575b61080b575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15610803565b9190820391821161078557565b6001600160a01b03808060015416926040519283916385b7583d60e01b83527388888888888888888888888888888888888888886004840152169384602483015281604460209586935afa908115610929578390600092610935575b506024926002541660405193848092634acffa0b60e01b82528860048301525afa918215610929576000926108f5575b50916108e16004926108f29594610778565b926000525260406000205490610836565b90565b90918382813d8311610922575b61090c818361079b565b8101031261091f575051906108e16108cf565b80fd5b503d610902565b6040513d6000823e3d90fd5b919082813d831161095d575b61094b818361079b565b8101031261091f57505182602461089f565b503d610941565b9060009160009283906001600160a01b039160018084815416905b610a20575b50505060208260025416936024604051809581936323b9a44960e11b835216968760048301525afa918215610a155785926109dc575b50936109cc6040926108f29596610778565b9281526003602052205490610836565b9091506020813d8211610a0d575b816109f76020938361079b565b81010312610a095751906109cc6109ba565b8480fd5b3d91506109ea565b6040513d87823e3d90fd5b909192604080519163e84112ab60e01b8352602060049381818681895afa908115610b31578c91610b00575b50871015610af7578251631b2b776160e11b815293840187905288881660248501528084604481885afa928315610aee57508a92610ab8575b50610a909250610778565b926000198114610aa457820191908161097f565b634e487b7160e01b88526011600452602488fd5b90915082813d8311610ae7575b610acf818361079b565b81010312610ae357610a9091519038610a85565b8880fd5b503d610ac5565b513d8c823e3d90fd5b50945050610984565b90508181813d8311610b2a575b610b17818361079b565b81010312610b26575138610a4c565b8b80fd5b503d610b0d565b84513d8e823e3d90fdfea2646970667358221220d58d0c5ffc60f9adaa2c22561b1653042f41de9d95a08f71912bcc4a2468474f64736f6c634300081500332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000085ce4be4f362b77c64b2ad9e16b8ee500bec5ec400000000000000000000000095404133f2eb45ab2748140b4068625a569aafbc