@lodestar/beacon-node 1.23.0-dev.404f13abfd → 1.23.0-dev.489accbc90

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 (113) 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 +44 -4
  5. package/lib/api/impl/beacon/state/index.js.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.d.ts +2 -6
  7. package/lib/api/impl/beacon/state/utils.js +3 -35
  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/debug/index.js +30 -0
  13. package/lib/api/impl/debug/index.js.map +1 -1
  14. package/lib/api/impl/errors.d.ts +8 -0
  15. package/lib/api/impl/errors.js +7 -0
  16. package/lib/api/impl/errors.js.map +1 -1
  17. package/lib/api/impl/validator/index.js +10 -6
  18. package/lib/api/impl/validator/index.js.map +1 -1
  19. package/lib/api/rest/base.d.ts +1 -0
  20. package/lib/api/rest/base.js +31 -4
  21. package/lib/api/rest/base.js.map +1 -1
  22. package/lib/api/rest/index.js +1 -0
  23. package/lib/api/rest/index.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 +0 -6
  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 +19 -9
  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 +3 -0
  41. package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
  42. package/lib/chain/historicalState/worker.js +1 -1
  43. package/lib/chain/historicalState/worker.js.map +1 -1
  44. package/lib/chain/initState.d.ts +1 -5
  45. package/lib/chain/initState.js +2 -30
  46. package/lib/chain/initState.js.map +1 -1
  47. package/lib/chain/interface.d.ts +2 -1
  48. package/lib/chain/options.js +1 -1
  49. package/lib/chain/options.js.map +1 -1
  50. package/lib/chain/produceBlock/produceBlockBody.js +7 -1
  51. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  52. package/lib/chain/regen/regen.js +1 -1
  53. package/lib/chain/regen/regen.js.map +1 -1
  54. package/lib/chain/rewards/attestationsRewards.js +2 -1
  55. package/lib/chain/rewards/attestationsRewards.js.map +1 -1
  56. package/lib/chain/serializeState.js +63 -10
  57. package/lib/chain/serializeState.js.map +1 -1
  58. package/lib/chain/shufflingCache.d.ts +37 -13
  59. package/lib/chain/shufflingCache.js +85 -76
  60. package/lib/chain/shufflingCache.js.map +1 -1
  61. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -2
  62. package/lib/chain/stateCache/fifoBlockStateCache.js +7 -2
  63. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  64. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +4 -3
  65. package/lib/chain/stateCache/persistentCheckpointsCache.js +26 -29
  66. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  67. package/lib/chain/validation/attestation.d.ts +3 -17
  68. package/lib/chain/validation/attestation.js +7 -26
  69. package/lib/chain/validation/attestation.js.map +1 -1
  70. package/lib/execution/engine/http.d.ts +3 -2
  71. package/lib/execution/engine/http.js +27 -10
  72. package/lib/execution/engine/http.js.map +1 -1
  73. package/lib/execution/engine/interface.d.ts +5 -4
  74. package/lib/execution/engine/interface.js.map +1 -1
  75. package/lib/execution/engine/mock.js +0 -2
  76. package/lib/execution/engine/mock.js.map +1 -1
  77. package/lib/execution/engine/payloadIdCache.d.ts +0 -17
  78. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  79. package/lib/execution/engine/types.d.ts +29 -25
  80. package/lib/execution/engine/types.js +28 -42
  81. package/lib/execution/engine/types.js.map +1 -1
  82. package/lib/metrics/metrics/beacon.js +1 -1
  83. package/lib/metrics/metrics/beacon.js.map +1 -1
  84. package/lib/metrics/metrics/lodestar.d.ts +13 -4
  85. package/lib/metrics/metrics/lodestar.js +43 -19
  86. package/lib/metrics/metrics/lodestar.js.map +1 -1
  87. package/lib/network/gossip/interface.d.ts +8 -6
  88. package/lib/network/gossip/interface.js.map +1 -1
  89. package/lib/network/gossip/topic.d.ts +0 -27
  90. package/lib/network/options.js +0 -2
  91. package/lib/network/options.js.map +1 -1
  92. package/lib/network/processor/gossipHandlers.d.ts +0 -2
  93. package/lib/network/processor/gossipHandlers.js +15 -61
  94. package/lib/network/processor/gossipHandlers.js.map +1 -1
  95. package/lib/network/processor/gossipQueues/index.d.ts +1 -1
  96. package/lib/network/processor/gossipQueues/index.js +6 -19
  97. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  98. package/lib/network/processor/gossipQueues/types.d.ts +1 -2
  99. package/lib/network/processor/gossipQueues/types.js +0 -6
  100. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  101. package/lib/network/processor/index.js +1 -1
  102. package/lib/network/processor/index.js.map +1 -1
  103. package/lib/node/utils/interop/state.js +1 -0
  104. package/lib/node/utils/interop/state.js.map +1 -1
  105. package/lib/node/utils/state.d.ts +3 -0
  106. package/lib/node/utils/state.js +3 -0
  107. package/lib/node/utils/state.js.map +1 -1
  108. package/lib/sync/backfill/backfill.js +1 -2
  109. package/lib/sync/backfill/backfill.js.map +1 -1
  110. package/package.json +20 -19
  111. package/lib/network/processor/gossipQueues/indexedAvgTime.d.ts +0 -31
  112. package/lib/network/processor/gossipQueues/indexedAvgTime.js +0 -115
  113. 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":"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"}