19 txs
17 calls
constructor
constructor(address _token)
functions
flexibleStakes
viewfunction flexibleStakes(address) view returns (uint256 amount, uint256 startTime, bool isLocked, uint256 initialAPY)
getCurrentAPY
viewfunction getCurrentAPY(bool isLocked) view returns (uint256)
getPendingReward
viewfunction getPendingReward(address user, bool isLocked) view returns (uint256)
isAdmin
viewfunction isAdmin(address) view returns (bool)
lockedStakes
viewfunction lockedStakes(address) view returns (uint256 amount, uint256 startTime, bool isLocked, uint256 initialAPY)
owner
viewfunction owner() view returns (address)
penaltyPercent
viewfunction penaltyPercent() view returns (uint256)
stakingToken
viewfunction stakingToken() view returns (address)
totalStakedFlexible
viewfunction totalStakedFlexible() view returns (uint256)
totalStakedLocked
viewfunction totalStakedLocked() view returns (uint256)
addAdmin
nonpayablefunction addAdmin(address account)
adminWithdraw
nonpayablefunction adminWithdraw(uint256 amount)
removeAdmin
nonpayablefunction removeAdmin(address account)
renounceOwnership
nonpayablefunction renounceOwnership()
setAPY
nonpayablefunction setAPY(uint256 apyLockedPercent, uint256 apyFlexiblePercent)
setPenaltyPercent
nonpayablefunction setPenaltyPercent(uint256 _penaltyPercent)
setStakingToken
nonpayablefunction setStakingToken(address token)
stake
nonpayablefunction stake(uint256 amount, bool isLocked)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstake
nonpayablefunction unstake(bool isLocked)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60806040526002600555670d529ae9e86000006006556706a94d74f43000006007553480156200002d575f80fd5b506040516200233b3803806200233b8339818101604052810190620000539190620002be565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000c7575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000be9190620002ff565b60405180910390fd5b620000d8816200019860201b60201c565b50600180819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001489062000378565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000398565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000288826200025d565b9050919050565b6200029a816200027c565b8114620002a5575f80fd5b50565b5f81519050620002b8816200028f565b92915050565b5f60208284031215620002d657620002d562000259565b5b5f620002e584828501620002a8565b91505092915050565b620002f9816200027c565b82525050565b5f602082019050620003145f830184620002ee565b92915050565b5f82825260208201905092915050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f620003606015836200031a565b91506200036d826200032a565b602082019050919050565b5f6020820190508181035f830152620003918162000352565b9050919050565b611f9580620003a65f395ff3fe608060405234801561000f575f80fd5b506004361061012a575f3560e01c806371c263b2116100ab578063abe50f191161006f578063abe50f1914610307578063add2302a14610323578063c2ce3e9b14610356578063e4d329b814610374578063f2fde38b146103a45761012a565b806371c263b21461026057806372f702f31461027c5780637c5b4a371461029a5780638da5cb5b146102b657806392417dc7146102d45761012a565b80634da63f8f116100f25780634da63f8f146101d05780635acd2e4c1461020057806364020daf1461021c578063704802751461023a578063715018a6146102565761012a565b8063088abb8d1461012e578063161ba46a1461014a5780631785f53c146101685780631e9b12ef1461018457806324d7806c146101a0575b5f80fd5b6101486004803603810190610143919061163d565b6103c0565b005b610152610692565b60405161015f9190611680565b60405180910390f35b610182600480360381019061017d91906116f3565b610698565b005b61019e600480360381019061019991906116f3565b610780565b005b6101ba60048036038101906101b591906116f3565b610839565b6040516101c7919061172d565b60405180910390f35b6101ea60048036038101906101e59190611746565b610856565b6040516101f79190611680565b60405180910390f35b61021a600480360381019061021591906117ae565b6109a5565b005b610224610aee565b6040516102319190611680565b60405180910390f35b610254600480360381019061024f91906116f3565b610af4565b005b61025e610bc2565b005b61027a600480360381019061027591906117ec565b610bd5565b005b610284610ce9565b6040516102919190611872565b60405180910390f35b6102b460048036038101906102af91906117ec565b610d0e565b005b6102be610f50565b6040516102cb919061189a565b60405180910390f35b6102ee60048036038101906102e991906116f3565b610f77565b6040516102fe94939291906118b3565b60405180910390f35b610321600480360381019061031c91906118f6565b610faf565b005b61033d600480360381019061033891906116f3565b6111f0565b60405161034d94939291906118b3565b60405180910390f35b61035e611228565b60405161036b9190611680565b60405180910390f35b61038e6004803603810190610389919061163d565b61122e565b60405161039b9190611680565b60405180910390f35b6103be60048036038101906103b991906116f3565b61123f565b005b6103c86112c3565b5f816104105760095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061044e565b60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205b90505f815f015411610495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048c9061198e565b60405180910390fd5b5f815f015490505f83156105855762278d0083600101546104b691906119d9565b42106104d1576104ca828460030154611309565b90506104fe565b5f6064600554846104e29190611a0c565b6104ec9190611a7a565b905080836104fa9190611aaa565b9250505b825f015460035f8282546105129190611aaa565b9250508190555060085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8082015f9055600182015f9055600282015f6101000a81549060ff0219169055600382015f9055505061062d565b5f8360010154426105969190611aaa565b90506105a783828660030154611342565b9150835f015460045f8282546105bd9190611aaa565b9250508190555060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8082015f9055600182015f9055600282015f6101000a81549060ff0219169055600382015f90555050505b61068433828461063d91906119d9565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113799092919063ffffffff16565b50505061068f6113f8565b50565b60055481565b6106a0611401565b600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072090611b27565b60405180910390fd5b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610788611401565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ed90611b8f565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f808261089f5760095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206108dd565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205b6040518060800160405290815f820154815260200160018201548152602001600282015f9054906101000a900460ff1615151515815260200160038201548152505090505f815f015103610934575f91505061099f565b82156109755762278d00816020015161094d91906119d9565b421061096c57610964815f01518260600151611309565b91505061099f565b5f91505061099f565b5f8160200151426109869190611aaa565b905061099a825f0151828460600151611342565b925050505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff166109c4610f50565b73ffffffffffffffffffffffffffffffffffffffff161480610a2c5750600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290611bf7565b60405180910390fd5b5f82118015610a7957505f81115b610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90611c5f565b60405180910390fd5b662386f26fc1000082610acb9190611a0c565b600681905550662386f26fc1000081610ae49190611a0c565b6007819055505050565b60045481565b610afc611401565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190611cc7565b60405180910390fd5b6001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610bca611401565b610bd35f611488565b565b3373ffffffffffffffffffffffffffffffffffffffff16610bf4610f50565b73ffffffffffffffffffffffffffffffffffffffff161480610c5c5750600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b610c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9290611bf7565b60405180910390fd5b6064811115610cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd690611d2f565b60405180910390fd5b8060058190555050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d166112c3565b3373ffffffffffffffffffffffffffffffffffffffff16610d35610f50565b73ffffffffffffffffffffffffffffffffffffffff161480610d9d5750600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390611bf7565b60405180910390fd5b5f8111610e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1590611d97565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e78919061189a565b602060405180830381865afa158015610e93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190611dc9565b811115610ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef090611e3e565b60405180910390fd5b610f45338260025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113799092919063ffffffff16565b610f4d6113f8565b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6008602052805f5260405f205f91509050805f015490806001015490806002015f9054906101000a900460ff16908060030154905084565b610fb76112c3565b5f8211610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090611d97565b60405180910390fd5b5f816110415760095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061107f565b60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205b90505f815f0154146110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd90611ea6565b60405180910390fd5b5f6110d083611549565b905083825f018190555042826001018190555082826002015f6101000a81548160ff021916908315150217905550808260030181905550821561112a578360035f82825461111e91906119d9565b92505081905550611143565b8360045f82825461113b91906119d9565b925050819055505b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b81526004016111a193929190611ec4565b6020604051808303815f875af11580156111bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e19190611f0d565b5050506111ec6113f8565b5050565b6009602052805f5260405f205f91509050805f015490806001015490806002015f9054906101000a900460ff16908060030154905084565b60035481565b5f61123882611549565b9050919050565b611247611401565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112b7575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016112ae919061189a565b60405180910390fd5b6112c081611488565b50565b6002600154036112ff576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b5f6a1a1601fc4ea7109e00000062278d0083856113269190611a0c565b6113309190611a0c565b61133a9190611a7a565b905092915050565b5f6a1a1601fc4ea7109e00000083838661135c9190611a0c565b6113669190611a0c565b6113709190611a7a565b90509392505050565b6113f3838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016113ac929190611f38565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611562565b505050565b60018081905550565b6114096115fd565b73ffffffffffffffffffffffffffffffffffffffff16611427610f50565b73ffffffffffffffffffffffffffffffffffffffff16146114865761144a6115fd565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161147d919061189a565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f816115575760075461155b565b6006545b9050919050565b5f8060205f8451602086015f885af180611581576040513d5f823e3d81fd5b3d92505f519150505f821461159a5760018114156115b5565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b156115f757836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016115ee919061189a565b60405180910390fd5b50505050565b5f33905090565b5f80fd5b5f8115159050919050565b61161c81611608565b8114611626575f80fd5b50565b5f8135905061163781611613565b92915050565b5f6020828403121561165257611651611604565b5b5f61165f84828501611629565b91505092915050565b5f819050919050565b61167a81611668565b82525050565b5f6020820190506116935f830184611671565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116c282611699565b9050919050565b6116d2816116b8565b81146116dc575f80fd5b50565b5f813590506116ed816116c9565b92915050565b5f6020828403121561170857611707611604565b5b5f611715848285016116df565b91505092915050565b61172781611608565b82525050565b5f6020820190506117405f83018461171e565b92915050565b5f806040838503121561175c5761175b611604565b5b5f611769858286016116df565b925050602061177a85828601611629565b9150509250929050565b61178d81611668565b8114611797575f80fd5b50565b5f813590506117a881611784565b92915050565b5f80604083850312156117c4576117c3611604565b5b5f6117d18582860161179a565b92505060206117e28582860161179a565b9150509250929050565b5f6020828403121561180157611800611604565b5b5f61180e8482850161179a565b91505092915050565b5f819050919050565b5f61183a61183561183084611699565b611817565b611699565b9050919050565b5f61184b82611820565b9050919050565b5f61185c82611841565b9050919050565b61186c81611852565b82525050565b5f6020820190506118855f830184611863565b92915050565b611894816116b8565b82525050565b5f6020820190506118ad5f83018461188b565b92915050565b5f6080820190506118c65f830187611671565b6118d36020830186611671565b6118e0604083018561171e565b6118ed6060830184611671565b95945050505050565b5f806040838503121561190c5761190b611604565b5b5f6119198582860161179a565b925050602061192a85828601611629565b9150509250929050565b5f82825260208201905092915050565b7f4e6f20616374697665207374616b6520696e207468697320706f6f6c000000005f82015250565b5f611978601c83611934565b915061198382611944565b602082019050919050565b5f6020820190508181035f8301526119a58161196c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6119e382611668565b91506119ee83611668565b9250828201905080821115611a0657611a056119ac565b5b92915050565b5f611a1682611668565b9150611a2183611668565b9250828202611a2f81611668565b91508282048414831517611a4657611a456119ac565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611a8482611668565b9150611a8f83611668565b925082611a9f57611a9e611a4d565b5b828204905092915050565b5f611ab482611668565b9150611abf83611668565b9250828203905081811115611ad757611ad66119ac565b5b92915050565b7f4e6f7420616e2061646d696e00000000000000000000000000000000000000005f82015250565b5f611b11600c83611934565b9150611b1c82611add565b602082019050919050565b5f6020820190508181035f830152611b3e81611b05565b9050919050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f611b79601583611934565b9150611b8482611b45565b602082019050919050565b5f6020820190508181035f830152611ba681611b6d565b9050919050565b7f4e6f7420616e2061646d696e206f72206f776e657200000000000000000000005f82015250565b5f611be1601583611934565b9150611bec82611bad565b602082019050919050565b5f6020820190508181035f830152611c0e81611bd5565b9050919050565b7f415059206d757374206265203e203000000000000000000000000000000000005f82015250565b5f611c49600f83611934565b9150611c5482611c15565b602082019050919050565b5f6020820190508181035f830152611c7681611c3d565b9050919050565b7f5a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f611cb1600c83611934565b9150611cbc82611c7d565b602082019050919050565b5f6020820190508181035f830152611cde81611ca5565b9050919050565b7f50656e616c74792063616e6e6f742065786365656420313030250000000000005f82015250565b5f611d19601a83611934565b9150611d2482611ce5565b602082019050919050565b5f6020820190508181035f830152611d4681611d0d565b9050919050565b7f416d6f756e74206d757374206265203e203000000000000000000000000000005f82015250565b5f611d81601283611934565b9150611d8c82611d4d565b602082019050919050565b5f6020820190508181035f830152611dae81611d75565b9050919050565b5f81519050611dc381611784565b92915050565b5f60208284031215611dde57611ddd611604565b5b5f611deb84828501611db5565b91505092915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f611e28601483611934565b9150611e3382611df4565b602082019050919050565b5f6020820190508181035f830152611e5581611e1c565b9050919050565b7f556e7374616b652066726f6d207468697320706f6f6c206669727374000000005f82015250565b5f611e90601c83611934565b9150611e9b82611e5c565b602082019050919050565b5f6020820190508181035f830152611ebd81611e84565b9050919050565b5f606082019050611ed75f83018661188b565b611ee4602083018561188b565b611ef16040830184611671565b949350505050565b5f81519050611f0781611613565b92915050565b5f60208284031215611f2257611f21611604565b5b5f611f2f84828501611ef9565b91505092915050565b5f604082019050611f4b5f83018561188b565b611f586020830184611671565b939250505056fea2646970667358221220a2747a8f331e68dfb21cc4921d4a3b5c753671c75b06e3f78c1b499eb8f88d3b64736f6c63430008140033000000000000000000000000f4a509313437dfc64e2efed14e2b607b1aed30c5