@lodestar/state-transition 1.19.0-dev.de3988d58f → 1.19.0-dev.deafa4f162

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.
@@ -1,7 +1,6 @@
1
- import bls from "@chainsafe/bls";
2
- import { CoordType } from "@chainsafe/bls/types";
1
+ import { CoordType, PublicKey, verify } from "@chainsafe/blst";
3
2
  import { ssz } from "@lodestar/types";
4
- import { verifyMerkleBranch } from "@lodestar/utils";
3
+ import { signatureFromBytes, verifyMerkleBranch } from "@lodestar/utils";
5
4
  import { DEPOSIT_CONTRACT_TREE_DEPTH, DOMAIN_DEPOSIT, EFFECTIVE_BALANCE_INCREMENT, FAR_FUTURE_EPOCH, ForkSeq, MAX_EFFECTIVE_BALANCE, } from "@lodestar/params";
6
5
  import { ZERO_HASH } from "../constants/index.js";
7
6
  import { computeDomain, computeSigningRoot, increaseBalance } from "../util/index.js";
@@ -34,9 +33,10 @@ export function processDeposit(fork, state, deposit) {
34
33
  const signingRoot = computeSigningRoot(ssz.phase0.DepositMessage, depositMessage, domain);
35
34
  try {
36
35
  // Pubkeys must be checked for group + inf. This must be done only once when the validator deposit is processed
37
- const publicKey = bls.PublicKey.fromBytes(pubkey, CoordType.affine, true);
38
- const signature = bls.Signature.fromBytes(deposit.data.signature, CoordType.affine, true);
39
- if (!signature.verify(publicKey, signingRoot)) {
36
+ const publicKey = PublicKey.deserialize(pubkey, CoordType.affine);
37
+ publicKey.keyValidate();
38
+ const signature = signatureFromBytes(deposit.data.signature);
39
+ if (!verify(signingRoot, publicKey, signature)) {
40
40
  return;
41
41
  }
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processDeposit.js","sourceRoot":"","sources":["../../src/block/processDeposit.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,2BAA2B,EAC3B,gBAAgB,EAChB,OAAO,EACP,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGpF;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa,EAAE,KAAgC,EAAE,OAAuB;IACrG,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;IAE7C,2BAA2B;IAC3B,IACE,CAAC,kBAAkB,CACjB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EACjD,OAAO,CAAC,KAAK,EACb,2BAA2B,GAAG,CAAC,EAC/B,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,QAAQ,CAAC,WAAW,CAC3B,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACxG,iGAAiG;QACjG,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B;YACvD,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,0BAA0B;YACrF,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC5B,CAAC;QACF,6DAA6D;QAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC1F,IAAI,CAAC;YACH,+GAA+G;YAC/G,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC9C,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,8FAA8F;QACxG,CAAC;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,2BAA2B,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC1G,UAAU,CAAC,IAAI,CACb,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC5B,MAAM;YACN,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB;YACzD,0BAA0B,EAAE,gBAAgB;YAC5C,eAAe,EAAE,gBAAgB;YACjC,SAAS,EAAE,gBAAgB;YAC3B,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CACH,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5B,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,oEAAoE;QACpE,6FAA6F;QAC7F,qEAAqE;QACrE,wEAAwE;QACxE,QAAQ,CAAC,6BAA6B,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAEzE,kFAAkF;QAClF,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAE3C,qBAAqB;QACrB,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,KAAgC,CAAC;YAErD,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAErC,2BAA2B;YAC3B,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/C,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processDeposit.js","sourceRoot":"","sources":["../../src/block/processDeposit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import xor from "buffer-xor";
2
1
  import { digest } from "@chainsafe/as-sha256";
3
2
  import { EPOCHS_PER_HISTORICAL_VECTOR } from "@lodestar/params";
4
3
  import { getRandaoMix } from "../util/index.js";
@@ -19,7 +18,14 @@ export function processRandao(state, block, verifySignature = true) {
19
18
  }
20
19
  }
21
20
  // mix in RANDAO reveal
22
- const randaoMix = xor(Buffer.from(getRandaoMix(state, epoch)), Buffer.from(digest(randaoReveal)));
21
+ const randaoMix = xor(getRandaoMix(state, epoch), digest(randaoReveal));
23
22
  state.randaoMixes.set(epoch % EPOCHS_PER_HISTORICAL_VECTOR, randaoMix);
24
23
  }
24
+ function xor(a, b) {
25
+ const length = Math.min(a.length, b.length);
26
+ for (let i = 0; i < length; i++) {
27
+ a[i] = a[i] ^ b[i];
28
+ }
29
+ return a;
30
+ }
25
31
  //# sourceMappingURL=processRandao.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processRandao.js","sourceRoot":"","sources":["../../src/block/processRandao.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAGhE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAgC,EAChC,KAA2B,EAC3B,eAAe,GAAG,IAAI;IAEtB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;IAE7C,uBAAuB;IACvB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,4BAA4B,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"processRandao.js","sourceRoot":"","sources":["../../src/block/processRandao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAGhE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAgC,EAChC,KAA2B,EAC3B,eAAe,GAAG,IAAI;IAEtB,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;IAE7C,uBAAuB;IACvB,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,4BAA4B,EAAE,SAAS,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,GAAG,CAAC,CAAa,EAAE,CAAa;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,5 +1,4 @@
1
- import { CoordType } from "@chainsafe/bls/types";
2
- import bls from "@chainsafe/bls";
1
+ import { CoordType, PublicKey } from "@chainsafe/blst";
3
2
  import { createBeaconConfig } from "@lodestar/config";
4
3
  import { ATTESTATION_SUBNET_COUNT, DOMAIN_BEACON_PROPOSER, EFFECTIVE_BALANCE_INCREMENT, FAR_FUTURE_EPOCH, ForkSeq, GENESIS_EPOCH, PROPOSER_WEIGHT, SLOTS_PER_EPOCH, WEIGHT_DENOMINATOR, } from "@lodestar/params";
5
4
  import { LodestarError } from "@lodestar/utils";
@@ -484,7 +483,7 @@ export class EpochCache {
484
483
  }
485
484
  addPubkey(index, pubkey) {
486
485
  this.pubkey2index.set(pubkey, index);
487
- this.index2pubkey[index] = bls.PublicKey.fromBytes(pubkey, CoordType.jacobian); // Optimize for aggregation
486
+ this.index2pubkey[index] = PublicKey.deserialize(pubkey, CoordType.jacobian); // Optimize for aggregation
488
487
  }
489
488
  getShufflingAtSlot(slot) {
490
489
  const epoch = computeEpochAtSlot(slot);
@@ -1 +1 @@
1
- {"version":3,"file":"epochCache.js","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochCache.js","sourceRoot":"","sources":["../../src/cache/epochCache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PublicKey } from "@chainsafe/bls/types";
1
+ import { PublicKey } from "@chainsafe/blst";
2
2
  import { ValidatorIndex } from "@lodestar/types";
3
3
  import { BeaconStateAllForks } from "./types.js";
4
4
  export type Index2PubkeyCache = PublicKey[];
@@ -1,5 +1,4 @@
1
- import { CoordType } from "@chainsafe/bls/types";
2
- import bls from "@chainsafe/bls";
1
+ import { CoordType, PublicKey } from "@chainsafe/blst";
3
2
  /**
4
3
  * toHexString() creates hex strings via string concatenation, which are very memory inefficient.
5
4
  * Memory benchmarks show that Buffer.toString("hex") produces strings with 10x less memory.
@@ -15,7 +14,7 @@ function toMemoryEfficientHexStr(hex) {
15
14
  }
16
15
  return hex;
17
16
  }
18
- return Buffer.from(hex).toString("hex");
17
+ return Buffer.from(hex.buffer, hex.byteOffset, hex.byteLength).toString("hex");
19
18
  }
20
19
  export class PubkeyIndexMap {
21
20
  constructor() {
@@ -55,7 +54,7 @@ export function syncPubkeys(state, pubkey2index, index2pubkey) {
55
54
  // Pubkeys must be checked for group + inf. This must be done only once when the validator deposit is processed.
56
55
  // Afterwards any public key is the state consider validated.
57
56
  // > Do not do any validation here
58
- index2pubkey.push(bls.PublicKey.fromBytes(pubkey, CoordType.jacobian)); // Optimize for aggregation
57
+ index2pubkey.push(PublicKey.deserialize(pubkey, CoordType.jacobian)); // Optimize for aggregation
59
58
  }
60
59
  }
61
60
  //# sourceMappingURL=pubkeyCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pubkeyCache.js","sourceRoot":"","sources":["../../src/cache/pubkeyCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAC1D,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAQjC;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,GAAwB;IACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,cAAc;IAA3B;QACE,sGAAsG;QAC7F,QAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IAgBtD,CAAC;IAdC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAA2B;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAe,EAAE,KAAqB;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,KAA0B,EAC1B,YAA4B,EAC5B,YAA+B;IAE/B,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2CAA2C,YAAY,CAAC,IAAI,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5B,gHAAgH;QAChH,6DAA6D;QAC7D,kCAAkC;QAClC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B;IACrG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pubkeyCache.js","sourceRoot":"","sources":["../../src/cache/pubkeyCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAQrD;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,GAAwB;IACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,OAAO,cAAc;IAA3B;QACE,sGAAsG;QAC7F,QAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IAgBtD,CAAC;IAdC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAA2B;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAe,EAAE,KAAqB;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,KAA0B,EAC1B,YAA4B,EAC5B,YAA+B;IAE/B,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2CAA2C,YAAY,CAAC,IAAI,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5B,gHAAgH;QAChH,6DAA6D;QAC7D,kCAAkC;QAClC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B;IACnG,CAAC;AACH,CAAC"}
@@ -1,5 +1,4 @@
1
- import bls from "@chainsafe/bls";
2
- import { CoordType } from "@chainsafe/bls/types";
1
+ import { CoordType, PublicKey } from "@chainsafe/blst";
3
2
  import { loadState } from "../util/loadState/loadState.js";
4
3
  import { EpochCache } from "./epochCache.js";
5
4
  import { createEmptyRewardCache } from "./rewardCache.js";
@@ -33,7 +32,7 @@ export function loadCachedBeaconState(cachedSeedState, stateBytes, opts, seedVal
33
32
  const validator = validators.getReadonly(validatorIndex);
34
33
  const pubkey = validator.pubkey;
35
34
  pubkey2index.set(pubkey, validatorIndex);
36
- index2pubkey[validatorIndex] = bls.PublicKey.fromBytes(pubkey, CoordType.jacobian);
35
+ index2pubkey[validatorIndex] = PublicKey.deserialize(pubkey, CoordType.jacobian);
37
36
  }
38
37
  return createCachedBeaconState(migratedState, {
39
38
  config: cachedSeedState.config,
@@ -1 +1 @@
1
- {"version":3,"file":"stateCache.js","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateCache.js","sourceRoot":"","sources":["../../src/cache/stateCache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import bls from "@chainsafe/bls";
1
+ import { aggregatePublicKeys } from "@chainsafe/blst";
2
2
  import { EPOCHS_PER_SYNC_COMMITTEE_PERIOD } from "@lodestar/params";
3
3
  import { ssz } from "@lodestar/types";
4
4
  import { getNextSyncCommitteeIndices } from "../util/seed.js";
@@ -20,7 +20,7 @@ export function processSyncCommitteeUpdates(state) {
20
20
  state.currentSyncCommittee = state.nextSyncCommittee;
21
21
  state.nextSyncCommittee = ssz.altair.SyncCommittee.toViewDU({
22
22
  pubkeys: nextSyncCommitteePubkeys,
23
- aggregatePubkey: bls.aggregatePublicKeys(nextSyncCommitteePubkeys),
23
+ aggregatePubkey: aggregatePublicKeys(nextSyncCommitteePubkeys).serialize(),
24
24
  });
25
25
  // Rotate syncCommittee cache
26
26
  state.epochCtx.rotateSyncCommitteeIndexed(nextSyncCommitteeIndices);
@@ -1 +1 @@
1
- {"version":3,"file":"processSyncCommitteeUpdates.js","sourceRoot":"","sources":["../../src/epoch/processSyncCommitteeUpdates.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,gCAAgC,EAAC,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,2BAA2B,EAAC,MAAM,iBAAiB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAA8B;IACxE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAE3C,IAAI,SAAS,GAAG,gCAAgC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC;QAC1E,MAAM,EAAC,0BAA0B,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEpD,MAAM,wBAAwB,GAAG,2BAA2B,CAC1D,KAAK,EACL,sBAAsB,EACtB,0BAA0B,CAC3B,CAAC;QAEF,iFAAiF;QACjF,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,GAAG,CAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CACtD,CAAC;QAEF,gCAAgC;QAChC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACrD,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC1D,OAAO,EAAE,wBAAwB;YACjC,eAAe,EAAE,GAAG,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;SACnE,CAAC,CAAC;QAEH,6BAA6B;QAC7B,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processSyncCommitteeUpdates.js","sourceRoot":"","sources":["../../src/epoch/processSyncCommitteeUpdates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,gCAAgC,EAAC,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,2BAA2B,EAAC,MAAM,iBAAiB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAA8B;IACxE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAE3C,IAAI,SAAS,GAAG,gCAAgC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC;QAC1E,MAAM,EAAC,0BAA0B,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEpD,MAAM,wBAAwB,GAAG,2BAA2B,CAC1D,KAAK,EACL,sBAAsB,EACtB,0BAA0B,CAC3B,CAAC;QAEF,iFAAiF;QACjF,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,GAAG,CAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CACtD,CAAC;QAEF,gCAAgC;QAChC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACrD,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC1D,OAAO,EAAE,wBAAwB;YACjC,eAAe,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,SAAS,EAAE;SAC3E,CAAC,CAAC;QAEH,6BAA6B;QAC7B,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
@@ -1,5 +1,4 @@
1
- import bls from "@chainsafe/bls";
2
- import { CoordType } from "@chainsafe/bls/types";
1
+ import { CoordType, PublicKey } from "@chainsafe/blst";
3
2
  import { DOMAIN_BLS_TO_EXECUTION_CHANGE, ForkName } from "@lodestar/params";
4
3
  import { ssz } from "@lodestar/types";
5
4
  import { computeSigningRoot, SignatureSetType, verifySignatureSet } from "../util/index.js";
@@ -13,11 +12,13 @@ export function getBlsToExecutionChangeSignatureSet(config, signedBLSToExecution
13
12
  // signatureFork for signing domain is fixed
14
13
  const signatureFork = ForkName.phase0;
15
14
  const domain = config.getDomainAtFork(signatureFork, DOMAIN_BLS_TO_EXECUTION_CHANGE);
15
+ // The withdrawal pubkey is the same as signedBLSToExecutionChange's fromBlsPubkey as it should
16
+ // be validated against the withdrawal credentials digest
17
+ const pubkey = PublicKey.deserialize(signedBLSToExecutionChange.message.fromBlsPubkey, CoordType.affine);
18
+ pubkey.keyValidate();
16
19
  return {
17
20
  type: SignatureSetType.single,
18
- // The withdrawal pubkey is the same as signedBLSToExecutionChange's fromBlsPubkey as it should
19
- // be validated against the withdrawal credentials digest
20
- pubkey: bls.PublicKey.fromBytes(signedBLSToExecutionChange.message.fromBlsPubkey, CoordType.affine, true),
21
+ pubkey,
21
22
  signingRoot: computeSigningRoot(ssz.capella.BLSToExecutionChange, signedBLSToExecutionChange.message, domain),
22
23
  signature: signedBLSToExecutionChange.signature,
23
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"blsToExecutionChange.js","sourceRoot":"","sources":["../../src/signatureSets/blsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,8BAA8B,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAU,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAC,kBAAkB,EAAiB,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAGzG,MAAM,UAAU,mCAAmC,CACjD,KAAgC,EAChC,0BAA8D;IAE9D,OAAO,kBAAkB,CAAC,mCAAmC,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,MAAoB,EACpB,0BAA8D;IAE9D,4CAA4C;IAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;IAErF,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,+FAA+F;QAC/F,yDAAyD;QACzD,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QACzG,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7G,SAAS,EAAE,0BAA0B,CAAC,SAAS;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,MAAoB,EACpB,WAAsC;IAEtC,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,EAAE,CACjF,mCAAmC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"blsToExecutionChange.js","sourceRoot":"","sources":["../../src/signatureSets/blsToExecutionChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,8BAA8B,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAU,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAC,kBAAkB,EAAiB,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAGzG,MAAM,UAAU,mCAAmC,CACjD,KAAgC,EAChC,0BAA8D;IAE9D,OAAO,kBAAkB,CAAC,mCAAmC,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,MAAoB,EACpB,0BAA8D;IAE9D,4CAA4C;IAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;IAErF,+FAA+F;IAC/F,yDAAyD;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzG,MAAM,CAAC,WAAW,EAAE,CAAC;IACrB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,MAAM;QACN,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7G,SAAS,EAAE,0BAA0B,CAAC,SAAS;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,MAAoB,EACpB,WAAsC;IAEtC,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,EAAE,CACjF,mCAAmC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -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.deserialize(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,WAAW,CAAC,cAAc,CAAC,CAAC;AAC/C,CAAC"}
@@ -77,6 +77,8 @@ function innerShuffleList(input, seed, dir) {
77
77
  const listSize = input.length >>> 0;
78
78
  // check if list size fits in uint32
79
79
  assert.equal(listSize, input.length, "input length does not fit uint32");
80
+ // check that the seed is 32 bytes
81
+ assert.lte(seed.length, _SHUFFLE_H_SEED_SIZE, `seed length is not lte ${_SHUFFLE_H_SEED_SIZE} bytes`);
80
82
  const buf = Buffer.alloc(_SHUFFLE_H_TOTAL_SIZE);
81
83
  let r = 0;
82
84
  if (!dir) {
@@ -85,8 +87,7 @@ function innerShuffleList(input, seed, dir) {
85
87
  r = SHUFFLE_ROUND_COUNT - 1;
86
88
  }
87
89
  // Seed is always the first 32 bytes of the hash input, we never have to change this part of the buffer.
88
- const _seed = seed;
89
- Buffer.from(_seed).copy(buf, 0, 0, _SHUFFLE_H_SEED_SIZE);
90
+ buf.set(seed, 0);
90
91
  // initial values here are not used: overwritten first within the inner for loop.
91
92
  let source = seed; // just setting it to a Bytes32
92
93
  let byteV = 0;
@@ -97,8 +98,8 @@ function innerShuffleList(input, seed, dir) {
97
98
  buf[_SHUFFLE_H_SEED_SIZE] = r;
98
99
  // Seed is already in place, now just hash the correct part of the buffer, and take a uint64 from it,
99
100
  // and modulo it to get a pivot within range.
100
- const h = digest(buf.slice(0, _SHUFFLE_H_PIVOT_VIEW_SIZE));
101
- const pivot = Number(bytesToBigInt(h.slice(0, 8)) % BigInt(listSize)) >>> 0;
101
+ const h = digest(buf.subarray(0, _SHUFFLE_H_PIVOT_VIEW_SIZE));
102
+ const pivot = Number(bytesToBigInt(h.subarray(0, 8)) % BigInt(listSize)) >>> 0;
102
103
  // Split up the for-loop in two:
103
104
  // 1. Handle the part from 0 (incl) to pivot (incl). This is mirrored around (pivot / 2)
104
105
  // 2. Handle the part from pivot (excl) to N (excl). This is mirrored around ((pivot / 2) + (size/2))
@@ -1 +1 @@
1
- {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../src/util/shuffle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../src/util/shuffle.ts"],"names":[],"mappings":"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"}
@@ -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,5 @@
1
- import bls from "@chainsafe/bls";
1
+ import { fastAggregateVerify, verify } from "@chainsafe/blst";
2
+ import { signatureFromBytes } from "@lodestar/utils";
2
3
  export var SignatureSetType;
3
4
  (function (SignatureSetType) {
4
5
  SignatureSetType["single"] = "single";
@@ -6,12 +7,12 @@ export var SignatureSetType;
6
7
  })(SignatureSetType || (SignatureSetType = {}));
7
8
  export function verifySignatureSet(signatureSet) {
8
9
  // All signatures are not trusted and must be group checked (p2.subgroup_check)
9
- const signature = bls.Signature.fromBytes(signatureSet.signature, undefined, true);
10
+ const signature = signatureFromBytes(signatureSet.signature);
10
11
  switch (signatureSet.type) {
11
12
  case SignatureSetType.single:
12
- return signature.verify(signatureSet.pubkey, signatureSet.signingRoot);
13
+ return verify(signatureSet.signingRoot, signatureSet.pubkey, signature);
13
14
  case SignatureSetType.aggregate:
14
- return signature.verifyAggregate(signatureSet.pubkeys, signatureSet.signingRoot);
15
+ return fastAggregateVerify(signatureSet.signingRoot, signatureSet.pubkeys, signature);
15
16
  default:
16
17
  throw Error("Unknown signature set type");
17
18
  }
@@ -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,mBAAmB,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEnD,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,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAE7D,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 { aggregatePublicKeys } 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: aggregatePublicKeys(pubkeys).serialize(),
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,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,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,mBAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE;SAC1D;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.19.0-dev.de3988d58f",
14
+ "version": "1.19.0-dev.deafa4f162",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -59,20 +59,15 @@
59
59
  "types": "lib/index.d.ts",
60
60
  "dependencies": {
61
61
  "@chainsafe/as-sha256": "^0.4.1",
62
- "@chainsafe/bls": "^8.1.0",
63
- "@chainsafe/blst": "^1.0.0",
62
+ "@chainsafe/blst": "^1.0.1",
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.19.0-dev.de3988d58f",
68
- "@lodestar/params": "1.19.0-dev.de3988d58f",
69
- "@lodestar/types": "1.19.0-dev.de3988d58f",
70
- "@lodestar/utils": "1.19.0-dev.de3988d58f",
71
- "bigint-buffer": "^1.1.5",
72
- "buffer-xor": "^2.0.2"
73
- },
74
- "devDependencies": {
75
- "@types/buffer-xor": "^2.0.0"
66
+ "@lodestar/config": "1.19.0-dev.deafa4f162",
67
+ "@lodestar/params": "1.19.0-dev.deafa4f162",
68
+ "@lodestar/types": "1.19.0-dev.deafa4f162",
69
+ "@lodestar/utils": "1.19.0-dev.deafa4f162",
70
+ "bigint-buffer": "^1.1.5"
76
71
  },
77
72
  "keywords": [
78
73
  "ethereum",
@@ -80,5 +75,5 @@
80
75
  "beacon",
81
76
  "blockchain"
82
77
  ],
83
- "gitHead": "e1a1985d93dfa329d884dddeff8d3bcf4640b35b"
78
+ "gitHead": "14236c409dddcd1655897dc317b50b2da643ae95"
84
79
  }