Skip to content

chore: manual verification of MsgUpdateClient and upgrade#6

Draft
chatton wants to merge 2 commits intomainfrom
cian/manual-hermes-test
Draft

chore: manual verification of MsgUpdateClient and upgrade#6
chatton wants to merge 2 commits intomainfrom
cian/manual-hermes-test

Conversation

@chatton
Copy link
Collaborator

@chatton chatton commented Nov 28, 2025

This PR is not necessarily intended to be merged, it contains a bunch of bash scripts / docker compose to spin up an environment to be able to test the ibc transition.

Here are the steps I performed.

make up

Spins up 3 chains, the hermes relayer, and creates clients/connections/channels between chain-a -> chain-b and chain-a- > chain-c

make ibc-transfer
[ibc-transfer] Sending 1000000stake from gm-a to gm-b
3F4B04CDCDE8655356979EB12726C86FDDCE7F0EAB06DA2B20DD1993625C1C2E
make ibc-transfer-verify
[ibc-transfer-verify] Checking IBC balance on gm-b...
[ibc-transfer-verify] ✓ IBC balance: 1000000 ibc/C053D637CCA2A2BA030E2C5EE1B28A16F71CCB0E45E8BE52766DC1B241B77878

performs ibc transfer from chain-a -> chain-b and verifies the tokens are sent

make migrate
WINDOW=30 bash ./migrate-stayoncomet.sh 30
[migrate-stayoncomet] getting current height...
[migrate-stayoncomet] current height: 61, migration at: 91
[migrate-stayoncomet] getting validator-0 pubkey...
[migrate-stayoncomet] validator pubkey: reYejjnwuLDjWhUAmNjyUuqtajGp1qkk/6fL9EQmQ+M=
[migrate-stayoncomet] using hardcoded gov module address...
[migrate-stayoncomet] gov address: gm10d07y265gmmuvt4z0w9aw880jnsr700j5nsal6
[migrate-stayoncomet] creating proposal json...
[migrate-stayoncomet] copying proposal to container...
Successfully copied 2.56kB to gm-a-val-0:/tmp/proposal.json
[migrate-stayoncomet] submitting governance proposal...
[migrate-stayoncomet] submit output: {"height":"0","txhash":"660DF13AB2BF8192E1F5BC2585C355FFCB3DD94236A8659EFC3D4A401A02D34C","codespace":"","code":0,"data":"","raw_log":"","logs":[],"info":"","gas_wanted":"0","gas_used":"0","tx":null,"timestamp":"","events":[]}
[migrate-stayoncomet] tx hash: 660DF13AB2BF8192E1F5BC2585C355FFCB3DD94236A8659EFC3D4A401A02D34C
[migrate-stayoncomet] waiting for tx to be committed...
[migrate-stayoncomet] querying proposal ID from transaction...
[migrate-stayoncomet] proposal ID: 1
[migrate-stayoncomet] waiting for proposal to be queryable...
[migrate-stayoncomet] voting yes on proposal from all validators...
[migrate-stayoncomet] voting from gm-a-val-0...
[migrate-stayoncomet] ✓ vote from gm-a-val-0 succeeded
[migrate-stayoncomet] voting from gm-a-val-1...
[migrate-stayoncomet] ✓ vote from gm-a-val-1 succeeded
[migrate-stayoncomet] voting from gm-a-val-2...
[migrate-stayoncomet] ✓ vote from gm-a-val-2 succeeded
[migrate-stayoncomet] waiting for votes to be processed...
[migrate-stayoncomet] proposal submitted and voted on
[migrate-stayoncomet] proposal ID: 1
[migrate-stayoncomet] migration will execute at height 91

submits a gov proposal to perform the migration, and votes yes with all validators

WAIT FOR PROPOSAL TO PASS

make ibc-transfer
[ibc-transfer] Sending 1000000stake from gm-a to gm-b
DA98E3A5CF1E6C423ED170CD00922DD4DA2CD314F31D4E6A91EE8E8DD5A30746
make ibc-transfer-verify
[ibc-transfer-verify] Checking IBC balance on gm-b...
[ibc-transfer-verify] ✓ IBC balance: 1000000 ibc/C053D637CCA2A2BA030E2C5EE1B28A16F71CCB0E45E8BE52766DC1B241B77878

Send another ibc transfer, but balance is the same IBC is currently broken

./update-clients-simple.sh 91
[2025-11-28T12:17:10Z] Updating IBC clients to height 92 (migration at 91)
[2025-11-28T12:17:10Z] Querying clients on gm-b tracking gm-a...
[2025-11-28T12:17:10Z] Updating gm-a client on gm-b: 07-tendermint-0 -> height 92
2025-11-28T12:17:10.494452Z  INFO ThreadId(01) running Hermes v1.13.1
2025-11-28T12:17:10.507440Z  WARN ThreadId(01) foreign_client.build_update_client_and_send{client=gm-a->gm-b:07-tendermint-0 target_query_height=0-92}:foreign_client.wait_and_build_update_client_with_trusted{client=gm-a->gm-b:07-tendermint-0 target_height=0-92}:foreign_client.build_update_client_with_trusted{client=gm-a->gm-b:07-tendermint-0 target_height=0-92}:foreign_client.solve_trusted_height{client=gm-a->gm-b:07-tendermint-0 target_height=0-92}: resolving trusted height from the full list of consensus state heights for target height 0-92; this may take a while
SUCCESS [
    UpdateClient(
        UpdateClient {
            common: Attributes {
                client_id: ClientId(
                    "07-tendermint-0",
                ),
                client_type: Tendermint,
                consensus_height: Height {
                    revision: 0,
                    height: 92,
                },
            },
            header: None,
        },
    ),
]
[2025-11-28T12:17:14Z] Querying clients on gm-c tracking gm-a...
[2025-11-28T12:17:14Z] Updating gm-a client on gm-c: 07-tendermint-0 -> height 92
2025-11-28T12:17:14.895368Z  INFO ThreadId(01) running Hermes v1.13.1
2025-11-28T12:17:14.909858Z  WARN ThreadId(01) foreign_client.build_update_client_and_send{client=gm-a->gm-c:07-tendermint-0 target_query_height=0-92}:foreign_client.wait_and_build_update_client_with_trusted{client=gm-a->gm-c:07-tendermint-0 target_height=0-92}:foreign_client.build_update_client_with_trusted{client=gm-a->gm-c:07-tendermint-0 target_height=0-92}:foreign_client.solve_trusted_height{client=gm-a->gm-c:07-tendermint-0 target_height=0-92}: resolving trusted height from the full list of consensus state heights for target height 0-92; this may take a while
SUCCESS [
    UpdateClient(
        UpdateClient {
            common: Attributes {
                client_id: ClientId(
                    "07-tendermint-0",
                ),
                client_type: Tendermint,
                consensus_height: Height {
                    revision: 0,
                    height: 92,
                },
            },
            header: None,
        },
    ),
]

perform MsgUpdateClient at the upgrade height + 1

make ibc-transfer-verify
[ibc-transfer-verify] Checking IBC balance on gm-b...
[ibc-transfer-verify] ✓ IBC balance: 2000000 ibc/C053D637CCA2A2BA030E2C5EE1B28A16F71CCB0E45E8BE52766DC1B241B77878

verify again, the second ibc-transfer successfully got relayed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant