Hi
I am looking for a solidity dev
You should develop a smart contract in Solidity 0.8.9 to be deployed on the Binance Smart Chain
You are free to reuse other vetted open-source projects in this smart contract, as long as the documentation and testing are provided.
This smart contract should have similar behavior as Pancakeswap's Auto CAKE Syrup Pool (
https://docs.pancakeswap.finance/products/syrup-pool/auto-compounding), where users stake their tokens automatically in order to gain more tokens as a staking reward.
Instead of staking CAKE, in this smart contract, Mouse Haunt users should be able to stake MHT (BEP-20 token
https://bscscan.com/token/0x5Cb2C3Ed882E37DA610f9eF5b0FA25514d7bc85B).
- Users should deposit MHT and forget about it (1). The MHT they stake in this smart contract will be automatically compounded (reinvested) for them, minus a small fee (3).
- The “automatic” compounding function is either triggered by our backend once every 1 hour or whenever a user withdraws their MHT
- Interest is displayed as APY, which includes compounding.
- A small performance fee (3) is subtracted from users' earnings each time the pool is automatically compounded.
- Withdraw: Users can withdraw 50% of their MHT (staked amount and rewards) after 7 days and 50% after 14 days (2). While the users wait for their MHT to be withdrawn, they still stake the part of the MHT that is in the pool (50% for 7 days and 50% for the other 7 days)
- If the user has a pending withdrawal and they stake more tokens, the withdrawal will be canceled
- The MHT available as a staking reward is defined on our Tokenomics (11,750,000 distributed in 48 months, i.e., 244791.666... per month)
Fees
(1) Deposit fee
- 0.1% of MHT to be staked
(2) Unstaking
- 50% after 7 days and 50% after 14 days
(3) Performance fee
- 2%, subtracted automatically from each yield harvest.
For example, if the harvest was 1 MHT, then 0.02 MHT would be subtracted as the performance fee.
- The performance fee should be transferred to the contract owner's wallet
- These variables should be able to be updated by the contract's owner.