Skip to content

proof.Root() != commit.AppHash #786

@mossid

Description

@mossid

In branch ibc-mvp3(#707), the root of proof that is gotten with builder.Query() and the AppHash of the commit doesn't match

Debug:

Reproduce:

> basecoind init
I[04-04|18:16:45.015] Generated private validator                  module=main path=/home/mossid/.mvp2/config/priv_validator.json
I[04-04|18:16:45.015] Generated genesis file                       module=main path=/home/mossid/.mvp2/config/genesis.json
Secret phrase to access coins:
candy dune venture sea worth riot siege kitchen case route roof slab because rebuild arctic abandon
> basecli keys add mykey --recover
Enter a passphrase for your key:
Repeat the passphrase:
Enter your recovery seed phrase:
candy dune venture sea worth riot siege kitchen case route roof slab because rebuild arctic abandon
mykey		55F1E67BD99A91FE465C51EC8406348D46798F17
> ADDR=55F1E67BD99A91FE465C51EC8406348D46798F17
> cat ~/.basecoind/config/genesis.json
{
  "app_hash": "",
  "app_state": {
    "accounts": [
      {
        "address": "E204E694523F0F59453CE8EE2BF49EEE7803B0E9",
        "coins": [
          {
            "denom": "mycoin",
            "amount": 9007199254740992
          }
        ]
      }
    ]
  },
  "chain_id": "test-chain-bTVtE5",
  "genesis_time": "0001-01-01T00:00:00Z",
  "validators": [
    {
      "pub_key": {
        "type": "ed25519",
        "data": "CEA6C3E197D7893C09451E268BFD7A3E518B7E9D220556E71EBD9B256DAB02F3"
      },
      "power": 10,
      "name": ""
    }
  ]
}
> ID=test-chain-bTVtE5
> basecoind start
...
> basecli ibcsend --name mykey --amount 10mycoin --to $ADDR --chain $ID --chain-id $ID

> basecli relay --from-chain-id $ID --from-chain-node tcp://0.0.0.0:46657 --to-chain-id $ID --to-chain-node tcp://0.0.0.0:46657 --chain-id $ID
Password to sign with 'mykey':
egressLength queried: 1
Got packet from height 304
Commit: [183 233 202 212 136 221 60 251 106 122 123 106 17 25 225 16 113 235 208 189]
Height: 305
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 305
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1
trace:
'
egressLength queried: 1
Got packet from height 305
Commit: [207 234 175 53 204 7 9 155 239 0 203 126 241 91 93 132 72 195 143 80]
Height: 306
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 306
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1
trace:
'
egressLength queried: 1
Got packet from height 305
Commit: [207 234 175 53 204 7 9 155 239 0 203 126 241 91 93 132 72 195 143 80]
Height: 306
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 306
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1
trace:
'
egressLength queried: 1
Got packet from height 306
Commit: [131 177 211 135 74 167 52 156 138 165 252 225 64 133 18 71 8 190 15 98]
Height: 307
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 307
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1
trace:
'
egressLength queried: 1
Got packet from height 307
Commit: [212 189 140 206 127 218 89 184 0 235 173 3 161 161 186 252 15 214 158 8]
Height: 308
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 308
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1
trace:
'
egressLength queried: 1
Got packet from height 308
Commit: [122 69 50 98 106 227 200 186 144 251 115 8 176 38 109 239 139 1 82 76]
Height: 309
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 309
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1
trace:
'
egressLength queried: 1
Got packet from height 308
Commit: [122 69 50 98 106 227 200 186 144 251 115 8 176 38 109 239 139 1 82 76]
Height: 309
Proof: [110 89 130 141 222 217 234 189 137 158 150 48 108 82 76 107 155 117 84 166]
Height: 309
Error broadcasting ingress packet: 'CheckTx failed: (3) msg: Invalid sequence. Got 2, expected 1

Commit: AppHash for corresponding height
Proof: Root of the proof from corresponding height

They should be equal. The apphash for block n is in the header of block n+1, so we are getting AppHash and proof from block n+1 for a packet that is from block n.

Ignore the sequence errors. It is fixed in #780

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions