@lodestar/state-transition 1.21.0-dev.d6175da2fa → 1.21.0-dev.e1dec02b10

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.
Files changed (49) hide show
  1. package/lib/block/processDeposit.js +4 -5
  2. package/lib/block/processDeposit.js.map +1 -1
  3. package/lib/cache/epochCache.d.ts +1 -0
  4. package/lib/cache/epochCache.js +9 -7
  5. package/lib/cache/epochCache.js.map +1 -1
  6. package/lib/cache/epochTransitionCache.d.ts +21 -10
  7. package/lib/cache/epochTransitionCache.js +80 -41
  8. package/lib/cache/epochTransitionCache.js.map +1 -1
  9. package/lib/cache/pubkeyCache.d.ts +1 -1
  10. package/lib/cache/pubkeyCache.js +2 -3
  11. package/lib/cache/pubkeyCache.js.map +1 -1
  12. package/lib/cache/stateCache.js +2 -3
  13. package/lib/cache/stateCache.js.map +1 -1
  14. package/lib/epoch/getAttestationDeltas.js +12 -12
  15. package/lib/epoch/getAttestationDeltas.js.map +1 -1
  16. package/lib/epoch/getRewardsAndPenalties.d.ts +1 -1
  17. package/lib/epoch/getRewardsAndPenalties.js +9 -9
  18. package/lib/epoch/getRewardsAndPenalties.js.map +1 -1
  19. package/lib/epoch/processInactivityUpdates.d.ts +1 -1
  20. package/lib/epoch/processInactivityUpdates.js +20 -19
  21. package/lib/epoch/processInactivityUpdates.js.map +1 -1
  22. package/lib/epoch/processPendingAttestations.d.ts +2 -3
  23. package/lib/epoch/processPendingAttestations.js +8 -10
  24. package/lib/epoch/processPendingAttestations.js.map +1 -1
  25. package/lib/epoch/processRegistryUpdates.js +7 -3
  26. package/lib/epoch/processRegistryUpdates.js.map +1 -1
  27. package/lib/epoch/processSyncCommitteeUpdates.js +2 -2
  28. package/lib/epoch/processSyncCommitteeUpdates.js.map +1 -1
  29. package/lib/metrics.d.ts +1 -2
  30. package/lib/metrics.js.map +1 -1
  31. package/lib/signatureSets/blsToExecutionChange.js +2 -3
  32. package/lib/signatureSets/blsToExecutionChange.js.map +1 -1
  33. package/lib/stateTransition.js +2 -2
  34. package/lib/stateTransition.js.map +1 -1
  35. package/lib/util/attesterStatus.d.ts +0 -12
  36. package/lib/util/attesterStatus.js +17 -19
  37. package/lib/util/attesterStatus.js.map +1 -1
  38. package/lib/util/epochShuffling.d.ts +1 -1
  39. package/lib/util/epochShuffling.js +9 -4
  40. package/lib/util/epochShuffling.js.map +1 -1
  41. package/lib/util/interop.d.ts +1 -1
  42. package/lib/util/interop.js +2 -2
  43. package/lib/util/interop.js.map +1 -1
  44. package/lib/util/signatureSets.d.ts +1 -1
  45. package/lib/util/signatureSets.js +4 -4
  46. package/lib/util/signatureSets.js.map +1 -1
  47. package/lib/util/syncCommittee.js +2 -2
  48. package/lib/util/syncCommittee.js.map +1 -1
  49. package/package.json +7 -8
@@ -10,13 +10,18 @@ export function computeCommitteeCount(activeValidatorCount) {
10
10
  const committeesPerSlot = intDiv(validatorsPerSlot, TARGET_COMMITTEE_SIZE);
11
11
  return Math.max(1, Math.min(MAX_COMMITTEES_PER_SLOT, committeesPerSlot));
12
12
  }
13
- export function computeEpochShuffling(state, activeIndices, epoch) {
13
+ export function computeEpochShuffling(state, activeIndices, activeValidatorCount, epoch) {
14
14
  const seed = getSeed(state, epoch, DOMAIN_BEACON_ATTESTER);
15
- // copy
16
- const _activeIndices = new Uint32Array(activeIndices);
15
+ if (activeValidatorCount > activeIndices.length) {
16
+ throw new Error(`Invalid activeValidatorCount: ${activeValidatorCount} > ${activeIndices.length}`);
17
+ }
18
+ // only the first `activeValidatorCount` elements are copied to `activeIndices`
19
+ const _activeIndices = new Uint32Array(activeValidatorCount);
20
+ for (let i = 0; i < activeValidatorCount; i++) {
21
+ _activeIndices[i] = activeIndices[i];
22
+ }
17
23
  const shuffling = _activeIndices.slice();
18
24
  unshuffleList(shuffling, seed);
19
- const activeValidatorCount = activeIndices.length;
20
25
  const committeesPerSlot = computeCommitteeCount(activeValidatorCount);
21
26
  const committeeCount = committeesPerSlot * SLOTS_PER_EPOCH;
22
27
  const committees = [];
@@ -1 +1 @@
1
- {"version":3,"file":"epochShuffling.js","sourceRoot":"","sources":["../../src/util/epochShuffling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochShuffling.js","sourceRoot":"","sources":["../../src/util/epochShuffling.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SecretKey } from "@chainsafe/bls/types";
1
+ import { SecretKey } from "@chainsafe/blst";
2
2
  export declare function interopSecretKeys(validatorCount: number): SecretKey[];
3
3
  export declare function interopSecretKey(index: number): SecretKey;
4
4
  //# sourceMappingURL=interop.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { toBufferBE } from "bigint-buffer";
2
2
  import { digest } from "@chainsafe/as-sha256";
3
- import bls from "@chainsafe/bls";
3
+ import { SecretKey } from "@chainsafe/blst";
4
4
  import { bytesToBigInt, intToBytes } from "@lodestar/utils";
5
5
  let curveOrder;
6
6
  function getCurveOrder() {
@@ -16,6 +16,6 @@ export function interopSecretKeys(validatorCount) {
16
16
  export function interopSecretKey(index) {
17
17
  const CURVE_ORDER = getCurveOrder();
18
18
  const secretKeyBytes = toBufferBE(bytesToBigInt(digest(intToBytes(index, 32))) % CURVE_ORDER, 32);
19
- return bls.SecretKey.fromBytes(secretKeyBytes);
19
+ return SecretKey.fromBytes(secretKeyBytes);
20
20
  }
21
21
  //# sourceMappingURL=interop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interop.js","sourceRoot":"","sources":["../../src/util/interop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE1D,IAAI,UAAkB,CAAC;AACvB,SAAS,aAAa;IACpB,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,MAAM,CAAC,+EAA+E,CAAC,CAAC;IACtH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,cAAc,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnD,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"interop.js","sourceRoot":"","sources":["../../src/util/interop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE1D,IAAI,UAAkB,CAAC;AACvB,SAAS,aAAa;IACpB,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,MAAM,CAAC,+EAA+E,CAAC,CAAC;IACtH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,cAAc,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnD,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PublicKey } from "@chainsafe/bls/types";
1
+ import { PublicKey } from "@chainsafe/blst";
2
2
  import { Root } from "@lodestar/types";
3
3
  export declare enum SignatureSetType {
4
4
  single = "single",
@@ -1,4 +1,4 @@
1
- import bls from "@chainsafe/bls";
1
+ import { Signature, fastAggregateVerify, verify } from "@chainsafe/blst";
2
2
  export var SignatureSetType;
3
3
  (function (SignatureSetType) {
4
4
  SignatureSetType["single"] = "single";
@@ -6,12 +6,12 @@ export var SignatureSetType;
6
6
  })(SignatureSetType || (SignatureSetType = {}));
7
7
  export function verifySignatureSet(signatureSet) {
8
8
  // All signatures are not trusted and must be group checked (p2.subgroup_check)
9
- const signature = bls.Signature.fromBytes(signatureSet.signature, undefined, true);
9
+ const signature = Signature.fromBytes(signatureSet.signature, true);
10
10
  switch (signatureSet.type) {
11
11
  case SignatureSetType.single:
12
- return signature.verify(signatureSet.pubkey, signatureSet.signingRoot);
12
+ return verify(signatureSet.signingRoot, signatureSet.pubkey, signature);
13
13
  case SignatureSetType.aggregate:
14
- return signature.verifyAggregate(signatureSet.pubkeys, signatureSet.signingRoot);
14
+ return fastAggregateVerify(signatureSet.signingRoot, signatureSet.pubkeys, signature);
15
15
  default:
16
16
  throw Error("Unknown signature set type");
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signatureSets.js","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAGjC,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,2CAAuB,CAAA;AACzB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAkBD,MAAM,UAAU,kBAAkB,CAAC,YAA2B;IAC5D,+EAA+E;IAC/E,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEnF,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAEzE,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAEnF;YACE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAiB,EACjB,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM;QACN,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,OAAoB,EACpB,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO;QACP,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"signatureSets.js","sourceRoot":"","sources":["../../src/util/signatureSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGlF,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,2CAAuB,CAAA;AACzB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAkBD,MAAM,UAAU,kBAAkB,CAAC,YAA2B;IAC5D,+EAA+E;IAC/E,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEpE,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,gBAAgB,CAAC,MAAM;YAC1B,OAAO,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE1E,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,mBAAmB,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAExF;YACE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAiB,EACjB,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM;QACN,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,OAAoB,EACpB,WAAiB,EACjB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,SAAS;QAChC,OAAO;QACP,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import bls from "@chainsafe/bls";
1
+ import { aggregateSerializedPublicKeys } from "@chainsafe/blst";
2
2
  import { BASE_REWARD_FACTOR, EFFECTIVE_BALANCE_INCREMENT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SIZE, SYNC_REWARD_WEIGHT, WEIGHT_DENOMINATOR, } from "@lodestar/params";
3
3
  import { bigIntSqrt } from "@lodestar/utils";
4
4
  import { getNextSyncCommitteeIndices } from "./seed.js";
@@ -15,7 +15,7 @@ export function getNextSyncCommittee(state, activeValidatorIndices, effectiveBal
15
15
  indices,
16
16
  syncCommittee: {
17
17
  pubkeys,
18
- aggregatePubkey: bls.aggregatePublicKeys(pubkeys),
18
+ aggregatePubkey: aggregateSerializedPublicKeys(pubkeys).toBytes(),
19
19
  },
20
20
  };
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommittee.js","sourceRoot":"","sources":["../../src/util/syncCommittee.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,WAAW,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,sBAAiD,EACjD,0BAAsD;IAEtD,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;IAEvG,iFAAiF;IACjF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnF,OAAO;QACL,OAAO;QACP,aAAa,EAAE;YACb,OAAO;YACP,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC;SAClD;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,4BAAoC;IAC/E,MAAM,kBAAkB,GAAG,MAAM,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACtG,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACvC,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAC5F,CAAC;IACF,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,4BAA4B,CAAC;IAC/E,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CACtC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,kBAAkB,CAAC,GAAG,eAAe,CAC3F,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;AACjE,CAAC;AAED;;;IAGI;AACJ,MAAM,UAAU,6BAA6B,CAAC,2BAAmC;IAC/E,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAChG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"syncCommittee.js","sourceRoot":"","sources":["../../src/util/syncCommittee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,WAAW,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,sBAAiD,EACjD,0BAAsD;IAEtD,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;IAEvG,iFAAiF;IACjF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnF,OAAO;QACL,OAAO;QACP,aAAa,EAAE;YACb,OAAO;YACP,eAAe,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;SAClE;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,4BAAoC;IAC/E,MAAM,kBAAkB,GAAG,MAAM,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACtG,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACvC,CAAC,2BAA2B,GAAG,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAC5F,CAAC;IACF,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,4BAA4B,CAAC;IAC/E,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CACtC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,kBAAkB,CAAC,GAAG,eAAe,CAC3F,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;AACjE,CAAC;AAED;;;IAGI;AACJ,MAAM,UAAU,6BAA6B,CAAC,2BAAmC;IAC/E,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAChG,CAAC;AACJ,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.21.0-dev.d6175da2fa",
14
+ "version": "1.21.0-dev.e1dec02b10",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -59,15 +59,14 @@
59
59
  "types": "lib/index.d.ts",
60
60
  "dependencies": {
61
61
  "@chainsafe/as-sha256": "^0.4.1",
62
- "@chainsafe/bls": "7.1.3",
63
- "@chainsafe/blst": "^0.2.11",
62
+ "@chainsafe/blst": "^2.0.3",
64
63
  "@chainsafe/persistent-merkle-tree": "^0.7.1",
65
64
  "@chainsafe/persistent-ts": "^0.19.1",
66
65
  "@chainsafe/ssz": "^0.15.1",
67
- "@lodestar/config": "1.21.0-dev.d6175da2fa",
68
- "@lodestar/params": "1.21.0-dev.d6175da2fa",
69
- "@lodestar/types": "1.21.0-dev.d6175da2fa",
70
- "@lodestar/utils": "1.21.0-dev.d6175da2fa",
66
+ "@lodestar/config": "1.21.0-dev.e1dec02b10",
67
+ "@lodestar/params": "1.21.0-dev.e1dec02b10",
68
+ "@lodestar/types": "1.21.0-dev.e1dec02b10",
69
+ "@lodestar/utils": "1.21.0-dev.e1dec02b10",
71
70
  "bigint-buffer": "^1.1.5"
72
71
  },
73
72
  "keywords": [
@@ -76,5 +75,5 @@
76
75
  "beacon",
77
76
  "blockchain"
78
77
  ],
79
- "gitHead": "bf3d52a38ff86b104ae90865486c30307ba86d58"
78
+ "gitHead": "6f37877f25b0bb82d9eb9041ff69e5a82cc80794"
80
79
  }