🎛

Liquidity Mining Smart Contracts

Contracts that the Merit Circle DAO utilizes for the staking pools

Staking V2 contract addresses

Name
Address
mcPool
0x74aDae862AdCCCF7a7DBF2f7B139AB56e6b0E79D
mcLPPool
0xebE3CA21e37723E0bE0F519724798fe8EEfF83D1
ProxyAdmin
0x56234f99393c2af40a3fe901dceef0b03d61a219
Implementation
0x6411c8b68ce74e2907110e522c67d400fcd3cf4b
view
0x7e2abf55ef51ca1029d4c5814a35339a3415d8b7

Staking V1 contract addresses

liquidityMiningManager
0x21b56371c9D064Fe18cCa5798E164C25D73b9d36
escrowPool
0xfEEA44bc2161F2Fe11D55E557ae4Ec855e2D1168
mcPool
0x5c76aD4764A4607cD57644faA937A8cA16729e39
mcLPPool
0x44c01e5e4216f3162538914d9c7f5E6A0d87820e
view
0x36C62c5f86BEF7C13b34765fc444B002295462Ea
The Merit Circle liquidity mining utilizes the following smart contracts
AbstractRewards.sol is a generic contract for distributing pro-rata rewards amongst an arbitrary number of "tokenholders", where the inheriting contract defines what a tokenholder 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.
LiquidityMiningManager.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.
Liquidity Mining V2 is based on V1 smart contract structure with the addition of new functionalities: contract upgradeability, time and amount deposit increase and customizable staking multiplier curve.
Merit Circle multisig is the only wallet that has upgradeable capabilities, that is, ownership of the ProxyAdmin. The multisig it is also the only wallet that has both ADMIN_ROLE and GOV_ROLE, which is necessary to submit changes to the parameters of the pools.