feat(solana): implement ics27-gmp ibc app#757
Merged
mariuszzak merged 6 commits intofeat/solanafrom Oct 21, 2025
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feat/solana #757 +/- ##
==============================================
Coverage ? 99.86%
==============================================
Files ? 17
Lines ? 767
Branches ? 0
==============================================
Hits ? 766
Misses ? 1
Partials ? 0 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
dc6c040 to
b6f5bb3
Compare
Collaborator
Author
|
Related PR - cosmos/ibc-go#8660 |
b6f5bb3 to
e10d7bf
Compare
97ebeed to
c8a763d
Compare
d3ec90b to
dadce0c
Compare
0d410ae to
9d10cf6
Compare
mariuszzak
commented
Oct 15, 2025
srdtrk
approved these changes
Oct 15, 2025
programs/solana/programs/ics27-gmp/src/instructions/on_ack_packet.rs
Outdated
Show resolved
Hide resolved
programs/solana/programs/ics27-gmp/src/instructions/on_recv_packet.rs
Outdated
Show resolved
Hide resolved
programs/solana/programs/ics27-gmp/src/instructions/on_timeout_packet.rs
Outdated
Show resolved
Hide resolved
programs/solana/programs/ics27-gmp/src/instructions/on_timeout_packet.rs
Outdated
Show resolved
Hide resolved
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
programs/solana/programs/ics27-gmp/src/instructions/on_ack_packet.rs
Outdated
Show resolved
Hide resolved
vaporif
reviewed
Oct 17, 2025
programs/solana/programs/ics27-gmp/src/instructions/on_ack_packet.rs
Outdated
Show resolved
Hide resolved
vaporif
reviewed
Oct 17, 2025
programs/solana/programs/ics27-gmp/src/instructions/on_timeout_packet.rs
Outdated
Show resolved
Hide resolved
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
vaporif
reviewed
Oct 17, 2025
86071fc to
3cbee29
Compare
3cbee29 to
22fb4a3
Compare
vaporif
approved these changes
Oct 20, 2025
vaporif
added a commit
that referenced
this pull request
Nov 24, 2025
* test(e2e): added a solana test suite (#574) * feat: solana nix tooling (#579) Co-authored-by: srdtrk <srdtrk@hotmail.com> * feat: solana tendermint light client core (#590) Co-authored-by: Mariusz Zak <mariuszzak21@gmail.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> * feat: router core (#601) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> * feat: solana tendermint mollusk initialize test (#614) * chore: ci router mollusk tests (#629) * chore: router pr comments + validation tests (#633) * feat: Add Solana fixture generation and fix update_client implementation (#615) * chore: router cpi tests (#642) * fix: solana ibc inconsistencies (#651) * chore: solana storage adr (#613) Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> * test(e2e): initial Solana end-to-end tests (#648) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> * chore: lock agave rust nix (#668) * add rust in solana devshell for lsp access (#673) * feat: adjust solana tests to use tendermint-light-client fixtures (#670) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Dmytro Onypko <vaporif@proton.me> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> * ibc app & router updates (#669) * solana update from main (#683) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Mariusz Żak <mariuszzak21@gmail.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> * chore: solana upgrade adr (#665) * feat: solana relayer implementation wip (#678) * chore(solana): merge `main` into `feat/solana` (#717) * feat: extend Solana → Cosmos IBC integration with e2e testing (#680) * chore(solana): nix idl generation (#761) * feat(solana): chunked header update + e2e solana->cosmos/cosmos->solana (#760) * feat(solana): chunked router instructions + working e2e (#766) * fix(solana): nix (#769) Co-authored-by: Dmytro Onypko <vaporif@proton.me> * fix(solana): idl generation (#774) * feat(solana): implement ics27-gmp ibc app (#757) * feat(solana): upgradability (#773) * chore(solana): Merge `main` into `feat/solana` (#778) * chore(solana): nix darwin fix (#781) * chore(solana): nix pull apple sdk 15 (#784) * feat(solana): remove txs field in relayer, encode txs, parallel relayer packets submission (#771) * chore: remove unused HeaderMetadata (#786) * chore(solana): simplify misbehaviour check (#787) * chore(solana): remove tendermint non chunked update (#789) * chore(solana): remove unused errors (#790) * test(solana): extend e2e test coverage for unhappy paths in GMP app (#782) * test(solana): add missing unit test coverage for membership verification of ics07-tendermint-light-client (#788) * chore(solana): reorganize SEED constants and PDA derivation for consistency (#792) * feat(solana): use confirmed commitment in relayer + parallelize e2e tests (#793) * chore(solana): docs + tests + cleanup (#800) * fix(solana): outstanding post review issues + tests (#811) * fix(solana): use seconds instead of nanos in non-membership (#812) * chore(solana): remaining accounts refactoring + unit tests edgecases (#813) * chore(solana): e2e tests for cleanup chunks (#814) * feat(solana): chunked submit misbehaviour (#816) * feat(solana): ics27-GMP improvements (#810) * chore(solana): add comments for universal app unreachable + constant generation for future (#817) * fix(solana): owner/checked validations (#819) * feat(solana): auto init space calulcation (#825) * perf(solana): optimize light client for mainnet headers (#826) * perf(solana): light client update (#830) * feat(solana): sendpacket sequence improvement (#824) * chore(crates): switch to tendermint repo (#834) * chore(solana): merge with main (#835) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Mariusz Żak <mariuszzak21@gmail.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> Co-authored-by: Coder <161350311+MamunC0der@users.noreply.github.com> * feat(solana): ics23 hostfunctions (#837) * feat(solana): structured updateclient/relaypacket (#838) * add signer * lint go --------- Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> Co-authored-by: Mariusz Zak <mariuszzak21@gmail.com> Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Rok Černič <rok.cernic@gmail.com> Co-authored-by: Coder <161350311+MamunC0der@users.noreply.github.com>
vaporif
added a commit
that referenced
this pull request
Dec 2, 2025
* test(e2e): added a solana test suite (#574) * feat: solana nix tooling (#579) Co-authored-by: srdtrk <srdtrk@hotmail.com> * feat: solana tendermint light client core (#590) Co-authored-by: Mariusz Zak <mariuszzak21@gmail.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> * feat: router core (#601) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> * feat: solana tendermint mollusk initialize test (#614) * chore: ci router mollusk tests (#629) * chore: router pr comments + validation tests (#633) * feat: Add Solana fixture generation and fix update_client implementation (#615) * chore: router cpi tests (#642) * fix: solana ibc inconsistencies (#651) * chore: solana storage adr (#613) Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> * test(e2e): initial Solana end-to-end tests (#648) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> * chore: lock agave rust nix (#668) * add rust in solana devshell for lsp access (#673) * feat: adjust solana tests to use tendermint-light-client fixtures (#670) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Dmytro Onypko <vaporif@proton.me> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> * ibc app & router updates (#669) * solana update from main (#683) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Mariusz Żak <mariuszzak21@gmail.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> * chore: solana upgrade adr (#665) * feat: solana relayer implementation wip (#678) * chore(solana): merge `main` into `feat/solana` (#717) * feat: extend Solana → Cosmos IBC integration with e2e testing (#680) * chore(solana): nix idl generation (#761) * feat(solana): chunked header update + e2e solana->cosmos/cosmos->solana (#760) * feat(solana): chunked router instructions + working e2e (#766) * fix(solana): nix (#769) Co-authored-by: Dmytro Onypko <vaporif@proton.me> * fix(solana): idl generation (#774) * feat(solana): implement ics27-gmp ibc app (#757) * feat(solana): upgradability (#773) * chore(solana): Merge `main` into `feat/solana` (#778) * chore(solana): nix darwin fix (#781) * chore(solana): nix pull apple sdk 15 (#784) * feat(solana): remove txs field in relayer, encode txs, parallel relayer packets submission (#771) * chore: remove unused HeaderMetadata (#786) * chore(solana): simplify misbehaviour check (#787) * chore(solana): remove tendermint non chunked update (#789) * chore(solana): remove unused errors (#790) * test(solana): extend e2e test coverage for unhappy paths in GMP app (#782) * test(solana): add missing unit test coverage for membership verification of ics07-tendermint-light-client (#788) * chore(solana): reorganize SEED constants and PDA derivation for consistency (#792) * feat(solana): use confirmed commitment in relayer + parallelize e2e tests (#793) * chore(solana): docs + tests + cleanup (#800) * fix(solana): outstanding post review issues + tests (#811) * fix(solana): use seconds instead of nanos in non-membership (#812) * chore(solana): remaining accounts refactoring + unit tests edgecases (#813) * chore(solana): e2e tests for cleanup chunks (#814) * feat(solana): chunked submit misbehaviour (#816) * feat(solana): ics27-GMP improvements (#810) * chore(solana): add comments for universal app unreachable + constant generation for future (#817) * fix(solana): owner/checked validations (#819) * feat(solana): auto init space calulcation (#825) * perf(solana): optimize light client for mainnet headers (#826) * perf(solana): light client update (#830) * feat(solana): sendpacket sequence improvement (#824) * chore(crates): switch to tendermint repo (#834) * chore(solana): merge with main (#835) Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Mariusz Żak <mariuszzak21@gmail.com> Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> Co-authored-by: Coder <161350311+MamunC0der@users.noreply.github.com> * feat(solana): ics23 hostfunctions (#837) * feat(solana): structured updateclient/relaypacket (#838) * add signer * lint go * solana adapter * unordered * commitment set * cleanup * condense * warnings * simplify * use commitment type * use pda fn --------- Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> Co-authored-by: srdtrk <srdtrk@hotmail.com> Co-authored-by: Mariusz Zak <mariuszzak21@gmail.com> Co-authored-by: Gjermund Garaba <gjermund@garaba.net> Co-authored-by: Rok Černič <rok.cernic@gmail.com> Co-authored-by: Coder <161350311+MamunC0der@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR implements ICS27-GMP app. More details in the ADR added in this PR.
ref: IBCSOL-267
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
godoccomments.Files changedin the GitHub PR explorer.SonarCloud Reportin the comment section below once CI passes.