@lodestar/beacon-node 1.47.0-dev.92bd4efe9b → 1.47.0-dev.931ecbec99

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 (176) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +3 -6
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +4 -0
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/beacon/state/utils.d.ts +2 -1
  8. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  10. package/lib/api/impl/events/index.d.ts +1 -1
  11. package/lib/api/impl/events/index.d.ts.map +1 -1
  12. package/lib/api/impl/events/index.js +10 -3
  13. package/lib/api/impl/events/index.js.map +1 -1
  14. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  15. package/lib/chain/archiveStore/historicalState/metrics.js +21 -0
  16. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  17. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  18. package/lib/chain/blocks/importBlock.js +2 -7
  19. package/lib/chain/blocks/importBlock.js.map +1 -1
  20. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  21. package/lib/chain/blocks/importExecutionPayload.js +1 -1
  22. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  23. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts +2 -2
  24. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -1
  25. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +2 -2
  26. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
  27. package/lib/chain/bls/index.d.ts +1 -1
  28. package/lib/chain/bls/index.d.ts.map +1 -1
  29. package/lib/chain/bls/interface.d.ts +5 -5
  30. package/lib/chain/bls/interface.d.ts.map +1 -1
  31. package/lib/chain/bls/multithread/index.d.ts +5 -11
  32. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  33. package/lib/chain/bls/multithread/index.js +116 -101
  34. package/lib/chain/bls/multithread/index.js.map +1 -1
  35. package/lib/chain/bls/multithread/jobItem.d.ts +5 -19
  36. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  37. package/lib/chain/bls/multithread/jobItem.js +10 -65
  38. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  39. package/lib/chain/bls/multithread/types.d.ts +29 -8
  40. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  41. package/lib/chain/bls/multithread/types.js +12 -0
  42. package/lib/chain/bls/multithread/types.js.map +1 -1
  43. package/lib/chain/bls/multithread/utils.d.ts +4 -0
  44. package/lib/chain/bls/multithread/utils.d.ts.map +1 -1
  45. package/lib/chain/bls/multithread/utils.js +10 -0
  46. package/lib/chain/bls/multithread/utils.js.map +1 -1
  47. package/lib/chain/bls/multithread/worker.js +49 -23
  48. package/lib/chain/bls/multithread/worker.js.map +1 -1
  49. package/lib/chain/bls/singleThread.d.ts +4 -10
  50. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  51. package/lib/chain/bls/singleThread.js +8 -45
  52. package/lib/chain/bls/singleThread.js.map +1 -1
  53. package/lib/chain/bls/utils.d.ts +4 -4
  54. package/lib/chain/bls/utils.d.ts.map +1 -1
  55. package/lib/chain/bls/utils.js +18 -19
  56. package/lib/chain/bls/utils.js.map +1 -1
  57. package/lib/chain/chain.d.ts +2 -1
  58. package/lib/chain/chain.d.ts.map +1 -1
  59. package/lib/chain/chain.js +6 -4
  60. package/lib/chain/chain.js.map +1 -1
  61. package/lib/chain/errors/proposerPreferences.d.ts +6 -0
  62. package/lib/chain/errors/proposerPreferences.d.ts.map +1 -1
  63. package/lib/chain/errors/proposerPreferences.js +1 -0
  64. package/lib/chain/errors/proposerPreferences.js.map +1 -1
  65. package/lib/chain/interface.d.ts +2 -1
  66. package/lib/chain/interface.d.ts.map +1 -1
  67. package/lib/chain/interface.js.map +1 -1
  68. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  69. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  70. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  71. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  72. package/lib/chain/opPools/attestationPool.js +1 -1
  73. package/lib/chain/opPools/attestationPool.js.map +1 -1
  74. package/lib/chain/opPools/payloadAttestationPool.js +3 -3
  75. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  76. package/lib/chain/opPools/syncCommitteeMessagePool.js +1 -1
  77. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  78. package/lib/chain/opPools/syncContributionAndProofPool.js +1 -1
  79. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  80. package/lib/chain/opPools/utils.d.ts +1 -1
  81. package/lib/chain/opPools/utils.d.ts.map +1 -1
  82. package/lib/chain/opPools/utils.js +1 -1
  83. package/lib/chain/opPools/utils.js.map +1 -1
  84. package/lib/chain/seenCache/seenAttesters.d.ts +9 -5
  85. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  86. package/lib/chain/seenCache/seenAttesters.js +25 -4
  87. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  88. package/lib/chain/validation/attestation.d.ts.map +1 -1
  89. package/lib/chain/validation/attestation.js +1 -4
  90. package/lib/chain/validation/attestation.js.map +1 -1
  91. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  92. package/lib/chain/validation/attesterSlashing.js +1 -1
  93. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  94. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  95. package/lib/chain/validation/executionPayloadBid.js +1 -2
  96. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  97. package/lib/chain/validation/executionPayloadEnvelope.js +1 -1
  98. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  99. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  100. package/lib/chain/validation/payloadAttestationMessage.js +5 -14
  101. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  102. package/lib/chain/validation/proposerPreferences.d.ts +1 -1
  103. package/lib/chain/validation/proposerPreferences.d.ts.map +1 -1
  104. package/lib/chain/validation/proposerPreferences.js +13 -4
  105. package/lib/chain/validation/proposerPreferences.js.map +1 -1
  106. package/lib/chain/validation/proposerSlashing.js +1 -1
  107. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  108. package/lib/metrics/metrics/lodestar.d.ts +48 -18
  109. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  110. package/lib/metrics/metrics/lodestar.js +96 -50
  111. package/lib/metrics/metrics/lodestar.js.map +1 -1
  112. package/lib/network/libp2p/index.d.ts.map +1 -1
  113. package/lib/network/libp2p/index.js +10 -2
  114. package/lib/network/libp2p/index.js.map +1 -1
  115. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  116. package/lib/network/processor/gossipHandlers.js +7 -2
  117. package/lib/network/processor/gossipHandlers.js.map +1 -1
  118. package/lib/network/reqresp/score.d.ts.map +1 -1
  119. package/lib/network/reqresp/score.js +5 -11
  120. package/lib/network/reqresp/score.js.map +1 -1
  121. package/lib/node/nodejs.d.ts +2 -1
  122. package/lib/node/nodejs.d.ts.map +1 -1
  123. package/lib/node/nodejs.js.map +1 -1
  124. package/lib/sync/types.d.ts.map +1 -1
  125. package/lib/sync/types.js.map +1 -1
  126. package/lib/sync/unknownBlock.d.ts +9 -0
  127. package/lib/sync/unknownBlock.d.ts.map +1 -1
  128. package/lib/sync/unknownBlock.js +93 -9
  129. package/lib/sync/unknownBlock.js.map +1 -1
  130. package/package.json +15 -15
  131. package/src/api/impl/beacon/blocks/index.ts +4 -6
  132. package/src/api/impl/beacon/pool/index.ts +5 -0
  133. package/src/api/impl/beacon/state/utils.ts +2 -1
  134. package/src/api/impl/events/index.ts +10 -4
  135. package/src/chain/archiveStore/historicalState/metrics.ts +22 -0
  136. package/src/chain/blocks/importBlock.ts +1 -6
  137. package/src/chain/blocks/importExecutionPayload.ts +0 -1
  138. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +1 -9
  139. package/src/chain/bls/index.ts +1 -1
  140. package/src/chain/bls/interface.ts +7 -3
  141. package/src/chain/bls/multithread/index.ts +148 -120
  142. package/src/chain/bls/multithread/jobItem.ts +12 -82
  143. package/src/chain/bls/multithread/types.ts +33 -8
  144. package/src/chain/bls/multithread/utils.ts +11 -0
  145. package/src/chain/bls/multithread/worker.ts +85 -27
  146. package/src/chain/bls/singleThread.ts +11 -55
  147. package/src/chain/bls/utils.ts +23 -24
  148. package/src/chain/chain.ts +7 -5
  149. package/src/chain/errors/proposerPreferences.ts +7 -0
  150. package/src/chain/interface.ts +2 -1
  151. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  152. package/src/chain/opPools/attestationPool.ts +1 -1
  153. package/src/chain/opPools/payloadAttestationPool.ts +3 -3
  154. package/src/chain/opPools/syncCommitteeMessagePool.ts +1 -1
  155. package/src/chain/opPools/syncContributionAndProofPool.ts +1 -1
  156. package/src/chain/opPools/utils.ts +1 -1
  157. package/src/chain/seenCache/seenAttesters.ts +31 -5
  158. package/src/chain/validation/attestation.ts +1 -7
  159. package/src/chain/validation/attesterSlashing.ts +1 -8
  160. package/src/chain/validation/executionPayloadBid.ts +1 -2
  161. package/src/chain/validation/executionPayloadEnvelope.ts +0 -1
  162. package/src/chain/validation/payloadAttestationMessage.ts +6 -17
  163. package/src/chain/validation/proposerPreferences.ts +15 -5
  164. package/src/chain/validation/proposerSlashing.ts +1 -1
  165. package/src/metrics/metrics/lodestar.ts +101 -51
  166. package/src/network/libp2p/index.ts +11 -2
  167. package/src/network/processor/gossipHandlers.ts +9 -0
  168. package/src/network/reqresp/score.ts +5 -11
  169. package/src/node/nodejs.ts +2 -1
  170. package/src/sync/types.ts +3 -1
  171. package/src/sync/unknownBlock.ts +108 -12
  172. package/lib/chain/bls/maybeBatch.d.ts +0 -12
  173. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  174. package/lib/chain/bls/maybeBatch.js +0 -35
  175. package/lib/chain/bls/maybeBatch.js.map +0 -1
  176. package/src/chain/bls/maybeBatch.ts +0 -45
@@ -1 +0,0 @@
1
- {"version":3,"file":"maybeBatch.d.ts","sourceRoot":"","sources":["../../../src/chain/bls/maybeBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAuD,MAAM,iBAAiB,CAAC;AAIhG,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,OAAO,CA8BvF"}
@@ -1,35 +0,0 @@
1
- import { Signature, verify, verifyMultipleAggregateSignatures } from "@chainsafe/blst";
2
- const MIN_SET_COUNT_TO_BATCH = 2;
3
- /**
4
- * Verify signatures sets with batch verification or regular core verify depending on the set count.
5
- * Abstracted in a separate file to be consumed by the threaded pool and the main thread implementation.
6
- */
7
- export function verifySignatureSetsMaybeBatch(sets) {
8
- try {
9
- if (sets.length >= MIN_SET_COUNT_TO_BATCH) {
10
- return verifyMultipleAggregateSignatures(sets.map((s) => ({
11
- pk: s.publicKey,
12
- msg: s.message,
13
- // true = validate signature
14
- sig: Signature.fromBytes(s.signature, true),
15
- })));
16
- }
17
- // .every on an empty array returns true
18
- if (sets.length === 0) {
19
- throw Error("Empty signature set");
20
- }
21
- // If too few signature sets verify them without batching
22
- return sets.every((set) => {
23
- // true = validate signature
24
- const sig = Signature.fromBytes(set.signature, true);
25
- return verify(set.message, set.publicKey, sig);
26
- });
27
- }
28
- catch (_) {
29
- // A signature could be malformed, in that case fromBytes throws error
30
- // blst-ts `verifyMultipleSignatures` is also a fallible operation if mul_n_aggregate fails
31
- // see https://github.com/ChainSafe/blst-ts/blob/b1ba6333f664b08e5c50b2b0d18c4f079203962b/src/lib.ts#L291
32
- return false;
33
- }
34
- }
35
- //# sourceMappingURL=maybeBatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"maybeBatch.js","sourceRoot":"","sources":["../../../src/chain/bls/maybeBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,iCAAiC,EAAC,MAAM,iBAAiB,CAAC;AAEhG,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAgC;IAC5E,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC1C,OAAO,iCAAiC,CACtC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACf,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,GAAG,EAAE,CAAC,CAAC,OAAO;gBACd,4BAA4B;gBAC5B,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC;aAC5C,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,yDAAyD;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,4BAA4B;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sEAAsE;QACtE,2FAA2F;QAC3F,yGAAyG;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,45 +0,0 @@
1
- import {PublicKey, Signature, verify, verifyMultipleAggregateSignatures} from "@chainsafe/blst";
2
-
3
- const MIN_SET_COUNT_TO_BATCH = 2;
4
-
5
- export type SignatureSetDeserialized = {
6
- publicKey: PublicKey;
7
- message: Uint8Array;
8
- signature: Uint8Array;
9
- };
10
-
11
- /**
12
- * Verify signatures sets with batch verification or regular core verify depending on the set count.
13
- * Abstracted in a separate file to be consumed by the threaded pool and the main thread implementation.
14
- */
15
- export function verifySignatureSetsMaybeBatch(sets: SignatureSetDeserialized[]): boolean {
16
- try {
17
- if (sets.length >= MIN_SET_COUNT_TO_BATCH) {
18
- return verifyMultipleAggregateSignatures(
19
- sets.map((s) => ({
20
- pk: s.publicKey,
21
- msg: s.message,
22
- // true = validate signature
23
- sig: Signature.fromBytes(s.signature, true),
24
- }))
25
- );
26
- }
27
-
28
- // .every on an empty array returns true
29
- if (sets.length === 0) {
30
- throw Error("Empty signature set");
31
- }
32
-
33
- // If too few signature sets verify them without batching
34
- return sets.every((set) => {
35
- // true = validate signature
36
- const sig = Signature.fromBytes(set.signature, true);
37
- return verify(set.message, set.publicKey, sig);
38
- });
39
- } catch (_) {
40
- // A signature could be malformed, in that case fromBytes throws error
41
- // blst-ts `verifyMultipleSignatures` is also a fallible operation if mul_n_aggregate fails
42
- // see https://github.com/ChainSafe/blst-ts/blob/b1ba6333f664b08e5c50b2b0d18c4f079203962b/src/lib.ts#L291
43
- return false;
44
- }
45
- }