60 txs
40 calls
constructor
constructor(address initialOwner, address tokenAddress)
functions
accountInfo
viewfunction accountInfo(address account) view returns (uint256 totalReward, uint256 currentReward)
categories
viewfunction categories(uint256) view returns (uint8 id, string name, uint256 pool, uint256 maxReward, uint256 totalRewards)
getAllCategory
viewfunction getAllCategory() view returns (tuple[])
info
viewfunction info() view returns (uint256 totalSetReward, uint256 totalClaim)
owner
viewfunction owner() view returns (address)
token
viewfunction token() view returns (address)
claim
nonpayablefunction claim()
createCategory
nonpayablefunction createCategory(uint8 catId, string name, uint256 pool, uint256 maxReward)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
renounceOwnership
nonpayablefunction renounceOwnership()
setRewards
nonpayablefunction setRewards(uint8 catId, address[] accounts, uint256[] rewards)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Claim
event Claim(address indexed account, uint256 amount)
DistributedReward
event DistributedReward(uint256 reward)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Withdraw
event Withdraw(address indexed owner, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
MaxPoolLimit
error MaxPoolLimit(uint8 catId, uint256 pool, uint256 limit)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60806040523480156200005e5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50604051620018cf380380620018cf833981016040819052620000819162000206565b816001600160a01b038116620000b257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000bd8162000199565b50600180556001600160a01b0382166200011a5760405162461bcd60e51b815260206004820152601e60248201527f4f776e6572277320616464726573732063616e6e6f74206265207a65726f00006044820152606401620000a9565b6001600160a01b038116620001725760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f000000006044820152606401620000a9565b600280546001600160a01b0319166001600160a01b03929092169190911790555062000289565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200020157600080fd5b919050565b60008060408385031215620002655760405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b6200027083620001e9565b91506200028060208401620001e9565b90509250929050565b61163680620002996000396000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101015760003560e01c80638f2c2805116100be5780638f2c2805146101e5578063a7310b58146101fa578063c6cdbe5e1461022b578063db2e21bc1461024f578063f2fde38b14610257578063fc0c546a1461026a57610101565b8063370158ea146101665780633e0f1d34146101885780634e71d92d1461019d5780635ad00e6b146101a5578063715018a6146101b85780638da5cb5b146101c0575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b61016e61027d565b604080519283526020830191909152015b60405180910390f35b61019b610196366004610fb4565b6102da565b005b61019b6104c3565b61019b6101b33660046111c7565b6105bd565b61019b6107ee565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161017f565b6101ed610800565b60405161017f91906112f8565b61016e610208366004611390565b6001600160a01b0316600090815260056020526040902080546001909101549091565b61023e6102393660046113ae565b61091f565b60405161017f9594939291906113ca565b61019b6109ed565b61019b610265366004611390565b610b84565b6002546101cd906001600160a01b031681565b60008060005b6004548110156102d157600481815481106102a0576102a0611403565b906000526020600020906005020160040154836102bd919061142f565b9250806102c981611442565b915050610283565b50506003549091565b6102e2610bc2565b60048054106103385760405162461bcd60e51b815260206004820181905260248201527f416c6c2043617465676f726965732048617665204265656e20446566696e656460448201526064015b60405180910390fd5b60005b6004548110156103cf578460ff166004828154811061035c5761035c611403565b600091825260209091206005909102015460ff16036103bd5760405162461bcd60e51b815260206004820152601a60248201527f43617465676f727920494420416c726561647920457869737473000000000000604482015260640161032f565b806103c781611442565b91505061033b565b506104056040518060a00160405280600060ff168152602001606081526020016000815260200160008152602001600081525090565b60ff85811682526020820185815260408301859052606083018490526004805460018101825560009190915283517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b6005909202918201805460ff19169190941617835590518392917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c019061049b90826114e3565b5060408201518160020155606082015181600301556080820151816004015550505050505050565b6104cb610bef565b336000908152600560205260409020600101548061051f5760405162461bcd60e51b81526020600482015260116024820152704e6f204561726e6564205265776172647360781b604482015260640161032f565b33600090815260056020526040812060018101829055805483929061054590849061142f565b92505081905550806003600082825461055e919061142f565b9091555061057c9050335b6002546001600160a01b03169083610c19565b60405181815233907f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d49060200160405180910390a2506105bb60018055565b565b6105c5610bc2565b80518251146106205760405162461bcd60e51b815260206004820152602160248201527f4163636f756e7420616e642052657761726420436f756e74204d69736d6174636044820152600d60fb1b606482015260840161032f565b600060048460ff168154811061063857610638611403565b906000526020600020906005020190506000805b845181101561073e57600084828151811061066957610669611403565b6020026020010151905083600301548111156106c75760405162461bcd60e51b815260206004820152601c60248201527f5265776172642045786365656473204d6178696d756d204c696d697400000000604482015260640161032f565b80600560008885815181106106de576106de611403565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206001016000828254610718919061142f565b909155506107289050818461142f565b925050808061073690611442565b91505061064c565b5060028201546004830154610753908361142f565b111561079b5784826002015483600401548361076f919061142f565b604051637516ab1560e01b815260ff90931660048401526024830191909152604482015260640161032f565b808260040160008282546107af919061142f565b90915550506040518181527f1ac1caf153e6d20da675153f5b0579f701661e2fd30b470c33c4d1c3e10a92319060200160405180910390a15050505050565b6107f6610bc2565b6105bb6000610c70565b60606004805480602002602001604051908101604052809291908181526020016000905b828210156109165760008481526020908190206040805160a0810190915260058502909101805460ff16825260018101805492939192918401916108679061145b565b80601f01602080910402602001604051908101604052809291908181526020018280546108939061145b565b80156108e05780601f106108b5576101008083540402835291602001916108e0565b820191906000526020600020905b8154815290600101906020018083116108c357829003601f168201915b50505050508152602001600282015481526020016003820154815260200160048201548152505081526020019060010190610824565b50505050905090565b6004818154811061092f57600080fd5b60009182526020909120600590910201805460018201805460ff9092169350906109589061145b565b80601f01602080910402602001604051908101604052809291908181526020018280546109849061145b565b80156109d15780601f106109a6576101008083540402835291602001916109d1565b820191906000526020600020905b8154815290600101906020018083116109b457829003601f168201915b5050505050908060020154908060030154908060040154905085565b6109f5610bc2565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015610a895760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac191906115a3565b905060008111610b1e5760405162461bcd60e51b815260206004820152602260248201527f4e6f20546f6b656e7320417661696c61626c6520466f72205769746864726177604482015261185b60f21b606482015260840161032f565b610b336105696000546001600160a01b031690565b6000546001600160a01b03166001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436482604051610b7991815260200190565b60405180910390a250565b610b8c610bc2565b6001600160a01b038116610bb657604051631e4fbdf760e01b81526000600482015260240161032f565b610bbf81610c70565b50565b6000546001600160a01b031633146105bb5760405163118cdaa760e01b815233600482015260240161032f565b600260015403610c1257604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c6b908490610cc0565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610cd56001600160a01b03841683610d23565b90508051600014158015610cfa575080806020019051810190610cf891906115bf565b155b15610c6b57604051635274afe760e01b81526001600160a01b038416600482015260240161032f565b6060610d3183836000610d3a565b90505b92915050565b606081471015610d5f5760405163cd78605960e01b815230600482015260240161032f565b600080856001600160a01b03168486604051610d7b91906115e4565b60006040518083038185875af1925050503d8060008114610db8576040519150601f19603f3d011682016040523d82523d6000602084013e610dbd565b606091505b5091509150610dcd868383610dd9565b925050505b9392505050565b606082610dee57610de982610e35565b610dd2565b8151158015610e0557506001600160a01b0384163b155b15610e2e57604051639996b31560e01b81526001600160a01b038516600482015260240161032f565b5080610dd2565b805115610e455780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b803560ff81168114610f0f57600080fd5b919050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fac57610fac610f6d565b604052919050565b60008060008060808587031215610fcd57610fcd610e5e565b610fd685610efe565b935060208086013567ffffffffffffffff80821115610ff757610ff7610eae565b818801915088601f83011261100e5761100e610f14565b81358181111561102057611020610f6d565b611032601f8201601f19168501610f83565b915080825289848285010111156110985760405162461bcd60e51b815260048101859052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b80848401858401376000908201909301929092525093969395505050506040820135916060013590565b600067ffffffffffffffff8211156110dc576110dc610f6d565b5060051b60200190565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b6064820152608481fd5b80356001600160a01b0381168114610f0f57600080fd5b600082601f83011261116a5761116a610f14565b8135602061117f61117a836110c2565b610f83565b82815260059290921b840181019181810190868411156111a1576111a16110e6565b8286015b848110156111bc57803583529183019183016111a5565b509695505050505050565b6000806000606084860312156111df576111df610e5e565b6111e884610efe565b925060208085013567ffffffffffffffff8082111561120957611209610eae565b818701915087601f83011261122057611220610f14565b813561122e61117a826110c2565b81815260059190911b8301840190848101908a831115611250576112506110e6565b938501935b82851015611275576112668561113f565b82529385019390850190611255565b96505050604087013592508083111561129057611290610eae565b505061129e86828701611156565b9150509250925092565b60005b838110156112c35781810151838201526020016112ab565b50506000910152565b600081518084526112e48160208601602086016112a8565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561138257603f19898403018552815160a060ff825116855288820151818a870152611350828701826112cc565b838a0151878b01526060808501519088015260809384015193909601929092525050938601939086019060010161131f565b509098975050505050505050565b6000602082840312156113a5576113a5610e5e565b610d318261113f565b6000602082840312156113c3576113c3610e5e565b5035919050565b60ff8616815260a0602082015260006113e660a08301876112cc565b604083019590955250606081019290925260809091015292915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610d3457610d34611419565b60006001820161145457611454611419565b5060010190565b600181811c9082168061146f57607f821691505b60208210810361148f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610c6b57600081815260208120601f850160051c810160208610156114bc5750805b601f850160051c820191505b818110156114db578281556001016114c8565b505050505050565b815167ffffffffffffffff8111156114fd576114fd610f6d565b6115118161150b845461145b565b84611495565b602080601f831160018114611546576000841561152e5750858301515b600019600386901b1c1916600185901b1785556114db565b600085815260208120601f198616915b8281101561157557888601518255948401946001909101908401611556565b50858210156115935787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156115b8576115b8610e5e565b5051919050565b6000602082840312156115d4576115d4610e5e565b81518015158114610dd257600080fd5b600082516115f68184602087016112a8565b919091019291505056fea2646970667358221220a0fa2e8ae8566220f8397389ed3dbfb2efbbc9bfba25e09f772588827824936c64736f6c6343000814003300000000000000000000000073395dd2954333fe546414679b931fb08c84ae8100000000000000000000000092d5942f468447f1f21c2092580f15544923b434