16 txs
30 calls
constructor
constructor(address _owner)
functions
allocation
viewfunction allocation(address token) view returns (uint256)
currentCycleId
viewfunction currentCycleId() view returns (uint256)
getNextCyclePools
viewfunction getNextCyclePools() view returns (uint256[] pools)
getNextCycleTime
viewfunction getNextCycleTime() view returns (uint256)
getPendingDisable
viewfunction getPendingDisable() view returns (address[])
getRewardBalances
viewfunction getRewardBalances() view returns (uint256[] balances)
getRewardTokens
viewfunction getRewardTokens() view returns (address[])
getUserRewards
viewfunction getUserRewards(address account, uint256[] stakeIds) view returns (uint256[] rewards, bool[] eligible)
isBlacklisted
viewfunction isBlacklisted(address account) view returns (bool)
isRewardToken
viewfunction isRewardToken(address token) view returns (bool)
lastClaimedCycleId
viewfunction lastClaimedCycleId(address account, address token) view returns (uint256)
lastCycleT
viewfunction lastCycleT() view returns (uint256)
minCyclePools
viewfunction minCyclePools(address token) view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
claimRewards
nonpayablefunction claimRewards(address[] tokens, uint256[] stakeIds, address receiver) returns (uint256[] claimedRewards)
disableRewardToken
nonpayablefunction disableRewardToken(address token)
enableRewardToken
nonpayablefunction enableRewardToken(address token, uint256 _minCyclePool)
renounceOwnership
nonpayablefunction renounceOwnership()
setBlacklisted
nonpayablefunction setBlacklisted(address account, bool blacklisted)
setMinCyclePool
nonpayablefunction setMinCyclePool(address token, uint256 limit)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateCycle
nonpayablefunction updateCycle()
events
CycleCreated
event CycleCreated()
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
RewardsClaimed
event RewardsClaimed()
errors
AccountBlacklisted
error AccountBlacklisted()
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CycleNotAvailable
error CycleNotAvailable()
DuplicateRewardToken
error DuplicateRewardToken()
DuplicateStakeId
error DuplicateStakeId()
FailedInnerCall
error FailedInnerCall()
NoAllocation
error NoAllocation()
NotRewardToken
error NotRewardToken()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
Prohibited
error Prohibited()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
StakeIdTooLarge
error StakeIdTooLarge()
StakeInactive
error StakeInactive()
ZeroAddress
error ZeroAddress()
ZeroInput
error ZeroInput()
creation bytecode
0x60803460c957601f611c2b38819003918201601f19168301916001600160401b0383118484101760ce5780849260209460405283398101031260c957516001600160a01b0381169081900360c957801560b357600180546001600160a01b0319908116909155600080549182168317815560405192916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a342600255611b4690816100e58239f35b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c80630ebd942f146111365780630ff743ef146110fc578063121420aa146110d65780632fb8c5d6146110ba5780633b2e56531461109c578063715018a61461103757806378bc861b14610f6857806379ba509714610edf5780637fe56d4b14610a325780638da5cb5b14610a095780639b5c641b146109375780639e39020814610844578063aaacdda014610826578063b5fd73f8146107e7578063b81b8630146107ad578063bd9c190d14610745578063c4f59f9b14610719578063c65af62214610388578063cabdf36b14610327578063d01dd6d2146102a1578063d6d11ad814610205578063e30c3978146101dc578063f2fde38b146101685763fe575a871461012457600080fd5b34610163576020366003190112610163576001600160a01b036101456111c6565b166000526005602052602060ff604060002054166040519015158152f35b600080fd5b34610163576020366003190112610163576101816111c6565b610189611696565b60018060a01b0316806bffffffffffffffffffffffff60a01b600154161760015560018060a01b03600054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b34610163576000366003190112610163576001546040516001600160a01b039091168152602090f35b346101635760403660031901126101635761021e6111c6565b6024359067ffffffffffffffff82116101635761024c90610246610260933690600401611253565b91611417565b60405192839260408452604084019061121f565b82810360208401526020808351928381520192019060005b818110610286575050500390f35b82511515845285945060209384019390920191600101610278565b34610163576040366003190112610163576102ba6111c6565b60243580151591828203610163576102d0611696565b6001600160a01b03169182156103165782600052600560205260406000209060ff8019835416911617905560001461030d5761030b90611789565b005b61030b906119fb565b63d92e233d60e01b60005260046000fd5b34610163576040366003190112610163576103406111c6565b602435906001600160a01b03821682036101635760018060a01b0316600052600660205260406000209060018060a01b03166000526020526020604060002054604051908152f35b34610163576000366003190112610163576103a4600254611284565b42106107085742600255600354600019811461051757600101600355600b5480610698575b50600d5460405163af4fb76360e01b8152602081600481732614f29c39de46468a921fd0b41fdd99a01f2edf5afa90811561056157600091610666575b50908061056d575b5060095461041a61182b565b60005b82811061044b577fd81aeda34236c43c3989584a50407248fc6b50016cdb162887ccfc5426559602600080a1005b6001600160a01b0361045d828461130d565b51166040516370a0823160e01b8152306004820152602081602481855afa9081156105615760009161052d575b5081600052600760205260406000205481106000146104be5750906001916000526008602052600060408120555b0161041d565b670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561051757600086156105035750908560019392049060005260086020526040600020556104b8565b634e487b7160e01b81526012600452602490fd5b634e487b7160e01b600052601160045260246000fd5b906020823d8211610559575b81610546602093836112a1565b810103126105565750518661048a565b80fd5b3d9150610539565b6040513d6000823e3d90fd5b60405190600d548083526020830190600d60005260206000209060005b81811061065057505050826105a09103836112a1565b6000915b8183106105b257505061040e565b91929091906001600160a01b036105c9858461130d565b51604051639a5a6cd960e01b815291166004820152602081602481732614f29c39de46468a921fd0b41fdd99a01f2edf5afa9081156105615760009161061f575b508103908111610517579260010191906105a4565b906020823d8211610648575b81610638602093836112a1565b810103126105565750518561060a565b3d915061062b565b825484526020909301926001928301920161058a565b90506020813d602011610690575b81610681602093836112a1565b81010312610163575182610406565b3d9150610674565b6106a06117de565b9060005b8181106106b25750506103c9565b6001906107016001600160a01b036106ca838761130d565b5116806000526004602052604060002060ff1981541690556106eb81611876565b5080600052600860205260006040812055611947565b50016106a4565b632d451c8d60e21b60005260046000fd5b346101635760003660031901126101635761074161073561182b565b604051918291826111dc565b0390f35b346101635760403660031901126101635761075e6111c6565b610766611696565b6001600160a01b031660008181526004602052604090205460ff161561079c576000526007602052602435604060002055600080f35b63804543b560e01b60005260046000fd5b34610163576020366003190112610163576001600160a01b036107ce6111c6565b1660005260086020526020604060002054604051908152f35b34610163576020366003190112610163576001600160a01b036108086111c6565b166000526004602052602060ff604060002054166040519015158152f35b34610163576000366003190112610163576020600354604051908152f35b346101635760003660031901126101635760095461086061182b565b9061086a816112db565b9160005b82811061088b57604051602080825281906107419082018761121f565b6001600160a01b0361089d828461130d565b516040516370a0823160e01b8152306004820152929116602083602481845afa90811561056157600091610901575b60019350600052600760205260406000205481106000146108fc575060005b6108f5828761130d565b520161086e565b6108eb565b9192906020823d821161092f575b8161091c602093836112a1565b81010312610556575051600192916108cc565b3d915061090f565b34610163576020366003190112610163576109506111c6565b610958611696565b6040516370a0823160e01b81523060048201526001600160a01b039190911690602081602481855afa908115610561576000916109d7575b5081600052600760205260406000205411156109c65780600052600460205260ff604060002054161561079c5761030b90611734565b632b0039c760e21b60005260046000fd5b90506020813d602011610a01575b816109f2602093836112a1565b81010312610163575182610990565b3d91506109e5565b34610163576000366003190112610163576000546040516001600160a01b039091168152602090f35b346101635760603660031901126101635760043567ffffffffffffffff811161016357610a63903690600401611253565b60243567ffffffffffffffff811161016357610a83903690600401611253565b9290604435906001600160a01b03821680830361016357156103165733600052600560205260ff60406000205416610ece57936002546000956000806000916000916000965b808810610ceb578b8b8b8b8315610cb857600354610ae6846112db565b9360005b818110610b2c5760405180610741887f68e2c7e09a4a7d4fed2367771ceaa06623fb2e3f8b90065b2473b3f9752f9968600080a160208352602083019061121f565b610b37818387611337565b356001600160a01b038116908190036101635780600052600460205260ff604060002054161561079c5780600052600860205260406000205480158015610cc9575b610cb857610b9089670de0b6b3a764000092611404565b60405163a9059cbb60e01b602082019081526001600160a01b038916602483015292909104604480830182905282529291600091829190610bd26064826112a1565b519082855af13d15610cac573d67ffffffffffffffff8111610c9657610c1b9160405191610c0a6020601f19601f84011601846112a1565b82523d6000602084013e5b83611aaf565b8051908115159182610c72575b5050610c5e5790846040600194933360005260066020528160002060009182526020522055610c57828961130d565b5201610aea565b635274afe760e01b60005260045260246000fd5b81925090602091810103126101635760200151801590811503610163578a80610c28565b634e487b7160e01b600052604160045260246000fd5b610c1b90606090610c15565b632fc532ad60e11b60005260046000fd5b5033600052600660205284604080600020600090858252602052205414610b79565b909192939495969a610cfe8c8389611337565b35946103e88611610ebd5792600160ff87161b908086898760088b901c80610e54575050505050818116610e4357610d629160e09117945b60405162572fd560e11b8152336004820152602481019890985297949694959491829081906044820190565b0381732614f29c39de46468a921fd0b41fdd99a01f2edf5afa90811561056157600091610e15575b5060c08101516003811015610dff5760009015801590610df6575b610de757508865ffffffffffff6060830151161015610ddd576001916020610dcf92015190611294565b9b5b01969594929390610ac9565b509a600190610dd1565b630217669b60e31b8152600490fd5b50815115610da5565b634e487b7160e01b600052602160045260246000fd5b610e36915060e03d8111610e3c575b610e2e81836112a1565b81019061135a565b8d610d8a565b503d610e24565b637df98a3f60e11b60005260046000fd5b98999398929450909160018103610e7e5750505050818116610e4357610d629160e0911795610d36565b989a929891935090600203610ea4575050818116610e4357610d629160e0911797610d36565b8391995080925016610e4357610d629160e09117610d36565b6339593acb60e21b60005260046000fd5b637d28af3f60e01b60005260046000fd5b3461016357600036600319011261016357600154336001600160a01b0390911603610f5357600180546001600160a01b03199081169091556000805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b6000523360045260246000fd5b3461016357600036600319011261016357600954610f8461182b565b90610f8e816112db565b9160005b828110610faf57604051602080825281906107419082018761121f565b602460206001600160a01b03610fc5848661130d565b5116604051928380926370a0823160e01b82523060048301525afa90811561056157600091611005575b5090600191610ffe828761130d565b5201610f92565b906020823d821161102f575b8161101e602093836112a1565b810103126105565750516001610fef565b3d9150611011565b3461016357600036600319011261016357611050611696565b600180546001600160a01b0319908116909155600080549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610163576000366003190112610163576020600254604051908152f35b34610163576000366003190112610163576107416107356117de565b346101635760003660031901126101635760206110f4600254611284565b604051908152f35b34610163576020366003190112610163576001600160a01b0361111d6111c6565b1660005260076020526020604060002054604051908152f35b346101635760403660031901126101635761114f6111c6565b6024359061115b611696565b6001600160a01b031680156103165781156111b557611179816116c2565b156111a4576000908152600460209081526040808320805460ff191660011790556007909152902055005b631c3610d960e21b60005260046000fd5b63af458c0760e01b60005260046000fd5b600435906001600160a01b038216820361016357565b602060408183019282815284518094520192019060005b8181106112005750505090565b82516001600160a01b03168452602093840193909201916001016111f3565b906020808351928381520192019060005b81811061123d5750505090565b8251845260209384019390920191600101611230565b9181601f840112156101635782359167ffffffffffffffff8311610163576020808501948460051b01011161016357565b906224ea00820180921161051757565b9190820180921161051757565b90601f8019910116810190811067ffffffffffffffff821117610c9657604052565b67ffffffffffffffff8111610c965760051b60200190565b906112e5826112c3565b6112f260405191826112a1565b8281528092611303601f19916112c3565b0190602036910137565b80518210156113215760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91908110156113215760051b0190565b519065ffffffffffff8216820361016357565b908160e09103126101635760006040519160e0830183811067ffffffffffffffff8211176113f0576040528051835260208101516020840152604081015161ffff811681036113ec57604084015260c0906113b760608201611347565b60608501526113c860808201611347565b608085015260a081015160a08501520151906003821015610556575060c082015290565b8280fd5b634e487b7160e01b83526041600452602483fd5b8181029291811591840414171561051757565b9290919260095490604051946009548087528660208101600960005260206000209260005b81811061167d575050611451925003876112a1565b61145a836112db565b95611464826112c3565b9261147260405194856112a1565b828452601f19611481846112c3565b01366020860137839660018060a01b0382169485600052600560205260ff604060002054166116735750600293919354906000946000935b808510611572575050505050811561156c5760005b8481106114dc575050505050565b600190836001600160a01b036114f2838661130d565b5116806000526008602052604060002054908115908115611540575b5061153957670de0b6b3a76400009161152691611404565b04611531828b61130d565b525b016114ce565b5050611533565b6040915088600052600660205281600020600091878060a01b031682526020522054600354143861150e565b50505050565b90919293956115b560e0611587898588611337565b60405162572fd560e11b81526001600160a01b03871660048201529035602482015291829081906044820190565b0381732614f29c39de46468a921fd0b41fdd99a01f2edf5afa90811561056157600091611655575b5060c08101516003811015610dff571580159061164c575b611642578b8665ffffffffffff60608401511610156116375791602061162b9260016116228c829761130d565b52015190611294565b965b01939291906114b9565b50509560019061162d565b509560019061162d565b508051156115f5565b61166d915060e03d8111610e3c57610e2e81836112a1565b386115dd565b9750505050505050565b845483526001948501948b94506020909301920161143c565b6000546001600160a01b03163303610f5357565b80548210156113215760005260206000200190600090565b80600052600a6020526040600020541560001461172e57600954600160401b811015610c96576117156116fe82600185940160095560096116aa565b819391549060031b91821b91600019901b19161790565b905560095490600052600a602052604060002055600190565b50600090565b80600052600c6020526040600020541560001461172e57600b54600160401b811015610c96576117706116fe826001859401600b55600b6116aa565b9055600b5490600052600c602052604060002055600190565b80600052600e6020526040600020541560001461172e57600d54600160401b811015610c96576117c56116fe826001859401600d55600d6116aa565b9055600d5490600052600e602052604060002055600190565b60405190600b548083528260208101600b60005260206000209260005b818110611812575050611810925003836112a1565b565b84548352600194850194879450602090930192016117fb565b604051906009548083528260208101600960005260206000209260005b81811061185d575050611810925003836112a1565b8454835260019485019487945060209093019201611848565b6000818152600a602052604090205480156119405760001981018181116105175760095460001981019190821161051757818103611906575b50505060095480156118f057600019016118ca8160096116aa565b8154906000199060031b1b19169055600955600052600a60205260006040812055600190565b634e487b7160e01b600052603160045260246000fd5b6119286119176116fe9360096116aa565b90549060031b1c92839260096116aa565b9055600052600a6020526040600020553880806118af565b5050600090565b6000818152600c6020526040902054801561194057600019810181811161051757600b54600019810191908211610517578181036119c1575b505050600b5480156118f0576000190161199b81600b6116aa565b8154906000199060031b1b19169055600b55600052600c60205260006040812055600190565b6119e36119d26116fe93600b6116aa565b90549060031b1c928392600b6116aa565b9055600052600c602052604060002055388080611980565b6000818152600e6020526040902054801561194057600019810181811161051757600d5460001981019190821161051757818103611a75575b505050600d5480156118f05760001901611a4f81600d6116aa565b8154906000199060031b1b19169055600d55600052600e60205260006040812055600190565b611a97611a866116fe93600d6116aa565b90549060031b1c928392600d6116aa565b9055600052600e602052604060002055388080611a34565b90611ad55750805115611ac457805190602001fd5b630a12f52160e11b60005260046000fd5b81511580611b07575b611ae6575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b15611ade56fea26469706673582212207478ca9ba862561d7bd2e1049073ca4f0a550b1bf2d1cd2326eeb685416a413f64736f6c634300081a00330000000000000000000000007e7061905e6105eb6b2c8bac5bb44733d5a02d1a