@lodestar/beacon-node 1.20.0-dev.966f3acc0f → 1.20.0-dev.d101913ca3
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/README.md +1 -1
- package/lib/api/impl/api.d.ts +2 -4
- package/lib/api/impl/beacon/blocks/index.d.ts +3 -2
- package/lib/api/impl/beacon/blocks/index.js +68 -73
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/index.d.ts +3 -2
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.d.ts +3 -2
- package/lib/api/impl/beacon/pool/index.js +18 -18
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/rewards/index.d.ts +3 -2
- package/lib/api/impl/beacon/rewards/index.js +7 -7
- package/lib/api/impl/beacon/rewards/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts +3 -2
- package/lib/api/impl/beacon/state/index.js +37 -51
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +1 -2
- package/lib/api/impl/beacon/state/utils.js +2 -2
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/config/index.d.ts +3 -2
- package/lib/api/impl/config/index.js.map +1 -1
- package/lib/api/impl/debug/index.d.ts +3 -2
- package/lib/api/impl/debug/index.js +15 -15
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/errors.d.ts +1 -1
- package/lib/api/impl/errors.js +1 -1
- package/lib/api/impl/errors.js.map +1 -1
- package/lib/api/impl/events/index.d.ts +3 -2
- package/lib/api/impl/events/index.js +2 -2
- package/lib/api/impl/events/index.js.map +1 -1
- package/lib/api/impl/lightclient/index.d.ts +3 -2
- package/lib/api/impl/lightclient/index.js +18 -18
- package/lib/api/impl/lightclient/index.js.map +1 -1
- package/lib/api/impl/lodestar/index.d.ts +3 -2
- package/lib/api/impl/lodestar/index.js +15 -17
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/node/index.d.ts +3 -2
- package/lib/api/impl/node/index.js +6 -11
- package/lib/api/impl/node/index.js.map +1 -1
- package/lib/api/impl/proof/index.d.ts +3 -2
- package/lib/api/impl/proof/index.js +12 -6
- package/lib/api/impl/proof/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts +3 -2
- package/lib/api/impl/validator/index.js +124 -109
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/base.js +2 -0
- package/lib/api/rest/base.js.map +1 -1
- package/lib/api/rest/index.d.ts +4 -5
- package/lib/api/rest/index.js +1 -2
- package/lib/api/rest/index.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +2 -2
- package/lib/chain/beaconProposerCache.js +2 -2
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +7 -7
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/index.js +1 -2
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +43 -37
- package/lib/chain/blocks/types.js +31 -15
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts +3 -3
- package/lib/chain/blocks/verifyBlock.js +1 -1
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +2 -2
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +17 -14
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +6 -6
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +2 -0
- package/lib/chain/chain.js +43 -5
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.js +2 -1
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +9 -0
- package/lib/chain/interface.js +6 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/options.js +2 -1
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +2 -0
- package/lib/chain/prepareNextSlot.js +31 -9
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/regen/interface.d.ts +1 -0
- package/lib/chain/regen/interface.js +1 -0
- package/lib/chain/regen/interface.js.map +1 -1
- package/lib/chain/rewards/attestationsRewards.js +3 -4
- package/lib/chain/rewards/attestationsRewards.js.map +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.js +2 -2
- package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +34 -18
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/execution/builder/http.d.ts +2 -2
- package/lib/execution/builder/http.js +14 -13
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +12 -2
- package/lib/metrics/metrics/beacon.js +11 -0
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/options.d.ts +1 -1
- package/lib/network/gossip/encoding.d.ts +3 -2
- package/lib/network/gossip/encoding.js +2 -2
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +2 -2
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +9 -3
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +10 -7
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/node/nodejs.d.ts +3 -7
- package/lib/sync/interface.d.ts +1 -1
- package/lib/sync/range/chain.js +2 -2
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/unknownBlock.js +2 -2
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/pendingBlocksTree.js +1 -1
- package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
- package/package.json +14 -14
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ You will need to go over the [specification](https://github.com/ethereum/consens
|
|
|
18
18
|
## Getting started
|
|
19
19
|
|
|
20
20
|
- Follow the [installation guide](https://chainsafe.github.io/lodestar/) to install Lodestar.
|
|
21
|
-
- Quickly try out the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/advanced-topics/setting-up-a-testnet/).
|
|
21
|
+
- Quickly try out the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet/).
|
|
22
22
|
|
|
23
23
|
## Contributors
|
|
24
24
|
|
package/lib/api/impl/api.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BeaconApiMethods } from "@lodestar/api/beacon/server";
|
|
2
2
|
import { ApiOptions } from "../options.js";
|
|
3
3
|
import { ApiModules } from "./types.js";
|
|
4
|
-
export declare function getApi(opts: ApiOptions, modules: ApiModules):
|
|
5
|
-
[K in keyof Api]: ServerApi<Api[K]>;
|
|
6
|
-
};
|
|
4
|
+
export declare function getApi(opts: ApiOptions, modules: ApiModules): BeaconApiMethods;
|
|
7
5
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../../types.js";
|
|
3
|
-
export declare function getBeaconBlockApi({ chain, config, metrics, network, db, }: Pick<ApiModules, "chain" | "config" | "metrics" | "network" | "db">):
|
|
4
|
+
export declare function getBeaconBlockApi({ chain, config, metrics, network, db, }: Pick<ApiModules, "chain" | "config" | "metrics" | "network" | "db">): ApplicationMethods<routes.beacon.block.Endpoints>;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { fromHexString, toHexString } from "@chainsafe/ssz";
|
|
2
1
|
import { routes } from "@lodestar/api";
|
|
3
2
|
import { computeEpochAtSlot, computeTimeAtSlot, reconstructFullBlockOrContents } from "@lodestar/state-transition";
|
|
4
3
|
import { SLOTS_PER_HISTORICAL_ROOT } from "@lodestar/params";
|
|
5
|
-
import { sleep, toHex } from "@lodestar/utils";
|
|
4
|
+
import { sleep, fromHex, toHex } from "@lodestar/utils";
|
|
6
5
|
import { isSignedBlockContents, ProducedBlockSource } from "@lodestar/types";
|
|
7
|
-
import { BlockSource, getBlockInput, BlobsSource } from "../../../../chain/blocks/types.js";
|
|
6
|
+
import { BlockSource, getBlockInput, BlobsSource, } from "../../../../chain/blocks/types.js";
|
|
8
7
|
import { promiseAllMaybeAsync } from "../../../../util/promises.js";
|
|
9
8
|
import { isOptimisticBlock } from "../../../../util/forkChoice.js";
|
|
10
9
|
import { computeBlobSidecars } from "../../../../util/blobs.js";
|
|
@@ -24,25 +23,30 @@ const MAX_API_CLOCK_DISPARITY_MS = 1000;
|
|
|
24
23
|
*/
|
|
25
24
|
const IDENTITY_PEER_ID = ""; // TODO: Compute identity keypair
|
|
26
25
|
export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
27
|
-
const publishBlock = async (signedBlockOrContents, opts = {}) => {
|
|
26
|
+
const publishBlock = async ({ signedBlockOrContents, broadcastValidation }, context, opts = {}) => {
|
|
28
27
|
const seenTimestampSec = Date.now() / 1000;
|
|
29
28
|
let blockForImport, signedBlock, blobSidecars;
|
|
30
29
|
if (isSignedBlockContents(signedBlockOrContents)) {
|
|
31
30
|
({ signedBlock } = signedBlockOrContents);
|
|
32
31
|
blobSidecars = computeBlobSidecars(config, signedBlock, signedBlockOrContents);
|
|
33
|
-
|
|
32
|
+
const blockData = {
|
|
33
|
+
fork: config.getForkName(signedBlock.message.slot),
|
|
34
|
+
blobs: blobSidecars,
|
|
35
|
+
blobsSource: BlobsSource.api,
|
|
36
|
+
blobsBytes: blobSidecars.map(() => null),
|
|
37
|
+
};
|
|
38
|
+
blockForImport = getBlockInput.availableData(config, signedBlock, BlockSource.api,
|
|
34
39
|
// don't bundle any bytes for block and blobs
|
|
35
|
-
null,
|
|
40
|
+
null, blockData);
|
|
36
41
|
}
|
|
37
42
|
else {
|
|
38
43
|
signedBlock = signedBlockOrContents;
|
|
39
44
|
blobSidecars = [];
|
|
40
|
-
|
|
41
|
-
blockForImport = getBlockInput.preDeneb(config, signedBlock, BlockSource.api, null);
|
|
45
|
+
blockForImport = getBlockInput.preData(config, signedBlock, BlockSource.api, context?.sszBytes ?? null);
|
|
42
46
|
}
|
|
43
47
|
// check what validations have been requested before broadcasting and publishing the block
|
|
44
48
|
// TODO: add validation time to metrics
|
|
45
|
-
|
|
49
|
+
broadcastValidation = broadcastValidation ?? routes.beacon.BroadcastValidation.gossip;
|
|
46
50
|
// if block is locally produced, full or blinded, it already is 'consensus' validated as it went through
|
|
47
51
|
// state transition to produce the stateRoot
|
|
48
52
|
const slot = signedBlock.message.slot;
|
|
@@ -86,7 +90,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
86
90
|
chain.persistInvalidSszValue(chain.config.getForkTypes(slot).SignedBeaconBlock, signedBlock, "api_reject_parent_unknown");
|
|
87
91
|
throw new BlockError(signedBlock, {
|
|
88
92
|
code: BlockErrorCode.PARENT_UNKNOWN,
|
|
89
|
-
parentRoot:
|
|
93
|
+
parentRoot: toHex(signedBlock.message.parentRoot),
|
|
90
94
|
});
|
|
91
95
|
}
|
|
92
96
|
try {
|
|
@@ -166,7 +170,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
166
170
|
];
|
|
167
171
|
await promiseAllMaybeAsync(publishPromises);
|
|
168
172
|
};
|
|
169
|
-
const publishBlindedBlock = async (signedBlindedBlock, opts = {}) => {
|
|
173
|
+
const publishBlindedBlock = async ({ signedBlindedBlock }, context, opts = {}) => {
|
|
170
174
|
const slot = signedBlindedBlock.message.slot;
|
|
171
175
|
const blockRoot = toHex(chain.config
|
|
172
176
|
.getBlindedForkTypes(signedBlindedBlock.message.slot)
|
|
@@ -183,7 +187,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
183
187
|
: null;
|
|
184
188
|
const signedBlockOrContents = reconstructFullBlockOrContents(signedBlindedBlock, { executionPayload, contents });
|
|
185
189
|
chain.logger.info("Publishing assembled block", { slot, blockRoot, source });
|
|
186
|
-
return publishBlock(signedBlockOrContents, opts);
|
|
190
|
+
return publishBlock({ signedBlockOrContents }, { ...context, sszBytes: null }, opts);
|
|
187
191
|
}
|
|
188
192
|
else {
|
|
189
193
|
const source = ProducedBlockSource.builder;
|
|
@@ -194,26 +198,25 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
194
198
|
//
|
|
195
199
|
// see: https://github.com/ChainSafe/lodestar/issues/5404
|
|
196
200
|
chain.logger.info("Publishing assembled block", { slot, blockRoot, source });
|
|
197
|
-
return publishBlock(signedBlockOrContents, { ...opts, ignoreIfKnown: true });
|
|
201
|
+
return publishBlock({ signedBlockOrContents }, { ...context, sszBytes: null }, { ...opts, ignoreIfKnown: true });
|
|
198
202
|
}
|
|
199
203
|
};
|
|
200
204
|
return {
|
|
201
|
-
async getBlockHeaders(
|
|
205
|
+
async getBlockHeaders({ slot, parentRoot }) {
|
|
202
206
|
// TODO - SLOW CODE: This code seems like it could be improved
|
|
203
207
|
// If one block in the response contains an optimistic block, mark the entire response as optimistic
|
|
204
208
|
let executionOptimistic = false;
|
|
205
209
|
// If one block in the response is non finalized, mark the entire response as unfinalized
|
|
206
210
|
let finalized = true;
|
|
207
211
|
const result = [];
|
|
208
|
-
if (
|
|
209
|
-
const
|
|
210
|
-
const finalizedBlock = await db.blockArchive.getByParentRoot(fromHexString(parentRoot));
|
|
212
|
+
if (parentRoot) {
|
|
213
|
+
const finalizedBlock = await db.blockArchive.getByParentRoot(fromHex(parentRoot));
|
|
211
214
|
if (finalizedBlock) {
|
|
212
215
|
result.push(toBeaconHeaderResponse(config, finalizedBlock, true));
|
|
213
216
|
}
|
|
214
217
|
const nonFinalizedBlocks = chain.forkChoice.getBlockSummariesByParentRoot(parentRoot);
|
|
215
218
|
await Promise.all(nonFinalizedBlocks.map(async (summary) => {
|
|
216
|
-
const block = await db.block.get(
|
|
219
|
+
const block = await db.block.get(fromHex(summary.blockRoot));
|
|
217
220
|
if (block) {
|
|
218
221
|
const canonical = chain.forkChoice.getCanonicalBlockAtSlot(block.message.slot);
|
|
219
222
|
if (canonical) {
|
|
@@ -227,26 +230,25 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
227
230
|
}
|
|
228
231
|
}));
|
|
229
232
|
return {
|
|
230
|
-
executionOptimistic,
|
|
231
|
-
finalized,
|
|
232
233
|
data: result.filter((item) =>
|
|
233
234
|
// skip if no slot filter
|
|
234
|
-
!(
|
|
235
|
+
!(slot !== undefined && slot !== 0) || item.header.message.slot === slot),
|
|
236
|
+
meta: { executionOptimistic, finalized },
|
|
235
237
|
};
|
|
236
238
|
}
|
|
237
239
|
const headSlot = chain.forkChoice.getHead().slot;
|
|
238
|
-
if (!
|
|
239
|
-
|
|
240
|
+
if (!parentRoot && slot === undefined) {
|
|
241
|
+
slot = headSlot;
|
|
240
242
|
}
|
|
241
|
-
if (
|
|
243
|
+
if (slot !== undefined) {
|
|
242
244
|
// future slot
|
|
243
|
-
if (
|
|
244
|
-
return {
|
|
245
|
+
if (slot > headSlot) {
|
|
246
|
+
return { data: [], meta: { executionOptimistic: false, finalized: false } };
|
|
245
247
|
}
|
|
246
|
-
const canonicalBlock = await chain.getCanonicalBlockAtSlot(
|
|
248
|
+
const canonicalBlock = await chain.getCanonicalBlockAtSlot(slot);
|
|
247
249
|
// skip slot
|
|
248
250
|
if (!canonicalBlock) {
|
|
249
|
-
return {
|
|
251
|
+
return { data: [], meta: { executionOptimistic: false, finalized: false } };
|
|
250
252
|
}
|
|
251
253
|
const canonicalRoot = config
|
|
252
254
|
.getForkTypes(canonicalBlock.block.message.slot)
|
|
@@ -257,13 +259,13 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
257
259
|
}
|
|
258
260
|
// fork blocks
|
|
259
261
|
// TODO: What is this logic?
|
|
260
|
-
await Promise.all(chain.forkChoice.getBlockSummariesAtSlot(
|
|
262
|
+
await Promise.all(chain.forkChoice.getBlockSummariesAtSlot(slot).map(async (summary) => {
|
|
261
263
|
if (isOptimisticBlock(summary)) {
|
|
262
264
|
executionOptimistic = true;
|
|
263
265
|
}
|
|
264
266
|
finalized = false;
|
|
265
|
-
if (summary.blockRoot !==
|
|
266
|
-
const block = await db.block.get(
|
|
267
|
+
if (summary.blockRoot !== toHex(canonicalRoot)) {
|
|
268
|
+
const block = await db.block.get(fromHex(summary.blockRoot));
|
|
267
269
|
if (block) {
|
|
268
270
|
result.push(toBeaconHeaderResponse(config, block));
|
|
269
271
|
}
|
|
@@ -271,94 +273,84 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
271
273
|
}));
|
|
272
274
|
}
|
|
273
275
|
return {
|
|
274
|
-
executionOptimistic,
|
|
275
|
-
finalized,
|
|
276
276
|
data: result,
|
|
277
|
+
meta: { executionOptimistic, finalized },
|
|
277
278
|
};
|
|
278
279
|
},
|
|
279
|
-
async getBlockHeader(blockId) {
|
|
280
|
+
async getBlockHeader({ blockId }) {
|
|
280
281
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
281
282
|
return {
|
|
282
|
-
executionOptimistic,
|
|
283
|
-
finalized,
|
|
284
283
|
data: toBeaconHeaderResponse(config, block, true),
|
|
284
|
+
meta: { executionOptimistic, finalized },
|
|
285
285
|
};
|
|
286
286
|
},
|
|
287
|
-
async getBlock(blockId
|
|
287
|
+
async getBlock({ blockId }) {
|
|
288
288
|
const { block } = await resolveBlockId(chain, blockId);
|
|
289
|
-
|
|
290
|
-
return config.getForkTypes(block.message.slot).SignedBeaconBlock.serialize(block);
|
|
291
|
-
}
|
|
292
|
-
return {
|
|
293
|
-
data: block,
|
|
294
|
-
};
|
|
289
|
+
return { data: block };
|
|
295
290
|
},
|
|
296
|
-
async getBlockV2(blockId
|
|
291
|
+
async getBlockV2({ blockId }) {
|
|
297
292
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
298
|
-
if (format === "ssz") {
|
|
299
|
-
return config.getForkTypes(block.message.slot).SignedBeaconBlock.serialize(block);
|
|
300
|
-
}
|
|
301
293
|
return {
|
|
302
|
-
executionOptimistic,
|
|
303
|
-
finalized,
|
|
304
294
|
data: block,
|
|
305
|
-
|
|
295
|
+
meta: {
|
|
296
|
+
executionOptimistic,
|
|
297
|
+
finalized,
|
|
298
|
+
version: config.getForkName(block.message.slot),
|
|
299
|
+
},
|
|
306
300
|
};
|
|
307
301
|
},
|
|
308
|
-
async getBlockAttestations(blockId) {
|
|
302
|
+
async getBlockAttestations({ blockId }) {
|
|
309
303
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
310
304
|
return {
|
|
311
|
-
executionOptimistic,
|
|
312
|
-
finalized,
|
|
313
305
|
data: Array.from(block.message.body.attestations),
|
|
306
|
+
meta: { executionOptimistic, finalized },
|
|
314
307
|
};
|
|
315
308
|
},
|
|
316
|
-
async getBlockRoot(blockId) {
|
|
309
|
+
async getBlockRoot({ blockId }) {
|
|
317
310
|
// Fast path: From head state already available in memory get historical blockRoot
|
|
318
311
|
const slot = typeof blockId === "string" ? parseInt(blockId) : blockId;
|
|
319
312
|
if (!Number.isNaN(slot)) {
|
|
320
313
|
const head = chain.forkChoice.getHead();
|
|
321
314
|
if (slot === head.slot) {
|
|
322
315
|
return {
|
|
323
|
-
|
|
324
|
-
finalized: false,
|
|
325
|
-
data: { root: fromHexString(head.blockRoot) },
|
|
316
|
+
data: { root: fromHex(head.blockRoot) },
|
|
317
|
+
meta: { executionOptimistic: isOptimisticBlock(head), finalized: false },
|
|
326
318
|
};
|
|
327
319
|
}
|
|
328
320
|
if (slot < head.slot && head.slot <= slot + SLOTS_PER_HISTORICAL_ROOT) {
|
|
329
321
|
const state = chain.getHeadState();
|
|
330
322
|
return {
|
|
331
|
-
executionOptimistic: isOptimisticBlock(head),
|
|
332
|
-
finalized: computeEpochAtSlot(slot) <= chain.forkChoice.getFinalizedCheckpoint().epoch,
|
|
333
323
|
data: { root: state.blockRoots.get(slot % SLOTS_PER_HISTORICAL_ROOT) },
|
|
324
|
+
meta: {
|
|
325
|
+
executionOptimistic: isOptimisticBlock(head),
|
|
326
|
+
finalized: computeEpochAtSlot(slot) <= chain.forkChoice.getFinalizedCheckpoint().epoch,
|
|
327
|
+
},
|
|
334
328
|
};
|
|
335
329
|
}
|
|
336
330
|
}
|
|
337
331
|
else if (blockId === "head") {
|
|
338
332
|
const head = chain.forkChoice.getHead();
|
|
339
333
|
return {
|
|
340
|
-
|
|
341
|
-
finalized: false,
|
|
342
|
-
data: { root: fromHexString(head.blockRoot) },
|
|
334
|
+
data: { root: fromHex(head.blockRoot) },
|
|
335
|
+
meta: { executionOptimistic: isOptimisticBlock(head), finalized: false },
|
|
343
336
|
};
|
|
344
337
|
}
|
|
345
338
|
// Slow path
|
|
346
339
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
347
340
|
return {
|
|
348
|
-
executionOptimistic,
|
|
349
|
-
finalized,
|
|
350
341
|
data: { root: config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message) },
|
|
342
|
+
meta: { executionOptimistic, finalized },
|
|
351
343
|
};
|
|
352
344
|
},
|
|
353
345
|
publishBlock,
|
|
354
346
|
publishBlindedBlock,
|
|
355
|
-
async publishBlindedBlockV2(
|
|
356
|
-
await publishBlindedBlock(
|
|
347
|
+
async publishBlindedBlockV2(args, context, opts) {
|
|
348
|
+
await publishBlindedBlock(args, context, opts);
|
|
357
349
|
},
|
|
358
|
-
async publishBlockV2(
|
|
359
|
-
await publishBlock(
|
|
350
|
+
async publishBlockV2(args, context, opts) {
|
|
351
|
+
await publishBlock(args, context, opts);
|
|
360
352
|
},
|
|
361
|
-
async getBlobSidecars(blockId, indices) {
|
|
353
|
+
async getBlobSidecars({ blockId, indices }) {
|
|
362
354
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
363
355
|
const blockRoot = config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message);
|
|
364
356
|
let { blobSidecars } = (await db.blobSidecars.get(blockRoot)) ?? {};
|
|
@@ -366,12 +358,15 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
366
358
|
({ blobSidecars } = (await db.blobSidecarsArchive.get(block.message.slot)) ?? {});
|
|
367
359
|
}
|
|
368
360
|
if (!blobSidecars) {
|
|
369
|
-
throw Error(`blobSidecars not found in db for slot=${block.message.slot} root=${
|
|
361
|
+
throw Error(`blobSidecars not found in db for slot=${block.message.slot} root=${toHex(blockRoot)}`);
|
|
370
362
|
}
|
|
371
363
|
return {
|
|
372
|
-
executionOptimistic,
|
|
373
|
-
finalized,
|
|
374
364
|
data: indices ? blobSidecars.filter(({ index }) => indices.includes(index)) : blobSidecars,
|
|
365
|
+
meta: {
|
|
366
|
+
executionOptimistic,
|
|
367
|
+
finalized,
|
|
368
|
+
version: config.getForkName(block.message.slot),
|
|
369
|
+
},
|
|
375
370
|
};
|
|
376
371
|
},
|
|
377
372
|
};
|
|
@@ -379,7 +374,7 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
379
374
|
async function reconstructBuilderBlockOrContents(chain, signedBlindedBlock) {
|
|
380
375
|
const executionBuilder = chain.executionBuilder;
|
|
381
376
|
if (!executionBuilder) {
|
|
382
|
-
throw Error("
|
|
377
|
+
throw Error("executionBuilder required to publish SignedBlindedBeaconBlock");
|
|
383
378
|
}
|
|
384
379
|
const signedBlockOrContents = await executionBuilder.submitBlindedBlock(signedBlindedBlock);
|
|
385
380
|
return signedBlockOrContents;
|
|
@@ -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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../types.js";
|
|
3
|
-
export declare function getBeaconApi(modules: Pick<ApiModules, "chain" | "config" | "logger" | "metrics" | "network" | "db">):
|
|
4
|
+
export declare function getBeaconApi(modules: Pick<ApiModules, "chain" | "config" | "logger" | "metrics" | "network" | "db">): ApplicationMethods<routes.beacon.Endpoints>;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/beacon/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/beacon/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,YAAY,CAC1B,OAAuF;IAEvF,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhC,OAAO;QACL,GAAG,KAAK;QACR,GAAG,IAAI;QACP,GAAG,KAAK;QACR,GAAG,OAAO;QAEV,KAAK,CAAC,UAAU;YACd,OAAO;gBACL,IAAI,EAAE;oBACJ,kBAAkB,EAAE,MAAM,CAAC,oBAAoB;oBAC/C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;iBACnD;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../../types.js";
|
|
3
|
-
export declare function getBeaconPoolApi({ chain, logger, metrics, network, }: Pick<ApiModules, "chain" | "logger" | "metrics" | "network">):
|
|
4
|
+
export declare function getBeaconPoolApi({ chain, logger, metrics, network, }: Pick<ApiModules, "chain" | "logger" | "metrics" | "network">): ApplicationMethods<routes.beacon.pool.Endpoints>;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -11,11 +11,11 @@ import { AttestationError, AttestationErrorCode, GossipAction, SyncCommitteeErro
|
|
|
11
11
|
import { validateGossipFnRetryUnknownRoot } from "../../../../network/processor/gossipHandlers.js";
|
|
12
12
|
export function getBeaconPoolApi({ chain, logger, metrics, network, }) {
|
|
13
13
|
return {
|
|
14
|
-
async getPoolAttestations(
|
|
14
|
+
async getPoolAttestations({ slot, committeeIndex }) {
|
|
15
15
|
// Already filtered by slot
|
|
16
|
-
let attestations = chain.aggregatedAttestationPool.getAll(
|
|
17
|
-
if (
|
|
18
|
-
attestations = attestations.filter((attestation) =>
|
|
16
|
+
let attestations = chain.aggregatedAttestationPool.getAll(slot);
|
|
17
|
+
if (committeeIndex !== undefined) {
|
|
18
|
+
attestations = attestations.filter((attestation) => committeeIndex === attestation.data.index);
|
|
19
19
|
}
|
|
20
20
|
return { data: attestations };
|
|
21
21
|
},
|
|
@@ -28,13 +28,13 @@ export function getBeaconPoolApi({ chain, logger, metrics, network, }) {
|
|
|
28
28
|
async getPoolVoluntaryExits() {
|
|
29
29
|
return { data: chain.opPool.getAllVoluntaryExits() };
|
|
30
30
|
},
|
|
31
|
-
async
|
|
31
|
+
async getPoolBLSToExecutionChanges() {
|
|
32
32
|
return { data: chain.opPool.getAllBlsToExecutionChanges().map(({ data }) => data) };
|
|
33
33
|
},
|
|
34
|
-
async submitPoolAttestations(
|
|
34
|
+
async submitPoolAttestations({ signedAttestations }) {
|
|
35
35
|
const seenTimestampSec = Date.now() / 1000;
|
|
36
36
|
const errors = [];
|
|
37
|
-
await Promise.all(
|
|
37
|
+
await Promise.all(signedAttestations.map(async (attestation, i) => {
|
|
38
38
|
try {
|
|
39
39
|
const fork = chain.config.getForkName(chain.clock.currentSlot);
|
|
40
40
|
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
@@ -74,23 +74,23 @@ export function getBeaconPoolApi({ chain, logger, metrics, network, }) {
|
|
|
74
74
|
throw errors[0];
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
|
-
async submitPoolAttesterSlashings(attesterSlashing) {
|
|
77
|
+
async submitPoolAttesterSlashings({ attesterSlashing }) {
|
|
78
78
|
await validateApiAttesterSlashing(chain, attesterSlashing);
|
|
79
79
|
chain.opPool.insertAttesterSlashing(attesterSlashing);
|
|
80
80
|
await network.publishAttesterSlashing(attesterSlashing);
|
|
81
81
|
},
|
|
82
|
-
async submitPoolProposerSlashings(proposerSlashing) {
|
|
82
|
+
async submitPoolProposerSlashings({ proposerSlashing }) {
|
|
83
83
|
await validateApiProposerSlashing(chain, proposerSlashing);
|
|
84
84
|
chain.opPool.insertProposerSlashing(proposerSlashing);
|
|
85
85
|
await network.publishProposerSlashing(proposerSlashing);
|
|
86
86
|
},
|
|
87
|
-
async submitPoolVoluntaryExit(
|
|
88
|
-
await validateApiVoluntaryExit(chain,
|
|
89
|
-
chain.opPool.insertVoluntaryExit(
|
|
90
|
-
chain.emitter.emit(routes.events.EventType.voluntaryExit,
|
|
91
|
-
await network.publishVoluntaryExit(
|
|
87
|
+
async submitPoolVoluntaryExit({ signedVoluntaryExit }) {
|
|
88
|
+
await validateApiVoluntaryExit(chain, signedVoluntaryExit);
|
|
89
|
+
chain.opPool.insertVoluntaryExit(signedVoluntaryExit);
|
|
90
|
+
chain.emitter.emit(routes.events.EventType.voluntaryExit, signedVoluntaryExit);
|
|
91
|
+
await network.publishVoluntaryExit(signedVoluntaryExit);
|
|
92
92
|
},
|
|
93
|
-
async
|
|
93
|
+
async submitPoolBLSToExecutionChange({ blsToExecutionChanges }) {
|
|
94
94
|
const errors = [];
|
|
95
95
|
await Promise.all(blsToExecutionChanges.map(async (blsToExecutionChange, i) => {
|
|
96
96
|
try {
|
|
@@ -105,11 +105,11 @@ export function getBeaconPoolApi({ chain, logger, metrics, network, }) {
|
|
|
105
105
|
}
|
|
106
106
|
catch (e) {
|
|
107
107
|
errors.push(e);
|
|
108
|
-
logger.error(`Error on
|
|
108
|
+
logger.error(`Error on submitPoolBLSToExecutionChange [${i}]`, { validatorIndex: blsToExecutionChange.message.validatorIndex }, e);
|
|
109
109
|
}
|
|
110
110
|
}));
|
|
111
111
|
if (errors.length > 1) {
|
|
112
|
-
throw Error("Multiple errors on
|
|
112
|
+
throw Error("Multiple errors on submitPoolBLSToExecutionChange\n" + errors.map((e) => e.message).join("\n"));
|
|
113
113
|
}
|
|
114
114
|
else if (errors.length === 1) {
|
|
115
115
|
throw errors[0];
|
|
@@ -125,7 +125,7 @@ export function getBeaconPoolApi({ chain, logger, metrics, network, }) {
|
|
|
125
125
|
*
|
|
126
126
|
* https://github.com/ethereum/beacon-APIs/pull/135
|
|
127
127
|
*/
|
|
128
|
-
async submitPoolSyncCommitteeSignatures(signatures) {
|
|
128
|
+
async submitPoolSyncCommitteeSignatures({ signatures }) {
|
|
129
129
|
// Fetch states for all slots of the `signatures`
|
|
130
130
|
const slots = new Set();
|
|
131
131
|
for (const signature of signatures) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/pool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/pool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EAAQ,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,2BAA2B,EAAC,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAC,2BAA2B,EAAC,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAC,+BAA+B,EAAC,MAAM,sDAAsD,CAAC;AACrG,OAAO,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAC;AAEvF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,gCAAgC,EAAC,MAAM,iDAAiD,CAAC;AAEjG,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACsD;IAC7D,OAAO;QACL,KAAK,CAAC,mBAAmB,CAAC,EAAC,IAAI,EAAE,cAAc,EAAC;YAC9C,2BAA2B;YAC3B,IAAI,YAAY,GAAG,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,cAAc,KAAK,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjG,CAAC;YAED,OAAO,EAAC,IAAI,EAAE,YAAY,EAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,wBAAwB;YAC5B,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,wBAAwB;YAC5B,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,qBAAqB;YACzB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAC,CAAC;QACrD,CAAC;QAED,KAAK,CAAC,4BAA4B;YAChC,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC;QAClF,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,EAAC,kBAAkB,EAAC;YAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC3C,MAAM,MAAM,GAAY,EAAE,CAAC;YAE3B,MAAM,OAAO,CAAC,GAAG,CACf,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC/D,4EAA4E;oBAC5E,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC;oBAClG,MAAM,EAAC,IAAI,EAAE,eAAe,EAAC,GAAG,WAAW,CAAC,IAAI,CAAC;oBACjD,yHAAyH;oBACzH,4FAA4F;oBAC5F,wDAAwD;oBACxD,MAAM,EAAC,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAC,GAAG,MAAM,gCAAgC,CACzF,UAAU,EACV,OAAO,EACP,KAAK,EACL,IAAI,EACJ,eAAe,CAChB,CAAC;oBAEF,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;wBAC7E,OAAO,EAAE,MAAM,CAAC,4BAA4B,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBACpE,CAAC;oBAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;oBAErE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC9E,OAAO,EAAE,mCAAmC,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBACxG,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,EAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC;oBAE5E,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,yBAAyB,EAAE,CAAC;wBACpG,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;wBACnD,qGAAqG;wBACrG,qHAAqH;wBACrH,OAAO;oBACT,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAU,CAAC,CAAC;oBAC3E,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;wBACtE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,6CAA6C,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvG,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,2BAA2B,CAAC,EAAC,gBAAgB,EAAC;YAClD,MAAM,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACtD,MAAM,OAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,2BAA2B,CAAC,EAAC,gBAAgB,EAAC;YAClD,MAAM,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACtD,MAAM,OAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,uBAAuB,CAAC,EAAC,mBAAmB,EAAC;YACjD,MAAM,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YAC3D,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YACtD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;YAC/E,MAAM,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,8BAA8B,CAAC,EAAC,qBAAqB,EAAC;YAC1D,MAAM,MAAM,GAAY,EAAE,CAAC;YAE3B,MAAM,OAAO,CAAC,GAAG,CACf,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE;gBAC1D,IAAI,CAAC;oBACH,iDAAiD;oBACjD,MAAM,+BAA+B,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACnE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAC9E,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;oBAE1E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;oBAEvF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,MAAM,OAAO,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CACV,4CAA4C,CAAC,GAAG,EAChD,EAAC,cAAc,EAAE,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAC,EAC7D,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,qDAAqD,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/G,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED;;;;;;;;;WASG;QACH,KAAK,CAAC,iCAAiC,CAAC,EAAC,UAAU,EAAC;YAClD,iDAAiD;YACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAS,CAAC;YAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,wCAAwC;YACxC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAY,EAAE,CAAC;YAE3B,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC5E,MAAM,kBAAkB,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACxF,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxE,OAAO,CAAC,8BAA8B;oBACxC,CAAC;oBAED,4HAA4H;oBAC5H,+FAA+F;oBAC/F,MAAM,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;oBAExD,uGAAuG;oBACvG,mFAAmF;oBACnF,MAAM,OAAO,GAAa,EAAE,CAAC;oBAE7B,KAAK,MAAM,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;wBAClD,2GAA2G;wBAC3G,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,0BAA0B,CAAC,CAAC;wBACzE,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,0BAA0B,CAAC;wBAC1E,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;wBAE3E,sFAAsF;wBACtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;4BACnE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;oBAED,wCAAwC;oBACxC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,2EAA2E;oBAC3E,8DAA8D;oBAC9D,IAAK,CAAW,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC;wBACtD,OAAO;oBACT,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CACV,+CAA+C,CAAC,GAAG,EACnD,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAC,EAChE,CAAU,CACX,CAAC;oBACF,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;wBACxE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBACzF,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,wDAAwD,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClH,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../../types.js";
|
|
3
|
-
export declare function getBeaconRewardsApi({ chain }: Pick<ApiModules, "chain">):
|
|
4
|
+
export declare function getBeaconRewardsApi({ chain, }: Pick<ApiModules, "chain">): ApplicationMethods<routes.beacon.rewards.Endpoints>;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { resolveBlockId } from "../blocks/utils.js";
|
|
2
|
-
export function getBeaconRewardsApi({ chain }) {
|
|
2
|
+
export function getBeaconRewardsApi({ chain, }) {
|
|
3
3
|
return {
|
|
4
|
-
async getBlockRewards(blockId) {
|
|
4
|
+
async getBlockRewards({ blockId }) {
|
|
5
5
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
6
6
|
const data = await chain.getBlockRewards(block.message);
|
|
7
|
-
return { data, executionOptimistic, finalized };
|
|
7
|
+
return { data, meta: { executionOptimistic, finalized } };
|
|
8
8
|
},
|
|
9
|
-
async getAttestationsRewards(epoch, validatorIds) {
|
|
9
|
+
async getAttestationsRewards({ epoch, validatorIds }) {
|
|
10
10
|
const { rewards, executionOptimistic, finalized } = await chain.getAttestationsRewards(epoch, validatorIds);
|
|
11
|
-
return { data: rewards, executionOptimistic, finalized };
|
|
11
|
+
return { data: rewards, meta: { executionOptimistic, finalized } };
|
|
12
12
|
},
|
|
13
|
-
async getSyncCommitteeRewards(blockId, validatorIds) {
|
|
13
|
+
async getSyncCommitteeRewards({ blockId, validatorIds }) {
|
|
14
14
|
const { block, executionOptimistic, finalized } = await resolveBlockId(chain, blockId);
|
|
15
15
|
const data = await chain.getSyncCommitteeRewards(block.message, validatorIds);
|
|
16
|
-
return { data, executionOptimistic, finalized };
|
|
16
|
+
return { data, meta: { 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/rewards/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,GACqB;IAC1B,OAAO;QACL,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,EAAC;YAC7B,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,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC;YAChD,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,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC;YACnD,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,IAAI,EAAE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { routes
|
|
1
|
+
import { routes } from "@lodestar/api";
|
|
2
|
+
import { ApplicationMethods } from "@lodestar/api/server";
|
|
2
3
|
import { ApiModules } from "../../types.js";
|
|
3
|
-
export declare function getBeaconStateApi({ chain, config, }: Pick<ApiModules, "chain" | "config">):
|
|
4
|
+
export declare function getBeaconStateApi({ chain, config, }: Pick<ApiModules, "chain" | "config">): ApplicationMethods<routes.beacon.state.Endpoints>;
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|