0 txs
9.8k calls
constructor
No constructor.
functions
ACCOUNTANT_ROLE
viewfunction ACCOUNTANT_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
distributedAtEpoch
viewfunction distributedAtEpoch(uint256) view returns (uint256 amt, bool distributed)
getAvailableReward
viewfunction getAvailableReward(address _recipient) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
mintableRewardDistributor
viewfunction mintableRewardDistributor() view returns (address)
REWARD_DISTRIBUTOR
viewfunction REWARD_DISTRIBUTOR() view returns (bytes32)
rewards
viewfunction rewards(address) view returns (uint256 amount, uint256 claimed)
turbine
viewfunction turbine() view returns (address)
usdt
viewfunction usdt() view returns (address)
wkey
viewfunction wkey() view returns (address)
claimReward
nonpayablefunction claimReward(uint256 _amount)
distributeReward
nonpayablefunction distributeReward(uint256 epoch, uint256 amt)
grantAccountantRole
nonpayablefunction grantAccountantRole(address _accountant)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseRewards
nonpayablefunction increaseRewards(address[] _recipients, uint256[] _amounts)
initialize
nonpayablefunction initialize(address _usdtAddress, address _wkey)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeAccountantRole
nonpayablefunction revokeAccountantRole(address _accountant)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setMintableRewardDistributor
nonpayablefunction setMintableRewardDistributor(address _mintableRewardDistributor)
setTurbine
nonpayablefunction setTurbine(address _turbine)
withdraw
nonpayablefunction withdraw(address token, uint256 _amount)
events
DistributePhoneReward
event DistributePhoneReward(uint256 epoch, uint256 amt)
RewardAdded
event RewardAdded(address indexed recipient, uint256 amount)
RewardClaimed
event RewardClaimed(address indexed recipient, 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
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50611aaf806100206000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80639865f3ac116100de578063d547741f11610097578063e3bcd27c11610071578063e3bcd27c14610593578063e59bd7c6146105b6578063ef61b06d146105dc578063f3fef3a3146105e45761018e565b8063d547741f1461041a578063d56ba07b14610446578063dd31e2b21461046c5761018e565b80639865f3ac146103a2578063a217fddf146103aa578063ab1efbab146103b2578063ae169a50146103ba578063ca15c873146103d7578063d4f62f4c146103f45761018e565b806346a1cd081161014b5780638de728e4116101255780638de728e4146103115780639010d07c14610319578063915f92931461033c57806391d14854146103625761018e565b806346a1cd08146102b5578063485cc955146102db578063763ed01c146103095761018e565b80630314b960146101935780630700037d146101c9578063248a9ca3146102085780632f2ff15d146102375780632f48ab7d1461026557806336568abe14610289575b600080fd5b6101b0600480360360208110156101a957600080fd5b5035610610565b6040805192835290151560208301528051918290030190f35b6101ef600480360360208110156101df57600080fd5b50356001600160a01b031661062c565b6040805192835260208301919091528051918290030190f35b6102256004803603602081101561021e57600080fd5b5035610645565b60408051918252519081900360200190f35b6102636004803603604081101561024d57600080fd5b50803590602001356001600160a01b031661065a565b005b61026d6106c6565b604080516001600160a01b039092168252519081900360200190f35b6102636004803603604081101561029f57600080fd5b50803590602001356001600160a01b03166106d5565b610225600480360360208110156102cb57600080fd5b50356001600160a01b0316610736565b610263600480360360408110156102f157600080fd5b506001600160a01b0381358116916020013516610765565b61026d61084c565b61022561085b565b61026d6004803603604081101561032f57600080fd5b508035906020013561087f565b6102636004803603602081101561035257600080fd5b50356001600160a01b03166108a0565b61038e6004803603604081101561037857600080fd5b50803590602001356001600160a01b031661098d565b604080519115158252519081900360200190f35b61026d6109a5565b6102256109b4565b6102256109b9565b610263600480360360208110156103d057600080fd5b50356109cb565b610225600480360360208110156103ed57600080fd5b5035610bd5565b6102636004803603602081101561040a57600080fd5b50356001600160a01b0316610bec565b6102636004803603604081101561043057600080fd5b50803590602001356001600160a01b0316610c8d565b6102636004803603602081101561045c57600080fd5b50356001600160a01b0316610ce6565b6102636004803603604081101561048257600080fd5b81019060208101813564010000000081111561049d57600080fd5b8201836020820111156104af57600080fd5b803590602001918460208302840111640100000000831117156104d157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561052157600080fd5b82018360208201111561053357600080fd5b8035906020019184602083028401116401000000008311171561055557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610d96945050505050565b610263600480360360408110156105a957600080fd5b5080359060200135610ec7565b610263600480360360208110156105cc57600080fd5b50356001600160a01b0316611148565b61026d6111ed565b610263600480360360408110156105fa57600080fd5b506001600160a01b0381351690602001356111fc565b6069602052600090815260409020805460019091015460ff1682565b606a602052600090815260409020805460019091015482565b60009081526033602052604090206002015490565b60008281526033602052604090206002015461067d90610678611309565b61098d565b6106b85760405162461bcd60e51b815260040180806020018281038252602f81526020018061197a602f913960400191505060405180910390fd5b6106c2828261130d565b5050565b6065546001600160a01b031681565b6106dd611309565b6001600160a01b0316816001600160a01b03161461072c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611a4b602f913960400191505060405180910390fd5b6106c28282611376565b6001600160a01b0381166000908152606a602052604081206001810154815461075e916113df565b9392505050565b600054610100900460ff168061077e575061077e611421565b8061078c575060005460ff16155b6107c75760405162461bcd60e51b815260040180806020018281038252602e8152602001806119f9602e913960400191505060405180910390fd5b600054610100900460ff161580156107f2576000805460ff1961ff0019909116610100171660011790555b6107fa611432565b6108056000336106b8565b606580546001600160a01b038086166001600160a01b03199283161790925560668054928516929091169190911790558015610847576000805461ff00191690555b505050565b6066546001600160a01b031681565b7f9fdd4208644662869ace48b3082cadc57733575893a2062f0fe410f2bbb5410781565b600082815260336020526040812061089790836114e4565b90505b92915050565b60006108ac813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d909101909152906109695760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561092e578181015183820152602001610916565b50505050905090810190601f16801561095b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050606780546001600160a01b0319166001600160a01b0392909216919091179055565b600082815260336020526040812061089790836114f0565b6068546001600160a01b031681565b600081565b6000805160206119a983398151915281565b60008111610a20576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b336000908152606a60205260409020600181015481549083011115610a8c576040805162461bcd60e51b815260206004820152601f60248201527f436c61696d206578636565647320617661696c61626c65207265776172647300604482015290519081900360640190fd5b600181018054830190556066546067546040805163095ea7b360e01b81526001600160a01b039283166004820152602481018690529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610aef57600080fd5b505af1158015610b03573d6000803e3d6000fd5b505050506040513d6020811015610b1957600080fd5b505060675460408051633246a9ab60e21b81523360048201526024810185905290516001600160a01b039092169163c91aa6ac916044808201926020929091908290030181600087803b158015610b6f57600080fd5b505af1158015610b83573d6000803e3d6000fd5b505050506040513d6020811015610b9957600080fd5b505060408051838152905133917f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f7241919081900360200190a25050565b600081815260336020526040812061089a90611505565b6000610bf8813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d90910190915290610c785760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b506106c26000805160206119a9833981519152835b600082815260336020526040902060020154610cab90610678611309565b61072c5760405162461bcd60e51b81526004018080602001828103825260308152602001806119c96030913960400191505060405180910390fd5b6000610cf2813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d90910190915290610d725760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b5050606880546001600160a01b0319166001600160a01b0392909216919091179055565b6000805160206119a9833981519152610daf813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d90910190915290610e2f5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b508151835114610e7d576040805162461bcd60e51b8152602060048201526014602482015273092dcecc2d8d2c840d2dce0eae840d8cadccee8d60631b604482015290519081900360640190fd5b60005b8351811015610ec157610eb9848281518110610e9857fe5b6020026020010151848381518110610eac57fe5b6020026020010151611510565b600101610e80565b50505050565b7f9fdd4208644662869ace48b3082cadc57733575893a2062f0fe410f2bbb54107610ef2813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d90910190915290610f725760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b5060008381526069602052604090206001015460ff166108475760008381526069602052604090206001818101805460ff191690911790558290558115611108576068546001600160a01b03161561110857610fe5604051806060016040528060248152602001611a27602491396115bc565b606860009054906101000a90046001600160a01b03166001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561103557600080fd5b505af1158015611049573d6000803e3d6000fd5b5050505061108b6040518060400160405280601f81526020017f7265636569766550686f6e655265776172642066726f6d2074757262696e65008152506115bc565b606760009054906101000a90046001600160a01b03166001600160a01b031663feaffdfa6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b505050506040513d602081101561110557600080fd5b50505b604080518481526020810184905281517fcfac945dcdb50bee5f0378fee9830d8d91c38db2380a6e0546c4a945c92b60e7929181900390910190a1505050565b6000611154813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d909101909152906111d45760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b506106c26000805160206119a98339815191528361065a565b6067546001600160a01b031681565b6000611208813361098d565b604080516c02932b8bab4b932903937b6329609d1b6020820152602d80820185905282518083039091018152604d909101909152906112885760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b506040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b0385169163a9059cbb9160448083019260209291908290030181600087803b1580156112d857600080fd5b505af11580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b5050505050565b3390565b60008281526033602052604090206113259082611662565b156106c257611332611309565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260336020526040902061138e9082611677565b156106c25761139b611309565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b600061089783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061168c565b600061142c306116e6565b15905090565b600054610100900460ff168061144b575061144b611421565b80611459575060005460ff16155b6114945760405162461bcd60e51b815260040180806020018281038252602e8152602001806119f9602e913960400191505060405180910390fd5b600054610100900460ff161580156114bf576000805460ff1961ff0019909116610100171660011790555b6114c76116ec565b6114cf6116ec565b80156114e1576000805461ff00191690555b50565b6000610897838361178c565b6000610897836001600160a01b0384166117f0565b600061089a82611808565b60008111611565576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b6001600160a01b0382166000818152606a6020908152604091829020805485019055815184815291517fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e299281900390910190a25050565b6114e1816040516024018080602001828103825283818151815260200191508051906020019080838360005b838110156116005781810151838201526020016115e8565b50505050905090810190601f16801561162d5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052925061180c915050565b6000610897836001600160a01b038416611823565b6000610897836001600160a01b03841661186d565b600081848411156116de5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561092e578181015183820152602001610916565b505050900390565b3b151590565b600054610100900460ff16806117055750611705611421565b80611713575060005460ff16155b61174e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806119f9602e913960400191505060405180910390fd5b600054610100900460ff161580156114cf576000805460ff1961ff00199091166101001716600117905580156114e1576000805461ff001916905550565b815460009082106117ce5760405162461bcd60e51b81526004018080602001828103825260228152602001806119586022913960400191505060405180910390fd5b8260000182815481106117dd57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b6114e18161181b611933611954565b63ffffffff16565b600061182f83836117f0565b6118655750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561089a565b50600061089a565b6000818152600183016020526040812054801561192957835460001980830191908101906000908790839081106118a057fe5b90600052602060002001549050808760000184815481106118bd57fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806118ed57fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061089a565b600091505061089a565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b9056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74369da55721ba2b3acddd63aac7d6512c3e5762a78fa01c44f423f97868330c34416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564636c61696d2066726f6d206d696e7461626c655265776172644469737472696275746f72416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220c50a3042cecf1b5a18a4fa04bc54a3a340fb08efc2c635354e9da72ab6674ba264736f6c63430007050033