Skip to content

v2.1.0 - Fort Canning

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Nov 17:43
· 1438 commits to master since this release
a0359e9

Note: This version has been deprecated. A higher version has been released. Please use one of the higher versions to upgrade. The following information is purely historical.

Mandatory Upgrade

What’s Changed

This is a mandatory update for the upcoming Fort Canning chain upgrade. It contains a key fix that upgrades the protocol over the previous v2.0.0 that was originally intended node for the next network upgrade . v2.1.0 (this) now effectively replaces v2.0.0 and is the required node.

Fort Canning upgrade is set for block 1367000 (approx. ETA Monday, 15 Nov 2021) on mainnet.

Update of mainnet node to v2.1.0 before the chain upgrade block is REQUIRED.

Key Focus

v2.1.0

  • This fixes a bug due to which DUSD loans became unpayable on testnet. This was a result of a missing specialised short-circuit for DUSD, while converting interest and over bids to DFI to be burnt or added back to the vaults over the respective pools (#885).

  • Previous getgov API has now been restored. In v2.0.0, getgov encountered a breaking change. From gathered feedback, we recognised other projects relied heavily on this API and such this change has been reverted. listgov can be used to pull the new information with the activation heights that getgov added in v2.0.0, which led to the original change. While this unfortunately means, those who have already adopted to the newer API from v2.0.0 will have to revert these changes, we believe this restoration is the optimal choice for most projects to retain compatibility. (#871)

For Fort Canning

  • Native protocol support for decentralised loans. Includes all the foundational blocks for loans, auctions, bids and to bring stock tokens on to the ecosystem. This introduces a new set of protocols and RPCs to interact with the chain. For more information, please read the wiki here.
  • Composite swap. Automatically swaps across up-to 3 pool pairs. Example: Directly swap between dBTC to dETH in one atomic step (Tx) through the underlying DFI-BTC and DFI-ETH pools. (#676)
  • Improved on-chain mechanics for oracle pricing and fault tolerance with dedicated support for fixed time interval pricing.
  • updatemasternode RPC that currently enables updating a masternode's operator address. (#687)
  • setforcedrewardaddress RPC that enables providing a dedicated address for masternode rewards. (#642)

Other noteworthy improvements:

  • #704: getmasternodeblocks RPC now correctly returns blocks minted by all subnodes.
  • #686: spv_refundhtlcall RPC - Gets all HTLC contracts stored in wallet and creates refunds transactions for all that have expired.
  • #722: Anchoring cost has now been reduced to BTC dust (minimum possible).
  • #752: Tx fees, which were being burnt after Eunos upgrade will now be included in block rewards again from Fort Canning.

Breaking RPC Changes (from 1.8.4)

  • #815: listpoolpairs and getpoolpair RPCs now include additional field: rewardLoanPct.
  • #711: listaccounthistory RPC now only includes a record if the transaction is trusted (confirmation > 0).

Full Changelog: v1.8.4...v2.1.0

v2.1.0 Specific Info

🐛 Bug Fixes

🧰 Maintenance

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.

Testnet Info

The following are informational updates that apply only for development on testnet:

  • No new rollback necessary for v2.1.0 if you've already rolled back to the right hash with 2.0.0.
  • Testnet has been rolled back to the testnet specific Fort Canning block height (686200) along with the v2.0.0
  • Blockhash of testnet 686200: 527ae58ed2a644e907d03a176779b5945a2682c1ef90d7563037cdf65e6a2364

Testnet rollback tips:

$ defi-cli -testnet invalidateblock $(defi-cli -testnet getblockhash 686200)
$ defi-cli -testnet reconsiderblock 527ae58ed2a644e907d03a176779b5945a2682c1ef90d7563037cdf65e6a2364
$ defi-cli -testnet clearbanned