9.9k txs
10.2k calls
constructor
constructor(address initialOwner, address tokenAddress, uint64 launchTime, uint64 rewardPeriod, uint256 poolSize)
functions
accountInfo
viewfunction accountInfo(address account) view returns (uint256 startTime, uint256 stakeAmount, uint256 lastClaimTime, uint256 totalClaim, uint256 unlockAmount, uint256 nextUnlockTime, uint256 nextUnlockAmount, uint64 epochDay, bool isActive)
getDayRate
viewfunction getDayRate(uint256 day) view returns (uint256)
info
viewfunction info() view returns (uint64 launchTime, uint64 rewardPeriod, uint64 lastUpdateDay, uint64 currentDay, uint256 poolSize, uint256 dailyReward, uint256 totalStaked, uint256 totalClaimedReward, uint256 userCount)
owner
viewfunction owner() view returns (address)
token
viewfunction token() view returns (address)
claim
nonpayablefunction claim()
increasePool
nonpayablefunction increasePool(uint256 amount)
remainingClaim
nonpayablefunction remainingClaim(address to)
renounceOwnership
nonpayablefunction renounceOwnership()
rewardToStake
nonpayablefunction rewardToStake()
stake
nonpayablefunction stake(uint256 amount)
stakeWithPermit
nonpayablefunction stakeWithPermit(address account, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unStake
nonpayablefunction unStake()
events
Claimed
event Claimed(address indexed user, uint256 amount)
IncreasePool
event IncreasePool(address indexed account, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RecursiveStake
event RecursiveStake(address indexed user, uint256 amount)
RemainingClaim
event RemainingClaim(address indexed owner, uint256 amount)
Staked
event Staked(address indexed user, uint256 amount)
UnStake
event UnStake(address indexed owner, uint256 amount, uint256 reward)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60e06040523480156200005e5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50604051620021d6380380620021d68339810160408190526200008191620002d0565b846001600160a01b038116620000b257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000bd816200024b565b5060018055426001600160a01b0386166200012e5760405162461bcd60e51b815260206004820152602a60248201527f5354414b453a464c45583a4f776e6572277320616464726573732063616e6e6f6044820152693a103132903d32b9379760b11b6064820152608401620000a9565b6001600160a01b038516620001975760405162461bcd60e51b815260206004820152602860248201527f5354414b453a464c45583a546f6b656e20616464726573732063616e6e6f74206044820152673132903d32b9379760c11b6064820152608401620000a9565b806001600160401b0316846001600160401b031611620002205760405162461bcd60e51b815260206004820152603960248201527f5354414b453a464c45583a4c61756e63682074696d65206d757374206265206760448201527f726561746572207468616e2070726573656e742074696d652e000000000000006064820152608401620000a9565b506001600160a01b039093166080526001600160401b0391821660a0521660c0526002555062000382565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620002b357600080fd5b919050565b80516001600160401b0381168114620002b357600080fd5b600080600080600060a08688031215620003345760405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b6200033f866200029b565b94506200034f602087016200029b565b93506200035f60408701620002b8565b92506200036f60608701620002b8565b9150608086015190509295509295909350565b60805160a05160c051611da6620004306000396000818161038201528181610f4f015281816116550152818161170b01526117c101526000818161036101528181610ef801528181610f73015281816112790152818161169d0152818161173501526117f501526000818161032f015281816106b40152818161077f01528181610946015281816109c401528181610aa40152818161110d01528181611376015261149d0152611da66000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c80638da5cb5b116100d9578063a7310b58116100b3578063a7310b58146102ad578063acb751131461030f578063f2fde38b14610317578063fc0c546a1461032a57610137565b80638da5cb5b1461025457806399a9dbe814610279578063a694fc3a1461029a57610137565b806373cf575a1161011557806373cf575a1461021357806373d6a8891461021b5780637d9aff4b1461022e578063833e8bb61461024157610137565b8063370158ea1461019c5780634e71d92d14610201578063715018a61461020b575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101a4610351565b604080516001600160401b039a8b168152988a1660208a015296891696880196909652969093166060860152608085019190915260a084015260c083015260e0820192909252610100810191909152610120015b60405180910390f35b6102096103fd565b005b6102096104d2565b6102096104e4565b610209610229366004611a92565b61072d565b61020961023c366004611af5565b610846565b61020961024f366004611b13565b6109bf565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101f8565b61028c610287366004611b13565b610a43565b6040519081526020016101f8565b6102096102a8366004611b13565b610a91565b6102c06102bb366004611af5565b610c02565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c08401526001600160401b031660e08301521515610100820152610120016101f8565b610209610cff565b610209610325366004611af5565b610ead565b6102617f000000000000000000000000000000000000000000000000000000000000000081565b60008060008060008060008060007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600560009054906101000a90046001600160401b03166103bf610ee8565b6002546103d7670de0b6b3a764000062043d11611b45565b600354600454600654985098509850985098509850985098509850909192939495969798565b610405610fa2565b336000908152600760205260409020600481015460ff166104415760405162461bcd60e51b815260040161043890611b5c565b60405180910390fd5b600061044b610ee8565b905061045681610fcc565b6002820154600183015460009161047a916001600160401b0390911690849061101c565b90506000811161049c5760405162461bcd60e51b815260040161043890611ba3565b60028301805467ffffffffffffffff19166001600160401b0384161790556104c483826110a5565b5050506104d060018055565b565b6104da611196565b6104d060006111c3565b6104ec610fa2565b336000818152600760205260409020600481015460ff1661051f5760405162461bcd60e51b815260040161043890611b5c565b6000610529610ee8565b60028301549091506001600160401b0390811690821610156105a35760405162461bcd60e51b815260206004820152602d60248201527f5354414b453a464c45583a596f752063616e6e6f742065786974206265666f7260448201526c32903cb7bab91034b9903ab81760991b6064820152608401610438565b600182015460028301546000906105c4906001600160401b0316848461101c565b905080600260008282546105d89190611bed565b9091555050600284018054600060018701819055426001600160401b03908116600160401b026fffffffffffffffffffffffffffffffff199093169087161791909117909155600385018054839290610632908490611c00565b909155505060048401805460ff191690556006805490600061065383611c13565b9190505550806004600082825461066a9190611c00565b9250508190555081600360008282546106839190611bed565b9091555061069c9050610697846001611c2a565b610fcc565b6106db856106aa8385611c00565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611213565b60408051838152602081018390526001600160a01b038716917f54a9763035584fc4fcad1bc4e0e7a83f93e016f50ae32bd527530a77257393ee910160405180910390a250505050506104d060018055565b610735610fa2565b60405163d505accf60e01b81526001600160a01b038781166004830152306024830152604482018790526064820186905260ff8516608483015260a4820184905260c482018390527f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9060e401600060405180830381600087803b1580156108135760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505af1158015610827573d6000803e3d6000fd5b505050506108358686611277565b61083e60018055565b505050505050565b61084e611196565b610856610fa2565b61085e611651565b42116108bf5760405162461bcd60e51b815260206004820152602a60248201527f5354414b453a464c45583a446973747269627574696f6e206973207374696c6c6044820152691031b7b73a34b73ab29760b11b6064820152608401610438565b600654156109355760405162461bcd60e51b815260206004820152603c60248201527f5354414b453a464c45583a5468657265206973207374696c6c2061637469766560448201527f20616e206163636f756e742061742074686520636f6e74726163742e000000006064820152608401610438565b60025461096e906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016908390611213565b600060028190556040519081526001600160a01b038216907ffc3c901b54b3eda21b5c2fac44318971c059dede078e02337447a82649704d6b9060200160405180910390a26109bc60018055565b50565b6109f47f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163330846116c7565b8060026000828254610a069190611c00565b909155505060405181815233907f034d8d86948028af29be6db4d39c10fa2a7fc4ea889c3b3f08a37bc5fe3757a89060200160405180910390a250565b6000815b60008181526008602052604090205415610a705760009081526008602052604090205492915050565b8015610a885780610a8081611c13565b915050610a47565b50600092915050565b610a99610fa2565b806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663dd62ed3e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260440160206040518083038186803b158015610b5f5760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b979190611c51565b1015610bef5760405162461bcd60e51b815260206004820152602160248201527f5354414b453a464c45583a496e73756666696369656e7420616c6c6f77616e636044820152606560f81b6064820152608401610438565b610bf93382611277565b6109bc60018055565b6001600160a01b0381166000908152600760205260408120805460018201546002830154600384015460048501546001600160401b03948516969395600160401b84048616959294938493849391169160ff909116908115610cf1576000610c68611651565b60028301549091504290610c91906001600160401b0316610c87610ee8565b856001015461101c565b975080821115610cee576002830154610cb2906001600160401b0316611706565b6005546001600160401b03166000908152600860205260409020549097506402540be40090610ce1908d611b45565b610ceb9190611c83565b95505b50505b509193959799909294969850565b610d07610fa2565b42610d10611651565b11610d695760405162461bcd60e51b8152602060048201526024808201527f5354414b453a464c45583a54686520636f6e74726163742068617320657870696044820152633932b21760e11b6064820152608401610438565b336000908152600760205260409020600481015460ff16610d9c5760405162461bcd60e51b815260040161043890611b5c565b6000610da6610ee8565b610db1906001611c2a565b60028301546001840154919250600091610dd6916001600160401b031690849061101c565b905060008111610df85760405162461bcd60e51b815260040161043890611ba3565b80836001016000828254610e0c9190611c00565b909155505060028301805467ffffffffffffffff19166001600160401b03841617905560038054829190600090610e44908490611c00565b925050819055508060046000828254610e5d9190611c00565b90915550610e6c905082610fcc565b60405181815233907f2f3c266b110e692e19d05d63065a99cf2a1a080053892feefadab12b55fc364c9060200160405180910390a25050506104d060018055565b610eb5611196565b6001600160a01b038116610edf57604051631e4fbdf760e01b815260006004820152602401610438565b6109bc816111c3565b6000426001600160401b038082167f00000000000000000000000000000000000000000000000000000000000000009091161115610f2857600091505090565b610f30611651565b816001600160401b031610610f4d57610f4761181a565b91505090565b7f0000000000000000000000000000000000000000000000000000000000000000610f987f000000000000000000000000000000000000000000000000000000000000000083611c97565b610f479190611cb7565b600260015403610fc557604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6005546001600160401b038083169116116109bc57610fe9611856565b6001600160401b0382166000818152600860205260409020919091556005805467ffffffffffffffff1916909117905550565b60008080855b856001600160401b0316816001600160401b03161015611089576001600160401b038116600090815260086020526040902054801561105f578092505b6110698387611b45565b6110739085611c00565b935050808061108190611cdd565b915050611022565b506110996402540be40083611c83565b925050505b9392505050565b6002820180546fffffffffffffffff00000000000000001916600160401b426001600160401b0316021790556003820180548291906000906110e8908490611c00565b9250508190555080600260008282546111019190611bed565b9091555033905061113c7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168284611213565b816004600082825461114e9190611c00565b90915550506040518281526001600160a01b038216907fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a9060200160405180910390a2505050565b6000546001600160a01b031633146104d05760405163118cdaa760e01b8152336004820152602401610438565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b0383811660248301526044820183905261127291859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611899565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031642116112ff5760405162461bcd60e51b815260206004820152602760248201527f5354414b453a5374616b696e672074696d6520686173206e6f7420737461727460448201526632b2103cb2ba1760c91b6064820152608401610438565b42611308611651565b116113555760405162461bcd60e51b815260206004820152601f60248201527f5354414b453a54686520636f6e74726163742068617320657870697265642e006044820152606401610438565b6040516370a0823160e01b81526001600160a01b03838116600483015282917f0000000000000000000000000000000000000000000000000000000000000000909116906370a082319060240160206040518083038186803b15801561140a5760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa15801561141e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114429190611c51565b10156114905760405162461bcd60e51b815260206004820181905260248201527f5354414b453a464c45583a496e73756666696369656e742062616c616e63652e6044820152606401610438565b6114c56001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168330846116c7565b60006114cf610ee8565b6114da906001611c2a565b6001600160a01b0384166000908152600760205260408120600181015492935091900361154057805467ffffffffffffffff1916426001600160401b031617815560048101805460ff191660011790556006805490600061153a83611d03565b91905055505b60028101546001600160401b0316611559600184611c97565b6001600160401b031610158015611574575060008160010154115b156115ab576002810154600182015460009161159d916001600160401b0390911690859061101c565b90506115a982826110a5565b505b60028101805467ffffffffffffffff19166001600160401b0384161790556001810180548491906000906115e0908490611c00565b9250508190555082600360008282546115f99190611c00565b90915550611608905082610fcc565b836001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8460405161164391815260200190565b60405180910390a250505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661168561181a565b61168f9190611b45565b6116c2906001600160401b037f000000000000000000000000000000000000000000000000000000000000000016611c00565b905090565b6040516001600160a01b0384811660248301528381166044830152606482018390526117009186918216906323b872dd90608401611240565b50505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160401b03167f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316426117689190611bed565b6117729190611c83565b9050826001600160401b0316611786610ee8565b6001600160401b0316106117a65761179f600182611c00565b90506117b4565b6117b1600282611c00565b90505b6117e76001600160401b037f00000000000000000000000000000000000000000000000000000000000000001682611b45565b61109e906001600160401b037f000000000000000000000000000000000000000000000000000000000000000016611c00565b6000611831670de0b6b3a764000062043d11611b45565b6004546002546118419190611c00565b61184b9190611c83565b6116c2906001611c00565b60035460009015611893576003546402540be40061187f670de0b6b3a764000062043d11611b45565b6118899190611b45565b6116c29190611c83565b50600090565b60006118ae6001600160a01b038416836118fc565b905080516000141580156118d35750808060200190518101906118d19190611d1c565b155b1561127257604051635274afe760e01b81526001600160a01b0384166004820152602401610438565b606061190a83836000611913565b90505b92915050565b6060814710156119385760405163cd78605960e01b8152306004820152602401610438565b600080856001600160a01b031684866040516119549190611d41565b60006040518083038185875af1925050503d8060008114611991576040519150601f19603f3d011682016040523d82523d6000602084013e611996565b606091505b50915091506110998683836060826119b6576119b1826119fd565b61109e565b81511580156119cd57506001600160a01b0384163b155b156119f657604051639996b31560e01b81526001600160a01b0385166004820152602401610438565b508061109e565b805115611a0d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b80356001600160a01b0381168114611a8d57600080fd5b919050565b60008060008060008060c08789031215611aae57611aae611a26565b611ab787611a76565b95506020870135945060408701359350606087013560ff81168114611adb57600080fd5b9598949750929560808101359460a0909101359350915050565b600060208284031215611b0a57611b0a611a26565b61190a82611a76565b600060208284031215611b2857611b28611a26565b5035919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761190d5761190d611b2f565b60208082526027908201527f5354414b453a464c45583a596f752068617665206e6f6e65207374616b6564206040820152663a37b5b2b7399760c91b606082015260800190565b6020808252602a908201527f5354414b453a464c45583a4e6f207265776172642068617665206265656e206560408201526930b93732b2103cb2ba1760b11b606082015260800190565b8181038181111561190d5761190d611b2f565b8082018082111561190d5761190d611b2f565b600081611c2257611c22611b2f565b506000190190565b6001600160401b03818116838216019080821115611c4a57611c4a611b2f565b5092915050565b600060208284031215611c6657611c66611a26565b5051919050565b634e487b7160e01b600052601260045260246000fd5b600082611c9257611c92611c6d565b500490565b6001600160401b03828116828216039080821115611c4a57611c4a611b2f565b60006001600160401b0380841680611cd157611cd1611c6d565b92169190910492915050565b60006001600160401b03808316818103611cf957611cf9611b2f565b6001019392505050565b600060018201611d1557611d15611b2f565b5060010190565b600060208284031215611d3157611d31611a26565b8151801515811461109e57600080fd5b6000825160005b81811015611d625760208186018101518583015201611d48565b50600092019182525091905056fea26469706673582212207cd9f3c2b4d2b3f822012e089d0c06cf86358e4072571cf19184f934fd76012a64736f6c6343000814003300000000000000000000000073395dd2954333fe546414679b931fb08c84ae8100000000000000000000000092d5942f468447f1f21c2092580f15544923b434000000000000000000000000000000000000000000000000000000006724d0d000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000026c62ad77dc602dae000000