diff --git a/packages/api/package.json b/packages/api/package.json index 8407d3705a6c..ae0cf6b9c16f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -67,8 +67,8 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/persistent-merkle-tree": "^0.6.1", - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/persistent-merkle-tree": "^0.7.1", + "@chainsafe/ssz": "^0.15.1", "@lodestar/config": "^1.17.0", "@lodestar/params": "^1.17.0", "@lodestar/types": "^1.17.0", diff --git a/packages/beacon-node/package.json b/packages/beacon-node/package.json index 609cc5c9f04f..329ef91f5979 100644 --- a/packages/beacon-node/package.json +++ b/packages/beacon-node/package.json @@ -100,9 +100,9 @@ "@chainsafe/libp2p-gossipsub": "^11.2.1", "@chainsafe/libp2p-identify": "^1.0.0", "@chainsafe/libp2p-noise": "^14.1.0", - "@chainsafe/persistent-merkle-tree": "^0.6.1", + "@chainsafe/persistent-merkle-tree": "^0.7.1", "@chainsafe/prometheus-gc-stats": "^1.0.0", - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@chainsafe/threads": "^1.11.1", "@ethersproject/abi": "^5.7.0", "@fastify/bearer-auth": "^9.0.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index 2bf6bc6dc708..c905abb846b5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -57,8 +57,8 @@ "@chainsafe/blst": "^0.2.10", "@chainsafe/discv5": "^9.0.0", "@chainsafe/enr": "^3.0.0", - "@chainsafe/persistent-merkle-tree": "^0.6.1", - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/persistent-merkle-tree": "^0.7.1", + "@chainsafe/ssz": "^0.15.1", "@chainsafe/threads": "^1.11.1", "@libp2p/crypto": "^3.0.4", "@libp2p/peer-id": "^4.0.4", diff --git a/packages/config/package.json b/packages/config/package.json index 60f8484ee928..741023fabadc 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -64,7 +64,7 @@ "blockchain" ], "dependencies": { - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@lodestar/params": "^1.17.0", "@lodestar/types": "^1.17.0" } diff --git a/packages/db/package.json b/packages/db/package.json index dcb0b66b920f..4bde7b173731 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -35,7 +35,7 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@lodestar/config": "^1.17.0", "@lodestar/utils": "^1.17.0", "it-all": "^3.0.4", diff --git a/packages/fork-choice/package.json b/packages/fork-choice/package.json index a8c708ec7525..c89376c5a8fe 100644 --- a/packages/fork-choice/package.json +++ b/packages/fork-choice/package.json @@ -36,7 +36,7 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@lodestar/config": "^1.17.0", "@lodestar/params": "^1.17.0", "@lodestar/state-transition": "^1.17.0", diff --git a/packages/light-client/package.json b/packages/light-client/package.json index b8c0ce76c225..10ba1fa1b3f8 100644 --- a/packages/light-client/package.json +++ b/packages/light-client/package.json @@ -66,8 +66,8 @@ }, "dependencies": { "@chainsafe/bls": "7.1.3", - "@chainsafe/persistent-merkle-tree": "^0.6.1", - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/persistent-merkle-tree": "^0.7.1", + "@chainsafe/ssz": "^0.15.1", "@lodestar/api": "^1.17.0", "@lodestar/config": "^1.17.0", "@lodestar/params": "^1.17.0", diff --git a/packages/state-transition/package.json b/packages/state-transition/package.json index 270cfa441357..b9e74baa1435 100644 --- a/packages/state-transition/package.json +++ b/packages/state-transition/package.json @@ -61,9 +61,9 @@ "@chainsafe/as-sha256": "^0.4.1", "@chainsafe/bls": "7.1.3", "@chainsafe/blst": "^0.2.10", - "@chainsafe/persistent-merkle-tree": "^0.6.1", + "@chainsafe/persistent-merkle-tree": "^0.7.1", "@chainsafe/persistent-ts": "^0.19.1", - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@lodestar/config": "^1.17.0", "@lodestar/params": "^1.17.0", "@lodestar/types": "^1.17.0", diff --git a/packages/types/package.json b/packages/types/package.json index 376778e6e8d3..debff7534aca 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -73,7 +73,7 @@ }, "types": "lib/index.d.ts", "dependencies": { - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@lodestar/params": "^1.17.0", "ethereum-cryptography": "^2.0.0" }, diff --git a/packages/types/src/phase0/sszTypes.ts b/packages/types/src/phase0/sszTypes.ts index 78988465d274..6bafdb8fc3a7 100644 --- a/packages/types/src/phase0/sszTypes.ts +++ b/packages/types/src/phase0/sszTypes.ts @@ -6,6 +6,7 @@ import { ListBasicType, ListCompositeType, VectorBasicType, + ListUintNum64Type, VectorCompositeType, } from "@chainsafe/ssz"; import { @@ -245,7 +246,8 @@ export const Validator = ValidatorNodeStruct; // Export as stand-alone for direct tree optimizations export const Validators = new ListCompositeType(ValidatorNodeStruct, VALIDATOR_REGISTRY_LIMIT); -export const Balances = new ListBasicType(UintNum64, VALIDATOR_REGISTRY_LIMIT); +// this ListUintNum64Type is used to cache Leaf Nodes of BeaconState.balances after epoch transition +export const Balances = new ListUintNum64Type(VALIDATOR_REGISTRY_LIMIT); export const RandaoMixes = new VectorCompositeType(Bytes32, EPOCHS_PER_HISTORICAL_VECTOR); /** * This is initially a Gwei (BigInt) vector, however since Nov 2023 it's converted to UintNum64 (number) vector in the state transition because: diff --git a/packages/validator/package.json b/packages/validator/package.json index 31ec656d0918..667ba286b86b 100644 --- a/packages/validator/package.json +++ b/packages/validator/package.json @@ -46,7 +46,7 @@ ], "dependencies": { "@chainsafe/bls": "7.1.3", - "@chainsafe/ssz": "^0.14.3", + "@chainsafe/ssz": "^0.15.1", "@lodestar/api": "^1.17.0", "@lodestar/config": "^1.17.0", "@lodestar/db": "^1.17.0", diff --git a/yarn.lock b/yarn.lock index c744a9b4ede6..c23126d62dd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -447,6 +447,14 @@ "@chainsafe/as-sha256" "^0.4.1" "@noble/hashes" "^1.3.0" +"@chainsafe/persistent-merkle-tree@^0.7.1": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.7.1.tgz#bfe6b3f4296ed3a578bb4fe69f9a7c232822a1dc" + integrity sha512-GUomb8DgkbHyKVBoLY9wMBe67oyAK9HKMjPImIocGOJuwqqxvDbVwh/ihdzyOrhEyhISqD/TxhCBDEXzLM52Vg== + dependencies: + "@chainsafe/as-sha256" "^0.4.1" + "@noble/hashes" "^1.3.0" + "@chainsafe/persistent-ts@^0.19.1": version "0.19.1" resolved "https://registry.npmjs.org/@chainsafe/persistent-ts/-/persistent-ts-0.19.1.tgz" @@ -465,13 +473,13 @@ "@chainsafe/as-sha256" "^0.4.1" "@chainsafe/persistent-merkle-tree" "^0.6.1" -"@chainsafe/ssz@^0.14.3": - version "0.14.3" - resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.14.3.tgz#caae48ae2670b2f8b6febed22b0e0619a636f316" - integrity sha512-ldOx4Rk9OC8YMvFdwvHKtRc7KpFRLcXlb9ATCdQ5fHtLT438LRQyxdWFufC9+M8jFHSZcgq31h2BJsSva6sZ0w== +"@chainsafe/ssz@^0.15.1": + version "0.15.1" + resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.15.1.tgz#008a711c3bcdc0d207cd4be15108870b0b1c60c0" + integrity sha512-f09UKTyYwWA1nr1BwrwsFpkXMspDDIZtwWXK1pM5mpPMnexmuPVstnN+P0M4YJ2aHcfqJXG7QOqnOwGj5Z7bUw== dependencies: "@chainsafe/as-sha256" "^0.4.1" - "@chainsafe/persistent-merkle-tree" "^0.6.1" + "@chainsafe/persistent-merkle-tree" "^0.7.1" "@chainsafe/threads@^1.11.1": version "1.11.1"