This repository has been archived by the owner on Jan 11, 2024. It is now read-only.
Releases: consensus-shipyard/ipc-solidity-actors
Releases · consensus-shipyard/ipc-solidity-actors
v0.3.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.
What's Changed
- get chain-id automatically in deploy-ipc by @adlrocha in #184
- Add a test for issue183 by @dnkolegov in #185
- Add setValidatorNetAddr by @dnkolegov in #181
- Add pagination by @dnkolegov in #182
- Log event by @cryptoAtwill in #187
- Arrange top down messages by height by @cryptoAtwill in #190
- Fix sendCrossMessage and execute methods by @dnkolegov in #196
- Add install eth-abi to make test by @cryptoAtwill in #195
- Commit parent finality by @cryptoAtwill in #193
- Remove min params by @dnkolegov in #201
- Rust binding by @cryptoAtwill in #205
- Membership by @dnkolegov in #200
- Update rust binding with new contract by @cryptoAtwill in #206
- Method to list incomplete checkpoints by @dnkolegov in #207
- Use new bottom-up checkpoint type by @dnkolegov in #214
- Update rust binding by @cryptoAtwill in #211
- Staking by @cryptoAtwill in #208
- Add a coverage test by @dnkolegov in #215
- Getter for signatures by @dnkolegov in #218
- Remove libvoting by @dnkolegov in #216
- Multi-signature ECDSA by @dnkolegov in #192
- Clean up by @cryptoAtwill in #220
- IPC-221: Bootstrap subnets by @adlrocha in #223
- submitCheckpoint method by @dnkolegov in #219
- store validator changes by @cryptoAtwill in #225
- Fix conflicts in the bindings by @dnkolegov in #231
- Metadata with confirmation by @cryptoAtwill in #230
- IPC-221: include genesisValidators and bootstrapped event by @adlrocha in #228
- IPC-221: Bootstrap followup, clean outdated checkpoint, membership code by @adlrocha in #234
- Checkpoint execution by @dnkolegov in #229
- FM-303: apply finality changes by @adlrocha in #235
- Add fee-based rewards by @dnkolegov in #236
- Minor gas opimisations by @dnkolegov in #237
- Confirm membership and fix misprints by @dnkolegov in #238
- Chain reorg detection by @cryptoAtwill in #240
- Support bootstrap nodes by @dnkolegov in #239
- remove block hash by @cryptoAtwill in #241
- Remove name by @dnkolegov in #243
- fix: update uncommitted bindings by @adlrocha in #244
- Fix slither findings by @dnkolegov in #245
- Fix deployment by @cryptoAtwill in #246
- FM-306: getters for genesis of child subnet by @adlrocha in #247
- Update binding by @cryptoAtwill in #248
- add checking method by @cryptoAtwill in #249
- Integration testing by @aakoshh in #250
- Return previous finality by @cryptoAtwill in #252
- Add more comment by @cryptoAtwill in #253
- Integration testing fixes by @aakoshh in #254
- Add unstake method by @dnkolegov in #257
- Integration testing fixes by @aakoshh in #255
- FIX: Cannot unstake 0 by @aakoshh in #260
- Lib staking bindings by @cryptoAtwill in #261
- FIX: funds weren't being burnt in release by @adlrocha in #263
- Unit tests - Part 1 by @dnkolegov in #259
- Mikers/diamond upgrades by @snissn in #262
- Unit test - part 2 by @dnkolegov in #264
- FM-347: add pre-fund to subnet to include genesis balance by @adlrocha in #267
- Remove check by @cryptoAtwill in #266
- Fix stack too deep by @cryptoAtwill in #270
- IPC-361: Pre-release and minor fixes by @adlrocha in #271
- Check in ABI artifacts by @aakoshh in #276
- Check foundry is installed by @aakoshh in #277
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0: Diamond contracts
This release includes several bug fixes and new features. It also includes a new implementation of the IPC contracts using a diamond architecture to overcome potential size limits in contracts, and to increase their modularity.
What's Changed
- fix bug in compile-abi and deploy-gateway by @adlrocha in #148
- Query the latest applied top down nonce by @cryptoAtwill in #144
- add development branch by @adlrocha in #162
- Subnet actor and Gateway Diamonds by @dnkolegov in #138
- Security by @dnkolegov in #167
- Remove signableActor modifier by @dnkolegov in #165
- Add docs to README.md by @dnkolegov in #168
- Improve loops by @dnkolegov in #164
- Update ops script by @dnkolegov in #170
- Add messenger facet by @dnkolegov in #171
- Add licenses by @dnkolegov in #175
- Add tests by @dnkolegov in #176
- New tests by @dnkolegov in #177
- fix: deploy registry by @adlrocha in #180
- Update solhint and fix false positives by @dnkolegov in #179
Full Changelog: v0.1.0...v0.2.0
v0.1.0
This PR is the first alpha implementation of the contracts required to run IPC in a EVM-based network. The features of this release is consistent with v0.3.0 of the IPC native actors.
What's Changed
- fix: Update storage types to resemble Rust implementation by @2dpetkov in #16
- Feature/subnet lifecycle by @mikirov in #17
- Implement fund/release methods by @arrusev in #22
- Implement crossMsg method by @arrusev in #30
- Implement applyMsg method by @arrusev in #31
- Implement propagate methods by @arrusev in #32
- Checkpoint refactoring by @mikirov in #35
- Add Errors by @arrusev in #38
- deployment-and-coverage by @mikirov in #47
- Add subnet registry by @cryptoAtwill in #67
- chore: remove unused consensusTypes by @adlrocha in #76
- Feature/audit fixes by @mikirov in #73
- new subnetID impl by @adlrocha in #77
- Fix gateway deployment script by @cryptoAtwill in #80
- Gateway bytecode size limit by @arrusev in #83
- List all validators by @cryptoAtwill in #84
- Update gateway contract by @cryptoAtwill in #85
- add deployment scripts and Makefile by @adlrocha in #86
- Changes for IPC Agent by @cryptoAtwill in #87
- Prev checkpoint by @cryptoAtwill in #92
- Fix reentrancy vulnerabilities by @dnkolegov in #115
- Change intro by @dnkolegov in #118
- Minor gas optimisations by @dnkolegov in #112
- Use logical if statements by @dnkolegov in #113
- Make gateway address immutable by @dnkolegov in #110
- Enable basic linting by @dnkolegov in #116
- Run tests on Github Actions by @dnkolegov in #119
- Fix reentrancy by @dnkolegov in #114
- Check gateway address by @dnkolegov in #109
- Optimise loop by @dnkolegov in #123
- Add codespell by @dnkolegov in #122
- Remove unused constants and fix Makefile by @adlrocha in #121
- Fix bottom-up nonce and new test by @adlrocha in #124
- Use the same Solidity version by @dnkolegov in #111
- Update contract dependencies by @dnkolegov in #117
- Add badges by @dnkolegov in #126
- add makefile rule to compile actors abi by @adlrocha in #128
- Update sendCross method by @dnkolegov in #125
- Reduce contract sizes by @dnkolegov in #129
- Query validator set by @cryptoAtwill in #97
- Get top down messages by nonce by @cryptoAtwill in #131
- Valid epoch by @arrusev in #82
- Change IPCAddress to use FvmAddress by @cryptoAtwill in #133
- Remove postbox owners by @cryptoAtwill in #136
- fix deployment in calibration and config chainID by @adlrocha in #137
- add list subnets and fix deploy by @adlrocha in #140
- fix status to work with agent by @adlrocha in #141
New Contributors
- @arrusev made their first contribution in #22
- @dnkolegov made their first contribution in #115
Full Changelog: https://github.com/consensus-shipyard/ipc-solidity-actors/commits/v0.1.0