@lodestar/beacon-node 1.20.0-dev.c1532773c2 → 1.20.0-dev.f20ec4efe8
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 +69 -78
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/blocks/utils.d.ts +3 -3
- package/lib/api/impl/beacon/blocks/utils.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 +10 -23
- 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 +115 -111
- 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.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 +45 -39
- 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/verifyBlocksExecutionPayloads.d.ts +3 -3
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
- package/lib/chain/blocks/verifyBlocksSignatures.js +3 -1
- package/lib/chain/blocks/verifyBlocksSignatures.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 +70 -9
- package/lib/chain/chain.js +46 -8
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/errors/blockError.d.ts +3 -3
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/forkChoice/index.js +2 -1
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/initState.d.ts +3 -3
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +18 -9
- package/lib/chain/interface.js +6 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/lightClient/index.d.ts +9 -9
- package/lib/chain/lightClient/index.js +2 -2
- package/lib/chain/lightClient/index.js.map +1 -1
- package/lib/chain/lightClient/proofs.d.ts +2 -2
- package/lib/chain/lightClient/proofs.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +2 -2
- package/lib/chain/opPools/opPool.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/produceBlock/computeNewStateRoot.d.ts +2 -2
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -4
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +2 -2
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
- package/lib/chain/regen/interface.d.ts +4 -3
- package/lib/chain/regen/interface.js +1 -0
- package/lib/chain/regen/interface.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +3 -3
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +2 -2
- package/lib/chain/regen/regen.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/blockRewards.d.ts +2 -2
- package/lib/chain/rewards/blockRewards.js.map +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts +2 -2
- package/lib/chain/rewards/syncCommitteeRewards.js +2 -2
- package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js +34 -18
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/block.d.ts +2 -2
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/lightClientFinalityUpdate.d.ts +2 -2
- package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +3 -3
- package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/db/buckets.d.ts +1 -1
- package/lib/db/repositories/block.d.ts +5 -5
- package/lib/db/repositories/block.js.map +1 -1
- package/lib/db/repositories/blockArchive.d.ts +13 -13
- package/lib/db/repositories/blockArchive.js.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +4 -3
- package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
- package/lib/db/repositories/lightclientBestUpdate.d.ts +4 -4
- package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
- package/lib/db/repositories/lightclientCheckpointHeader.d.ts +4 -4
- package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
- package/lib/db/single/preGenesisState.js.map +1 -1
- package/lib/execution/builder/http.d.ts +5 -5
- package/lib/execution/builder/http.js +14 -13
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/builder/interface.d.ts +3 -3
- package/lib/execution/engine/http.d.ts +3 -3
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +3 -3
- package/lib/execution/engine/types.d.ts +3 -3
- package/lib/execution/engine/types.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/metrics/lodestar.d.ts +2 -2
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/options.d.ts +1 -1
- package/lib/metrics/validatorMonitor.d.ts +3 -3
- 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/gossip/interface.d.ts +7 -7
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/interface.d.ts +6 -6
- package/lib/network/network.d.ts +10 -10
- package/lib/network/network.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +2 -2
- package/lib/network/peers/peerManager.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/ReqRespBeaconNode.d.ts +2 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +2 -2
- 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/network/reqresp/types.d.ts +4 -4
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +2 -2
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
- package/lib/node/nodejs.d.ts +3 -7
- package/lib/sync/backfill/backfill.d.ts +2 -2
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/backfill/verify.d.ts +5 -5
- package/lib/sync/backfill/verify.js.map +1 -1
- 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/lib/util/blobs.d.ts +3 -3
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/multifork.d.ts +5 -4
- package/lib/util/multifork.js.map +1 -1
- package/package.json +14 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
2
|
-
import {
|
|
2
|
+
import { BeaconBlock, ValidatorIndex } from "@lodestar/types";
|
|
3
3
|
import { routes } from "@lodestar/api";
|
|
4
4
|
export type SyncCommitteeRewards = routes.beacon.SyncCommitteeRewards;
|
|
5
|
-
export declare function computeSyncCommitteeRewards(block:
|
|
5
|
+
export declare function computeSyncCommitteeRewards(block: BeaconBlock, preState: CachedBeaconStateAllForks, validatorIds?: (ValidatorIndex | string)[]): Promise<SyncCommitteeRewards>;
|
|
6
6
|
//# sourceMappingURL=syncCommitteeRewards.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ForkName, SYNC_COMMITTEE_SIZE } from "@lodestar/params";
|
|
2
|
-
export async function computeSyncCommitteeRewards(block, preState, validatorIds) {
|
|
2
|
+
export async function computeSyncCommitteeRewards(block, preState, validatorIds = []) {
|
|
3
3
|
const fork = preState.config.getForkName(block.slot);
|
|
4
4
|
if (fork === ForkName.phase0) {
|
|
5
5
|
throw Error("Cannot get sync rewards as phase0 block does not have sync committee");
|
|
@@ -25,7 +25,7 @@ export async function computeSyncCommitteeRewards(block, preState, validatorIds)
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
const rewards = Array.from(balances, ([validatorIndex, v]) => ({ validatorIndex, reward: v.val }));
|
|
28
|
-
if (validatorIds
|
|
28
|
+
if (validatorIds.length) {
|
|
29
29
|
const filtersSet = new Set(validatorIds);
|
|
30
30
|
return rewards.filter((reward) => filtersSet.has(reward.validatorIndex) || filtersSet.has(index2pubkey[reward.validatorIndex].toHex()));
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommitteeRewards.js","sourceRoot":"","sources":["../../../src/chain/rewards/syncCommitteeRewards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAM/D,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,
|
|
1
|
+
{"version":3,"file":"syncCommitteeRewards.js","sourceRoot":"","sources":["../../../src/chain/rewards/syncCommitteeRewards.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAM/D,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAkB,EAClB,QAAmC,EACnC,eAA4C,EAAE;IAE9C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,WAAW,GAAG,KAA2B,CAAC;IAChD,MAAM,cAAc,GAAG,QAAmC,CAAC;IAC3D,MAAM,EAAC,YAAY,EAAC,GAAG,cAAc,CAAC,QAAQ,CAAC;IAE/C,oFAAoF;IACpF,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,KAAK,CACjG,CAAC,EACD,mBAAmB,CACpB,CAAC;IACF,MAAM,EAAC,qBAAqB,EAAC,GAAG,cAAc,CAAC,QAAQ,CAAC;IACxD,MAAM,EAAC,iBAAiB,EAAC,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;IAE3D,iHAAiH;IACjH,MAAM,QAAQ,GAAuC,IAAI,GAAG,CAC1D,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CACxE,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAkB,CAAC;QACvD,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,oCAAoC;YACpC,aAAa,CAAC,GAAG,IAAI,qBAAqB,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC;IAEjG,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CACjH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deneb, RootHex,
|
|
1
|
+
import { deneb, RootHex, SignedBeaconBlock } from "@lodestar/types";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { BlockInput, NullBlockInput, GossipedInputType } from "../blocks/types.js";
|
|
4
4
|
import { Metrics } from "../../metrics/index.js";
|
|
@@ -8,7 +8,7 @@ export declare enum BlockInputAvailabilitySource {
|
|
|
8
8
|
}
|
|
9
9
|
type GossipedBlockInput = {
|
|
10
10
|
type: GossipedInputType.block;
|
|
11
|
-
signedBlock:
|
|
11
|
+
signedBlock: SignedBeaconBlock;
|
|
12
12
|
blockBytes: Uint8Array | null;
|
|
13
13
|
} | {
|
|
14
14
|
type: GossipedInputType.blob;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toHexString } from "@chainsafe/ssz";
|
|
2
2
|
import { ssz } from "@lodestar/types";
|
|
3
3
|
import { pruneSetToMax } from "@lodestar/utils";
|
|
4
|
-
import { BLOBSIDECAR_FIXED_SIZE,
|
|
4
|
+
import { BLOBSIDECAR_FIXED_SIZE, isForkBlobs } from "@lodestar/params";
|
|
5
5
|
import { getBlockInput, BlockSource, GossipedInputType, getBlockInputBlobs, BlobsSource, } from "../blocks/types.js";
|
|
6
6
|
export var BlockInputAvailabilitySource;
|
|
7
7
|
(function (BlockInputAvailabilitySource) {
|
|
@@ -33,20 +33,23 @@ export class SeenGossipBlockInput {
|
|
|
33
33
|
getGossipBlockInput(config, gossipedInput, metrics) {
|
|
34
34
|
let blockHex;
|
|
35
35
|
let blockCache;
|
|
36
|
+
let fork;
|
|
36
37
|
if (gossipedInput.type === GossipedInputType.block) {
|
|
37
38
|
const { signedBlock, blockBytes } = gossipedInput;
|
|
39
|
+
fork = config.getForkName(signedBlock.message.slot);
|
|
38
40
|
blockHex = toHexString(config.getForkTypes(signedBlock.message.slot).BeaconBlock.hashTreeRoot(signedBlock.message));
|
|
39
|
-
blockCache = this.blockInputCache.get(blockHex) ?? getEmptyBlockInputCacheEntry();
|
|
41
|
+
blockCache = this.blockInputCache.get(blockHex) ?? getEmptyBlockInputCacheEntry(fork);
|
|
40
42
|
blockCache.block = signedBlock;
|
|
41
43
|
blockCache.blockBytes = blockBytes;
|
|
42
44
|
}
|
|
43
45
|
else {
|
|
44
46
|
const { blobSidecar, blobBytes } = gossipedInput;
|
|
45
47
|
const blockRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(blobSidecar.signedBlockHeader.message);
|
|
48
|
+
fork = config.getForkName(blobSidecar.signedBlockHeader.message.slot);
|
|
46
49
|
blockHex = toHexString(blockRoot);
|
|
47
|
-
blockCache = this.blockInputCache.get(blockHex) ?? getEmptyBlockInputCacheEntry();
|
|
50
|
+
blockCache = this.blockInputCache.get(blockHex) ?? getEmptyBlockInputCacheEntry(fork);
|
|
48
51
|
// TODO: freetheblobs check if its the same blob or a duplicate and throw/take actions
|
|
49
|
-
blockCache.blobsCache.set(blobSidecar.index, {
|
|
52
|
+
blockCache.cachedData?.blobsCache.set(blobSidecar.index, {
|
|
50
53
|
blobSidecar,
|
|
51
54
|
// easily splice out the unsigned message as blob is a fixed length type
|
|
52
55
|
blobBytes: blobBytes?.slice(0, BLOBSIDECAR_FIXED_SIZE) ?? null,
|
|
@@ -55,14 +58,18 @@ export class SeenGossipBlockInput {
|
|
|
55
58
|
if (!this.blockInputCache.has(blockHex)) {
|
|
56
59
|
this.blockInputCache.set(blockHex, blockCache);
|
|
57
60
|
}
|
|
58
|
-
const { block: signedBlock, blockBytes,
|
|
61
|
+
const { block: signedBlock, blockBytes, blockInputPromise, resolveBlockInput, cachedData } = blockCache;
|
|
59
62
|
if (signedBlock !== undefined) {
|
|
60
|
-
if (
|
|
63
|
+
if (!isForkBlobs(fork)) {
|
|
61
64
|
return {
|
|
62
|
-
blockInput: getBlockInput.
|
|
65
|
+
blockInput: getBlockInput.preData(config, signedBlock, BlockSource.gossip, blockBytes ?? null),
|
|
63
66
|
blockInputMeta: { pending: null, haveBlobs: 0, expectedBlobs: 0 },
|
|
64
67
|
};
|
|
65
68
|
}
|
|
69
|
+
if (cachedData === undefined || !isForkBlobs(cachedData.fork)) {
|
|
70
|
+
throw Error("Missing or Invalid fork cached Data for deneb+ block");
|
|
71
|
+
}
|
|
72
|
+
const { blobsCache, resolveAvailability } = cachedData;
|
|
66
73
|
// block is available, check if all blobs have shown up
|
|
67
74
|
const { slot, body } = signedBlock.message;
|
|
68
75
|
const { blobKzgCommitments } = body;
|
|
@@ -72,18 +79,18 @@ export class SeenGossipBlockInput {
|
|
|
72
79
|
}
|
|
73
80
|
if (blobKzgCommitments.length === blobsCache.size) {
|
|
74
81
|
const allBlobs = getBlockInputBlobs(blobsCache);
|
|
75
|
-
|
|
82
|
+
const blockData = { ...allBlobs, blobsSource: BlobsSource.gossip, fork: cachedData.fork };
|
|
83
|
+
resolveAvailability(blockData);
|
|
76
84
|
metrics?.syncUnknownBlock.resolveAvailabilitySource.inc({ source: BlockInputAvailabilitySource.GOSSIP });
|
|
77
|
-
const
|
|
78
|
-
const blockInput = getBlockInput.postDeneb(config, signedBlock, BlockSource.gossip, blobs, BlobsSource.gossip, blockBytes ?? null, blobsBytes);
|
|
85
|
+
const blockInput = getBlockInput.availableData(config, signedBlock, BlockSource.gossip, blockBytes ?? null, blockData);
|
|
79
86
|
resolveBlockInput(blockInput);
|
|
80
87
|
return {
|
|
81
88
|
blockInput,
|
|
82
|
-
blockInputMeta: { pending: null, haveBlobs: blobs.length, expectedBlobs: blobKzgCommitments.length },
|
|
89
|
+
blockInputMeta: { pending: null, haveBlobs: allBlobs.blobs.length, expectedBlobs: blobKzgCommitments.length },
|
|
83
90
|
};
|
|
84
91
|
}
|
|
85
92
|
else {
|
|
86
|
-
const blockInput = getBlockInput.
|
|
93
|
+
const blockInput = getBlockInput.dataPromise(config, signedBlock, BlockSource.gossip, blockBytes ?? null, cachedData);
|
|
87
94
|
resolveBlockInput(blockInput);
|
|
88
95
|
return {
|
|
89
96
|
blockInput,
|
|
@@ -97,13 +104,15 @@ export class SeenGossipBlockInput {
|
|
|
97
104
|
}
|
|
98
105
|
else {
|
|
99
106
|
// will need to wait for the block to showup
|
|
107
|
+
if (cachedData === undefined) {
|
|
108
|
+
throw Error("Missing cachedData for deneb+ blobs");
|
|
109
|
+
}
|
|
110
|
+
const { blobsCache } = cachedData;
|
|
100
111
|
return {
|
|
101
112
|
blockInput: {
|
|
102
113
|
block: null,
|
|
103
114
|
blockRootHex: blockHex,
|
|
104
|
-
|
|
105
|
-
availabilityPromise,
|
|
106
|
-
resolveAvailability,
|
|
115
|
+
cachedData,
|
|
107
116
|
blockInputPromise,
|
|
108
117
|
},
|
|
109
118
|
blockInputMeta: { pending: GossipedInputType.block, haveBlobs: blobsCache.size, expectedBlobs: null },
|
|
@@ -111,21 +120,28 @@ export class SeenGossipBlockInput {
|
|
|
111
120
|
}
|
|
112
121
|
}
|
|
113
122
|
}
|
|
114
|
-
function getEmptyBlockInputCacheEntry() {
|
|
123
|
+
function getEmptyBlockInputCacheEntry(fork) {
|
|
115
124
|
// Capture both the promise and its callbacks for blockInput and final availability
|
|
116
125
|
// It is not spec'ed but in tests in Firefox and NodeJS the promise constructor is run immediately
|
|
117
126
|
let resolveBlockInput = null;
|
|
118
127
|
const blockInputPromise = new Promise((resolveCB) => {
|
|
119
128
|
resolveBlockInput = resolveCB;
|
|
120
129
|
});
|
|
130
|
+
if (resolveBlockInput === null) {
|
|
131
|
+
throw Error("Promise Constructor was not executed immediately");
|
|
132
|
+
}
|
|
133
|
+
if (!isForkBlobs(fork)) {
|
|
134
|
+
return { fork, blockInputPromise, resolveBlockInput };
|
|
135
|
+
}
|
|
121
136
|
let resolveAvailability = null;
|
|
122
137
|
const availabilityPromise = new Promise((resolveCB) => {
|
|
123
138
|
resolveAvailability = resolveCB;
|
|
124
139
|
});
|
|
125
|
-
if (resolveAvailability === null
|
|
140
|
+
if (resolveAvailability === null) {
|
|
126
141
|
throw Error("Promise Constructor was not executed immediately");
|
|
127
142
|
}
|
|
128
143
|
const blobsCache = new Map();
|
|
129
|
-
|
|
144
|
+
const cachedData = { fork, blobsCache, availabilityPromise, resolveAvailability };
|
|
145
|
+
return { fork, blockInputPromise, resolveBlockInput, cachedData };
|
|
130
146
|
}
|
|
131
147
|
//# sourceMappingURL=seenGossipBlockInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { allForks } from "@lodestar/types";
|
|
3
2
|
import { ForkName } from "@lodestar/params";
|
|
3
|
+
import { SignedBeaconBlock } from "@lodestar/types";
|
|
4
4
|
import { IBeaconChain } from "../interface.js";
|
|
5
|
-
export declare function validateGossipBlock(config: ChainForkConfig, chain: IBeaconChain, signedBlock:
|
|
5
|
+
export declare function validateGossipBlock(config: ChainForkConfig, chain: IBeaconChain, signedBlock: SignedBeaconBlock, fork: ForkName): Promise<void>;
|
|
6
6
|
//# sourceMappingURL=block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/chain/validation/block.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import {
|
|
2
|
+
import { LightClientFinalityUpdate } from "@lodestar/types";
|
|
3
3
|
import { IBeaconChain } from "../interface.js";
|
|
4
|
-
export declare function validateLightClientFinalityUpdate(config: ChainForkConfig, chain: IBeaconChain, gossipedFinalityUpdate:
|
|
4
|
+
export declare function validateLightClientFinalityUpdate(config: ChainForkConfig, chain: IBeaconChain, gossipedFinalityUpdate: LightClientFinalityUpdate): void;
|
|
5
5
|
//# sourceMappingURL=lightClientFinalityUpdate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightClientFinalityUpdate.js","sourceRoot":"","sources":["../../../src/chain/validation/lightClientFinalityUpdate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,sBAAsB,EAAC,MAAM,kCAAkC,CAAC;AAExE,+HAA+H;AAC/H,MAAM,UAAU,iCAAiC,CAC/C,MAAuB,EACvB,KAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"lightClientFinalityUpdate.js","sourceRoot":"","sources":["../../../src/chain/validation/lightClientFinalityUpdate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,sBAAsB,EAAC,MAAM,kCAAkC,CAAC;AAExE,+HAA+H;AAC/H,MAAM,UAAU,iCAAiC,CAC/C,MAAuB,EACvB,KAAmB,EACnB,sBAAiD;IAEjD,qHAAqH;IACrH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;IAChF,MAAM,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAExE,IAAI,mBAAmB,IAAI,oBAAoB,IAAI,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,iCAAiC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,gHAAgH;IAChH,uGAAuG;IACvG,+HAA+H;IAC/H,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,kCAAkC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAC/F,2BAA2B,CAC5B,CAAC;IACF,IAAI,mBAAmB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,kCAAkC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { allForks } from "@lodestar/types";
|
|
2
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { LightClientOptimisticUpdate } from "@lodestar/types";
|
|
3
3
|
import { IBeaconChain } from "../interface.js";
|
|
4
|
-
export declare function validateLightClientOptimisticUpdate(config: ChainForkConfig, chain: IBeaconChain, gossipedOptimisticUpdate:
|
|
4
|
+
export declare function validateLightClientOptimisticUpdate(config: ChainForkConfig, chain: IBeaconChain, gossipedOptimisticUpdate: LightClientOptimisticUpdate): void;
|
|
5
5
|
/**
|
|
6
6
|
* Returns true, if the spec condition below triggers an IGNORE.
|
|
7
7
|
*
|
|
@@ -13,5 +13,5 @@ export declare function validateLightClientOptimisticUpdate(config: ChainForkCon
|
|
|
13
13
|
* through the network -- i.e. validate that one-third of *update.signature_slot has transpired
|
|
14
14
|
* (SECONDS_PER_SLOT / INTERVALS_PER_SLOT seconds after the start of the slot, with a MAXIMUM_GOSSIP_CLOCK_DISPARITY allowance)
|
|
15
15
|
*/
|
|
16
|
-
export declare function updateReceivedTooEarly(config: ChainForkConfig, genesisTime: number, update: Pick<
|
|
16
|
+
export declare function updateReceivedTooEarly(config: ChainForkConfig, genesisTime: number, update: Pick<LightClientOptimisticUpdate, "signatureSlot">): boolean;
|
|
17
17
|
//# sourceMappingURL=lightClientOptimisticUpdate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightClientOptimisticUpdate.js","sourceRoot":"","sources":["../../../src/chain/validation/lightClientOptimisticUpdate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lightClientOptimisticUpdate.js","sourceRoot":"","sources":["../../../src/chain/validation/lightClientOptimisticUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,8BAA8B,EAAC,MAAM,0BAA0B,CAAC;AAExE,iIAAiI;AACjI,MAAM,UAAU,mCAAmC,CACjD,MAAuB,EACvB,KAAmB,EACnB,wBAAqD;IAErD,sHAAsH;IACtH,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;IACjF,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IAE5E,IAAI,qBAAqB,IAAI,oBAAoB,IAAI,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,mCAAmC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,kHAAkH;IAClH,yGAAyG;IACzG,+HAA+H;IAC/H,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,oCAAoC;SAChE,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CACjG,6BAA6B,CAC9B,CAAC;IACF,IAAI,qBAAqB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,IAAI,EAAE,oBAAoB,CAAC,oCAAoC;SAChE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAuB,EACvB,WAAmB,EACnB,MAA0D;IAE1D,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAC/G,MAAM,0BAA0B,GAAG,0BAA0B,GAAG,8BAA8B,CAAC;IAC/F,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,0BAA0B,CAAC;AACjD,CAAC"}
|
package/lib/db/buckets.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare enum Bucket {
|
|
|
13
13
|
phase0_proposerSlashing = 14,// ValidatorIndex -> ProposerSlashing
|
|
14
14
|
phase0_attesterSlashing = 15,// Root -> AttesterSlashing
|
|
15
15
|
capella_blsToExecutionChange = 16,// ValidatorIndex -> SignedBLSToExecutionChange
|
|
16
|
-
allForks_checkpointState = 17,// Root ->
|
|
16
|
+
allForks_checkpointState = 17,// Root -> BeaconState
|
|
17
17
|
phase0_depositEvent = 19,// depositIndex -> DepositEvent
|
|
18
18
|
index_stateArchiveRootIndex = 26,// State Root -> slot
|
|
19
19
|
allForks_blobSidecars = 27,// DENEB BeaconBlockRoot -> BlobSidecars
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { Db, Repository } from "@lodestar/db";
|
|
4
|
-
import {
|
|
4
|
+
import { SignedBeaconBlock } from "@lodestar/types";
|
|
5
5
|
/**
|
|
6
6
|
* Blocks by root
|
|
7
7
|
*
|
|
8
8
|
* Used to store unfinalized blocks
|
|
9
9
|
*/
|
|
10
|
-
export declare class BlockRepository extends Repository<Uint8Array,
|
|
10
|
+
export declare class BlockRepository extends Repository<Uint8Array, SignedBeaconBlock> {
|
|
11
11
|
constructor(config: ChainForkConfig, db: Db);
|
|
12
12
|
/**
|
|
13
13
|
* Id is hashTreeRoot of unsigned BeaconBlock
|
|
14
14
|
*/
|
|
15
|
-
getId(value:
|
|
16
|
-
encodeValue(value:
|
|
17
|
-
decodeValue(data: Buffer):
|
|
15
|
+
getId(value: SignedBeaconBlock): Uint8Array;
|
|
16
|
+
encodeValue(value: SignedBeaconBlock): Buffer;
|
|
17
|
+
decodeValue(data: Buffer): SignedBeaconBlock;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/db/repositories/block.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/db/repositories/block.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAoB,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,UAAyC;IAC5E,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,mCAAmC;QAC9E,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9F,CAAC;IAED,WAAW,CAAC,KAAwB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAW,CAAC;IACnG,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { Db, Repository, KeyValue, FilterOptions } from "@lodestar/db";
|
|
4
|
-
import { Slot, Root,
|
|
4
|
+
import { Slot, Root, SignedBeaconBlock } from "@lodestar/types";
|
|
5
5
|
export interface BlockFilterOptions extends FilterOptions<Slot> {
|
|
6
6
|
step?: number;
|
|
7
7
|
}
|
|
@@ -13,22 +13,22 @@ export type BlockArchiveBatchPutBinaryItem = KeyValue<Slot, Uint8Array> & {
|
|
|
13
13
|
/**
|
|
14
14
|
* Stores finalized blocks. Block slot is identifier.
|
|
15
15
|
*/
|
|
16
|
-
export declare class BlockArchiveRepository extends Repository<Slot,
|
|
16
|
+
export declare class BlockArchiveRepository extends Repository<Slot, SignedBeaconBlock> {
|
|
17
17
|
constructor(config: ChainForkConfig, db: Db);
|
|
18
|
-
encodeValue(value:
|
|
19
|
-
decodeValue(data: Uint8Array):
|
|
20
|
-
getId(value:
|
|
18
|
+
encodeValue(value: SignedBeaconBlock): Uint8Array;
|
|
19
|
+
decodeValue(data: Uint8Array): SignedBeaconBlock;
|
|
20
|
+
getId(value: SignedBeaconBlock): Slot;
|
|
21
21
|
decodeKey(data: Uint8Array): number;
|
|
22
|
-
put(key: Slot, value:
|
|
23
|
-
batchPut(items: KeyValue<Slot,
|
|
22
|
+
put(key: Slot, value: SignedBeaconBlock): Promise<void>;
|
|
23
|
+
batchPut(items: KeyValue<Slot, SignedBeaconBlock>[]): Promise<void>;
|
|
24
24
|
batchPutBinary(items: BlockArchiveBatchPutBinaryItem[]): Promise<void>;
|
|
25
|
-
remove(value:
|
|
26
|
-
batchRemove(values:
|
|
27
|
-
valuesStream(opts?: BlockFilterOptions): AsyncIterable<
|
|
28
|
-
values(opts?: BlockFilterOptions): Promise<
|
|
29
|
-
getByRoot(root: Root): Promise<
|
|
25
|
+
remove(value: SignedBeaconBlock): Promise<void>;
|
|
26
|
+
batchRemove(values: SignedBeaconBlock[]): Promise<void>;
|
|
27
|
+
valuesStream(opts?: BlockFilterOptions): AsyncIterable<SignedBeaconBlock>;
|
|
28
|
+
values(opts?: BlockFilterOptions): Promise<SignedBeaconBlock[]>;
|
|
29
|
+
getByRoot(root: Root): Promise<SignedBeaconBlock | null>;
|
|
30
30
|
getBinaryEntryByRoot(root: Root): Promise<KeyValue<Slot, Buffer> | null>;
|
|
31
|
-
getByParentRoot(root: Root): Promise<
|
|
31
|
+
getByParentRoot(root: Root): Promise<SignedBeaconBlock | null>;
|
|
32
32
|
getSlotByRoot(root: Root): Promise<Slot | null>;
|
|
33
33
|
getSlotByParentRoot(root: Root): Promise<Slot | null>;
|
|
34
34
|
private parseSlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchive.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,OAAO,EAAK,UAAU,EAA0B,MAAM,cAAc,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"blockArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Db } from "@lodestar/db";
|
|
2
|
-
import { Slot, Root,
|
|
2
|
+
import { Slot, Root, SignedBeaconBlock, SSZTypesFor } from "@lodestar/types";
|
|
3
|
+
import { ForkAll } from "@lodestar/params";
|
|
3
4
|
export declare function storeRootIndex(db: Db, slot: Slot, blockRoot: Root): Promise<void>;
|
|
4
5
|
export declare function storeParentRootIndex(db: Db, slot: Slot, parentRoot: Root): Promise<void>;
|
|
5
|
-
export declare function deleteRootIndex(db: Db, signedBeaconBlockType:
|
|
6
|
-
export declare function deleteParentRootIndex(db: Db, block:
|
|
6
|
+
export declare function deleteRootIndex(db: Db, signedBeaconBlockType: SSZTypesFor<ForkAll, "SignedBeaconBlock">, block: SignedBeaconBlock): Promise<void>;
|
|
7
|
+
export declare function deleteParentRootIndex(db: Db, block: SignedBeaconBlock): Promise<void>;
|
|
7
8
|
export declare function getParentRootIndexKey(parentRoot: Root): Uint8Array;
|
|
8
9
|
export declare function getRootIndexKey(root: Root): Uint8Array;
|
|
9
10
|
//# sourceMappingURL=blockArchiveIndex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockArchiveIndex.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"blockArchiveIndex.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAM,EAAE,IAAU,EAAE,SAAe;IACtE,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAM,EAAE,IAAU,EAAE,UAAgB;IAC7E,OAAO,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAM,EACN,qBAAgE,EAChE,KAAwB;IAExB,MAAM,eAAe,GAAI,qBAA6D,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzG,OAAO,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAM,EAAE,KAAwB;IAC1E,OAAO,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAgB;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { DatabaseController, Repository } from "@lodestar/db";
|
|
3
|
-
import {
|
|
3
|
+
import { LightClientUpdate, SyncPeriod } from "@lodestar/types";
|
|
4
4
|
/**
|
|
5
5
|
* Best PartialLightClientUpdate in each SyncPeriod
|
|
6
6
|
*
|
|
7
7
|
* Used to prepare light client updates
|
|
8
8
|
*/
|
|
9
|
-
export declare class BestLightClientUpdateRepository extends Repository<SyncPeriod,
|
|
9
|
+
export declare class BestLightClientUpdateRepository extends Repository<SyncPeriod, LightClientUpdate> {
|
|
10
10
|
constructor(config: ChainForkConfig, db: DatabaseController<Uint8Array, Uint8Array>);
|
|
11
|
-
encodeValue(value:
|
|
12
|
-
decodeValue(data: Uint8Array):
|
|
11
|
+
encodeValue(value: LightClientUpdate): Uint8Array;
|
|
12
|
+
decodeValue(data: Uint8Array): LightClientUpdate;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=lightclientBestUpdate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightclientBestUpdate.js","sourceRoot":"","sources":["../../../src/db/repositories/lightclientBestUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"lightclientBestUpdate.js","sourceRoot":"","sources":["../../../src/db/repositories/lightclientBestUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAoB,GAAG,EAAa,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;GAIG;AACH,MAAM,OAAO,+BAAgC,SAAQ,UAAyC;IAC5F,YAAY,MAAuB,EAAE,EAA8C;QACjF,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,iCAAiC,CAAC;QACxD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,2BAA2B;IAC3B,WAAW,CAAC,KAAwB;QAClC,mFAAmF;QACnF,wCAAwC;QACxC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM;aAC3B,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;aACzD,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACzE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/B,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAE9C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,IAAgB;QAC1B,wBAAwB;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IACjH,CAAC;CACF"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { DatabaseController, Repository } from "@lodestar/db";
|
|
3
|
-
import {
|
|
3
|
+
import { LightClientHeader } from "@lodestar/types";
|
|
4
4
|
/**
|
|
5
5
|
* Block headers by block root. Until finality includes all headers seen by this node. After finality,
|
|
6
6
|
* all non-checkpoint headers are pruned from this repository.
|
|
7
7
|
*
|
|
8
8
|
* Used to prepare light client updates
|
|
9
9
|
*/
|
|
10
|
-
export declare class CheckpointHeaderRepository extends Repository<Uint8Array,
|
|
10
|
+
export declare class CheckpointHeaderRepository extends Repository<Uint8Array, LightClientHeader> {
|
|
11
11
|
constructor(config: ChainForkConfig, db: DatabaseController<Uint8Array, Uint8Array>);
|
|
12
|
-
encodeValue(value:
|
|
13
|
-
decodeValue(data: Uint8Array):
|
|
12
|
+
encodeValue(value: LightClientHeader): Uint8Array;
|
|
13
|
+
decodeValue(data: Uint8Array): LightClientHeader;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=lightclientCheckpointHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightclientCheckpointHeader.js","sourceRoot":"","sources":["../../../src/db/repositories/lightclientCheckpointHeader.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"lightclientCheckpointHeader.js","sourceRoot":"","sources":["../../../src/db/repositories/lightclientCheckpointHeader.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAoB,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,iCAAiC,EAAC,MAAM,yBAAyB,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAyC;IACvF,YAAY,MAAuB,EAAE,EAA8C;QACjF,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;QACnD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,2BAA2B;IAC3B,WAAW,CAAC,KAAwB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnG,CAAC;IAED,WAAW,CAAC,IAAgB;QAC1B,OAAO,iCAAiC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,MAAM,OAAO,eAAe;IAO1B,YAAY,MAAuB,EAAE,EAAM;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAA0B;QAClC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bellatrix, Slot, Root, BLSPubkey, deneb, Wei, SignedBeaconBlockOrContents, SignedBlindedBeaconBlock, ExecutionPayloadHeader } from "@lodestar/types";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { Logger } from "@lodestar/logger";
|
|
4
|
-
import {
|
|
4
|
+
import { ApiClient as BuilderApi } from "@lodestar/api/builder";
|
|
5
5
|
import { ForkExecution } from "@lodestar/params";
|
|
6
6
|
import { Metrics } from "../../metrics/metrics.js";
|
|
7
7
|
import { IExecutionBuilder } from "./interface.js";
|
|
@@ -26,11 +26,11 @@ export declare class ExecutionBuilderHttp implements IExecutionBuilder {
|
|
|
26
26
|
updateStatus(shouldEnable: boolean): void;
|
|
27
27
|
checkStatus(): Promise<void>;
|
|
28
28
|
registerValidator(registrations: bellatrix.SignedValidatorRegistrationV1[]): Promise<void>;
|
|
29
|
-
getHeader(
|
|
30
|
-
header:
|
|
29
|
+
getHeader(_fork: ForkExecution, slot: Slot, parentHash: Root, proposerPubkey: BLSPubkey): Promise<{
|
|
30
|
+
header: ExecutionPayloadHeader;
|
|
31
31
|
executionPayloadValue: Wei;
|
|
32
32
|
blobKzgCommitments?: deneb.BlobKzgCommitments;
|
|
33
33
|
}>;
|
|
34
|
-
submitBlindedBlock(signedBlindedBlock:
|
|
34
|
+
submitBlindedBlock(signedBlindedBlock: SignedBlindedBeaconBlock): Promise<SignedBeaconBlockOrContents>;
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=http.d.ts.map
|
|
@@ -2,7 +2,6 @@ import { parseExecutionPayloadAndBlobsBundle, reconstructFullBlockOrContents } f
|
|
|
2
2
|
import { getClient } from "@lodestar/api/builder";
|
|
3
3
|
import { SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
4
4
|
import { toSafePrintableUrl } from "@lodestar/utils";
|
|
5
|
-
import { ApiError } from "@lodestar/api";
|
|
6
5
|
export const defaultExecutionBuilderHttpOpts = {
|
|
7
6
|
enabled: false,
|
|
8
7
|
url: "http://localhost:8661",
|
|
@@ -17,8 +16,10 @@ export class ExecutionBuilderHttp {
|
|
|
17
16
|
throw Error("No Url provided for executionBuilder");
|
|
18
17
|
this.api = getClient({
|
|
19
18
|
baseUrl,
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
globalInit: {
|
|
20
|
+
timeoutMs: opts.timeout,
|
|
21
|
+
headers: opts.userAgent ? { "User-Agent": opts.userAgent } : undefined,
|
|
22
|
+
},
|
|
22
23
|
}, { config, metrics: metrics?.builderHttpClient });
|
|
23
24
|
logger?.info("External builder", { url: toSafePrintableUrl(baseUrl) });
|
|
24
25
|
this.config = config;
|
|
@@ -40,7 +41,7 @@ export class ExecutionBuilderHttp {
|
|
|
40
41
|
}
|
|
41
42
|
async checkStatus() {
|
|
42
43
|
try {
|
|
43
|
-
await this.api.status();
|
|
44
|
+
(await this.api.status()).assertOk();
|
|
44
45
|
}
|
|
45
46
|
catch (e) {
|
|
46
47
|
// Disable if the status was enabled
|
|
@@ -49,19 +50,19 @@ export class ExecutionBuilderHttp {
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
async registerValidator(registrations) {
|
|
52
|
-
|
|
53
|
+
(await this.api.registerValidator({ registrations })).assertOk();
|
|
53
54
|
}
|
|
54
|
-
async getHeader(
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
async getHeader(_fork, slot, parentHash, proposerPubkey) {
|
|
56
|
+
const signedBuilderBid = (await this.api.getHeader({ slot, parentHash, proposerPubkey })).value();
|
|
57
|
+
if (!signedBuilderBid) {
|
|
58
|
+
throw Error("No bid received");
|
|
59
|
+
}
|
|
60
|
+
const { header, value: executionPayloadValue } = signedBuilderBid.message;
|
|
61
|
+
const { blobKzgCommitments } = signedBuilderBid.message;
|
|
59
62
|
return { header, executionPayloadValue, blobKzgCommitments };
|
|
60
63
|
}
|
|
61
64
|
async submitBlindedBlock(signedBlindedBlock) {
|
|
62
|
-
const
|
|
63
|
-
ApiError.assert(res, "execution.builder.submitBlindedBlock");
|
|
64
|
-
const { data } = res.response;
|
|
65
|
+
const data = (await this.api.submitBlindedBlock({ signedBlindedBlock }, { retries: 2 })).value();
|
|
65
66
|
const { executionPayload, blobsBundle } = parseExecutionPayloadAndBlobsBundle(data);
|
|
66
67
|
// for the sake of timely proposals we can skip matching the payload with payloadHeader
|
|
67
68
|
// if the roots (transactions, withdrawals) don't match, this will likely lead to a block with
|