Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for reverted transaction that should succeed on EVM 2024-12 #1402

Open
dmitrylavrenov opened this issue Jan 16, 2025 · 5 comments
Labels
tracking A tracking issue for a big multi-PR initiative

Comments

@dmitrylavrenov
Copy link
Contributor

dmitrylavrenov commented Jan 16, 2025

This is a tracking issue for investigating the reason of reverted transaction that should succeed on EVM, getting root cause, reproducing the issue, implementing a proper fix.


Bugfix PRs:

Internal playground utils:

@dmitrylavrenov
Copy link
Contributor Author

succeded transaction:

failed transaction:

@dmitrylavrenov
Copy link
Contributor Author

  • prepared the humanode-peer version with enabled debug of evm opcodes operation taking into account the value of left gas
  • rerun the same process as above for succeeded (block number 7927643) and failed (block number 10507907) transactions

logs-7927643.txt
logs-10507907.txt

@dmitrylavrenov
Copy link
Contributor Author

  • added more debug logs
  • discovered the root cause why is the failed transaction reverted

There is a broken nonce in our state for 0xf803e8ca755ae4770b5e6072a1e3cb97631d76ee contract address

@dmitrylavrenov
Copy link
Contributor Author

dmitrylavrenov commented Jan 16, 2025

The block containing transactions that resulted into 0xf803e8ca755ae4770b5e6072a1e3cb97631d76ee contract account killing - https://humanode.subscan.io/extrinsic/7969497-1

Note: all contract tokens have been withdrawn

@dmitrylavrenov
Copy link
Contributor Author

Implemented E2E test that reproduces the issue - #1398

github-merge-queue bot pushed a commit that referenced this issue Feb 10, 2025
…tying its wallet (#1398)

* E2E-test: `withdrawAll` from the contracts' factory between two CREATEs
(#1402)

* Use payable constructor instead of `deposit` (#1402)

* Simplify test contract Deposit ← ContractsFactory (#1402)

* Hardcode gas values, remove excess calls (#1402)

* Check contract account's nonce directly (#1402)
quasiyoke added a commit that referenced this issue Feb 10, 2025
quasiyoke added a commit that referenced this issue Feb 10, 2025
quasiyoke added a commit that referenced this issue Feb 10, 2025
quasiyoke added a commit that referenced this issue Feb 10, 2025
quasiyoke added a commit that referenced this issue Feb 11, 2025
quasiyoke added a commit that referenced this issue Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking A tracking issue for a big multi-PR initiative
Development

No branches or pull requests

1 participant