Sipher Tokenomic

Token Distribution

Token Vesting


Last Revision: December 3, 2021 Article Status: Internal Work in Progress Note: This page may get updated if there are changes to previous information.

Liquidity Mining

Contract addresses

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 Staking Instructions

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.