Last Revision: December 3, 2021 Article Status: Internal Work in Progress Note: This page may get updated if there are changes to previous information.
Name | Contract Address |
---|---|
liquidityMiningManager | https://etherscan.io/address/0x7776C65E112475Cebd4A2fC72E685f35641DB3dA#code |
escrowPool | https://etherscan.io/address/0xB2d1464Ae4cc86856474a34d112b4A2efa326ed9#code |
sipherPool | https://etherscan.io/address/0x7EE4b5dbc4b97C30A08791CE8601E695735960dB#code |
sipherUniswapLPPool | https://etherscan.io/address/0x5b2D34C26B5eb7388F54a3E8D4bE3Ac24E7616f9#code |
sipherKyberSLPPool | https://etherscan.io/address/0xEB3CadDe330a4AA3D627F666aEcdD6F65208B19F#code |
view | https://etherscan.io/address/0xA8317c540bC1268F98E042a20fE19057E85d6277#code |
Sipher liquidity mining utilizes the following smart contracts
AbstractRewards.sol
is a generic contract for distributing pro-rata rewards amongst an arbitrary number of "shareholders", where the inheriting contract defines what a shareholder is and how many shares they have. This contract is a fork with minor modifications of the Indexed Finance contract.
BasePool.sol
is a generic ERC20 compatible contract which inherits from the ERC20Votes contract from OpenZeppelin and the AbstractRewards.sol
contract and adds external functions for distributing and claiming rewards. Additionally it hooks into the internal _transfer
, burn
, and mint
hooks to properly track rewards when account balances are changing.
TokenSaver.sol
is a contract which allows a whitelisted address to transfer out any token out of a contract inheriting from it in case of emergencies or misplaced tokens.
TimeLockPool.sol
Inherits from BasePool.sol
and TokenSaver.sol
. Adds external functions to deposit tokens and in return receive TimeLockPool
shares. The bonus for longer locking durations is configurable.
TimeLockNonTransferablePool.sol
inherits from TimeLockPool.sol
and removes transferability of the pool shares.
StakingManager.sol
manages the distribution to staking pools. It exposes external functions which allow pools to be added and removed. It also allows the distribution per second to be set and the share each pool will receive of those rewards.