Skip to content

Releases: cosmos/solidity-ibc-eureka

Solidity Contracts v3.0.2

Choose a tag to compare

@srdtrk srdtrk released this 18 Jun 12:42
3990431

Description

This release contains improvements to the off-chain IBCRolesLib library.

What's Changed

Full Changelog: solidity-v3.0.1...solidity-v3.0.2

Proof API v0.8.1

Choose a tag to compare

@srdtrk srdtrk released this 18 Jun 12:33
3990431

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

Full Changelog: proof-api-v0.8.0...proof-api-v0.8.1

Solidity Contracts v3.0.1

Choose a tag to compare

@srdtrk srdtrk released this 03 Jun 13:07
04b9767

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

Choose a tag to compare

@srdtrk srdtrk released this 17 Jun 14:50
ef25a66

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_misbehaviour by @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-client packages 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

Full Diff: sp1-programs-v1.2.0...sp1-programs-v2.0.0

Proof API v0.8.0

Choose a tag to compare

@dhfang dhfang released this 26 May 07:55
ef25a66

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

Full Diff: relayer-v0.7.0...proof-api-v0.8.0-rc.1

SP1 Programs v2.0.0-rc.2

Pre-release

Choose a tag to compare

@srdtrk srdtrk released this 22 May 15:55
ef25a66

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_misbehaviour by @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-client packages 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

Full Diff: sp1-programs-v1.2.0...sp1-programs-v2.0.0-rc.2

Proof API v0.8.0-rc.1

Proof API v0.8.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@srdtrk srdtrk released this 22 May 16:27
ef25a66

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

Full Diff: relayer-v0.7.0...proof-api-v0.8.0-rc.1

Solidity Contracts v3.0.0

Choose a tag to compare

@dhfang dhfang released this 26 May 07:58
cff7666

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 upgradeClient by @srdtrk in #776
  • chore(contracts): lint with forge fmt by @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

Full Changelog: solidity-v2.0.0...solidity-v3.0.0-rc.1

Solidity Contracts v3.0.0-rc.1

Pre-release

Choose a tag to compare

@srdtrk srdtrk released this 13 May 13:30
cff7666

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 upgradeClient by @srdtrk in #776
  • chore(contracts): lint with forge fmt by @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

Full Changelog: solidity-v2.0.0...solidity-v3.0.0-rc.1

Solidity Contracts v2.0.1

Choose a tag to compare

@srdtrk srdtrk released this 09 Mar 16:20
6571c3c

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