0 txs
2.3k calls
constructor
constructor(address _token, address _main)
functions
_stakers
viewfunction _stakers(address _staker) view returns (tuple)
getPendingWithdrawals
viewfunction getPendingWithdrawals(address _staker) view returns (tuple[])
getStakeInfo
viewfunction getStakeInfo(address _staker) view returns (uint256 _stakedAmount, uint256 _withdrawalsCount, uint256 _pendingWithdrawalAmount, uint256 _completedWithdrawalAmount)
main
viewfunction main() view returns (address)
owner
viewfunction owner() view returns (address)
stakedTokenBalance
viewfunction stakedTokenBalance() view returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
requestWithdraw
nonpayablefunction requestWithdraw(uint256 _amount, uint256 delay, address _staker)
setMain
nonpayablefunction setMain(address _main)
stake
nonpayablefunction stake(uint256 _amount, address _staker)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(address _beneficiary)
withdraw
nonpayablefunction withdraw(uint256 _requestId, address _staker)
withdrawToken
nonpayablefunction withdrawToken(address _beneficiary, address _token)
events
MainSet
event MainSet(address _main)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardsClaimed
event RewardsClaimed(address indexed staker, uint256 rewardAmount)
TokensStaked
event TokensStaked(address indexed staker, uint256 amount)
TokensWithdrawalRequested
event TokensWithdrawalRequested(address indexed staker, uint256 amount)
TokensWithdrawn
event TokensWithdrawn(address indexed staker, uint256 amount)
UpdatedWaitingPeriod
event UpdatedWaitingPeriod(uint256 oldWaitingPeriod, uint256 newWaitingPeriod)
errors
FailedToWithdrawEth
error FailedToWithdrawEth(address owner, address target, uint256 value)
NothingToWithdraw
error NothingToWithdraw()
creation bytecode
0x60a06040523480156200001157600080fd5b50604051620017133803806200171383398101604081905262000034916200018c565b6001600055620000443362000121565b6001600160a01b038216620000a05760405162461bcd60e51b815260206004820152601960248201527f545374616b653a20746f6b656e2063616e6e6f7420626520300000000000000060448201526064015b60405180910390fd5b6001600160a01b038116620000f85760405162461bcd60e51b815260206004820152601860248201527f545374616b653a206d61696e2063616e6e6f7420626520300000000000000000604482015260640162000097565b6001600160a01b03918216608052600380546001600160a01b03191691909216179055620001cb565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811681146200018957600080fd5b50565b60008060408385031215620001a057600080fd5b8251620001ad8162000173565b6020840151909250620001c08162000173565b809150509250929050565b60805161152c620001e7600039600061052e015261152c6000f3fe6080604052600436106100b05760003560e01c8062f714ce146100bc5780633aeac4e1146100de57806351cff8d9146100fe5780635895ebf41461011e578063715018a61461013e57806375e032f4146101535780637acb7757146101895780637de9b72a146101a9578063801161b0146101cd5780638da5cb5b146101ed578063c34531531461020f578063dffeadd01461024f578063f2fde38b1461026f578063f340c0d01461028f57600080fd5b366100b757005b600080fd5b3480156100c857600080fd5b506100dc6100d73660046111f5565b6102bc565b005b3480156100ea57600080fd5b506100dc6100f9366004611221565b6105a5565b34801561010a57600080fd5b506100dc61011936600461124b565b610659565b34801561012a57600080fd5b506100dc61013936600461126d565b610710565b34801561014a57600080fd5b506100dc610909565b34801561015f57600080fd5b5061017361016e36600461124b565b61091d565b60405161018091906112cc565b60405180910390f35b34801561019557600080fd5b506100dc6101a43660046111f5565b610a10565b3480156101b557600080fd5b506101bf60025481565b604051908152602001610180565b3480156101d957600080fd5b506100dc6101e836600461124b565b610b2b565b3480156101f957600080fd5b50610202610bda565b6040516101809190611329565b34801561021b57600080fd5b5061022f61022a36600461124b565b610be9565b604080519485526020850193909352918301526060820152608001610180565b34801561025b57600080fd5b50600354610202906001600160a01b031681565b34801561027b57600080fd5b506100dc61028a36600461124b565b610d36565b34801561029b57600080fd5b506102af6102aa36600461124b565b610daf565b604051610180919061133d565b6003546001600160a01b031633146102ef5760405162461bcd60e51b81526004016102e690611386565b60405180910390fd5b6001600160a01b0381166103155760405162461bcd60e51b81526004016102e6906113ab565b6001600160a01b03811660009081526004602052604090206001015482106103745760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081c995c5d595cdd08125160721b60448201526064016102e6565b6001600160a01b03811660009081526004602052604090206001018054839081106103a1576103a16113d7565b600091825260209091206003600490920201015460ff16156104015760405162461bcd60e51b815260206004820152601960248201527820b6b7bab73a103430b9903132b2b7103bb4ba34323930bbb760391b60448201526064016102e6565b6001600160a01b038116600090815260046020526040902060010180548390811061042e5761042e6113d7565b9060005260206000209060040201600101544210156104805760405162461bcd60e51b815260206004820152600e60248201526d15d85a5d1a5b99c81c195c9a5bd960921b60448201526064016102e6565b6001600160a01b03811660009081526004602052604081206001018054849081106104ad576104ad6113d7565b906000526020600020906004020160020154905080600260008282546104d39190611403565b90915550506001600160a01b03821660009081526004602052604090206001908101805485908110610507576105076113d7565b60009182526020909120600490910201600301805460ff191691151591909117905561055d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168383610e76565b816001600160a01b03167f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b8260405161059891815260200190565b60405180910390a2505050565b6105ad610ec8565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906105dc903090600401611329565b602060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d919061141c565b90508060000361064057604051630686827b60e51b815260040160405180910390fd5b6106546001600160a01b0383168483610e76565b505050565b610661610ec8565b47600081900361068457604051630686827b60e51b815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106d1576040519150601f19603f3d011682016040523d82523d6000602084013e6106d6565b606091505b505090508061065457604051639d11f56360e01b81523360048201526001600160a01b0384166024820152604481018390526064016102e6565b6003546001600160a01b0316331461073a5760405162461bcd60e51b81526004016102e690611386565b6001600160a01b0381166107605760405162461bcd60e51b81526004016102e6906113ab565b600083116107a75760405162461bcd60e51b81526020600482015260146024820152735769746864726177696e67203020746f6b656e7360601b60448201526064016102e6565b6001600160a01b03811660009081526004602052604090205483111561080c5760405162461bcd60e51b815260206004820152601a602482015279496e73756666696369656e74207374616b656420746f6b656e7360301b60448201526064016102e6565b6001600160a01b03811660009081526004602052604081208054859290610834908490611403565b90915550506001600160a01b03811660009081526004602090815260409182902082516080810190935260010180548352919081016108738542611435565b815260208082018790526000604092830181905284546001808201875595825290829020845160049092020190815583820151948101949094558282015160028501556060909201516003909301805460ff19169315159390931790925590518481526001600160a01b038316917ff1b0b4624afc369a6e09047f353adc3b8b5472ac611be1c6f3e3ca963b09197b9101610598565b610911610ec8565b61091b6000610f27565b565b6040805180820190915260008152606060208201526003546001600160a01b0316331461095c5760405162461bcd60e51b81526004016102e690611386565b6001600160a01b038216600090815260046020908152604080832081518083018352815481526001820180548451818702810187019095528085529195929486810194939192919084015b82821015610a00576000848152602090819020604080516080810182526004860290920180548352600180820154848601526002820154928401929092526003015460ff161515606083015290835290920191016109a7565b505050508152505090505b919050565b6003546001600160a01b03163314610a3a5760405162461bcd60e51b81526004016102e690611386565b6001600160a01b038116610a605760405162461bcd60e51b81526004016102e6906113ab565b60008211610aa35760405162461bcd60e51b815260206004820152601060248201526f5374616b696e67203020746f6b656e7360801b60448201526064016102e6565b6001600160a01b03811660009081526004602052604081208054849290610acb908490611435565b925050819055508160026000828254610ae49190611435565b90915550506040518281526001600160a01b038216907fb539ca1e5c8d398ddf1c41c30166f33404941683be4683319b57669a93dad4ef9060200160405180910390a25050565b610b33610ec8565b6001600160a01b038116610b845760405162461bcd60e51b81526020600482015260186024820152770545374616b653a206d61696e2063616e6e6f7420626520360441b60448201526064016102e6565b600380546001600160a01b0319166001600160a01b0383161790556040517fce2a95399de015bbfc63256cba86786b0b37a1f4637af4076398ec7219bbbef690610bcf908390611329565b60405180910390a150565b6001546001600160a01b031690565b6001600160a01b03811660009081526004602052604081208054600190910154909180805b6001600160a01b038616600090815260046020526040902060010154811015610d2e576001600160a01b0386166000908152600460205260409020600101805482908110610c5e57610c5e6113d7565b600091825260209091206003600490920201015460ff161515600103610ccf576001600160a01b0386166000908152600460205260409020600101805482908110610cab57610cab6113d7565b90600052602060002090600402016002015482610cc89190611435565b9150610d1c565b6001600160a01b0386166000908152600460205260409020600101805482908110610cfc57610cfc6113d7565b90600052602060002090600402016002015483610d199190611435565b92505b80610d2681611448565b915050610c0e565b509193509193565b610d3e610ec8565b6001600160a01b038116610da35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102e6565b610dac81610f27565b50565b6003546060906001600160a01b03163314610ddc5760405162461bcd60e51b81526004016102e690611386565b6001600160a01b038216600090815260046020908152604080832060010180548251818502810185019093528083529193909284015b82821015610e6b576000848152602090819020604080516080810182526004860290920180548352600180820154848601526002820154928401929092526003015460ff16151560608301529083529092019101610e12565b505050509050919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610654908490610f79565b33610ed1610bda565b6001600160a01b03161461091b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102e6565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610fce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661104e9092919063ffffffff16565b9050805160001480610fef575080806020019051810190610fef9190611461565b6106545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102e6565b606061105d8484600085611065565b949350505050565b6060824710156110c65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102e6565b600080866001600160a01b031685876040516110e291906114a7565b60006040518083038185875af1925050503d806000811461111f576040519150601f19603f3d011682016040523d82523d6000602084013e611124565b606091505b509150915061113587838387611140565b979650505050505050565b606083156111af5782516000036111a8576001600160a01b0385163b6111a85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102e6565b508161105d565b61105d83838151156111c45781518083602001fd5b8060405162461bcd60e51b81526004016102e691906114c3565b80356001600160a01b0381168114610a0b57600080fd5b6000806040838503121561120857600080fd5b82359150611218602084016111de565b90509250929050565b6000806040838503121561123457600080fd5b61123d836111de565b9150611218602084016111de565b60006020828403121561125d57600080fd5b611266826111de565b9392505050565b60008060006060848603121561128257600080fd5b8335925060208401359150611299604085016111de565b90509250925092565b80518252602080820151908301526040808201519083015260609081015115159082015260800190565b60208082528251828201528281015160408084015280516060840181905260009291820190839060808601905b8083101561131e5761130c8285516112a2565b915084840193506001830192506112f9565b509695505050505050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561137a5761136c8385516112a2565b938501939250600101611359565b50909695505050505050565b6020808252600b908201526a6e6f74206d61696e20434160a81b604082015260600190565b60208082526012908201527105374616b65722063616e6e6f7420626520360741b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115611416576114166113ed565b92915050565b60006020828403121561142e57600080fd5b5051919050565b80820180821115611416576114166113ed565b60006001820161145a5761145a6113ed565b5060010190565b60006020828403121561147357600080fd5b8151801515811461126657600080fd5b60005b8381101561149e578181015183820152602001611486565b50506000910152565b600082516114b9818460208701611483565b9190910192915050565b60208152600082518060208401526114e2816040850160208701611483565b601f01601f1916919091016040019291505056fea2646970667358221220c49077bc3291b63ae14d9f597b7c98a143d55d4d8a6b3baa717e72d7d0bed49264736f6c634300081300330000000000000000000000004fb9b20dafe45d91ae287f2e07b2e797093081780000000000000000000000003b371cdc1a456aaeb5ee0786de166fe703111795