Skip to content

Harden EVM transaction fee handling - #238

Closed
sidhujag wants to merge 193 commits into
syscoin:mainfrom
sidhujag:fix/evm-tx-v6-boundaries
Closed

sidhujag wants to merge 193 commits into
syscoin:mainfrom
sidhujag:fix/evm-tx-v6-boundaries

Conversation

@sidhujag

@sidhujag sidhujag commented Jul 5, 2026

Copy link
Copy Markdown
Member

Summary

  • Normalize serialized BigNumber fee/gas fields before ethers v6 token transaction population.
  • Fill missing gas and fee fields before hardware-wallet EVM signing paths.
  • Preserve ERC721 token IDs beyond JS safe integer range and return gas limits in gas units.

Test plan

  • yarn test packages/sysweb3-keyring/test/unit/transactions/ethereum-transactions.spec.ts --runInBand --forceExit
  • yarn type-check (packages/sysweb3-keyring)

Made with Cursor

jagdeep sidhu and others added 28 commits July 4, 2026 13:22
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Cache short-lived fee discovery, avoid full fee lookup for gas price, and construct EVM providers with the selected chain so ethers does not re-detect static RPC networks.
Use ethers v6 package exports for the local compatibility layer while preserving the CommonJS package build with narrow type declarations.
Avoid root ethers runtime imports in network and utils packages so downstream bundles can resolve narrower ethers v6 entrypoints.
This reverts commit b72afb5.
This reverts commit 2145fdf.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
perf(keyring): reduce provider RPC fanout
Normalize serialized fee fields before ethers v6 token calls and fill missing gas data before hardware signing so wallet transaction paths remain compatible after background serialization.

Co-authored-by: Cursor <cursoragent@cursor.com>
Normalize serialized fee fields before ethers v6 token calls and fill missing gas data before hardware signing so wallet transaction paths remain compatible after background serialization.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sidhujag

sidhujag commented Jul 5, 2026

Copy link
Copy Markdown
Member Author

Closing: this PR was opened against the wrong repository. Re-opening against sidhujag/sysweb3.

@sidhujag sidhujag closed this Jul 5, 2026
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.

3 participants