Skip to content
This repository has been archived by the owner on Jan 11, 2024. It is now read-only.

v0.3.0: M2.5 Fendermint support

Latest
Compare
Choose a tag to compare
@adlrocha adlrocha released this 07 Nov 16:25
· 114 commits to dev since this release
9c85f9d

This release includes a complete refactor of the contracts codebase to support the integration of new Fendermint-based subnets.

Improvements in M2.5.

  • Replaced top-down checkpoints by proofs-of-finality embedded as part of the consensus. Before M2.5, validators had to send an explicit transaction to the child chain periodically to agree on the finality they saw in the parent to trigger the execution of top-down message and update the membership. Now in every child subnet block a proof-of-finality can be voted to determine what is the current view of the parent and propagate changes to the child chain.
  • Replaced explicit voting of bottom-up checkpointsin the parent (requiring one voting transaction by a majority of validators), to reaching consensus for bottom-up checkpoints in the child subnet's consensus, allowing the relay of the bottom-up checkpoint to the parent by sending a single transaction with the checkpoint and a multisig.
  • Piggy-back on top-down proof-of-finality and bottom-up checkpoints for the execution of cross-net messages (giving us flexibility on the way these messages are executed, how they are rewarded, and who pays for the gas).
  • The ability to provide genesis funds to addresses before a subnet has bootstrapped.
  • Improvements to collateral management. Adding logic to bootstrap subnets according to specific requirements, adding a delay when subnets join and leave, trigger the reconfiguration through top-down proof-of-finality, and synced membership and checkpoint signatures solving issues where the current membership of the subnet didn't match the one where the checkpoints were signed.

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.3.0