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

v0.6.0: M2.5 Fendermint support

Latest
Compare
Choose a tag to compare
@adlrocha adlrocha released this 07 Nov 19:46
· 13 commits to main since this release
55c3957

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.
  • Remove the need of the IPC agent: By pushing the core logic of cross-net primitives to the peer implementation we improved the UX and managed to repurpose the agent into the IpcProvider library and the ipc-cli that users can use to interact with IPC subnets.
  • Integrate in Fendermint the IPLD Resolver that will allow us in the future to perform the resolution of content and state in other subnets by CID (an example of where it'll be used is the low-fat commitment of bottom-up checkpoints).

What's Changed

New Contributors

Full Changelog: consensus-shipyard/ipc@v0.5.1...v0.6.0