0 txs
48 calls
constructor
No constructor.
functions
accumulationFactor
viewfunction accumulationFactor() view returns (int128)
balance
viewfunction balance(uint256 _amountFruit) view returns (uint256)
currentEpoch
viewfunction currentEpoch() view returns (uint256)
EARTH
viewfunction EARTH() view returns (address)
epochSizeSeconds
viewfunction epochSizeSeconds() view returns (uint256)
epy
viewfunction epy() view returns (int128)
FRUIT
viewfunction FRUIT() view returns (address)
getAccumulationFactor
viewfunction getAccumulationFactor() view returns (uint256)
getEpy
viewfunction getEpy(uint256 _scale) view returns (uint256)
lastUpdatedEpoch
viewfunction lastUpdatedEpoch() view returns (uint256)
owner
viewfunction owner() view returns (address)
startTimestamp
viewfunction startTimestamp() view returns (uint256)
initialize
nonpayablefunction initialize(address _EARTH, uint256 _epochSizeSeconds, uint256 _startTimestamp, address _Fruit)
renounceOwnership
nonpayablefunction renounceOwnership()
setEpy
nonpayablefunction setEpy(uint256 _numerator, uint256 _denominator)
stake
nonpayablefunction stake(uint256 _amountEarth) returns (uint256 amountFruit)
stakeFor
nonpayablefunction stakeFor(address _staker, uint256 _amountEarth) returns (uint256 amountFruit)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstake
nonpayablefunction unstake(uint256 _amountFruit)
events
AccumulationFactorUpdated
event AccumulationFactorUpdated(uint256 _epochsProcessed, uint256 _currentEpoch, uint256 _accumulationFactor)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
StakeCompleted
event StakeCompleted(address _staker, uint256 _amount, uint256 _lockedUntil)
UnstakeCompleted
event UnstakeCompleted(address _staker, uint256 _amount)
errors
EarthTokenLessSupplied
error EarthTokenLessSupplied()
InsufficientFruitAllowance
error InsufficientFruitAllowance()
StartTimestampNotInPast
error StartTimestampNotInPast()
StartTimestampTooEarly
error StartTimestampTooEarly()
ZERO_ADDRESS
error ZERO_ADDRESS()
creation bytecode
0x608060405234801561001057600080fd5b50611854806100206000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80638da5cb5b116100cd578063b86a284511610081578063e6fd48bc11610066578063e6fd48bc1461028a578063ed3b970414610293578063f2fde38b146102a657600080fd5b8063b86a28451461026f578063c87819d51461028257600080fd5b8063a694fc3a116100b2578063a694fc3a14610240578063a9f53dac14610253578063b7642a431461026657600080fd5b80638da5cb5b1461021c5780639e3d87cd1461022d57600080fd5b806347bb89f011610124578063715018a611610109578063715018a614610203578063766718081461020b5780637ca076d71461021357600080fd5b806347bb89f0146101e357806359167e48146101f657600080fd5b80632d2b01ec146101565780632e17de78146101865780632ee409081461019b5780633740d556146101bc575b600080fd5b606654610169906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101996101943660046115d3565b6102b9565b005b6101ae6101a9366004611601565b610472565b60405190815260200161017d565b6067546101d090600160801b9004600f0b81565b604051600f9190910b815260200161017d565b6101ae6101f13660046115d3565b6105d2565b6067546101d090600f0b81565b61019961060b565b6101ae61061f565b6101ae60685481565b6033546001600160a01b0316610169565b61019961023b36600461162d565b610641565b6101ae61024e3660046115d3565b61088d565b610199610261366004611677565b610899565b6101ae606a5481565b606554610169906001600160a01b031681565b6101ae610905565b6101ae60695481565b6101ae6102a13660046115d3565b610940565b6101996102b4366004611699565b61097a565b6066546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015282916001600160a01b03169063dd62ed3e9060440160206040518083038186803b15801561031b57600080fd5b505afa15801561032f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035391906116b6565b101561038b576040517f09b55e4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610393610a0a565b600061039e826105d2565b6066546040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018590529192506001600160a01b0316906379cc679090604401600060405180830381600087803b15801561040457600080fd5b505af1158015610418573d6000803e3d6000fd5b505060655461043492506001600160a01b031690503383610ac4565b60408051338152602081018490527fdf2b996992aeaae3212b8d32b9c3c224196146804bed6814ec28d864b4eb3fc591015b60405180910390a15050565b6000816104ab576040517fe0bcd82500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104b3610a0a565b6067546104e8906104e390600160801b9004600f0b6104da85670de0b6b3a7640000610b72565b600f0b90610bb9565b610c24565b606554909150610503906001600160a01b0316333085610ca0565b6066546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015260248201849052909116906340c10f1990604401600060405180830381600087803b15801561056a57600080fd5b505af115801561057e573d6000803e3d6000fd5b5050604080516001600160a01b03871681526020810186905260008183015290517fcf5c56b135ea8f1d57357dad28d8a7f64f55756e226643908842181edd74d8019350908190036060019150a192915050565b60006106056104e36105ea6105e561061f565b610cf7565b6105fc85670de0b6b3a7640000610b72565b600f0b90610d2e565b92915050565b610613610d76565b61061d6000610dd0565b565b60006068546069544261063291906116e5565b61063c9190611712565b905090565b600054610100900460ff16158080156106615750600054600160ff909116105b8061067b5750303b15801561067b575060005460ff166001145b6106f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610715576000805461ff0019166101001790555b42831061074e576040517f30db9e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075b6202a300426116e5565b8311610793576040517f874659c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0385166107d3576040517f538ba4f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606580546001600160a01b0380881673ffffffffffffffffffffffffffffffffffffffff19928316179092556066805492851692909116919091179055606884905560698390556108246001610e2f565b6001600160801b0316600160801b810217606755610840610e4d565b8015610886576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006106053383610472565b6108a1610d76565b6108a9610a0a565b6108c96108b68383610b72565b6108c06001610e2f565b600f0b90610ec0565b606780547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b03929092169190911790555050565b600061093161092961091e670de0b6b3a7640000610e2f565b6105fc6105e561061f565b600f0b610f05565b67ffffffffffffffff16905090565b600061096a61092961095184610e2f565b6105fc61095e6001610e2f565b606754600f0b90610f21565b67ffffffffffffffff1692915050565b610982610d76565b6001600160a01b0381166109fe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106e9565b610a0781610dd0565b50565b6000610a1461061f565b9050606a548111610a225750565b610a2b81610cf7565b606780546001600160801b03928316600160801b029216919091179055606a8190556000610a5982806116e5565b6067549091507faede5390ed10bde4ef7003c320b4df98c2b8df8749030985178fdd5a55c506469082908490610a9f9061092990600160801b9004600f0b612710610d2e565b60408051938452602084019290925267ffffffffffffffff1690820152606001610466565b6040516001600160a01b038316602482015260448101829052610b6d9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f66565b505050565b600081610b7e57600080fd5b6000610b8a848461104e565b90506f7fffffffffffffffffffffffffffffff6001600160801b0382161115610bb257600080fd5b9392505050565b600081600f0b60001415610bcc57600080fd5b600082600f0b604085600f0b901b81610be757610be76116fc565b0590506f7fffffffffffffffffffffffffffffff198112801590610c1b57506f7fffffffffffffffffffffffffffffff8113155b610bb257600080fd5b600080610c3383600f0b610f05565b67ffffffffffffffff1690506000610c6f610929610c58670de0b6b3a7640000610e2f565b6105fc610c6486610e2f565b600f89900b90610f21565b67ffffffffffffffff16905080610c8e83670de0b6b3a7640000611734565b610c989190611753565b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610cf19085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610b09565b50505050565b600080606a5483610d0891906116e5565b606754909150610bb290610d1f90600f0b836111c1565b606754600160801b9004600f0b905b6000600f83810b9083900b0260401d6f7fffffffffffffffffffffffffffffff198112801590610c1b57506f7fffffffffffffffffffffffffffffff811315610bb257600080fd5b6033546001600160a01b0316331461061d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106e9565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000677fffffffffffffff821115610e4657600080fd5b5060401b90565b600054610100900460ff16610eb85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106e9565b61061d61143f565b6000600f83810b9083900b016f7fffffffffffffffffffffffffffffff198112801590610c1b57506f7fffffffffffffffffffffffffffffff811315610bb257600080fd5b60008082600f0b1215610f1757600080fd5b50600f0b60401d90565b6000600f82810b9084900b036f7fffffffffffffffffffffffffffffff198112801590610c1b57506f7fffffffffffffffffffffffffffffff811315610bb257600080fd5b6000610fbb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114b39092919063ffffffff16565b9050805160001480610fdc575080806020019051810190610fdc919061176b565b610b6d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106e9565b60008161105a57600080fd5b600077ffffffffffffffffffffffffffffffffffffffffffffffff84116110965782604085901b8161108e5761108e6116fc565b0490506111ad565b60c084811c64010000000081106110af576020918201911c5b6201000081106110c1576010918201911c5b61010081106110d2576008918201911c5b601081106110e2576004918201911c5b600481106110f2576002918201911c5b60028110611101576001820191505b60bf820360018603901c6001018260ff0387901b81611122576111226116fc565b0492506001600160801b0383111561113957600080fd5b608085901c83026001600160801b038616840260c088901c604089901b82811015611165576001820391505b608084901b9290038281101561117c576001820391505b829003608084901c82146111925761119261178d565b8881816111a1576111a16116fc565b04870196505050505050505b6001600160801b03811115610bb257600080fd5b600080600084600f0b1280156111da5750826001166001145b905060008085600f0b126111ee57846111f3565b846000035b6001600160801b03169050600160801b68010000000000000000821161128d57603f82901b91505b8415611285576001851615611230578102607f1c5b908002607f1c906002851615611246578102607f1c5b908002607f1c90600485161561125c578102607f1c5b908002607f1c906008851615611272578102607f1c5b60049490941c93908002607f1c9061121b565b60401c6113e7565b603f6c010000000000000000000000008310156112b05760209290921b91601f19015b6e0100000000000000000000000000008310156112d35760109290921b91600f19015b6f010000000000000000000000000000008310156112f75760089290921b91600719015b6f1000000000000000000000000000000083101561131b5760049290921b91600319015b6f4000000000000000000000000000000083101561133f5760029290921b91600119015b6f800000000000000000000000000000008310156113635760019290921b91600019015b60005b86156113d0576040821061137957600080fd5b600187161561139f57918302607f1c918101600160801b83111561139f57600192831c92015b928002607f1c9260019190911b90600160801b84106113c457600193841c9391909101905b600187901c9650611366565b604081106113dd57600080fd5b6040039190911c90505b6000836113f457816113f9565b816000035b90506f7fffffffffffffffffffffffffffffff19811280159061142c57506f7fffffffffffffffffffffffffffffff8113155b61143557600080fd5b9695505050505050565b600054610100900460ff166114aa5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106e9565b61061d33610dd0565b6060610c98848460008585600080866001600160a01b031685876040516114da91906117cf565b60006040518083038185875af1925050503d8060008114611517576040519150601f19603f3d011682016040523d82523d6000602084013e61151c565b606091505b509150915061152d87838387611538565b979650505050505050565b606083156115a457825161159d576001600160a01b0385163b61159d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106e9565b5081610c98565b610c9883838151156115b95781518083602001fd5b8060405162461bcd60e51b81526004016106e991906117eb565b6000602082840312156115e557600080fd5b5035919050565b6001600160a01b0381168114610a0757600080fd5b6000806040838503121561161457600080fd5b823561161f816115ec565b946020939093013593505050565b6000806000806080858703121561164357600080fd5b843561164e816115ec565b93506020850135925060408501359150606085013561166c816115ec565b939692955090935050565b6000806040838503121561168a57600080fd5b50508035926020909101359150565b6000602082840312156116ab57600080fd5b8135610bb2816115ec565b6000602082840312156116c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156116f7576116f76116cf565b500390565b634e487b7160e01b600052601260045260246000fd5b60008261172f57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561174e5761174e6116cf565b500290565b60008219821115611766576117666116cf565b500190565b60006020828403121561177d57600080fd5b81518015158114610bb257600080fd5b634e487b7160e01b600052600160045260246000fd5b60005b838110156117be5781810151838201526020016117a6565b83811115610cf15750506000910152565b600082516117e18184602087016117a3565b9190910192915050565b602081526000825180602084015261180a8160408501602087016117a3565b601f01601f1916919091016040019291505056fea264697066735822122091746ae9c030e31e038328ac2325c59ecfa39e9fdf72e99bf4578ca1bde137ca64736f6c63430008090033