1.6k txs
1.6k calls
constructor
constructor(address _fust, address _fusd)
functions
accRewardPerShare
viewfunction accRewardPerShare() view returns (uint256)
admin
viewfunction admin() view returns (address)
currentRewardIndex
viewfunction currentRewardIndex() view returns (uint256)
DAILY_REWARD_PERCENT
viewfunction DAILY_REWARD_PERCENT() view returns (uint256)
EARLY_UNSTAKE_PENALTY
viewfunction EARLY_UNSTAKE_PENALTY() view returns (uint256)
FUSD
viewfunction FUSD() view returns (address)
FUST
viewfunction FUST() view returns (address)
getCurrentRewardIndex
viewfunction getCurrentRewardIndex() view returns (uint256)
getStakes
viewfunction getStakes(address account) view returns (uint256[] amounts, uint256[] sinces, uint256[] rewardDebts)
lastRewardDay
viewfunction lastRewardDay() view returns (uint256)
lastUpdate
viewfunction lastUpdate() view returns (uint256)
MIN_STAKE_DURATION
viewfunction MIN_STAKE_DURATION() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingReward
viewfunction pendingReward(address account) view returns (uint256)
PRECISION
viewfunction PRECISION() view returns (uint256)
rewardPool
viewfunction rewardPool() view returns (uint256)
stakes
viewfunction stakes(address, uint256) view returns (uint256 amount, uint256 since, uint256 rewardDebt)
todayRewardPool
viewfunction todayRewardPool() view returns (uint256)
totalRewardsEarned
viewfunction totalRewardsEarned(address) view returns (uint256)
totalStaked
viewfunction totalStaked() view returns (uint256)
claim
nonpayablefunction claim()
fundRewardPool
nonpayablefunction fundRewardPool(uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setAdmin
nonpayablefunction setAdmin(address _admin)
stake
nonpayablefunction stake(uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
triggerRewardDecay
nonpayablefunction triggerRewardDecay()
unstake
nonpayablefunction unstake(uint256 index)
events
AdminUpdated
event AdminUpdated(address indexed newAdmin)
Claimed
event Claimed(address indexed user, uint256 reward)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardDecayTriggered
event RewardDecayTriggered(uint256 oldPool, uint256 newPool, uint256 dayTimestamp)
RewardFunded
event RewardFunded(uint256 amount)
Staked
event Staked(address indexed user, uint256 amount, uint256 index)
Unstaked
event Unstaked(address indexed user, uint256 amount, uint256 penalty, uint256 index)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60c034620001a557601f6200163f38819003918201601f19168301916001600160401b03831184841017620001aa578084926040948552833981010312620001a5576200005a60206200005283620001c0565b9201620001c0565b9033156200018c5760008054336001600160a01b031982168117835560405192946001600160a01b039490939285929083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a36001805516908115158062000180575b156200014f57506080521660a0524260065562015180908142048281029281840414901517156200013b57506007556040516114699081620001d6823960805181818161035f0152818161049101528181610b9f0152610c48015260a051818181610a2101528181610cc701528181610e110152610e970152f35b634e487b7160e01b81526011600452602490fd5b62461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606490fd5b508383161515620000c0565b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001a55756fe608060408181526004918236101561001657600080fd5b600092833560e01c9182630420607614610ec65750816312d85f4214610e825781631d583e0d14610db65781631eee7bcf14610d975781631f4531f514610d7a5781632e17de7814610ac35781634e71d92d1461094a578163584b62a1146108d957816366666aa9146108bb578163704b6c021461081b578163715018a6146107c157816373735800146107a25781637ba6f45814610648578163817b1cd2146106295781638da5cb5b14610601578163939d6237146105e2578163a694fc3a1461045b578163aaf5eb681461043e578163bfae88bc14610422578163c046371114610403578163db56a6d6146103e4578163e0c570ba146103c6578163e4f24cb01461038e578163edd3581f1461034a578163f2fde38b146102bf57508063f34656a9146102a1578063f40f0f52146101845763f851a4401461015957600080fd5b3461018057816003193601126101805760025490516001600160a01b039091168152602090f35b5080fd5b5034610180576020918260031936011261029e576001600160a01b036101a861101a565b168152600a83528181209081546101be81611385565b926101cb8551948561127d565b81845282528482208290868086015b848410610268575050505050805b825181101561025f576101fb818461139d565b5151610210575b61020b906110f0565b6101e8565b9061025761020b91670de0b6b3a764000061025061022e868861139d565b515161024a6009548a6102418a8c61139d565b5101519061110c565b906110c7565b04906110ff565b919050610202565b84828551908152f35b60019160039189516102798161124b565b85548152848601548382015260028601548b82015281520192019201919087906101da565b80fd5b50346101805781600319360112610180576020906008549051908152f35b905034610346576020366003190112610346576102da61101a565b906102e361109b565b6001600160a01b0391821692831561033057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b505034610180578160031936011261018057517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5050346101805760203660031901126101805760209181906001600160a01b036103b661101a565b168152600b845220549051908152f35b5050346101805781600319360112610180576020905162278d008152f35b5050346101805781600319360112610180576020906007549051908152f35b5050346101805781600319360112610180576020906006549051908152f35b5050346101805781600319360112610180576020905160648152f35b505034610180578160031936011261018057602090516127108152f35b83833461018057602090816003193601126103465783359161047b611119565b610483611362565b82156105af576104b58330337f000000000000000000000000000000000000000000000000000000000000000061129f565b338452600a81528184206009548351916104ce8361124b565b858352838301904282528584019283528054906801000000000000000082101561059c579061050291600182018155611035565b93909361058a57906002929151845551600184015551910155610527836003546110ff565b600355338452600a81528184205460001981019190821161057757825193845283015233917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee909190a26001805580f35b634e487b7160e01b855260118652602485fd5b634e487b7160e01b8852878952602488fd5b634e487b7160e01b895260418a52602489fd5b8490606492519162461bcd60e51b8352820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152fd5b5050346101805781600319360112610180576020906009549051908152f35b505034610180578160031936011261018057905490516001600160a01b039091168152602090f35b5050346101805781600319360112610180576020906003549051908152f35b82843461029e576020908160031936011261029e576001600160a01b0361066d61101a565b168152600a825282812092835461068381611385565b946106908351968761127d565b81865283528383208390858088015b84841061076c5750505050506106b58451611401565b926106c08551611401565b906106cb8651611401565b935b865181101561072d57806106e4610728928961139d565b51516106f0828961139d565b52826106fc828a61139d565b510151610709828661139d565b5284610715828a61139d565b510151610722828861139d565b526110f0565b6106cd565b61074e86610768868861075b87898451978897606089526060890190611067565b9187830390880152611067565b9184830390850152611067565b0390f35b600191600391875161077d8161124b565b855481528486015483820152600286015489820152815201920192019190869061069f565b5050346101805781600319360112610180576020906008549051908152f35b833461029e578060031936011261029e576107da61109b565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b9050346103465760203660031901126103465761083661101a565b61083e61109b565b6001600160a01b0316918215610889575050600280546001600160a01b031916821790557f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d8280a280f35b906020606492519162461bcd60e51b8352820152600c60248201526b5a65726f206164647265737360a01b6044820152fd5b90503461034657826003193601126103465760209250549051908152f35b5050346101805780600319360112610180576108f361101a565b6001600160a01b03168252600a60205280822080546024359190821015610946579061091e91611035565b5080546001820154600290920154925190815260208101919091526040810191909152606090f35b8380fd5b91905034610346578260031936011261034657610965611119565b61096d611362565b338352600a602052808320908390845b8354811015610a0f576109908185611035565b50546109a5575b6109a0906110f0565b61097d565b6109af8185611035565b5054600954670de0b6b3a76400006109db6109ca8589611035565b509361024a6002809601548561110c565b04806109ea575b505050610997565b6109f9906109a09493966110ff565b94610a048388611035565b5001559038806109e2565b509150918215610a8e5750610a4582337f00000000000000000000000000000000000000000000000000000000000000006113b1565b338352600b602052808320610a5b8382546110ff565b9055519081527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a60203392a26001805580f35b6020606492519162461bcd60e51b8352820152601060248201526f4e6f7468696e6720746f20636c61696d60801b6044820152fd5b839150346101805760208060031936011261034657813590610ae3611119565b610aeb611362565b338452600a81528484208054831015610d475782610b0891611035565b50948554938415610d1157848693670de0b6b3a7640000610b39610b3360095460028d01549061110c565b846110c7565b049081610c9e575b5050600188015462278d008101809111610c8b574210610bea575b5050610be0908587610b947f204fccf0d92ed8d48f204adb39b2e81e92bad0dedb93f5716ca9478cfb57de009798995460035461110c565b60035555610bc386337f00000000000000000000000000000000000000000000000000000000000000006113b1565b519283923396846040919493926060820195825260208201520152565b0390a26001805580f35b92509593506101f48083029083820403610c7857857f204fccf0d92ed8d48f204adb39b2e81e92bad0dedb93f5716ca9478cfb57de0095969750610c37612710610be0949304809561110c565b96610c6c8560018060a01b038454167f00000000000000000000000000000000000000000000000000000000000000006113b1565b97969550819250610b5c565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b885260118352602488fd5b7fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a90610ceb83337f00000000000000000000000000000000000000000000000000000000000000006113b1565b338a52600b8152858a20610d008482546110ff565b905585519283523392a28880610b41565b82606492519162461bcd60e51b835282015260126024820152714e6f7468696e6720746f20756e7374616b6560701b6044820152fd5b855162461bcd60e51b8152808501839052600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606490fd5b505034610180578160031936011261018057602090516101f48152f35b5050346101805781600319360112610180576020906005549051908152f35b9190503461034657602036600319011261034657813591610dd5611119565b610ddd611362565b8215610e4e57916020917f76c9bc8833024bf1e2c4a1a44523e5ea3530d2c673af92a0fb9522c03acbfe8b93610e358330337f000000000000000000000000000000000000000000000000000000000000000061129f565b610e408382546110ff565b905551908152a16001805580f35b6020606492519162461bcd60e51b8352820152600f60248201526e139bdd1a1a5b99c81d1bc8199d5b99608a1b6044820152fd5b505034610180578160031936011261018057517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b838591346103465782600319360112610346576002546001600160a01b03163303610fed5750610ef4611119565b6201518090814204828102928184041490151715610fda57600754821115610f98578160075583549182600555610f2c6008546110f0565b6008556064830283810460641484151715610577577fe43bfc3d9cd2f609c9e57e493773d9cbb1354d4f3f925dc4b97c46c787ba0f87939291610f76612710610f929304856110ff565b9251938493846040919493926060820195825260208201520152565b0390a180f35b5162461bcd60e51b8152602081850152601d60248201527f446563617920616c72656164792074726967676572656420746f6461790000006044820152606490fd5b634e487b7160e01b835260118452602483fd5b62461bcd60e51b815260208482015260096024820152682737ba1030b236b4b760b91b6044820152606490fd5b600435906001600160a01b038216820361103057565b600080fd5b8054821015611051576000526003602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90815180825260208080930193019160005b828110611087575050505090565b835185529381019392810192600101611079565b6000546001600160a01b031633036110af57565b60405163118cdaa760e01b8152336004820152602490fd5b818102929181159184041417156110da57565b634e487b7160e01b600052601160045260246000fd5b60001981146110da5760010190565b919082018092116110da57565b919082039182116110da57565b60048054158015611241575b61123a5762015180908161113b6006544261110c565b0491821590811561114d575b50505050565b60005b848110611193575080840293840414171561117e5750611172906006546110ff565b60065538808080611147565b601190634e487b7160e01b6000525260246000fd5b83546064808202908282041482151715611225576127106111b69104809261110c565b8555670de0b6b3a7640000908181029181830414901517156112105760035480156111fb57906111ef6111f693926009920482546110ff565b90556110f0565b611150565b601286634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b601186634e487b7160e01b6000525260246000fd5b5042600655565b5060035415611125565b6060810190811067ffffffffffffffff82111761126757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761126757604052565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a081019181831067ffffffffffffffff841117611267576112f8926040526112fa565b565b906000602091828151910182855af115611356576000513d61134d57506001600160a01b0381163b155b61132b5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415611324565b6040513d6000823e3d90fd5b600260015414611373576002600155565b604051633ee5aeb560e01b8152600490fd5b67ffffffffffffffff81116112675760051b60200190565b80518210156110515760209160051b010190565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff831182841017611267576112f8926040526112fa565b9061140b82611385565b611418604051918261127d565b8281528092611429601f1991611385565b019060203691013756fea26469706673582212204d7cad191a8a4cc1c383669569c5566bc1ea07896272a261599505c8a74e69c064736f6c63430008140033000000000000000000000000695579cfe2b2d9066fddc9ef3462b6ae05e127c3000000000000000000000000139defc9cddd77a137f8c5c8019367ea611124b5