@lodestar/beacon-node 1.22.0 → 1.23.0-dev.0d1fd9c839

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 (132) hide show
  1. package/lib/api/impl/beacon/pool/index.js +13 -22
  2. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  3. package/lib/api/impl/beacon/state/index.d.ts +1 -1
  4. package/lib/api/impl/beacon/state/index.js +42 -3
  5. package/lib/api/impl/beacon/state/index.js.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.d.ts +2 -1
  7. package/lib/api/impl/beacon/state/utils.js +1 -1
  8. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  9. package/lib/api/impl/config/constants.d.ts +0 -1
  10. package/lib/api/impl/config/constants.js +1 -2
  11. package/lib/api/impl/config/constants.js.map +1 -1
  12. package/lib/api/impl/errors.d.ts +8 -0
  13. package/lib/api/impl/errors.js +7 -0
  14. package/lib/api/impl/errors.js.map +1 -1
  15. package/lib/api/impl/validator/index.js +9 -4
  16. package/lib/api/impl/validator/index.js.map +1 -1
  17. package/lib/api/rest/base.d.ts +1 -0
  18. package/lib/api/rest/base.js +31 -4
  19. package/lib/api/rest/base.js.map +1 -1
  20. package/lib/api/rest/index.js +1 -0
  21. package/lib/api/rest/index.js.map +1 -1
  22. package/lib/chain/archiver/archiveBlocks.js +4 -5
  23. package/lib/chain/archiver/archiveBlocks.js.map +1 -1
  24. package/lib/chain/archiver/archiveStates.d.ts +3 -2
  25. package/lib/chain/archiver/archiveStates.js +8 -4
  26. package/lib/chain/archiver/archiveStates.js.map +1 -1
  27. package/lib/chain/archiver/index.d.ts +3 -1
  28. package/lib/chain/archiver/index.js +3 -2
  29. package/lib/chain/archiver/index.js.map +1 -1
  30. package/lib/chain/blocks/importBlock.js +3 -10
  31. package/lib/chain/blocks/importBlock.js.map +1 -1
  32. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +2 -1
  33. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  34. package/lib/chain/chain.d.ts +2 -41
  35. package/lib/chain/chain.js +26 -17
  36. package/lib/chain/chain.js.map +1 -1
  37. package/lib/chain/forkChoice/index.js +1 -2
  38. package/lib/chain/forkChoice/index.js.map +1 -1
  39. package/lib/chain/historicalState/getHistoricalState.d.ts +2 -1
  40. package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
  41. package/lib/chain/historicalState/worker.js +1 -1
  42. package/lib/chain/historicalState/worker.js.map +1 -1
  43. package/lib/chain/initState.d.ts +1 -5
  44. package/lib/chain/initState.js +2 -30
  45. package/lib/chain/initState.js.map +1 -1
  46. package/lib/chain/interface.d.ts +2 -1
  47. package/lib/chain/lightClient/proofs.d.ts +2 -2
  48. package/lib/chain/lightClient/proofs.js +3 -2
  49. package/lib/chain/lightClient/proofs.js.map +1 -1
  50. package/lib/chain/opPools/opPool.js +3 -4
  51. package/lib/chain/opPools/opPool.js.map +1 -1
  52. package/lib/chain/options.js +1 -1
  53. package/lib/chain/options.js.map +1 -1
  54. package/lib/chain/produceBlock/produceBlockBody.js +7 -1
  55. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  56. package/lib/chain/regen/regen.js +3 -4
  57. package/lib/chain/regen/regen.js.map +1 -1
  58. package/lib/chain/rewards/attestationsRewards.js +2 -1
  59. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  60. package/lib/chain/serializeState.js +63 -10
  61. package/lib/chain/serializeState.js.map +1 -1
  62. package/lib/chain/shufflingCache.d.ts +37 -13
  63. package/lib/chain/shufflingCache.js +85 -76
  64. package/lib/chain/shufflingCache.js.map +1 -1
  65. package/lib/chain/stateCache/datastore/file.js +5 -5
  66. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  67. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -2
  68. package/lib/chain/stateCache/fifoBlockStateCache.js +7 -2
  69. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  70. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +4 -3
  71. package/lib/chain/stateCache/persistentCheckpointsCache.js +33 -37
  72. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  73. package/lib/db/repositories/lightclientCheckpointHeader.d.ts +1 -0
  74. package/lib/db/repositories/lightclientCheckpointHeader.js +3 -0
  75. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  76. package/lib/eth1/index.js +2 -2
  77. package/lib/eth1/index.js.map +1 -1
  78. package/lib/eth1/provider/eth1Provider.js +2 -3
  79. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  80. package/lib/eth1/provider/utils.js +4 -5
  81. package/lib/eth1/provider/utils.js.map +1 -1
  82. package/lib/eth1/utils/depositContract.js +5 -5
  83. package/lib/eth1/utils/depositContract.js.map +1 -1
  84. package/lib/eth1/utils/eth1Vote.js +0 -1
  85. package/lib/eth1/utils/eth1Vote.js.map +1 -1
  86. package/lib/execution/engine/http.d.ts +3 -2
  87. package/lib/execution/engine/http.js +27 -10
  88. package/lib/execution/engine/http.js.map +1 -1
  89. package/lib/execution/engine/interface.d.ts +5 -4
  90. package/lib/execution/engine/interface.js.map +1 -1
  91. package/lib/execution/engine/mock.js +0 -2
  92. package/lib/execution/engine/mock.js.map +1 -1
  93. package/lib/execution/engine/payloadIdCache.d.ts +0 -17
  94. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  95. package/lib/execution/engine/types.d.ts +29 -25
  96. package/lib/execution/engine/types.js +29 -43
  97. package/lib/execution/engine/types.js.map +1 -1
  98. package/lib/metrics/metrics/beacon.js +1 -1
  99. package/lib/metrics/metrics/beacon.js.map +1 -1
  100. package/lib/metrics/metrics/lodestar.d.ts +13 -4
  101. package/lib/metrics/metrics/lodestar.js +43 -19
  102. package/lib/metrics/metrics/lodestar.js.map +1 -1
  103. package/lib/network/core/networkCore.js +2 -3
  104. package/lib/network/core/networkCore.js.map +1 -1
  105. package/lib/network/gossip/topic.d.ts +0 -27
  106. package/lib/network/peers/utils/assertPeerRelevance.js +2 -3
  107. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  108. package/lib/network/processor/gossipHandlers.js +11 -11
  109. package/lib/network/processor/gossipHandlers.js.map +1 -1
  110. package/lib/network/processor/gossipQueues/index.js +1 -5
  111. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  112. package/lib/network/processor/gossipQueues/types.d.ts +1 -2
  113. package/lib/network/processor/gossipQueues/types.js +0 -6
  114. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  115. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +2 -2
  116. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  117. package/lib/network/reqresp/types.d.ts +5 -5
  118. package/lib/network/reqresp/types.js +1 -1
  119. package/lib/network/reqresp/types.js.map +1 -1
  120. package/lib/node/utils/interop/state.js +1 -0
  121. package/lib/node/utils/interop/state.js.map +1 -1
  122. package/lib/node/utils/state.d.ts +3 -0
  123. package/lib/node/utils/state.js +3 -0
  124. package/lib/node/utils/state.js.map +1 -1
  125. package/lib/sync/backfill/backfill.js +1 -2
  126. package/lib/sync/backfill/backfill.js.map +1 -1
  127. package/lib/sync/unknownBlock.js +3 -4
  128. package/lib/sync/unknownBlock.js.map +1 -1
  129. package/package.json +20 -19
  130. package/lib/network/processor/gossipQueues/indexedAvgTime.d.ts +0 -31
  131. package/lib/network/processor/gossipQueues/indexedAvgTime.js +0 -115
  132. package/lib/network/processor/gossipQueues/indexedAvgTime.js.map +0 -1
@@ -1,115 +0,0 @@
1
- function listScore(list) {
2
- return list.items.length / Math.max(1000, Date.now() - list.avgRecvTimestampMs);
3
- }
4
- /**
5
- * An implementation of GossipQueue that tries to run the batch with highest score first.
6
- * TODO: add unit tests
7
- * - index items by indexFn using a map
8
- * - compute avgRecvTimestampMs for each key every time we add new item
9
- * - on next, pick the key with the highest score (check the score function above)
10
- */
11
- export class IndexedGossipQueueAvgTime {
12
- constructor(opts) {
13
- this.opts = opts;
14
- this._length = 0;
15
- this.indexedItems = new Map();
16
- }
17
- get length() {
18
- return this._length;
19
- }
20
- get keySize() {
21
- return this.indexedItems.size;
22
- }
23
- clear() {
24
- this.indexedItems = new Map();
25
- this._length = 0;
26
- }
27
- // not implemented for this gossip queue
28
- getDataAgeMs() {
29
- return [];
30
- }
31
- /**
32
- * Add item to gossip queue. If queue is full, drop first item of first key.
33
- * Return number of items dropped
34
- */
35
- add(item) {
36
- const key = this.opts.indexFn(item);
37
- if (key == null) {
38
- // this comes from getAttDataBase64FromAttestationSerialized() return type
39
- // should not happen
40
- return 0;
41
- }
42
- item.indexed = key;
43
- let list = this.indexedItems.get(key);
44
- if (list == null) {
45
- list = {
46
- items: [],
47
- avgRecvTimestampMs: Date.now(),
48
- };
49
- this.indexedItems.set(key, list);
50
- }
51
- else {
52
- list.avgRecvTimestampMs = (list.avgRecvTimestampMs * list.items.length + Date.now()) / (list.items.length + 1);
53
- list.items.push(item);
54
- }
55
- this._length++;
56
- if (this._length <= this.opts.maxLength) {
57
- return 0;
58
- }
59
- // overload, need to drop more items
60
- const firstKey = this.indexedItems.keys().next().value;
61
- // there should be at least 1 key
62
- if (firstKey == null) {
63
- return 0;
64
- }
65
- const firstList = this.indexedItems.get(firstKey);
66
- // should not happen
67
- if (firstList == null) {
68
- return 0;
69
- }
70
- const deletedItem = firstList.items.shift();
71
- if (deletedItem != null) {
72
- this._length--;
73
- if (firstList.items.length === 0) {
74
- this.indexedItems.delete(firstKey);
75
- }
76
- return 1;
77
- }
78
- else {
79
- return 0;
80
- }
81
- }
82
- /**
83
- * Try to get list of items of the same key with highest score
84
- */
85
- next() {
86
- let maxScore = 0;
87
- let maxScoreKey;
88
- for (const [key, list] of this.indexedItems) {
89
- const score = listScore(list);
90
- if (score > maxScore) {
91
- maxScore = score;
92
- maxScoreKey = key;
93
- }
94
- }
95
- if (maxScoreKey == null) {
96
- return null;
97
- }
98
- const items = this.indexedItems.get(maxScoreKey)?.items;
99
- if (items == null) {
100
- // should not happen
101
- return null;
102
- }
103
- this.indexedItems.delete(maxScoreKey);
104
- this._length = Math.max(0, this._length - items.length);
105
- return items;
106
- }
107
- getAll() {
108
- const items = [];
109
- for (const list of this.indexedItems.values()) {
110
- items.push(...list.items);
111
- }
112
- return items;
113
- }
114
- }
115
- //# sourceMappingURL=indexedAvgTime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexedAvgTime.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/indexedAvgTime.ts"],"names":[],"mappings":"AAOA,SAAS,SAAS,CAAI,IAAiB;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IAIpC,YAA6B,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;QAHpD,YAAO,GAAG,CAAC,CAAC;QACZ,iBAAY,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEI,CAAC;IAEhE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,wCAAwC;IACxC,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAAO;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,0EAA0E;YAC1E,oBAAoB;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG;gBACL,KAAK,EAAE,EAAE;gBACT,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;aAC/B,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;QACjE,iCAAiC;QACjC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,oBAAoB;QACpB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,WAA+B,CAAC;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,QAAQ,GAAG,KAAK,CAAC;gBACjB,WAAW,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;QACxD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,oBAAoB;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}