Releases: cosmos/solidity-ibc-eureka
Release list
Solidity Contracts v3.0.2
Description
This release contains improvements to the off-chain IBCRolesLib library.
What's Changed
- imp(solidity/IBCRolesLib): added missing role selectors by @gjermundgaraba in #1046
Full Changelog: solidity-v3.0.1...solidity-v3.0.2
Proof API v0.8.1
Description
This release adds a compatibility module for wasm ethereum light client v1.3.0 and includes a bug fix. For the full changelog, see the section below.
What's Changed
- ci: build proof-api multiarch image by @gjermundgaraba in #1042
- chore: fix clippy issues by @srdtrk in #1049
- chore(proof-api): add eth light client v1.3 compat by @srdtrk in #1050
- fix(utils): set a User-Agent on the Tendermint RPC client by @gjermundgaraba in #1052
Full Changelog: proof-api-v0.8.0...proof-api-v0.8.1
Solidity Contracts v3.0.1
Description
This release updates ICS27GMP contract to be pausable. This does not break API nor require a new initializer.
What's Changed
Full Changelog: solidity-v3.0.0...solidity-v3.0.1
SP1 Programs v2.0.0
Description
This release introduces refactors and updates to the dependencies used by the sp1 programs. We have updated sp1 from v5 line to v6.1.
What's Changed
- chore: dependency and linting updates by @srdtrk in #1028
- test(tendermint-light-client): add unit tests for
check_for_misbehaviourby @mariuszzak in #1021 - fix(solana/ics07): client state max drift unused in misbehavior by @vaporif in #1016
- chore: migrate sp1 from v5 to v6.1 by @mariuszzak in #952
- deps(solana): switch tendermint-rs from fork to upstream by @mariuszzak in #929
- fix(solana): ift action items by @vaporif in #927
- feat: implement Solana IBC by @cernicc in #868
- chore: simplify fixtures generation logic for tendermint light client tests by @mariuszzak in #754
- fix(test): use trusted consensus state timestamp for test timing validation by @mariuszzak in #714
- test: add fixture tests for
tendermint-light-clientpackages by @mariuszzak in #654 - feat: chain agnostic tendermint light client functions by @vaporif in #589
- chore: updated workspace dependencies by @srdtrk in #582
- refactor: extract the logic shared across sp1 and solana programs by @mariuszzak in #576
New Contributors
- @MozirDmitriy made their first contribution in #586
- @VolodymyrBg made their first contribution in #620
- @MamunC0der made their first contribution in #764
- @ericHgorski made their first contribution in #866
- @dependabot[bot] made their first contribution in #886
- @aljo242 made their first contribution in #895
- @bpiv400 made their first contribution in #950
- @dianab-cl made their first contribution in #1023
- @dhfang made their first contribution in #1033
Full Diff: sp1-programs-v1.2.0...sp1-programs-v2.0.0
Proof API v0.8.0
Description
This release renames relayer-api to proof-api and expands the stack with initial Solana IBC support, IFT, GMP, and attestations support. It also bumps the dependencies, includes bug fixes, and cleanups
What's Changed
- fix(proof-api): enable rustls TLS feature on alloy so HTTPS RPCs work by @dhfang in #1034
- refactor: rename relayer to proof-api by @srdtrk in #1030
- chore: dependency and linting updates by @srdtrk in #1028
- fix(solana/test): adjust attestor timing by @vaporif in #1019
- fix(solana): nix devshell + build by @vaporif in #1017
- feat(solana/access-manager): add two-step upgrade authority transfer mechanism by @mariuszzak in #1013
- fix(solana): gmp empty ack by @vaporif in #1008
- fix(solana): require upgrade authority signer in initialize instructions by @mariuszzak in #1002
- fix(solana): timeout timestamp conversions by @vaporif in #992
- fix(solana/ift): decouple finalize_transfer from bridge lifecycle by @mariuszzak in #972
- fix(solana/gmp): remove payer_position, add prefund_lamports by @mariuszzak in #962
- fix(solana): relayer controlled metadata in non inline mode validation by @vaporif in #961
- feat(solana): implement SolanaIFTSendCallConstructor by @mariuszzak in #959
- chore: remove wasm attestation client by @srdtrk in #958
- chore: migrate sp1 from v5 to v6.1 by @mariuszzak in #952
- feat(solana): add account validation and simplify PDA seeds by @mariuszzak in #940
- feat(solana): remove duplicated chain_id from ICS07 AppState by @mariuszzak in #935
- feat(solana): remove GMP_PORT_ID from app_state PDA seeds by @mariuszzak in #934
- fix(solana): enforce relayer role on chunk uploads, add RecvPacket seeds validation by @mariuszzak in #932
- feat(solana): harden send_call signer and IFT security by @mariuszzak in #930
- fix(solana): ift action items by @vaporif in #927
- feat(solana): tighten account validation and CPI security, refactor Solana programs by @mariuszzak in #926
- feat(solana, ift): replace access manager with direct admin, add pause, rate limits, and admin mint by @vaporif in #922
- chore: docker and rm sp1 dep by @johnnylarner in #921
- chore(relayer): remove unused config parameters by @srdtrk in #920
- feat(relayer): enable solana-to-cosmos attestor by @srdtrk in #912
- feat(solana): implement Attestation LC by @mariuszzak in #910
- docs(relayer): updated the proof-api docs by @srdtrk in #900
- fix(solana): formatting by @vaporif in #885
- fix: attestor timeout by @vaporif in #883
- feat(relayer): add support for attestation by @cernicc in #880
- feat(solana): add IFT program by @vaporif in #873
- feat(solana): gmp result pda by @vaporif in #870
- feat: implement Solana IBC by @cernicc in #868
- docs: update readme for proof relayer api by @NotJeremyLiu in #867
- chore: lint clippy by @srdtrk in #862
- chore: bumped rust dependencies by @srdtrk in #832
- feat: Relayer tracing by @DeshErBojhaa in #681
New Contributors
- @ericHgorski made their first contribution in #866
- @dependabot[bot] made their first contribution in #886
- @aljo242 made their first contribution in #895
- @bpiv400 made their first contribution in #950
- @dianab-cl made their first contribution in #1023
- @dhfang made their first contribution in #1033
Full Diff: relayer-v0.7.0...proof-api-v0.8.0-rc.1
SP1 Programs v2.0.0-rc.2
Description
This release introduces refactors and updates to the dependencies used by the sp1 programs. We have updated sp1 from v5 line to v6.1.
What's Changed
- chore: dependency and linting updates by @srdtrk in #1028
- test(tendermint-light-client): add unit tests for
check_for_misbehaviourby @mariuszzak in #1021 - fix(solana/ics07): client state max drift unused in misbehavior by @vaporif in #1016
- chore: migrate sp1 from v5 to v6.1 by @mariuszzak in #952
- deps(solana): switch tendermint-rs from fork to upstream by @mariuszzak in #929
- fix(solana): ift action items by @vaporif in #927
- feat: implement Solana IBC by @cernicc in #868
- chore: simplify fixtures generation logic for tendermint light client tests by @mariuszzak in #754
- fix(test): use trusted consensus state timestamp for test timing validation by @mariuszzak in #714
- test: add fixture tests for
tendermint-light-clientpackages by @mariuszzak in #654 - feat: chain agnostic tendermint light client functions by @vaporif in #589
- chore: updated workspace dependencies by @srdtrk in #582
- refactor: extract the logic shared across sp1 and solana programs by @mariuszzak in #576
New Contributors
- @MozirDmitriy made their first contribution in #586
- @VolodymyrBg made their first contribution in #620
- @MamunC0der made their first contribution in #764
- @ericHgorski made their first contribution in #866
- @dependabot[bot] made their first contribution in #886
- @aljo242 made their first contribution in #895
- @bpiv400 made their first contribution in #950
- @dianab-cl made their first contribution in #1023
- @dhfang made their first contribution in #1033
Proof API v0.8.0-rc.1
Description
This release renames relayer-api to proof-api and expands the stack with initial Solana IBC support, IFT, GMP, and attestations support. It also bumps the dependencies, includes bug fixes, and cleanups
What's Changed
- fix(proof-api): enable rustls TLS feature on alloy so HTTPS RPCs work by @dhfang in #1034
- refactor: rename relayer to proof-api by @srdtrk in #1030
- chore: dependency and linting updates by @srdtrk in #1028
- fix(solana/test): adjust attestor timing by @vaporif in #1019
- fix(solana): nix devshell + build by @vaporif in #1017
- feat(solana/access-manager): add two-step upgrade authority transfer mechanism by @mariuszzak in #1013
- fix(solana): gmp empty ack by @vaporif in #1008
- fix(solana): require upgrade authority signer in initialize instructions by @mariuszzak in #1002
- fix(solana): timeout timestamp conversions by @vaporif in #992
- fix(solana/ift): decouple finalize_transfer from bridge lifecycle by @mariuszzak in #972
- fix(solana/gmp): remove payer_position, add prefund_lamports by @mariuszzak in #962
- fix(solana): relayer controlled metadata in non inline mode validation by @vaporif in #961
- feat(solana): implement SolanaIFTSendCallConstructor by @mariuszzak in #959
- chore: remove wasm attestation client by @srdtrk in #958
- chore: migrate sp1 from v5 to v6.1 by @mariuszzak in #952
- feat(solana): add account validation and simplify PDA seeds by @mariuszzak in #940
- feat(solana): remove duplicated chain_id from ICS07 AppState by @mariuszzak in #935
- feat(solana): remove GMP_PORT_ID from app_state PDA seeds by @mariuszzak in #934
- fix(solana): enforce relayer role on chunk uploads, add RecvPacket seeds validation by @mariuszzak in #932
- feat(solana): harden send_call signer and IFT security by @mariuszzak in #930
- fix(solana): ift action items by @vaporif in #927
- feat(solana): tighten account validation and CPI security, refactor Solana programs by @mariuszzak in #926
- feat(solana, ift): replace access manager with direct admin, add pause, rate limits, and admin mint by @vaporif in #922
- chore: docker and rm sp1 dep by @johnnylarner in #921
- chore(relayer): remove unused config parameters by @srdtrk in #920
- feat(relayer): enable solana-to-cosmos attestor by @srdtrk in #912
- feat(solana): implement Attestation LC by @mariuszzak in #910
- docs(relayer): updated the proof-api docs by @srdtrk in #900
- fix(solana): formatting by @vaporif in #885
- fix: attestor timeout by @vaporif in #883
- feat(relayer): add support for attestation by @cernicc in #880
- feat(solana): add IFT program by @vaporif in #873
- feat(solana): gmp result pda by @vaporif in #870
- feat: implement Solana IBC by @cernicc in #868
- docs: update readme for proof relayer api by @NotJeremyLiu in #867
- chore: lint clippy by @srdtrk in #862
- chore: bumped rust dependencies by @srdtrk in #832
- feat: Relayer tracing by @DeshErBojhaa in #681
New Contributors
- @ericHgorski made their first contribution in #866
- @dependabot[bot] made their first contribution in #886
- @aljo242 made their first contribution in #895
- @bpiv400 made their first contribution in #950
- @dianab-cl made their first contribution in #1023
- @dhfang made their first contribution in #1033
Full Diff: relayer-v0.7.0...proof-api-v0.8.0-rc.1
Solidity Contracts v3.0.0
Description
This release candidate brings several major improvements to Solidity IBC, focused on expanding application support, improving cross-chain token transfers, and simplifying the contract APIs ahead of the final v3 release.
The main addition is ICS27GMP, the new contract calls application. This enables generalized cross-chain contract execution through IBC, expanding Solidity IBC beyond token transfers into broader cross-chain application use cases.
This release also adds IFT, a new token transfer standard implementation. IFT is intended to support more flexible interoperability burn/mint pattern and will help pave the way for future Solana connectivity.
For chains that do not yet have a dedicated light client protocol, this release introduces an attestation multisig light client. This provides a practical verification path for additional ecosystems while dedicated light clients are still under development.
On the contracts side, OpenZeppelin AccessControl has been replaced with AccessManager, giving deployments a more explicit and flexible access management model. The release also includes API-breaking cleanup and simplifications, such as removing upgradeClient.
For Cosmos EVM integrations, this release adds ICS02PrecompileWrapper, which works with the cosmos/evm ICS02 precompile. This allows Solidity contracts to access ibc-go light clients through the precompile interface.
Several dependencies and development tools have also been updated, including OpenZeppelin Contracts, Foundry-related tooling, SP1, Solhint, NatSpec linting, formatting, and static analysis.
This is a pre-release intended for testing and integration feedback before the final v3.0.0 release. For the full changelog, see the section below.
What's Changed
- feat: add contract calls application by @srdtrk in #508
- test: added shadowfork testing by @srdtrk in #534
- chore: added natlint, a natspec linter by @srdtrk in #536
- imp(ethereum): remove deneb support by @srdtrk in #530
- imp: added a reference IBC-compatible ERC20 by @srdtrk in #539
- imp: use AccessManager for access control by @srdtrk in #554
- ci: add slither static analysis by @gjermundgaraba in #634
- chore: updated nix flakes to fix foundry by @srdtrk in #674
- chore: updated solhint to v6 and linted the repo by @srdtrk in #675
- chore: lint with new forge fmt by @srdtrk in #767
- imp(contracts): remove
upgradeClientby @srdtrk in #776 - chore(contracts): lint with
forge fmtby @srdtrk in #777 - chore: 'forge fmt' with 1.4.4 by @srdtrk in #807
- feat: added precompile light client for cosmos/evm by @srdtrk in #820
- imp(ics27): reverse lookup of AccountIdentifier by @srdtrk in #859
- feat: add attestation LC by @srdtrk in #861
- chore(docs): contracts readme by @ericHgorski in #866
- feat: implement IFT token standard in Solidity by @mariuszzak in #864
- test(e2e, ift): added test cases for IFT (Cosmos ↔ Evm + Cosmos ↔ Cosmos) by @mariuszzak in #876
- fix: validate receiver address in CosmosIFTSendCallConstructor by @srdtrk in #939
- feat(attestation): add domain separation to attestation light clients by @mariuszzak in #946
- chore: migrate sp1 from v5 to v6.1 by @mariuszzak in #952
- imp(contracts/ift): added nonReentrant to IFT functions by @srdtrk in #953
- imp(contracts/ics20): add more balance validation to permit2 transfers by @srdtrk in #954
- deps: update openzeppelin-contracts to v5.5.0 by @srdtrk in #955
- feat(solana): implement SolanaIFTSendCallConstructor by @mariuszzak in #959
- chore: dependency and linting updates by @srdtrk in #1028
- imp(ift): add authority gated mint and burn functions to reference implementations by @srdtrk in #1029
New Contributors
- @MozirDmitriy made their first contribution in #586
- @VolodymyrBg made their first contribution in #620
- @MamunC0der made their first contribution in #764
- @ericHgorski made their first contribution in #866
- @dependabot[bot] made their first contribution in #886
- @aljo242 made their first contribution in #895
- @bpiv400 made their first contribution in #950
- @dianab-cl made their first contribution in #1023
Full Changelog: solidity-v2.0.0...solidity-v3.0.0-rc.1
Solidity Contracts v3.0.0-rc.1
Description
This release candidate brings several major improvements to Solidity IBC, focused on expanding application support, improving cross-chain token transfers, and simplifying the contract APIs ahead of the final v3 release.
The main addition is ICS27GMP, the new contract calls application. This enables generalized cross-chain contract execution through IBC, expanding Solidity IBC beyond token transfers into broader cross-chain application use cases.
This release also adds IFT, a new token transfer standard implementation. IFT is intended to support more flexible interoperability burn/mint pattern and will help pave the way for future Solana connectivity.
For chains that do not yet have a dedicated light client protocol, this release introduces an attestation multisig light client. This provides a practical verification path for additional ecosystems while dedicated light clients are still under development.
On the contracts side, OpenZeppelin AccessControl has been replaced with AccessManager, giving deployments a more explicit and flexible access management model. The release also includes API-breaking cleanup and simplifications, such as removing upgradeClient.
For Cosmos EVM integrations, this release adds ICS02PrecompileWrapper, which works with the cosmos/evm ICS02 precompile. This allows Solidity contracts to access ibc-go light clients through the precompile interface.
Several dependencies and development tools have also been updated, including OpenZeppelin Contracts, Foundry-related tooling, SP1, Solhint, NatSpec linting, formatting, and static analysis.
This is a pre-release intended for testing and integration feedback before the final v3.0.0 release. For the full changelog, see the section below.
What's Changed
- feat: add contract calls application by @srdtrk in #508
- test: added shadowfork testing by @srdtrk in #534
- chore: added natlint, a natspec linter by @srdtrk in #536
- imp(ethereum): remove deneb support by @srdtrk in #530
- imp: added a reference IBC-compatible ERC20 by @srdtrk in #539
- imp: use AccessManager for access control by @srdtrk in #554
- ci: add slither static analysis by @gjermundgaraba in #634
- chore: updated nix flakes to fix foundry by @srdtrk in #674
- chore: updated solhint to v6 and linted the repo by @srdtrk in #675
- chore: lint with new forge fmt by @srdtrk in #767
- imp(contracts): remove
upgradeClientby @srdtrk in #776 - chore(contracts): lint with
forge fmtby @srdtrk in #777 - chore: 'forge fmt' with 1.4.4 by @srdtrk in #807
- feat: added precompile light client for cosmos/evm by @srdtrk in #820
- imp(ics27): reverse lookup of AccountIdentifier by @srdtrk in #859
- feat: add attestation LC by @srdtrk in #861
- chore(docs): contracts readme by @ericHgorski in #866
- feat: implement IFT token standard in Solidity by @mariuszzak in #864
- test(e2e, ift): added test cases for IFT (Cosmos ↔ Evm + Cosmos ↔ Cosmos) by @mariuszzak in #876
- fix: validate receiver address in CosmosIFTSendCallConstructor by @srdtrk in #939
- feat(attestation): add domain separation to attestation light clients by @mariuszzak in #946
- chore: migrate sp1 from v5 to v6.1 by @mariuszzak in #952
- imp(contracts/ift): added nonReentrant to IFT functions by @srdtrk in #953
- imp(contracts/ics20): add more balance validation to permit2 transfers by @srdtrk in #954
- deps: update openzeppelin-contracts to v5.5.0 by @srdtrk in #955
- feat(solana): implement SolanaIFTSendCallConstructor by @mariuszzak in #959
- chore: dependency and linting updates by @srdtrk in #1028
- imp(ift): add authority gated mint and burn functions to reference implementations by @srdtrk in #1029
New Contributors
- @MozirDmitriy made their first contribution in #586
- @VolodymyrBg made their first contribution in #620
- @MamunC0der made their first contribution in #764
- @ericHgorski made their first contribution in #866
- @dependabot[bot] made their first contribution in #886
- @aljo242 made their first contribution in #895
- @bpiv400 made their first contribution in #950
- @dianab-cl made their first contribution in #1023
Full Changelog: solidity-v2.0.0...solidity-v3.0.0-rc.1
Solidity Contracts v2.0.1
Description
This missing validation check can prevent funds getting stuck on ICS20 transfers using unorthodox ERC20 implementations.
What's Changed
- imp(contracts/ics20): add more balance validation to permit2 transfers (backport #954) by @mergify[bot] in #987
Full Changelog: solidity-v2.0.0...solidity-v2.0.1