viem@2.57.12

Release

Version
viem@2.57.12
Repository
wevm/viem

Release notes

Patch Changes

#5281 744f749bcd56fa0bc93efd0fcdc05125e0252c21 Thanks @jxom! - Fixed getAbiItem overload resolution for arrays with a 0 in the element size (e.g. uint160[]) or the wrong fixed length, tuple objects with reordered keys, and ambiguous address[] overloads.

#5304 918955e81ef333af521e3e3e1b3fe03cb5231bdf Thanks @jxom! - Fixed serializeAuthorizationList and serializeTransaction to encode an EIP-7702 authorization yParity above 1 as is instead of normalizing it to 1, which changed the transaction hash.

#5279 10ef1295f73362ea4f3c36b6655fef1cb04b397e Thanks @jxom! - Fixed signatureToCompactSignature and compactSignatureToSignature for values shorter than 32 bytes and a legacy v with a chain id, and added errors for invalid v and high s.

#5298 a69e96c8e89cc0398a6b918c392e24e3b615bee0 Thanks @jxom! - Fixed getTimeToFinalize and waitToFinalize to also wait for the proof's dispute game to resolve and pass its finality delay, instead of only the proof maturity delay.

#5282 52140fef00389781737477de205f82f71553b3c3 Thanks @jxom! - Fixed http transport batches and getHttpRpcClient array requests mishandling a server that rejected the whole batch with a single error or returned fewer responses than requests.

#5286 8e058ca71bf09c85d2a4669af5e98aeb5bc87e71 Thanks @jxom! - Fixed the http transport to retry JSON-RPC errors from non-2xx responses by their HTTP status and Retry-After header, and exposed status and headers on RpcRequestError.

#5300 485a9d922ffe00a3d2bc4bbfc6ef0262a85e9f45 Thanks @jxom! - Fixed toFunctionSelector and toSignatureHash keeping the error keyword in string signatures like error Foo(uint256), which produced the wrong selector.

#5283 b2b7a3b82fd52ad74f80075d5a25cd99750f754a Thanks @jxom! - Added an even option to isHex that rejects hex values with an odd number of hex characters.

#5303 d10dc3c203c63ec42abc2cd392fb7de4562cb591 Thanks @jxom! - Fixed InsufficientFundsError not being raised for reth's EVM error: OutOfFunds node message.

#5280 e7e0122fab41b6c43d1d03ffe395044d1445bcc0 Thanks @jxom! - Fixed parseEventLogs args filters dropping logs whose string or bytes values were decoded from data or differed in hex case, and matching every partially decoded log.

#5284 b3e39473523d7be57ec5f35f51cb416f16b6cbd2 Thanks @jxom! - Added a replacement parameter to waitForTransactionReceipt that detects a replacement of a Transaction the node dropped before the wait first read it, and fixed onReplaced not being called for a replacement when confirmations is greater than 1.

#5288 75ffe81d29d85bee3b895a5d7ae612675b625ee8 Thanks @jxom! - Fixed request retries firing immediately for Retry-After headers in HTTP-date form or for delays longer than the 24.8-day timer limit.

#5301 efda1c43147b85fdde5a9d5b88c4ffd5a9262073 Thanks @jxom! - Fixed sendCalls dropping a call's dataSuffix when the call has no data.

#5306 30833eca2ef352e2af34f577964b633823acc999 Thanks @jxom! - Fixed importing viem, viem/actions, viem/chains, and other entrypoints under SES lockdown(), which threw Cannot assign to read only property 'call'.

#5299 6c2278d129eb21b2928999fd2f5b28c233132f7d Thanks @jxom! - Fixed createSiweMessage rejecting domains with a punycode (internationalized) top-level domain, such as example.xn--p1ai, and accepting top-level domain labels longer than 63 characters.

#5302 c42c189ee8fe1b0183b6abf1b00a58f134ea2b57 Thanks @jxom! - Fixed getWithdrawalStatus, getTimeToProve and waitToProve matching super-root dispute games against the withdrawal's L2 block number when l2Timestamp was not passed: they now use the blockTimestamp of the receipt's logs, or throw L2TimestampRequiredError when it is missing.

#5311 e3247c5513912695313dba030111e7f6a1e1aacd Thanks @jxom! - viem/tempo: Derived configurable account addresses from the initial config hash instead of a recovery factory (tempoxyz/tempo#8595), so Account.fromConfig no longer takes a factory option and Addresses.configurableAccountRecoveryFactory was removed.

#5308…

Full release on GitHub ↗

Release Bitcoin Core

v29.5: Bitcoin Core 29.5 final

Tree-SHA512: 47faf5789f5b98f436411c815cd942571ba1e67a6b883502bf4c7f1d91d759448ce5ec43c383c15d2ab5542c32ab11b02196b0df4d4b919de67885c4c0e31120

Release Bitcoin Core

v30.4: Bitcoin Core 30.4 final

Tree-SHA512: 4e5c5fc7989faa3521d5478fea0e8effcc81ec9a1a6267547a1e7f361e399f7d3830356ff0d02739e68c1af969a9bcadef92abd329429eef1360ae6f3bc59119

Release Agave (Solana validator)

Agave (Solana validator) Release v4.5.0-alpha.4

This is a pre-release for testing only. Do not deploy to mainnet, testnet, or any production host. https://github.com/anza-xyz/agave/blob/master/CHANGELOG.md#edge-channel What's...

Release Bitcoin Core

v31.2: Bitcoin Core 31.2 final

Tree-SHA512: d510d81e38f5d6e9a3589f3a8e925859ed651a0e148c41750c22b94501e7c510aab9ed422b4c479018ab1d1cedfccb6dc7b832ddeac6a2f03ed4976e0f7fac7e

Release Sui

Sui devnet-v1.83.0

Protocol Sui Protocol Version in this release: 140 #28271: Adds bulk vector operations: replace_range, keep_range, copy_range, remove_range, and truncate #27829: Adds bulk vector...