@lodestar/beacon-node 1.23.0-dev.58dea7543c → 1.23.0-dev.5f7b611eeb
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.
- package/lib/api/impl/beacon/pool/index.js +13 -22
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts +1 -1
- package/lib/api/impl/beacon/state/index.js +37 -2
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +2 -1
- package/lib/api/impl/beacon/state/utils.js +1 -1
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/debug/index.js +30 -0
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/errors.d.ts +8 -0
- package/lib/api/impl/errors.js +7 -0
- package/lib/api/impl/errors.js.map +1 -1
- package/lib/api/impl/validator/index.js +1 -1
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/base.d.ts +1 -0
- package/lib/api/rest/base.js +31 -4
- package/lib/api/rest/base.js.map +1 -1
- package/lib/api/rest/index.js +1 -0
- package/lib/api/rest/index.js.map +1 -1
- package/lib/chain/archiver/archiveStates.d.ts +3 -2
- package/lib/chain/archiver/archiveStates.js +8 -4
- package/lib/chain/archiver/archiveStates.js.map +1 -1
- package/lib/chain/archiver/index.d.ts +3 -1
- package/lib/chain/archiver/index.js +3 -2
- package/lib/chain/archiver/index.js.map +1 -1
- package/lib/chain/chain.d.ts +2 -1
- package/lib/chain/chain.js +3 -2
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/historicalState/getHistoricalState.d.ts +2 -1
- package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/historicalState/worker.js +1 -1
- package/lib/chain/historicalState/worker.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -1
- package/lib/chain/options.js +1 -1
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/regen/regen.js +1 -1
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/rewards/attestationsRewards.js +2 -1
- package/lib/chain/rewards/attestationsRewards.js.map +1 -1
- package/lib/chain/serializeState.js +63 -10
- package/lib/chain/serializeState.js.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -2
- package/lib/chain/stateCache/fifoBlockStateCache.js +7 -2
- package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +4 -3
- package/lib/chain/stateCache/persistentCheckpointsCache.js +25 -20
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +3 -1
- package/lib/metrics/metrics/lodestar.js +6 -5
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +11 -11
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +1 -5
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/gossipQueues/types.d.ts +1 -2
- package/lib/network/processor/gossipQueues/types.js +0 -6
- package/lib/network/processor/gossipQueues/types.js.map +1 -1
- package/package.json +15 -14
- package/lib/network/processor/gossipQueues/indexedAvgTime.d.ts +0 -31
- package/lib/network/processor/gossipQueues/indexedAvgTime.js +0 -115
- 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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"}
|