Tetu.io contracts update 1.3.0
These changes were made since version 1.2.0 and deployed during October-November 2021
Big work was made for adoption contracts and tests for multi-chain.
The Github workflow now is running on Fantom by default.
It reduced run tests time from 90min to 17 minutes.
Unfortunately, we should disable coverage reporting for infrastructure and strategies.
Tests still run but on Codcove you will see only base contracts.
For full coverage report need to edit
run npm run coverage
- Adjusted revert messages
- Allow call registerFundKeeperEarned() for strategies
- registerPpfsChange() deprecated, this metric useless
- Add pure reward consumers - they excluded from reward vesting mechanic. It needs for TetuSwap pairs and partnerships
Build from scratch a new forwarder contract with new liquidation logic.
Now we are doing fewer steps for distribution and able to liquidate fewer rewards without uniswap errors
Routes managing now clear and simple
Old contract removed
- Add toInvest, rebalance and disableLocks settings
Create a new base contract with universal logic for any folding implementation.
Now we are able to build new folding strategies fast and use universal tests to keep safety on the highest possible level
Iron strategy was refactored accordingly but was not deployed (and I guess will not)
- Add the possibility to pause a strategy without withdrawing funds.
- Add additional check on withdrawing process - now we will not able to withdraw to vault less than 90% of the expected amount
- Add silent liquidation process for Autocompound strategies - we have very little rewards for distributing and are not able to liquidate it in the most cases
- Add universal autocompound functions for single tokens and uniswap-like LP tokens
- TetuSwap (for internal purposes)
- Revert messages removed/adjusted for keep contract size in 24kb
- updateReward modifier/function was optimized
- Add toInvest settings - we should keep some amount in vaults for cheaper swaps
- Add disableLock() for disabling not initiated lock mechanic
- Call invest() in doHardWork()
- Allow moving locked tokens from controller
- Revert messages adjusting
- Add moveLiquidity() function for migration process
- Improve adding liquidity
- Add Curve tokens price calculation
- Make contract proxy
- Create function for storing info off-chain
- Some fixes
- As a result of many changes make a decision to calculate profitability based on earned TETU as the clearest and simple process.
The first version of contracts
- TetuSwap pair
- TetuSwap factory
- TetuSwap router
- TetuSwap library
- Some internal contracts