47 txs
48 calls
constructor
constructor(string name_, address tokenAddress_, address rewardTokenAddress_, uint256 stakingStarts_, uint256 stakingEnds_, uint256 withdrawStarts_, uint256 withdrawEnds_, uint256 stakingCap_)
functions
earlyWithdrawReward
viewfunction earlyWithdrawReward() view returns (uint256)
name
viewfunction name() view returns (string)
rewardBalance
viewfunction rewardBalance() view returns (uint256)
rewardSetter
viewfunction rewardSetter() view returns (address)
rewardState
viewfunction rewardState() view returns (uint256 rewardBalance, uint256 rewardsTotal, uint256 earlyWithdrawReward)
rewardsTotal
viewfunction rewardsTotal() view returns (uint256)
rewardTokenAddress
viewfunction rewardTokenAddress() view returns (address)
stakedBalance
viewfunction stakedBalance() view returns (uint256)
stakedTotal
viewfunction stakedTotal() view returns (uint256)
stakeOf
viewfunction stakeOf(address account) view returns (uint256)
stakeState
viewfunction stakeState() view returns (uint256 stakedTotal, uint256 stakingCap, uint256 stakedBalance, uint256 withdrawnEarly)
stakingCap
viewfunction stakingCap() view returns (uint256)
stakingEnds
viewfunction stakingEnds() view returns (uint256)
stakingStarts
viewfunction stakingStarts() view returns (uint256)
tokenAddress
viewfunction tokenAddress() view returns (address)
withdrawEnds
viewfunction withdrawEnds() view returns (uint256)
withdrawStarts
viewfunction withdrawStarts() view returns (uint256)
addMarginalReward
nonpayablefunction addMarginalReward(uint256 withdrawableAmount)
addReward
nonpayablefunction addReward(uint256 rewardAmount, uint256 withdrawableAmount) returns (bool)
stake
nonpayablefunction stake(uint256 amount) returns (bool)
stakeFor
nonpayablefunction stakeFor(address staker, uint256 amount) returns (bool)
withdraw
nonpayablefunction withdraw(uint256 amount) returns (bool)
events
PaidOut
event PaidOut(address indexed token, address indexed rewardToken, address indexed staker_, uint256 amount_, uint256 reward_)
Staked
event Staked(address indexed token, address indexed staker_, uint256 requestedAmount_, uint256 stakedAmount_)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620016df380380620016df83398181016040526101008110156200003857600080fd5b81019080805160405193929190846401000000008211156200005957600080fd5b838201915060208201858111156200007057600080fd5b82518660018202830111640100000000821117156200008e57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c4578082015181840152602081019050620000a7565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050878786868686866103e973bce3ed9c430ddc9d695bcca825a5e20ad08009dd63ffa1ad746040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019157600080fd5b505af4158015620001a6573d6000803e3d6000fd5b505050506040513d6020811015620001bd57600080fd5b81019080805190602001909291905050501462000242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426164206c696e6b6564206c6962726172792076657273696f6e00000000000081525060200191505060405180910390fd5b86600190805190602001906200025a92919062000683565b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415620002ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f46657374616b696e673a2030206164647265737300000000000000000000000081525060200191505060405180910390fd5b85600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600085116200039b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620016956022913960400191505060405180910390fd5b42851015620003b15742600381905550620003b9565b846003819055505b60035484101562000416576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180620015f96033913960400191505060405180910390fd5b836004819055506004548310156200047a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180620016616034913960400191505060405180910390fd5b82600581905550600554821015620004de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806200162c6035913960400191505060405180910390fd5b81600681905550600081101562000541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180620016b76028913960400191505060405180910390fd5b8060078190555050505050505050600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415620005f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46657374616b696e673a2030207265776172642061646472657373000000000081525060200191505060405180910390fd5b85600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050505062000732565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006c657805160ff1916838001178555620006f7565b82800160010185558215620006f7579182015b82811115620006f6578251825591602001919060010190620006d9565b5b5090506200070691906200070a565b5090565b6200072f91905b808211156200072b57600081600090555060010162000711565b5090565b90565b610eb780620007426000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806361539de7116100b8578063a694fc3a1161007c578063a694fc3a1461051f578063aa5c3ab414610565578063b410e2a114610583578063bb2d7f3a146105a1578063d66692a7146105bf578063eacebf61146105dd57610142565b806361539de7146103ea5780636d68c7d41461043457806375c93bb9146104525780638c09a2f9146104a25780639d76ea58146104d557610142565b80632ee409081161010a5780632ee40908146102a65780633f7fd60a1461030c578063426233601461032a57806344c370d314610382578063582c7928146103a05780635b9f0016146103cc57610142565b806306fdde0314610147578063125f9e33146101ca57806321b13cdf146102145780632853c542146102325780632e1a7d4d14610260575b600080fd5b61014f6105fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d261069d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61021c6106c3565b6040518082815260200191505060405180910390f35b61025e6004803603602081101561024857600080fd5b81019080803590602001909291905050506106c9565b005b61028c6004803603602081101561027657600080fd5b8101908080359060200190929190505050610914565b604051808215151515815260200191505060405180910390f35b6102f2600480360360408110156102bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab7565b604051808215151515815260200191505060405180910390f35b610314610acc565b6040518082815260200191505060405180910390f35b61036c6004803603602081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ad9565b6040518082815260200191505060405180910390f35b61038a610b25565b6040518082815260200191505060405180910390f35b6103a8610b2b565b60405180848152602001838152602001828152602001935050505060405180910390f35b6103d4610b43565b6040518082815260200191505060405180910390f35b6103f2610b50565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61043c610b76565b6040518082815260200191505060405180910390f35b6104886004803603604081101561046857600080fd5b810190808035906020019092919080359060200190929190505050610b7c565b604051808215151515815260200191505060405180910390f35b6104aa610c77565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b6104dd610c95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61054b6004803603602081101561053557600080fd5b8101908080359060200190929190505050610cbb565b604051808215151515815260200191505060405180910390f35b61056d610cd4565b6040518082815260200191505060405180910390f35b61058b610ce1565b6040518082815260200191505060405180910390f35b6105a9610ce7565b6040518082815260200191505060405180910390f35b6105c7610cf4565b6040518082815260200191505060405180910390f35b6105e5610d01565b6040518082815260200191505060405180910390f35b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106935780601f1061066857610100808354040283529160200191610693565b820191906000526020600020905b81548152906001019060200180831161067657829003601f168201915b5050505050905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f46657374616b696e673a204e6f7420616c6c6f7765640000000000000000000081525060200191505060405180910390fd5b80600e6002018190555073bce3ed9c430ddc9d695bcca825a5e20ad08009dd633362c3cd600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306107ff610b43565b600e6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060206040518083038186803b1580156108d557600080fd5b505af41580156108e9573d6000803e3d6000fd5b505050506040513d60208110156108ff57600080fd5b81019080805190602001909291905050505050565b600073bce3ed9c430ddc9d695bcca825a5e20ad08009dd63f3ec689233600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866005546006546004546008600e6040518a63ffffffff1660e01b8152600401808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001838152602001828152602001995050505050505050505060206040518083038186803b158015610a7557600080fd5b505af4158015610a89573d6000803e3d6000fd5b505050506040513d6020811015610a9f57600080fd5b81019080805190602001909291905050509050919050565b6000610ac4338484610d07565b905092915050565b6000600e60020154905090565b6000600860040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60075481565b600e8060000154908060010154908060020154905083565b6000600860020154905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b600073bce3ed9c430ddc9d695bcca825a5e20ad08009dd6356fb23a98484600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e6040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060206040518083038186803b158015610c3457600080fd5b505af4158015610c48573d6000803e3d6000fd5b505050506040513d6020811015610c5e57600080fd5b8101908080519060200190929190505050905092915050565b60088060000154908060010154908060020154908060030154905084565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080339050610ccc818285610d07565b915050919050565b6000600e60000154905090565b60045481565b6000600e60010154905090565b6000600860000154905090565b60065481565b600073bce3ed9c430ddc9d695bcca825a5e20ad08009dd6314b6043e858585600354600454600754600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660086040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019850505050505050505060206040518083038186803b158015610e3d57600080fd5b505af4158015610e51573d6000803e3d6000fd5b505050506040513d6020811015610e6757600080fd5b81019080805190602001909291905050509050939250505056fea264697066735822122072419711e15df548eb6147b6d7acd1aabb7a50156737b1c736e92092aeb3e7ab64736f6c6343000606003346657374616b696e673a207374616b696e6720656e64206d757374206265206166746572207374616b696e672073746172747346657374616b696e673a207769746864726177456e6473206d7573742062652061667465722077697468647261772073746172747346657374616b696e673a207769746864726177537461727473206d757374206265206166746572207374616b696e6720656e647346657374616b696e673a207a65726f207374616b696e672073746172742074696d6546657374616b696e673a207374616b696e674361702063616e6e6f74206265206e6567617469766500000000000000000000000000000000000000000000000000000000000001000000000000000000000000006b9f031d718dded0d681c20cb754f97b3bb81b780000000000000000000000006b9f031d718dded0d681c20cb754f97b3bb81b78000000000000000000000000000000000000000000000000000000006713d7800000000000000000000000000000000000000000000000000000000067264c8000000000000000000000000000000000000000000000000000000000679cf37f00000000000000000000000000000000000000000000000000000000679cf380000000000000000000000000000000000000000000034f086f3b33b684000000000000000000000000000000000000000000000000000000000000000000000f47656571205374616b696e672031370000000000000000000000000000000000