Skip to content

Fix ABI tuple handling for ethers test cases#385

Merged
l5yth merged 1 commit intomainfrom
l5y-fix-offset-out-of-bounds-error-in-decoding
Oct 31, 2025
Merged

Fix ABI tuple handling for ethers test cases#385
l5yth merged 1 commit intomainfrom
l5y-fix-offset-out-of-bounds-error-in-decoding

Conversation

@l5yth
Copy link
Collaborator

@l5yth l5yth commented Oct 31, 2025

Summary

  • adjust the ABI encoder so tuple arrays and static arrays with dynamic members emit the offsets ethers.js expects
  • tighten the decoder logic for tuples and arrays by validating offset ranges and slicing tails explicitly
  • enable the ethers.js compatibility spec now that encoding and decoding align with those fixtures
  • fix eth/abi: make ethersjs test cases pass #372

@l5yth l5yth added the codex Codex is a durable, decentralised data storage protocol label Oct 31, 2025 — with ChatGPT Codex Connector
@codecov
Copy link

codecov bot commented Oct 31, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.71%. Comparing base (32baacf) to head (2935fc4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #385      +/-   ##
==========================================
+ Coverage   99.69%   99.71%   +0.01%     
==========================================
  Files          89       89              
  Lines        6290     6316      +26     
==========================================
+ Hits         6271     6298      +27     
+ Misses         19       18       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@l5yth l5yth merged commit 1fa2465 into main Oct 31, 2025
7 of 8 checks passed
@l5yth l5yth deleted the l5y-fix-offset-out-of-bounds-error-in-decoding branch October 31, 2025 11:37
ShiningRay added a commit to ShiningRay/eth.rb that referenced this pull request Dec 24, 2025
* commit 'ab969176faf033eb0a6387b875ee3aa677c4bacf':
  build(deps): bump JamesIves/github-pages-deploy-action (q9f#395)
  build(deps): bump actions/checkout from 5 to 6 (q9f#394)
  add JSONRPC error code to Client::RpcError (q9f#392)
  Update README.md (q9f#393)
  build(deps): bump github/codeql-action from 3 to 4 (q9f#390)
  client/ws: fix client origin headers for ws requests (q9f#391)
  Rename websocket client to Ws and expand websocket tests (q9f#389)
  Add WebSocket transport to client (q9f#388)
  Support tuple arrays in ABI coder (q9f#387)
  Format EIP-4844 transaction constant (q9f#386)
  Fix ABI tuple handling for ethers test cases (q9f#385)
  Increase blob throughput limits (q9f#363)
  feat: use httpx for http requests (q9f#377) (q9f#382)
  fix: transform hash keys to strings in encoder for component type compatibility (q9f#378)
  fix: improve error handling for missing keys in component encoding (q9f#376)
  build(deps): bump actions/checkout from 4 to 5 (q9f#379)

# Conflicts:
#	eth.gemspec
#	lib/eth/client/http.rb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codex Codex is a durable, decentralised data storage protocol

Projects

None yet

Development

Successfully merging this pull request may close these issues.

eth/abi: make ethersjs test cases pass

1 participant