@lodestar/beacon-node 1.18.0-dev.e10a54d8d5 → 1.18.0-dev.e68a6a244e
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/blocks/index.js +26 -8
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/blocks/utils.d.ts +1 -0
- package/lib/api/impl/beacon/rewards/index.js +6 -6
- package/lib/api/impl/beacon/rewards/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.js +27 -9
- 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 +15 -13
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/debug/index.js +4 -8
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +23 -6
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.js +1 -0
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/api/rest/base.js +10 -6
- package/lib/api/rest/base.js.map +1 -1
- package/lib/chain/chain.d.ts +7 -1
- package/lib/chain/chain.js +29 -22
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +2 -1
- package/lib/chain/forkChoice/index.js +3 -2
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +6 -0
- package/lib/chain/opPools/attestationPool.d.ts +2 -2
- package/lib/chain/opPools/attestationPool.js +2 -4
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -2
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +40 -6
- package/lib/chain/stateCache/persistentCheckpointsCache.js +58 -12
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/network/core/metrics.d.ts +1 -0
- package/lib/network/core/metrics.js +4 -0
- package/lib/network/core/metrics.js.map +1 -1
- package/lib/network/gossip/gossipsub.js +4 -1
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/network.js +1 -0
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.js +2 -2
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/peerManager.js +2 -1
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/processor/aggregatorTracker.d.ts +2 -0
- package/lib/network/processor/aggregatorTracker.js +11 -1
- package/lib/network/processor/aggregatorTracker.js.map +1 -1
- package/lib/util/index.d.ts +2 -0
- package/lib/util/index.js +3 -0
- package/lib/util/index.js.map +1 -0
- package/package.json +18 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fromHexString, toHexString } from "@chainsafe/ssz";
|
|
2
2
|
import { routes } from "@lodestar/api";
|
|
3
|
-
import { computeTimeAtSlot, reconstructFullBlockOrContents } from "@lodestar/state-transition";
|
|
3
|
+
import { computeEpochAtSlot, computeTimeAtSlot, reconstructFullBlockOrContents } from "@lodestar/state-transition";
|
|
4
4
|
import { SLOTS_PER_HISTORICAL_ROOT } from "@lodestar/params";
|
|
5
5
|
import { sleep, toHex } from "@lodestar/utils";
|
|
6
6
|
import { isSignedBlockContents, ProducedBlockSource } from "@lodestar/types";
|
|
@@ -201,6 +201,8 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
201
201
|
// TODO - SLOW CODE: This code seems like it could be improved
|
|
202
202
|
// If one block in the response contains an optimistic block, mark the entire response as optimistic
|
|
203
203
|
let executionOptimistic = false;
|
|
204
|
+
// If one block in the response is non finalized, mark the entire response as unfinalized
|
|
205
|
+
let finalized = true;
|
|
204
206
|
const result = [];
|
|
205
207
|
if (filters.parentRoot) {
|
|
206
208
|
const parentRoot = filters.parentRoot;
|
|
@@ -218,11 +220,14 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
218
220
|
if (isOptimisticBlock(canonical)) {
|
|
219
221
|
executionOptimistic = true;
|
|
220
222
|
}
|
|
223
|
+
// Block from hot db which only contains unfinalized blocks
|
|
224
|
+
finalized = false;
|
|
221
225
|
}
|
|
222
226
|
}
|
|
223
227
|
}));
|
|
224
228
|
return {
|
|
225
229
|
executionOptimistic,
|
|
230
|
+
finalized,
|
|
226
231
|
data: result.filter((item) =>
|
|
227
232
|
// skip if no slot filter
|
|
228
233
|
!(filters.slot !== undefined && filters.slot !== 0) || item.header.message.slot === filters.slot),
|
|
@@ -235,23 +240,27 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
235
240
|
if (filters.slot !== undefined) {
|
|
236
241
|
// future slot
|
|
237
242
|
if (filters.slot > headSlot) {
|
|
238
|
-
return { executionOptimistic: false, data: [] };
|
|
243
|
+
return { executionOptimistic: false, finalized: false, data: [] };
|
|
239
244
|
}
|
|
240
245
|
const canonicalBlock = await chain.getCanonicalBlockAtSlot(filters.slot);
|
|
241
246
|
// skip slot
|
|
242
247
|
if (!canonicalBlock) {
|
|
243
|
-
return { executionOptimistic: false, data: [] };
|
|
248
|
+
return { executionOptimistic: false, finalized: false, data: [] };
|
|
244
249
|
}
|
|
245
250
|
const canonicalRoot = config
|
|
246
251
|
.getForkTypes(canonicalBlock.block.message.slot)
|
|
247
252
|
.BeaconBlock.hashTreeRoot(canonicalBlock.block.message);
|
|
248
253
|
result.push(toBeaconHeaderResponse(config, canonicalBlock.block, true));
|
|
254
|
+
if (!canonicalBlock.finalized) {
|
|
255
|
+
finalized = false;
|
|
256
|
+
}
|
|
249
257
|
// fork blocks
|
|
250
258
|
// TODO: What is this logic?
|
|
251
259
|
await Promise.all(chain.forkChoice.getBlockSummariesAtSlot(filters.slot).map(async (summary) => {
|
|
252
260
|
if (isOptimisticBlock(summary)) {
|
|
253
261
|
executionOptimistic = true;
|
|
254
262
|
}
|
|
263
|
+
finalized = false;
|
|
255
264
|
if (summary.blockRoot !== toHexString(canonicalRoot)) {
|
|
256
265
|
const block = await db.block.get(fromHexString(summary.blockRoot));
|
|
257
266
|
if (block) {
|
|
@@ -262,13 +271,15 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
262
271
|
}
|
|
263
272
|
return {
|
|
264
273
|
executionOptimistic,
|
|
274
|
+
finalized,
|
|
265
275
|
data: result,
|
|
266
276
|
};
|
|
267
277
|
},
|
|
268
278
|
async getBlockHeader(blockId) {
|
|
269
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
279
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
270
280
|
return {
|
|
271
281
|
executionOptimistic,
|
|
282
|
+
finalized,
|
|
272
283
|
data: toBeaconHeaderResponse(config, block, true),
|
|
273
284
|
};
|
|
274
285
|
},
|
|
@@ -282,20 +293,22 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
282
293
|
};
|
|
283
294
|
},
|
|
284
295
|
async getBlockV2(blockId, format) {
|
|
285
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
296
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
286
297
|
if (format === "ssz") {
|
|
287
298
|
return config.getForkTypes(block.message.slot).SignedBeaconBlock.serialize(block);
|
|
288
299
|
}
|
|
289
300
|
return {
|
|
290
301
|
executionOptimistic,
|
|
302
|
+
finalized,
|
|
291
303
|
data: block,
|
|
292
304
|
version: config.getForkName(block.message.slot),
|
|
293
305
|
};
|
|
294
306
|
},
|
|
295
307
|
async getBlockAttestations(blockId) {
|
|
296
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
308
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
297
309
|
return {
|
|
298
310
|
executionOptimistic,
|
|
311
|
+
finalized,
|
|
299
312
|
data: Array.from(block.message.body.attestations),
|
|
300
313
|
};
|
|
301
314
|
},
|
|
@@ -307,6 +320,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
307
320
|
if (slot === head.slot) {
|
|
308
321
|
return {
|
|
309
322
|
executionOptimistic: isOptimisticBlock(head),
|
|
323
|
+
finalized: false,
|
|
310
324
|
data: { root: fromHexString(head.blockRoot) },
|
|
311
325
|
};
|
|
312
326
|
}
|
|
@@ -314,6 +328,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
314
328
|
const state = chain.getHeadState();
|
|
315
329
|
return {
|
|
316
330
|
executionOptimistic: isOptimisticBlock(head),
|
|
331
|
+
finalized: computeEpochAtSlot(slot) <= chain.forkChoice.getFinalizedCheckpoint().epoch,
|
|
317
332
|
data: { root: state.blockRoots.get(slot % SLOTS_PER_HISTORICAL_ROOT) },
|
|
318
333
|
};
|
|
319
334
|
}
|
|
@@ -322,13 +337,15 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
322
337
|
const head = chain.forkChoice.getHead();
|
|
323
338
|
return {
|
|
324
339
|
executionOptimistic: isOptimisticBlock(head),
|
|
340
|
+
finalized: false,
|
|
325
341
|
data: { root: fromHexString(head.blockRoot) },
|
|
326
342
|
};
|
|
327
343
|
}
|
|
328
344
|
// Slow path
|
|
329
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
345
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
330
346
|
return {
|
|
331
347
|
executionOptimistic,
|
|
348
|
+
finalized,
|
|
332
349
|
data: { root: config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message) },
|
|
333
350
|
};
|
|
334
351
|
},
|
|
@@ -341,7 +358,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
341
358
|
await publishBlock(signedBlockOrContents, opts);
|
|
342
359
|
},
|
|
343
360
|
async getBlobSidecars(blockId, indices) {
|
|
344
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
361
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
345
362
|
const blockRoot = config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message);
|
|
346
363
|
let { blobSidecars } = (await db.blobSidecars.get(blockRoot)) ?? {};
|
|
347
364
|
if (!blobSidecars) {
|
|
@@ -352,6 +369,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
352
369
|
}
|
|
353
370
|
return {
|
|
354
371
|
executionOptimistic,
|
|
372
|
+
finalized,
|
|
355
373
|
data: indices ? blobSidecars.filter(({ index }) => indices.includes(index)) : blobSidecars,
|
|
356
374
|
};
|
|
357
375
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,6 @@ export declare function toBeaconHeaderResponse(config: ChainForkConfig, block: a
|
|
|
6
6
|
export declare function resolveBlockId(chain: IBeaconChain, blockId: routes.beacon.BlockId): Promise<{
|
|
7
7
|
block: allForks.SignedBeaconBlock;
|
|
8
8
|
executionOptimistic: boolean;
|
|
9
|
+
finalized: boolean;
|
|
9
10
|
}>;
|
|
10
11
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -2,18 +2,18 @@ import { resolveBlockId } from "../blocks/utils.js";
|
|
|
2
2
|
export function getBeaconRewardsApi({ chain }) {
|
|
3
3
|
return {
|
|
4
4
|
async getBlockRewards(blockId) {
|
|
5
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
5
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
6
6
|
const data = await chain.getBlockRewards(block.message);
|
|
7
|
-
return { data, executionOptimistic };
|
|
7
|
+
return { data, executionOptimistic, finalized };
|
|
8
8
|
},
|
|
9
9
|
async getAttestationsRewards(epoch, validatorIds) {
|
|
10
|
-
const { rewards, executionOptimistic } = await chain.getAttestationsRewards(epoch, validatorIds);
|
|
11
|
-
return { data: rewards, executionOptimistic };
|
|
10
|
+
const { rewards, executionOptimistic, finalized } = await chain.getAttestationsRewards(epoch, validatorIds);
|
|
11
|
+
return { data: rewards, executionOptimistic, finalized };
|
|
12
12
|
},
|
|
13
13
|
async getSyncCommitteeRewards(blockId, validatorIds) {
|
|
14
|
-
const { block, executionOptimistic } = await resolveBlockId(chain, blockId);
|
|
14
|
+
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
15
15
|
const data = await chain.getSyncCommitteeRewards(block.message, validatorIds);
|
|
16
|
-
return { data, executionOptimistic };
|
|
16
|
+
return { data, executionOptimistic, finalized };
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/rewards/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,mBAAmB,CAAC,EAAC,KAAK,EAA4B;IACpE,OAAO;QACL,KAAK,CAAC,eAAe,CAAC,OAAO;YAC3B,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/rewards/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,mBAAmB,CAAC,EAAC,KAAK,EAA4B;IACpE,OAAO;QACL,KAAK,CAAC,eAAe,CAAC,OAAO;YAC3B,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,EAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY;YAC9C,MAAM,EAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC1G,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY;YACjD,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9E,OAAO,EAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -8,21 +8,23 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
8
8
|
}
|
|
9
9
|
return {
|
|
10
10
|
async getStateRoot(stateId) {
|
|
11
|
-
const { state, executionOptimistic } = await getState(stateId);
|
|
11
|
+
const { state, executionOptimistic, finalized } = await getState(stateId);
|
|
12
12
|
return {
|
|
13
13
|
executionOptimistic,
|
|
14
|
+
finalized,
|
|
14
15
|
data: { root: state.hashTreeRoot() },
|
|
15
16
|
};
|
|
16
17
|
},
|
|
17
18
|
async getStateFork(stateId) {
|
|
18
|
-
const { state, executionOptimistic } = await getState(stateId);
|
|
19
|
+
const { state, executionOptimistic, finalized } = await getState(stateId);
|
|
19
20
|
return {
|
|
20
21
|
executionOptimistic,
|
|
22
|
+
finalized,
|
|
21
23
|
data: state.fork,
|
|
22
24
|
};
|
|
23
25
|
},
|
|
24
26
|
async getStateRandao(stateId, epoch) {
|
|
25
|
-
const { state, executionOptimistic } = await getState(stateId);
|
|
27
|
+
const { state, executionOptimistic, finalized } = await getState(stateId);
|
|
26
28
|
const stateEpoch = computeEpochAtSlot(state.slot);
|
|
27
29
|
const usedEpoch = epoch ?? stateEpoch;
|
|
28
30
|
if (!(stateEpoch < usedEpoch + EPOCHS_PER_HISTORICAL_VECTOR && usedEpoch <= stateEpoch)) {
|
|
@@ -31,15 +33,17 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
31
33
|
const randao = getRandaoMix(state, usedEpoch);
|
|
32
34
|
return {
|
|
33
35
|
executionOptimistic,
|
|
36
|
+
finalized,
|
|
34
37
|
data: {
|
|
35
38
|
randao,
|
|
36
39
|
},
|
|
37
40
|
};
|
|
38
41
|
},
|
|
39
42
|
async getStateFinalityCheckpoints(stateId) {
|
|
40
|
-
const { state, executionOptimistic } = await getState(stateId);
|
|
43
|
+
const { state, executionOptimistic, finalized } = await getState(stateId);
|
|
41
44
|
return {
|
|
42
45
|
executionOptimistic,
|
|
46
|
+
finalized,
|
|
43
47
|
data: {
|
|
44
48
|
currentJustified: state.currentJustifiedCheckpoint,
|
|
45
49
|
previousJustified: state.previousJustifiedCheckpoint,
|
|
@@ -48,7 +52,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
48
52
|
};
|
|
49
53
|
},
|
|
50
54
|
async getStateValidators(stateId, filters) {
|
|
51
|
-
const { state, executionOptimistic } = await resolveStateId(chain, stateId);
|
|
55
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId);
|
|
52
56
|
const currentEpoch = getCurrentEpoch(state);
|
|
53
57
|
const { validators, balances } = state; // Get the validators sub tree once for all the loop
|
|
54
58
|
const { pubkey2index } = chain.getHeadState().epochCtx;
|
|
@@ -68,6 +72,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
68
72
|
}
|
|
69
73
|
return {
|
|
70
74
|
executionOptimistic,
|
|
75
|
+
finalized,
|
|
71
76
|
data: validatorResponses,
|
|
72
77
|
};
|
|
73
78
|
}
|
|
@@ -75,6 +80,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
75
80
|
const validatorsByStatus = filterStateValidatorsByStatus(filters.status, state, pubkey2index, currentEpoch);
|
|
76
81
|
return {
|
|
77
82
|
executionOptimistic,
|
|
83
|
+
finalized,
|
|
78
84
|
data: validatorsByStatus,
|
|
79
85
|
};
|
|
80
86
|
}
|
|
@@ -87,11 +93,15 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
87
93
|
}
|
|
88
94
|
return {
|
|
89
95
|
executionOptimistic,
|
|
96
|
+
finalized,
|
|
90
97
|
data: resp,
|
|
91
98
|
};
|
|
92
99
|
},
|
|
100
|
+
async postStateValidators(stateId, filters) {
|
|
101
|
+
return this.getStateValidators(stateId, filters);
|
|
102
|
+
},
|
|
93
103
|
async getStateValidator(stateId, validatorId) {
|
|
94
|
-
const { state, executionOptimistic } = await resolveStateId(chain, stateId);
|
|
104
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId);
|
|
95
105
|
const { pubkey2index } = chain.getHeadState().epochCtx;
|
|
96
106
|
const resp = getStateValidatorIndex(validatorId, state, pubkey2index);
|
|
97
107
|
if (!resp.valid) {
|
|
@@ -100,11 +110,12 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
100
110
|
const validatorIndex = resp.validatorIndex;
|
|
101
111
|
return {
|
|
102
112
|
executionOptimistic,
|
|
113
|
+
finalized,
|
|
103
114
|
data: toValidatorResponse(validatorIndex, state.validators.getReadonly(validatorIndex), state.balances.get(validatorIndex), getCurrentEpoch(state)),
|
|
104
115
|
};
|
|
105
116
|
},
|
|
106
117
|
async getStateValidatorBalances(stateId, indices) {
|
|
107
|
-
const { state, executionOptimistic } = await resolveStateId(chain, stateId);
|
|
118
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId);
|
|
108
119
|
if (indices) {
|
|
109
120
|
const headState = chain.getHeadState();
|
|
110
121
|
const balances = [];
|
|
@@ -124,6 +135,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
124
135
|
}
|
|
125
136
|
return {
|
|
126
137
|
executionOptimistic,
|
|
138
|
+
finalized,
|
|
127
139
|
data: balances,
|
|
128
140
|
};
|
|
129
141
|
}
|
|
@@ -135,11 +147,15 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
135
147
|
}
|
|
136
148
|
return {
|
|
137
149
|
executionOptimistic,
|
|
150
|
+
finalized,
|
|
138
151
|
data: resp,
|
|
139
152
|
};
|
|
140
153
|
},
|
|
154
|
+
async postStateValidatorBalances(stateId, indices) {
|
|
155
|
+
return this.getStateValidatorBalances(stateId, indices);
|
|
156
|
+
},
|
|
141
157
|
async getEpochCommittees(stateId, filters) {
|
|
142
|
-
const { state, executionOptimistic } = await resolveStateId(chain, stateId);
|
|
158
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId);
|
|
143
159
|
const stateCached = state;
|
|
144
160
|
if (stateCached.epochCtx === undefined) {
|
|
145
161
|
throw new ApiError(400, `No cached state available for stateId: ${stateId}`);
|
|
@@ -168,6 +184,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
168
184
|
});
|
|
169
185
|
return {
|
|
170
186
|
executionOptimistic,
|
|
187
|
+
finalized,
|
|
171
188
|
data: committeesFlat,
|
|
172
189
|
};
|
|
173
190
|
},
|
|
@@ -177,7 +194,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
177
194
|
*/
|
|
178
195
|
async getEpochSyncCommittees(stateId, epoch) {
|
|
179
196
|
// TODO: Should pick a state with the provided epoch too
|
|
180
|
-
const { state, executionOptimistic } = await resolveStateId(chain, stateId);
|
|
197
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId);
|
|
181
198
|
// TODO: If possible compute the syncCommittees in advance of the fork and expose them here.
|
|
182
199
|
// So the validators can prepare and potentially attest the first block. Not critical tho, it's very unlikely
|
|
183
200
|
const stateEpoch = computeEpochAtSlot(state.slot);
|
|
@@ -191,6 +208,7 @@ export function getBeaconStateApi({ chain, config, }) {
|
|
|
191
208
|
const syncCommitteeCache = stateCached.epochCtx.getIndexedSyncCommitteeAtEpoch(epoch ?? stateEpoch);
|
|
192
209
|
return {
|
|
193
210
|
executionOptimistic,
|
|
211
|
+
finalized,
|
|
194
212
|
data: {
|
|
195
213
|
validators: syncCommitteeCache.validatorIndices,
|
|
196
214
|
// TODO: This is not used by the validator and will be deprecated soon
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,GAC+B;IACrC,KAAK,UAAU,QAAQ,CACrB,OAA8B;QAE9B,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,OAAO;YACxB,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { IBeaconChain, StateGetOpts } from "../../../../chain/index.js";
|
|
|
6
6
|
export declare function resolveStateId(chain: IBeaconChain, stateId: routes.beacon.StateId, opts?: StateGetOpts): Promise<{
|
|
7
7
|
state: BeaconStateAllForks;
|
|
8
8
|
executionOptimistic: boolean;
|
|
9
|
+
finalized: boolean;
|
|
9
10
|
}>;
|
|
10
11
|
/**
|
|
11
12
|
* Get the status of the validator
|
|
@@ -16,7 +17,7 @@ export declare function toValidatorResponse(index: ValidatorIndex, validator: ph
|
|
|
16
17
|
export declare function filterStateValidatorsByStatus(statuses: string[], state: BeaconStateAllForks, pubkey2index: PubkeyIndexMap, currentEpoch: Epoch): routes.beacon.ValidatorResponse[];
|
|
17
18
|
type StateValidatorIndexResponse = {
|
|
18
19
|
valid: true;
|
|
19
|
-
validatorIndex:
|
|
20
|
+
validatorIndex: ValidatorIndex;
|
|
20
21
|
} | {
|
|
21
22
|
valid: false;
|
|
22
23
|
code: number;
|
|
@@ -14,7 +14,7 @@ async function resolveStateIdOrNull(chain, stateId, opts) {
|
|
|
14
14
|
// TODO: This is not OK, head and headState must be fetched atomically
|
|
15
15
|
const head = chain.forkChoice.getHead();
|
|
16
16
|
const headState = chain.getHeadState();
|
|
17
|
-
return { state: headState, executionOptimistic: isOptimisticBlock(head) };
|
|
17
|
+
return { state: headState, executionOptimistic: isOptimisticBlock(head), finalized: false };
|
|
18
18
|
}
|
|
19
19
|
if (stateId === "genesis") {
|
|
20
20
|
return chain.getStateBySlot(GENESIS_SLOT, opts);
|
|
@@ -92,10 +92,9 @@ export function filterStateValidatorsByStatus(statuses, state, pubkey2index, cur
|
|
|
92
92
|
return responses;
|
|
93
93
|
}
|
|
94
94
|
export function getStateValidatorIndex(id, state, pubkey2index) {
|
|
95
|
-
let validatorIndex;
|
|
96
95
|
if (typeof id === "string") {
|
|
96
|
+
// mutate `id` and fallthrough to below
|
|
97
97
|
if (id.startsWith("0x")) {
|
|
98
|
-
// mutate `id` and fallthrough to below
|
|
99
98
|
try {
|
|
100
99
|
id = fromHexString(id);
|
|
101
100
|
}
|
|
@@ -104,19 +103,22 @@ export function getStateValidatorIndex(id, state, pubkey2index) {
|
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
105
|
else {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
106
|
+
id = Number(id);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (typeof id === "number") {
|
|
110
|
+
const validatorIndex = id;
|
|
111
|
+
// validator is invalid or added later than given stateId
|
|
112
|
+
if (!Number.isSafeInteger(validatorIndex)) {
|
|
113
|
+
return { valid: false, code: 400, reason: "Invalid validator index" };
|
|
114
|
+
}
|
|
115
|
+
if (validatorIndex >= state.validators.length) {
|
|
116
|
+
return { valid: false, code: 404, reason: "Validator index from future state" };
|
|
116
117
|
}
|
|
118
|
+
return { valid: true, validatorIndex };
|
|
117
119
|
}
|
|
118
120
|
// typeof id === Uint8Array
|
|
119
|
-
validatorIndex = pubkey2index.get(id);
|
|
121
|
+
const validatorIndex = pubkey2index.get(id);
|
|
120
122
|
if (validatorIndex === undefined) {
|
|
121
123
|
return { valid: false, code: 404, reason: "Validator pubkey not found in state" };
|
|
122
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAKhE,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAmB,EACnB,OAA8B,EAC9B,IAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,0BAA0B,OAAO,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAmB,EACnB,OAA8B,EAC9B,IAAmB;IAEnB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,sEAAsE;QACtE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAKhE,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAmB,EACnB,OAA8B,EAC9B,IAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,0BAA0B,OAAO,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAmB,EACnB,OAA8B,EAC9B,IAAmB;IAEnB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,sEAAsE;QACtE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;IAC5F,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,eAAe,CAAC,qBAAqB,OAAO,GAAG,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAA2B,EAAE,YAAmB;IACjF,UAAU;IACV,IAAI,SAAS,CAAC,eAAe,GAAG,YAAY,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,0BAA0B,KAAK,gBAAgB,EAAE,CAAC;YAC9D,OAAO,qBAAqB,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,CAAC,0BAA0B,GAAG,gBAAgB,EAAE,CAAC;YACnE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,SAAS;IACT,IAAI,SAAS,CAAC,eAAe,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACpF,IAAI,SAAS,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;YAC7C,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,IAAI,SAAS,CAAC,SAAS,GAAG,gBAAgB,EAAE,CAAC;YAClD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACjE,CAAC;IACH,CAAC;IACD,SAAS;IACT,IAAI,SAAS,CAAC,SAAS,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACnE,CAAC;IACD,aAAa;IACb,IAAI,SAAS,CAAC,iBAAiB,IAAI,YAAY,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,SAA2B,EAC3B,OAAe,EACf,YAAmB;IAEnB,OAAO;QACL,KAAK;QACL,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC;QACnD,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAkB,EAClB,KAA0B,EAC1B,YAA4B,EAC5B,YAAmB;IAEnB,MAAM,SAAS,GAAsC,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpC,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACjD,SAAS,CAAC,IAAI,CACZ,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAMD,MAAM,UAAU,sBAAsB,CACpC,EAAyC,EACzC,KAA0B,EAC1B,YAA4B;IAE5B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,uCAAuC;QACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,6BAA6B,EAAC,CAAC;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,yDAAyD;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,yBAAyB,EAAC,CAAC;QACtE,CAAC;QACD,IAAI,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,mCAAmC,EAAC,CAAC;QAChF,CAAC;QACD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC;IACvC,CAAC;IAED,2BAA2B;IAC3B,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,qCAAqC,EAAC,CAAC;IAClF,CAAC;IACD,IAAI,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oCAAoC,EAAC,CAAC;IACjF,CAAC;IACD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC;AACvC,CAAC"}
|
|
@@ -31,25 +31,21 @@ export function getDebugApi({ chain, config }) {
|
|
|
31
31
|
return { data: nodes };
|
|
32
32
|
},
|
|
33
33
|
async getState(stateId, format) {
|
|
34
|
-
const { state } = await resolveStateId(chain, stateId, { allowRegen: true });
|
|
34
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId, { allowRegen: true });
|
|
35
35
|
if (format === "ssz") {
|
|
36
|
-
// Casting to any otherwise Typescript doesn't like the multi-type return
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any
|
|
38
36
|
return state.serialize();
|
|
39
37
|
}
|
|
40
38
|
else {
|
|
41
|
-
return { data: state.toValue() };
|
|
39
|
+
return { data: state.toValue(), executionOptimistic, finalized };
|
|
42
40
|
}
|
|
43
41
|
},
|
|
44
42
|
async getStateV2(stateId, format) {
|
|
45
|
-
const { state } = await resolveStateId(chain, stateId, { allowRegen: true });
|
|
43
|
+
const { state, executionOptimistic, finalized } = await resolveStateId(chain, stateId, { allowRegen: true });
|
|
46
44
|
if (format === "ssz") {
|
|
47
|
-
// Casting to any otherwise Typescript doesn't like the multi-type return
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any
|
|
49
45
|
return state.serialize();
|
|
50
46
|
}
|
|
51
47
|
else {
|
|
52
|
-
return { data: state.toValue(), version: config.getForkName(state.slot) };
|
|
48
|
+
return { data: state.toValue(), version: config.getForkName(state.slot), executionOptimistic, finalized };
|
|
53
49
|
}
|
|
54
50
|
},
|
|
55
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAE9D,MAAM,UAAU,WAAW,CAAC,EAAC,KAAK,EAAE,MAAM,EAAuC;IAC/E,OAAO;QACL,KAAK,CAAC,kBAAkB;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAC,CAAC,CAAC;aAC7F,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,oBAAoB;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC;iBAC9C,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1D,0EAA0E;gBAC1E,sBAAsB,EAAE,CAAC;gBACzB,GAAG,IAAI;gBACP,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,IAAI,EAAE;gBAC/D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;aAC5C,CAAC,CAAC,CAAC;YACJ,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAwB,EAAE,MAAuB;YAC9D,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAE9D,MAAM,UAAU,WAAW,CAAC,EAAC,KAAK,EAAE,MAAM,EAAuC;IAC/E,OAAO;QACL,KAAK,CAAC,kBAAkB;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAC,CAAC,CAAC;aAC7F,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,oBAAoB;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC;iBAC9C,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1D,0EAA0E;gBAC1E,sBAAsB,EAAE,CAAC;gBACzB,GAAG,IAAI;gBACP,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,IAAI,EAAE;gBAC/D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;aAC5C,CAAC,CAAC,CAAC;YACJ,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAwB,EAAE,MAAuB;YAC9D,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;YACzG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,OAAwB,EAAE,MAAuB;YAChE,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;YACzG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAC,CAAC;YAC1G,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|