Releases: consensus-shipyard/ipc-libs
v0.6.0: M2.5 Fendermint support
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 theipc-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
- Update sdk for fendermint by @cryptoAtwill in consensus-shipyard/ipc#295
- Update sdk by @cryptoAtwill in consensus-shipyard/ipc#298
- IPC-299: migrate sdk from ipc-actors to repo by @adlrocha in consensus-shipyard/ipc#301
- IPC-299: implement get-chain-id by @adlrocha in consensus-shipyard/ipc#313
- IPC-299: Cli checkpoint commands implementation by @adlrocha in consensus-shipyard/ipc#312
- IPC-299: Implement cli cross-msg methods by @adlrocha in consensus-shipyard/ipc#311
- IPC-299: Implementation of subnet cli commands by @adlrocha in consensus-shipyard/ipc#310
- IPC-299: Implementation of provider methods by @adlrocha in consensus-shipyard/ipc#309
- IPC-299: Implement wallet CLI commands and provider identity by @adlrocha in consensus-shipyard/ipc#307
- IPC-299: Set default key in EVM keystore and improvements by @adlrocha in consensus-shipyard/ipc#306
- IPC-299: IpcProvider implementation by @adlrocha in consensus-shipyard/ipc#305
- IPC-299: Groundwork for the refactor by @adlrocha in consensus-shipyard/ipc#300
- IPC-314: Remove unnecessary code for daemon, and fvm-related by @adlrocha in consensus-shipyard/ipc#318
- Minor clean up by @cryptoAtwill in consensus-shipyard/ipc#324
- migrate abi by @cryptoAtwill in consensus-shipyard/ipc#325
- Remove references to spacenet from docs by @jsoares in consensus-shipyard/ipc#322
- Fix typo by @juliangruber in consensus-shipyard/ipc#326
- add query validators by @cryptoAtwill in consensus-shipyard/ipc#327
- Patch cargo by @cryptoAtwill in consensus-shipyard/ipc#328
- chore: remove ReloadConfig and add new config from subnet by @adlrocha in consensus-shipyard/ipc#329
- Support top down query by @cryptoAtwill in consensus-shipyard/ipc#331
- Validator metadata change by @cryptoAtwill in consensus-shipyard/ipc#332
- Fix: update contract bindings by @adlrocha in consensus-shipyard/ipc#334
- Detect chain reorg by @cryptoAtwill in consensus-shipyard/ipc#335
- SOL-242: remove network_name and accounts from config by @adlrocha in consensus-shipyard/ipc#336
- Bottom up checkpoint daemon by @cryptoAtwill in consensus-shipyard/ipc#338
- FM-306: add method in provider to get genesis info by @adlrocha in consensus-shipyard/ipc#337
- fix validator set error by @cryptoAtwill in consensus-shipyard/ipc#340
- Query event instead of stream by @cryptoAtwill in consensus-shipyard/ipc#341
- Update README as a starting point for the doc update by @adlrocha in consensus-shipyard/ipc#342
- FM: accept 0x address in --from, add bootstrap, subnet deploy and doc updates by @adlrocha in consensus-shipyard/ipc#344
- IPC-345: add unstake command by @adlrocha in consensus-shipyard/ipc#346
- More CLI commands by @cryptoAtwill in consensus-shipyard/ipc#347
- FM: fendermint install-infra script, docs update, minor fixes by @adlrocha in consensus-shipyard/ipc#343
- DOCS: add usage docs for all of the commands of the cli by @adlrocha in consensus-shipyard/ipc#349
- FIX: release, default IPC addresses in child subnet, minor fixes by @adlrocha in consensus-shipyard/ipc#352
- IPC-354: update infra scripts to use FM-329 by @adlrocha in consensus-shipyard/ipc#356
- make private keys readable for owners only by @dnkolegov in consensus-shipyard/ipc#362
- IPC-357: remove the use of unstable flag in make build by @adlrocha in consensus-shipyard/ipc#359
- Query event by @cryptoAtwill in consensus-shipyard/ipc#350
- IPC-347: add pre-fund command and genesis balances in GenesisInfo call by @adlrocha in consensus-shipyard/ipc#361
- Fix minor bugs found during manual testing by @dnkolegov in consensus-shipyard/ipc#360
- fix make build in the Makefile by @lazavikmaria in consensus-shipyard/ipc#368
- IPC-363: adds docs for pre-fund/pre-release by @adlrocha in consensus-shipyard/ipc#367
- DOCS: deprecate outdated docs by @adlrocha in consensus-shipyard/ipc#370
- FIX: accept 0x address as submitter in relayer by @adlrocha in consensus-shipyard/ipc#371
- Calibration quickstart fixes by @maciejwitowski in consensus-shipyard/ipc#372
- Fix misprints in quickstart-calibration.md by @dnkolegov in consensus-shipyard/ipc#376
- add validator info by @cryptoAtwill in consensus-shipyard/ipc#369
- IPC-373: Fix balances returned with bogus rpc by @adlrocha in consensus-shipyard/ipc#379
- IPC-366: fix token units in list subnets by @adlrocha in consensus-shipyard/ipc#380
- IPC-364: relayer docs and parent finality command by @adlrocha in consensus-shipyard/ipc#378
- FIX: remove docker-build related code from install_infra by @adlrocha in consensus-shipyard/ipc#383
- UPDATE: M2.5 contract addresses by @adlrocha in consensus-shipyard/ipc#384
New Contributors
- @juliangruber made their first contribution in consensus-shipyard/ipc#326
- @lazavikmaria made their first contribution in consensus-shipyard/ipc#368
- @maciejwitowski made their first contribution in consensus-shipyard/ipc#372
Full Changelog: consensus-shipyard/ipc@v0.5.1...v0.6.0
v0.5.1
This release includes several bug fixes and improvements in the gas estimation logic for Filecoin-based networks.
What's Changed
- IPC-287: Fix high premium in eth_call by @adlrocha in #287
- Migrate to ipc-sdk by @cryptoAtwill in #289
- Fix checkpoint look ahead by @cryptoAtwill in #283
- Add gh action to upload binaries on release by @jsoares in #294
- Support setValidatorNetAddr, setValidatorWorkerAddr, listValidators by @dnkolegov in #288
Full Changelog: v0.5.0...v0.5.1
v0.5.0: Diamond IPC contracts
This PR includes several bug fixes and implements the integration of the agent with the new diamond architecture of the IPC Solidity contracts introduced in v.0.2.0. This release of the agent includes breaking changes, and it won't be compatible with versions of the IPC Solidity contracts < v0.2.0
.
What's Changed
- add support for wallet remove and fevm balance list by @adlrocha in #259
- Support for EIP1559 txs in send_value by @adlrocha in #261
- remove confidence wait for StateWait in Lotus by @adlrocha in #262
- Refactor top down by @cryptoAtwill in #258
- Refactor bottom up by @cryptoAtwill in #256
- Update solidity quickstart docs by @jsoares in #257
- fix retries to support calibration by @adlrocha in #268
- Add action to check and fix PR targets by @jsoares in #269
- Implement list subnet by @cryptoAtwill in #267
- Integrate diamond by @cryptoAtwill in #266
- Fix quickstart wallet configuration by @jsoares in #270
- Add quickstart step for peering by @jsoares in #273
- Adjust scripts/docs for lotus main as default by @jsoares in #275
- Add issue template by @jsoares in #274
- Add auto complete by @cryptoAtwill in #201
- Integrate messager facet by @cryptoAtwill in #279
- Replace default config with calibration by @jsoares in #278
- Docs: Move to calibration as default by @jsoares in #280
Full Changelog: v0.4.0...v0.5.0
v0.4.0: IPC Solidity contracts support
This version introduces support for the use of IPC Solidity contracts. It allows the interaction with IPC deployments in EVM-based networks (like Filecoin network and Calibration testnet).
This version of the agent is compatible with the v0.4.0
of Spacenet deployed 2023-07-11
.
What's Changed
- Clean up docs by @jsoares in #207
- Integration testing infra by @cryptoAtwill in #206
- CHORE: Remove the IPLD Resolver by @aakoshh in #216
- fix floating point overflown by @cryptoAtwill in #219
- refactor subnet ID and chain ID infered from subnet ID by @adlrocha in #217
- Clean up dev branch by @jsoares in #222
- Add branches and security to readme by @jsoares in #229
- Feature branch: Integrate IPC Solidity contracts by @cryptoAtwill in #221
Full Changelog: v0.3.0...v0.4.0
v0.3.0: Agent wallet management
This version includes several improvements and bux fixes in the agent's operation. Mainly:
- The IPC agent can now handle wallet keys and sign transactions directed to the different subnets.
- A new integration test crate.
- Instructions to deploy FEVM contracts in subnet.
This version of the agent is compatible with the v0.3.0
of Spacenet deployed 2023-05-22
.
What's Changed
- IPC-91: Test env (Part 1) by @aakoshh in #157
- IPC-91: Test environment (Part 2) by @aakoshh in #161
- Return chain epoch for fund and release by @cryptoAtwill in #191
- Replace u64 with f64 for FIL amount by @cryptoAtwill in #190
- Fix script for mac by @dnkolegov in #193
- ID-1: Migrate and adapt
forest
key management crates by @adlrocha in #187 - basic support for evm smart contracts in agent by @adlrocha in #200
- Refactor checkpoint submission by @cryptoAtwill in #175
- Cli wallet import by @cryptoAtwill in #202
- Fix checkpoint config load by @cryptoAtwill in #205
- fix export and docs by @adlrocha in #204
Full Changelog: v0.2.0...v0.3.0
v0.2.0: Top-down checkpoints and cross-messages
This version includes support for the submission of top-down checkpoints, and the use of fund
and release
cross-net messages.
This release is compatible and has been tested against Eudico v0.2.0 and IPC actors v0.2.0 . IPC is still being actively developed so expect breaking changes between minor versions. Each release of the agent will clearly tag the versions of Eudico and IPC actors it is compatible with until they start being stabilized and (hopefully) backward-compatible.
What's Changed
- Integration tests by @cryptoAtwill in #143
- Instructions to run a multi-node subnet by @adlrocha in #146
- Refactor cli by @cryptoAtwill in #148
- use tag versioning for ipc-actors by @adlrocha in #149
- Update guide and docs by @jsoares in #158
- Feature: Cross-net message support by @adlrocha in #155
- Wallet list by @cryptoAtwill in #168
- docs for cross-net messages by @adlrocha in #167
- RF: Separate e2e testing crate by @aakoshh in #153
- Improve formatting of commands and examples by @jsoares in #169
- Work around serialization error while fetching votes for a checkpoint by @adlrocha in #170
New Contributors
Full Changelog: v0.1.0...v0.2.0
v0.1.0: M1 release
This is the first release of the IPC agent. It includes all the functionality to manage the lifecycle of subnets and orchestrate the commitment of checkpoints from child subnets. Currently, this version only supports the use of Eudico-based subnets.
This release is compatible and has been tested against Eudico v0.1.0 and IPC actors v0.1.0 . IPC is still being actively developed so expect breaking changes between minor versions. Each release of the agent will clearly tag the versions of Eudico and IPC actors it is compatible with until they start being stabilized and (hopefully) backward-compatible.