@lodestar/beacon-node 1.34.1 → 1.35.0-dev.6953c24bc9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +13 -7
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/debug/index.js +20 -9
  4. package/lib/api/impl/debug/index.js.map +1 -1
  5. package/lib/chain/archiveStore/utils/archiveBlocks.js +10 -7
  6. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  7. package/lib/chain/blocks/importBlock.js +20 -20
  8. package/lib/chain/blocks/importBlock.js.map +1 -1
  9. package/lib/chain/blocks/types.d.ts +0 -2
  10. package/lib/chain/blocks/writeBlockInputToDb.js +4 -1
  11. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  12. package/lib/chain/interface.d.ts +1 -0
  13. package/lib/chain/prepareNextSlot.js +2 -0
  14. package/lib/chain/prepareNextSlot.js.map +1 -1
  15. package/lib/db/repositories/blockArchive.js +3 -3
  16. package/lib/db/repositories/blockArchive.js.map +1 -1
  17. package/lib/db/repositories/blockArchiveIndex.d.ts +4 -0
  18. package/lib/db/repositories/blockArchiveIndex.js +13 -5
  19. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  20. package/lib/db/repositories/dataColumnSidecar.js +8 -7
  21. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  22. package/lib/db/repositories/dataColumnSidecarArchive.js +17 -7
  23. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  24. package/lib/db/repositories/stateArchive.js +3 -2
  25. package/lib/db/repositories/stateArchive.js.map +1 -1
  26. package/lib/db/repositories/stateArchiveIndex.d.ts +1 -0
  27. package/lib/db/repositories/stateArchiveIndex.js +6 -2
  28. package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
  29. package/lib/db/single/preGenesisState.d.ts +1 -0
  30. package/lib/db/single/preGenesisState.js +5 -4
  31. package/lib/db/single/preGenesisState.js.map +1 -1
  32. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +1 -0
  33. package/lib/db/single/preGenesisStateLastProcessedBlock.js +5 -4
  34. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  35. package/lib/metrics/metrics/lodestar.js +1 -1
  36. package/lib/metrics/metrics/lodestar.js.map +1 -1
  37. package/lib/network/processor/gossipHandlers.js +0 -1
  38. package/lib/network/processor/gossipHandlers.js.map +1 -1
  39. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +1 -2
  40. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  41. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +8 -4
  42. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  43. package/package.json +14 -14
@@ -4,7 +4,7 @@ import { bytesToInt } from "@lodestar/utils";
4
4
  import all from "it-all";
5
5
  import { getSignedBlockTypeFromBytes } from "../../util/multifork.js";
6
6
  import { Bucket, getBucketNameByValue } from "../buckets.js";
7
- import { getParentRootIndexKey, getRootIndexKey } from "./blockArchiveIndex.js";
7
+ import { getParentRootIndex, getRootIndex } from "./blockArchiveIndex.js";
8
8
  import { deleteParentRootIndex, deleteRootIndex, storeParentRootIndex, storeRootIndex } from "./blockArchiveIndex.js";
9
9
  /**
10
10
  * Stores finalized blocks. Block slot is identifier.
@@ -102,10 +102,10 @@ export class BlockArchiveRepository extends Repository {
102
102
  return slot !== null ? this.get(slot) : null;
103
103
  }
104
104
  async getSlotByRoot(root) {
105
- return this.parseSlot(await this.db.get(getRootIndexKey(root)));
105
+ return this.parseSlot(await getRootIndex(this.db, root));
106
106
  }
107
107
  async getSlotByParentRoot(root) {
108
- return this.parseSlot(await this.db.get(getParentRootIndexKey(root)));
108
+ return this.parseSlot(await getParentRootIndex(this.db, root));
109
109
  }
110
110
  parseSlot(slotBytes) {
111
111
  if (!slotBytes)
@@ -1 +1 @@
1
- {"version":3,"file":"blockArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchive.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { Db } from "@lodestar/db";
2
2
  import { ForkAll } from "@lodestar/params";
3
3
  import { Root, SSZTypesFor, SignedBeaconBlock, Slot } from "@lodestar/types";
4
+ export declare const rootIndexBucketId: "allForks_stateArchive" | "allForks_block" | "allForks_blockArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_mainChain" | "index_chainInfo" | "phase0_eth1Data" | "index_depositDataRoot" | "phase0_depositData" | "phase0_exit" | "phase0_proposerSlashing" | "allForks_attesterSlashing" | "capella_blsToExecutionChange" | "allForks_checkpointState" | "phase0_depositEvent" | "index_stateArchiveRootIndex" | "allForks_blobSidecars" | "allForks_blobSidecarsArchive" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "backfilled_ranges" | "lightClient_syncCommitteeWitness" | "lightClient_syncCommittee" | "lightClient_checkpointHeader" | "lightClient_bestLightClientUpdate" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive";
5
+ export declare const parentRootIndexBucketId: "allForks_stateArchive" | "allForks_block" | "allForks_blockArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_mainChain" | "index_chainInfo" | "phase0_eth1Data" | "index_depositDataRoot" | "phase0_depositData" | "phase0_exit" | "phase0_proposerSlashing" | "allForks_attesterSlashing" | "capella_blsToExecutionChange" | "allForks_checkpointState" | "phase0_depositEvent" | "index_stateArchiveRootIndex" | "allForks_blobSidecars" | "allForks_blobSidecarsArchive" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "backfilled_ranges" | "lightClient_syncCommitteeWitness" | "lightClient_syncCommittee" | "lightClient_checkpointHeader" | "lightClient_bestLightClientUpdate" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive";
6
+ export declare function getRootIndex(db: Db, blockRoot: Root): Promise<Uint8Array | null>;
7
+ export declare function getParentRootIndex(db: Db, parentRoot: Root): Promise<Uint8Array | null>;
4
8
  export declare function storeRootIndex(db: Db, slot: Slot, blockRoot: Root): Promise<void>;
5
9
  export declare function storeParentRootIndex(db: Db, slot: Slot, parentRoot: Root): Promise<void>;
6
10
  export declare function deleteRootIndex(db: Db, signedBeaconBlockType: SSZTypesFor<ForkAll, "SignedBeaconBlock">, block: SignedBeaconBlock): Promise<void>;
@@ -1,18 +1,26 @@
1
1
  import { encodeKey } from "@lodestar/db";
2
2
  import { intToBytes } from "@lodestar/utils";
3
- import { Bucket } from "../buckets.js";
3
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
4
+ export const rootIndexBucketId = getBucketNameByValue(Bucket.index_blockArchiveRootIndex);
5
+ export const parentRootIndexBucketId = getBucketNameByValue(Bucket.index_blockArchiveParentRootIndex);
6
+ export async function getRootIndex(db, blockRoot) {
7
+ return db.get(getRootIndexKey(blockRoot), { bucketId: rootIndexBucketId });
8
+ }
9
+ export async function getParentRootIndex(db, parentRoot) {
10
+ return db.get(getParentRootIndexKey(parentRoot), { bucketId: parentRootIndexBucketId });
11
+ }
4
12
  export async function storeRootIndex(db, slot, blockRoot) {
5
- return db.put(getRootIndexKey(blockRoot), intToBytes(slot, 8, "be"));
13
+ return db.put(getRootIndexKey(blockRoot), intToBytes(slot, 8, "be"), { bucketId: rootIndexBucketId });
6
14
  }
7
15
  export async function storeParentRootIndex(db, slot, parentRoot) {
8
- return db.put(getParentRootIndexKey(parentRoot), intToBytes(slot, 8, "be"));
16
+ return db.put(getParentRootIndexKey(parentRoot), intToBytes(slot, 8, "be"), { bucketId: parentRootIndexBucketId });
9
17
  }
10
18
  export async function deleteRootIndex(db, signedBeaconBlockType, block) {
11
19
  const beaconBlockType = signedBeaconBlockType.fields.message;
12
- return db.delete(getRootIndexKey(beaconBlockType.hashTreeRoot(block.message)));
20
+ return db.delete(getRootIndexKey(beaconBlockType.hashTreeRoot(block.message)), { bucketId: rootIndexBucketId });
13
21
  }
14
22
  export async function deleteParentRootIndex(db, block) {
15
- return db.delete(getParentRootIndexKey(block.message.parentRoot));
23
+ return db.delete(getParentRootIndexKey(block.message.parentRoot), { bucketId: parentRootIndexBucketId });
16
24
  }
17
25
  export function getParentRootIndexKey(parentRoot) {
18
26
  return encodeKey(Bucket.index_blockArchiveParentRootIndex, parentRoot);
@@ -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;AAG3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,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,OAAO,CAAC;IACtG,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
+ {"version":3,"file":"blockArchiveIndex.js","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAEtG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAM,EAAE,SAAe;IACxD,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAM,EAAE,UAAgB;IAC/D,OAAO,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAC,CAAC,CAAC;AACxF,CAAC;AAED,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,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;AACtG,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,EAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAC,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAM,EACN,qBAAgE,EAChE,KAAwB;IAExB,MAAM,eAAe,GAAI,qBAA6D,CAAC,MAAM,CAAC,OAAO,CAAC;IACtG,OAAO,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;AAChH,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,EAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAC,CAAC,CAAC;AACzG,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,8 +1,9 @@
1
- import { PrefixedRepository } from "@lodestar/db";
1
+ import { decodeNumberForDbKey, encodeNumberForDbKey, PrefixedRepository } from "@lodestar/db";
2
2
  import { NUMBER_OF_COLUMNS } from "@lodestar/params";
3
3
  import { ssz } from "@lodestar/types";
4
- import { bytesToInt, intToBytes } from "@lodestar/utils";
5
4
  import { Bucket, getBucketNameByValue } from "../buckets.js";
5
+ const COLUMN_INDEX_BYTE_SIZE = 2;
6
+ const BLOCK_ROOT_BYTE_SIZE = 32;
6
7
  /**
7
8
  * DataColumnSidecarsRepository
8
9
  * Used to store `unfinalized` DataColumnSidecars
@@ -21,19 +22,19 @@ export class DataColumnSidecarRepository extends PrefixedRepository {
21
22
  return value.index;
22
23
  }
23
24
  encodeKeyRaw(prefix, id) {
24
- return Buffer.concat([prefix, intToBytes(id, 4)]);
25
+ return Buffer.concat([prefix, encodeNumberForDbKey(id, COLUMN_INDEX_BYTE_SIZE)]);
25
26
  }
26
27
  decodeKeyRaw(raw) {
27
28
  return {
28
- prefix: raw.slice(0, 32),
29
- id: bytesToInt(raw.slice(32, 36)),
29
+ prefix: raw.slice(0, BLOCK_ROOT_BYTE_SIZE),
30
+ id: decodeNumberForDbKey(raw.slice(BLOCK_ROOT_BYTE_SIZE), COLUMN_INDEX_BYTE_SIZE),
30
31
  };
31
32
  }
32
33
  getMaxKeyRaw(prefix) {
33
- return Buffer.concat([prefix, intToBytes(NUMBER_OF_COLUMNS, 4)]);
34
+ return Buffer.concat([prefix, encodeNumberForDbKey(NUMBER_OF_COLUMNS - 1, COLUMN_INDEX_BYTE_SIZE)]);
34
35
  }
35
36
  getMinKeyRaw(prefix) {
36
- return Buffer.concat([prefix, intToBytes(0, 4)]);
37
+ return Buffer.concat([prefix, encodeNumberForDbKey(0, COLUMN_INDEX_BYTE_SIZE)]);
37
38
  }
38
39
  }
39
40
  //# sourceMappingURL=dataColumnSidecar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAI3D;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAAkE;IACjH,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAClD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAA6B;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,MAAiB,EAAE,EAAe;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,GAAe;QAC1B,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAc;YACrC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAgB;SACjD,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAIhC;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAAkE;IACjH,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAClD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAA6B;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,MAAiB,EAAE,EAAe;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,YAAY,CAAC,GAAe;QAC1B,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAc;YACvD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,sBAAsB,CAAgB;SACjG,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -1,8 +1,9 @@
1
- import { PrefixedRepository } from "@lodestar/db";
1
+ import { decodeNumberForDbKey, encodeNumberForDbKey, PrefixedRepository } from "@lodestar/db";
2
2
  import { NUMBER_OF_COLUMNS } from "@lodestar/params";
3
3
  import { ssz } from "@lodestar/types";
4
- import { bytesToInt, intToBytes } from "@lodestar/utils";
5
4
  import { Bucket, getBucketNameByValue } from "../buckets.js";
5
+ const COLUMN_INDEX_BYTE_SIZE = 2;
6
+ const SLOT_BYTE_SIZE = 8;
6
7
  /**
7
8
  * DataColumnSidecarsRepository
8
9
  * Used to store `finalized` DataColumnSidecars
@@ -21,19 +22,28 @@ export class DataColumnSidecarArchiveRepository extends PrefixedRepository {
21
22
  return value.index;
22
23
  }
23
24
  encodeKeyRaw(prefix, id) {
24
- return Buffer.concat([intToBytes(prefix, 4), intToBytes(id, 4)]);
25
+ return Buffer.concat([
26
+ encodeNumberForDbKey(prefix, SLOT_BYTE_SIZE),
27
+ encodeNumberForDbKey(id, COLUMN_INDEX_BYTE_SIZE),
28
+ ]);
25
29
  }
26
30
  decodeKeyRaw(raw) {
27
31
  return {
28
- prefix: bytesToInt(raw.slice(0, 4)),
29
- id: bytesToInt(raw.slice(4, 8)),
32
+ prefix: decodeNumberForDbKey(raw, SLOT_BYTE_SIZE),
33
+ id: decodeNumberForDbKey(raw.slice(SLOT_BYTE_SIZE), COLUMN_INDEX_BYTE_SIZE),
30
34
  };
31
35
  }
32
36
  getMaxKeyRaw(prefix) {
33
- return Buffer.concat([intToBytes(prefix, 4), intToBytes(NUMBER_OF_COLUMNS, 4)]);
37
+ return Buffer.concat([
38
+ encodeNumberForDbKey(prefix, SLOT_BYTE_SIZE),
39
+ encodeNumberForDbKey(NUMBER_OF_COLUMNS - 1, COLUMN_INDEX_BYTE_SIZE),
40
+ ]);
34
41
  }
35
42
  getMinKeyRaw(prefix) {
36
- return Buffer.concat([intToBytes(prefix, 4), intToBytes(0, 4)]);
43
+ return Buffer.concat([
44
+ encodeNumberForDbKey(prefix, SLOT_BYTE_SIZE),
45
+ encodeNumberForDbKey(0, COLUMN_INDEX_BYTE_SIZE),
46
+ ]);
37
47
  }
38
48
  }
39
49
  //# sourceMappingURL=dataColumnSidecarArchive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAA6D;IACnH,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,kCAAkC,CAAC;QACzD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAA6B;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,MAAY,EAAE,EAAe;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,GAAe;QAC1B,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAS;YAC3C,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB;SAC/C,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,YAAY,CAAC,MAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAA6D;IACnH,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,kCAAkC,CAAC;QACzD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAA6B;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,MAAY,EAAE,EAAe;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,GAAe;QAC1B,OAAO;YACL,MAAM,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAS;YACzD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAgB;SAC3F,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -3,7 +3,7 @@ import { ssz } from "@lodestar/types";
3
3
  import { bytesToInt, toHex } from "@lodestar/utils";
4
4
  import { getStateTypeFromBytes } from "../../util/multifork.js";
5
5
  import { Bucket, getBucketNameByValue } from "../buckets.js";
6
- import { getRootIndexKey, storeRootIndex } from "./stateArchiveIndex.js";
6
+ import { getRootIndex, getRootIndexKey, storeRootIndex } from "./stateArchiveIndex.js";
7
7
  export class StateArchiveRepository extends Repository {
8
8
  constructor(config, db) {
9
9
  // Pick some type but won't be used. Casted to any because no type can match `BeaconStateAllForks`
@@ -41,6 +41,7 @@ export class StateArchiveRepository extends Repository {
41
41
  const entries = await this.db.entries({
42
42
  lte: getRootIndexKey(Buffer.alloc(32, 0xff)),
43
43
  gte: getRootIndexKey(Buffer.alloc(32, 0x00)),
44
+ bucketId: this.bucketId,
44
45
  });
45
46
  return entries.map((entry) => ({
46
47
  root: toHex(entry.key),
@@ -48,7 +49,7 @@ export class StateArchiveRepository extends Repository {
48
49
  }));
49
50
  }
50
51
  async getSlotByRoot(root) {
51
- const value = await this.db.get(getRootIndexKey(root));
52
+ const value = await getRootIndex(this.db, root);
52
53
  return value && bytesToInt(value, "be");
53
54
  }
54
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stateArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Db } from "@lodestar/db";
2
2
  import { Root, Slot } from "@lodestar/types";
3
+ export declare function getRootIndex(db: Db, stateRoot: Root): Promise<Uint8Array | null>;
3
4
  export declare function storeRootIndex(db: Db, slot: Slot, stateRoot: Root): Promise<void>;
4
5
  export declare function getRootIndexKey(root: Root): Uint8Array;
5
6
  //# sourceMappingURL=stateArchiveIndex.d.ts.map
@@ -1,8 +1,12 @@
1
1
  import { encodeKey } from "@lodestar/db";
2
2
  import { intToBytes } from "@lodestar/utils";
3
- import { Bucket } from "../buckets.js";
3
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
4
+ const bucketId = getBucketNameByValue(Bucket.index_stateArchiveRootIndex);
5
+ export function getRootIndex(db, stateRoot) {
6
+ return db.get(getRootIndexKey(stateRoot), { bucketId });
7
+ }
4
8
  export function storeRootIndex(db, slot, stateRoot) {
5
- return db.put(getRootIndexKey(stateRoot), intToBytes(slot, 8, "be"));
9
+ return db.put(getRootIndexKey(stateRoot), intToBytes(slot, 8, "be"), { bucketId });
6
10
  }
7
11
  export function getRootIndexKey(root) {
8
12
  return encodeKey(Bucket.index_stateArchiveRootIndex, root);
@@ -1 +1 @@
1
- {"version":3,"file":"stateArchiveIndex.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,MAAM,UAAU,cAAc,CAAC,EAAM,EAAE,IAAU,EAAE,SAAe;IAChE,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"stateArchiveIndex.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE1E,MAAM,UAAU,YAAY,CAAC,EAAM,EAAE,SAAe;IAClD,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAM,EAAE,IAAU,EAAE,SAAe;IAChE,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC"}
@@ -7,6 +7,7 @@ export declare class PreGenesisState {
7
7
  private readonly db;
8
8
  private readonly key;
9
9
  private readonly type;
10
+ private readonly dbReqOpts;
10
11
  constructor(config: ChainForkConfig, db: Db);
11
12
  put(value: BeaconStateAllForks): Promise<void>;
12
13
  get(): Promise<BeaconStateAllForks | null>;
@@ -1,5 +1,5 @@
1
1
  import { GENESIS_SLOT } from "@lodestar/params";
2
- import { Bucket } from "../buckets.js";
2
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
3
3
  export class PreGenesisState {
4
4
  constructor(config, db) {
5
5
  this.config = config;
@@ -7,16 +7,17 @@ export class PreGenesisState {
7
7
  this.bucket = Bucket.phase0_preGenesisState;
8
8
  this.key = new Uint8Array([this.bucket]);
9
9
  this.type = this.config.getForkTypes(GENESIS_SLOT).BeaconState;
10
+ this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
10
11
  }
11
12
  async put(value) {
12
- await this.db.put(this.key, value.serialize());
13
+ await this.db.put(this.key, value.serialize(), this.dbReqOpts);
13
14
  }
14
15
  async get() {
15
- const value = await this.db.get(this.key);
16
+ const value = await this.db.get(this.key, this.dbReqOpts);
16
17
  return value ? this.type.deserializeToViewDU(value) : null;
17
18
  }
18
19
  async delete() {
19
- await this.db.delete(this.key);
20
+ await this.db.delete(this.key, this.dbReqOpts);
20
21
  }
21
22
  }
22
23
  //# sourceMappingURL=preGenesisState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,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
+ {"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,eAAe;IAQ1B,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;QAC/D,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,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,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,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,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -5,6 +5,7 @@ export declare class PreGenesisStateLastProcessedBlock {
5
5
  private readonly type;
6
6
  private readonly db;
7
7
  private readonly key;
8
+ private readonly dbReqOpts;
8
9
  constructor(_config: ChainForkConfig, db: Db);
9
10
  put(value: number): Promise<void>;
10
11
  get(): Promise<number | null>;
@@ -1,21 +1,22 @@
1
1
  import { ssz } from "@lodestar/types";
2
- import { Bucket } from "../buckets.js";
2
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
3
3
  export class PreGenesisStateLastProcessedBlock {
4
4
  constructor(_config, db) {
5
5
  this.db = db;
6
6
  this.type = ssz.UintNum64;
7
7
  this.bucket = Bucket.phase0_preGenesisStateLastProcessedBlock;
8
8
  this.key = new Uint8Array([this.bucket]);
9
+ this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
9
10
  }
10
11
  async put(value) {
11
- await this.db.put(this.key, this.type.serialize(value));
12
+ await this.db.put(this.key, this.type.serialize(value), this.dbReqOpts);
12
13
  }
13
14
  async get() {
14
- const value = await this.db.get(this.key);
15
+ const value = await this.db.get(this.key, this.dbReqOpts);
15
16
  return value ? this.type.deserialize(value) : null;
16
17
  }
17
18
  async delete() {
18
- await this.db.delete(this.key);
19
+ await this.db.delete(this.key, this.dbReqOpts);
19
20
  }
20
21
  }
21
22
  //# sourceMappingURL=preGenesisStateLastProcessedBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preGenesisStateLastProcessedBlock.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,MAAM,OAAO,iCAAiC;IAM5C,YAAY,OAAwB,EAAE,EAAM;QAC1C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,wCAAwC,CAAC;QAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,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,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"preGenesisStateLastProcessedBlock.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,iCAAiC;IAO5C,YAAY,OAAwB,EAAE,EAAM;QAC1C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,wCAAwC,CAAC;QAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -1364,7 +1364,7 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1364
1364
  duration: register.histogram({
1365
1365
  name: "lodestar_precompute_next_epoch_transition_duration_seconds",
1366
1366
  help: "Duration of precomputeNextEpochTransition, including epoch transition and hashTreeRoot",
1367
- buckets: [1, 2, 3, 4, 8],
1367
+ buckets: [0.2, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3, 10],
1368
1368
  }),
1369
1369
  },
1370
1370
  // reprocess attestations