Bug🐛: "Account sequence mismatch" after any tx have been sent

Open
#96 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
go
Domain
backend

Research direction

Reproduce the failure by sending a transaction, simulating a subsequent transaction, and then restarting the node to confirm the workaround. Start by tracing account-sequence handling during simulation and verification around cosmos/cosmos-sdk@v0.45.16/x/auth/ante/sigverify.go:265. Done means a new simulation succeeds after a transaction without restarting the node, with the reported sequence matching the verifier.

Written by the indexing model from the issue text.

Description

bug
Describe the bug

The problem appears when a user has already sent any transaction to the node, because after that action every new simulations of transactions will be failed with a error: rpc error: code = Unknown desc = account sequence mismatch, expected 0, got 1: incorrect account sequence [cosmos/cosmos-sdk@v0.45.16/x/auth/ante/sigverify.go:265] With gas wanted: '0' and gas used: '39388' : unknown request

The problem will not occur wallets that didn't send transactions after time when the node have started. That means to solve a blocked wallet you need to restart the node. That looks confusing because the node returns a correct sequence, but can't verify new transactions.

Describe the steps to reproduce the behavior
  1. Use any wallet to send any transaction to a node
  2. Build a new tx, you will see a new sequence which is correct
  3. Simulate that new tx on the same node
  4. Fail: cought a problem with your sequence
  5. ...
  6. Solution: Restart the node
  7. Try to simulate that tx again
  8. Success: got an estimated gas of the tx
Expected behavior

A node should update a sequence in memory (RAM?) after every new transaction and returning value of sequence must be equal to the value that is using when the node is verifying transactions.

Operating environment

OS: Ubuntu 22.04
Node: v1.0.0
Cosmos SDK: v0.45.16

Dominant language
Go
Stars
42
Forks
16
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from AssetMantle/node

All issues in AssetMantle/node

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.