v2.8.0 - Fort Canning Crunch
github-actions
released this
27 May 10:39
·
1183 commits
to master
since this release
Mandatory Upgrade
This is a mandatory update for the upcoming Fort Canning Crunch chain upgrade. It contains a key new features that upgrades the protocol.
Fort Canning Crunch upgrade is set for block 1936000 (approx. ETA June 2, 2022) on mainnet.
Update of mainnet node to v2.8.0
before the chain upgrade block is REQUIRED.
Upgrade Notes
- For nodes that are running
>= v2.6.1 and <= v2.6.2
, this is a drop in upgrade. No reindex or fresh sync needed. - For nodes that are being restored from recent snapshot, as with all updates before:
-rescan
for the wallet txs and additionally-spv_resync
for users who hold BTC. If either isn't used, they may not be shown in the wallet until rescanned/resynced. - For other nodes, one of the following is required: a fresh sync, the most recent backup from 2.6.x or latest snapshot.
- Note: For nodes on 2.7.0, please see the release notes of 2.7.1 for details on the statistics being reset. If you have updated as a drop-in replacement and depend on the statistics, please ensure to resync the chain from the given blocks.
What’s Changed
Key Focus
- Full support for token splits. The major highlight of this upgrade is to introduce token splits, auto rebalancing of the pool, vaults, auctions and user accounts. This is fully automatic and no user action is needed.
- On token split-block:
- Tokens in wallet: Will auto split
- Tokens in vaults: Will auto split
- Tokens in auctions and bids: Will auto split
- Tokens in future swap: Will be refunded back to the wallets and auto split. DUSD will just be refunded
- Tokens in pool pairs: Will auto migrate to new pool and be issued newer tokens.
- Note: These number of LP tokens issued will be based on the newer pool ratio, but will retain the same values.
- On token split-block:
Notables
- Internal token system has been partially moved to attributes, as the first part of a multi-release journey.
- The token split block will be an computation heavy block and could take anywhere between a few seconds to minutes based on the hardware of the system. Currently, it's yet to be optimised for speed, but scales out linearly based on the number of cores. Further optimisations are expected over time to improve this.
API Changes
listgovs
: Now takes one of the additional parameters:all/live/attrs/govs/<attribute-prefix>
to filter easily.- [Deprecated]
setloantoken
- Usage will be superseded by attributes system. - [Deprecated]
setcollateraltoken
- Usage will be superseded by attributes system. listcollateraltokens
:- [Deprecated field]
activateAfterBlock
- Usage has been superseded by attributes system.
- [Deprecated field]
🚀 Features
- Refactor mocknet and add more params @prasannavl (#1292)
- Add legacy filtering mode @prasannavl (#1271)
- Add mocknet helpers @prasannavl (#1273)
- Restore updateloantoken @Bushstar (#1272)
- Update token related calls for Fort Canning Crunch @Bushstar (#1265)
- Add filtering mechanism for listgovs @prasannavl (#1262)
- Add interrupt-block, stop-block, refactor stats, explicit validity checks @prasannavl (#1261)
- Token splits, token lock and move loan and collateral token to Gov vars @Bushstar (#1243)
🐛 Bug Fixes
- Finishing touches @prasannavl (#1300)
- Fix conventions and usd tests @prasannavl (#1297)
- Check collateral for migrating token @Bushstar (#1299)
- Tests for token splits @hidiego (#1284)
- Add concurrency for reward calculation to scale out @prasannavl (#1291)
- Scale auction bid and batches for split @Bushstar (#1296)
- Allow only one token split per block and reject token split on same block as setgov @Mixa84 (#1295)
- Fix for future swap owner rewards calc @prasannavl (#1293)
- Refund future swaps on split @Bushstar (#1290)
- Make setcollateraltoken and set/updateloantoken work old way before token migration to gov var @Mixa84 (#1289)
- Fix removal of last liquidity on empty used pool @Bushstar (#1287)
- Better logging for token splits @prasannavl (#1285)
- Fix mocknet activation params @prasannavl (#1286)
- Fix rtrim leaving dot behind @prasannavl (#1282)
- Restore token ID to list coll tokens @Bushstar (#1281)
- Minimally intrusive conservative cache tuning @prasannavl (#1269)
- Fix loan token flag for old token on split @Mixa84 (#1277)
- Correct no loan scheme typo @Bushstar (#1276)
- Search all pools for previous version suffix @Bushstar (#1270)
- Fix pool name bugs @Bushstar (#1266)
- Rename fortcanningspicegarden to fortcanningcrunch @Mixa84 (#1267)
- Use previous height when setting interest @Bushstar (#1263)
🧰 Maintenance
- Add logging for token splits @wafflespeanut (#1279)
- Remove comma from splits @Bushstar (#1274)
- Restore validation to setloantoken @Bushstar (#1268)
- 2.8.0 @Mixa84 (#1264)
- Backport RPCStats to master @Jouzo (#1260)
How to run?
Download and untar the relevant version to your operating system, run bin/defid
or bin/defid.exe
to start a DeFi Blockchain daemon. The client (CLI) can be found at bin/defi-cli
or bin/defi-cli.exe
.
DeFi App (GUI) users
If you are running the desktop DeFi App, you do not have to manually update the underlying node as the app will handle it. Check https://github.com/DeFiCh/app/releases for the latest releases.