3.8k txs
3.8k calls
constructor
constructor(address token_, string name_, string symbol_)
functions
allowance
purefunction allowance(address, address) pure returns (uint256)
approve
purefunction approve(address, uint256) pure returns (bool)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
depositTimestamps
viewfunction depositTimestamps(address account) view returns (uint256)
lockDuration
viewfunction lockDuration() view returns (uint256)
minDepositAmount
viewfunction minDepositAmount() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
symbol
viewfunction symbol() view returns (string)
TOKEN
viewfunction TOKEN() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
transfer
purefunction transfer(address, uint256) pure returns (bool)
transferFrom
purefunction transferFrom(address, address, uint256) pure returns (bool)
deposit
nonpayablefunction deposit(uint256 amount)
reduceLockDuration
nonpayablefunction reduceLockDuration(uint256 newDuration)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMinDepositAmount
nonpayablefunction updateMinDepositAmount(uint256 newMinDepositAmount)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed account, uint256 depositTimestamp, uint256 amount)
LockDurationUpdated
event LockDurationUpdated(uint256 duration)
MinDepositAmountUpdated
event MinDepositAmountUpdated(uint256 minDepositAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Withdraw
event Withdraw(address indexed account, uint256 depositTimestamp, uint256 amount)
errors
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
InvalidTokenAddress
error InvalidTokenAddress()
LockDurationIsTooLong
error LockDurationIsTooLong()
LockPeriodOngoing
error LockPeriodOngoing()
MinimumDepositNotMet
error MinimumDepositNotMet()
NotSupported
error NotSupported()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
ZeroAmount
error ZeroAmount()
creation bytecode
0x60a06040526276a70060085569021e19e0c9bab240000060095534801562000025575f80fd5b5060405162000f2a38038062000f2a8339810160408190526200004891620001f8565b338282600362000059838262000306565b50600462000068828262000306565b5050506001600160a01b0381166200009957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b620000a481620000e6565b5060016006556001600160a01b038316620000d257604051630f58058360e11b815260040160405180910390fd5b50506001600160a01b0316608052620003d2565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200015b575f80fd5b81516001600160401b038082111562000178576200017862000137565b604051601f8301601f19908116603f01168101908282118183101715620001a357620001a362000137565b8160405283815260209250866020858801011115620001c0575f80fd5b5f91505b83821015620001e35785820183015181830184015290820190620001c4565b5f602085830101528094505050505092915050565b5f805f606084860312156200020b575f80fd5b83516001600160a01b038116811462000222575f80fd5b60208501519093506001600160401b03808211156200023f575f80fd5b6200024d878388016200014b565b9350604086015191508082111562000263575f80fd5b5062000272868287016200014b565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200030157805f5260205f20601f840160051c81016020851015620002dd5750805b601f840160051c820191505b81811015620002fe575f8155600101620002e9565b50505b505050565b81516001600160401b0381111562000322576200032262000137565b6200033a816200033384546200027c565b84620002b6565b602080601f83116001811462000370575f8415620003585750858301515b5f19600386901b1c1916600185901b178555620003ca565b5f85815260208120601f198616915b82811015620003a0578886015182559484019460019091019084016200037f565b5085821015620003be57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b608051610b31620003f95f395f8181610216015281816103e7015261050e0152610b315ff3fe608060405234801561000f575f80fd5b5060043610610127575f3560e01c8063715018a6116100a9578063a9059cbb1161006e578063a9059cbb1461015c578063b6b55f251461027c578063c242652c1461028f578063dd62ed3e146102a2578063f2fde38b146102b0575f80fd5b8063715018a61461020957806382bfefc81461021157806384780205146102505780638da5cb5b1461026357806395d89b4114610274575f80fd5b8063240be944116100ef578063240be944146101955780632e1a7d4d146101b4578063313ce567146101c9578063645006ca146101d857806370a08231146101e1575f80fd5b8063045544431461012b57806306fdde0314610147578063095ea7b31461015c57806318160ddd1461017f57806323b872dd14610187575b5f80fd5b61013460085481565b6040519081526020015b60405180910390f35b61014f6102c3565b60405161013e919061096e565b61016f61016a3660046109d5565b610353565b604051901515815260200161013e565b600254610134565b61016f61016a3660046109fd565b6101346101a3366004610a36565b60076020525f908152604090205481565b6101c76101c2366004610a56565b61036d565b005b6040516012815260200161013e565b61013460095481565b6101346101ef366004610a36565b6001600160a01b03165f9081526020819052604090205490565b6101c7610457565b6102387f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161013e565b6101c761025e366004610a56565b61046a565b6005546001600160a01b0316610238565b61014f6104ae565b6101c761028a366004610a56565b6104bd565b6101c761029d366004610a56565b61058a565b61013461016a366004610a6d565b6101c76102be366004610a36565b6105ea565b6060600380546102d290610a9e565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610a9e565b80156103495780601f1061032057610100808354040283529160200191610349565b820191905f5260205f20905b81548152906001019060200180831161032c57829003601f168201915b5050505050905090565b5f604051630280e1e560e61b815260040160405180910390fd5b610375610629565b805f0361039557604051631f2a200560e01b815260040160405180910390fd5b600854335f908152600760205260409020546103b19190610ad6565b42116103d057604051633c2c6e9d60e01b815260040160405180910390fd5b6103da3382610653565b61040e6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338361068b565b604080514281526020810183905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a26104546001600655565b50565b61045f6106ef565b6104685f61071c565b565b6104726106ef565b60098190556040518181527fb443c8bd39a1b60d415144f9148c6f90c2b68a553eb90c62cef5e44979db009d906020015b60405180910390a150565b6060600480546102d290610a9e565b6104c5610629565b600954335f908152602081905260409020546104e2908390610ad6565b1015610501576040516310680f8360e11b815260040160405180910390fd5b6105366001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308461076d565b61054033826107ac565b335f81815260076020908152604091829020429081905582519081529081018490527f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610442565b6105926106ef565b6008548111156105b55760405163279a807f60e11b815260040160405180910390fd5b60088190556040518181527f3e062f634a950eae456fa5f8fb53a4f59f55039983bd73df7a34a313b75443d4906020016104a3565b6105f26106ef565b6001600160a01b03811661062057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104548161071c565b60026006540361064c57604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b03821661067c57604051634b637e8f60e11b81525f6004820152602401610617565b610687825f836107dc565b5050565b6040516001600160a01b038381166024830152604482018390526106ea91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610902565b505050565b6005546001600160a01b031633146104685760405163118cdaa760e01b8152336004820152602401610617565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040516001600160a01b0384811660248301528381166044830152606482018390526107a69186918216906323b872dd906084016106b8565b50505050565b6001600160a01b0382166107d55760405163ec442f0560e01b81525f6004820152602401610617565b6106875f83835b6001600160a01b038316610806578060025f8282546107fb9190610ad6565b909155506108769050565b6001600160a01b0383165f90815260208190526040902054818110156108585760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610617565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216610892576002805482900390556108b0565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108f591815260200190565b60405180910390a3505050565b5f8060205f8451602086015f885af180610921576040513d5f823e3d81fd5b50505f513d91508115610938578060011415610945565b6001600160a01b0384163b155b156107a657604051635274afe760e01b81526001600160a01b0385166004820152602401610617565b5f602080835283518060208501525f5b8181101561099a5785810183015185820160400152820161097e565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109d0575f80fd5b919050565b5f80604083850312156109e6575f80fd5b6109ef836109ba565b946020939093013593505050565b5f805f60608486031215610a0f575f80fd5b610a18846109ba565b9250610a26602085016109ba565b9150604084013590509250925092565b5f60208284031215610a46575f80fd5b610a4f826109ba565b9392505050565b5f60208284031215610a66575f80fd5b5035919050565b5f8060408385031215610a7e575f80fd5b610a87836109ba565b9150610a95602084016109ba565b90509250929050565b600181811c90821680610ab257607f821691505b602082108103610ad057634e487b7160e01b5f52602260045260245ffd5b50919050565b80820180821115610af557634e487b7160e01b5f52601160045260245ffd5b9291505056fea26469706673582212203faeb7544a7c07c24abb320824ff809ef81bd08a4eb54bfaec6d403683b62b0a64736f6c634300081800330000000000000000000000002da1f02de055cebe51c6f6526ed67ad0dc86f431000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001f5374616b65642049204a757374204e656564202877697468204c797261682900000000000000000000000000000000000000000000000000000000000000000453494a4e00000000000000000000000000000000000000000000000000000000