diff --git a/package-lock.json b/package-lock.json index 7be9eed317..9769ef815f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2899,8 +2899,6 @@ }, "node_modules/@types/chai": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", - "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", "dev": true, "license": "MIT", "dependencies": { @@ -2932,8 +2930,6 @@ }, "node_modules/@types/deep-eql": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, "license": "MIT" }, @@ -3308,8 +3304,6 @@ }, "node_modules/@vitest/browser": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.2.4.tgz", - "integrity": "sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==", "dev": true, "license": "MIT", "peer": true, @@ -3345,8 +3339,6 @@ }, "node_modules/@vitest/coverage-istanbul": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-3.2.4.tgz", - "integrity": "sha512-IDlpuFJiWU9rhcKLkpzj8mFu/lpe64gVgnV15ZOrYx1iFzxxrxCzbExiUEKtwwXRvEiEMUS6iZeYgnMxgbqbxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3370,8 +3362,6 @@ }, "node_modules/@vitest/coverage-v8": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz", - "integrity": "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3404,8 +3394,6 @@ }, "node_modules/@vitest/expect": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { @@ -3421,8 +3409,6 @@ }, "node_modules/@vitest/mocker": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3448,8 +3434,6 @@ }, "node_modules/@vitest/pretty-format": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "dev": true, "license": "MIT", "dependencies": { @@ -3461,8 +3445,6 @@ }, "node_modules/@vitest/runner": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3476,8 +3458,6 @@ }, "node_modules/@vitest/snapshot": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3491,8 +3471,6 @@ }, "node_modules/@vitest/spy": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, "license": "MIT", "dependencies": { @@ -3504,8 +3482,6 @@ }, "node_modules/@vitest/ui": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", - "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", "dev": true, "license": "MIT", "peer": true, @@ -3527,8 +3503,6 @@ }, "node_modules/@vitest/utils": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "dev": true, "license": "MIT", "dependencies": { @@ -3839,8 +3813,6 @@ }, "node_modules/assertion-error": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { @@ -3849,8 +3821,6 @@ }, "node_modules/ast-v8-to-istanbul": { "version": "0.3.7", - "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.7.tgz", - "integrity": "sha512-kr1Hy6YRZBkGQSb6puP+D6FQ59Cx4m0siYhAxygMCAgadiWQ6oxAxQXHOMvJx67SJ63jRoVIIg5eXzUbbct1ww==", "dev": true, "license": "MIT", "dependencies": { @@ -3861,8 +3831,6 @@ }, "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, "license": "MIT" }, @@ -4085,8 +4053,6 @@ }, "node_modules/cac": { "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, "license": "MIT", "engines": { @@ -4208,8 +4174,6 @@ }, "node_modules/chai": { "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", "dev": true, "license": "MIT", "dependencies": { @@ -4249,8 +4213,6 @@ }, "node_modules/check-error": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", "engines": { @@ -4812,8 +4774,6 @@ }, "node_modules/deep-eql": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", "engines": { @@ -5271,8 +5231,6 @@ }, "node_modules/es-module-lexer": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, "license": "MIT" }, @@ -5763,8 +5721,6 @@ }, "node_modules/estree-walker": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "license": "MIT", "dependencies": { @@ -6019,8 +5975,6 @@ }, "node_modules/fflate": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", "dev": true, "license": "MIT" }, @@ -7920,8 +7874,6 @@ }, "node_modules/loupe": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", "dev": true, "license": "MIT" }, @@ -9075,15 +9027,11 @@ }, "node_modules/pathe": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, "node_modules/pathval": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, "license": "MIT", "engines": { @@ -9181,6 +9129,51 @@ "dev": true, "license": "MIT" }, + "node_modules/playwright": { + "version": "1.56.1", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "playwright-core": "1.56.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.56.1", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "dev": true, @@ -10299,8 +10292,6 @@ }, "node_modules/strip-literal": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", - "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", "dev": true, "license": "MIT", "dependencies": { @@ -10312,8 +10303,6 @@ }, "node_modules/strip-literal/node_modules/js-tokens": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, "license": "MIT" }, @@ -10551,8 +10540,6 @@ }, "node_modules/tinyspy": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", - "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", "dev": true, "license": "MIT", "engines": { @@ -11028,8 +11015,6 @@ }, "node_modules/vite-node": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { @@ -11073,8 +11058,6 @@ }, "node_modules/vitest": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", "peer": true, @@ -11581,11 +11564,11 @@ }, "packages/binarytree": { "name": "@ethereumjs/binarytree", - "version": "10.0.0", + "version": "10.1.0", "license": "MIT", "dependencies": { - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -11607,14 +11590,14 @@ }, "packages/block": { "name": "@ethereumjs/block", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/tx": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { @@ -11628,14 +11611,14 @@ }, "packages/blockchain": { "name": "@ethereumjs/blockchain", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "debug": "^4.4.0", "eventemitter3": "^5.0.1", "lru-cache": "11.0.2" @@ -11661,19 +11644,19 @@ "hasInstallScript": true, "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "10.0.0", - "@ethereumjs/blockchain": "10.0.0", - "@ethereumjs/common": "10.0.0", + "@ethereumjs/block": "10.1.0", + "@ethereumjs/blockchain": "10.1.0", + "@ethereumjs/common": "10.1.0", "@ethereumjs/devp2p": "10.0.0", "@ethereumjs/ethash": "10.0.0", - "@ethereumjs/evm": "10.0.0", - "@ethereumjs/genesis": "10.0.0", - "@ethereumjs/mpt": "10.0.0", - "@ethereumjs/rlp": "10.0.0", - "@ethereumjs/statemanager": "10.0.0", - "@ethereumjs/tx": "10.0.0", - "@ethereumjs/util": "10.0.0", - "@ethereumjs/vm": "10.0.0", + "@ethereumjs/evm": "10.1.0", + "@ethereumjs/genesis": "10.1.0", + "@ethereumjs/mpt": "10.1.0", + "@ethereumjs/rlp": "10.1.0", + "@ethereumjs/statemanager": "10.1.0", + "@ethereumjs/tx": "10.1.0", + "@ethereumjs/util": "10.1.0", + "@ethereumjs/vm": "10.1.0", "@js-sdsl/ordered-map": "^4.4.2", "@multiformats/multiaddr": "^12.4.0", "@paulmillr/trusted-setups": "^0.2.0", @@ -11726,10 +11709,10 @@ }, "packages/common": { "name": "@ethereumjs/common", - "version": "10.0.0", + "version": "10.1.0", "license": "MIT", "dependencies": { - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/util": "^10.1.0", "eventemitter3": "^5.0.1" }, "devDependencies": { @@ -11742,9 +11725,9 @@ "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@scure/base": "^1.2.4", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -11754,8 +11737,8 @@ "snappyjs": "^0.7.0" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/tx": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", "@types/debug": "^4.1.12", "@types/k-bucket": "^5.0.4", "@types/node": "^22.13.10", @@ -11778,10 +11761,10 @@ "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/blockchain": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/blockchain": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "level": "^9.0.0", "micro-eth-signer": "^0.15.0", "snappyjs": "^0.7.0" @@ -11798,14 +11781,14 @@ "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "bigint-crypto-utils": "^3.3.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { - "@ethereumjs/common": "^10.0.0" + "@ethereumjs/common": "^10.1.0" }, "engines": { "node": ">=18" @@ -11813,13 +11796,13 @@ }, "packages/evm": { "name": "@ethereumjs/evm", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/binarytree": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/statemanager": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/binarytree": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/statemanager": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@noble/curves": "^1.9.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -11849,11 +11832,11 @@ }, "packages/genesis": { "name": "@ethereumjs/genesis", - "version": "10.0.0", + "version": "10.1.0", "license": "MIT", "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/util": "^10.0.0" + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/util": "^10.1.0" }, "engines": { "node": ">=18" @@ -11861,17 +11844,17 @@ }, "packages/mpt": { "name": "@ethereumjs/mpt", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/genesis": "^10.0.0", + "@ethereumjs/genesis": "^10.1.0", "@types/benchmark": "^2.1.5", "@types/debug": "^4.1.12", "abstract-level": "^3.0.1", @@ -11893,7 +11876,7 @@ }, "packages/rlp": { "name": "@ethereumjs/rlp", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "bin": { "rlp": "bin/rlp.cjs" @@ -11908,14 +11891,14 @@ }, "packages/statemanager": { "name": "@ethereumjs/statemanager", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/binarytree": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/binarytree": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@js-sdsl/ordered-map": "^4.4.2", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", @@ -11923,8 +11906,8 @@ "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/genesis": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/genesis": "^10.1.0", "@types/debug": "^4.1.12", "micro-eth-signer": "0.15.0" } @@ -11940,18 +11923,18 @@ "name": "@ethereumjs/testdata", "version": "1.0.0", "devDependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/util": "^10.0.0" + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/util": "^10.1.0" } }, "packages/tx": { "name": "@ethereumjs/tx", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { @@ -11971,10 +11954,10 @@ }, "packages/util": { "name": "@ethereumjs/util", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/rlp": "^10.1.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { @@ -11988,23 +11971,23 @@ }, "packages/vm": { "name": "@ethereumjs/vm", - "version": "10.0.0", + "version": "10.1.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/evm": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/statemanager": "^10.0.0", - "@ethereumjs/tx": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/evm": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/statemanager": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", "eventemitter3": "^5.0.1" }, "devDependencies": { - "@ethereumjs/blockchain": "^10.0.0", + "@ethereumjs/blockchain": "^10.1.0", "@ethereumjs/ethash": "^10.0.0", "@ethereumjs/testdata": "1.0.0", "@paulmillr/trusted-setups": "^0.2.0", @@ -12032,7 +12015,7 @@ "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/util": "^10.1.0", "@scure/base": "^1.2.4", "ethereum-cryptography": "^3.2.0", "js-md5": "^0.8.3", diff --git a/packages/binarytree/CHANGELOG.md b/packages/binarytree/CHANGELOG.md index 18b3ebbee2..628af79937 100644 --- a/packages/binarytree/CHANGELOG.md +++ b/packages/binarytree/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +Maintenance release, no active changes. + ## 10.0.0 (EXPERIMENTAL) - 2025-04-29 **Note:** This library is in an **experimental** stage and should not be used in production! diff --git a/packages/binarytree/package.json b/packages/binarytree/package.json index 1074c02db1..8647300e79 100644 --- a/packages/binarytree/package.json +++ b/packages/binarytree/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/binarytree", - "version": "10.0.0", + "version": "10.1.0", "description": "Implementation of binary trees as used in Ethereum.", "keywords": ["binary", "tree", "trie", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/binarytree#readme", @@ -54,8 +54,8 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", diff --git a/packages/block/CHANGELOG.md b/packages/block/CHANGELOG.md index 4ec773ab3e..12f140f9df 100644 --- a/packages/block/CHANGELOG.md +++ b/packages/block/CHANGELOG.md @@ -6,6 +6,64 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Some `0n` -> `BIGINT_0` replacements, PR [#4147](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4147) +- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145) + +### EIP-7918 - Blob base fee bounded by execution cost + +EIP-7918 support has been implemented, which ensures that the blob base fee is bounded by execution cost. The block library now properly calculates `excess_blob_gas` according to the new formula that imposes a reserve price, ensuring the blob fee market functions properly even when execution costs dominate. + +### EIP-7934 - RLP Execution Block Size Limit + +Support for EIP-7934 has been added, introducing a protocol-level cap on the maximum RLP-encoded block size to 10 MiB (with a 2 MiB margin for beacon block size, resulting in a maximum RLP block size of 8 MiB). The block library now validates that blocks do not exceed this size limit during construction and validation. + +```typescript +import { Block } from '@ethereumjs/block' +import { Common, Hardfork, Mainnet } from '@ethereumjs/common' + +const common = new Common({ chain: Mainnet, hardfork: Hardfork.Osaka }) + +// Blocks exceeding 8 MiB RLP size will be rejected +const block = createBlockFromRLP({ + // ... block data +}, { common }) + +// The block size is validated according to EIP-7934 +const rlpSize = block.serialize().length +if (rlpSize > 8 * 1024 * 1024) { + // Block exceeds maximum RLP size +} +``` + +### EIP-7892 - Blob Parameter Only Hardforks + +Support for Blob Parameter Only (BPO) hardforks has been implemented according to EIP-7892. BPO hardforks enable rapid scaling of blob capacity by modifying only blob-related parameters (`target`, `max`, and `blobGasPriceUpdateFraction`) without requiring code changes. + +The block library now properly handles blob gas calculations and blob base fee updates according to the active BPO hardfork. When processing blocks with BPO1 or BPO2 active, the library uses the updated blob parameters: + +- **BPO 1**: Target 10, Max 15 blobs per block +- **BPO 2**: Target 14, Max 21 blobs per block + +Blob base fee calculations automatically adjust based on the active BPO hardfork parameters, ensuring proper blob fee market functionality as blob capacity scales. + +```typescript +import { Block } from '@ethereumjs/block' +import { Common, Hardfork, Mainnet } from '@ethereumjs/common' + +// Block processing with BPO1 active +const common = new Common({ chain: Mainnet, hardfork: Hardfork.Bpo1 }) +const block = Block.fromBlockData({ + // ... block data with blobs +}, { common }) + +// Blob gas calculations use BPO1 parameters: +// - Max blobs per block: 15 (instead of 9 in Osaka) +// - Target blobs per block: 10 (instead of 6 in Osaka) +// Blob base fee calculations automatically adjust accordingly +``` + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/block/package.json b/packages/block/package.json index 89a1fb4c7e..6af5244644 100644 --- a/packages/block/package.json +++ b/packages/block/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/block", - "version": "10.0.0", + "version": "10.1.0", "description": "Provides Block serialization and help functions", "keywords": ["ethereum", "block"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/block#readme", @@ -50,11 +50,11 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/tx": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { diff --git a/packages/blockchain/CHANGELOG.md b/packages/blockchain/CHANGELOG.md index 77f04e81b5..6a6ea0afb1 100644 --- a/packages/blockchain/CHANGELOG.md +++ b/packages/blockchain/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145) + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/blockchain/package.json b/packages/blockchain/package.json index 9853976185..0e96086e3f 100644 --- a/packages/blockchain/package.json +++ b/packages/blockchain/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/blockchain", - "version": "10.0.0", + "version": "10.1.0", "description": "A module to store and interact with blocks", "keywords": ["ethereum", "blockchain"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain#readme", @@ -50,11 +50,11 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "debug": "^4.4.0", "eventemitter3": "^5.0.1", "lru-cache": "11.0.2" diff --git a/packages/client/package.json b/packages/client/package.json index da8b4371de..564bc8e2eb 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -52,19 +52,19 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "10.0.0", - "@ethereumjs/blockchain": "10.0.0", - "@ethereumjs/common": "10.0.0", + "@ethereumjs/block": "10.1.0", + "@ethereumjs/blockchain": "10.1.0", + "@ethereumjs/common": "10.1.0", "@ethereumjs/devp2p": "10.0.0", "@ethereumjs/ethash": "10.0.0", - "@ethereumjs/evm": "10.0.0", - "@ethereumjs/genesis": "10.0.0", - "@ethereumjs/mpt": "10.0.0", - "@ethereumjs/rlp": "10.0.0", - "@ethereumjs/statemanager": "10.0.0", - "@ethereumjs/tx": "10.0.0", - "@ethereumjs/util": "10.0.0", - "@ethereumjs/vm": "10.0.0", + "@ethereumjs/evm": "10.1.0", + "@ethereumjs/genesis": "10.1.0", + "@ethereumjs/mpt": "10.1.0", + "@ethereumjs/rlp": "10.1.0", + "@ethereumjs/statemanager": "10.1.0", + "@ethereumjs/tx": "10.1.0", + "@ethereumjs/util": "10.1.0", + "@ethereumjs/vm": "10.1.0", "@js-sdsl/ordered-map": "^4.4.2", "@multiformats/multiaddr": "^12.4.0", "@paulmillr/trusted-setups": "^0.2.0", diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index ed52d0fd56..cbae681eca 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -6,6 +6,68 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Improve `paramsCache` updates, PR [#4091](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4091) +- Improve `nextHardforkBlockOrTimestamp` method, PR [#4080](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4080) +- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145) + +### EIP-7594 - PeerDAS - Peer Data Availability Sampling + +This release adds support for EIP-7594 PeerDAS, which extends EIP-4844 blob transactions with data availability sampling capabilities. The Common library now includes EIP-7594 configuration and activation for the Osaka hardfork, enabling support for PeerDAS blob transactions with cell proofs and network wrapper version 1. + +### EIP-7823 - Set upper bounds for MODEXP + +EIP-7823 support has been added, introducing an upper bound of 8192 bits (1024 bytes) on each input field (base, exponent, modulus) of the MODEXP precompile. The Common library includes the EIP configuration and activation for Osaka, ensuring MODEXP calls exceeding these limits are properly rejected. + +### EIP-7825 - Transaction Gas Limit Cap + +Support for EIP-7825 has been implemented, introducing a protocol-level cap of 16,777,216 gas (2^24) for individual transactions. The Common library includes the EIP configuration and activation for Osaka, enabling transaction validation against this gas limit cap. + +### EIP-7883 - ModExp Gas Cost Increase + +EIP-7883 support has been added, which increases the gas cost of the MODEXP precompile. The Common library includes the EIP configuration and activation for Osaka, ensuring MODEXP operations use the updated pricing algorithm with increased minimum gas cost and adjusted complexity calculations. + +### EIP-7918 - Blob base fee bounded by execution cost + +EIP-7918 support has been implemented, which imposes that the price of `GAS_PER_BLOB` blob gas is greater than the price of `BLOB_BASE_COST` execution gas. The Common library includes the EIP configuration and activation for Osaka, ensuring proper blob fee market functionality. + +### EIP-7934 - RLP Execution Block Size Limit + +Support for EIP-7934 has been added, introducing a protocol-level cap on the maximum RLP-encoded block size to 10 MiB (with a 2 MiB margin for beacon block size). The Common library includes the EIP configuration and activation for Osaka, enabling block size validation. + +### EIP-7939 - Count leading zeros (CLZ) opcode + +EIP-7939 support has been implemented, adding a new opcode `CLZ` (0x1e) that counts the number of leading zero bits in a 256-bit word. The Common library includes the EIP configuration and activation for Osaka, enabling the use of the CLZ opcode in EVM execution. + +### EIP-7951 - Precompile for secp256r1 Curve Support + +EIP-7951 support has been added, introducing a new precompile at address `0x100` (`P256VERIFY`) for ECDSA signature verification over the secp256r1 curve. The Common library includes the EIP configuration and activation for Osaka, enabling native support for secp256r1 signatures from modern secure hardware devices. + +### EIP-7892 - Blob Parameter Only Hardforks + +Support for Blob Parameter Only (BPO) hardforks has been implemented according to EIP-7892. BPO hardforks are lightweight protocol upgrades that modify only blob-related parameters (`target`, `max`, and `blobGasPriceUpdateFraction`) without requiring code changes, enabling rapid scaling of blob capacity in response to network demand. + +Two BPO hardforks are scheduled alongside Fusaka: + +- **BPO 1**: Increases blob target to 10 and max to 15 blobs per block +- **BPO 2**: Further increases blob target to 14 and max to 21 blobs per block + +The Common library now includes BPO hardfork definitions and activation timestamps for testnets (Holešky, Sepolia, Hoodi). The `getBlobGasSchedule()` method returns the appropriate blob gas schedule parameters based on the active hardfork, automatically handling BPO transitions. + +```typescript +import { Common, Hardfork, Mainnet } from '@ethereumjs/common' + +// Common instance with BPO1 active +const common = new Common({ chain: Mainnet, hardfork: Hardfork.Bpo1 }) + +// Get blob gas schedule parameters +const schedule = common.getBlobGasSchedule() +// schedule.targetBlobGasPerBlock = 1310720 (10 * 131072) +// schedule.maxBlobGasPerBlock = 1966080 (15 * 131072) +// schedule.blobGasPriceUpdateFraction = 8346193 +``` + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/common/package.json b/packages/common/package.json index a11dc443fa..c8fa1f2954 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/common", - "version": "10.0.0", + "version": "10.1.0", "description": "Resources common to all Ethereum implementations", "keywords": [ "ethereum", @@ -63,7 +63,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/util": "^10.1.0", "eventemitter3": "^5.0.1" }, "devDependencies": { diff --git a/packages/devp2p/package.json b/packages/devp2p/package.json index 60f5cb9ab3..4ea0c4cd73 100644 --- a/packages/devp2p/package.json +++ b/packages/devp2p/package.json @@ -65,9 +65,9 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@scure/base": "^1.2.4", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -77,8 +77,8 @@ "snappyjs": "^0.7.0" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/tx": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", "@types/debug": "^4.1.12", "@types/k-bucket": "^5.0.4", "@types/node": "^22.13.10", diff --git a/packages/e2store/package.json b/packages/e2store/package.json index 952d9b2503..d88d1037ea 100644 --- a/packages/e2store/package.json +++ b/packages/e2store/package.json @@ -55,10 +55,10 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/blockchain": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/blockchain": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "level": "^9.0.0", "micro-eth-signer": "^0.15.0", "snappyjs": "^0.7.0" diff --git a/packages/ethash/package.json b/packages/ethash/package.json index 3b080d7933..67f4376054 100644 --- a/packages/ethash/package.json +++ b/packages/ethash/package.json @@ -48,14 +48,14 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "bigint-crypto-utils": "^3.3.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { - "@ethereumjs/common": "^10.0.0" + "@ethereumjs/common": "^10.1.0" }, "engines": { "node": ">=18" diff --git a/packages/evm/CHANGELOG.md b/packages/evm/CHANGELOG.md index 209fe56066..e515a1a106 100644 --- a/packages/evm/CHANGELOG.md +++ b/packages/evm/CHANGELOG.md @@ -6,6 +6,84 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Extended modexp precompile debug messages, PR [#4124](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4124) +- More ArrayBuffer type assignment fixes, PR [#4109](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4109) +- Cleanup unused dependencies and fix dependency categorization, PR [#4146](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4146) +- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145) + +### EIP-7823 - Set upper bounds for MODEXP + +The MODEXP precompile (address `0x05`) now enforces an upper bound of 8192 bits (1024 bytes) on each input field (base, exponent, modulus). If any input exceeds this limit, the precompile execution stops, returns an error, and consumes all gas. This change improves security and makes the precompile more suitable for future EVMMAX replacement. + +```typescript +import { EVM } from '@ethereumjs/evm' +import { Common, Hardfork } from '@ethereumjs/common' + +const common = new Common({ chain: 'mainnet', hardfork: Hardfork.Osaka }) +const evm = await EVM.create({ common }) + +// MODEXP call with inputs exceeding 1024 bytes will now fail +// Inputs within the limit continue to work as before +``` + +### EIP-7883 - ModExp Gas Cost Increase + +The MODEXP precompile gas cost calculation has been updated according to EIP-7883. The minimum gas cost has been increased from 200 to 500, and the pricing algorithm has been adjusted with increased complexity calculations for larger inputs. The multiplier for exponents larger than 32 bytes has been doubled from 8 to 16. + +```typescript +import { EVM } from '@ethereumjs/evm' +import { Common, Hardfork } from '@ethereumjs/common' + +const common = new Common({ chain: 'mainnet', hardfork: Hardfork.Osaka }) +const evm = await EVM.create({ common }) + +// MODEXP calls will now consume more gas according to the new pricing formula +// The minimum cost is now 500 gas (previously 200) +``` + +### EIP-7939 - Count leading zeros (CLZ) opcode + +A new opcode `CLZ` (0x1e) has been added that counts the number of leading zero bits in a 256-bit word. If the input is zero, it returns 256. The opcode has a gas cost of 5 gas. + +```typescript +import { EVM } from '@ethereumjs/evm' +import { Common, Hardfork } from '@ethereumjs/common' + +const common = new Common({ chain: 'mainnet', hardfork: Hardfork.Osaka }) +const evm = await EVM.create({ common }) + +// CLZ opcode can be used in EVM bytecode: +// PUSH1 0x01 // Push 1 to stack +// CLZ // Count leading zeros: returns 255 +// PUSH1 0x00 // Push 0 to stack +// CLZ // Returns 256 +``` + +### EIP-7951 - Precompile for secp256r1 Curve Support + +A new precompile `P256VERIFY` has been added at address `0x100` for ECDSA signature verification over the secp256r1 curve (also known as P-256 or prime256v1). This enables native support for signatures from modern secure hardware including Apple Secure Enclave, Android Keystore, and FIDO2/WebAuthn devices. The precompile costs 6900 gas and expects 160 bytes of input (32 bytes each for message hash, r, s, public key x, and public key y). + +```typescript +import { EVM } from '@ethereumjs/evm' +import { Common, Hardfork } from '@ethereumjs/common' +import { hexToBytes } from '@ethereumjs/util' + +const common = new Common({ chain: 'mainnet', hardfork: Hardfork.Osaka }) +const evm = await EVM.create({ common }) + +// P256VERIFY precompile usage: +// Input: 160 bytes = [msgHash (32) | r (32) | s (32) | qx (32) | qy (32)] +// Output: 32 bytes with 0x00...01 for valid signature, empty for invalid +const input = hexToBytes('0x...') // 160 bytes +const result = await evm.runCall({ + to: '0x0000000000000000000000000000000000000100', + data: input, + gasLimit: 10000n +}) +``` + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/evm/package.json b/packages/evm/package.json index 4edea84010..0f3ae2b1b0 100644 --- a/packages/evm/package.json +++ b/packages/evm/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/evm", - "version": "10.0.0", + "version": "10.1.0", "description": "JavaScript Ethereum Virtual Machine (EVM) implementation", "keywords": ["ethereum", "EVM", "JavaScript", "TypeScript"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm#readme", @@ -54,10 +54,10 @@ "visualize:bundle": "npx vite build --config=./vite.config.bundler.ts --emptyOutDir=false --outDir ." }, "dependencies": { - "@ethereumjs/binarytree": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/statemanager": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/binarytree": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/statemanager": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@noble/curves": "^1.9.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", diff --git a/packages/genesis/CHANGELOG.md b/packages/genesis/CHANGELOG.md index 76641a5219..960fb2be7e 100644 --- a/packages/genesis/CHANGELOG.md +++ b/packages/genesis/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +Maintenance release, no active changes. + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/genesis/package.json b/packages/genesis/package.json index 01f4ee724c..1848a04eb0 100644 --- a/packages/genesis/package.json +++ b/packages/genesis/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/genesis", - "version": "10.0.0", + "version": "10.1.0", "description": "A module to provide genesis states of well known networks", "keywords": ["ethereum", "genesis"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/genesis#readme", @@ -78,8 +78,8 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/util": "^10.0.0" + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/util": "^10.1.0" }, "engines": { "node": ">=18" diff --git a/packages/mpt/CHANGELOG.md b/packages/mpt/CHANGELOG.md index c2581cc2f2..1f07df7d93 100644 --- a/packages/mpt/CHANGELOG.md +++ b/packages/mpt/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +Maintenance release, no active changes. + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/mpt/package.json b/packages/mpt/package.json index 8cfce2fe2a..0d004f44a9 100644 --- a/packages/mpt/package.json +++ b/packages/mpt/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/mpt", - "version": "10.0.0", + "version": "10.1.0", "description": "Implementation of the modified merkle patricia tree as specified in Ethereum's yellow paper.", "keywords": ["merkle", "radix", "trie", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/mpt#readme", @@ -53,14 +53,14 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "debug": "^4.4.0", "lru-cache": "11.0.2", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { - "@ethereumjs/genesis": "^10.0.0", + "@ethereumjs/genesis": "^10.1.0", "@types/benchmark": "^2.1.5", "@types/debug": "^4.1.12", "abstract-level": "^3.0.1", diff --git a/packages/rlp/CHANGELOG.md b/packages/rlp/CHANGELOG.md index c24677370d..6e2fe95da4 100644 --- a/packages/rlp/CHANGELOG.md +++ b/packages/rlp/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +Maintenance release, no active changes. + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/rlp/package.json b/packages/rlp/package.json index 3e46d35011..4538e8b002 100644 --- a/packages/rlp/package.json +++ b/packages/rlp/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/rlp", - "version": "10.0.0", + "version": "10.1.0", "description": "Recursive Length Prefix Encoding Module", "keywords": ["rlp", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/rlp#readme", diff --git a/packages/statemanager/CHANGELOG.md b/packages/statemanager/CHANGELOG.md index 941f059d5c..67b0be44c1 100644 --- a/packages/statemanager/CHANGELOG.md +++ b/packages/statemanager/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145) + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/statemanager/package.json b/packages/statemanager/package.json index af5251a253..3889ab5ed5 100644 --- a/packages/statemanager/package.json +++ b/packages/statemanager/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/statemanager", - "version": "10.0.0", + "version": "10.1.0", "description": "An Ethereum statemanager implementation", "keywords": ["ethereum", "statemanager"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/statemanager#readme", @@ -47,11 +47,11 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/binarytree": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/binarytree": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "@js-sdsl/ordered-map": "^4.4.2", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", @@ -59,8 +59,8 @@ "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/genesis": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/genesis": "^10.1.0", "@types/debug": "^4.1.12", "micro-eth-signer": "0.15.0" } diff --git a/packages/testdata/package.json b/packages/testdata/package.json index 03a620da37..5156a833d4 100644 --- a/packages/testdata/package.json +++ b/packages/testdata/package.json @@ -23,7 +23,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/util": "^10.0.0" + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/util": "^10.1.0" } } diff --git a/packages/tx/CHANGELOG.md b/packages/tx/CHANGELOG.md index 0009bd4578..7b9ab942e8 100644 --- a/packages/tx/CHANGELOG.md +++ b/packages/tx/CHANGELOG.md @@ -6,6 +6,70 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- `tx: throw on toCreationAddress for 4844 and 7702`, PR [#4162](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4162) +- `tx: improve JSDoc annotations`, PR [#4161](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4161) +- `4844 Tx Constructor Consistency and UX`, PR [#4155](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4155) +- `valueBoundaryCheck chores`, PR [#4083](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4083) +- `updates regarding blobtx serialization`, PR [#4065](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4065) + +### EIP-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. + +```typescript +import { Blob4844Tx } from '@ethereumjs/tx' +import { Common, Hardfork } from '@ethereumjs/common' +import { hexToBytes } from '@ethereumjs/util' + +const common = new Common({ chain: 'mainnet', hardfork: Hardfork.Osaka }) + +// Create a PeerDAS blob transaction (network wrapper version 1) +const tx = Blob4844Tx.fromTxData({ + chainId: common.chainId(), + nonce: 0n, + maxFeePerGas: 1000000000n, + maxPriorityFeePerGas: 1000000000n, + maxFeePerBlobGas: 1000000000n, + gasLimit: 100000n, + to: '0x...', + value: 0n, + blobVersionedHashes: ['0x...'], + blobs: ['0x...'], // Blob data + kzgCommitments: ['0x...'], + kzgProofs: ['0x...'], // Cell proofs for PeerDAS + networkWrapperVersion: 1 // EIP-7594 +}, { common }) +``` + +### 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. + +```typescript +import { LegacyTx } from '@ethereumjs/tx' +import { Common, Hardfork } from '@ethereumjs/common' + +const common = new Common({ chain: 'mainnet', hardfork: Hardfork.Osaka }) + +// Transaction with gas limit exceeding 16,777,216 will throw an error +try { + const tx = LegacyTx.fromTxData({ + gasLimit: 20000000n, // Exceeds EIP-7825 cap + // ... other fields + }, { common }) +} catch (error) { + // Error: Gas limit exceeds maximum allowed by EIP-7825 +} + +// Valid transaction with gas limit within the cap +const validTx = LegacyTx.fromTxData({ + gasLimit: 10000000n, // Within EIP-7825 cap + // ... other fields +}, { common }) +``` + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/tx/package.json b/packages/tx/package.json index 5eac8ebe13..64db743490 100644 --- a/packages/tx/package.json +++ b/packages/tx/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/tx", - "version": "10.0.0", + "version": "10.1.0", "description": "Implementation of the various Ethereum Transaction Types", "keywords": ["ethereum", "transactions"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/tx#readme", @@ -61,9 +61,9 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { diff --git a/packages/util/CHANGELOG.md b/packages/util/CHANGELOG.md index 10f2a00118..a12c2a5d8b 100644 --- a/packages/util/CHANGELOG.md +++ b/packages/util/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Update `kzg-wasm` dependency, PR [#4169](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4169) +- Integrate new `kzg-wasm` library version / Sanity & API Checks, PR [#4153](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4153) +- Explicitly cast result type to Uint8Array to satisfy ESLint, PR [#4108](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4108) + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/util/package.json b/packages/util/package.json index 0f47ea2bbd..d3b1396173 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/util", - "version": "10.0.0", + "version": "10.1.0", "description": "A collection of utility functions for Ethereum", "keywords": ["ethereum", "utilities", "utils"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/util#readme", @@ -94,7 +94,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/rlp": "^10.1.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { diff --git a/packages/vm/CHANGELOG.md b/packages/vm/CHANGELOG.md index 358accdaac..711de01da0 100644 --- a/packages/vm/CHANGELOG.md +++ b/packages/vm/CHANGELOG.md @@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.1.0 - 2025-11-06 + +- Some `0n` -> `BIGINT_0` replacements, PR [#4147](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4147) +- Remove Verkle package support, PR [#4145](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4145) + ## 10.0.0 - 2025-04-29 ### Overview diff --git a/packages/vm/package.json b/packages/vm/package.json index 6ed17fcf1d..99b23fa3fb 100644 --- a/packages/vm/package.json +++ b/packages/vm/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/vm", - "version": "10.0.0", + "version": "10.1.0", "description": "An Ethereum VM implementation", "keywords": ["ethereum", "VM"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#readme", @@ -66,20 +66,20 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0", - "@ethereumjs/common": "^10.0.0", - "@ethereumjs/evm": "^10.0.0", - "@ethereumjs/mpt": "^10.0.0", - "@ethereumjs/rlp": "^10.0.0", - "@ethereumjs/statemanager": "^10.0.0", - "@ethereumjs/tx": "^10.0.0", - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/block": "^10.1.0", + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/evm": "^10.1.0", + "@ethereumjs/mpt": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/statemanager": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", + "@ethereumjs/util": "^10.1.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", "eventemitter3": "^5.0.1" }, "devDependencies": { - "@ethereumjs/blockchain": "^10.0.0", + "@ethereumjs/blockchain": "^10.1.0", "@ethereumjs/ethash": "^10.0.0", "@ethereumjs/testdata": "1.0.0", "@paulmillr/trusted-setups": "^0.2.0", diff --git a/packages/wallet/package.json b/packages/wallet/package.json index f01ef790b2..b41a9d6004 100644 --- a/packages/wallet/package.json +++ b/packages/wallet/package.json @@ -50,7 +50,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/util": "^10.0.0", + "@ethereumjs/util": "^10.1.0", "@scure/base": "^1.2.4", "ethereum-cryptography": "^3.2.0", "js-md5": "^0.8.3",