├── .clang-format ├── .codecov.yml ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── epic-tracker.md │ ├── feature-request.md │ └── release-tracker.md ├── PULL_REQUEST_TEMPLATE.md ├── compatibility-test-matrices │ ├── main │ │ ├── client-chain-a.json │ │ ├── connection-chain-a.json │ │ ├── genesis-chain-a.json │ │ ├── ica-chain-a.json │ │ ├── ica-chain-b.json │ │ ├── ica-gov-chain-a.json │ │ ├── ica-gov-chain-b.json │ │ ├── ica-groups-chain-a.json │ │ ├── ica-groups-chain-b.json │ │ ├── incentivized-ica-chain-a.json │ │ ├── incentivized-ica-chain-b.json │ │ ├── incentivized-transfer-chain-a.json │ │ ├── incentivized-transfer-chain-b.json │ │ ├── localhost-ica-chain-a.json │ │ ├── localhost-ica-chain-b.json │ │ ├── localhost-transfer-chain-a.json │ │ ├── localhost-transfer-chain-b.json │ │ ├── transfer-authz-chain-a.json │ │ ├── transfer-authz-chain-b.json │ │ ├── transfer-chain-a.json │ │ └── transfer-chain-b.json │ ├── release-v6.1.x │ │ ├── client-chain-a.json │ │ ├── connection-chain-a.json │ │ ├── ica-chain-a.json │ │ ├── ica-chain-b.json │ │ ├── ica-gov-chain-a.json │ │ ├── ica-gov-chain-b.json │ │ ├── ica-groups-chain-a.json │ │ ├── ica-groups-chain-b.json │ │ ├── incentivized-ica-chain-a.json │ │ ├── incentivized-ica-chain-b.json │ │ ├── incentivized-transfer-chain-a.json │ │ ├── incentivized-transfer-chain-b.json │ │ ├── transfer-chain-a.json │ │ └── transfer-chain-b.json │ ├── release-v6.2.x │ │ ├── client-chain-a.json │ │ ├── connection-chain-a.json │ │ ├── ica-chain-a.json │ │ ├── ica-chain-b.json │ │ ├── ica-gov-chain-a.json │ │ ├── ica-gov-chain-b.json │ │ ├── ica-groups-chain-a.json │ │ ├── ica-groups-chain-b.json │ │ ├── incentivized-ica-chain-a.json │ │ ├── incentivized-ica-chain-b.json │ │ ├── incentivized-transfer-chain-a.json │ │ ├── incentivized-transfer-chain-b.json │ │ ├── transfer-authz-chain-a.json │ │ ├── transfer-authz-chain-b.json │ │ ├── transfer-chain-a.json │ │ └── transfer-chain-b.json │ ├── release-v7.2.x │ │ ├── client-chain-a.json │ │ ├── connection-chain-a.json │ │ ├── ica-chain-a.json │ │ ├── ica-chain-b.json │ │ ├── ica-gov-chain-a.json │ │ ├── ica-gov-chain-b.json │ │ ├── ica-groups-chain-a.json │ │ ├── ica-groups-chain-b.json │ │ ├── incentivized-ica-chain-a.json │ │ ├── incentivized-ica-chain-b.json │ │ ├── incentivized-transfer-chain-a.json │ │ ├── incentivized-transfer-chain-b.json │ │ ├── localhost-ica-chain-a.json │ │ ├── localhost-transfer-chain-a.json │ │ ├── transfer-authz-chain-a.json │ │ ├── transfer-authz-chain-b.json │ │ ├── transfer-chain-a.json │ │ └── transfer-chain-b.json │ ├── release-v7.3.x │ │ ├── client-chain-a.json │ │ ├── connection-chain-a.json │ │ ├── ica-chain-a.json │ │ ├── ica-chain-b.json │ │ ├── ica-gov-chain-a.json │ │ ├── ica-gov-chain-b.json │ │ ├── ica-groups-chain-a.json │ │ ├── ica-groups-chain-b.json │ │ ├── incentivized-ica-chain-a.json │ │ ├── incentivized-ica-chain-b.json │ │ ├── incentivized-transfer-chain-a.json │ │ ├── incentivized-transfer-chain-b.json │ │ ├── localhost-ica-chain-a.json │ │ ├── localhost-transfer-chain-a.json │ │ ├── transfer-authz-chain-a.json │ │ ├── transfer-authz-chain-b.json │ │ ├── transfer-chain-a.json │ │ └── transfer-chain-b.json │ ├── release-v8.0.x │ │ ├── client-chain-a.json │ │ ├── connection-chain-a.json │ │ ├── genesis-chain-a.json │ │ ├── ica-chain-a.json │ │ ├── ica-chain-b.json │ │ ├── ica-gov-chain-a.json │ │ ├── ica-gov-chain-b.json │ │ ├── ica-groups-chain-a.json │ │ ├── ica-groups-chain-b.json │ │ ├── incentivized-ica-chain-a.json │ │ ├── incentivized-ica-chain-b.json │ │ ├── incentivized-transfer-chain-a.json │ │ ├── incentivized-transfer-chain-b.json │ │ ├── localhost-ica-chain-a.json │ │ ├── localhost-transfer-chain-a.json │ │ ├── transfer-authz-chain-a.json │ │ ├── transfer-authz-chain-b.json │ │ ├── transfer-chain-a.json │ │ └── transfer-chain-b.json │ └── unreleased │ │ ├── client.json │ │ ├── connection.json │ │ ├── genesis.json │ │ ├── ica-gov.json │ │ ├── ica-groups.json │ │ ├── ica.json │ │ ├── incentivized-ica.json │ │ ├── incentivized-transfer-1.json │ │ ├── incentivized-transfer-2.json │ │ ├── incentivized-transfer-3.json │ │ ├── localhost-ica.json │ │ ├── localhost-transfer.json │ │ ├── transfer-1.json │ │ ├── transfer-2.json │ │ ├── transfer-3.json │ │ └── transfer-authz.json ├── dependabot.yml ├── mergify.yml ├── pr_labeler.yml └── workflows │ ├── build-callbacks-simd-image-from-tag.yml │ ├── build-simd-image-from-tag.yml │ ├── build-wasm-simd-image-from-tag.yml │ ├── callbacks.yml │ ├── capability.yml │ ├── check-docs.yml │ ├── codeql-analysis.yml │ ├── deploy-docs.yml │ ├── discord-notify.yml │ ├── docker.yml │ ├── e2e-compatibility-unreleased.yaml │ ├── e2e-compatibility-workflow-call.yaml │ ├── e2e-compatibility.yaml │ ├── e2e-fork.yml │ ├── e2e-manual-simd.yaml │ ├── e2e-test-workflow-call.yml │ ├── e2e-upgrade.yaml │ ├── e2e-wasm.yaml │ ├── e2e.yaml │ ├── golangci.yml │ ├── link-check-config.json │ ├── link-check.yml │ ├── markdown-lint.yml │ ├── pr_labeler.yml │ ├── proto-registry.yml │ ├── release.yml │ ├── test.yml │ └── wasm-client.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yml ├── .markdownlint-cli2.jsonc ├── .markdownlint.jsonc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── RELEASES.md ├── SECURITY.md ├── buf.work.yaml ├── cliff.toml ├── cmd └── build_test_matrix │ ├── main.go │ └── main_test.go ├── contrib ├── devtools │ └── Makefile └── test_cover.sh ├── docs ├── .gitignore ├── .vuepress │ └── config.js ├── README.md ├── architecture │ ├── README.md │ ├── adr-001-coin-source-tracing.md │ ├── adr-002-go-module-versioning.md │ ├── adr-003-ics27-acknowledgement.md │ ├── adr-004-ics29-lock-fee-module.md │ ├── adr-005-consensus-height-events.md │ ├── adr-006-02-client-refactor.md │ ├── adr-007-solomachine-signbytes.md │ ├── adr-008-app-caller-cbs.md │ ├── adr-009-v6-ics27-msgserver.md │ ├── adr-010-light-clients-as-sdk-modules.md │ ├── adr-011-transfer-total-escrow-state-entry.md │ ├── adr-015-ibc-packet-receiver.md │ ├── adr-025-ibc-passive-channels.md │ ├── adr-026-ibc-client-recovery-mechanisms.md │ ├── adr-027-ibc-wasm.md │ └── adr.template.md ├── audits │ └── Trail of Bits audit - Final Report.pdf ├── babel.config.js ├── client │ ├── config.json │ └── swagger-ui │ │ └── swagger.yaml ├── dev │ ├── development-setup.md │ ├── go-style-guide.md │ ├── project-structure.md │ ├── pull-requests.md │ └── release-management.md ├── docs │ ├── 00-intro.md │ ├── 01-ibc │ │ ├── 01-overview.md │ │ ├── 02-integration.md │ │ ├── 03-apps │ │ │ ├── 01-apps.md │ │ │ ├── 02-ibcmodule.md │ │ │ ├── 03-bindports.md │ │ │ ├── 04-keeper.md │ │ │ ├── 05-packets_acks.md │ │ │ ├── 06-routing.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ └── packet_flow.png │ │ ├── 04-middleware │ │ │ ├── 01-overview.md │ │ │ ├── 02-develop.md │ │ │ ├── 03-integration.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ └── middleware-stack.png │ │ ├── 05-upgrades │ │ │ ├── 00-intro.md │ │ │ ├── 01-quick-guide.md │ │ │ ├── 02-developer-guide.md │ │ │ ├── 03-genesis-restart.md │ │ │ └── _category_.json │ │ ├── 06-proposals.md │ │ ├── 07-relayer.md │ │ ├── 08-proto-docs.md │ │ ├── 09-roadmap.md │ │ ├── 10-troubleshooting.md │ │ ├── 11-capability-module.md │ │ └── _category_.json │ ├── 02-apps │ │ ├── 01-transfer │ │ │ ├── 01-overview.md │ │ │ ├── 02-state.md │ │ │ ├── 03-state-transitions.md │ │ │ ├── 04-messages.md │ │ │ ├── 05-events.md │ │ │ ├── 06-metrics.md │ │ │ ├── 07-params.md │ │ │ ├── 08-authorizations.md │ │ │ ├── 09-client.md │ │ │ └── _category_.json │ │ ├── 02-interchain-accounts │ │ │ ├── 01-overview.md │ │ │ ├── 02-development.md │ │ │ ├── 03-auth-modules.md │ │ │ ├── 04-integration.md │ │ │ ├── 05-messages.md │ │ │ ├── 06-parameters.md │ │ │ ├── 07-tx-encoding.md │ │ │ ├── 08-client.md │ │ │ ├── 09-active-channels.md │ │ │ ├── 10-legacy │ │ │ │ ├── 01-auth-modules.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-keeper-api.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── ica-pre-v6.png │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ └── ica-v6.png │ │ └── _category_.json │ ├── 03-light-clients │ │ ├── 01-developer-guide │ │ │ ├── 01-overview.md │ │ │ ├── 02-client-state.md │ │ │ ├── 03-consensus-state.md │ │ │ ├── 04-updates-and-misbehaviour.md │ │ │ ├── 05-upgrades.md │ │ │ ├── 06-proofs.md │ │ │ ├── 07-proposals.md │ │ │ ├── 08-genesis.md │ │ │ ├── 09-setup.md │ │ │ ├── _category_.json │ │ │ └── wasm │ │ │ │ └── audits │ │ │ │ ├── Ethan Frey - Wasm Client Review.pdf │ │ │ │ └── Halborn audit report.pdf │ │ ├── 02-localhost │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-client-state.md │ │ │ ├── 04-connection.md │ │ │ ├── 05-state-verification.md │ │ │ └── _category_.json │ │ ├── 03-solomachine │ │ │ ├── 01-solomachine.md │ │ │ ├── 02-concepts.md │ │ │ ├── 03-state.md │ │ │ ├── 04-state_transitions.md │ │ │ └── _category_.json │ │ ├── 04-wasm │ │ │ ├── 01-overview.md │ │ │ ├── 02-concepts.md │ │ │ ├── 03-integration.md │ │ │ ├── 04-messages.md │ │ │ ├── 05-governance.md │ │ │ ├── 06-events.md │ │ │ ├── 07-contracts.md │ │ │ ├── 08-client.md │ │ │ └── _category_.json │ │ └── _category_.json │ ├── 04-middleware │ │ ├── 01-ics29-fee │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-msgs.md │ │ │ ├── 04-fee-distribution.md │ │ │ ├── 05-events.md │ │ │ ├── 06-end-users.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ ├── feeflow.png │ │ │ │ ├── msgpaypacket.png │ │ │ │ └── paypacketfeeasync.png │ │ ├── 02-callbacks │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-interfaces.md │ │ │ ├── 04-events.md │ │ │ ├── 05-end-users.md │ │ │ ├── 06-gas.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ ├── callbackflow.svg │ │ │ │ └── ics4-callbackflow.svg │ │ └── _category_.json │ └── 05-migrations │ │ ├── 01-support-denoms-with-slashes.md │ │ ├── 02-sdk-to-v1.md │ │ ├── 03-v1-to-v2.md │ │ ├── 04-v2-to-v3.md │ │ ├── 05-v3-to-v4.md │ │ ├── 06-v4-to-v5.md │ │ ├── 07-v5-to-v6.md │ │ ├── 08-v6-to-v7.md │ │ ├── 09-v7-to-v7_1.md │ │ ├── 10-v7_2-to-v7_3.md │ │ ├── 11-v7-to-v8.md │ │ ├── _category_.json │ │ ├── images │ │ └── auth-module-decision-tree.png │ │ └── migration.template.md ├── docusaurus.config.js ├── events │ └── events.md ├── package-lock.json ├── package.json ├── params │ └── params.md ├── requirements │ ├── ics27-requirements.md │ ├── ics27-v2-requirements.md │ ├── ics29-v1-requirements.md │ ├── localhost-requirements.md │ └── requirements-template.md ├── sidebars.js ├── src │ ├── components │ │ ├── HighlightBox.jsx │ │ └── HighlightTag.jsx │ └── css │ │ ├── base.css │ │ ├── custom.css │ │ └── fonts.css ├── static │ ├── .nojekyll │ ├── CNAME │ ├── fonts │ │ ├── inter │ │ │ ├── Inter-Black.woff │ │ │ ├── Inter-Black.woff2 │ │ │ ├── Inter-BlackItalic.woff │ │ │ ├── Inter-BlackItalic.woff2 │ │ │ ├── Inter-Bold.woff │ │ │ ├── Inter-Bold.woff2 │ │ │ ├── Inter-BoldItalic.woff │ │ │ ├── Inter-BoldItalic.woff2 │ │ │ ├── Inter-ExtraBold.woff │ │ │ ├── Inter-ExtraBold.woff2 │ │ │ ├── Inter-ExtraBoldItalic.woff │ │ │ ├── Inter-ExtraBoldItalic.woff2 │ │ │ ├── Inter-ExtraLight.woff │ │ │ ├── Inter-ExtraLight.woff2 │ │ │ ├── Inter-ExtraLightItalic.woff │ │ │ ├── Inter-ExtraLightItalic.woff2 │ │ │ ├── Inter-Italic.woff │ │ │ ├── Inter-Italic.woff2 │ │ │ ├── Inter-Light.woff │ │ │ ├── Inter-Light.woff2 │ │ │ ├── Inter-LightItalic.woff │ │ │ ├── Inter-LightItalic.woff2 │ │ │ ├── Inter-Medium.woff │ │ │ ├── Inter-Medium.woff2 │ │ │ ├── Inter-MediumItalic.woff │ │ │ ├── Inter-MediumItalic.woff2 │ │ │ ├── Inter-Regular.woff │ │ │ ├── Inter-Regular.woff2 │ │ │ ├── Inter-SemiBold.woff │ │ │ ├── Inter-SemiBold.woff2 │ │ │ ├── Inter-SemiBoldItalic.woff │ │ │ ├── Inter-SemiBoldItalic.woff2 │ │ │ ├── Inter-Thin.woff │ │ │ ├── Inter-Thin.woff2 │ │ │ ├── Inter-ThinItalic.woff │ │ │ ├── Inter-ThinItalic.woff2 │ │ │ ├── Inter-italic.var.woff2 │ │ │ └── Inter-roman.var.woff2 │ │ ├── intervar │ │ │ └── Inter.var.woff2 │ │ └── jetbrainsmono │ │ │ ├── JetBrainsMono-Bold.woff2 │ │ │ ├── JetBrainsMono-BoldItalic.woff2 │ │ │ ├── JetBrainsMono-ExtraBold.woff2 │ │ │ ├── JetBrainsMono-ExtraBoldItalic.woff2 │ │ │ ├── JetBrainsMono-ExtraLight.woff2 │ │ │ ├── JetBrainsMono-ExtraLightItalic.woff2 │ │ │ ├── JetBrainsMono-Italic.woff2 │ │ │ ├── JetBrainsMono-Light.woff2 │ │ │ ├── JetBrainsMono-LightItalic.woff2 │ │ │ ├── JetBrainsMono-Medium.woff2 │ │ │ ├── JetBrainsMono-MediumItalic.woff2 │ │ │ ├── JetBrainsMono-Regular.woff2 │ │ │ ├── JetBrainsMono-SemiBold.woff2 │ │ │ ├── JetBrainsMono-SemiBoldItalic.woff2 │ │ │ ├── JetBrainsMono-Thin.woff2 │ │ │ └── JetBrainsMono-ThinItalic.woff2 │ └── img │ │ ├── IBC-go-cover.svg │ │ ├── black-ibc-logo.svg │ │ ├── black-large-ibc-logo.svg │ │ ├── cosmos-logo-bw.svg │ │ ├── ibc-go-docs-social-card.png │ │ ├── ico-chevron.svg │ │ ├── icons │ │ ├── hi-coffee-icon.svg │ │ ├── hi-info-icon.svg │ │ ├── hi-note-icon.svg │ │ ├── hi-prerequisite-icon.svg │ │ ├── hi-reading-icon.svg │ │ ├── hi-star-icon.svg │ │ ├── hi-target-icon.svg │ │ ├── hi-tip-icon.svg │ │ └── hi-warn-icon.svg │ │ ├── white-cosmos-icon.svg │ │ ├── white-ibc-logo.svg │ │ └── white-large-ibc-logo.svg ├── tailwind.config.js ├── tutorials │ ├── 00-intro.md │ └── 01-fee │ │ ├── 01-intro.md │ │ ├── 02-setup-env.md │ │ ├── 03-scaffold-chain.md │ │ ├── 04-wire-feeibc-mod.md │ │ ├── 05-scaffold-react.md │ │ ├── 06-wire-fee-react.md │ │ ├── 07-test-app.md │ │ ├── _category_.json │ │ └── images │ │ ├── ignite-landing.png │ │ ├── ignite-react-fee.png │ │ ├── ignite-unmodified.png │ │ └── react-fee-demo.png ├── versioned_docs │ ├── version-v4.5.x │ │ ├── 00-intro.md │ │ ├── 01-ibc │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-apps │ │ │ │ ├── 01-apps.md │ │ │ │ ├── 02-ibcmodule.md │ │ │ │ ├── 03-bindports.md │ │ │ │ ├── 04-keeper.md │ │ │ │ ├── 05-packets_acks.md │ │ │ │ ├── 06-routing.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── packet_flow.png │ │ │ ├── 04-middleware │ │ │ │ ├── 01-develop.md │ │ │ │ ├── 02-integration.md │ │ │ │ └── _category_.json │ │ │ ├── 05-upgrades │ │ │ │ ├── 00-intro.md │ │ │ │ ├── 01-quick-guide.md │ │ │ │ ├── 02-developer-guide.md │ │ │ │ ├── 03-genesis-restart.md │ │ │ │ └── _category_.json │ │ │ ├── 06-proposals.md │ │ │ ├── 07-relayer.md │ │ │ ├── 08-proto-docs.md │ │ │ ├── 09-roadmap.md │ │ │ └── _category_.json │ │ ├── 02-apps │ │ │ ├── 01-transfer │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-state.md │ │ │ │ ├── 03-state-transitions.md │ │ │ │ ├── 04-messages.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-metrics.md │ │ │ │ ├── 07-params.md │ │ │ │ └── _category_.json │ │ │ ├── 02-interchain-accounts │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-auth-modules.md │ │ │ │ ├── 03-active-channels.md │ │ │ │ ├── 04-integration.md │ │ │ │ ├── 05-parameters.md │ │ │ │ ├── 06-transactions.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── send-interchain-tx.png │ │ │ └── _category_.json │ │ ├── 03-middleware │ │ │ ├── 01-ics29-fee │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-msgs.md │ │ │ │ ├── 04-fee-distribution.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-end-users.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ ├── feeflow.png │ │ │ │ │ ├── msgpaypacket.png │ │ │ │ │ └── paypacketfeeasync.png │ │ │ └── _category_.json │ │ └── 04-migrations │ │ │ ├── 01-support-denoms-with-slashes.md │ │ │ ├── 02-sdk-to-v1.md │ │ │ ├── 03-v1-to-v2.md │ │ │ ├── 04-v2-to-v3.md │ │ │ ├── 05-v3-to-v4.md │ │ │ └── _category_.json │ ├── version-v5.3.x │ │ ├── 00-intro.md │ │ ├── 01-ibc │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-apps │ │ │ │ ├── 01-apps.md │ │ │ │ ├── 02-ibcmodule.md │ │ │ │ ├── 03-bindports.md │ │ │ │ ├── 04-keeper.md │ │ │ │ ├── 05-packets_acks.md │ │ │ │ ├── 06-routing.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── packet_flow.png │ │ │ ├── 04-middleware │ │ │ │ ├── 01-develop.md │ │ │ │ ├── 02-integration.md │ │ │ │ └── _category_.json │ │ │ ├── 05-upgrades │ │ │ │ ├── 00-intro.md │ │ │ │ ├── 01-quick-guide.md │ │ │ │ ├── 02-developer-guide.md │ │ │ │ ├── 03-genesis-restart.md │ │ │ │ └── _category_.json │ │ │ ├── 06-proposals.md │ │ │ ├── 07-relayer.md │ │ │ ├── 08-proto-docs.md │ │ │ ├── 09-roadmap.md │ │ │ └── _category_.json │ │ ├── 02-apps │ │ │ ├── 01-transfer │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-state.md │ │ │ │ ├── 03-state-transitions.md │ │ │ │ ├── 04-messages.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-metrics.md │ │ │ │ ├── 07-params.md │ │ │ │ └── _category_.json │ │ │ ├── 02-interchain-accounts │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-auth-modules.md │ │ │ │ ├── 03-active-channels.md │ │ │ │ ├── 04-integration.md │ │ │ │ ├── 05-parameters.md │ │ │ │ ├── 06-transactions.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── send-interchain-tx.png │ │ │ └── _category_.json │ │ ├── 03-middleware │ │ │ ├── 01-ics29-fee │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-msgs.md │ │ │ │ ├── 04-fee-distribution.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-end-users.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ ├── feeflow.png │ │ │ │ │ ├── msgpaypacket.png │ │ │ │ │ └── paypacketfeeasync.png │ │ │ └── _category_.json │ │ └── 04-migrations │ │ │ ├── 01-support-denoms-with-slashes.md │ │ │ ├── 02-sdk-to-v1.md │ │ │ ├── 03-v1-to-v2.md │ │ │ ├── 04-v2-to-v3.md │ │ │ ├── 05-v3-to-v4.md │ │ │ └── _category_.json │ ├── version-v6.2.x │ │ ├── 00-intro.md │ │ ├── 01-ibc │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-apps │ │ │ │ ├── 01-apps.md │ │ │ │ ├── 02-ibcmodule.md │ │ │ │ ├── 03-bindports.md │ │ │ │ ├── 04-keeper.md │ │ │ │ ├── 05-packets_acks.md │ │ │ │ ├── 06-routing.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── packet_flow.png │ │ │ ├── 04-middleware │ │ │ │ ├── 01-develop.md │ │ │ │ ├── 02-integration.md │ │ │ │ └── _category_.json │ │ │ ├── 05-upgrades │ │ │ │ ├── 00-intro.md │ │ │ │ ├── 01-quick-guide.md │ │ │ │ ├── 02-developer-guide.md │ │ │ │ ├── 03-genesis-restart.md │ │ │ │ └── _category_.json │ │ │ ├── 06-proposals.md │ │ │ ├── 07-relayer.md │ │ │ ├── 08-proto-docs.md │ │ │ ├── 09-roadmap.md │ │ │ └── _category_.json │ │ ├── 02-apps │ │ │ ├── 01-transfer │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-state.md │ │ │ │ ├── 03-state-transitions.md │ │ │ │ ├── 04-messages.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-metrics.md │ │ │ │ ├── 07-params.md │ │ │ │ ├── 08-authorizations.md │ │ │ │ └── _category_.json │ │ │ ├── 02-interchain-accounts │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-development.md │ │ │ │ ├── 03-auth-modules.md │ │ │ │ ├── 04-integration.md │ │ │ │ ├── 05-messages.md │ │ │ │ ├── 06-parameters.md │ │ │ │ ├── 07-client.md │ │ │ │ ├── 08-active-channels.md │ │ │ │ ├── 09-legacy │ │ │ │ │ ├── 01-auth-modules.md │ │ │ │ │ ├── 02-integration.md │ │ │ │ │ ├── 03-keeper-api.md │ │ │ │ │ ├── _category_.json │ │ │ │ │ └── images │ │ │ │ │ │ └── ica-pre-v6.png │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── ica-v6.png │ │ │ └── _category_.json │ │ ├── 03-middleware │ │ │ ├── 01-ics29-fee │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-msgs.md │ │ │ │ ├── 04-fee-distribution.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-end-users.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ ├── feeflow.png │ │ │ │ │ ├── msgpaypacket.png │ │ │ │ │ └── paypacketfeeasync.png │ │ │ └── _category_.json │ │ └── 04-migrations │ │ │ ├── 01-support-denoms-with-slashes.md │ │ │ ├── 02-sdk-to-v1.md │ │ │ ├── 03-v1-to-v2.md │ │ │ ├── 04-v2-to-v3.md │ │ │ ├── 05-v3-to-v4.md │ │ │ ├── 06-v4-to-v5.md │ │ │ ├── 07-v5-to-v6.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ └── auth-module-decision-tree.png │ ├── version-v7.3.x │ │ ├── 00-intro.md │ │ ├── 01-ibc │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-apps │ │ │ │ ├── 01-apps.md │ │ │ │ ├── 02-ibcmodule.md │ │ │ │ ├── 03-bindports.md │ │ │ │ ├── 04-keeper.md │ │ │ │ ├── 05-packets_acks.md │ │ │ │ ├── 06-routing.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── packet_flow.png │ │ │ ├── 04-middleware │ │ │ │ ├── 01-develop.md │ │ │ │ ├── 02-integration.md │ │ │ │ └── _category_.json │ │ │ ├── 05-upgrades │ │ │ │ ├── 00-intro.md │ │ │ │ ├── 01-quick-guide.md │ │ │ │ ├── 02-developer-guide.md │ │ │ │ ├── 03-genesis-restart.md │ │ │ │ └── _category_.json │ │ │ ├── 06-proposals.md │ │ │ ├── 07-relayer.md │ │ │ ├── 08-proto-docs.md │ │ │ ├── 09-roadmap.md │ │ │ ├── 10-troubleshooting.md │ │ │ └── _category_.json │ │ ├── 02-apps │ │ │ ├── 01-transfer │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-state.md │ │ │ │ ├── 03-state-transitions.md │ │ │ │ ├── 04-messages.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-metrics.md │ │ │ │ ├── 07-params.md │ │ │ │ ├── 08-authorizations.md │ │ │ │ ├── 09-client.md │ │ │ │ └── _category_.json │ │ │ ├── 02-interchain-accounts │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-development.md │ │ │ │ ├── 03-auth-modules.md │ │ │ │ ├── 04-integration.md │ │ │ │ ├── 05-messages.md │ │ │ │ ├── 06-parameters.md │ │ │ │ ├── 07-tx-encoding.md │ │ │ │ ├── 08-client.md │ │ │ │ ├── 09-active-channels.md │ │ │ │ ├── 10-legacy │ │ │ │ │ ├── 01-auth-modules.md │ │ │ │ │ ├── 02-integration.md │ │ │ │ │ ├── 03-keeper-api.md │ │ │ │ │ ├── _category_.json │ │ │ │ │ └── images │ │ │ │ │ │ └── ica-pre-v6.png │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── ica-v6.png │ │ │ └── _category_.json │ │ ├── 03-light-clients │ │ │ ├── 01-developer-guide │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-client-state.md │ │ │ │ ├── 03-consensus-state.md │ │ │ │ ├── 04-updates-and-misbehaviour.md │ │ │ │ ├── 05-upgrades.md │ │ │ │ ├── 06-proofs.md │ │ │ │ ├── 07-proposals.md │ │ │ │ ├── 08-genesis.md │ │ │ │ ├── 09-setup.md │ │ │ │ └── _category_.json │ │ │ ├── 02-solomachine │ │ │ │ ├── 01-solomachine.md │ │ │ │ ├── 02-concepts.md │ │ │ │ ├── 03-state.md │ │ │ │ ├── 04-state_transitions.md │ │ │ │ └── _category_.json │ │ │ ├── 03-localhost │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-client-state.md │ │ │ │ ├── 04-connection.md │ │ │ │ ├── 05-state-verification.md │ │ │ │ └── _category_.json │ │ │ └── _category_.json │ │ ├── 04-middleware │ │ │ ├── 01-ics29-fee │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-msgs.md │ │ │ │ ├── 04-fee-distribution.md │ │ │ │ ├── 05-events.md │ │ │ │ ├── 06-end-users.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ ├── feeflow.png │ │ │ │ │ ├── msgpaypacket.png │ │ │ │ │ └── paypacketfeeasync.png │ │ │ ├── 02-callbacks │ │ │ │ ├── 01-overview.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-interfaces.md │ │ │ │ ├── 04-events.md │ │ │ │ ├── 05-end-users.md │ │ │ │ ├── 06-gas.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ ├── callbackflow.svg │ │ │ │ │ └── ics4-callbackflow.svg │ │ │ └── _category_.json │ │ └── 05-migrations │ │ │ ├── 01-support-denoms-with-slashes.md │ │ │ ├── 02-sdk-to-v1.md │ │ │ ├── 03-v1-to-v2.md │ │ │ ├── 04-v2-to-v3.md │ │ │ ├── 05-v3-to-v4.md │ │ │ ├── 06-v4-to-v5.md │ │ │ ├── 07-v5-to-v6.md │ │ │ ├── 08-v6-to-v7.md │ │ │ ├── 09-v7-to-v7_1.md │ │ │ ├── 10-v7_2-to-v7_3.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ └── auth-module-decision-tree.png │ └── version-v8.0.x │ │ ├── 00-intro.md │ │ ├── 01-ibc │ │ ├── 01-overview.md │ │ ├── 02-integration.md │ │ ├── 03-apps │ │ │ ├── 01-apps.md │ │ │ ├── 02-ibcmodule.md │ │ │ ├── 03-bindports.md │ │ │ ├── 04-keeper.md │ │ │ ├── 05-packets_acks.md │ │ │ ├── 06-routing.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ └── packet_flow.png │ │ ├── 04-middleware │ │ │ ├── 01-overview.md │ │ │ ├── 02-develop.md │ │ │ ├── 03-integration.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ └── middleware-stack.png │ │ ├── 05-upgrades │ │ │ ├── 00-intro.md │ │ │ ├── 01-quick-guide.md │ │ │ ├── 02-developer-guide.md │ │ │ ├── 03-genesis-restart.md │ │ │ └── _category_.json │ │ ├── 06-proposals.md │ │ ├── 07-relayer.md │ │ ├── 08-proto-docs.md │ │ ├── 09-roadmap.md │ │ ├── 10-troubleshooting.md │ │ ├── 11-capability-module.md │ │ └── _category_.json │ │ ├── 02-apps │ │ ├── 01-transfer │ │ │ ├── 01-overview.md │ │ │ ├── 02-state.md │ │ │ ├── 03-state-transitions.md │ │ │ ├── 04-messages.md │ │ │ ├── 05-events.md │ │ │ ├── 06-metrics.md │ │ │ ├── 07-params.md │ │ │ ├── 08-authorizations.md │ │ │ ├── 09-client.md │ │ │ └── _category_.json │ │ ├── 02-interchain-accounts │ │ │ ├── 01-overview.md │ │ │ ├── 02-development.md │ │ │ ├── 03-auth-modules.md │ │ │ ├── 04-integration.md │ │ │ ├── 05-messages.md │ │ │ ├── 06-parameters.md │ │ │ ├── 07-tx-encoding.md │ │ │ ├── 08-client.md │ │ │ ├── 09-active-channels.md │ │ │ ├── 10-legacy │ │ │ │ ├── 01-auth-modules.md │ │ │ │ ├── 02-integration.md │ │ │ │ ├── 03-keeper-api.md │ │ │ │ ├── _category_.json │ │ │ │ └── images │ │ │ │ │ └── ica-pre-v6.png │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ └── ica-v6.png │ │ └── _category_.json │ │ ├── 03-light-clients │ │ ├── 01-developer-guide │ │ │ ├── 01-overview.md │ │ │ ├── 02-client-state.md │ │ │ ├── 03-consensus-state.md │ │ │ ├── 04-updates-and-misbehaviour.md │ │ │ ├── 05-upgrades.md │ │ │ ├── 06-proofs.md │ │ │ ├── 07-proposals.md │ │ │ ├── 08-genesis.md │ │ │ ├── 09-setup.md │ │ │ └── _category_.json │ │ ├── 02-localhost │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-client-state.md │ │ │ ├── 04-connection.md │ │ │ ├── 05-state-verification.md │ │ │ └── _category_.json │ │ ├── 03-solomachine │ │ │ ├── 01-solomachine.md │ │ │ ├── 02-concepts.md │ │ │ ├── 03-state.md │ │ │ ├── 04-state_transitions.md │ │ │ └── _category_.json │ │ └── _category_.json │ │ ├── 04-middleware │ │ ├── 01-ics29-fee │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-msgs.md │ │ │ ├── 04-fee-distribution.md │ │ │ ├── 05-events.md │ │ │ ├── 06-end-users.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ ├── feeflow.png │ │ │ │ ├── msgpaypacket.png │ │ │ │ └── paypacketfeeasync.png │ │ ├── 02-callbacks │ │ │ ├── 01-overview.md │ │ │ ├── 02-integration.md │ │ │ ├── 03-interfaces.md │ │ │ ├── 04-events.md │ │ │ ├── 05-end-users.md │ │ │ ├── 06-gas.md │ │ │ ├── _category_.json │ │ │ └── images │ │ │ │ ├── callbackflow.svg │ │ │ │ └── ics4-callbackflow.svg │ │ └── _category_.json │ │ └── 05-migrations │ │ ├── 01-support-denoms-with-slashes.md │ │ ├── 02-sdk-to-v1.md │ │ ├── 03-v1-to-v2.md │ │ ├── 04-v2-to-v3.md │ │ ├── 05-v3-to-v4.md │ │ ├── 06-v4-to-v5.md │ │ ├── 07-v5-to-v6.md │ │ ├── 08-v6-to-v7.md │ │ ├── 09-v7-to-v7_1.md │ │ ├── 10-v7_2-to-v7_3.md │ │ ├── 11-v7-to-v8.md │ │ ├── _category_.json │ │ ├── images │ │ └── auth-module-decision-tree.png │ │ └── migration.template.md ├── versioned_sidebars │ ├── version-v4.4.x-sidebars.json │ ├── version-v5.3.x-sidebars.json │ ├── version-v6.2.x-sidebars.json │ ├── version-v7.3.x-sidebars.json │ └── version-v8.0.x-sidebars.json └── versions.json ├── e2e ├── Makefile ├── README.md ├── dockerutil │ └── dockerutil.go ├── go.mod ├── go.sum ├── relayer │ └── relayer.go ├── sample.config.yaml ├── scripts │ ├── init.sh │ ├── run-compatibility-tests.sh │ └── run-e2e.sh ├── semverutil │ ├── semver.go │ └── semver_test.go ├── tests │ ├── core │ │ ├── 02-client │ │ │ └── client_test.go │ │ └── 03-connection │ │ │ └── connection_test.go │ ├── data │ │ └── ics10_grandpa_cw.wasm.gz │ ├── interchain_accounts │ │ ├── base_test.go │ │ ├── gov_test.go │ │ ├── groups_test.go │ │ ├── incentivized_test.go │ │ ├── localhost_test.go │ │ └── params_test.go │ ├── transfer │ │ ├── authz_test.go │ │ ├── base_test.go │ │ ├── incentivized_test.go │ │ └── localhost_test.go │ ├── upgrades │ │ ├── genesis_test.go │ │ └── upgrade_test.go │ └── wasm │ │ ├── contracts │ │ ├── ics10_grandpa_cw.wasm │ │ ├── ics10_grandpa_cw_expiry.wasm.gz │ │ ├── migrate_error.wasm.gz │ │ └── migrate_success.wasm.gz │ │ └── grandpa_test.go ├── testsuite │ ├── codec.go │ ├── diagnostics │ │ └── diagnostics.go │ ├── events.go │ ├── grpc_query.go │ ├── sanitize │ │ └── messages.go │ ├── testconfig.go │ ├── testsuite.go │ └── tx.go └── testvalues │ └── values.go ├── go.mod ├── go.sum ├── go.work.example ├── internal └── logging │ └── logging.go ├── maintainership.png ├── modules ├── apps │ ├── 27-interchain-accounts │ │ ├── client │ │ │ └── cli │ │ │ │ └── cli.go │ │ ├── controller │ │ │ ├── client │ │ │ │ └── cli │ │ │ │ │ ├── cli.go │ │ │ │ │ ├── query.go │ │ │ │ │ └── tx.go │ │ │ ├── ibc_middleware.go │ │ │ ├── ibc_middleware_test.go │ │ │ ├── keeper │ │ │ │ ├── account.go │ │ │ │ ├── account_test.go │ │ │ │ ├── events.go │ │ │ │ ├── export_test.go │ │ │ │ ├── genesis.go │ │ │ │ ├── genesis_test.go │ │ │ │ ├── grpc_query.go │ │ │ │ ├── grpc_query_test.go │ │ │ │ ├── handshake.go │ │ │ │ ├── handshake_test.go │ │ │ │ ├── keeper.go │ │ │ │ ├── keeper_test.go │ │ │ │ ├── migrations.go │ │ │ │ ├── migrations_test.go │ │ │ │ ├── msg_server.go │ │ │ │ ├── msg_server_test.go │ │ │ │ ├── relay.go │ │ │ │ └── relay_test.go │ │ │ ├── migrations │ │ │ │ └── v6 │ │ │ │ │ ├── migrations.go │ │ │ │ │ └── migrations_test.go │ │ │ └── types │ │ │ │ ├── codec.go │ │ │ │ ├── codec_test.go │ │ │ │ ├── controller.pb.go │ │ │ │ ├── errors.go │ │ │ │ ├── keys.go │ │ │ │ ├── msgs.go │ │ │ │ ├── msgs_test.go │ │ │ │ ├── params.go │ │ │ │ ├── params_legacy.go │ │ │ │ ├── query.pb.go │ │ │ │ ├── query.pb.gw.go │ │ │ │ └── tx.pb.go │ │ ├── doc.go │ │ ├── genesis │ │ │ └── types │ │ │ │ ├── genesis.go │ │ │ │ ├── genesis.pb.go │ │ │ │ └── genesis_test.go │ │ ├── host │ │ │ ├── client │ │ │ │ └── cli │ │ │ │ │ ├── cli.go │ │ │ │ │ ├── query.go │ │ │ │ │ ├── tx.go │ │ │ │ │ └── tx_test.go │ │ │ ├── ibc_module.go │ │ │ ├── ibc_module_test.go │ │ │ ├── keeper │ │ │ │ ├── account.go │ │ │ │ ├── events.go │ │ │ │ ├── export_test.go │ │ │ │ ├── genesis.go │ │ │ │ ├── genesis_test.go │ │ │ │ ├── grpc_query.go │ │ │ │ ├── grpc_query_test.go │ │ │ │ ├── handshake.go │ │ │ │ ├── handshake_test.go │ │ │ │ ├── keeper.go │ │ │ │ ├── keeper_test.go │ │ │ │ ├── migrations.go │ │ │ │ ├── migrations_test.go │ │ │ │ ├── msg_server.go │ │ │ │ ├── msg_server_test.go │ │ │ │ ├── relay.go │ │ │ │ └── relay_test.go │ │ │ └── types │ │ │ │ ├── codec.go │ │ │ │ ├── codec_test.go │ │ │ │ ├── errors.go │ │ │ │ ├── host.pb.go │ │ │ │ ├── keys.go │ │ │ │ ├── msgs.go │ │ │ │ ├── msgs_test.go │ │ │ │ ├── params.go │ │ │ │ ├── params_legacy.go │ │ │ │ ├── params_test.go │ │ │ │ ├── query.pb.go │ │ │ │ ├── query.pb.gw.go │ │ │ │ └── tx.pb.go │ │ ├── module.go │ │ ├── module_test.go │ │ ├── simulation │ │ │ ├── decoder.go │ │ │ ├── decoder_test.go │ │ │ ├── genesis.go │ │ │ ├── genesis_test.go │ │ │ ├── proposals.go │ │ │ └── proposals_test.go │ │ └── types │ │ │ ├── account.go │ │ │ ├── account.pb.go │ │ │ ├── account_test.go │ │ │ ├── codec.go │ │ │ ├── codec_test.go │ │ │ ├── errors.go │ │ │ ├── events.go │ │ │ ├── expected_keepers.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── metadata.go │ │ │ ├── metadata.pb.go │ │ │ ├── metadata_test.go │ │ │ ├── packet.go │ │ │ ├── packet.pb.go │ │ │ ├── packet_test.go │ │ │ ├── port.go │ │ │ ├── port_test.go │ │ │ └── router.go │ ├── 29-fee │ │ ├── client │ │ │ └── cli │ │ │ │ ├── cli.go │ │ │ │ ├── query.go │ │ │ │ └── tx.go │ │ ├── doc.go │ │ ├── fee_test.go │ │ ├── ibc_middleware.go │ │ ├── ibc_middleware_test.go │ │ ├── ica_test.go │ │ ├── keeper │ │ │ ├── escrow.go │ │ │ ├── escrow_test.go │ │ │ ├── events.go │ │ │ ├── events_test.go │ │ │ ├── export_test.go │ │ │ ├── genesis.go │ │ │ ├── genesis_test.go │ │ │ ├── grpc_query.go │ │ │ ├── grpc_query_test.go │ │ │ ├── keeper.go │ │ │ ├── keeper_test.go │ │ │ ├── msg_server.go │ │ │ ├── msg_server_test.go │ │ │ ├── relay.go │ │ │ └── relay_test.go │ │ ├── module.go │ │ ├── transfer_test.go │ │ └── types │ │ │ ├── ack.go │ │ │ ├── ack.pb.go │ │ │ ├── codec.go │ │ │ ├── codec_test.go │ │ │ ├── errors.go │ │ │ ├── events.go │ │ │ ├── expected_keepers.go │ │ │ ├── fee.go │ │ │ ├── fee.pb.go │ │ │ ├── fee_test.go │ │ │ ├── genesis.go │ │ │ ├── genesis.pb.go │ │ │ ├── genesis_test.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── metadata.go │ │ │ ├── metadata.pb.go │ │ │ ├── metadata_test.go │ │ │ ├── msgs.go │ │ │ ├── msgs_test.go │ │ │ ├── query.pb.go │ │ │ ├── query.pb.gw.go │ │ │ └── tx.pb.go │ ├── callbacks │ │ ├── Dockerfile │ │ ├── callbacks_test.go │ │ ├── export_test.go │ │ ├── fee_transfer_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── ibc_middleware.go │ │ ├── ibc_middleware_test.go │ │ ├── ica_test.go │ │ ├── testing │ │ │ └── simapp │ │ │ │ ├── README.md │ │ │ │ ├── ante_handler.go │ │ │ │ ├── app.go │ │ │ │ ├── contract_keeper.go │ │ │ │ ├── encoding.go │ │ │ │ ├── export.go │ │ │ │ ├── genesis.go │ │ │ │ ├── genesis_account.go │ │ │ │ ├── params │ │ │ │ ├── amino.go │ │ │ │ ├── doc.go │ │ │ │ ├── encoding.go │ │ │ │ └── proto.go │ │ │ │ └── simd │ │ │ │ ├── cmd │ │ │ │ └── root.go │ │ │ │ └── main.go │ │ ├── transfer_test.go │ │ └── types │ │ │ ├── callbacks.go │ │ │ ├── callbacks_test.go │ │ │ ├── errors.go │ │ │ ├── events.go │ │ │ ├── events_test.go │ │ │ ├── expected_keepers.go │ │ │ ├── export_test.go │ │ │ ├── keys.go │ │ │ └── types_test.go │ └── transfer │ │ ├── client │ │ └── cli │ │ │ ├── cli.go │ │ │ ├── query.go │ │ │ └── tx.go │ │ ├── doc.go │ │ ├── ibc_module.go │ │ ├── ibc_module_test.go │ │ ├── keeper │ │ ├── MBT_README.md │ │ ├── encoding.go │ │ ├── export_test.go │ │ ├── genesis.go │ │ ├── genesis_test.go │ │ ├── grpc_query.go │ │ ├── grpc_query_test.go │ │ ├── invariants.go │ │ ├── invariants_test.go │ │ ├── keeper.go │ │ ├── keeper_test.go │ │ ├── mbt_relay_test.go │ │ ├── migrations.go │ │ ├── migrations_test.go │ │ ├── model_based_tests │ │ │ ├── Test5Packets.json │ │ │ ├── Test5Packets.tla │ │ │ ├── Test5PacketsAllDifferentPass.json │ │ │ ├── Test5PacketsAllDifferentPass.tla │ │ │ ├── TestOnRecvAcknowledgementErrorFail.json │ │ │ ├── TestOnRecvAcknowledgementErrorFail.tla │ │ │ ├── TestOnRecvAcknowledgementErrorPass.json │ │ │ ├── TestOnRecvAcknowledgementErrorPass.tla │ │ │ ├── TestOnRecvAcknowledgementResultFail.json │ │ │ ├── TestOnRecvAcknowledgementResultFail.tla │ │ │ ├── TestOnRecvAcknowledgementResultPass.json │ │ │ ├── TestOnRecvAcknowledgementResultPass.tla │ │ │ ├── TestOnRecvPacketFail.json │ │ │ ├── TestOnRecvPacketFail.tla │ │ │ ├── TestOnRecvPacketPass.json │ │ │ ├── TestOnRecvPacketPass.tla │ │ │ ├── TestOnTimeoutFail.json │ │ │ ├── TestOnTimeoutFail.tla │ │ │ ├── TestOnTimeoutPass.json │ │ │ ├── TestOnTimeoutPass.tla │ │ │ ├── TestSendTransferFail.json │ │ │ ├── TestSendTransferFail.tla │ │ │ ├── TestSendTransferPass.json │ │ │ ├── TestSendTransferPass.tla │ │ │ ├── TestUnescrowTokens.json │ │ │ └── TestUnescrowTokens.tla │ │ ├── msg_server.go │ │ ├── msg_server_test.go │ │ ├── relay.go │ │ ├── relay_model │ │ │ ├── account.tla │ │ │ ├── account_record.tla │ │ │ ├── apalache-to-relay-test.json │ │ │ ├── apalache-to-relay-test2.json │ │ │ ├── denom.tla │ │ │ ├── denom_record.tla │ │ │ ├── denom_record2.tla │ │ │ ├── denom_sequence.tla │ │ │ ├── identifiers.tla │ │ │ ├── relay.tla │ │ │ └── relay_tests.tla │ │ └── relay_test.go │ │ ├── module.go │ │ ├── simulation │ │ ├── decoder.go │ │ ├── decoder_test.go │ │ ├── genesis.go │ │ ├── genesis_test.go │ │ ├── proposals.go │ │ └── proposals_test.go │ │ ├── transfer_test.go │ │ └── types │ │ ├── authz.pb.go │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── coin.go │ │ ├── errors.go │ │ ├── events.go │ │ ├── expected_keepers.go │ │ ├── genesis.go │ │ ├── genesis.pb.go │ │ ├── genesis_test.go │ │ ├── keys.go │ │ ├── keys_test.go │ │ ├── msgs.go │ │ ├── msgs_test.go │ │ ├── packet.go │ │ ├── packet.pb.go │ │ ├── packet_test.go │ │ ├── params.go │ │ ├── params_legacy.go │ │ ├── query.pb.go │ │ ├── query.pb.gw.go │ │ ├── trace.go │ │ ├── trace_test.go │ │ ├── transfer.pb.go │ │ ├── transfer_authorization.go │ │ ├── transfer_authorization_test.go │ │ ├── tx.pb.go │ │ └── types_test.go ├── capability │ ├── CHANGELOG.md │ ├── capability_test.go │ ├── genesis.go │ ├── genesis_test.go │ ├── go.mod │ ├── go.sum │ ├── keeper │ │ ├── keeper.go │ │ └── keeper_test.go │ ├── module.go │ ├── simulation │ │ ├── decoder.go │ │ ├── decoder_test.go │ │ ├── genesis.go │ │ └── genesis_test.go │ └── types │ │ ├── capability.pb.go │ │ ├── errors.go │ │ ├── genesis.go │ │ ├── genesis.pb.go │ │ ├── genesis_test.go │ │ ├── keys.go │ │ ├── keys_test.go │ │ ├── types.go │ │ └── types_test.go ├── core │ ├── 02-client │ │ ├── abci.go │ │ ├── abci_test.go │ │ ├── client │ │ │ ├── cli │ │ │ │ ├── cli.go │ │ │ │ ├── query.go │ │ │ │ └── tx.go │ │ │ └── utils │ │ │ │ └── utils.go │ │ ├── doc.go │ │ ├── genesis.go │ │ ├── keeper │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ ├── encoding.go │ │ │ ├── events.go │ │ │ ├── grpc_query.go │ │ │ ├── grpc_query_test.go │ │ │ ├── keeper.go │ │ │ ├── keeper_test.go │ │ │ ├── migrations.go │ │ │ └── migrations_test.go │ │ ├── migrations │ │ │ └── v7 │ │ │ │ ├── expected_keepers.go │ │ │ │ ├── genesis.go │ │ │ │ ├── genesis_test.go │ │ │ │ ├── localhost.go │ │ │ │ ├── localhost_test.go │ │ │ │ ├── solomachine.go │ │ │ │ ├── solomachine.pb.go │ │ │ │ ├── store.go │ │ │ │ └── store_test.go │ │ ├── module.go │ │ ├── proposal_handler.go │ │ ├── proposal_handler_test.go │ │ ├── simulation │ │ │ ├── decoder.go │ │ │ ├── decoder_test.go │ │ │ └── genesis.go │ │ └── types │ │ │ ├── client.go │ │ │ ├── client.pb.go │ │ │ ├── client_test.go │ │ │ ├── codec.go │ │ │ ├── codec_test.go │ │ │ ├── encoding.go │ │ │ ├── encoding_test.go │ │ │ ├── errors.go │ │ │ ├── events.go │ │ │ ├── expected_keepers.go │ │ │ ├── genesis.go │ │ │ ├── genesis.pb.go │ │ │ ├── genesis_test.go │ │ │ ├── height.go │ │ │ ├── height_test.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── legacy_proposal.go │ │ │ ├── legacy_proposal_test.go │ │ │ ├── metrics.go │ │ │ ├── msgs.go │ │ │ ├── msgs_test.go │ │ │ ├── params.go │ │ │ ├── params_legacy.go │ │ │ ├── params_test.go │ │ │ ├── query.go │ │ │ ├── query.pb.go │ │ │ ├── query.pb.gw.go │ │ │ └── tx.pb.go │ ├── 03-connection │ │ ├── client │ │ │ ├── cli │ │ │ │ ├── cli.go │ │ │ │ └── query.go │ │ │ └── utils │ │ │ │ └── utils.go │ │ ├── doc.go │ │ ├── genesis.go │ │ ├── keeper │ │ │ ├── events.go │ │ │ ├── grpc_query.go │ │ │ ├── grpc_query_test.go │ │ │ ├── handshake.go │ │ │ ├── handshake_test.go │ │ │ ├── keeper.go │ │ │ ├── keeper_test.go │ │ │ ├── migrations.go │ │ │ ├── migrations_test.go │ │ │ ├── verify.go │ │ │ └── verify_test.go │ │ ├── migrations │ │ │ └── v7 │ │ │ │ ├── expected_keepers.go │ │ │ │ └── localhost.go │ │ ├── module.go │ │ ├── simulation │ │ │ ├── decoder.go │ │ │ ├── decoder_test.go │ │ │ └── genesis.go │ │ └── types │ │ │ ├── codec.go │ │ │ ├── codec_test.go │ │ │ ├── connection.go │ │ │ ├── connection.pb.go │ │ │ ├── connection_test.go │ │ │ ├── errors.go │ │ │ ├── events.go │ │ │ ├── expected_keepers.go │ │ │ ├── genesis.go │ │ │ ├── genesis.pb.go │ │ │ ├── genesis_test.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── msgs.go │ │ │ ├── msgs_test.go │ │ │ ├── params.go │ │ │ ├── params_legacy.go │ │ │ ├── params_test.go │ │ │ ├── query.go │ │ │ ├── query.pb.go │ │ │ ├── query.pb.gw.go │ │ │ ├── tx.pb.go │ │ │ ├── version.go │ │ │ └── version_test.go │ ├── 04-channel │ │ ├── client │ │ │ ├── cli │ │ │ │ ├── cli.go │ │ │ │ └── query.go │ │ │ └── utils │ │ │ │ └── utils.go │ │ ├── doc.go │ │ ├── genesis.go │ │ ├── keeper │ │ │ ├── events.go │ │ │ ├── grpc_query.go │ │ │ ├── grpc_query_test.go │ │ │ ├── handshake.go │ │ │ ├── handshake_test.go │ │ │ ├── keeper.go │ │ │ ├── keeper_test.go │ │ │ ├── multihop_handshake_test.go │ │ │ ├── multihop_packet_test.go │ │ │ ├── multihop_test.go │ │ │ ├── multihop_timeout_test.go │ │ │ ├── packet.go │ │ │ ├── packet_test.go │ │ │ ├── timeout.go │ │ │ └── timeout_test.go │ │ ├── module.go │ │ ├── simulation │ │ │ ├── decoder.go │ │ │ ├── decoder_test.go │ │ │ └── genesis.go │ │ └── types │ │ │ ├── acknowledgement.go │ │ │ ├── acknowledgement_test.go │ │ │ ├── channel.go │ │ │ ├── channel.pb.go │ │ │ ├── channel_test.go │ │ │ ├── codec.go │ │ │ ├── codec_test.go │ │ │ ├── errors.go │ │ │ ├── events.go │ │ │ ├── expected_keepers.go │ │ │ ├── genesis.go │ │ │ ├── genesis.pb.go │ │ │ ├── genesis_test.go │ │ │ ├── keys.go │ │ │ ├── keys_test.go │ │ │ ├── msgs.go │ │ │ ├── msgs_test.go │ │ │ ├── multihop.go │ │ │ ├── packet.go │ │ │ ├── packet_test.go │ │ │ ├── query.go │ │ │ ├── query.pb.go │ │ │ ├── query.pb.gw.go │ │ │ └── tx.pb.go │ ├── 05-port │ │ ├── doc.go │ │ ├── keeper │ │ │ ├── keeper.go │ │ │ └── keeper_test.go │ │ ├── module.go │ │ └── types │ │ │ ├── errors.go │ │ │ ├── keys.go │ │ │ ├── module.go │ │ │ ├── router.go │ │ │ └── utils.go │ ├── 23-commitment │ │ └── types │ │ │ ├── bench_test.go │ │ │ ├── codec.go │ │ │ ├── codec_test.go │ │ │ ├── commitment.pb.go │ │ │ ├── commitment_test.go │ │ │ ├── errors.go │ │ │ ├── merkle.go │ │ │ ├── merkle_test.go │ │ │ ├── utils.go │ │ │ └── utils_test.go │ ├── 24-host │ │ ├── doc.go │ │ ├── errors.go │ │ ├── keys.go │ │ ├── parse.go │ │ ├── parse_test.go │ │ ├── validate.go │ │ └── validate_test.go │ ├── 33-multihop │ │ ├── query.go │ │ └── verify.go │ ├── ante │ │ ├── ante.go │ │ └── ante_test.go │ ├── client │ │ ├── cli │ │ │ └── cli.go │ │ └── query.go │ ├── errors │ │ └── errors.go │ ├── exported │ │ ├── channel.go │ │ ├── client.go │ │ ├── commitment.go │ │ ├── connection.go │ │ ├── expected_keepers.go │ │ ├── module.go │ │ └── packet.go │ ├── genesis.go │ ├── genesis_test.go │ ├── keeper │ │ ├── grpc_query.go │ │ ├── keeper.go │ │ ├── keeper_test.go │ │ ├── migrations.go │ │ ├── msg_server.go │ │ └── msg_server_test.go │ ├── migrations │ │ └── v7 │ │ │ ├── genesis.go │ │ │ └── genesis_test.go │ ├── module.go │ ├── simulation │ │ ├── decoder.go │ │ ├── decoder_test.go │ │ ├── genesis.go │ │ ├── genesis_test.go │ │ ├── proposals.go │ │ └── proposals_test.go │ ├── spec │ │ └── 01_concepts.md │ └── types │ │ ├── codec.go │ │ ├── expected_interfaces.go │ │ ├── genesis.go │ │ ├── genesis.pb.go │ │ ├── metrics.go │ │ └── query.go └── light-clients │ ├── 06-solomachine │ ├── client_state.go │ ├── client_state_test.go │ ├── codec.go │ ├── codec_test.go │ ├── consensus_state.go │ ├── consensus_state_test.go │ ├── doc.go │ ├── errors.go │ ├── header.go │ ├── header_test.go │ ├── keys.go │ ├── misbehaviour.go │ ├── misbehaviour_handle.go │ ├── misbehaviour_test.go │ ├── module.go │ ├── proof.go │ ├── proof_test.go │ ├── proposal_handle.go │ ├── proposal_handle_test.go │ ├── solomachine.go │ ├── solomachine.pb.go │ ├── solomachine_test.go │ ├── update.go │ └── update_test.go │ ├── 07-tendermint │ ├── client_state.go │ ├── client_state_test.go │ ├── codec.go │ ├── codec_test.go │ ├── consensus_state.go │ ├── consensus_state_test.go │ ├── doc.go │ ├── errors.go │ ├── fraction.go │ ├── genesis.go │ ├── genesis_test.go │ ├── header.go │ ├── header_test.go │ ├── keys.go │ ├── migrations │ │ ├── expected_keepers.go │ │ ├── migrations.go │ │ └── migrations_test.go │ ├── misbehaviour.go │ ├── misbehaviour_handle.go │ ├── misbehaviour_handle_test.go │ ├── misbehaviour_test.go │ ├── module.go │ ├── proposal_handle.go │ ├── proposal_handle_test.go │ ├── store.go │ ├── store_test.go │ ├── tendermint.pb.go │ ├── tendermint_test.go │ ├── update.go │ ├── update_test.go │ ├── upgrade.go │ └── upgrade_test.go │ ├── 08-wasm │ ├── Dockerfile │ ├── client │ │ └── cli │ │ │ ├── cli.go │ │ │ ├── query.go │ │ │ └── tx.go │ ├── doc.go │ ├── go.mod │ ├── go.sum │ ├── internal │ │ └── ibcwasm │ │ │ ├── expected_interfaces.go │ │ │ └── wasm.go │ ├── keeper │ │ ├── events.go │ │ ├── genesis.go │ │ ├── genesis_test.go │ │ ├── grpc_query.go │ │ ├── grpc_query_test.go │ │ ├── keeper.go │ │ ├── keeper_test.go │ │ ├── msg_server.go │ │ ├── msg_server_test.go │ │ ├── snapshotter.go │ │ └── snapshotter_test.go │ ├── module.go │ ├── simulation │ │ ├── proposals.go │ │ └── proposals_test.go │ ├── test_data │ │ ├── ics07_tendermint_cw.wasm.gz │ │ └── ics10_grandpa_cw.wasm.gz │ ├── testing │ │ ├── mock_engine.go │ │ ├── simapp │ │ │ ├── README.md │ │ │ ├── ante_handler.go │ │ │ ├── app.go │ │ │ ├── encoding.go │ │ │ ├── export.go │ │ │ ├── genesis.go │ │ │ ├── genesis_account.go │ │ │ ├── params │ │ │ │ ├── amino.go │ │ │ │ ├── doc.go │ │ │ │ ├── encoding.go │ │ │ │ └── proto.go │ │ │ ├── simd │ │ │ │ ├── cmd │ │ │ │ │ └── root.go │ │ │ │ └── main.go │ │ │ └── test_helpers.go │ │ ├── values.go │ │ └── wasm_endpoint.go │ └── types │ │ ├── client_message.go │ │ ├── client_message_test.go │ │ ├── client_state.go │ │ ├── client_state_test.go │ │ ├── codec.go │ │ ├── codec_test.go │ │ ├── config.go │ │ ├── consensus_state.go │ │ ├── consensus_state_test.go │ │ ├── contract_api.go │ │ ├── errors.go │ │ ├── events.go │ │ ├── expected_keepers.go │ │ ├── export_test.go │ │ ├── gas_register.go │ │ ├── gas_register_custom.go │ │ ├── genesis.go │ │ ├── genesis.pb.go │ │ ├── genesis_test.go │ │ ├── keys.go │ │ ├── migrate_contract.go │ │ ├── migrate_contract_test.go │ │ ├── misbehaviour_handle.go │ │ ├── misbehaviour_handle_test.go │ │ ├── msgs.go │ │ ├── msgs_test.go │ │ ├── proposal_handle.go │ │ ├── proposal_handle_test.go │ │ ├── query.pb.go │ │ ├── query.pb.gw.go │ │ ├── store.go │ │ ├── store_test.go │ │ ├── tx.pb.go │ │ ├── types_test.go │ │ ├── update.go │ │ ├── update_test.go │ │ ├── upgrade.go │ │ ├── upgrade_test.go │ │ ├── utils.go │ │ ├── validation.go │ │ ├── validation_test.go │ │ ├── vm.go │ │ ├── vm_test.go │ │ ├── wasm.go │ │ ├── wasm.pb.go │ │ └── wasm_test.go │ └── 09-localhost │ ├── client_state.go │ ├── client_state_test.go │ ├── codec.go │ ├── codec_test.go │ ├── keys.go │ ├── localhost.pb.go │ └── localhost_test.go ├── proto ├── buf.gen.gogo.yaml ├── buf.gen.swagger.yaml ├── buf.lock ├── buf.yaml ├── capability │ └── v1 │ │ ├── capability.proto │ │ └── genesis.proto └── ibc │ ├── applications │ ├── fee │ │ └── v1 │ │ │ ├── ack.proto │ │ │ ├── fee.proto │ │ │ ├── genesis.proto │ │ │ ├── metadata.proto │ │ │ ├── query.proto │ │ │ └── tx.proto │ ├── interchain_accounts │ │ ├── controller │ │ │ └── v1 │ │ │ │ ├── controller.proto │ │ │ │ ├── query.proto │ │ │ │ └── tx.proto │ │ ├── genesis │ │ │ └── v1 │ │ │ │ └── genesis.proto │ │ ├── host │ │ │ └── v1 │ │ │ │ ├── host.proto │ │ │ │ ├── query.proto │ │ │ │ └── tx.proto │ │ └── v1 │ │ │ ├── account.proto │ │ │ ├── metadata.proto │ │ │ └── packet.proto │ └── transfer │ │ ├── v1 │ │ ├── authz.proto │ │ ├── genesis.proto │ │ ├── query.proto │ │ ├── transfer.proto │ │ └── tx.proto │ │ └── v2 │ │ └── packet.proto │ ├── core │ ├── channel │ │ └── v1 │ │ │ ├── channel.proto │ │ │ ├── genesis.proto │ │ │ ├── query.proto │ │ │ └── tx.proto │ ├── client │ │ └── v1 │ │ │ ├── client.proto │ │ │ ├── genesis.proto │ │ │ ├── query.proto │ │ │ └── tx.proto │ ├── commitment │ │ └── v1 │ │ │ └── commitment.proto │ ├── connection │ │ └── v1 │ │ │ ├── connection.proto │ │ │ ├── genesis.proto │ │ │ ├── query.proto │ │ │ └── tx.proto │ └── types │ │ └── v1 │ │ └── genesis.proto │ └── lightclients │ ├── localhost │ └── v2 │ │ └── localhost.proto │ ├── solomachine │ ├── v2 │ │ └── solomachine.proto │ └── v3 │ │ └── solomachine.proto │ ├── tendermint │ └── v1 │ │ └── tendermint.proto │ └── wasm │ └── v1 │ ├── genesis.proto │ ├── query.proto │ ├── tx.proto │ └── wasm.proto ├── releases-decision-tree.png ├── requirements.txt ├── scripts ├── README.md ├── get-libwasm-version.py ├── go-lint-all.sh ├── go-mod-tidy-all.sh ├── go-test-all.py ├── hooks │ └── pre-commit.sh ├── init-simapp.sh ├── linkify_changelog.py ├── protoc-swagger-gen.sh ├── protocgen.sh └── update_compatibility_tests.py └── testing ├── README.md ├── app.go ├── chain.go ├── chain_test.go ├── config.go ├── coordinator.go ├── coordinator_multihop.go ├── endpoint.go ├── endpoint_multihop.go ├── events.go ├── events_test.go ├── mock ├── README.md ├── ack.go ├── doc.go ├── ibc_app.go ├── ibc_module.go ├── ibc_module_test.go ├── mock.go ├── privval.go └── privval_test.go ├── path.go ├── path_multihop.go ├── simapp ├── README.md ├── ante.go ├── app.go ├── export.go ├── genesis.go ├── genesis_account.go ├── params │ ├── amino.go │ ├── doc.go │ ├── encoding.go │ ├── params.go │ ├── proto.go │ └── weights.go ├── simd │ ├── cmd │ │ ├── cmd_test.go │ │ └── root.go │ └── main.go ├── test_helpers.go ├── upgrades.go └── upgrades │ └── upgrades.go ├── solomachine.go ├── types └── expected_keepers.go ├── utils.go └── values.go /.github/compatibility-test-matrices/main/client-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main" 7 | ], 8 | "entrypoint": [ 9 | "TestClientTestSuite" 10 | ], 11 | "test": [ 12 | "TestClientUpdateProposal_Succeeds", 13 | "TestRecoverClient_Succeeds", 14 | "TestScheduleIBCUpgrade_Succeeds", 15 | "TestClient_Update_Misbehaviour", 16 | "TestAllowedClientsParam" 17 | ], 18 | "relayer-type": [ 19 | "hermes" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/connection-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main" 7 | ], 8 | "entrypoint": [ 9 | "TestConnectionTestSuite" 10 | ], 11 | "test": [ 12 | "TestMaxExpectedTimePerBlockParam" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/genesis-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main" 7 | ], 8 | "entrypoint": [ 9 | "TestGenesisTestSuite" 10 | ], 11 | "test": [ 12 | "TestIBCGenesis" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1", 11 | "v6.1.2" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestControllerEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1", 8 | "v6.1.2" 9 | ], 10 | "chain-b": [ 11 | "main" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestHostEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/ica-gov-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1", 11 | "v6.1.2" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/ica-gov-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1", 8 | "v6.1.2" 9 | ], 10 | "chain-b": [ 11 | "main" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/ica-groups-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1", 11 | "v6.1.2" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/ica-groups-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1", 8 | "v6.1.2" 9 | ], 10 | "chain-b": [ 11 | "main" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/incentivized-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1", 11 | "v6.1.2" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/incentivized-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1", 8 | "v6.1.2" 9 | ], 10 | "chain-b": [ 11 | "main" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/incentivized-transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1", 11 | "v6.1.2" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", 18 | "TestMsgPayPacketFee_InvalidReceiverAccount", 19 | "TestMultiMsg_MsgPayPacketFeeSingleSender", 20 | "TestMsgPayPacketFee_SingleSender_TimesOut", 21 | "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", 22 | "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/incentivized-transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1", 8 | "v6.1.2" 9 | ], 10 | "chain-b": [ 11 | "main" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", 18 | "TestMsgPayPacketFee_InvalidReceiverAccount", 19 | "TestMultiMsg_MsgPayPacketFeeSingleSender", 20 | "TestMsgPayPacketFee_SingleSender_TimesOut", 21 | "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", 22 | "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/localhost-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2" 7 | ], 8 | "chain-b": [ 9 | "main" 10 | ], 11 | "entrypoint": [ 12 | "LocalhostInterchainAccountsTestSuite" 13 | ], 14 | "test": [ 15 | "TestInterchainAccounts_Localhost", 16 | "TestInterchainAccounts_ReopenChannel_Localhost" 17 | ], 18 | "relayer-type": [ 19 | "hermes" 20 | ] 21 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/localhost-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2" 10 | ], 11 | "entrypoint": [ 12 | "LocalhostInterchainAccountsTestSuite" 13 | ], 14 | "test": [ 15 | "TestInterchainAccounts_Localhost", 16 | "TestInterchainAccounts_ReopenChannel_Localhost" 17 | ], 18 | "relayer-type": [ 19 | "hermes" 20 | ] 21 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/localhost-transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2" 7 | ], 8 | "chain-b": [ 9 | "main" 10 | ], 11 | "entrypoint": [ 12 | "LocalhostTransferTestSuite" 13 | ], 14 | "test": [ 15 | "TestMsgTransfer_Localhost" 16 | ], 17 | "relayer-type": [ 18 | "hermes" 19 | ] 20 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/localhost-transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2" 10 | ], 11 | "entrypoint": [ 12 | "LocalhostTransferTestSuite" 13 | ], 14 | "test": [ 15 | "TestMsgTransfer_Localhost" 16 | ], 17 | "relayer-type": [ 18 | "hermes" 19 | ] 20 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/transfer-authz-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/transfer-authz-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1" 8 | ], 9 | "chain-b": [ 10 | "main" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main" 4 | ], 5 | "chain-b": [ 6 | "main", 7 | "v8.0.0", 8 | "v7.3.1", 9 | "v7.2.2", 10 | "v6.2.1", 11 | "v6.1.2" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo", 21 | "TestSendEnabledParam", 22 | "TestReceiveEnabledParam" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/main/transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "main", 4 | "v8.0.0", 5 | "v7.3.1", 6 | "v7.2.2", 7 | "v6.2.1", 8 | "v6.1.2" 9 | ], 10 | "chain-b": [ 11 | "main" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/client-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "release-v6.1.x" 7 | ], 8 | "entrypoint": [ 9 | "TestClientTestSuite" 10 | ], 11 | "test": [ 12 | "TestClientUpdateProposal_Succeeds", 13 | "TestClient_Update_Misbehaviour" 14 | ], 15 | "relayer-type": [ 16 | "hermes" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/connection-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "release-v6.1.x" 7 | ], 8 | "entrypoint": [ 9 | "TestConnectionTestSuite" 10 | ], 11 | "test": [ 12 | "TestMaxExpectedTimePerBlockParam" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestControllerEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.1.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestHostEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/ica-gov-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/ica-gov-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.1.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/ica-groups-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/ica-groups-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.1.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/incentivized-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/incentivized-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.1.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.1.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo", 21 | "TestSendEnabledParam", 22 | "TestReceiveEnabledParam" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.1.x/transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.1.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.1.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/client-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "release-v6.2.x" 7 | ], 8 | "entrypoint": [ 9 | "TestClientTestSuite" 10 | ], 11 | "test": [ 12 | "TestClientUpdateProposal_Succeeds", 13 | "TestClient_Update_Misbehaviour" 14 | ], 15 | "relayer-type": [ 16 | "hermes" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/connection-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "release-v6.2.x" 7 | ], 8 | "entrypoint": [ 9 | "TestConnectionTestSuite" 10 | ], 11 | "test": [ 12 | "TestMaxExpectedTimePerBlockParam" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestControllerEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestHostEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/ica-gov-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/ica-gov-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/ica-groups-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/ica-groups-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/incentivized-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/incentivized-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/transfer-authz-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "release-v6.2.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/transfer-authz-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "release-v6.2.x" 8 | ], 9 | "chain-b": [ 10 | "release-v6.2.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v6.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo", 21 | "TestSendEnabledParam", 22 | "TestReceiveEnabledParam" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v6.2.x/transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v6.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v6.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/client-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.2.x" 7 | ], 8 | "entrypoint": [ 9 | "TestClientTestSuite" 10 | ], 11 | "test": [ 12 | "TestClientUpdateProposal_Succeeds", 13 | "TestClient_Update_Misbehaviour", 14 | "TestAllowedClientsParam" 15 | ], 16 | "relayer-type": [ 17 | "hermes" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/connection-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.2.x" 7 | ], 8 | "entrypoint": [ 9 | "TestConnectionTestSuite" 10 | ], 11 | "test": [ 12 | "TestMaxExpectedTimePerBlockParam" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestControllerEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestHostEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/ica-gov-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/ica-gov-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/ica-groups-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/ica-groups-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/incentivized-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/incentivized-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/localhost-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.2.x" 7 | ], 8 | "entrypoint": [ 9 | "LocalhostInterchainAccountsTestSuite" 10 | ], 11 | "test": [ 12 | "TestInterchainAccounts_Localhost", 13 | "TestInterchainAccounts_ReopenChannel_Localhost" 14 | ], 15 | "relayer-type": [ 16 | "hermes" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/localhost-transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.2.x" 7 | ], 8 | "entrypoint": [ 9 | "LocalhostTransferTestSuite" 10 | ], 11 | "test": [ 12 | "TestMsgTransfer_Localhost" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/transfer-authz-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "release-v7.2.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/transfer-authz-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "release-v7.2.x" 8 | ], 9 | "chain-b": [ 10 | "release-v7.2.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.2.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo", 21 | "TestSendEnabledParam", 22 | "TestReceiveEnabledParam" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.2.x/transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.2.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.2.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/client-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.3.x" 7 | ], 8 | "entrypoint": [ 9 | "TestClientTestSuite" 10 | ], 11 | "test": [ 12 | "TestClientUpdateProposal_Succeeds", 13 | "TestClient_Update_Misbehaviour", 14 | "TestAllowedClientsParam" 15 | ], 16 | "relayer-type": [ 17 | "hermes" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/connection-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.3.x" 7 | ], 8 | "entrypoint": [ 9 | "TestConnectionTestSuite" 10 | ], 11 | "test": [ 12 | "TestMaxExpectedTimePerBlockParam" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestControllerEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.3.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestHostEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/ica-gov-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/ica-gov-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.3.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/ica-groups-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/ica-groups-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.3.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/incentivized-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/incentivized-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.3.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/localhost-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.3.x" 7 | ], 8 | "entrypoint": [ 9 | "LocalhostInterchainAccountsTestSuite" 10 | ], 11 | "test": [ 12 | "TestInterchainAccounts_Localhost", 13 | "TestInterchainAccounts_ReopenChannel_Localhost" 14 | ], 15 | "relayer-type": [ 16 | "hermes" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/localhost-transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "release-v7.3.x" 7 | ], 8 | "entrypoint": [ 9 | "LocalhostTransferTestSuite" 10 | ], 11 | "test": [ 12 | "TestMsgTransfer_Localhost" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/transfer-authz-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "release-v7.3.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/transfer-authz-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "release-v7.3.x" 8 | ], 9 | "chain-b": [ 10 | "release-v7.3.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v7.3.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo", 21 | "TestSendEnabledParam", 22 | "TestReceiveEnabledParam" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v7.3.x/transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v7.3.x" 9 | ], 10 | "chain-b": [ 11 | "release-v7.3.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/client-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "release-v8.0.x" 7 | ], 8 | "entrypoint": [ 9 | "TestClientTestSuite" 10 | ], 11 | "test": [ 12 | "TestClientUpdateProposal_Succeeds", 13 | "TestRecoverClient_Succeeds", 14 | "TestScheduleIBCUpgrade_Succeeds", 15 | "TestClient_Update_Misbehaviour", 16 | "TestAllowedClientsParam" 17 | ], 18 | "relayer-type": [ 19 | "hermes" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/connection-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "release-v8.0.x" 7 | ], 8 | "entrypoint": [ 9 | "TestConnectionTestSuite" 10 | ], 11 | "test": [ 12 | "TestMaxExpectedTimePerBlockParam" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/genesis-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "release-v8.0.x" 7 | ], 8 | "entrypoint": [ 9 | "TestGenesisTestSuite" 10 | ], 11 | "test": [ 12 | "TestIBCGenesis" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestControllerEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v8.0.x" 9 | ], 10 | "chain-b": [ 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulTransfer", 18 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 19 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 20 | "TestHostEnabledParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/ica-gov-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/ica-gov-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v8.0.x" 9 | ], 10 | "chain-b": [ 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGovTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGovIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/ica-groups-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/ica-groups-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v8.0.x" 9 | ], 10 | "chain-b": [ 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestInterchainAccountsGroupsTestSuite" 15 | ], 16 | "test": [ 17 | "TestInterchainAccountsGroupsIntegration" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/incentivized-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/incentivized-ica-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v8.0.x" 9 | ], 10 | "chain-b": [ 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestIncentivizedInterchainAccountsTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 18 | "TestMsgSendTx_FailedBankSend_Incentivized" 19 | ], 20 | "relayer-type": [ 21 | "hermes" 22 | ] 23 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/localhost-ica-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "release-v8.0.x" 7 | ], 8 | "entrypoint": [ 9 | "LocalhostInterchainAccountsTestSuite" 10 | ], 11 | "test": [ 12 | "TestInterchainAccounts_Localhost", 13 | "TestInterchainAccounts_ReopenChannel_Localhost" 14 | ], 15 | "relayer-type": [ 16 | "hermes" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/localhost-transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "release-v8.0.x" 7 | ], 8 | "entrypoint": [ 9 | "LocalhostTransferTestSuite" 10 | ], 11 | "test": [ 12 | "TestMsgTransfer_Localhost" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/transfer-authz-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "release-v8.0.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/transfer-authz-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "release-v8.0.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x" 11 | ], 12 | "entrypoint": [ 13 | "TestAuthzTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestAuthz_MsgTransfer_Succeeds", 17 | "TestAuthz_InvalidTransferAuthorizations" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/transfer-chain-a.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "v8.0.0", 7 | "v7.3.1", 8 | "v7.2.2", 9 | "v6.2.1", 10 | "v6.1.2", 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo", 21 | "TestSendEnabledParam", 22 | "TestReceiveEnabledParam" 23 | ], 24 | "relayer-type": [ 25 | "hermes" 26 | ] 27 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/release-v8.0.x/transfer-chain-b.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "v8.0.0", 4 | "v7.3.1", 5 | "v7.2.2", 6 | "v6.2.1", 7 | "v6.1.2", 8 | "release-v8.0.x" 9 | ], 10 | "chain-b": [ 11 | "release-v8.0.x" 12 | ], 13 | "entrypoint": [ 14 | "TestTransferTestSuite" 15 | ], 16 | "test": [ 17 | "TestMsgTransfer_Succeeds_Nonincentivized", 18 | "TestMsgTransfer_Fails_InvalidAddress", 19 | "TestMsgTransfer_Timeout_Nonincentivized", 20 | "TestMsgTransfer_WithMemo" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/client.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestClientTestSuite" 18 | ], 19 | "test": [ 20 | "TestClientUpdateProposal_Succeeds", 21 | "TestRecoverClient_Succeeds", 22 | "TestScheduleIBCUpgrade_Succeeds", 23 | "TestClient_Update_Misbehaviour", 24 | "TestAllowedClientsParam" 25 | ], 26 | "relayer-type": [ 27 | "hermes" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/connection.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestConnectionTestSuite" 18 | ], 19 | "test": [ 20 | "TestMaxExpectedTimePerBlockParam" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/genesis.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x" 4 | ], 5 | "chain-b": [ 6 | "release-v8.0.x" 7 | ], 8 | "entrypoint": [ 9 | "TestGenesisTestSuite" 10 | ], 11 | "test": [ 12 | "TestIBCGenesis" 13 | ], 14 | "relayer-type": [ 15 | "hermes" 16 | ] 17 | } -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/ica-gov.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestInterchainAccountsGovTestSuite" 18 | ], 19 | "test": [ 20 | "TestInterchainAccountsGovIntegration" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/ica-groups.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestInterchainAccountsGroupsTestSuite" 18 | ], 19 | "test": [ 20 | "TestInterchainAccountsGroupsIntegration" 21 | ], 22 | "relayer-type": [ 23 | "hermes" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/ica.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestInterchainAccountsTestSuite" 18 | ], 19 | "test": [ 20 | "TestMsgSendTx_SuccessfulTransfer", 21 | "TestMsgSendTx_FailedTransfer_InsufficientFunds", 22 | "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", 23 | "TestControllerEnabledParam", 24 | "TestHostEnabledParam" 25 | ], 26 | "relayer-type": [ 27 | "hermes" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/incentivized-ica.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestIncentivizedInterchainAccountsTestSuite" 18 | ], 19 | "test": [ 20 | "TestMsgSendTx_SuccessfulBankSend_Incentivized", 21 | "TestMsgSendTx_FailedBankSend_Incentivized" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/incentivized-transfer-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestIncentivizedTransferTestSuite" 18 | ], 19 | "test": [ 20 | "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", 21 | "TestMsgPayPacketFee_InvalidReceiverAccount" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/incentivized-transfer-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestIncentivizedTransferTestSuite" 18 | ], 19 | "test": [ 20 | "TestMultiMsg_MsgPayPacketFeeSingleSender", 21 | "TestMsgPayPacketFee_SingleSender_TimesOut" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/incentivized-transfer-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestIncentivizedTransferTestSuite" 18 | ], 19 | "test": [ 20 | "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", 21 | "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/localhost-ica.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x" 6 | ], 7 | "chain-b": [ 8 | "release-v8.0.x", 9 | "release-v7.3.x", 10 | "release-v7.2.x" 11 | ], 12 | "entrypoint": [ 13 | "LocalhostInterchainAccountsTestSuite" 14 | ], 15 | "test": [ 16 | "TestInterchainAccounts_Localhost", 17 | "TestInterchainAccounts_ReopenChannel_Localhost" 18 | ], 19 | "relayer-type": [ 20 | "hermes" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/localhost-transfer.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x" 6 | ], 7 | "chain-b": [ 8 | "release-v8.0.x", 9 | "release-v7.3.x", 10 | "release-v7.2.x" 11 | ], 12 | "entrypoint": [ 13 | "LocalhostTransferTestSuite" 14 | ], 15 | "test": [ 16 | "TestMsgTransfer_Localhost" 17 | ], 18 | "relayer-type": [ 19 | "hermes" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/transfer-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestTransferTestSuite" 18 | ], 19 | "test": [ 20 | "TestMsgTransfer_Succeeds_Nonincentivized", 21 | "TestMsgTransfer_Fails_InvalidAddress" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/transfer-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestTransferTestSuite" 18 | ], 19 | "test": [ 20 | "TestMsgTransfer_Timeout_Nonincentivized", 21 | "TestMsgTransfer_WithMemo" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/transfer-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x", 7 | "release-v6.1.x" 8 | ], 9 | "chain-b": [ 10 | "release-v8.0.x", 11 | "release-v7.3.x", 12 | "release-v7.2.x", 13 | "release-v6.2.x", 14 | "release-v6.1.x" 15 | ], 16 | "entrypoint": [ 17 | "TestTransferTestSuite" 18 | ], 19 | "test": [ 20 | "TestSendEnabledParam", 21 | "TestReceiveEnabledParam" 22 | ], 23 | "relayer-type": [ 24 | "hermes" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.github/compatibility-test-matrices/unreleased/transfer-authz.json: -------------------------------------------------------------------------------- 1 | { 2 | "chain-a": [ 3 | "release-v8.0.x", 4 | "release-v7.3.x", 5 | "release-v7.2.x", 6 | "release-v6.2.x" 7 | ], 8 | "chain-b": [ 9 | "release-v8.0.x", 10 | "release-v7.3.x", 11 | "release-v7.2.x", 12 | "release-v6.2.x" 13 | ], 14 | "entrypoint": [ 15 | "TestAuthzTransferTestSuite" 16 | ], 17 | "test": [ 18 | "TestAuthz_MsgTransfer_Succeeds", 19 | "TestAuthz_InvalidTransferAuthorizations" 20 | ], 21 | "relayer-type": [ 22 | "hermes" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /.github/workflows/discord-notify.yml: -------------------------------------------------------------------------------- 1 | name: Notify Discord on Release 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | notify: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Send Notification to Discord 12 | uses: Ilshidur/action-discord@2.4.0 13 | with: 14 | args: "A new release of ibc-go has been tagged! View it here: ${{ github.event.release.html_url }}" 15 | webhook: ${{ secrets.DISCORD_WEBHOOK }} 16 | 17 | -------------------------------------------------------------------------------- /.github/workflows/golangci.yml: -------------------------------------------------------------------------------- 1 | name: golangci-lint 2 | on: 3 | push: 4 | tags: 5 | - v* 6 | branches: 7 | - main 8 | pull_request: 9 | permissions: 10 | contents: read 11 | # Optional: allow read access to pull request. Use with `only-new-issues` option. 12 | # pull-requests: read 13 | jobs: 14 | golangci: 15 | name: lint 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: actions/setup-go@v4 19 | with: 20 | go-version: '1.21' 21 | - uses: actions/checkout@v4 22 | - name: golangci-lint 23 | uses: golangci/golangci-lint-action@v3.7.0 24 | with: 25 | version: v1.54.2 26 | args: --timeout 10m 27 | -------------------------------------------------------------------------------- /.github/workflows/link-check-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignorePatterns": [ 3 | { 4 | "pattern": "(localhost)" 5 | } 6 | ], 7 | "replacementPatterns": [ 8 | { 9 | "pattern": "(^\\/(architecture|event)[^#]*)(#.*|$)", 10 | "replacement": "$1.md$3" 11 | }, 12 | { 13 | "pattern": "^(\\/|@site\\/)", 14 | "replacement": "{{BASEURL}}/docs/" 15 | } 16 | ], 17 | "retryOn429": true, 18 | "retryCount": 3, 19 | "fallbackRetryDelay": "10s" 20 | } 21 | -------------------------------------------------------------------------------- /.github/workflows/link-check.yml: -------------------------------------------------------------------------------- 1 | name: Check Markdown links 2 | on: 3 | pull_request: 4 | paths: 5 | - "**.md" 6 | - "!.github/**" 7 | jobs: 8 | markdown-link-check: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | - uses: gaurav-nelson/github-action-markdown-link-check@v1 13 | with: 14 | config-file: '.github/workflows/link-check-config.json' 15 | -------------------------------------------------------------------------------- /.github/workflows/markdown-lint.yml: -------------------------------------------------------------------------------- 1 | name: Markdown Lint 2 | on: 3 | pull_request: 4 | branches: 5 | - main 6 | paths: 7 | - "**.md" 8 | - "!.github/**" 9 | jobs: 10 | lint: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | with: 15 | fetch-depth: 0 16 | - uses: tj-actions/changed-files@v40 17 | id: changed-files 18 | with: 19 | files: '**/*.md' 20 | separator: "," 21 | - uses: DavidAnson/markdownlint-cli2-action@v13 22 | if: steps.changed-files.outputs.any_changed == 'true' 23 | with: 24 | globs: ${{ steps.changed-files.outputs.all_changed_files }} 25 | separator: "," 26 | -------------------------------------------------------------------------------- /.github/workflows/pr_labeler.yml: -------------------------------------------------------------------------------- 1 | name: "Pull Request Labeler" 2 | on: 3 | - pull_request_target 4 | 5 | permissions: 6 | contents: read 7 | 8 | jobs: 9 | labeler: 10 | permissions: 11 | contents: read # for actions/labeler to determine modified files 12 | pull-requests: write # for actions/labeler to add labels to PRs 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/labeler@main 16 | with: 17 | configuration-path: .github/pr_labeler.yml 18 | repo-token: "${{ secrets.GITHUB_TOKEN }}" 19 | dot: true 20 | -------------------------------------------------------------------------------- /.github/workflows/proto-registry.yml: -------------------------------------------------------------------------------- 1 | name: Buf-Push 2 | # Protobuf runs buf (https://buf.build/) push updated proto files to https://buf.build/cosmos/ibc 3 | # This workflow is only run when a .proto file has been changed 4 | on: 5 | push: 6 | branches: 7 | - main 8 | paths: 9 | - "proto/**" 10 | 11 | jobs: 12 | push: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | - uses: bufbuild/buf-setup-action@v1.28.1 17 | - uses: bufbuild/buf-push-action@v1 18 | with: 19 | input: "proto" 20 | buf_token: ${{ secrets.BUF_TOKEN }} 21 | -------------------------------------------------------------------------------- /.markdownlint-cli2.jsonc: -------------------------------------------------------------------------------- 1 | // This file is used by markdownlint-cli2 to configure the linting process 2 | // in conjunction with .markdownlint.jsonc. 3 | { 4 | "ignores": [ 5 | "docs/node_modules/**", 6 | ".github", 7 | "**/CHANGELOG.md", 8 | "vendor/**", 9 | "e2e/vendor/**", 10 | "modules/capability/vendor/**" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /buf.work.yaml: -------------------------------------------------------------------------------- 1 | # Generated by "buf config migrate-v1beta1". Edit as necessary, and 2 | # remove this comment when you're finished. 3 | # 4 | # This workspace file points to the roots found in your 5 | # previous "buf.yaml" configuration. 6 | version: v1 7 | directories: 8 | - proto 9 | -------------------------------------------------------------------------------- /contrib/test_cover.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | PKGS=$(go list ./... | grep -v '/simapp') 5 | 6 | set -e 7 | echo "mode: atomic" > coverage.txt 8 | for pkg in ${PKGS[@]}; do 9 | go test -v -timeout 30m -race -coverprofile=profile.out -covermode=atomic -tags='ledger test_ledger_mock' "$pkg" 10 | if [ -f profile.out ]; then 11 | tail -n +2 profile.out >> coverage.txt; 12 | rm profile.out 13 | fi 14 | done 15 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /docs/audits/Trail of Bits audit - Final Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/audits/Trail of Bits audit - Final Report.pdf -------------------------------------------------------------------------------- /docs/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /docs/docs/01-ibc/03-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Applications", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/01-ibc/03-apps/images/packet_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/01-ibc/03-apps/images/packet_flow.png -------------------------------------------------------------------------------- /docs/docs/01-ibc/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Middleware", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/01-ibc/04-middleware/images/middleware-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/01-ibc/04-middleware/images/middleware-stack.png -------------------------------------------------------------------------------- /docs/docs/01-ibc/05-upgrades/02-developer-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: IBC Client Developer Guide to Upgrades 3 | sidebar_label: IBC Client Developer Guide to Upgrades 4 | sidebar_position: 2 5 | slug: /ibc/upgrades/developer-guide 6 | --- 7 | 8 | # IBC Client Developer Guide to Upgrades 9 | 10 | :::note Synopsis 11 | Learn how to implement upgrade functionality for your custom IBC client. 12 | ::: 13 | 14 | Please see the section [Handling upgrades](../../03-light-clients/01-developer-guide/05-upgrades.md) from the light client developer guide for more information. 15 | -------------------------------------------------------------------------------- /docs/docs/01-ibc/05-upgrades/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Upgrades", 3 | "position": 5, 4 | "link": { "type": "doc", "id": "intro" } 5 | } 6 | -------------------------------------------------------------------------------- /docs/docs/01-ibc/08-proto-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Protobuf Documentation 3 | sidebar_label: Protobuf Documentation 4 | sidebar_position: 8 5 | slug: /ibc/proto-docs 6 | --- 7 | 8 | 9 | # Protobuf documentation 10 | 11 | See [ibc-go Buf Protobuf documentation](https://buf.build/cosmos/ibc/docs/main). 12 | -------------------------------------------------------------------------------- /docs/docs/01-ibc/10-troubleshooting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Troubleshooting 3 | sidebar_label: Troubleshooting 4 | sidebar_position: 10 5 | slug: /ibc/troubleshooting 6 | --- 7 | 8 | # Troubleshooting 9 | 10 | ## Unauthorized client states 11 | 12 | If it is being reported that a client state is unauthorized, this is due to the client type not being present 13 | in the [`AllowedClients`](https://github.com/cosmos/ibc-go/blob/v6.0.0/modules/core/02-client/types/client.pb.go#L345) array. 14 | 15 | Unless the client type is present in this array, all usage of clients of this type will be prevented. 16 | -------------------------------------------------------------------------------- /docs/docs/01-ibc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Using IBC-Go", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/02-apps/01-transfer/02-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 2 5 | slug: /apps/transfer/state 6 | --- 7 | 8 | # State 9 | 10 | The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 001](/architecture/adr-001-coin-source-tracing). 11 | 12 | - `Port`: `0x01 -> ProtocolBuffer(string)` 13 | - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` 14 | -------------------------------------------------------------------------------- /docs/docs/02-apps/01-transfer/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Transfer", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/02-apps/02-interchain-accounts/10-legacy/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Legacy", 3 | "position": 10, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/docs/02-apps/02-interchain-accounts/10-legacy/images/ica-pre-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/02-apps/02-interchain-accounts/10-legacy/images/ica-pre-v6.png -------------------------------------------------------------------------------- /docs/docs/02-apps/02-interchain-accounts/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Interchain Accounts", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/02-apps/02-interchain-accounts/images/ica-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/02-apps/02-interchain-accounts/images/ica-v6.png -------------------------------------------------------------------------------- /docs/docs/02-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Application Modules", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/03-light-clients/01-developer-guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Developer Guide", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/03-light-clients/01-developer-guide/wasm/audits/Ethan Frey - Wasm Client Review.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/03-light-clients/01-developer-guide/wasm/audits/Ethan Frey - Wasm Client Review.pdf -------------------------------------------------------------------------------- /docs/docs/03-light-clients/01-developer-guide/wasm/audits/Halborn audit report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/03-light-clients/01-developer-guide/wasm/audits/Halborn audit report.pdf -------------------------------------------------------------------------------- /docs/docs/03-light-clients/02-localhost/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Localhost", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/03-light-clients/03-solomachine/03-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 3 5 | slug: /ibc/light-clients/solomachine/state 6 | --- 7 | 8 | 9 | # State 10 | 11 | The solo machine light client will only store consensus states for each update by a header 12 | or a governance proposal. The latest client state is also maintained in the store. 13 | -------------------------------------------------------------------------------- /docs/docs/03-light-clients/03-solomachine/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Solomachine", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/03-light-clients/04-wasm/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Wasm", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/03-light-clients/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Light Clients", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/04-middleware/01-ics29-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/04-middleware/01-ics29-fee/images/feeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/04-middleware/01-ics29-fee/images/feeflow.png -------------------------------------------------------------------------------- /docs/docs/04-middleware/01-ics29-fee/images/msgpaypacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/04-middleware/01-ics29-fee/images/msgpaypacket.png -------------------------------------------------------------------------------- /docs/docs/04-middleware/01-ics29-fee/images/paypacketfeeasync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/04-middleware/01-ics29-fee/images/paypacketfeeasync.png -------------------------------------------------------------------------------- /docs/docs/04-middleware/02-callbacks/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Callbacks Middleware", 3 | "position": 2, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/docs/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Middleware Modules", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/05-migrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrations", 3 | "position": 5, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/docs/05-migrations/images/auth-module-decision-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/docs/05-migrations/images/auth-module-decision-tree.png -------------------------------------------------------------------------------- /docs/static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/.nojekyll -------------------------------------------------------------------------------- /docs/static/CNAME: -------------------------------------------------------------------------------- 1 | ibc.cosmos.network 2 | -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Black.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Black.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Black.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-BlackItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-BlackItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-BlackItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Bold.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Bold.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-BoldItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-BoldItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraBold.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraBold.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraBoldItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraLight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraLight.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraLight.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraLightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraLightItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Italic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Italic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Light.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Light.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-LightItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-LightItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Medium.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Medium.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-MediumItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-MediumItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Regular.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Regular.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-SemiBold.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-SemiBold.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-SemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-SemiBoldItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Thin.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-Thin.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ThinItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ThinItalic.woff -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-ThinItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-italic.var.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-italic.var.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/inter/Inter-roman.var.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/inter/Inter-roman.var.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/intervar/Inter.var.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/intervar/Inter.var.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-Bold.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-BoldItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraBold.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraLight.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-Italic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-Light.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-LightItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-Medium.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-MediumItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-Regular.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-SemiBold.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-Thin.woff2 -------------------------------------------------------------------------------- /docs/static/fonts/jetbrainsmono/JetBrainsMono-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/fonts/jetbrainsmono/JetBrainsMono-ThinItalic.woff2 -------------------------------------------------------------------------------- /docs/static/img/ibc-go-docs-social-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/static/img/ibc-go-docs-social-card.png -------------------------------------------------------------------------------- /docs/static/img/ico-chevron.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/static/img/icons/hi-info-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/static/img/icons/hi-note-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/tutorials/00-intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: IBC-Go Tutorials 3 | sidebar_label: IBC-Go Tutorials 4 | sidebar_position: 0 5 | slug: /intro 6 | --- 7 | 8 | # IBC-Go Tutorials 9 | 10 | Welcome to IBC-Go Tutorials. This is a collection of tutorials that will help you get started with IBC-Go. 11 | -------------------------------------------------------------------------------- /docs/tutorials/01-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware Integration", 3 | "position": 1, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/tutorials/01-fee/images/ignite-landing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/tutorials/01-fee/images/ignite-landing.png -------------------------------------------------------------------------------- /docs/tutorials/01-fee/images/ignite-react-fee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/tutorials/01-fee/images/ignite-react-fee.png -------------------------------------------------------------------------------- /docs/tutorials/01-fee/images/ignite-unmodified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/tutorials/01-fee/images/ignite-unmodified.png -------------------------------------------------------------------------------- /docs/tutorials/01-fee/images/react-fee-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/tutorials/01-fee/images/react-fee-demo.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/01-ibc/03-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Applications", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/01-ibc/03-apps/images/packet_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v4.5.x/01-ibc/03-apps/images/packet_flow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/01-ibc/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Middleware", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/01-ibc/05-upgrades/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Upgrades", 3 | "position": 5, 4 | "link": { "type": "doc", "id": "intro" } 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/01-ibc/08-proto-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Protobuf Documentation 3 | sidebar_label: Protobuf Documentation 4 | sidebar_position: 8 5 | slug: /ibc/proto-docs 6 | --- 7 | 8 | # Protobuf documentation 9 | 10 | See [ibc-go v4.4.x Buf Protobuf documentation](https://github.com/cosmos/ibc-go/blob/release/v4.4.x/docs/ibc/proto-docs.md). 11 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/01-ibc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Using IBC-Go", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/02-apps/01-transfer/02-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 2 5 | slug: /apps/transfer/state 6 | --- 7 | 8 | # State 9 | 10 | The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 001](/architecture/adr-001-coin-source-tracing). 11 | 12 | - `Port`: `0x01 -> ProtocolBuffer(string)` 13 | - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` 14 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/02-apps/01-transfer/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Transfer", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/02-apps/02-interchain-accounts/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Interchain Accounts", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/02-apps/02-interchain-accounts/images/send-interchain-tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v4.5.x/02-apps/02-interchain-accounts/images/send-interchain-tx.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/02-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Application Modules", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/images/feeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/images/feeflow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/images/msgpaypacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/images/msgpaypacket.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/images/paypacketfeeasync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v4.5.x/03-middleware/01-ics29-fee/images/paypacketfeeasync.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/03-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Middleware Modules", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v4.5.x/04-migrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrations", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/01-ibc/03-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Applications", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/01-ibc/03-apps/images/packet_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v5.3.x/01-ibc/03-apps/images/packet_flow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/01-ibc/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Middleware", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/01-ibc/05-upgrades/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Upgrades", 3 | "position": 5, 4 | "link": { "type": "doc", "id": "intro" } 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/01-ibc/08-proto-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Protobuf Documentation 3 | sidebar_label: Protobuf Documentation 4 | sidebar_position: 8 5 | slug: /ibc/proto-docs 6 | --- 7 | 8 | # Protobuf documentation 9 | 10 | See [ibc-go v5.3.x Buf Protobuf documentation](https://github.com/cosmos/ibc-go/blob/release/v5.3.x/docs/ibc/proto-docs.md). 11 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/01-ibc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Using IBC-Go", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/02-apps/01-transfer/02-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 2 5 | slug: /apps/transfer/state 6 | --- 7 | 8 | # State 9 | 10 | The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 001](/architecture/adr-001-coin-source-tracing). 11 | 12 | - `Port`: `0x01 -> ProtocolBuffer(string)` 13 | - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` 14 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/02-apps/01-transfer/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Transfer", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/02-apps/02-interchain-accounts/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Interchain Accounts", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/02-apps/02-interchain-accounts/images/send-interchain-tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v5.3.x/02-apps/02-interchain-accounts/images/send-interchain-tx.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/02-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Application Modules", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/images/feeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/images/feeflow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/images/msgpaypacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/images/msgpaypacket.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/images/paypacketfeeasync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v5.3.x/03-middleware/01-ics29-fee/images/paypacketfeeasync.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/03-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Middleware Modules", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v5.3.x/04-migrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrations", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/01-ibc/03-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Applications", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/01-ibc/03-apps/images/packet_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/01-ibc/03-apps/images/packet_flow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/01-ibc/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Middleware", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/01-ibc/05-upgrades/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Upgrades", 3 | "position": 5, 4 | "link": { "type": "doc", "id": "intro" } 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/01-ibc/08-proto-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Protobuf Documentation 3 | sidebar_label: Protobuf Documentation 4 | sidebar_position: 8 5 | slug: /ibc/proto-docs 6 | --- 7 | 8 | # Protobuf documentation 9 | 10 | See [ibc-go v6.2.x Buf Protobuf documentation](https://github.com/cosmos/ibc-go/blob/release/v6.2.x/docs/ibc/proto-docs.md). 11 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/01-ibc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Using IBC-Go", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/01-transfer/02-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 2 5 | slug: /apps/transfer/state 6 | --- 7 | 8 | # State 9 | 10 | The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 001](/architecture/adr-001-coin-source-tracing). 11 | 12 | - `Port`: `0x01 -> ProtocolBuffer(string)` 13 | - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` 14 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/01-transfer/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Transfer", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/02-interchain-accounts/09-legacy/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Legacy", 3 | "position": 9, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/02-interchain-accounts/09-legacy/images/ica-pre-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/02-apps/02-interchain-accounts/09-legacy/images/ica-pre-v6.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/02-interchain-accounts/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Interchain Accounts", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/02-interchain-accounts/images/ica-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/02-apps/02-interchain-accounts/images/ica-v6.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/02-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Application Modules", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/images/feeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/images/feeflow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/images/msgpaypacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/images/msgpaypacket.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/images/paypacketfeeasync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/03-middleware/01-ics29-fee/images/paypacketfeeasync.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/03-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Middleware Modules", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/04-migrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrations", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v6.2.x/04-migrations/images/auth-module-decision-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v6.2.x/04-migrations/images/auth-module-decision-tree.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/03-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Applications", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/03-apps/images/packet_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/01-ibc/03-apps/images/packet_flow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Middleware", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/05-upgrades/02-developer-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: IBC Client Developer Guide to Upgrades 3 | sidebar_label: IBC Client Developer Guide to Upgrades 4 | sidebar_position: 2 5 | slug: /ibc/upgrades/developer-guide 6 | --- 7 | 8 | 9 | # IBC Client Developer Guide to Upgrades 10 | 11 | :::note Synopsis 12 | Learn how to implement upgrade functionality for your custom IBC client. 13 | ::: 14 | 15 | Please see the section [Handling upgrades](../../03-light-clients/01-developer-guide/05-upgrades.md) from the light client developer guide for more information. 16 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/05-upgrades/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Upgrades", 3 | "position": 5, 4 | "link": { "type": "doc", "id": "intro" } 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/08-proto-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Protobuf Documentation 3 | sidebar_label: Protobuf Documentation 4 | sidebar_position: 8 5 | slug: /ibc/proto-docs 6 | --- 7 | 8 | 9 | # Protobuf documentation 10 | 11 | See [ibc-go Buf Protobuf documentation](https://buf.build/cosmos/ibc/tags/main). 12 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/10-troubleshooting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Troubleshooting 3 | sidebar_label: Troubleshooting 4 | sidebar_position: 10 5 | slug: /ibc/troubleshooting 6 | --- 7 | 8 | # Troubleshooting 9 | 10 | ## Unauthorized client states 11 | 12 | If it is being reported that a client state is unauthorized, this is due to the client type not being present 13 | in the [`AllowedClients`](https://github.com/cosmos/ibc-go/blob/v6.0.0/modules/core/02-client/types/client.pb.go#L345) array. 14 | 15 | Unless the client type is present in this array, all usage of clients of this type will be prevented. 16 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/01-ibc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Using IBC-Go", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/01-transfer/02-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 2 5 | slug: /apps/transfer/state 6 | --- 7 | 8 | # State 9 | 10 | The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 001](/architecture/adr-001-coin-source-tracing). 11 | 12 | - `Port`: `0x01 -> ProtocolBuffer(string)` 13 | - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` 14 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/01-transfer/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Transfer", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/02-interchain-accounts/10-legacy/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Legacy", 3 | "position": 10, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/02-interchain-accounts/10-legacy/images/ica-pre-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/02-apps/02-interchain-accounts/10-legacy/images/ica-pre-v6.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/02-interchain-accounts/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Interchain Accounts", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/02-interchain-accounts/images/ica-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/02-apps/02-interchain-accounts/images/ica-v6.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/02-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Application Modules", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/03-light-clients/01-developer-guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Developer Guide", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/03-light-clients/02-solomachine/03-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 3 5 | slug: /ibc/light-clients/solomachine/state 6 | --- 7 | 8 | 9 | # State 10 | 11 | The solo machine light client will only store consensus states for each update by a header 12 | or a governance proposal. The latest client state is also maintained in the store. 13 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/03-light-clients/02-solomachine/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Solomachine", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/03-light-clients/03-localhost/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Localhost", 3 | "position": 3, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/03-light-clients/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Light Clients", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/images/feeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/images/feeflow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/images/msgpaypacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/images/msgpaypacket.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/images/paypacketfeeasync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/04-middleware/01-ics29-fee/images/paypacketfeeasync.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/04-middleware/02-callbacks/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Callbacks Middleware", 3 | "position": 2, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Middleware Modules", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/05-migrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrations", 3 | "position": 5, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v7.3.x/05-migrations/images/auth-module-decision-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v7.3.x/05-migrations/images/auth-module-decision-tree.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/03-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Applications", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/03-apps/images/packet_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/01-ibc/03-apps/images/packet_flow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Middleware", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/04-middleware/images/middleware-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/01-ibc/04-middleware/images/middleware-stack.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/05-upgrades/02-developer-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: IBC Client Developer Guide to Upgrades 3 | sidebar_label: IBC Client Developer Guide to Upgrades 4 | sidebar_position: 2 5 | slug: /ibc/upgrades/developer-guide 6 | --- 7 | 8 | # IBC Client Developer Guide to Upgrades 9 | 10 | :::note Synopsis 11 | Learn how to implement upgrade functionality for your custom IBC client. 12 | ::: 13 | 14 | Please see the section [Handling upgrades](../../03-light-clients/01-developer-guide/05-upgrades.md) from the light client developer guide for more information. 15 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/05-upgrades/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Upgrades", 3 | "position": 5, 4 | "link": { "type": "doc", "id": "intro" } 5 | } 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/08-proto-docs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Protobuf Documentation 3 | sidebar_label: Protobuf Documentation 4 | sidebar_position: 8 5 | slug: /ibc/proto-docs 6 | --- 7 | 8 | 9 | # Protobuf documentation 10 | 11 | See [ibc-go Buf Protobuf documentation](https://buf.build/cosmos/ibc/docs/main). 12 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/10-troubleshooting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Troubleshooting 3 | sidebar_label: Troubleshooting 4 | sidebar_position: 10 5 | slug: /ibc/troubleshooting 6 | --- 7 | 8 | # Troubleshooting 9 | 10 | ## Unauthorized client states 11 | 12 | If it is being reported that a client state is unauthorized, this is due to the client type not being present 13 | in the [`AllowedClients`](https://github.com/cosmos/ibc-go/blob/v6.0.0/modules/core/02-client/types/client.pb.go#L345) array. 14 | 15 | Unless the client type is present in this array, all usage of clients of this type will be prevented. 16 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/01-ibc/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Using IBC-Go", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/01-transfer/02-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 2 5 | slug: /apps/transfer/state 6 | --- 7 | 8 | # State 9 | 10 | The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information as outlined in [ADR 001](/architecture/adr-001-coin-source-tracing). 11 | 12 | - `Port`: `0x01 -> ProtocolBuffer(string)` 13 | - `DenomTrace`: `0x02 | []bytes(traceHash) -> ProtocolBuffer(DenomTrace)` 14 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/01-transfer/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Transfer", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/02-interchain-accounts/10-legacy/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Legacy", 3 | "position": 10, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/02-interchain-accounts/10-legacy/images/ica-pre-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/02-apps/02-interchain-accounts/10-legacy/images/ica-pre-v6.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/02-interchain-accounts/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Interchain Accounts", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/02-interchain-accounts/images/ica-v6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/02-apps/02-interchain-accounts/images/ica-v6.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/02-apps/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Application Modules", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/03-light-clients/01-developer-guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Developer Guide", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/03-light-clients/02-localhost/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Localhost", 3 | "position": 2, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/03-light-clients/03-solomachine/03-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: State 3 | sidebar_label: State 4 | sidebar_position: 3 5 | slug: /ibc/light-clients/solomachine/state 6 | --- 7 | 8 | 9 | # State 10 | 11 | The solo machine light client will only store consensus states for each update by a header 12 | or a governance proposal. The latest client state is also maintained in the store. 13 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/03-light-clients/03-solomachine/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Solomachine", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/03-light-clients/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Light Clients", 3 | "position": 3, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Fee Middleware", 3 | "position": 1, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/images/feeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/images/feeflow.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/images/msgpaypacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/images/msgpaypacket.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/images/paypacketfeeasync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/04-middleware/01-ics29-fee/images/paypacketfeeasync.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/04-middleware/02-callbacks/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Callbacks Middleware", 3 | "position": 2, 4 | "link": null 5 | } 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/04-middleware/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "IBC Middleware Modules", 3 | "position": 4, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/05-migrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Migrations", 3 | "position": 5, 4 | "link": null 5 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-v8.0.x/05-migrations/images/auth-module-decision-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/docs/versioned_docs/version-v8.0.x/05-migrations/images/auth-module-decision-tree.png -------------------------------------------------------------------------------- /docs/versions.json: -------------------------------------------------------------------------------- 1 | [ 2 | "v8.0.x", 3 | "v7.3.x", 4 | "v6.2.x", 5 | "v5.3.x", 6 | "v4.5.x" 7 | ] 8 | -------------------------------------------------------------------------------- /e2e/Makefile: -------------------------------------------------------------------------------- 1 | DOCKER := $(shell which docker) 2 | TEST_CONTAINERS=$(shell docker ps --filter "label=ibc-test" -a -q) 3 | 4 | cleanup-ibc-test-containers: 5 | for id in $(TEST_CONTAINERS) ; do \ 6 | $(DOCKER) stop $$id ; \ 7 | $(DOCKER) rm $$id ; \ 8 | done 9 | 10 | init: 11 | ./scripts/init.sh 12 | 13 | e2e-test: init cleanup-ibc-test-containers 14 | ./scripts/run-e2e.sh $(test) $(entrypoint) 15 | 16 | compatibility-tests: 17 | ./scripts/run-compatibility-tests.sh $(release_branch) 18 | 19 | .PHONY: cleanup-ibc-test-containers e2e-test compatibility-tests init 20 | -------------------------------------------------------------------------------- /e2e/scripts/run-compatibility-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -Eeou pipefail 4 | 5 | function run_full_compatibility_suite(){ 6 | local release_branch="${1}" 7 | gh workflow run e2e-compatibility.yaml -f release-branch=${release_branch} 8 | sleep 5 # can take some time for the workflow to appear 9 | run_id="$(gh run list "--workflow=e2e-compatibility.yaml" | grep workflow_dispatch | grep -Eo "[0-9]{9,11}" | head -n 1)" 10 | gh run view ${run_id} --web 11 | } 12 | 13 | RELEASE_BRANCH="${1}" 14 | run_full_compatibility_suite "${RELEASE_BRANCH}" 15 | -------------------------------------------------------------------------------- /e2e/tests/data/ics10_grandpa_cw.wasm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/e2e/tests/data/ics10_grandpa_cw.wasm.gz -------------------------------------------------------------------------------- /e2e/tests/wasm/contracts/ics10_grandpa_cw.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/e2e/tests/wasm/contracts/ics10_grandpa_cw.wasm -------------------------------------------------------------------------------- /e2e/tests/wasm/contracts/ics10_grandpa_cw_expiry.wasm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/e2e/tests/wasm/contracts/ics10_grandpa_cw_expiry.wasm.gz -------------------------------------------------------------------------------- /e2e/tests/wasm/contracts/migrate_error.wasm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/e2e/tests/wasm/contracts/migrate_error.wasm.gz -------------------------------------------------------------------------------- /e2e/tests/wasm/contracts/migrate_success.wasm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/e2e/tests/wasm/contracts/migrate_success.wasm.gz -------------------------------------------------------------------------------- /e2e/testsuite/events.go: -------------------------------------------------------------------------------- 1 | package testsuite 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | 6 | abci "github.com/cometbft/cometbft/abci/types" 7 | ) 8 | 9 | // ABCIToSDKEvents converts a list of ABCI events to Cosmos SDK events. 10 | func ABCIToSDKEvents(abciEvents []abci.Event) sdk.Events { 11 | var events sdk.Events 12 | for _, evt := range abciEvents { 13 | var attributes []sdk.Attribute 14 | for _, attr := range evt.GetAttributes() { 15 | attributes = append(attributes, sdk.NewAttribute(attr.Key, attr.Value)) 16 | } 17 | 18 | events = events.AppendEvent(sdk.NewEvent(evt.GetType(), attributes...)) 19 | } 20 | 21 | return events 22 | } 23 | -------------------------------------------------------------------------------- /go.work.example: -------------------------------------------------------------------------------- 1 | go 1.20 2 | 3 | use ( 4 | ./ 5 | ./modules/capability 6 | ./modules/apps/callbacks 7 | ./modules/light-clients/08-wasm 8 | ./e2e 9 | ) 10 | -------------------------------------------------------------------------------- /internal/logging/logging.go: -------------------------------------------------------------------------------- 1 | package logging 2 | 3 | import ( 4 | "fmt" 5 | 6 | sdk "github.com/cosmos/cosmos-sdk/types" 7 | ) 8 | 9 | // SdkEventsToLogArguments converts a given sdk.Events and returns a slice of strings that provide human 10 | // readable values for the event attributes. 11 | func SdkEventsToLogArguments(events sdk.Events) []string { 12 | logArgs := []string{"events"} 13 | for _, e := range events { 14 | logArgs = append(logArgs, fmt.Sprintf("type=%s", e.Type)) 15 | for _, attr := range e.Attributes { 16 | if len(attr.Value) == 0 { 17 | continue 18 | } 19 | logArgs = append(logArgs, fmt.Sprintf("%s=%s", attr.Key, attr.Value)) 20 | } 21 | } 22 | return logArgs 23 | } 24 | -------------------------------------------------------------------------------- /maintainership.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/maintainership.png -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/controller/keeper/export_test.go: -------------------------------------------------------------------------------- 1 | package keeper 2 | 3 | /* 4 | This file is to allow for unexported functions and fields to be accessible to the testing package. 5 | */ 6 | 7 | import porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" 8 | 9 | // GetICS4Wrapper is a getter for the keeper's ICS4Wrapper. 10 | func (k *Keeper) GetICS4Wrapper() porttypes.ICS4Wrapper { 11 | return k.ics4Wrapper 12 | } 13 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/controller/types/codec.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | codectypes "github.com/cosmos/cosmos-sdk/codec/types" 5 | sdk "github.com/cosmos/cosmos-sdk/types" 6 | "github.com/cosmos/cosmos-sdk/types/msgservice" 7 | ) 8 | 9 | // RegisterInterfaces registers the interchain accounts controller message types using the provided InterfaceRegistry 10 | func RegisterInterfaces(registry codectypes.InterfaceRegistry) { 11 | registry.RegisterImplementations( 12 | (*sdk.Msg)(nil), 13 | &MsgRegisterInterchainAccount{}, 14 | &MsgSendTx{}, 15 | &MsgUpdateParams{}, 16 | ) 17 | msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) 18 | } 19 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/controller/types/errors.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | // ICA Controller sentinel errors 8 | var ( 9 | ErrControllerSubModuleDisabled = errorsmod.Register(SubModuleName, 2, "controller submodule is disabled") 10 | ) 11 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/controller/types/keys.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | // SubModuleName defines the interchain accounts controller module name 5 | SubModuleName = "icacontroller" 6 | 7 | // StoreKey is the store key string for the interchain accounts controller module 8 | StoreKey = SubModuleName 9 | 10 | // ParamsKey is the store key for the interchain accounts controller parameters 11 | ParamsKey = "params" 12 | ) 13 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/controller/types/params.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | // DefaultControllerEnabled is the default value for the controller param (set to true) 5 | DefaultControllerEnabled = true 6 | ) 7 | 8 | // NewParams creates a new parameter configuration for the controller submodule 9 | func NewParams(enableController bool) Params { 10 | return Params{ 11 | ControllerEnabled: enableController, 12 | } 13 | } 14 | 15 | // DefaultParams is the default parameter configuration for the controller submodule 16 | func DefaultParams() Params { 17 | return NewParams(DefaultControllerEnabled) 18 | } 19 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package ica implements the packet data structure, state machine handling logic, 3 | and encoding details for the account management system over an IBC channel 4 | between separate chains. 5 | This implementation is based off the ICS 27 specification 6 | (https://github.com/cosmos/ibc/tree/main/spec/app/ics-027-interchain-accounts) 7 | */ 8 | package ica 9 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/host/keeper/grpc_query.go: -------------------------------------------------------------------------------- 1 | package keeper 2 | 3 | import ( 4 | "context" 5 | 6 | sdk "github.com/cosmos/cosmos-sdk/types" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types" 9 | ) 10 | 11 | var _ types.QueryServer = (*Keeper)(nil) 12 | 13 | // Params implements the Query/Params gRPC method 14 | func (k Keeper) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { 15 | ctx := sdk.UnwrapSDKContext(c) 16 | params := k.GetParams(ctx) 17 | 18 | return &types.QueryParamsResponse{ 19 | Params: ¶ms, 20 | }, nil 21 | } 22 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go: -------------------------------------------------------------------------------- 1 | package keeper_test 2 | 3 | import ( 4 | "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types" 5 | ) 6 | 7 | func (suite *KeeperTestSuite) TestQueryParams() { 8 | ctx := suite.chainA.GetContext() 9 | expParams := types.DefaultParams() 10 | res, _ := suite.chainA.GetSimApp().ICAHostKeeper.Params(ctx, &types.QueryParamsRequest{}) 11 | suite.Require().Equal(&expParams, res.Params) 12 | } 13 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/host/types/codec.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | codectypes "github.com/cosmos/cosmos-sdk/codec/types" 5 | sdk "github.com/cosmos/cosmos-sdk/types" 6 | "github.com/cosmos/cosmos-sdk/types/msgservice" 7 | ) 8 | 9 | // RegisterInterfaces registers the interchain accounts host message types using the provided InterfaceRegistry 10 | func RegisterInterfaces(registry codectypes.InterfaceRegistry) { 11 | registry.RegisterImplementations( 12 | (*sdk.Msg)(nil), 13 | &MsgUpdateParams{}, 14 | ) 15 | 16 | msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) 17 | } 18 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/host/types/errors.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | // ICA Host sentinel errors 8 | var ( 9 | ErrHostSubModuleDisabled = errorsmod.Register(SubModuleName, 2, "host submodule is disabled") 10 | ) 11 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/host/types/params_test.go: -------------------------------------------------------------------------------- 1 | package types_test 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/require" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types" 9 | ) 10 | 11 | func TestValidateParams(t *testing.T) { 12 | require.NoError(t, types.DefaultParams().Validate()) 13 | require.NoError(t, types.NewParams(false, []string{}).Validate()) 14 | require.Error(t, types.NewParams(true, []string{""}).Validate()) 15 | require.Error(t, types.NewParams(true, []string{" "}).Validate()) 16 | } 17 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/module_test.go: -------------------------------------------------------------------------------- 1 | package ica_test 2 | 3 | import ( 4 | "testing" 5 | 6 | testifysuite "github.com/stretchr/testify/suite" 7 | 8 | ibctesting "github.com/cosmos/ibc-go/v8/testing" 9 | ) 10 | 11 | type InterchainAccountsTestSuite struct { 12 | testifysuite.Suite 13 | 14 | coordinator *ibctesting.Coordinator 15 | } 16 | 17 | func TestICATestSuite(t *testing.T) { 18 | testifysuite.Run(t, new(InterchainAccountsTestSuite)) 19 | } 20 | 21 | func (suite *InterchainAccountsTestSuite) SetupTest() { 22 | suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) 23 | } 24 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/types/events.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | // ICS27 Interchain Accounts events 4 | const ( 5 | EventTypePacket = "ics27_packet" 6 | 7 | AttributeKeyAckError = "error" 8 | AttributeKeyHostChannelID = "host_channel_id" 9 | AttributeKeyControllerChannelID = "controller_channel_id" 10 | AttributeKeyAckSuccess = "success" 11 | ) 12 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/types/port.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | 7 | errorsmod "cosmossdk.io/errors" 8 | ) 9 | 10 | // NewControllerPortID creates and returns a new prefixed controller port identifier using the provided owner string 11 | func NewControllerPortID(owner string) (string, error) { 12 | if strings.TrimSpace(owner) == "" { 13 | return "", errorsmod.Wrap(ErrInvalidAccountAddress, "owner address cannot be empty") 14 | } 15 | 16 | return fmt.Sprint(ControllerPortPrefix, owner), nil 17 | } 18 | -------------------------------------------------------------------------------- /modules/apps/27-interchain-accounts/types/router.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | baseapp "github.com/cosmos/cosmos-sdk/baseapp" 5 | sdk "github.com/cosmos/cosmos-sdk/types" 6 | ) 7 | 8 | // MessageRouter ADR 031 request type routing 9 | // https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-031-msg-service.md 10 | type MessageRouter interface { 11 | Handler(msg sdk.Msg) baseapp.MsgServiceHandler 12 | } 13 | -------------------------------------------------------------------------------- /modules/apps/29-fee/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package fee implements the packet data structure, state machine handling logic, 3 | and encoding details for handling fee payments on top of any ICS application protocol. 4 | This implementation is based off the ICS 29 specification 5 | (https://github.com/cosmos/ibc/tree/main/spec/app/ics-029-fee-payment) and follows 6 | the middleware pattern specified in the ICS 30 specification 7 | (https://github.com/cosmos/ibc/tree/main/spec/app/ics-030-middleware). 8 | */ 9 | package fee 10 | -------------------------------------------------------------------------------- /modules/apps/29-fee/keeper/export_test.go: -------------------------------------------------------------------------------- 1 | package keeper 2 | 3 | /* 4 | This file is to allow for unexported functions and fields to be accessible to the testing package. 5 | */ 6 | 7 | import porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" 8 | 9 | // GetICS4Wrapper is a getter for the keeper's ICS4Wrapper. 10 | func (k *Keeper) GetICS4Wrapper() porttypes.ICS4Wrapper { 11 | return k.ics4Wrapper 12 | } 13 | -------------------------------------------------------------------------------- /modules/apps/29-fee/types/metadata.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import errorsmod "cosmossdk.io/errors" 4 | 5 | // MetadataFromVersion attempts to parse the given string into a fee version Metadata, 6 | // an error is returned if it fails to do so. 7 | func MetadataFromVersion(version string) (Metadata, error) { 8 | var metadata Metadata 9 | err := ModuleCdc.UnmarshalJSON([]byte(version), &metadata) 10 | if err != nil { 11 | return Metadata{}, errorsmod.Wrapf(ErrInvalidVersion, "failed to unmarshal metadata from version: %s", version) 12 | } 13 | 14 | return metadata, nil 15 | } 16 | -------------------------------------------------------------------------------- /modules/apps/callbacks/testing/simapp/README.md: -------------------------------------------------------------------------------- 1 | # Callbacks Testing SimApp 2 | 3 | This testing directory is a duplicate of the ibc-go testing directory. 4 | It is only here as a way of creating a separate SimApp binary to avoid introducing a dependency on the callbacks 5 | module from within ibc-go. 6 | 7 | The simapp can be built with the workflow found [here](../../../../../.github/workflows/build-callbacks-simd-image-from-tag.yml). 8 | -------------------------------------------------------------------------------- /modules/apps/callbacks/testing/simapp/encoding.go: -------------------------------------------------------------------------------- 1 | package simapp 2 | 3 | import ( 4 | "github.com/cosmos/cosmos-sdk/client" 5 | "github.com/cosmos/cosmos-sdk/codec" 6 | "github.com/cosmos/cosmos-sdk/codec/types" 7 | ) 8 | 9 | // EncodingConfig specifies the concrete encoding types to use for a given app. 10 | // This is provided for compatibility between protobuf and amino implementations. 11 | type EncodingConfig struct { 12 | InterfaceRegistry types.InterfaceRegistry 13 | Codec codec.Codec 14 | TxConfig client.TxConfig 15 | Amino *codec.LegacyAmino 16 | } 17 | -------------------------------------------------------------------------------- /modules/apps/callbacks/testing/simapp/genesis.go: -------------------------------------------------------------------------------- 1 | package simapp 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // GenesisState of the blockchain is represented here as a map of raw json 8 | // messages key'd by a identifier string. 9 | // The identifier is used to determine which module genesis information belongs 10 | // to so it may be appropriately routed during init chain. 11 | // Within this application default genesis information is retrieved from 12 | // the ModuleBasicManager which populates json from each BasicModule 13 | // object provided to it during init. 14 | type GenesisState map[string]json.RawMessage 15 | -------------------------------------------------------------------------------- /modules/apps/callbacks/testing/simapp/params/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package params defines the simulation parameters in the simapp. 3 | 4 | It contains the default weights used for each transaction used on the module's 5 | simulation. These weights define the chance for a transaction to be simulated at 6 | any given operation. 7 | 8 | You can replace the default values for the weights by providing a params.json 9 | file with the weights defined for each of the transaction operations: 10 | 11 | { 12 | "op_weight_msg_send": 60, 13 | "op_weight_msg_delegate": 100, 14 | } 15 | 16 | In the example above, the `MsgSend` has 60% chance to be simulated, while the 17 | `MsgDelegate` will always be simulated. 18 | */ 19 | package params 20 | -------------------------------------------------------------------------------- /modules/apps/callbacks/testing/simapp/params/encoding.go: -------------------------------------------------------------------------------- 1 | package params 2 | 3 | import ( 4 | "github.com/cosmos/cosmos-sdk/client" 5 | "github.com/cosmos/cosmos-sdk/codec" 6 | "github.com/cosmos/cosmos-sdk/codec/types" 7 | ) 8 | 9 | // EncodingConfig specifies the concrete encoding types to use for a given app. 10 | // This is provided for compatibility between protobuf and amino implementations. 11 | type EncodingConfig struct { 12 | InterfaceRegistry types.InterfaceRegistry 13 | Codec codec.Codec 14 | TxConfig client.TxConfig 15 | Amino *codec.LegacyAmino 16 | } 17 | -------------------------------------------------------------------------------- /modules/apps/callbacks/testing/simapp/simd/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | 6 | "cosmossdk.io/log" 7 | 8 | svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" 9 | 10 | "github.com/cosmos/ibc-go/modules/apps/callbacks/testing/simapp" 11 | "github.com/cosmos/ibc-go/modules/apps/callbacks/testing/simapp/simd/cmd" 12 | ) 13 | 14 | func main() { 15 | rootCmd := cmd.NewRootCmd() 16 | if err := svrcmd.Execute(rootCmd, "", simapp.DefaultNodeHome); err != nil { 17 | log.NewLogger(rootCmd.OutOrStderr()).Error("failure when running app", "err", err) 18 | os.Exit(1) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /modules/apps/callbacks/types/errors.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | var ( 8 | ErrCannotUnmarshalPacketData = errorsmod.Register(ModuleName, 2, "cannot unmarshal packet data") 9 | ErrNotPacketDataProvider = errorsmod.Register(ModuleName, 3, "packet is not a PacketDataProvider") 10 | ErrCallbackKeyNotFound = errorsmod.Register(ModuleName, 4, "callback key not found in packet data") 11 | ErrCallbackAddressNotFound = errorsmod.Register(ModuleName, 5, "callback address not found in packet data") 12 | ErrCallbackOutOfGas = errorsmod.Register(ModuleName, 6, "callback out of gas") 13 | ErrCallbackPanic = errorsmod.Register(ModuleName, 7, "callback panic") 14 | ) 15 | -------------------------------------------------------------------------------- /modules/apps/transfer/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package transfer implements the packet data structure, state machine handling logic, 3 | and encoding details for the transfer of fungible tokens over an IBC channel between 4 | two modules on separate chains. 5 | This implementation is based off the ICS 20 specification 6 | (https://github.com/cosmos/ibc/blob/main/spec/app/ics-020-fungible-token-transfer) 7 | */ 8 | package transfer 9 | -------------------------------------------------------------------------------- /modules/apps/transfer/keeper/export_test.go: -------------------------------------------------------------------------------- 1 | package keeper 2 | 3 | /* 4 | This file is to allow for unexported functions and fields to be accessible to the testing package. 5 | */ 6 | 7 | import porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" 8 | 9 | // GetICS4Wrapper is a getter for the keeper's ICS4Wrapper. 10 | func (k *Keeper) GetICS4Wrapper() porttypes.ICS4Wrapper { 11 | return k.ics4Wrapper 12 | } 13 | -------------------------------------------------------------------------------- /modules/apps/transfer/keeper/relay_model/identifiers.tla: -------------------------------------------------------------------------------- 1 | -------------------------- MODULE identifiers ---------------------------- 2 | 3 | CONSTANT 4 | Identifiers, 5 | NullId 6 | 7 | ============================================================================= 8 | \* Modification History 9 | \* Last modified Thu Nov 05 13:23:12 CET 2020 by andrey 10 | \* Created Thu Nov 05 13:22:40 CET 2020 by andrey 11 | -------------------------------------------------------------------------------- /modules/apps/transfer/types/keys_test.go: -------------------------------------------------------------------------------- 1 | package types_test 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/require" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" 9 | ) 10 | 11 | // Test that there is domain separation between the port id and the channel id otherwise an 12 | // escrow address may overlap with another channel end 13 | func TestGetEscrowAddress(t *testing.T) { 14 | var ( 15 | port1 = "transfer" 16 | channel1 = "channel" 17 | port2 = "transfercha" 18 | channel2 = "nnel" 19 | ) 20 | 21 | escrow1 := types.GetEscrowAddress(port1, channel1) 22 | escrow2 := types.GetEscrowAddress(port2, channel2) 23 | require.NotEqual(t, escrow1, escrow2) 24 | } 25 | -------------------------------------------------------------------------------- /modules/apps/transfer/types/params.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | // DefaultSendEnabled enabled 5 | DefaultSendEnabled = true 6 | // DefaultReceiveEnabled enabled 7 | DefaultReceiveEnabled = true 8 | ) 9 | 10 | // NewParams creates a new parameter configuration for the ibc transfer module 11 | func NewParams(enableSend, enableReceive bool) Params { 12 | return Params{ 13 | SendEnabled: enableSend, 14 | ReceiveEnabled: enableReceive, 15 | } 16 | } 17 | 18 | // DefaultParams is the default parameter configuration for the ibc-transfer module 19 | func DefaultParams() Params { 20 | return NewParams(DefaultSendEnabled, DefaultReceiveEnabled) 21 | } 22 | -------------------------------------------------------------------------------- /modules/core/02-client/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package client implements the ICS 02 - Client Semantics specification 3 | (https://github.com/cosmos/ibc/tree/master/spec/core/ics-002-client-semantics). This 4 | concrete implementation defines types and methods to store and update light 5 | clients which tracks on other chain's state. 6 | */ 7 | package client 8 | -------------------------------------------------------------------------------- /modules/core/02-client/migrations/v7/expected_keepers.go: -------------------------------------------------------------------------------- 1 | package v7 2 | 3 | import ( 4 | storetypes "cosmossdk.io/store/types" 5 | 6 | sdk "github.com/cosmos/cosmos-sdk/types" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/core/exported" 9 | ) 10 | 11 | // ClientKeeper expected IBC client keeper 12 | type ClientKeeper interface { 13 | GetClientState(ctx sdk.Context, clientID string) (exported.ClientState, bool) 14 | SetClientState(ctx sdk.Context, clientID string, clientState exported.ClientState) 15 | ClientStore(ctx sdk.Context, clientID string) storetypes.KVStore 16 | CreateLocalhostClient(ctx sdk.Context) error 17 | } 18 | -------------------------------------------------------------------------------- /modules/core/02-client/migrations/v7/localhost.go: -------------------------------------------------------------------------------- 1 | package v7 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | ) 6 | 7 | // MigrateLocalhostClient initialises the 09-localhost client state and sets it in state. 8 | func MigrateLocalhostClient(ctx sdk.Context, clientKeeper ClientKeeper) error { 9 | return clientKeeper.CreateLocalhostClient(ctx) 10 | } 11 | -------------------------------------------------------------------------------- /modules/core/02-client/simulation/genesis.go: -------------------------------------------------------------------------------- 1 | package simulation 2 | 3 | import ( 4 | "math/rand" 5 | 6 | simtypes "github.com/cosmos/cosmos-sdk/types/simulation" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" 9 | ) 10 | 11 | // GenClientGenesis returns the default client genesis state. 12 | func GenClientGenesis(_ *rand.Rand, _ []simtypes.Account) types.GenesisState { 13 | return types.DefaultGenesisState() 14 | } 15 | -------------------------------------------------------------------------------- /modules/core/02-client/types/metrics.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | // Prometheus metric labels. 4 | const ( 5 | LabelClientType = "client_type" 6 | LabelClientID = "client_id" 7 | LabelUpdateType = "update_type" 8 | LabelMsgType = "msg_type" 9 | ) 10 | -------------------------------------------------------------------------------- /modules/core/03-connection/client/cli/cli.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import ( 4 | "github.com/spf13/cobra" 5 | 6 | "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" 7 | ) 8 | 9 | // GetQueryCmd returns the query commands for IBC connections 10 | func GetQueryCmd() *cobra.Command { 11 | queryCmd := &cobra.Command{ 12 | Use: types.SubModuleName, 13 | Short: "IBC connection query subcommands", 14 | DisableFlagParsing: true, 15 | SuggestionsMinimumDistance: 2, 16 | } 17 | 18 | queryCmd.AddCommand( 19 | GetCmdQueryConnections(), 20 | GetCmdQueryConnection(), 21 | GetCmdQueryClientConnections(), 22 | GetCmdConnectionParams(), 23 | ) 24 | 25 | return queryCmd 26 | } 27 | -------------------------------------------------------------------------------- /modules/core/03-connection/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package connection implements the ICS 03 - Connection Semantics specification 3 | (https://github.com/cosmos/ibc/tree/main/spec/core/ics-003-connection-semantics). This 4 | concrete implementation defines types and methods for safely creating two 5 | stateful objects (connection ends) on two separate chains, each associated with a 6 | light client of the other chain, which together facilitate cross-chain 7 | sub-state verification and packet association (through channels). 8 | 9 | The main type is ConnectionEnd, which defines a stateful object on a 10 | chain connected to another. 11 | */ 12 | package connection 13 | -------------------------------------------------------------------------------- /modules/core/03-connection/migrations/v7/expected_keepers.go: -------------------------------------------------------------------------------- 1 | package v7 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | ) 6 | 7 | // ConnectionKeeper expected IBC connection keeper 8 | type ConnectionKeeper interface { 9 | CreateSentinelLocalhostConnection(ctx sdk.Context) 10 | } 11 | -------------------------------------------------------------------------------- /modules/core/03-connection/migrations/v7/localhost.go: -------------------------------------------------------------------------------- 1 | package v7 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | ) 6 | 7 | // MigrateLocalhostConnection creates the sentinel localhost connection end to enable 8 | // localhost ibc functionality. 9 | func MigrateLocalhostConnection(ctx sdk.Context, connectionKeeper ConnectionKeeper) { 10 | connectionKeeper.CreateSentinelLocalhostConnection(ctx) 11 | } 12 | -------------------------------------------------------------------------------- /modules/core/03-connection/simulation/genesis.go: -------------------------------------------------------------------------------- 1 | package simulation 2 | 3 | import ( 4 | "math/rand" 5 | 6 | simtypes "github.com/cosmos/cosmos-sdk/types/simulation" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" 9 | ) 10 | 11 | // GenConnectionGenesis returns the default connection genesis state. 12 | func GenConnectionGenesis(_ *rand.Rand, _ []simtypes.Account) types.GenesisState { 13 | return types.DefaultGenesisState() 14 | } 15 | -------------------------------------------------------------------------------- /modules/core/04-channel/simulation/genesis.go: -------------------------------------------------------------------------------- 1 | package simulation 2 | 3 | import ( 4 | "math/rand" 5 | 6 | simtypes "github.com/cosmos/cosmos-sdk/types/simulation" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" 9 | ) 10 | 11 | // GenChannelGenesis returns the default channel genesis state. 12 | func GenChannelGenesis(_ *rand.Rand, _ []simtypes.Account) types.GenesisState { 13 | return types.DefaultGenesisState() 14 | } 15 | -------------------------------------------------------------------------------- /modules/core/05-port/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package port implements the ICS 05 - Port Allocation specification 3 | (https://github.com/cosmos/ibc/tree/main/spec/core/ics-005-port-allocation). This 4 | concrete implementation defines types and methods with which modules can bind 5 | to uniquely named ports allocated by the IBC handler. 6 | */ 7 | package port 8 | -------------------------------------------------------------------------------- /modules/core/05-port/module.go: -------------------------------------------------------------------------------- 1 | package port 2 | 3 | import ( 4 | "github.com/spf13/cobra" 5 | 6 | "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" 7 | "github.com/cosmos/ibc-go/v8/modules/core/client/cli" 8 | ) 9 | 10 | // Name returns the IBC port ICS name. 11 | func Name() string { 12 | return types.SubModuleName 13 | } 14 | 15 | // GetQueryCmd returns the root query command for IBC ports. 16 | func GetQueryCmd() *cobra.Command { 17 | return cli.GetQueryCmd() 18 | } 19 | -------------------------------------------------------------------------------- /modules/core/05-port/types/errors.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | // IBC port sentinel errors 8 | var ( 9 | ErrPortExists = errorsmod.Register(SubModuleName, 2, "port is already binded") 10 | ErrPortNotFound = errorsmod.Register(SubModuleName, 3, "port not found") 11 | ErrInvalidPort = errorsmod.Register(SubModuleName, 4, "invalid port") 12 | ErrInvalidRoute = errorsmod.Register(SubModuleName, 5, "route not found") 13 | ) 14 | -------------------------------------------------------------------------------- /modules/core/05-port/types/keys.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | // SubModuleName defines the IBC port name 5 | SubModuleName = "port" 6 | 7 | // StoreKey is the store key string for IBC ports 8 | StoreKey = SubModuleName 9 | 10 | // RouterKey is the message route for IBC ports 11 | RouterKey = SubModuleName 12 | 13 | // QuerierRoute is the querier route for IBC ports 14 | QuerierRoute = SubModuleName 15 | ) 16 | -------------------------------------------------------------------------------- /modules/core/05-port/types/utils.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import "fmt" 4 | 5 | // GetModuleOwner enforces that only IBC and the module bound to port can own the capability 6 | // while future implementations may allow multiple modules to bind to a port, currently we 7 | // only allow one module to be bound to a port at any given time 8 | func GetModuleOwner(modules []string) string { 9 | if len(modules) != 2 { 10 | panic(fmt.Errorf("capability should only be owned by port or channel owner and ibc module, multiple owners currently not supported, owners: %v", modules)) 11 | } 12 | 13 | if modules[0] == "ibc" { 14 | return modules[1] 15 | } 16 | return modules[0] 17 | } 18 | -------------------------------------------------------------------------------- /modules/core/23-commitment/types/bench_test.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func BenchmarkMerkleProofEmpty(b *testing.B) { 8 | b.ReportAllocs() 9 | var mk MerkleProof 10 | for i := 0; i < b.N; i++ { 11 | if !mk.Empty() { 12 | b.Fatal("supposed to be empty") 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/core/23-commitment/types/errors.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | // SubModuleName is the error codespace 8 | const SubModuleName string = "commitment" 9 | 10 | // IBC connection sentinel errors 11 | var ( 12 | ErrInvalidProof = errorsmod.Register(SubModuleName, 2, "invalid proof") 13 | ErrInvalidPrefix = errorsmod.Register(SubModuleName, 3, "invalid prefix") 14 | ErrInvalidMerkleProof = errorsmod.Register(SubModuleName, 4, "invalid merkle proof") 15 | ) 16 | -------------------------------------------------------------------------------- /modules/core/24-host/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | 24-host is an implementation of ICS 24. 3 | 4 | The storage path supported are defined in ICS 24 (https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements#path-space). 5 | 6 | Hostname validation is implemented as defined in ICS 24 (https://github.com/cosmos/ibc/tree/master/spec/core/ics-024-host-requirements). 7 | */ 8 | package host 9 | -------------------------------------------------------------------------------- /modules/core/24-host/errors.go: -------------------------------------------------------------------------------- 1 | package host 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | // SubModuleName defines the ICS 24 host 8 | const SubModuleName = "host" 9 | 10 | // IBC client sentinel errors 11 | var ( 12 | ErrInvalidID = errorsmod.Register(SubModuleName, 2, "invalid identifier") 13 | ErrInvalidPath = errorsmod.Register(SubModuleName, 3, "invalid path") 14 | ErrInvalidPacket = errorsmod.Register(SubModuleName, 4, "invalid packet") 15 | ) 16 | -------------------------------------------------------------------------------- /modules/core/exported/channel.go: -------------------------------------------------------------------------------- 1 | package exported 2 | 3 | // ChannelI defines the standard interface for a channel end. 4 | type ChannelI interface { 5 | GetState() int32 6 | GetOrdering() int32 7 | GetCounterparty() CounterpartyChannelI 8 | GetConnectionHops() []string 9 | GetVersion() string 10 | ValidateBasic() error 11 | } 12 | 13 | // CounterpartyChannelI defines the standard interface for a channel end's 14 | // counterparty. 15 | type CounterpartyChannelI interface { 16 | GetPortID() string 17 | GetChannelID() string 18 | ValidateBasic() error 19 | } 20 | -------------------------------------------------------------------------------- /modules/core/exported/connection.go: -------------------------------------------------------------------------------- 1 | package exported 2 | 3 | // LocalhostConnectionID is the sentinel connection ID for the localhost connection. 4 | const LocalhostConnectionID string = "connection-localhost" 5 | 6 | // ConnectionI describes the required methods for a connection. 7 | type ConnectionI interface { 8 | GetClientID() string 9 | GetState() int32 10 | GetCounterparty() CounterpartyConnectionI 11 | GetDelayPeriod() uint64 12 | ValidateBasic() error 13 | } 14 | 15 | // CounterpartyConnectionI describes the required methods for a counterparty connection. 16 | type CounterpartyConnectionI interface { 17 | GetClientID() string 18 | GetConnectionID() string 19 | GetPrefix() Prefix 20 | ValidateBasic() error 21 | } 22 | -------------------------------------------------------------------------------- /modules/core/exported/expected_keepers.go: -------------------------------------------------------------------------------- 1 | package exported 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | 6 | capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" 7 | ) 8 | 9 | // ScopedKeeper defines the expected x/capability scoped keeper interface 10 | type ScopedKeeper interface { 11 | NewCapability(ctx sdk.Context, name string) (*capabilitytypes.Capability, error) 12 | GetCapability(ctx sdk.Context, name string) (*capabilitytypes.Capability, bool) 13 | AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool 14 | LookupModules(ctx sdk.Context, name string) ([]string, *capabilitytypes.Capability, error) 15 | ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error 16 | } 17 | -------------------------------------------------------------------------------- /modules/core/exported/module.go: -------------------------------------------------------------------------------- 1 | package exported 2 | 3 | const ( 4 | // ModuleName is the name of the IBC module 5 | ModuleName = "ibc" 6 | // StoreKey is the string store representation 7 | StoreKey = ModuleName 8 | // QuerierRoute is the querier route for the IBC module 9 | QuerierRoute = ModuleName 10 | // RouterKey is the msg router key for the IBC module 11 | RouterKey = ModuleName 12 | ) 13 | -------------------------------------------------------------------------------- /modules/core/keeper/migrations.go: -------------------------------------------------------------------------------- 1 | package keeper 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | 6 | clientkeeper "github.com/cosmos/ibc-go/v8/modules/core/02-client/keeper" 7 | ) 8 | 9 | // Migrator is a struct for handling in-place store migrations. 10 | type Migrator struct { 11 | keeper Keeper 12 | } 13 | 14 | // NewMigrator returns a new Migrator. 15 | func NewMigrator(keeper Keeper) Migrator { 16 | return Migrator{keeper: keeper} 17 | } 18 | 19 | // Migrate2to3 migrates from version 2 to 3. See 02-client keeper function Migrate2to3. 20 | func (m Migrator) Migrate2to3(ctx sdk.Context) error { 21 | clientMigrator := clientkeeper.NewMigrator(m.keeper.ClientKeeper) 22 | return clientMigrator.Migrate2to3(ctx) 23 | } 24 | -------------------------------------------------------------------------------- /modules/core/types/expected_interfaces.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | sdk "github.com/cosmos/cosmos-sdk/types" 5 | paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" 6 | ) 7 | 8 | // ParamSubspace defines the expected Subspace interface for module parameters. 9 | type ParamSubspace interface { 10 | GetParamSet(ctx sdk.Context, ps paramtypes.ParamSet) 11 | } 12 | -------------------------------------------------------------------------------- /modules/core/types/metrics.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | // Prometheus metric labels. 4 | const ( 5 | LabelSourcePort = "source_port" 6 | LabelSourceChannel = "source_channel" 7 | LabelDestinationPort = "destination_port" 8 | LabelDestinationChannel = "destination_channel" 9 | LabelTimeoutType = "timeout_type" 10 | LabelDenom = "denom" 11 | LabelSource = "source" 12 | ) 13 | -------------------------------------------------------------------------------- /modules/light-clients/06-solomachine/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package solomachine implements a concrete ClientState, ConsensusState, 3 | Header and Misbehaviour types for the Solo Machine light client. 4 | This implementation is based off the ICS 06 specification 5 | (https://github.com/cosmos/ibc/tree/master/spec/client/ics-006-solo-machine-client) 6 | */ 7 | package solomachine 8 | -------------------------------------------------------------------------------- /modules/light-clients/06-solomachine/errors.go: -------------------------------------------------------------------------------- 1 | package solomachine 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | ) 6 | 7 | var ( 8 | ErrInvalidHeader = errorsmod.Register(ModuleName, 2, "invalid header") 9 | ErrInvalidSequence = errorsmod.Register(ModuleName, 3, "invalid sequence") 10 | ErrInvalidSignatureAndData = errorsmod.Register(ModuleName, 4, "invalid signature and data") 11 | ErrSignatureVerificationFailed = errorsmod.Register(ModuleName, 5, "signature verification failed") 12 | ErrInvalidProof = errorsmod.Register(ModuleName, 6, "invalid solo machine proof") 13 | ) 14 | -------------------------------------------------------------------------------- /modules/light-clients/06-solomachine/keys.go: -------------------------------------------------------------------------------- 1 | package solomachine 2 | 3 | const ( 4 | ModuleName = "06-solomachine" 5 | ) 6 | -------------------------------------------------------------------------------- /modules/light-clients/07-tendermint/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package tendermint implements a concrete ClientState, ConsensusState, 3 | Header, Misbehaviour and types for the Tendermint consensus light client. 4 | This implementation is based off the ICS 07 specification 5 | (https://github.com/cosmos/ibc/tree/main/spec/client/ics-007-tendermint-client) 6 | */ 7 | package tendermint 8 | -------------------------------------------------------------------------------- /modules/light-clients/07-tendermint/keys.go: -------------------------------------------------------------------------------- 1 | package tendermint 2 | 3 | const ( 4 | ModuleName = "07-tendermint" 5 | ) 6 | -------------------------------------------------------------------------------- /modules/light-clients/07-tendermint/migrations/expected_keepers.go: -------------------------------------------------------------------------------- 1 | package migrations 2 | 3 | import ( 4 | "cosmossdk.io/log" 5 | storetypes "cosmossdk.io/store/types" 6 | 7 | sdk "github.com/cosmos/cosmos-sdk/types" 8 | 9 | "github.com/cosmos/ibc-go/v8/modules/core/exported" 10 | ) 11 | 12 | // ClientKeeper expected account IBC client keeper 13 | type ClientKeeper interface { 14 | GetClientState(ctx sdk.Context, clientID string) (exported.ClientState, bool) 15 | IterateClientStates(ctx sdk.Context, prefix []byte, cb func(string, exported.ClientState) bool) 16 | ClientStore(ctx sdk.Context, clientID string) storetypes.KVStore 17 | Logger(ctx sdk.Context) log.Logger 18 | } 19 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package wasm implements a concrete ClientState, ConsensusState, 3 | ClientMessage and types for the proxy light client module communicating 4 | with underlying Wasm light clients. 5 | This implementation is based off the ICS 08 specification 6 | (https://github.com/cosmos/ibc/blob/main/spec/client/ics-008-wasm-client) 7 | */ 8 | package wasm 9 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/test_data/ics07_tendermint_cw.wasm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/modules/light-clients/08-wasm/test_data/ics07_tendermint_cw.wasm.gz -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/test_data/ics10_grandpa_cw.wasm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/modules/light-clients/08-wasm/test_data/ics10_grandpa_cw.wasm.gz -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/testing/simapp/README.md: -------------------------------------------------------------------------------- 1 | # 08-Wasm Testing SimApp 2 | 3 | This testing directory is a duplicate of the ibc-go testing directory. 4 | It is only here as a way of creating a separate SimApp binary to avoid introducing a dependency on the 08-wasm 5 | module from within ibc-go. 6 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/testing/simapp/genesis.go: -------------------------------------------------------------------------------- 1 | package simapp 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // The genesis state of the blockchain is represented here as a map of raw json 8 | // messages key'd by a identifier string. 9 | // The identifier is used to determine which module genesis information belongs 10 | // to so it may be appropriately routed during init chain. 11 | // Within this application default genesis information is retrieved from 12 | // the ModuleBasicManager which populates json from each BasicModule 13 | // object provided to it during init. 14 | type GenesisState map[string]json.RawMessage 15 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/testing/simapp/params/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package params defines the simulation parameters in the simapp. 3 | 4 | It contains the default weights used for each transaction used on the module's 5 | simulation. These weights define the chance for a transaction to be simulated at 6 | any given operation. 7 | 8 | You can replace the default values for the weights by providing a params.json 9 | file with the weights defined for each of the transaction operations: 10 | 11 | { 12 | "op_weight_msg_send": 60, 13 | "op_weight_msg_delegate": 100, 14 | } 15 | 16 | In the example above, the `MsgSend` has 60% chance to be simulated, while the 17 | `MsgDelegate` will always be simulated. 18 | */ 19 | package params 20 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/testing/simapp/params/encoding.go: -------------------------------------------------------------------------------- 1 | package params 2 | 3 | import ( 4 | "github.com/cosmos/cosmos-sdk/client" 5 | "github.com/cosmos/cosmos-sdk/codec" 6 | "github.com/cosmos/cosmos-sdk/codec/types" 7 | ) 8 | 9 | // EncodingConfig specifies the concrete encoding types to use for a given app. 10 | // This is provided for compatibility between protobuf and amino implementations. 11 | type EncodingConfig struct { 12 | InterfaceRegistry types.InterfaceRegistry 13 | Codec codec.Codec 14 | TxConfig client.TxConfig 15 | Amino *codec.LegacyAmino 16 | } 17 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/testing/simapp/simd/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | 6 | "cosmossdk.io/log" 7 | 8 | svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" 9 | 10 | "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/testing/simapp" 11 | "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/testing/simapp/simd/cmd" 12 | ) 13 | 14 | func main() { 15 | rootCmd := cmd.NewRootCmd() 16 | if err := svrcmd.Execute(rootCmd, "", simapp.DefaultNodeHome); err != nil { 17 | log.NewLogger(rootCmd.OutOrStderr()).Error("failure when running app", "err", err) 18 | os.Exit(1) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/types/client_message.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | errorsmod "cosmossdk.io/errors" 5 | 6 | "github.com/cosmos/ibc-go/v8/modules/core/exported" 7 | ) 8 | 9 | var _ exported.ClientMessage = &ClientMessage{} 10 | 11 | // ClientType is a Wasm light client. 12 | func (ClientMessage) ClientType() string { 13 | return exported.Wasm 14 | } 15 | 16 | // ValidateBasic defines a basic validation for the wasm client message. 17 | func (c ClientMessage) ValidateBasic() error { 18 | if len(c.Data) == 0 { 19 | return errorsmod.Wrap(ErrInvalidData, "data cannot be empty") 20 | } 21 | 22 | return nil 23 | } 24 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/types/expected_keepers.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | storetypes "cosmossdk.io/store/types" 5 | 6 | sdk "github.com/cosmos/cosmos-sdk/types" 7 | 8 | "github.com/cosmos/ibc-go/v8/modules/core/exported" 9 | ) 10 | 11 | // ClientKeeper defines the expected client keeper 12 | type ClientKeeper interface { 13 | ClientStore(ctx sdk.Context, clientID string) storetypes.KVStore 14 | GetClientState(ctx sdk.Context, clientID string) (exported.ClientState, bool) 15 | SetClientState(ctx sdk.Context, clientID string, clientState exported.ClientState) 16 | } 17 | -------------------------------------------------------------------------------- /modules/light-clients/08-wasm/types/keys.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | // ModuleName for the wasm client 5 | ModuleName = "08-wasm" 6 | 7 | // StoreKey is the store key string for 08-wasm 8 | StoreKey = ModuleName 9 | ) 10 | -------------------------------------------------------------------------------- /modules/light-clients/09-localhost/codec.go: -------------------------------------------------------------------------------- 1 | package localhost 2 | 3 | import ( 4 | codectypes "github.com/cosmos/cosmos-sdk/codec/types" 5 | 6 | "github.com/cosmos/ibc-go/v8/modules/core/exported" 7 | ) 8 | 9 | // RegisterInterfaces registers the tendermint concrete client-related 10 | // implementations and interfaces. 11 | func RegisterInterfaces(registry codectypes.InterfaceRegistry) { 12 | registry.RegisterImplementations( 13 | (*exported.ClientState)(nil), 14 | &ClientState{}, 15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /modules/light-clients/09-localhost/keys.go: -------------------------------------------------------------------------------- 1 | package localhost 2 | 3 | const ( 4 | // ModuleName defines the 09-localhost light client module name 5 | ModuleName = "09-localhost" 6 | ) 7 | 8 | // SentinelProof defines the 09-localhost sentinel proof. 9 | // Submission of nil or empty proofs is disallowed in core IBC messaging. 10 | // This serves as a placeholder value for relayers to leverage as the proof field in various message types. 11 | // Localhost client state verification will fail if the sentintel proof value is not provided. 12 | var SentinelProof = []byte{0x01} 13 | -------------------------------------------------------------------------------- /modules/light-clients/09-localhost/localhost_test.go: -------------------------------------------------------------------------------- 1 | package localhost_test 2 | 3 | import ( 4 | "testing" 5 | 6 | testifysuite "github.com/stretchr/testify/suite" 7 | 8 | ibctesting "github.com/cosmos/ibc-go/v8/testing" 9 | ) 10 | 11 | type LocalhostTestSuite struct { 12 | testifysuite.Suite 13 | 14 | coordinator ibctesting.Coordinator 15 | chain *ibctesting.TestChain 16 | } 17 | 18 | func (suite *LocalhostTestSuite) SetupTest() { 19 | suite.coordinator = *ibctesting.NewCoordinator(suite.T(), 1) 20 | suite.chain = suite.coordinator.GetChain(ibctesting.GetChainID(1)) 21 | } 22 | 23 | func TestLocalhostTestSuite(t *testing.T) { 24 | testifysuite.Run(t, new(LocalhostTestSuite)) 25 | } 26 | -------------------------------------------------------------------------------- /proto/buf.gen.gogo.yaml: -------------------------------------------------------------------------------- 1 | version: v1 2 | plugins: 3 | - name: gocosmos 4 | out: .. 5 | opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types 6 | - name: grpc-gateway 7 | out: .. 8 | opt: logtostderr=true,allow_colon_final_segments=true 9 | -------------------------------------------------------------------------------- /proto/buf.gen.swagger.yaml: -------------------------------------------------------------------------------- 1 | version: v1 2 | plugins: 3 | - name: swagger 4 | out: ../tmp-swagger-gen 5 | opt: logtostderr=true,fqn_for_swagger_name=true,simple_operation_ids=true 6 | -------------------------------------------------------------------------------- /proto/buf.yaml: -------------------------------------------------------------------------------- 1 | version: v1 2 | name: buf.build/cosmos/ibc 3 | deps: 4 | - buf.build/cosmos/cosmos-sdk:aa25660f4ff746388669ce36b3778442 5 | - buf.build/cosmos/cosmos-proto:1935555c206d4afb9e94615dfd0fad31 6 | - buf.build/cosmos/gogo-proto:a14993478f40695898ed8a86931094b6656e8a5d 7 | - buf.build/googleapis/googleapis:8d7204855ec14631a499bd7393ce1970 8 | - buf.build/cosmos/ics23:b1abd8678aab07165efd453c96796a179eb3131f 9 | breaking: 10 | use: 11 | - FILE 12 | lint: 13 | use: 14 | - DEFAULT 15 | - COMMENTS 16 | - FILE_LOWER_SNAKE_CASE 17 | except: 18 | - UNARY_RPC 19 | - COMMENT_FIELD 20 | - SERVICE_SUFFIX 21 | - PACKAGE_VERSION_SUFFIX 22 | - RPC_REQUEST_STANDARD_NAME 23 | - RPC_RESPONSE_STANDARD_NAME 24 | -------------------------------------------------------------------------------- /proto/ibc/applications/fee/v1/ack.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package ibc.applications.fee.v1; 4 | 5 | option go_package = "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types"; 6 | 7 | // IncentivizedAcknowledgement is the acknowledgement format to be used by applications wrapped in the fee middleware 8 | message IncentivizedAcknowledgement { 9 | // the underlying app acknowledgement bytes 10 | bytes app_acknowledgement = 1; 11 | // the relayer address which submits the recv packet message 12 | string forward_relayer_address = 2; 13 | // success flag of the base application callback 14 | bool underlying_app_success = 3; 15 | } 16 | -------------------------------------------------------------------------------- /proto/ibc/applications/fee/v1/metadata.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package ibc.applications.fee.v1; 4 | 5 | option go_package = "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types"; 6 | 7 | // Metadata defines the ICS29 channel specific metadata encoded into the channel version bytestring 8 | // See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning 9 | message Metadata { 10 | // fee_version defines the ICS29 fee version 11 | string fee_version = 1; 12 | // app_version defines the underlying application version, which may or may not be a JSON encoded bytestring 13 | string app_version = 2; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ibc/applications/interchain_accounts/controller/v1/controller.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package ibc.applications.interchain_accounts.controller.v1; 4 | 5 | option go_package = "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/types"; 6 | 7 | // Params defines the set of on-chain interchain accounts parameters. 8 | // The following parameters may be used to disable the controller submodule. 9 | message Params { 10 | // controller_enabled enables or disables the controller submodule. 11 | bool controller_enabled = 1; 12 | } 13 | -------------------------------------------------------------------------------- /proto/ibc/applications/interchain_accounts/host/v1/host.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package ibc.applications.interchain_accounts.host.v1; 4 | 5 | option go_package = "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types"; 6 | 7 | // Params defines the set of on-chain interchain accounts parameters. 8 | // The following parameters may be used to disable the host submodule. 9 | message Params { 10 | // host_enabled enables or disables the host submodule. 11 | bool host_enabled = 1; 12 | // allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. 13 | repeated string allow_messages = 2; 14 | } 15 | -------------------------------------------------------------------------------- /proto/ibc/core/connection/v1/genesis.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package ibc.core.connection.v1; 4 | 5 | option go_package = "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types"; 6 | 7 | import "gogoproto/gogo.proto"; 8 | import "ibc/core/connection/v1/connection.proto"; 9 | 10 | // GenesisState defines the ibc connection submodule's genesis state. 11 | message GenesisState { 12 | repeated IdentifiedConnection connections = 1 [(gogoproto.nullable) = false]; 13 | repeated ConnectionPaths client_connection_paths = 2 [(gogoproto.nullable) = false]; 14 | // the sequence for the next generated connection identifier 15 | uint64 next_connection_sequence = 3; 16 | Params params = 4 [(gogoproto.nullable) = false]; 17 | } 18 | -------------------------------------------------------------------------------- /proto/ibc/lightclients/localhost/v2/localhost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package ibc.lightclients.localhost.v2; 4 | 5 | option go_package = "github.com/cosmos/ibc-go/v8/modules/light-clients/09-localhost;localhost"; 6 | 7 | import "ibc/core/client/v1/client.proto"; 8 | import "gogoproto/gogo.proto"; 9 | 10 | // ClientState defines the 09-localhost client state 11 | message ClientState { 12 | option (gogoproto.goproto_getters) = false; 13 | 14 | // the latest block height 15 | ibc.core.client.v1.Height latest_height = 1 [(gogoproto.nullable) = false]; 16 | } 17 | -------------------------------------------------------------------------------- /proto/ibc/lightclients/wasm/v1/genesis.proto: -------------------------------------------------------------------------------- 1 | 2 | syntax = "proto3"; 3 | package ibc.lightclients.wasm.v1; 4 | 5 | import "gogoproto/gogo.proto"; 6 | 7 | option go_package = "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/types"; 8 | 9 | // GenesisState defines 08-wasm's keeper genesis state 10 | message GenesisState { 11 | // uploaded light client wasm contracts 12 | repeated Contract contracts = 1 [(gogoproto.nullable) = false]; 13 | } 14 | 15 | // Contract stores contract code 16 | message Contract { 17 | option (gogoproto.goproto_getters) = false; 18 | // contract byte code 19 | bytes code_bytes = 1; 20 | } -------------------------------------------------------------------------------- /releases-decision-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polymerdao/ibc-go/b5d5877fbe63c187896c5185920a7382340dc30f/releases-decision-tree.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | requests==2.31.0 2 | -------------------------------------------------------------------------------- /scripts/README.md: -------------------------------------------------------------------------------- 1 | Generally we should avoid shell scripting and write tests purely in Golang. 2 | However, some libraries are not Goroutine-safe (e.g. app simulations cannot be run safely in parallel), 3 | and OS-native threading may be more efficient for many parallel simulations, so we use shell scripts here. 4 | -------------------------------------------------------------------------------- /scripts/go-lint-all.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e -o pipefail 4 | 5 | REPO_ROOT="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )" 6 | export REPO_ROOT 7 | 8 | lint_module() { 9 | local root="$1" 10 | shift 11 | cd "$(dirname "$root")" && 12 | echo "linting $(grep "^module" go.mod) [$(date -u +"%Y-%m-%dT%H:%M:%S")]" && 13 | golangci-lint run ./... -c "${REPO_ROOT}/.golangci.yml" "$@" 14 | } 15 | export -f lint_module 16 | 17 | find "${REPO_ROOT}" -type f -name go.mod -print0 | 18 | xargs -0 -I{} bash -c 'lint_module "$@"' _ {} "$@" 19 | -------------------------------------------------------------------------------- /scripts/go-mod-tidy-all.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -euo pipefail 4 | 5 | for modfile in $(find . -name go.mod); do 6 | echo "Updating $modfile" 7 | DIR=$(dirname $modfile) 8 | (cd $DIR; go mod tidy) 9 | done 10 | -------------------------------------------------------------------------------- /scripts/linkify_changelog.py: -------------------------------------------------------------------------------- 1 | import fileinput 2 | import re 3 | 4 | # This script goes through the provided file, and replaces any " \#", 5 | # with the valid mark down formatted link to it. e.g. 6 | # " [\#number](https://github.com/cosmos/cosmos-sdk/issues/) 7 | # Note that if the number is for a PR, github will auto-redirect you when you click the link. 8 | # It is safe to run the script multiple times in succession. 9 | # 10 | # Example: 11 | # 12 | # $ python ./scripts/linkify_changelog.py CHANGELOG.md 13 | for line in fileinput.input(inplace=1): 14 | line = re.sub(r"\s\\#([0-9]+)", r" [\\#\1](https://github.com/cosmos/ibc-go/issues/\1)", line.rstrip()) 15 | print(line) 16 | -------------------------------------------------------------------------------- /scripts/protocgen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eo pipefail 4 | 5 | echo "Generating gogo proto code" 6 | cd proto 7 | 8 | buf generate --template buf.gen.gogo.yaml $file 9 | 10 | cd .. 11 | 12 | # move proto files to the right places 13 | cp -r github.com/cosmos/ibc-go/v*/modules/* modules/ 14 | cp -r github.com/cosmos/ibc-go/modules/* modules/ 15 | rm -rf github.com 16 | 17 | go mod tidy 18 | -------------------------------------------------------------------------------- /testing/mock/README.md: -------------------------------------------------------------------------------- 1 | This package is only intended to be used for testing core IBC. In order to maintain secure 2 | testing, we need to do message passing and execution which requires connecting an IBC application 3 | module that fulfills all the callbacks. We cannot connect to ibc-transfer which does not support 4 | all channel types so instead we create a mock application module which does nothing. It simply 5 | return nil in all cases so no error ever occurs. It is intended to be as minimal and lightweight 6 | as possible and should never import simapp. 7 | -------------------------------------------------------------------------------- /testing/mock/ack.go: -------------------------------------------------------------------------------- 1 | package mock 2 | 3 | // EmptyAcknowledgement implements the exported.Acknowledgement interface and always returns an empty byte string as Response 4 | type EmptyAcknowledgement struct { 5 | Response []byte 6 | } 7 | 8 | // NewEmptyAcknowledgement returns a new instance of EmptyAcknowledgement 9 | func NewEmptyAcknowledgement() EmptyAcknowledgement { 10 | return EmptyAcknowledgement{ 11 | Response: []byte{}, 12 | } 13 | } 14 | 15 | // Success implements the Acknowledgement interface 16 | func (EmptyAcknowledgement) Success() bool { 17 | return true 18 | } 19 | 20 | // Acknowledgement implements the Acknowledgement interface 21 | func (EmptyAcknowledgement) Acknowledgement() []byte { 22 | return []byte{} 23 | } 24 | -------------------------------------------------------------------------------- /testing/mock/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | This package is only intended to be used for testing core IBC. In order to maintain secure 3 | testing, we need to do message passing and execution which requires connecting an IBC application 4 | module that fulfills all the callbacks. We cannot connect to ibc-transfer which does not support 5 | all channel types so instead we create a mock application module which does nothing. It simply 6 | return nil in all cases so no error ever occurs. It is intended to be as minimal and lightweight 7 | as possible and should never import simapp. 8 | */ 9 | package mock 10 | -------------------------------------------------------------------------------- /testing/simapp/genesis.go: -------------------------------------------------------------------------------- 1 | package simapp 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // GenesisState of the blockchain is represented here as a map of raw json 8 | // messages key'd by a identifier string. 9 | // The identifier is used to determine which module genesis information belongs 10 | // to so it may be appropriately routed during init chain. 11 | // Within this application default genesis information is retrieved from 12 | // the ModuleBasicManager which populates json from each BasicModule 13 | // object provided to it during init. 14 | type GenesisState map[string]json.RawMessage 15 | -------------------------------------------------------------------------------- /testing/simapp/params/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package params defines the simulation parameters in the simapp. 3 | 4 | It contains the default weights used for each transaction used on the module's 5 | simulation. These weights define the chance for a transaction to be simulated at 6 | any given operation. 7 | 8 | You can replace the default values for the weights by providing a params.json 9 | file with the weights defined for each of the transaction operations: 10 | 11 | { 12 | "op_weight_msg_send": 60, 13 | "op_weight_msg_delegate": 100, 14 | } 15 | 16 | In the example above, the `MsgSend` has 60% chance to be simulated, while the 17 | `MsgDelegate` will always be simulated. 18 | */ 19 | package params 20 | -------------------------------------------------------------------------------- /testing/simapp/params/encoding.go: -------------------------------------------------------------------------------- 1 | package params 2 | 3 | import ( 4 | "github.com/cosmos/cosmos-sdk/client" 5 | "github.com/cosmos/cosmos-sdk/codec" 6 | "github.com/cosmos/cosmos-sdk/codec/types" 7 | ) 8 | 9 | // EncodingConfig specifies the concrete encoding types to use for a given app. 10 | // This is provided for compatibility between protobuf and amino implementations. 11 | type EncodingConfig struct { 12 | InterfaceRegistry types.InterfaceRegistry 13 | Codec codec.Codec 14 | TxConfig client.TxConfig 15 | Amino *codec.LegacyAmino 16 | } 17 | -------------------------------------------------------------------------------- /testing/simapp/params/params.go: -------------------------------------------------------------------------------- 1 | package params 2 | 3 | // Simulation parameter constants 4 | const ( 5 | StakePerAccount = "stake_per_account" 6 | InitiallyBondedValidators = "initially_bonded_validators" 7 | ) 8 | -------------------------------------------------------------------------------- /testing/simapp/simd/cmd/cmd_test.go: -------------------------------------------------------------------------------- 1 | package cmd_test 2 | 3 | import ( 4 | "fmt" 5 | "testing" 6 | 7 | "github.com/stretchr/testify/require" 8 | 9 | svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" 10 | "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" 11 | 12 | "github.com/cosmos/ibc-go/v8/testing/simapp" 13 | "github.com/cosmos/ibc-go/v8/testing/simapp/simd/cmd" 14 | ) 15 | 16 | func TestInitCmd(t *testing.T) { 17 | rootCmd := cmd.NewRootCmd() 18 | rootCmd.SetArgs([]string{ 19 | "init", // Test the init cmd 20 | "simapp-test", // Moniker 21 | fmt.Sprintf("--%s=%s", cli.FlagOverwrite, "true"), // Overwrite genesis.json, in case it already exists 22 | }) 23 | 24 | require.NoError(t, svrcmd.Execute(rootCmd, "", simapp.DefaultNodeHome)) 25 | } 26 | -------------------------------------------------------------------------------- /testing/simapp/simd/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | 6 | "cosmossdk.io/log" 7 | 8 | svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" 9 | 10 | "github.com/cosmos/ibc-go/v8/testing/simapp" 11 | "github.com/cosmos/ibc-go/v8/testing/simapp/simd/cmd" 12 | ) 13 | 14 | func main() { 15 | rootCmd := cmd.NewRootCmd() 16 | if err := svrcmd.Execute(rootCmd, "", simapp.DefaultNodeHome); err != nil { 17 | log.NewLogger(rootCmd.OutOrStderr()).Error("failure when running app", "err", err) 18 | os.Exit(1) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /testing/types/expected_keepers.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "context" 5 | 6 | stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" 7 | ) 8 | 9 | // StakingKeeper defines the expected staking keeper interface used in the 10 | // IBC testing package 11 | type StakingKeeper interface { 12 | GetHistoricalInfo(ctx context.Context, height int64) (stakingtypes.HistoricalInfo, error) 13 | } 14 | --------------------------------------------------------------------------------