Stake More

The more the merrier

Users can always stake more (inputs: amount > 0) or extend lock time (inputs: amount = 0, lock time > 0) to enjoy more benefits (more Staking Power, more future earning).

Notes:

  • MULTIPLIER(lockTime) = Multiplier_A*lockTime + Multiplier_B

  • Multiplier_A = 0.13; Multiplier_B = 0.88 (Admin can Edit)

  • Remaining lock_time (Rest_duration) must be always <= 24 months

  • SSA = self_stake_advantage = 2 if self-staking; else = 1.

  • Self_stake_advantage = 2 (Admin can Edit)


For example, A has staked 10 ETH in B's pool with lock time = 5 months -> Staking Power for 10 ETH locked in 5 months is minted.

CASE 1: Before lock time ends (remaining lock time = rest_duration > 0)

Case 1.1: A further stakes 1 ETH, locked for 3 months

  • We expect lock time to ends at old_startedAt + 5 months + 3 months

  • By that time, A has

    • locked 10 ETH for 5 months (Staking Power already minted)

    • locked 10 ETH for another 3 months (Staking Power not minted yet)

    • locked 1 ETH for rest_duration (remaining lock time of 5 months) + 3 months (Staking Power not minted yet)

Amount of Staking Power to be minted for A = mint_staking_power

= SSA* (10*(multiplier(5+3) - multiplier(5)) + (1*multiplier(3 + rest_duration)).

= SSA*(old_amount*(multiplier(old_duration+stake_duration) - multiplier(old_duratrion)) + (stake_amount*multiplier(stake_duration + rest_duration)).

= SSA*( old_amount * multiplier_A * stake_duration + stake_amount * multiplier(stake_duration + rest_duration) ).

Case 1.2: A further stakes 1 ETH (stake_amount = 1, stake_duration = 0)

  • We expect lock time to ends at old_startedAt + 5 months (unchanged)

  • By that time, A has

    • locked 10 ETH for 5 months (Staking Power already minted)

    • locked 1 ETH for rest_duration (Staking Power not minted yet)

Amount of Staking Power to be minted for A = mint_staking_power

= SSA * 1 * multiplier(rest_duration).

Case 1.2: A extends lock time for 2 months (stake_amount = 0, stake_duration = 2)

  • We expect lock time to ends at old_startedAt + 5 months + 2 months

  • By that time, A has

    • locked 10 ETH for 5 months (Staking Power already minted)

    • locked 10 ETH for another 2 months (Staking Power not minted yet)

Amount of Staking Power to be minted for A = mint_staking_power

= SSA* 10 * (multiplier(5+2) - multiplier(5))

= SSA* (old_amount*(multiplier(old_durartion+stake_duration) - multiplier(old_duratrion))

= SSA* old_amount*(multiplier_A * stake_duration)


CASE 2: After lock time ends (unlocked; rest_duration = 0)

Case 2.1: A further stakes 1 ETH for 3 months

  • We expect lock time to ends at now + 3 months

  • By that time, A has

    • locked 10 ETH for 5 months (Staking Power already minted)

    • locked 10 ETH for another 3 months (Staking Power not minted yet)

    • locked 1 ETH for 3 months (Staking Power not minted yet)

Amount of Staking Power to be minted for A (same as CASE 1 but with rest_duration = 0)

= mint_staking_power

= SSA*( old_amount * multiplier_A * stake_duration + stake_amount * multiplier(stake_duration + rest_duration) ).

= SSA*(10*(multiplier(5+3) - multiplier(5)) + (1*multiplier(3 + rest_duration)).

= SSA*(10*(multiplier(5+3) - multiplier(5)) + (1*multiplier(3)).

Case 2.2: A further stakes 1 ETH (stake_amount = 1, stake_duration = 0)

-> A is not allowed to do this in this case as mint_staking_power would be 0.

Case 2.3: A extends lock time by 2 months (stake_amount = 0, stake_duration = 2)

  • We expect lock time to ends at now + 2 months

  • By that time, A has

    • locked 10 ETH for 5 months (Staking Power already minted)

    • locked 10 ETH for another 2 months (Staking Power not minted yet)

Amount of Staking Power to be minted for A (same as CASE 1 but with rest_duration = 0)

= mint_staking_power

= SSA* 10 * (multiplier(5+2) - multiplier(5))

= SSA* (old_amount*(multiplier(old_durartion+stake_duration) - multiplier(old_duratrion))

= SSA* old_amount*(multiplier_A * stake_duration)


In order for A to reset his stake in B's pool, A needs to Unstake All before staking anew.

Last updated