Skip to content

Instantly share code, notes, and snippets.

@rootulp
Created September 4, 2024 18:30
Show Gist options
  • Save rootulp/2544c9a7b76fb66694e330f845611d3d to your computer and use it in GitHub Desktop.
Save rootulp/2544c9a7b76fb66694e330f845611d3d to your computer and use it in GitHub Desktop.
Attempt to submit a PFB via ICA on Arabica

Inter Chain Accounts

Notes from creating and testing ICA on testnets.

Prerequisites

  1. Start a Cosmos Hub Testnet node and sync it to the tip.
  2. Start a Arabica node and sync it to the tip.
  3. Install and configure Hermes to relay between these two chains.
    1. Configure Hermes keys with an account on both chains. Get both accounts funded via Discord wallets.

Steps

  1. Create a connection between the chains

    hermes create connection --a-chain arabica-11 --b-chain theta-testnet-00
    
    // Output
    SUCCESS Connection {
        delay_period: 0ns,
        a_side: ConnectionSide {
            chain: BaseChainHandle {
                chain_id: ChainId {
                    id: "arabica-11",
                    version: 11,
                },
                runtime_sender: Sender { .. },
            },
            client_id: ClientId(
                "07-tendermint-7",
            ),
            connection_id: Some(
                ConnectionId(
                    "connection-3",
                ),
            ),
        },
        b_side: ConnectionSide {
            chain: BaseChainHandle {
                chain_id: ChainId {
                    id: "theta-testnet-001",
                    version: 0,
                },
                runtime_sender: Sender { .. },
            },
            client_id: ClientId(
                "07-tendermint-3737",
            ),
            connection_id: Some(
                ConnectionId(
                    "connection-3788",
                ),
            ),
        },
    }
  2. Create an ICA

    gaiad tx interchain-accounts controller register connection-3788 --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000 --version '{"version":"ics27-1","controller_connection_id":"connection-3788","host_connection_id":"connection-3","address":"cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak","encoding":"proto3","tx_type":"sdk_multi_msg"}' --ordering ORDER_ORDERED

    https://www.mintscan.io/cosmos-testnet/tx/02170DDE16437CC17329E4DAA4CF4CEC26C39E629A4B7122BE3A1735B75BB710/?height=23396338

    https://arabica.celenium.io/tx/73c8365776b2a24270b152c11dc0fec4b24455f4bbc4770d5470d8a1a215faa6?tab=messages

  3. Send a msg send tx with cosmos addresses in to/from

    cat msg-send.json
    
    // Output
    {"type":"TYPE_EXECUTE_TX","data":"eyJtZXNzYWdlcyI6W3siQHR5cGUiOiIvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kIiwiZnJvbV9hZGRyZXNzIjoiY29zbW9zMTVjY3NoaG1wMGdzeDI5cXBxcTZnNHptbHRubnZnbXl1OXVldWFkaDl5Mm5jNXpqMHN6bHM1Z3RkZHoiLCJ0b19hZGRyZXNzIjoiY29zbW9zMTBoOXN0YzV2Nm50Z2V5Z2Y1eGY5NDVuanFxNWgzMnI1M3VxdXZ3IiwiYW1vdW50IjpbeyJkZW5vbSI6InN0YWtlIiwiYW1vdW50IjoiMTAwMCJ9XX1dfQ==","memo":"memo"}
    
    gaiad tx interchain-accounts controller send-tx connection-3788 msg-send.json --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000

    https://www.mintscan.io/cosmos-testnet/tx/52144306366AD35257D06358BCC3462344BACF9DCDE4A0F1D1D1E3F06CCBF50C

    https://arabica.celenium.io/tx/987a8b3d3c3a7184c0c4bd3701603b397e4d4196abdf9c9088cf5d1c1b738ca7?tab=messages

  4. Query the Celestia address that got created

    root@rootulp-arabica:~# gaiad query ica controller interchain-account cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak connection-3788 --node tcp://localhost:27000
    
    // Output
    address: celestia1xzsdn65hyljcmenlxyjmdmvghhd0w4ut27k3fx56jp2p69eh6srs8p3rss
  5. Create a msg-send-celestia.json

    root@rootulp-arabica:~#     celestia-appd tx interchain-accounts host generate-packet-data '{
    >         "@type":"/cosmos.bank.v1beta1.MsgSend",
    >         "from_address":"celestia1xzsdn65hyljcmenlxyjmdmvghhd0w4ut27k3fx56jp2p69eh6srs8p3rss",
    >         "to_address":"celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju",
    >         "amount": [
    >             {
    >                 "denom": "utia",
    >                 "amount": "1"
    >             }
    >         ]
    >     }' --memo "rootulp"
    
    // Output
    {"type":"TYPE_EXECUTE_TX","data":"CqIBChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEoEBCkNjZWxlc3RpYTF4enNkbjY1aHlsamNtZW5seHlqbWRtdmdoaGQwdzR1dDI3azNmeDU2anAycDY5ZWg2c3JzOHAzcnNzEi9jZWxlc3RpYTFkc21ueno4cXZuMzQzbHhxMmV3NjczOXNkMDJnc3NweWVzYTRqdRoJCgR1dGlhEgEx","memo":"rootulp"}
  6. Put the output from the previous command into msg-send-celestia.json

  7. Send a msg send tx with Celestia addresses in to/from

    gaiad tx interchain-accounts controller send-tx connection-3788 msg-send-celestia.json --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000

    https://arabica.celenium.io/tx/277e956d00beb8dd9c93a190e27c9948492b5859442596ccdef203ce1d05c3d2?tab=messages https://arabica.celenium.io/tx/eafcae7c11c0293cea2c855ce4e11d99357ba93d87d9203e146ae0a2af8f67a6?tab=messages

    Observe that no event is emitted for the 1utia transfer from celestia1xzsdn65hyljcmenlxyjmdmvghhd0w4ut27k3fx56jp2p69eh6srs8p3rss to celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju

  8. Create a msg-pfb.json

    celestia-appd tx interchain-accounts host generate-packet-data '{"@type":"/celestia.blob.v1.MsgPayForBlobs"}' --memo "rootulp" 2> msg-pfb.json
    
    cat msg-pfb.json
    {"type":"TYPE_EXECUTE_TX","data":"CiIKIC9jZWxlc3RpYS5ibG9iLnYxLk1zZ1BheUZvckJsb2Jz","memo":"rootulp"}
  9. Send the msg-pfb

    gaiad tx interchain-accounts controller send-tx connection-3788 msg-pfb.json --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000
    

    https://www.mintscan.io/cosmos-testnet/tx/0491EF8BDD3D76F8F6A87A02F070544098E3B523856AD2D41AEA6590FF00A94E?height=23397074

    Hermes errors with

    2024-09-03T17:15:28.664756Z ERROR ThreadId(451) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.packet.cmd{src_chain=theta-testnet-001 src_port=icacontroller-cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak src_channel=channel-4311 dst_chain=arabica-11}: will retry: schedule execution encountered error: link failed with underlying error: gRPC call `send_tx_simulate` failed with status: status: Unknown, message: "recovered: empty address string is not allowed\nstack:\ngoroutine 14849751 [running]:\nruntime/debug.Stack()\n\t/root/go/pkg/mod/golang.org/[email protected]/src/runtime/debug/stack.go:24 +0x64\ngithub.com/cosmos/cosmos-sdk/baseapp.NewBaseApp.newDefaultRecoveryMiddleware.func1({0x1addea0, 0x402b3c43d0})\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/recovery.go:71 +0x24\ngithub.com/cosmos/cosmos-sdk/baseapp.NewBaseApp.newDefaultRecoveryMiddleware.newRecoveryMiddleware.func2({0x1addea0?, 0x402b3c43d0?})\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/recovery.go:39 +0x38\ngithub.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x1addea0, 0x402b3c43d0}, 0x400419a5b8?)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/recovery.go:28 +0x38\ngithub.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x1addea0, 0x402b3c43d0}, 0x400419a6b8?)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/recovery.go:33 +0x60\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx.func1()\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/baseapp.go:719 +0xe0\npanic({0x1addea0?, 0x402b3c43d0?})\n\t/root/go/pkg/mod/golang.org/[email protected]/src/runtime/panic.go:770 +0x124\ngithub.com/celestiaorg/celestia-app/v2/x/blob/types.(*MsgPayForBlobs).GetSigners(0x402b3c43a0?)\n\t/root/celestia-app/x/blob/types/payforblob.go:206 +0xa0\ngithub.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/keeper.Keeper.authenticateTx({{0x2ab7fb0, 0x4000352bf0}, {0x2ae43e0, 0x4000352670}, {{0x2ae43e0, 0x4000352670}, 0x40007b2048, {0x2ab7fb0, 0x4000352b60}, {0x2ab7fd8, ...}, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/apps/27-interchain-accounts/host/keeper/relay.go:100 +0x29c\ngithub.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/keeper.Keeper.executeTx({{0x2ab7fb0, 0x4000352bf0}, {0x2ae43e0, 0x4000352670}, {{0x2ae43e0, 0x4000352670}, 0x40007b2048, {0x2ab7fb0, 0x4000352b60}, {0x2ab7fd8, ...}, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/apps/27-interchain-accounts/host/keeper/relay.go:52 +0x138\ngithub.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/keeper.Keeper.OnRecvPacket({{0x2ab7fb0, 0x4000352bf0}, {0x2ae43e0, 0x4000352670}, {{0x2ae43e0, 0x4000352670}, 0x40007b2048, {0x2ab7fb0, 0x4000352b60}, {0x2ab7fd8, ...}, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/apps/27-interchain-accounts/host/keeper/relay.go:31 +0x168\ngithub.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host.IBCModule.OnRecvPacket({{{0x2ab7fb0, 0x4000352bf0}, {0x2ae43e0, 0x4000352670}, {{0x2ae43e0, 0x4000352670}, 0x40007b2048, {0x2ab7fb0, 0x4000352b60}, {0x2ab7fd8, ...}, ...}, ...}}, ...)\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/apps/27-interchain-accounts/host/ibc_module.go:112 +0x1d4\ngithub.com/cosmos/ibc-go/v6/modules/core/keeper.Keeper.RecvPacket({{0x0, 0x0}, {0x2ae43e0, 0x4000352670}, {{0x2ab7fb0, 0x4000352bd0}, {0x2ae43e0, 0x4000352670}, {{0x2ae43e0, 0x4000352670}, ...}, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/core/keeper/msg_server.go:410 +0x51c\ngithub.com/cosmos/ibc-go/v6/modules/core/04-channel/types._Msg_RecvPacket_Handler.func1({0x2ad2c30?, 0x40202a5440?}, {0x1daa100?, 0x40222cc8f0?})\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/core/04-channel/types/tx.pb.go:1322 +0xd0\ngithub.com/cosmos/cosmos-sdk/baseapp.(*MsgServiceRouter).RegisterService.func2.1({0x2ad2798, 0x4003c9e008}, {0x400419e418?, 0xc13234?}, 0x2a0?, 0x4040633e18)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/msg_service_router.go:118 +0x98\ngithub.com/cosmos/ibc-go/v6/modules/core/04-channel/types._Msg_RecvPacket_Handler({0x1e3c0a0, 0x4000126b40}, {0x2ad2798, 0x4003c9e008}, 0x2531ed8, 0x401aa530c0)\n\t/root/go/pkg/mod/github.com/cosmos/ibc-go/[email protected]/modules/core/04-channel/types/tx.pb.go:1324 +0x148\ngithub.com/cosmos/cosmos-sdk/baseapp.(*MsgServiceRouter).RegisterService.func2({{0x2ad26b8, 0x3f1b460}, {0x2ae4ae0, 0x402bb00fc0}, {{0xb, 0x2}, {0x40419e8916, 0xa}, 0x1c7d57, {0x2703aa7a, ...}, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/msg_service_router.go:145 +0x254\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runMsgs(_, {{0x2ad26b8, 0x3f1b460}, {0x2ae4ae0, 0x402bb00fc0}, {{0xb, 0x2}, {0x40419e8916, 0xa}, 0x1c7d57, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/baseapp.go:865 +0x20c\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx(0x4000126960, 0x2, {0x4002d7d000, 0x15cb, 0x1800})\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/baseapp.go:805 +0x974\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).Simulate(...)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/test_helpers.go:25\ngithub.com/cosmos/cosmos-sdk/x/auth/tx.txServer.Simulate({{{0x0, 0x0, 0x0}, {0x2af8238, 0x4001115520}, 0x0, {0x400000fe10, 0xa}, {0x2aebb60, 0x400078a390}, ...}, ...}, ...)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/x/auth/tx/service.go:132 +0x10c\ngithub.com/cosmos/cosmos-sdk/types/tx._Service_Simulate_Handler.func1({0x2ad2c30?, 0x4014d67440?}, {0x1d90600?, 0x4005ec77c0?})\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/types/tx/service.pb.go:933 +0xd0\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func1({0x2ad2c30, 0x400afac270}, {0x1d90600, 0x4005ec77c0}, 0x4005ec77e0?, 0x4005eedde8)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/grpcserver.go:68 +0x2d4\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2.ChainUnaryServer.1.1.1({0x2ad2c30?, 0x400afac270?}, {0x1d90600?, 0x4005ec77c0?})\n\t/root/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:25 +0x3c\ngithub.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1({0x2ad2c30?, 0x400afac270?}, {0x1d90600?, 0x4005ec77c0?}, 0x18?, 0x4005ec77e0?)\n\t/root/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/recovery/interceptors.go:33 +0x98\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2.ChainUnaryServer.1.1.1({0x2ad2c30?, 0x400afac270?}, {0x1d90600?, 0x4005ec77c0?})\n\t/root/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:25 +0x3c\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2.ChainUnaryServer.1({0x2ad2c30, 0x400afac270}, {0x1d90600, 0x4005ec77c0}, 0x28?, 0x1c27e40?)\n\t/root/go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:34 +0xb8\ngithub.com/cosmos/cosmos-sdk/types/tx._Service_Simulate_Handler({0x1d1c3a0, 0x4000602700}, {0x2ad2c30, 0x400afac270}, 0x4039eae000, 0x400afad5c0)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/types/tx/service.pb.go:935 +0x148\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).RegisterGRPCServer.func2({0x1d1c3a0, 0x4000602700}, {0x2ad2c30, 0x400afac270}, 0x4039eae000, 0x40034565a0?)\n\t/root/go/pkg/mod/github.com/celestiaorg/[email protected]/baseapp/grpcserver.go:82 +0x104\ngoogle.golang.org/grpc.(*Server).processUnaryRPC(0x400159c200, {0x2ad2c30, 0x4038e8f890}, {0x2ae25c0, 0x403f5a5380}, 0x40034565a0, 0x4005647b30, 0x4003b5ba00, 0x0)\n\t/root/go/pkg/mod/google.golang.org/[email protected]/server.go:1379 +0xb58\ngoogle.golang.org/grpc.(*Server).handleStream(0x400159c200, {0x2ae25c0, 0x403f5a5380}, 0x40034565a0)\n\t/root/go/pkg/mod/google.golang.org/[email protected]/server.go:1790 +0xb20\ngoogle.golang.org/grpc.(*Server).serveStreams.func2.1()\n\t/root/go/pkg/mod/google.golang.org/[email protected]/server.go:1029 +0x8c\ncreated by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 14849696\n\t/root/go/pkg/mod/google.golang.org/[email protected]/server.go:1040 +0x13c\n: panic [celestiaorg/[email protected]/baseapp/recovery.go:69] With gas wanted: '18446744073709551615' and gas used: '183188' ", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc", "x-cosmos-block-height": "1867095"} }
    
    
  10. Create a msg-pfb.json

    celestia-appd tx interchain-accounts host generate-packet-data '{"@type":"/celestia.blob.v1.MsgPayForBlobs", "signer":"celestia1xzsdn65hyljcmenlxyjmdmvghhd0w4ut27k3fx56jp2p69eh6srs8p3rss"}' --memo "rootulp" 2> msg-pfb-2.json
    
    cat msg-pfb-2.json
    {"type":"TYPE_EXECUTE_TX","data":"CmkKIC9jZWxlc3RpYS5ibG9iLnYxLk1zZ1BheUZvckJsb2JzEkUKQ2NlbGVzdGlhMXh6c2RuNjVoeWxqY21lbmx4eWptZG12Z2hoZDB3NHV0MjdrM2Z4NTZqcDJwNjllaDZzcnM4cDNyc3M=","memo":"rootulp"}
  11. Send the msg PFB

    gaiad tx interchain-accounts controller send-tx connection-3788 msg-pfb-2.json --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000
  12. Create another

    gaiad tx interchain-accounts controller register connection-3790 --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000 --version '{"version":"ics27-1","controller_connection_id":"connection-3790","host_connection_id":"connection-4","address":"cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak","encoding":"proto3","tx_type":"sdk_multi_msg"}' --ordering ORDER_ORDERED
    
    root@rootulp-arabica:~# gaiad query ica controller interchain-account cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak connection-3790 --node tcp://localhost:27000
    address: celestia1a7jh5agpdy8hhu2e4x90l8a5l3er88rpjmnl3g0zcq5sxc6sz23sv8u8r9
    
    celestia-appd tx interchain-accounts host generate-packet-data '{"@type":"/celestia.blob.v1.MsgPayForBlobs", "signer":"celestia1a7jh5agpdy8hhu2e4x90l8a5l3er88rpjmnl3g0zcq5sxc6sz23sv8u8r9"}' --memo "rootulp" 2> msg-pfb-4.json
    
    gaiad tx interchain-accounts controller send-tx connection-3790 msg-pfb-4.json --from key-cosmos --chain-id theta-testnet-001 --fees 100000uatom --gas 2000000 --node tcp://localhost:27000

    https://www.mintscan.io/cosmos-testnet/tx/291537BD96CBCE766B5563B01BA4BC9F3312CB183B1C5EE3C88911D9067FFAE4?sector=logs https://arabica.celenium.io/tx/6e806bf01247371643faf2706805261c0bb810903bb7c5fbcf073c2779ab9f7b?tab=messages

    root@rootulp-arabica:~# celestia-appd query tx 6e806bf01247371643faf2706805261c0bb810903bb7c5fbcf073c2779ab9f7b > msg-pfb-4-output.log
    
  13. Query the packet events

    rootulp-arabica:~# celestia-appd query interchain-accounts host packet-events channel-3 2
            - coin_received
                - receiver: celestia17xpfvakm2amg962yls6f84z3kell8c5lpnjs3s
                - amount: 21184utia
            - coin_spent
                - spender: celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju
                - amount: 21184utia
            - message
                - sender: celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju
                - action: /ibc.core.client.v1.MsgUpdateClient
                - module: ibc_client
                - action: /ibc.core.channel.v1.MsgRecvPacket
                - module: ibc_channel
                - module: ibc_channel
            - recv_packet
                - packet_data: {"data":"ClUKIC9jZWxlc3RpYS5ibG9iLnYxLk1zZ1BheUZvckJsb2JzEjEKL2NlbGVzdGlhMWRzbW56ejhxdm4zNDNseHEyZXc2NzM5c2QwMmdzc3B5ZXNhNGp1","memo":"","type":"TYPE_EXECUTE_TX"}
                - packet_data_hex: 7b2264617461223a22436c554b4943396a5a57786c6333527059533569624739694c6e59784c6b317a5a31426865555a76636b4a7362324a7a456a454b4c324e6c6247567a64476c684d57527a62573536656a6878646d347a4e444e73654845795a5863324e7a4d35633251774d6d647a633342355a584e684e477031222c226d656d6f223a22222c2274797065223a22545950455f455845435554455f5458227d
                - packet_timeout_height: 0-0
                - packet_timeout_timestamp: 1725387671067592677
                - packet_sequence: 2
                - packet_src_port: icacontroller-cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak
                - packet_src_channel: channel-4312
                - packet_dst_port: icahost
                - packet_dst_channel: channel-3
                - packet_channel_ordering: ORDER_ORDERED
                - packet_connection: connection-4
            - transfer
                - recipient: celestia17xpfvakm2amg962yls6f84z3kell8c5lpnjs3s
                - sender: celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju
                - amount: 21184utia
            - tx
                - fee: 21184utia
                - fee_payer: celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju
                - acc_seq: celestia1dsmnzz8qvn343lxq2ew6739sd02gsspyesa4ju/63
                - signature: fA7bu9/k4TBvB0CNCBSs0X9Rn4HtrVsmdO699G/md2h025kwW4Xb2PsiKuThBRqfrButIduc9br0rS0jgbgLYg==
            - update_client
                - client_id: 07-tendermint-8
                - client_type: 07-tendermint
                - consensus_height: 0-23397679
                - header: 0a262f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e48656164657212cc1a0a9a080a9a030a02080b121174686574612d746573746e65742d30303118af8a940b220c08c4a2ddb60610dac2b5b6012a480a20c168ae4a9784320b808acfec556144181602899d3b4add62174f6d5e262402cc122408011220e78de225aaa900ba5bc9fcf3bc7d2f1f179ed1e6b61ddba1f442573074f005b83220603e211d1fcee42f34eb17e839dca11fbd38eaa5634a128c4b1cc9d6342f99eb3a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554220ee83e68479e3500b999b42322c55bd7cb860cb34397e9dcdd2b3260bf49c38754a20ee83e68479e3500b999b42322c55bd7cb860cb34397e9dcdd2b3260bf49c387552200c71a481c6151e5fe9df617f5e8374f61a49ea07885794eea940adfd2993d9fe5a203993182dadc077e4a84b4540600c87d2752fbac15319965395c82f54dba8ecc862205b5664158a5e866d09851a0950f0bf599cbfbb409f7142559fcd6deaf26098406a20e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855721483fa417adbd2de24c0fd587f09109fe5f31788da12fa0408af8a940b10011a480a20057f961c4568de593bd6378565038c9b1c0a5390c45b39783cc990b80103af34122408011220b981c5cd1c6e7f262759f4aab88c53730386082c46317772ae526b4862aff3d6226708021214a8a7a64d1f8ffaf2a5332177f777a5816036d65a1a0b08cea2ddb606108dd3bb2122406291b72a4a7336ebd0cd234ca38afb89a3066a252eb363475c24627b88d9757719ba604f73cb66e27c7b8f184c9bd17abc26b6fe8c5c095658877c243e3a8a0a22670802121483fa417adbd2de24c0fd587f09109fe5f31788da1a0b08cea2ddb60610c4c6a022224056544b843992f8584477bc40dc3df6e3987b7241683af689c176e7a9487ab1e0ff27bde01a9e8710429e24f7e7313179bb2945f95181d7f1b055510b8b819a0d220f08011a0b088092b8c398feffffff012267080212147b8d7a34ec3eb1179f14fdde3f10c22928775d381a0b08cea2ddb606109eaf8a2022404d35da6459e7d959c2b26090537a2eadfbceb79b63d332acd4ed27c752230a8c55f3852c382eea26541b4b5d6441e5a14a651fe06a3f18abc3de105c4326a501220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff01220f08011a0b088092b8c398feffffff011291090a400a14a8a7a64d1f8ffaf2a5332177f777a5816036d65a12220a20da3f8d90a407031bb7eaf76ecb5b031c96487998e2ee7c67995222cefd3b32911898fe888f010a400a1483fa417adbd2de24c0fd587f09109fe5f31788da12220a20c2ff0111b8526de85510bbf940afdb64c45375e609069ffaeea1b1a2f3cde20418e6d3f587010a400a1430da2ac9b9a34bca21b3514cbdb1a9e6de3ceae012220a20fd97a559c958bb6ec8bf440f4a4c08724e659d08c99f4d0b420e107ad0b5e3ea188dbf9483010a3f0a147b8d7a34ec3eb1179f14fdde3f10c22928775d3812220a2091d5511c19bbc0e8de42e2b9ee60998df4ee8170ec7273b2cfeef3fa2c8cf91f18dfc8db4e0a3f0a141ced30733d1625c89ab698677606d0e37b3676a912220a20761843dc8e506ed0bcef4225e08ccc2f94360305438929fdfc727dc34f5181d81886b3a7040a3f0a14279adbe5f6292e740201c1aa3e90e1b10755f33f12220a2046119bbee9394a2847a9f8094ce8a7a8cc984f2eb54c70b204d58b7c138868f018a4e4a4040a3f0a1405420f030b0ea20194743831cdae841e0fdfaba212220a202dc64cfb2d30365ec7e6f1c0fea45ac757f9caf61ea03af91c267f078a283a1118a496ff030a3f0a14633706fa3a3029e68d72ec24e1b6b50e69533dd212220a202e3efae3ec1cfc36a1d1adc0519e9bd4ea81c6a293bb3033a144074cdbea5efa18a3f0e9030a3f0a142418ccdd5a1ba729c8cf82dd0d0732fff9626d1512220a209b25fb417962659ab72db73cade019996386a3aee47ac719d70e389118cc4849189580e9030a3f0a1473b97484a5803bdef3305c1d73e25516c5a6cd2012220a2000572bda6cb7b229baae2468d8a036743da48f52155721f69570116ce60fae5418efa5e8030a3f0a14ae8f583288a168d56720ea6695a3ae9abb8735cd12220a20ebb37d6197d96fa8f56e0253d5fc39825afe79ed2b7e8adce26750af1cf657df189e92e8030a3f0a14d8c29f5ab8fd9e25d518860b8ea7b8b65345e1c212220a207384e39a4a6f740b8f20cd985163c0e7bf9ade5efdacbf9de4d2361eaeb95e2118e0dbb1020a3f0a14b97904e1431dbc2cdf58670f9067ee0936c3819712220a201e54c7ec1a1321cc655e010d84b882b3c1f3e759b1cfde68aaefb06646b058e418bbbcb1020a3d0a143f7a42c7ce1bd8d1032390b76018a865bc8efdaf12220a2037c7dadba260ce50944c256badce6f3258488477b279c38df143fc593d5ec57b18fa030a3c0a146dd0339008daa03a7ee1f406831b87e24638ebe912220a2043736b6ad2dc531a52a50db2eb111cdd60fa5546a2cdb6c9fef549ae549b440f18360a3c0a143e82ade2627f88632c222e59b704be14b07be02912220a209850a674d1436767bb2b6f36de95be8a506df8088f24ced8c4fa561834fcf27318170a3c0a14d08e5f65297e43d60320b6eef801e435908ef51212220a20d7706244b215092ef595288177fab804b63207d0368e8bec8236285254e7a2b4180112400a1483fa417adbd2de24c0fd587f09109fe5f31788da12220a20c2ff0111b8526de85510bbf940afdb64c45375e609069ffaeea1b1a2f3cde20418e6d3f5870118e0ccc089041a0510998a940b2291090a400a14a8a7a64d1f8ffaf2a5332177f777a5816036d65a12220a20da3f8d90a407031bb7eaf76ecb5b031c96487998e2ee7c67995222cefd3b32911898fe888f010a400a1483fa417adbd2de24c0fd587f09109fe5f31788da12220a20c2ff0111b8526de85510bbf940afdb64c45375e609069ffaeea1b1a2f3cde20418e6d3f587010a400a1430da2ac9b9a34bca21b3514cbdb1a9e6de3ceae012220a20fd97a559c958bb6ec8bf440f4a4c08724e659d08c99f4d0b420e107ad0b5e3ea188dbf9483010a3f0a147b8d7a34ec3eb1179f14fdde3f10c22928775d3812220a2091d5511c19bbc0e8de42e2b9ee60998df4ee8170ec7273b2cfeef3fa2c8cf91f18dfc8db4e0a3f0a141ced30733d1625c89ab698677606d0e37b3676a912220a20761843dc8e506ed0bcef4225e08ccc2f94360305438929fdfc727dc34f5181d81886b3a7040a3f0a14279adbe5f6292e740201c1aa3e90e1b10755f33f12220a2046119bbee9394a2847a9f8094ce8a7a8cc984f2eb54c70b204d58b7c138868f018a4e4a4040a3f0a1405420f030b0ea20194743831cdae841e0fdfaba212220a202dc64cfb2d30365ec7e6f1c0fea45ac757f9caf61ea03af91c267f078a283a1118a496ff030a3f0a14633706fa3a3029e68d72ec24e1b6b50e69533dd212220a202e3efae3ec1cfc36a1d1adc0519e9bd4ea81c6a293bb3033a144074cdbea5efa18a3f0e9030a3f0a142418ccdd5a1ba729c8cf82dd0d0732fff9626d1512220a209b25fb417962659ab72db73cade019996386a3aee47ac719d70e389118cc4849189580e9030a3f0a1473b97484a5803bdef3305c1d73e25516c5a6cd2012220a2000572bda6cb7b229baae2468d8a036743da48f52155721f69570116ce60fae5418efa5e8030a3f0a14ae8f583288a168d56720ea6695a3ae9abb8735cd12220a20ebb37d6197d96fa8f56e0253d5fc39825afe79ed2b7e8adce26750af1cf657df189e92e8030a3f0a14d8c29f5ab8fd9e25d518860b8ea7b8b65345e1c212220a207384e39a4a6f740b8f20cd985163c0e7bf9ade5efdacbf9de4d2361eaeb95e2118e0dbb1020a3f0a14b97904e1431dbc2cdf58670f9067ee0936c3819712220a201e54c7ec1a1321cc655e010d84b882b3c1f3e759b1cfde68aaefb06646b058e418bbbcb1020a3d0a143f7a42c7ce1bd8d1032390b76018a865bc8efdaf12220a2037c7dadba260ce50944c256badce6f3258488477b279c38df143fc593d5ec57b18fa030a3c0a146dd0339008daa03a7ee1f406831b87e24638ebe912220a2043736b6ad2dc531a52a50db2eb111cdd60fa5546a2cdb6c9fef549ae549b440f18360a3c0a143e82ade2627f88632c222e59b704be14b07be02912220a209850a674d1436767bb2b6f36de95be8a506df8088f24ced8c4fa561834fcf27318170a3c0a14d08e5f65297e43d60320b6eef801e435908ef51212220a20d7706244b215092ef595288177fab804b63207d0368e8bec8236285254e7a2b4180112400a1430da2ac9b9a34bca21b3514cbdb1a9e6de3ceae012220a20fd97a559c958bb6ec8bf440f4a4c08724e659d08c99f4d0b420e107ad0b5e3ea188dbf94830118e0ccc08904
            - write_acknowledgement
                - packet_data: {"data":"ClUKIC9jZWxlc3RpYS5ibG9iLnYxLk1zZ1BheUZvckJsb2JzEjEKL2NlbGVzdGlhMWRzbW56ejhxdm4zNDNseHEyZXc2NzM5c2QwMmdzc3B5ZXNhNGp1","memo":"","type":"TYPE_EXECUTE_TX"}
                - packet_data_hex: 7b2264617461223a22436c554b4943396a5a57786c6333527059533569624739694c6e59784c6b317a5a31426865555a76636b4a7362324a7a456a454b4c324e6c6247567a64476c684d57527a62573536656a6878646d347a4e444e73654845795a5863324e7a4d35633251774d6d647a633342355a584e684e477031222c226d656d6f223a22222c2274797065223a22545950455f455845435554455f5458227d
                - packet_timeout_height: 0-0
                - packet_timeout_timestamp: 1725387671067592677
                - packet_sequence: 2
                - packet_src_port: icacontroller-cosmos1epqzuh6myrwrp4zr8zjamcye4nvkkg9xd8ywak
                - packet_src_channel: channel-4312
                - packet_dst_port: icahost
                - packet_dst_channel: channel-3
                - packet_ack: {"error":"ABCI code: 4: error handling packet: see events for details"}
                - packet_ack_hex: 7b226572726f72223a224142434920636f64653a20343a206572726f722068616e646c696e67207061636b65743a20736565206576656e747320666f722064657461696c73227d
                - packet_connection: connection-4
    

FLUPs

  • ICA generated addresses are not visible on Celenium. Create issue.
  • Create a docs page on how to do this b/c not trivial
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment