Skip to content

wip: v1#231

Draft
jxom wants to merge 77 commits into
mainfrom
v1
Draft

wip: v1#231
jxom wants to merge 77 commits into
mainfrom
v1

Conversation

@jxom
Copy link
Copy Markdown
Member

@jxom jxom commented May 7, 2026

No description provided.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ox Error Error May 12, 2026 10:33pm

Request Review

@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 7, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedzile@​0.0.25791009995100
Updatedmicro-eth-signer@​0.15.0 ⏵ 0.18.110010010084 -7100
Updated@​noble/​hashes@​1.4.0 ⏵ 2.2.010010010086100
Updated@​scure/​bip39@​1.3.0 ⏵ 2.2.0100 +110010086100
Updated@​scure/​bip32@​1.4.0 ⏵ 2.2.0100 +110010087100
Added@​noble/​ciphers@​2.2.010010010088100
Updated@​noble/​curves@​1.4.2 ⏵ 2.2.010010010089100

View full report

Bumps @noble/ciphers, @noble/curves, @noble/hashes, @scure/bip32,
and @scure/bip39 to v2 and refactors crypto wrappers to the new APIs
(Uint8Array signatures, Point.fromBytes, Signature.fromBytes/toBytes,
bls.longSignatures, randomSecretKey, .js import extensions).

Adds an internal helper for converting between ox's { r, s, yParity }
Signature shape and noble's compact/recovered byte layouts. Restores
ImportMeta.env types for tests now that vitest v4 dropped them.

Amp-Thread-ID: https://ampcode.com/threads/T-019e05c5-ba3e-711e-8ea5-532440226027
jxom added 20 commits May 8, 2026 15:25
Bumps @noble/ciphers, @noble/curves, @noble/hashes, @scure/bip32,
and @scure/bip39 to v2 and refactors crypto wrappers to the new APIs
(Uint8Array signatures, Point.fromBytes, Signature.fromBytes/toBytes,
bls.longSignatures, randomSecretKey, .js import extensions).

Adds an internal helper for converting between ox's { r, s, yParity }
Signature shape and noble's compact/recovered byte layouts. Restores
ImportMeta.env types for tests now that vitest v4 dropped them.

Amp-Thread-ID: https://ampcode.com/threads/T-019e05c5-ba3e-711e-8ea5-532440226027
The tempo node returns a blockTimestamp on transaction responses; add
it to the core Transaction type, parse it in fromRpc, and serialize it
in toRpc. Updates the tempo e2e tests to assert it on transactions
returned via Transaction.fromRpc.

Amp-Thread-ID: https://ampcode.com/threads/T-019e05c5-ba3e-711e-8ea5-532440226027
Implementation for the changeset added in 2b32e0c (the source change was lost in a concurrent stash on the previous commit).

Amp-Thread-ID: https://ampcode.com/threads/T-019e197d-5765-7569-9e8b-b992045f9165
jxom added 19 commits May 12, 2026 10:40
Also unify the RPC-quantity conversion blocks across `Block`, `BlockOverrides`,
and `StateOverrides` behind an internal helper so optional bigint fields with
explicit `'0x0'` round-trip as `0n` instead of being silently dropped by the
previous truthy checks.

Amp-Thread-ID: https://ampcode.com/threads/T-019e19a8-f995-717d-9ca9-b5f6a741d96c
…loom APIs

- Thread an optional `typeHashes` cache through `TypedData.encode`,
  `TypedData.hashStruct`, and `TypedData.hashDomain` so
  `keccak256(encodeType(t))` is computed once per type per call instead of once
  per nested struct or array element.
- Add `Bloom.prepare`, `Bloom.containsPrepared`, and `Bloom.containsHash`
  so repeated membership checks against the same filter skip the per-call
  `Bytes.fromHex` allocation in `Bloom.contains`.

Amp-Thread-ID: https://ampcode.com/threads/T-019e19a8-f995-717d-9ca9-b5f6a741d96c
… ERC-191 prefix

- Add `Fee.fromHistoryRpc`, `Fee.toHistoryRpc`, `Fee.estimateMaxFeePerGas`, and
  `Fee.effectiveGasPrice` for converting between RPC/instantiated `FeeHistory`
  shapes and computing common EIP-1559 fee values.
- Add `Solidity.intRange(bits, signed)` and `Solidity.maxUint(bits)` helpers
  that compute integer ranges by bit width.
- Hoist the invariant `0x19 \u2016 "Ethereum Signed Message:\\n"` prefix in
  `PersonalMessage.encode` to a precomputed module constant.

Amp-Thread-ID: https://ampcode.com/threads/T-019e19a8-f995-717d-9ca9-b5f6a741d96c
Picks up new error class exports from encoding thread fixes
(InvalidPaddingError on Base32/Base64, InvalidValueError +
NonMinimalEncodingError on CompactSize, InvalidLengthError on Base64)
and the new TransactionEnvelopeEip4844 test snapshot file.

Amp-Thread-ID: https://ampcode.com/threads/T-019e1976-9c6f-745e-87d8-d00af1fe5aaf
- test/constants/accounts: pass `as: 'Hex'` to `Mnemonic.toPrivateKey`
  to keep the typed `privateKey: Hex.Hex` contract after the default
  return type was corrected to `Bytes`.
- Provider.test.ts: `Provider.from > default` now wraps the response
  with `RpcResponse.parse` to match the strict EIP-1193 contract
  (envelope sniffing was removed).
- RpcTransport.test.ts: mock `fetchOptions` servers now return a full
  JSON-RPC envelope (`id`, `jsonrpc`, `result`) per the strict
  parser contract.
- Registration.test.ts: `error: challenge mismatch` uses an
  even-length hex challenge so the strict hex parser does not fail
  before the mismatch check.
- Block snapshots: `totalDifficulty: undefined` (no longer coerced
  to `0n`) and EIP-155 `v: 37` preserved (no longer normalized to
  27).

Amp-Thread-ID: https://ampcode.com/threads/T-019e1976-9c6f-745e-87d8-d00af1fe5aaf
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.

1 participant