Protocol Data

The current section describes what data is stored in the smart contract and how to obtain it.

Distribution V5

isNotUpgradeable

Returns true if the contract no longer supports upgrades to a new version.

bool public isNotUpgradeable;

depositToken

The stETH token address, see the LIDO doc.

address public depositToken;

l1Sender

The L1Sender contract address.

address public l1Sender;

pools

Contain information about MOR reward pools for buckets, where pools[0] - Capital bucket.

Pool[] public pools;
 
struct Pool {
  uint128 payoutStart;
  uint128 decreaseInterval;
  uint128 withdrawLockPeriod;
  uint128 claimLockPeriod;
  uint128 withdrawLockPeriodAfterStake;
  uint256 initialReward;
  uint256 rewardDecrease;
  uint256 minimalStake;
  bool isPublic;
}
Name
Description

payoutStart

The unix epoch timestamp in seconds when the pool starts to pay out rewards.

decreaseInterval

The interval in seconds between reward decreases.

withdrawLockPeriod

The period in seconds when the user can't withdraw his stake.

claimLockPeriod

The period in seconds when the user can't claim his rewards after the payoutStart

withdrawLockPeriodAfterStake

The period in seconds when the user can't withdraw his stake after staking.

initialReward

The initial MOR reward for the bucket.

rewardDecrease

The MOR reward decrease per decreaseInterval.

minimalStake

The minimal stake amount

isPublic

true - for Capital bucket, false for others.

poolsData

Contain additional internal information about MOR reward pools for buckets, where poolsData[0] - Capital bucket.

mapping(uint256 => PoolData) public poolsData;
 
/**
     * The structure that stores the pool's rate data.
     * @param lastUpdate The timestamp when the pool was updated.
     * @param rate The current reward rate.
     * @param totalVirtualDeposited The total amount of tokens deposited in the pool with multiplier.
     */
struct PoolData {
  uint128 lastUpdate;
  uint256 rate;
  uint256 totalVirtualDeposited;
 }


    // User storage
    mapping(address => mapping(uint256 => UserData)) public usersData;

    // Total deposited storage
    uint256 public totalDepositedInPublicPools;

    // Pools limits, V4 update
    mapping(uint256 => PoolLimits) public poolsLimits;

    // Referall storage, V5 update
    mapping(uint256 => ReferrerTier[]) public referrerTiers;
    mapping(address => mapping(uint256 => ReferrerData)) public referrersData;

Last updated

Was this helpful?