SELF Made Pool
Migrate to new SELF Syrup Pool
The new SelfPool is a new $SELF staking contract built based on the SelfVault (the current auto SELF pool) and designed to work with SMBSwap MasterChef v2 to provide "stake $SELF, earn $SELF" functionality while offering more features such as fixed-term staking. The current Manual SELF pool will be retired after the migration.
The new SelfPool will use a dummy token to harvest $SELF from MasterChef v2 and reward them to users who are staking $SELF. Users who lock their $SELF for longer will receive a more significant number of shares (boosted linearly based on duration), therefore, enjoy a higher yield.
Do I need to migrate?
If you are currently using enterStaking
and leaveStaking
on the SMBSwap MasterChef (0x3d03d12F95Bdc4509804f9Bcee4139b7789DC516), you will need to migrate to the new contract.
No more compounding
With the new SelfPool, rewards are distributed proportionally to all pool users based on shares. Similar to βinterest-bearing tokensβ or other share-based models, usersβ staking balance will grow when more rewards are being put into the pool. Users donβt need to harvest and compound their rewards.
Fees
In the new SelfPool, all flexible staking users will be subjected to two sets of fees.
Fee on flexible staking rewards
A 2% fee will apply to all the rewards generated by flexible staking. The amount of the fee will be calculated and realized upon the next deposit or withdrawal action, cut from usersβ shares. To query the number of the unrealized performance fee, use calculatePerformanceFee(address _user)
.
Withdrawal fee
A 0.1% withdrawal fee will apply to the unstaking amount if you withdraw within 72 hours of the last deposit action. The withdrawal fee is cut from the final withdrawal amount before the SELF transfer.
Overview
Deposit
If you are currently using the enterStaking(uint256 _amount)
on the current SMBSwap MasterChef, you need to migrate to deposit(uint256 _amount, uint256 _lockDuration)
. For flexible staking, simply use β0β as _lockDuration
.
Staking Balance and Fees
Performance Fee
Query from contract:
Calculate it manually:
Overdue Fee: (only applies to locked staking)
Query from contract:
Calculate it manually:
Withdraw Fee
SELF staking amount (after subtracting all the fees)
Pending Rewards
Please note that the new pool does not require any compounding. Rewards are being put into your staking balance automatically.
However, you can query the number of SELF earned since the last action, using the difference between the current staking balance (mentioned above), and the number from userInfo.SELFAtLastUserAction
.
Withdraw
If you are using the leaveStaking(uint256 _amount)
method on the current SMBSwap MasterChef. You need to migrate to withdraw(uint256 _shares)
.
When doing flexible staking. Please note that upon withdrawing, the pending reward fees will be calculated and cut from the number of usersβ shares, the actual number of shares being withdrawn will be re-calibrated, based on the percentage of the shares you are withdrawing against the total shares you have. See the example below:
Please note that the final receiving amount will be affected by withdraw fee. If your function relies crucially on the final number of SELF being withdrawn, we recommend calculating that using the difference in SELF balance before and after the withdrawal action:
Or, calculate and subtract the withdraw fee when estimating the amount.
How to calculate the SELF per block distributed to the new SELF pool?
Previously, the manual SELF pool had a fixed 10 SELF/ block emission. After migrating to MasterChef v2 and the new SELF pool, we can now adjust its emissions.
And here's how you can calculate the SELF per block distributed to the new SELF pool:
selfPerBlockToPool = MasterChef.selfPerBlock(false) * (selfPool.allocPoint / MasterChef.totalSpecialAllocPoint)
You can query the selfPool.allocPoint
using MasterChef.poolInfo(0)
Mainnet Contract Address
Contract name: SelfPool Contract address: 0x54EFf9d9539206514fbc2E5b00fBE4168faD4Aa0
View the SMBSwapSwap: SELF Pool Contract on BscScan.
Last updated