@lodestar/light-client 1.22.0 → 1.23.0-dev.06b4c2d324
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/index.d.ts +3 -3
- package/lib/index.js +10 -12
- package/lib/index.js.map +1 -1
- package/lib/spec/index.js +3 -3
- package/lib/spec/index.js.map +1 -1
- package/lib/spec/isBetterUpdate.js +11 -11
- package/lib/spec/isBetterUpdate.js.map +1 -1
- package/lib/spec/processLightClientUpdate.d.ts +1 -1
- package/lib/spec/processLightClientUpdate.js.map +1 -1
- package/lib/spec/utils.d.ts +3 -3
- package/lib/spec/utils.js +20 -20
- package/lib/spec/utils.js.map +1 -1
- package/lib/spec/validateLightClientBootstrap.d.ts +1 -1
- package/lib/spec/validateLightClientBootstrap.js +5 -1
- package/lib/spec/validateLightClientBootstrap.js.map +1 -1
- package/lib/spec/validateLightClientUpdate.d.ts +1 -1
- package/lib/spec/validateLightClientUpdate.js +6 -6
- package/lib/spec/validateLightClientUpdate.js.map +1 -1
- package/lib/transport/interface.d.ts +1 -1
- package/lib/transport/rest.d.ts +1 -1
- package/lib/transport/rest.js +1 -1
- package/lib/transport/rest.js.map +1 -1
- package/lib/utils/api.d.ts +2 -2
- package/lib/utils/api.js +2 -2
- package/lib/utils/api.js.map +1 -1
- package/lib/utils/clock.js +1 -3
- package/lib/utils/clock.js.map +1 -1
- package/lib/utils/domain.d.ts +1 -1
- package/lib/utils/domain.js.map +1 -1
- package/lib/utils/normalizeMerkleBranch.d.ts +9 -0
- package/lib/utils/normalizeMerkleBranch.js +13 -0
- package/lib/utils/normalizeMerkleBranch.js.map +1 -0
- package/lib/utils/utils.d.ts +1 -1
- package/lib/utils/verifyMerkleBranch.js +1 -1
- package/lib/utils/verifyMerkleBranch.js.map +1 -1
- package/lib/validation.d.ts +1 -1
- package/lib/validation.js +6 -6
- package/lib/validation.js.map +1 -1
- package/package.json +11 -11
- package/dist/lightclient.min.mjs +0 -46
- package/dist/lightclient.min.mjs.map +0 -1
- package/dist/manifest.json +0 -8
package/lib/utils/api.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ApiClient } from "@lodestar/api";
|
|
1
|
+
import { ApiClient, ApiRequestInit } from "@lodestar/api";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { NetworkName } from "@lodestar/config/networks";
|
|
4
|
-
export declare function getApiFromUrl(url: string, network: NetworkName): ApiClient;
|
|
4
|
+
export declare function getApiFromUrl(url: string, network: NetworkName, init?: ApiRequestInit): ApiClient;
|
|
5
5
|
export declare function getChainForkConfigFromNetwork(network: NetworkName): ChainForkConfig;
|
|
6
6
|
//# sourceMappingURL=api.d.ts.map
|
package/lib/utils/api.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { getClient } from "@lodestar/api";
|
|
2
2
|
import { createChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { networksChainConfig } from "@lodestar/config/networks";
|
|
4
|
-
export function getApiFromUrl(url, network) {
|
|
4
|
+
export function getApiFromUrl(url, network, init) {
|
|
5
5
|
if (!(network in networksChainConfig)) {
|
|
6
6
|
throw Error(`Invalid network name "${network}". Valid options are: ${Object.keys(networksChainConfig).join()}`);
|
|
7
7
|
}
|
|
8
|
-
return getClient({ urls: [url] }, { config: createChainForkConfig(networksChainConfig[network]) });
|
|
8
|
+
return getClient({ urls: [url], globalInit: init }, { config: createChainForkConfig(networksChainConfig[network]) });
|
|
9
9
|
}
|
|
10
10
|
export function getChainForkConfigFromNetwork(network) {
|
|
11
11
|
if (!(network in networksChainConfig)) {
|
package/lib/utils/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,SAAS,EAAC,MAAM,eAAe,CAAC;AACnE,OAAO,EAAkB,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAc,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAE3E,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAoB,EAAE,IAAqB;IACpF,IAAI,CAAC,CAAC,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,CAAC,yBAAyB,OAAO,yBAAyB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,OAAO,SAAS,CAAC,EAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAC,EAAE,EAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAoB;IAChE,IAAI,CAAC,CAAC,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,CAAC,yBAAyB,OAAO,yBAAyB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,OAAO,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
package/lib/utils/clock.js
CHANGED
|
@@ -32,8 +32,6 @@ export function timeUntilNextEpoch(config, genesisTime) {
|
|
|
32
32
|
if (msFromGenesis >= 0) {
|
|
33
33
|
return milliSecondsPerEpoch - (msFromGenesis % milliSecondsPerEpoch);
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
return Math.abs(msFromGenesis % milliSecondsPerEpoch);
|
|
37
|
-
}
|
|
35
|
+
return Math.abs(msFromGenesis % milliSecondsPerEpoch);
|
|
38
36
|
}
|
|
39
37
|
//# sourceMappingURL=clock.js.map
|
package/lib/utils/clock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/utils/clock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gCAAgC,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGnF,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,WAAmB;IACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,MAAmB,EAAE,WAAmB,EAAE,YAAoB;IACpG,yDAAyD;IACzD,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAU;IAChD,OAAO,wBAAwB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAY;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,gCAAgC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA6C,EAAE,WAAmB;IACnG,MAAM,oBAAoB,GAAG,eAAe,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC;IACtD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,oBAAoB,GAAG,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;IACvE,CAAC;
|
|
1
|
+
{"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/utils/clock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gCAAgC,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGnF,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,WAAmB;IACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,MAAmB,EAAE,WAAmB,EAAE,YAAoB;IACpG,yDAAyD;IACzD,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAU;IAChD,OAAO,wBAAwB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAY;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,gCAAgC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA6C,EAAE,WAAmB;IACnG,MAAM,oBAAoB,GAAG,eAAe,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC;IACtD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,oBAAoB,GAAG,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;AACxD,CAAC"}
|
package/lib/utils/domain.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Type } from "@chainsafe/ssz";
|
|
2
|
-
import {
|
|
2
|
+
import { Domain, DomainType, Epoch, Root, Version, phase0 } from "@lodestar/types";
|
|
3
3
|
/**
|
|
4
4
|
* Return the domain for the [[domainType]] and [[forkVersion]].
|
|
5
5
|
*/
|
package/lib/utils/domain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/utils/domain.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAG7C,OAAO,
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/utils/domain.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAG7C,OAAO,EAAmD,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,UAAsB,EAAE,WAAoB,EAAE,oBAA0B;IACpG,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAiB,EAAE,KAAY;IAC5D,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAAuB,EAAE,qBAA2B;IACtF,MAAM,QAAQ,GAAoB;QAChC,cAAc;QACd,qBAAqB;KACtB,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAI,IAAa,EAAE,SAAY,EAAE,MAAc;IAC/E,MAAM,mBAAmB,GAAuB;QAC9C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QACxC,MAAM;KACP,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const SYNC_COMMITTEES_DEPTH = 4;
|
|
2
|
+
export declare const SYNC_COMMITTEES_INDEX = 11;
|
|
3
|
+
/**
|
|
4
|
+
* Given merkle branch ``branch``, extend its depth according to ``depth``
|
|
5
|
+
* If given ``depth`` is less than the depth of ``branch``, it will return
|
|
6
|
+
* unmodified ``branch``
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeMerkleBranch(branch: Uint8Array[], depth: number): Uint8Array[];
|
|
9
|
+
//# sourceMappingURL=normalizeMerkleBranch.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ZERO_HASH } from "../spec/utils.js";
|
|
2
|
+
export const SYNC_COMMITTEES_DEPTH = 4;
|
|
3
|
+
export const SYNC_COMMITTEES_INDEX = 11;
|
|
4
|
+
/**
|
|
5
|
+
* Given merkle branch ``branch``, extend its depth according to ``depth``
|
|
6
|
+
* If given ``depth`` is less than the depth of ``branch``, it will return
|
|
7
|
+
* unmodified ``branch``
|
|
8
|
+
*/
|
|
9
|
+
export function normalizeMerkleBranch(branch, depth) {
|
|
10
|
+
const numExtraDepth = depth - branch.length;
|
|
11
|
+
return [...Array.from({ length: numExtraDepth }, () => ZERO_HASH), ...branch];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=normalizeMerkleBranch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeMerkleBranch.js","sourceRoot":"","sources":["../../src/utils/normalizeMerkleBranch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB,EAAE,KAAa;IACvE,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;AAC9E,CAAC"}
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
2
|
import { ApiClient } from "@lodestar/api";
|
|
3
|
-
import {
|
|
3
|
+
import { Bytes32, Root, altair } from "@lodestar/types";
|
|
4
4
|
import { BeaconBlockHeader } from "@lodestar/types/phase0";
|
|
5
5
|
import { GenesisData } from "../index.js";
|
|
6
6
|
import { SyncCommitteeFast } from "../types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyMerkleBranch.js","sourceRoot":"","sources":["../../src/utils/verifyMerkleBranch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"verifyMerkleBranch.js","sourceRoot":"","sources":["../../src/utils/verifyMerkleBranch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAgB,EAChB,KAAmB,EACnB,KAAa,EACb,KAAa,EACb,IAAgB;IAEhB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
|
package/lib/validation.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { altair, LightClientFinalityUpdate, LightClientUpdate, Root, Slot } from "@lodestar/types";
|
|
2
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
+
import { LightClientFinalityUpdate, LightClientUpdate, Root, Slot, altair } from "@lodestar/types";
|
|
3
3
|
import { SyncCommitteeFast } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
*
|
package/lib/validation.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import bls from "@chainsafe/bls";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { isValidMerkleBranch } from "./utils/verifyMerkleBranch.js";
|
|
5
|
-
import { assertZeroHashes, getParticipantPubkeys, isEmptyHeader } from "./utils/utils.js";
|
|
2
|
+
import { DOMAIN_SYNC_COMMITTEE, FINALIZED_ROOT_DEPTH, FINALIZED_ROOT_DEPTH_ELECTRA, FINALIZED_ROOT_INDEX, MIN_SYNC_COMMITTEE_PARTICIPANTS, NEXT_SYNC_COMMITTEE_DEPTH, NEXT_SYNC_COMMITTEE_DEPTH_ELECTRA, NEXT_SYNC_COMMITTEE_INDEX, NEXT_SYNC_COMMITTEE_INDEX_ELECTRA, } from "@lodestar/params";
|
|
3
|
+
import { isElectraLightClientUpdate, ssz, } from "@lodestar/types";
|
|
6
4
|
import { computeSyncPeriodAtSlot } from "./utils/clock.js";
|
|
5
|
+
import { assertZeroHashes, getParticipantPubkeys, isEmptyHeader } from "./utils/utils.js";
|
|
6
|
+
import { isValidMerkleBranch } from "./utils/verifyMerkleBranch.js";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
9
|
* @param config the beacon node config
|
|
@@ -24,7 +24,7 @@ export function assertValidLightClientUpdate(config, syncCommittee, update) {
|
|
|
24
24
|
assertValidFinalityProof(update);
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
assertZeroHashes(update.finalityBranch, FINALIZED_ROOT_DEPTH, "finalityBranches");
|
|
27
|
+
assertZeroHashes(update.finalityBranch, isElectraLightClientUpdate(update) ? FINALIZED_ROOT_DEPTH_ELECTRA : FINALIZED_ROOT_DEPTH, "finalityBranches");
|
|
28
28
|
}
|
|
29
29
|
// DIFF FROM SPEC:
|
|
30
30
|
// The nextSyncCommitteeBranch should be check always not only when updatePeriodIncremented
|
|
@@ -67,7 +67,7 @@ export function assertValidFinalityProof(update) {
|
|
|
67
67
|
* Where `hashTreeRoot(state) == update.header.stateRoot`
|
|
68
68
|
*/
|
|
69
69
|
export function assertValidSyncCommitteeProof(update) {
|
|
70
|
-
if (!isValidMerkleBranch(ssz.altair.SyncCommittee.hashTreeRoot(update.nextSyncCommittee), update.nextSyncCommitteeBranch, NEXT_SYNC_COMMITTEE_DEPTH, NEXT_SYNC_COMMITTEE_INDEX, update.attestedHeader.beacon.stateRoot)) {
|
|
70
|
+
if (!isValidMerkleBranch(ssz.altair.SyncCommittee.hashTreeRoot(update.nextSyncCommittee), update.nextSyncCommitteeBranch, isElectraLightClientUpdate(update) ? NEXT_SYNC_COMMITTEE_DEPTH_ELECTRA : NEXT_SYNC_COMMITTEE_DEPTH, isElectraLightClientUpdate(update) ? NEXT_SYNC_COMMITTEE_INDEX_ELECTRA : NEXT_SYNC_COMMITTEE_INDEX, update.attestedHeader.beacon.stateRoot)) {
|
|
71
71
|
throw Error("Invalid next sync committee merkle branch");
|
|
72
72
|
}
|
|
73
73
|
}
|
package/lib/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAGjC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EACzB,iCAAiC,EACjC,yBAAyB,EACzB,iCAAiC,GAClC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,0BAA0B,EAC1B,GAAG,GACJ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAoB,EACpB,aAAgC,EAChC,MAAyB;IAEzB,mGAAmG;IACnG,4FAA4F;IAC5F,OAAO;IACP,kDAAkD;IAClD,oDAAoD;IACpD,+DAA+D;IAC/D,IAAI;IAEJ,uFAAuF;IACvF,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,WAAW,EAAE,CAAC;QAChB,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,gBAAgB,CACd,MAAM,CAAC,cAAc,EACrB,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,oBAAoB,EACxF,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,2FAA2F;IAC3F,+FAA+F;IAC/F,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,EAAC,cAAc,EAAC,GAAG,MAAM,CAAC;IAChC,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACzF,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiC;IACxE,IACE,CAAC,mBAAmB,CAClB,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EACxE,MAAM,CAAC,cAAc,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CACvC,EACD,CAAC;QACD,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,oBAAoB,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,KAAK,CAAC,yBAAyB,oBAAoB,qBAAqB,YAAY,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAyB;IACrE,IACE,CAAC,mBAAmB,CAClB,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAC/D,MAAM,CAAC,uBAAuB,EAC9B,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,yBAAyB,EAClG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,yBAAyB,EAClG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CACvC,EACD,CAAC;QACD,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAoB,EACpB,aAAgC,EAChC,aAAmC,EACnC,gBAAsB,EACtB,gBAAsB;IAEtB,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAEzG,qDAAqD;IACrD,+DAA+D;IAC/D,IAAI,kBAAkB,CAAC,MAAM,GAAG,+BAA+B,EAAE,CAAC;QAChE,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;QACtD,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAClE,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,WAAW,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAChG,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAAuB,EAAE,OAAmB,EAAE,SAAqB;IAC9F,IAAI,SAAoB,CAAC;IACzB,IAAI,CAAC;QACH,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACV,CAAW,CAAC,OAAO,GAAG,8BAA+B,CAAW,CAAC,OAAO,EAAE,CAAC;QAC5E,MAAM,CAAC,CAAC;IACV,CAAC;IAED,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACV,CAAW,CAAC,OAAO,GAAG,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC;QAChF,MAAM,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACV,CAAW,CAAC,OAAO,GAAG,8BAA+B,CAAW,CAAC,OAAO,EAAE,CAAC;QAC5E,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.23.0-dev.06b4c2d324",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"check-bundle": "node -e \"(async function() { await import('./dist/lightclient.min.mjs') })()\"",
|
|
63
63
|
"build:release": "yarn clean && yarn run build && yarn run build:bundle",
|
|
64
64
|
"check-types": "tsc",
|
|
65
|
-
"lint": "
|
|
66
|
-
"lint:fix": "yarn run lint --
|
|
65
|
+
"lint": "biome check src/ test/",
|
|
66
|
+
"lint:fix": "yarn run lint --write",
|
|
67
67
|
"test": "yarn test:unit",
|
|
68
68
|
"test:unit": "vitest --run --dir test/unit/",
|
|
69
69
|
"test:browsers": "yarn test:browsers:chrome && yarn test:browsers:firefox && yarn test:browsers:electron",
|
|
@@ -76,18 +76,18 @@
|
|
|
76
76
|
"@chainsafe/bls": "7.1.3",
|
|
77
77
|
"@chainsafe/blst": "^0.2.0",
|
|
78
78
|
"@chainsafe/persistent-merkle-tree": "^0.8.0",
|
|
79
|
-
"@chainsafe/ssz": "^0.
|
|
80
|
-
"@lodestar/api": "
|
|
81
|
-
"@lodestar/config": "
|
|
82
|
-
"@lodestar/params": "
|
|
83
|
-
"@lodestar/types": "
|
|
84
|
-
"@lodestar/utils": "
|
|
79
|
+
"@chainsafe/ssz": "^0.18.0",
|
|
80
|
+
"@lodestar/api": "1.23.0-dev.06b4c2d324",
|
|
81
|
+
"@lodestar/config": "1.23.0-dev.06b4c2d324",
|
|
82
|
+
"@lodestar/params": "1.23.0-dev.06b4c2d324",
|
|
83
|
+
"@lodestar/types": "1.23.0-dev.06b4c2d324",
|
|
84
|
+
"@lodestar/utils": "1.23.0-dev.06b4c2d324",
|
|
85
85
|
"mitt": "^3.0.0"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
88
|
"@chainsafe/as-sha256": "^0.5.0",
|
|
89
89
|
"@types/qs": "^6.9.7",
|
|
90
|
-
"fastify": "^
|
|
90
|
+
"fastify": "^5.0.0",
|
|
91
91
|
"qs": "^6.11.1",
|
|
92
92
|
"uint8arrays": "^5.0.1"
|
|
93
93
|
},
|
|
@@ -98,5 +98,5 @@
|
|
|
98
98
|
"light-client",
|
|
99
99
|
"blockchain"
|
|
100
100
|
],
|
|
101
|
-
"gitHead": "
|
|
101
|
+
"gitHead": "d861608d683560a99e129e75cf6650d58acbcd4b"
|
|
102
102
|
}
|