0 txs
8.8k calls
constructor
constructor()
functions
activeEpochs
viewfunction activeEpochs(address) view returns (uint8)
getActiveTokens
viewfunction getActiveTokens() view returns (address[] tokens)
lockConfigs
viewfunction lockConfigs(address) view returns (uint8 epoch, uint256 lockLimit, uint48 cooldown, uint256 totalLock, uint256 totalCooldown)
lockDatas
viewfunction lockDatas(address, address) view returns (uint256 amount, uint256 cooldownAmount, uint256 cooldownEndTimestamp)
MAX_COOLDOWN
viewfunction MAX_COOLDOWN() view returns (uint48)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
initialize
nonpayablefunction initialize(address owner)
lock
nonpayablefunction lock(address token, uint256 amount)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setEpoch
nonpayablefunction setEpoch(address token, uint8 newEpoch)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unlock
nonpayablefunction unlock(address token, uint256 amount)
unpause
nonpayablefunction unpause()
updateLockConfig
nonpayablefunction updateLockConfig(address token, uint8 epoch, uint256 lockLimit, uint48 cooldown)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(address token, uint256 amount)
events
Initialized
event Initialized(uint64 version)
Lock
event Lock(address locker, address token, uint256 amount, uint256 userLockAmount, uint256 totalLockAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SetEpoch
event SetEpoch(address token, uint8 oldEpoch, uint8 newEpoch)
UnLock
event UnLock(address locker, address token, uint256 amount, uint256 userLockAmount, uint256 totalLockAmount)
Unpaused
event Unpaused(address account)
UpdateLockConfig
event UpdateLockConfig(address token, uint8 epoch, uint256 lockLimit, uint48 cooldown)
Upgraded
event Upgraded(address indexed implementation)
Withdraw
event Withdraw(address locker, address token, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ExpectedPause
error ExpectedPause()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100c257306080525f516020611a215f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b60405161195a90816100c78239608051818181610d690152610e390152f35b6001600160401b0319166001600160401b039081175f516020611a215f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081630c63f23f1461148f57508063282d3fdf1461106c5780633f4ba83a14610fee5780634f1ef28614610dbd57806352d1902d14610d575780635c975abb14610d295780635e26ad4714610bfb5780635f5817e314610a97578063715018a614610a305780637eee288d146108cb5780638456cb591461085a5780638b41d35f1461083d5780638da5cb5b146108095780639743ac7214610733578063ad3cb1cc146106d5578063c4d66de814610553578063d271ede8146104df578063d5c7444214610470578063f2fde38b146104455763f3fef3a3146100f8575f80fd5b34610310576040366003190112610310576101116114c6565b60243561011c61170f565b61012781151561153e565b6001600160a01b0382165f81815260046020908152604080832033845290915290206001810180549294929091811561040a576002015442106103d757808411610392578361017591611691565b9055825f52600360205260405f206040516370a0823160e01b8152306004820152602081602481885afa90811561031c5784905f9261035c575b50826101d5600460036101da959601549201946101ce8654809461157b565b1115611588565b611691565b90556040516370a0823160e01b815230600482015292602084602481845afa93841561031c575f94610327575b50602060249161023f60405163a9059cbb60e01b848201523385820152866044820152604481526102396064826114dc565b82611769565b6040516370a0823160e01b815230600482015292839182905afa90811561031c575f916102c6575b5061029e90610297847f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb96611691565b11156115e8565b604080513381526001600160a01b03909216602083015281019190915280606081015b0390a1005b90506020813d602011610314575b816102e1602093836114dc565b8101031261031057517f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb610267565b5f80fd5b3d91506102d4565b6040513d5f823e3d90fd5b9093506020813d602011610354575b81610343602093836114dc565b810103126103105751926020610207565b3d9150610336565b9150506020813d60201161038a575b81610378602093836114dc565b810103126103105751836101da6101af565b3d915061036b565b60405162461bcd60e51b815260206004820152601d60248201527f6e6f20656e6f7567682062616c616e636520746f2077697468647261770000006044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a31b7b7b634b733b237bbb760a91b6044820152606490fd5b60405162461bcd60e51b81526020600482015260136024820152726e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b346103105760203660031901126103105761046e6104616114c6565b610469611736565b61169e565b005b34610310576020366003190112610310576001600160a01b036104916114c6565b165f52600360205260a060405f2060ff8154169060018101549065ffffffffffff60028201541660046003830154920154926040519485526020850152604084015260608301526080820152f35b34610310576040366003190112610310576104f86114c6565b602435906001600160a01b03821682036103105760018060a01b03165f52600460205260405f209060018060a01b03165f52602052606060405f20805490600260018201549101549060405192835260208301526040820152f35b346103105760203660031901126103105761056c6114c6565b5f5160206119055f395f51905f525460ff8160401c16159167ffffffffffffffff8216801590816106cd575b60011490816106c3575b1590816106ba575b506106ab5767ffffffffffffffff1982166001175f5160206119055f395f51905f52556105e8918361067f575b506105e061181b565b61046961181b565b6105f061181b565b6105f861181b565b61060061181b565b60ff195f5160206118e55f395f51905f5254165f5160206118e55f395f51905f525561062857005b68ff0000000000000000195f5160206119055f395f51905f5254165f5160206119055f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b68ffffffffffffffffff191668010000000000000001175f5160206119055f395f51905f5255836105d7565b63f92ee8a960e01b5f5260045ffd5b905015846105aa565b303b1591506105a2565b849150610598565b34610310575f3660031901126103105760408051906106f481836114dc565b600582526020820191640352e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b346103105760403660031901126103105761074c6114c6565b61075461152e565b9061075d611736565b6001600160a01b03165f8181526002602052604090205460ff9283169216908282146107d1577ff27231ac3d0001d612a932738c4621d6a5baa0864d50321d913cf298af6332ca92606092825f52600260205260405f208260ff1982541617905560405192835260208301526040820152a1005b60405162461bcd60e51b815260206004820152601060248201526f65706f6368206e6f74206368616e676560801b6044820152606490fd5b34610310575f366003190112610310575f5160206118a55f395f51905f52546040516001600160a01b039091168152602090f35b34610310575f3660031901126103105760206040516276a7008152f35b34610310575f36600319011261031057610872611736565b61087a61170f565b600160ff195f5160206118e55f395f51905f525416175f5160206118e55f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610310576040366003190112610310576108e46114c6565b6024356108ef61170f565b6108fa81151561153e565b6001600160a01b0382165f8181526004602090815260408083203384528252808320938352600390915290208154919391908382106109eb577f7a9516f3fd088bc02179d72dfd24929b8e08ca0aa38e2fffb72e53550a2d762b94610962856102c194611691565b81556001810161097386825461157b565b905561098b65ffffffffffff6002840154164261157b565b6002820155600460038301926109a2878554611691565b809455016109b186825461157b565b905554604080513381526001600160a01b0390951660208601528401949094526060830193909352608082019290925290819060a0820190565b60405162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f7567682062616c616e636520746f20756e6c6f636b000000006044820152606490fd5b34610310575f36600319011261031057610a48611736565b5f5160206118a55f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610310575f366003190112610310575f54610ab28161164b565b905f905f5f54905b828110610b4d57505050610acd8161164b565b915f5b828110610b2557836040518091602082016020835281518091526020604084019201905f5b818110610b03575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610af5565b6001906001600160a01b03610b3a828561167d565b5116610b46828761167d565b5201610ad0565b81811015610be7577f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5638101546001600160a01b03165f8181526003602090815260408083205460029092529091205460ff908116911614610bb2575b50600101610aba565b610bbf858796939661167d565b5260018101809111610bd357926001610ba9565b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b3461031057608036600319011261031057610c146114c6565b610c1c61152e565b604435916064359065ffffffffffff821680920361031057610c3c611736565b6001600160a01b03165f8181526001602052604090205490919015610d1a575b6276a7008111610cd5577ff4200dccb7c6269b470563b1aaaee4c7cdd9b986e69b55bfe99ca54e8bdecc9f9360ff608094845f526003602052600260405f208383168419825416178155846001820155018465ffffffffffff1982541617905560405194855216602084015260408301526060820152a1005b60405162461bcd60e51b815260206004820152601d60248201527f636f6f6c646f776e2065786365656473204d41585f434f4f4c444f574e0000006044820152606490fd5b610d23826117c1565b50610c5c565b34610310575f36600319011261031057602060ff5f5160206118e55f395f51905f5254166040519015158152f35b34610310575f366003190112610310577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610dae5760206040515f5160206118c55f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b604036600319011261031057610dd16114c6565b6024359067ffffffffffffffff8211610310573660238301121561031057816004013590610dfe82611512565b91610e0c60405193846114dc565b8083526020830193366024838301011161031057815f926024602093018737840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610fcc575b50610dae57610e71611736565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa5f9181610f98575b50610eb35784634c9c8ce360e01b5f5260045260245ffd5b805f5160206118c55f395f51905f52869203610f865750823b15610f74575f5160206118c55f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610f5b575f809161046e945190845af43d15610f53573d91610f3783611512565b92610f4560405194856114dc565b83523d5f602085013e611846565b606091611846565b50505034610f6557005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011610fc4575b81610fb4602093836114dc565b8101031261031057519086610e9b565b3d9150610fa7565b5f5160206118c55f395f51905f52546001600160a01b03161415905084610e64565b34610310575f36600319011261031057611006611736565b5f5160206118e55f395f51905f525460ff81161561105d5760ff19165f5160206118e55f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610310576040366003190112610310576110856114c6565b60243561109061170f565b61109b81151561153e565b6001600160a01b0382165f818152600160205260409020549092901561145457825f52600360205260ff60405f205416835f52600260205260ff60405f20541603611416575f838152600460209081526040808320338452825280832086845260039283905292209081018054909591611115868361157b565b6001820154106113c5576040516370a0823160e01b815230600482015290602082602481875afa91821561031c575f9261138f575b5061115d9260046101ce9201549061157b565b604051636eb1769f60e11b8152336004820152306024820152602081604481855afa801561031c5785915f9161135a575b501061131e5761119f84835461157b565b82556111ac84865461157b565b85556040516370a0823160e01b815230600482015290602082602481845afa91821561031c575f926112e9575b506040516323b872dd60e01b60208083019190915233602480840191909152306044840152606480840189905283529392909161121b906102396084826114dc565b6040516370a0823160e01b815230600482015293849182905afa91821561031c575f926112af575b50916112787f9e91fc08a6b9ad305ed9692fc37e5c77042b1828c424b7b406bedacaf76aa8989692610297876102c19661157b565b549054604080513381526001600160a01b0390951660208601528401949094526060830152608082019290925290819060a0820190565b959150916020863d6020116112e1575b816112cc602093836114dc565b81010312610310579451909491611278611243565b3d91506112bf565b91506020823d602011611316575b81611304602093836114dc565b810103126103105790519060206111d9565b3d91506112f7565b60405162461bcd60e51b81526020600482015260146024820152736e6f7420656e6f75676820616c6c6f77616e636560601b6044820152606490fd5b9150506020813d602011611387575b81611376602093836114dc565b81010312610310578490518761118e565b3d9150611369565b9091506020813d6020116113bd575b816113ab602093836114dc565b8101031261031057519061115d61114a565b3d915061139e565b60405162461bcd60e51b8152602060048201526024808201527f746f74616c206c6f636b20616d6f756e742065786365656473206c6f636b206c6044820152631a5b5a5d60e21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526016602482015275746f6b656e2063616e6e6f74207374616b65206e6f7760501b6044820152606490fd5b60405162461bcd60e51b81526020600482015260136024820152721d1bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b34610310576020366003190112610310576020906001600160a01b036114b36114c6565b165f526002825260ff60405f2054168152f35b600435906001600160a01b038216820361031057565b90601f8019910116810190811067ffffffffffffffff8211176114fe57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff81116114fe57601f01601f191660200190565b6024359060ff8216820361031057565b1561154557565b60405162461bcd60e51b815260206004820152600e60248201526d616d6f756e74206973207a65726f60901b6044820152606490fd5b91908201809211610bd357565b1561158f57565b60405162461bcd60e51b815260206004820152602b60248201527f62616c616e6365206c657373207468616e20746f74616c4c6f636b202b20746f60448201526a3a30b621b7b7b63237bbb760a91b6064820152608490fd5b156115ef57565b606460405162461bcd60e51b815260206004820152602060248201527f746f6b656e2062616c616e6365206e6f7420696e20636f6e73697374656e63796044820152fd5b67ffffffffffffffff81116114fe5760051b60200190565b9061165582611633565b61166260405191826114dc565b8281528092611673601f1991611633565b0190602036910137565b8051821015610be75760209160051b010190565b91908203918211610bd357565b6001600160a01b031680156116fc575f5160206118a55f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b60ff5f5160206118e55f395f51905f52541661172757565b63d93c066560e01b5f5260045ffd5b5f5160206118a55f395f51905f52546001600160a01b0316330361175657565b63118cdaa760e01b5f523360045260245ffd5b905f602091828151910182855af11561031c575f513d6117b857506001600160a01b0381163b155b6117985750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415611791565b805f52600160205260405f2054155f14611816575f54680100000000000000008110156114fe57600181015f555f54811015610be75781905f805260205f2001555f54905f52600160205260405f2055600190565b505f90565b60ff5f5160206119055f395f51905f525460401c161561183757565b631afcd79f60e31b5f5260045ffd5b9061186a575080511561185b57805190602001fd5b63d6bda27560e01b5f5260045ffd5b8151158061189b575b61187b575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561187356fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a9048913c0b60affeedac0dd1a0a4771eda4ff8a39ddcf5ba529174f82db481b64736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00