0 txs
0 calls
constructor
No constructor.
functions
getUserStakeState
viewfunction getUserStakeState(address user) view returns (tuple userState, bool redeemable, bool expired, uint256 timeLeftUntilRedeemable, uint256 timeLeftToClaim)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
REDEMPTION_WINDOW
viewfunction REDEMPTION_WINDOW() view returns (uint256)
stakedAmount
viewfunction stakedAmount(address user) view returns (uint256)
stakeState
viewfunction stakeState(address user) view returns (tuple)
tokenAddress
purefunction tokenAddress() pure returns (address)
UNSTAKE_LOCK_PERIOD
purefunction UNSTAKE_LOCK_PERIOD() pure returns (uint256)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
finishUnstake
nonpayablefunction finishUnstake()
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
stake
nonpayablefunction stake(uint256 amount)
stakeOnBehalf
nonpayablefunction stakeOnBehalf(address user, uint256 amount)
startUnstake
nonpayablefunction startUnstake(uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Staked
event Staked(address indexed sponsor, address indexed user, uint256 amount)
UnstakeCompleted
event UnstakeCompleted(address indexed user, uint256 amount)
UnstakeStarted
event UnstakeStarted(address indexed user, uint256 amount)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InsufficientStakedAmount
error InsufficientStakedAmount(address user, uint256 requested, uint256 available)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
NoUnstakeRequestFound
error NoUnstakeRequestFound(address user)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UnstakeRequestExpired
error UnstakeRequestExpired(address user, uint256 timelockStart, uint256 expiryTime, uint256 currentTime)
UnstakeTimelockActive
error UnstakeTimelockActive(address user, uint256 timelockStart, uint256 unlockTime, uint256 currentTime)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052348015610013575f80fd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161173d6100f95f395f8181610d6901528181610d920152610fb3015261173d5ff3fe608060405260043610610109575f3560e01c8063834bdc9a116100a1578063ad3cb1cc11610071578063d0a8a03911610057578063d0a8a03914610364578063f2fde38b14610378578063f993185514610397575f80fd5b8063ad3cb1cc146102e3578063afe7202214610338575f80fd5b8063834bdc9a146101d95780638da5cb5b146102345780639d76ea581461029e578063a694fc3a146102c4575f80fd5b80634f1ef286116100dc5780634f1ef2861461018a57806352d1902d1461019d578063715018a6146101b15780638129fc1c146101c5575f80fd5b806313f4cce21461010d5780632409f7711461013657806334dfb2681461014c578063460b5ee21461016b575b5f80fd5b348015610118575f80fd5b50610123621baf8081565b6040519081526020015b60405180910390f35b348015610141575f80fd5b5061014a6103f7565b005b348015610157575f80fd5b5061014a610166366004611472565b610555565b348015610176575f80fd5b5061014a6101853660046114b1565b61063e565b61014a610198366004611506565b61064c565b3480156101a8575f80fd5b50610123610667565b3480156101bc575f80fd5b5061014a610695565b3480156101d0575f80fd5b5061014a6106a8565b3480156101e4575f80fd5b506101f86101f33660046115e0565b610841565b60408051865181526020808801519082015295810151908601529215156060850152901515608084015260a083015260c082015260e00161012d565b34801561023f575f80fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012d565b3480156102a9575f80fd5b5073da1cdf54be4413da03389d28af8a4cae3d8c217c610279565b3480156102cf575f80fd5b5061014a6102de366004611472565b6109c8565b3480156102ee575f80fd5b5061032b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161012d919061161b565b348015610343575f80fd5b506103576103523660046115e0565b6109d5565b60405161012d919061166b565b34801561036f575f80fd5b50610258610123565b348015610383575f80fd5b5061014a6103923660046115e0565b610a63565b3480156103a2575f80fd5b506101236103b13660046115e0565b73ffffffffffffffffffffffffffffffffffffffff165f9081527f09a63abe4945633bb94882c99939e416eb0cfc283572d9cd522e45df8f8e8300602052604090205490565b335f9081527f09a63abe4945633bb94882c99939e416eb0cfc283572d9cd522e45df8f8e8300602081905260408220600181015491929091900361046e576040517f1a63faae0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b5f610258826002015461048191906116b9565b90505f621baf80836002015461049791906116b9565b9050814210156104ef5760028301546040517ffd884a5b000000000000000000000000000000000000000000000000000000008152336004820152602481019190915260448101839052426064820152608401610465565b804211156105455760028301546040517f6450be46000000000000000000000000000000000000000000000000000000008152336004820152602481019190915260448101829052426064820152608401610465565b61054f3384610ac3565b50505050565b335f9081527f09a63abe4945633bb94882c99939e416eb0cfc283572d9cd522e45df8f8e8300602081905260408220600181015481549293919261059991906116cc565b9050838110156105e5576040517f5c45c9030000000000000000000000000000000000000000000000000000000081523360048201526024810185905260448101829052606401610465565b83826001015f8282546105f891906116b9565b909155505042600283015560405184815233907f8dc99017bbc3e43adb345ab51be913750c7a9122ad67841b0f97b12ef3241e749060200160405180910390a250505050565b6106488282610bf0565b5050565b610654610d51565b61065d82610e55565b6106488282610e5d565b5f610670610f9b565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b61069d61100a565b6106a65f611098565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f811580156106f25750825b90505f8267ffffffffffffffff16600114801561070e5750303b155b90508115801561071c575080155b15610753576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156107b45784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6107d173a85928c52fc3c5d55d291425637222157693488561112d565b6107d961113e565b831561083a5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b61086260405180606001604052805f81526020015f81526020015f81525090565b5073ffffffffffffffffffffffffffffffffffffffff81165f9081527f09a63abe4945633bb94882c99939e416eb0cfc283572d9cd522e45df8f8e8300602081815260408084208151606081018352815481526001820154938101849052600290910154918101919091529291829182918291158015906108f4575061025886604001516108f091906116b9565b4210155b94505f866020015111801561091a5750621baf80866040015161091791906116b9565b42115b93505f866020015111801561093f5750610258866040015161093c91906116b9565b42105b156109685742610258876040015161095791906116b9565b61096191906116cc565b925061096c565b5f92505b5f86602001511180156109905750621baf80866040015161098d91906116b9565b42105b156109ba5742621baf8087604001516109a991906116b9565b6109b391906116cc565b91506109be565b5f91505b5091939590929450565b6109d23382610bf0565b50565b6109f660405180606001604052805f81526020015f81526020015f81525090565b5073ffffffffffffffffffffffffffffffffffffffff165f9081527f09a63abe4945633bb94882c99939e416eb0cfc283572d9cd522e45df8f8e83006020908152604091829020825160608101845281548152600182015492810192909252600201549181019190915290565b610a6b61100a565b73ffffffffffffffffffffffffffffffffffffffff8116610aba576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610465565b6109d281611098565b60018101548154819083905f90610adb9084906116cc565b90915550505f60018301819055600283015573da1cdf54be4413da03389d28af8a4cae3d8c217c6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260248201849052919091169063a9059cbb906044016020604051808303815f875af1158015610b76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9a91906116df565b508273ffffffffffffffffffffffffffffffffffffffff167fdf2b996992aeaae3212b8d32b9c3c224196146804bed6814ec28d864b4eb3fc582604051610be391815260200190565b60405180910390a2505050565b5f7f09a63abe4945633bb94882c99939e416eb0cfc283572d9cd522e45df8f8e8300905073da1cdf54be4413da03389d28af8a4cae3d8c217c6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810184905273ffffffffffffffffffffffffffffffffffffffff91909116906323b872dd906064016020604051808303815f875af1158015610ca1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc591906116df565b5073ffffffffffffffffffffffffffffffffffffffff83165f9081526020829052604081208054849290610cfa9084906116b9565b909155505060405182815273ffffffffffffffffffffffffffffffffffffffff84169033907f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd79060200160405180910390a3505050565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610e1e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610e057f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b156106a6576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109d261100a565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610ee2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610edf918101906116fe565b60015b610f30576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610465565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610f8c576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610465565b610f968383611146565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336110497f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146106a6576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610465565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6111356111a8565b6109d28161120f565b6106a66111a8565b61114f82611217565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156111a057610f9682826112e5565b610648611366565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166106a6576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a6b6111a8565b8073ffffffffffffffffffffffffffffffffffffffff163b5f0361127f576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610465565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f808473ffffffffffffffffffffffffffffffffffffffff168460405161130e9190611715565b5f60405180830381855af49150503d805f8114611346576040519150601f19603f3d011682016040523d82523d5f602084013e61134b565b606091505b509150915061135b85838361139e565b925050505b92915050565b34156106a6576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826113b3576113ae82611430565b611429565b81511580156113d7575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611426576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610465565b50805b9392505050565b8051156114405780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60208284031215611482575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114ac575f80fd5b919050565b5f80604083850312156114c2575f80fd5b6114cb83611489565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8060408385031215611517575f80fd5b61152083611489565b9150602083013567ffffffffffffffff8082111561153c575f80fd5b818501915085601f83011261154f575f80fd5b813581811115611561576115616114d9565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156115a7576115a76114d9565b816040528281528860208487010111156115bf575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f602082840312156115f0575f80fd5b61142982611489565b5f5b838110156116135781810151838201526020016115fb565b50505f910152565b602081525f82518060208401526116398160408501602087016115f9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b81518152602080830151908201526040808301519082015260608101611360565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156113605761136061168c565b818103818111156113605761136061168c565b5f602082840312156116ef575f80fd5b81518015158114611429575f80fd5b5f6020828403121561170e575f80fd5b5051919050565b5f82516117268184602087016115f9565b919091019291505056fea164736f6c6343000819000a