chore(deps): update dependency @ethereumjs/tx to v10#95
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
chore(deps): update dependency @ethereumjs/tx to v10#95renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
1abf04b to
7ea0262
Compare
7ea0262 to
4625f24
Compare
4625f24 to
bb021f9
Compare
bb021f9 to
8eb473d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^4.0.0→^10.0.0Release Notes
ethereumjs/ethereumjs-monorepo (@ethereumjs/tx)
v10.1.1: @ethereumjs/tx v10.1.1Compare Source
@noble/curvesto v2, see PR #4179v10.1.0: @ethereumjs/tx v10.1.0Compare Source
tx: throw on toCreationAddress for 4844 and 7702, PR #4162tx: improve JSDoc annotations, PR #41614844 Tx Constructor Consistency and UX, PR #4155valueBoundaryCheck chores, PR #4083updates regarding blobtx serialization, PR #4065EIP-7594 - PeerDAS - Peer Data Availability Sampling
Support for EIP-7594 PeerDAS blob transactions has been added. This extends EIP-4844 blob transactions with data availability sampling capabilities. PeerDAS transactions use network wrapper version 1 and include cell proofs instead of blob proofs. The transaction library now supports creating and validating PeerDAS transactions with a maximum of 6 blobs per transaction.
EIP-7825 - Transaction Gas Limit Cap
EIP-7825 support has been implemented, introducing a protocol-level cap of 16,777,216 gas (2^24) for individual transactions. The transaction library now validates that transaction gas limits do not exceed this cap. Transactions with gas limits above the cap will be rejected during construction.
v10.0.0: @ethereumjs/tx v10.0.0Compare Source
Overview
This release is part of the
v10breaking release round making theEthereumJSlibraries compatible with the Pectra hardfork going live on Ethereummainneton May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the fullEthereumprotocol stack - including theEVM- to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality.Some highlights:
@Noblecrypto)Node.jsprimitivesSo: All libraries now work in the browser "out of the box".
Release Notes
Major release notes for this release can be found in the
alpha.1release notes here, with some additions along with theRC.1releases, see here.Changes since
RC.1EIP-7702gas calculation, PR #3935v5.4.0: @ethereumjs/tx v5.4.0Compare Source
EOA Code Transaction (EIP-7702) (outdated)
This release introduces support for a non-final version of EIP-7702 EOA code transactions, see PR #3470. This tx type allows to run code in the context of an EOA and therefore extend the functionality which can be "reached" from respectively integrated into the scope of an otherwise limited EOA account.
The following is a simple example how to use an
EOACodeEIP7702Transactionwith one autorization list item:Note: Things move fast with
EIP-7702and the released implementation is based on this commit and therefore already outdated. An up-to-date version will be released along our breaking release round planned for early September 2024.Verkle Updates
kzg-wasmto0.4.0, PR #3358osakahardfork, PR #3371Other Features
BlobEIP4844Transaction.networkWrapperToJson()to also include the 4844 fields, PR #3365Bugfixes
v5.3.0: @ethereumjs/tx v5.3.0Compare Source
Full 4844 Browser Readiness
WASM KZG
Shortly following the "Dencun Hardfork Support" release round from last month, this is now the first round of releases where the EthereumJS libraries are now fully browser compatible regarding the new 4844 functionality, see PRs #3294 and #3296! 🎉
Our WASM wizard @acolytec3 has spent the last two weeks and created a WASM build of the c-kzg library which we have released under the
kzg-wasmname on npm (and you can also use independently for other projects). See the newly created GitHub repository for some library-specific documentation.This WASM KZG library can now be used for KZG initialization (replacing the old recommended
c-kzginitialization), see the respective README section from the tx library for usage instructions (which is also accurate for the other using upstream libraries like block or EVM).Note that
kzg-wasmneeds to be added manually to your own dependencies and the KZG initialization code needs to be adopted like the following (which you will likely want to do in most cases, so if you deal with post Dencun EVM bytecode and/or 4844 blob txs in any way):Manual addition is necessary because we did not want to bundle our libraries with WASM code by default, since some projects are then prevented from using our libraries.
Note that passing in the KZG setup file is not necessary anymore, since this is now defaulting to the setup file from the official KZG ceremony (which is now bundled with the KZG library).
Trie Node.js Import Bug
Since this fits well also to be placed here relatively prominently for awareness: we had a relatively nasty bug in the
@ethereumjs/trielibrary with aNode.jsweb stream import also affecting browser compatibility, see PR #3280. This bug has been fixed along with these releases and this library now references the updated trie library version.v5.2.1: @ethereumjs/tx v5.2.1Compare Source
debugdependency to the@ethereumjs/triepackage (dependency), PR #3271v5.2.0Compare Source
Dencun Hardfork Support
While all EIPs contained in the upcoming Dencun hardfork run pretty much stable within the EthereumJS libraries for quite some time, this is the first release round which puts all this in the official space and removes "experimental" labelling preparing for an imminent Dencun launch on the last testnets (Holesky) and mainnet activation! 🎉
Dencun hardfork on the execution side is called Cancun and can be activated within the EthereumJS libraries (default hardfork still
Shanghai) with a followingcommoninstance:Note that the
kzginitialization slightly changed from previous experimental releases and a custom KZG instance is now passed toCommonby using thecustomCryptoparameter, see PR #3262.At the moment using the Node.js bindings for the
c-kzglibrary is the only option to get KZG related functionality to work, note that this solution is not browser compatible. We are currently working on a WASM build of that respective library. Let us know on the urgency of this task! 😆While
EIP-4844- activating shard blob transactions - is for sure the most prominent EIP from this hardfork, enabling better scaling for the Ethereum ecosystem by providing cheaper block space for L2s, there are in total 6 EIPs contained in the Dencun hardfork. The following is an overview of which EthereumJS libraries mainly implement the various EIPs:@ethereumjs/evm)@ethereumjs/block,@ethereumjs/evm,@ethereumjs/vm)@ethereumjs/tx,@ethereumjs/block,@ethereumjs/evm)@ethereumjs/evm)@ethereumjs/vm)@ethereumjs/block,@ethereumjs/evm)WASM Crypto Support
With this release round there is a new way to replace the native JS crypto primitives used within the EthereumJS ecosystem by custom/other implementations in a controlled fashion, see PR #3192.
This can e.g. be used to replace time-consuming primitives like the commonly used
keccak256hash function with a more performant WASM based implementation, see@ethereumjs/commonREADME for some detailed guidance on how to use.New addSignature() API Method
There is a new dedicated method
addSignature()introduced for all tx types which allows to add the raw signature values to a transaction without the need to call intotx.sign(), which would need a private key to do so, see PR #3238.This functionality is e.g. handy for hardware wallet implementations where the signature generation is taking place externally.
Self-Contained (and Working 🙂) README Examples
All code examples in
EthereumJSmonorepo library README files are now self-contained and can be executed "out of the box" by simply copying them over and running "as is", see tracking issue #3234 for an overview. Additionally all examples can now be found in the respective library examples folder (in fact the README examples are now auto-embedded from over there). As a nice side effect all examples are now run in CI on new PRs and so do not risk to get outdated or broken over time.v5.1.0: @ethereumjs/tx v5.1.0Compare Source
More Type-Aligned Library Structure
This release gently introduces a backwards-compatible new/adopted library structure which is more aligned with the idea of independent tx types, bundling various functionalities together in a way that is not necessarily hierarchical, see PR #2993 and #3010.
Reused functionality (e.g. calculating the upfront-cost (
getUpfrontCost()) of anEIP-1559-compatible tx - is internally bundled in capability files (e.g.capabilities/eip1559.ts), which provide static call access to the respective methods.These methods are then called and the functionality exposed by the respective methods in the tx classes, see the following example code for an
FeeMarketEIP1559Transaction:This makes creating additional or custom tx types and reusing of existing functionality substantially easier and makes the library substantially more robust by largely consolidating previously redundant code parts.
Dencun devnet-11 Compatibility
This release contains various fixes and spec updates related to the Dencun (Deneb/Cancun) HF and is now compatible with the specs as used in devnet-11 (October 2023).
kzgmodule to use the official trusted setup formainnet, PR #3107Other Changes
ecrecovercalls, PR #2985getDataFee()toBlobEIP4844Transaction, PR #2955v5.0.0: @ethereumjs/tx v5.0.0Compare Source
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1:
dataGastoblobGas(see EIP-4844 PR #7354), PR #2919v4.2.0: @ethereumjs/tx v4.2.0Compare Source
This release is part of a final planned release round for the current major EthereumJS release versions, with next major versions planned to be released in July 2023.
It mainly removes all non-final EIP-4844, KZG and SSZ code from the libraries (mainly block, tx, util, evm, vm, blockchain) - see PR #2721 - to allow for a clean slate for the current major versions to transition to maintenance mode. In particular the
@chainsafe/sszdependency is removed from the@ethereumjs/utillibrary, which is a dependency of all other upstream EthereumJS libraries and removal therefore makes the whole stack lighter again.If you are interested in continuously following EIP-4844 work have a look at and follow our upcoming breaking releases where major changes will be integrated with 4844 nearing a final state.
Other Changes:
v4.1.2: @ethereumjs/tx v4.1.2Compare Source
Features
allowUnlimitedInitcodeSizeoption to partially disable EIP-3860, PR #2594TransactionFactory.fromRPCTx()static constructor, PR #2613Bugfixes
Maintenance
Ethersdependency, alternativefromEthersProvider()static constructor implementation, PR #2633@ethereumjs/util@chainsafe/sszdependency to 0.11.1 (no WASM, native SHA-256 implementation, ES2019 compatible, explicit imports), PRs #2622, #2564 and #2656v4.1.1: - Stable Istanbul SupportCompare Source
First stable
Istanbulrelease passing allStateTestsandBlockchainTestsfrom the official Ethereum test suite v7.0.0-beta.1. Test suite conformance have been reached along work on PR #607 (thanks @s1na!) and there were several fixes along the way, so it is strongly recommended thatyou upgrade from the first
betaIstanbulreleasev4.1.0.Istanbul Related Fixes
EEIto theEVMmodule, PR #612,gasRefundis re-added to theexecResultin theEVMmodule at the end of message execution inEVMto remain (for the most part) backwards-compatible in the releaseblake2fprecompile for rounds >0x4000000RevertPrecompiled*test failuresRIPEMDprecompile has to remain touched even when the call reverts and be considered for deletion, see EIP-716 for contextethereumjs-blocktov2.2.1ethereumjs-blockchaintov4.0.2ethereumjs-utilfrom^6.1.0to~6.1.0Other Changes
promisifybeing present in hot paths (performance optimization), PR #600result.returntoresult.returnValueonEVMexecution in examples, PR #604v4.1.0: @ethereumjs/tx v4.1.0Compare Source
Functional Shanghai Support
This release fully supports all EIPs included in the Shanghai feature hardfork scheduled for early 2023. Note that a
timestampto trigger theShanghaifork update is only added for thesepoliatestnet and not yet forgoerliormainnet.You can instantiate a Shanghai-enabled Common instance for your transactions with:
Experimental EIP-4844 Shard Blob Transactions Support
This release supports an experimental version of the blob transaction type introduced with EIP-4844 as being specified in the 01d3209 EIP version from February 8, 2023 and deployed along
eip4844-devnet-4(January 2023), see PR #2349 as well as PRs #2522 and #2526.Note: This functionality needs a manual KZG library installation and global initialization, see KZG Setup for instructions.
Usage
See the following code snipped for an example on how to instantiate.
Note that
versionedHashesandkzgCommitmentshave a real length of 32 bytes andblobshave a real length of4096bytes and values are trimmed here for brevity.See the Blob Transaction Tests for examples of usage in instantiating, serializing, and deserializing these transactions.
v4.0.2: @ethereumjs/tx v4.0.2Compare Source
Maintenance release with dependency updates, PR #2445
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.