@lodestar/db 1.9.0-dev.f417c35af0 → 1.9.0-dev.fb6a57af54

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.
@@ -2,7 +2,6 @@ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { Type } from "@chainsafe/ssz";
3
3
  import { FilterOptions, KeyValue } from "./controller/index.js";
4
4
  import { Db } from "./controller/interface.js";
5
- import { Bucket } from "./schema.js";
6
5
  export type Id = Uint8Array | string | number | bigint;
7
6
  /**
8
7
  * Repository is a high level kv storage
@@ -15,13 +14,13 @@ export type Id = Uint8Array | string | number | bigint;
15
14
  export declare abstract class Repository<I extends Id, T> {
16
15
  protected config: ChainForkConfig;
17
16
  protected db: Db;
18
- protected bucket: Bucket;
17
+ protected bucket: number;
18
+ protected type: Type<T>;
19
19
  private readonly bucketId;
20
20
  private readonly dbReqOpts;
21
21
  private readonly minKey;
22
22
  private readonly maxKey;
23
- protected type: Type<T>;
24
- protected constructor(config: ChainForkConfig, db: Db, bucket: Bucket, type: Type<T>);
23
+ protected constructor(config: ChainForkConfig, db: Db, bucket: number, type: Type<T>, bucketId: string);
25
24
  encodeValue(value: T): Uint8Array;
26
25
  decodeValue(data: Uint8Array): T;
27
26
  encodeKey(id: I): Uint8Array;
@@ -1,6 +1,5 @@
1
1
  import { BUCKET_LENGTH } from "./const.js";
2
- import { encodeKey as _encodeKey } from "./schema.js";
3
- import { getBucketNameByValue } from "./util.js";
2
+ import { encodeKey as _encodeKey } from "./util.js";
4
3
  /**
5
4
  * Repository is a high level kv storage
6
5
  * managing a Uint8Array to Uint8Array kv database
@@ -10,13 +9,13 @@ import { getBucketNameByValue } from "./util.js";
10
9
  * indexed by root
11
10
  */
12
11
  export class Repository {
13
- constructor(config, db, bucket, type) {
12
+ constructor(config, db, bucket, type, bucketId) {
14
13
  this.config = config;
15
14
  this.db = db;
16
15
  this.bucket = bucket;
17
- this.bucketId = getBucketNameByValue(bucket);
18
- this.dbReqOpts = { bucketId: this.bucketId };
19
16
  this.type = type;
17
+ this.bucketId = bucketId;
18
+ this.dbReqOpts = { bucketId: this.bucketId };
20
19
  this.minKey = _encodeKey(bucket, Buffer.alloc(0));
21
20
  this.maxKey = _encodeKey(bucket + 1, Buffer.alloc(0));
22
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstractRepository.js","sourceRoot":"","sources":["../src/abstractRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractRepository.js","sourceRoot":"","sources":["../src/abstractRepository.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,19 @@ export class LevelDbController {
19
19
  this.db = opts.db || new Level(opts.name || "beaconchain", { keyEncoding: "binary", valueEncoding: "binary" });
20
20
  }
21
21
  async start() {
22
+ var _a;
22
23
  if (this.status === Status.started)
23
24
  return;
24
25
  this.status = Status.started;
25
- await this.db.open();
26
+ try {
27
+ await this.db.open();
28
+ }
29
+ catch (e) {
30
+ if (((_a = e.cause) === null || _a === void 0 ? void 0 : _a.code) === "LEVEL_LOCKED") {
31
+ throw new Error("Database is already in use by another Lodestar instance");
32
+ }
33
+ throw e;
34
+ }
26
35
  if (this.metrics) {
27
36
  this.collectDbSizeMetric();
28
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/controller/level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/controller/level.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./databaseService.js";
2
2
  export * from "./abstractRepository.js";
3
3
  export * from "./controller/index.js";
4
- export * from "./schema.js";
5
4
  export * from "./const.js";
6
5
  export * from "./util.js";
7
6
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./databaseService.js";
2
2
  export * from "./abstractRepository.js";
3
3
  export * from "./controller/index.js";
4
- export * from "./schema.js";
5
4
  export * from "./const.js";
6
5
  export * from "./util.js";
7
6
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
package/lib/util.d.ts CHANGED
@@ -1,3 +1,6 @@
1
- import { Bucket } from "./schema.js";
2
- export declare function getBucketNameByValue<T extends Bucket>(enumValue: T): keyof typeof Bucket;
1
+ export declare const uintLen = 8;
2
+ /**
3
+ * Prepend a bucket to a key
4
+ */
5
+ export declare function encodeKey(bucket: number, key: Uint8Array | string | number | bigint): Uint8Array;
3
6
  //# sourceMappingURL=util.d.ts.map
package/lib/util.js CHANGED
@@ -1,16 +1,27 @@
1
- import { Bucket } from "./schema.js";
2
- export function getBucketNameByValue(enumValue) {
3
- const keys = Object.keys(Bucket).filter((x) => {
4
- if (isNaN(parseInt(x))) {
5
- return Bucket[x] == enumValue;
6
- }
7
- else {
8
- return false;
9
- }
10
- });
11
- if (keys.length > 0) {
12
- return keys[0];
1
+ import { intToBytes } from "@lodestar/utils";
2
+ import { BUCKET_LENGTH } from "./const.js";
3
+ export const uintLen = 8;
4
+ /**
5
+ * Prepend a bucket to a key
6
+ */
7
+ export function encodeKey(bucket, key) {
8
+ let buf;
9
+ const prefixLength = BUCKET_LENGTH;
10
+ //all keys are writen with prefixLength offet
11
+ if (typeof key === "string") {
12
+ buf = Buffer.alloc(key.length + prefixLength);
13
+ buf.write(key, prefixLength);
13
14
  }
14
- throw new Error("Missing bucket for value " + enumValue);
15
+ else if (typeof key === "number" || typeof key === "bigint") {
16
+ buf = Buffer.alloc(uintLen + prefixLength);
17
+ intToBytes(BigInt(key), uintLen, "be").copy(buf, prefixLength);
18
+ }
19
+ else {
20
+ buf = Buffer.alloc(key.length + prefixLength);
21
+ buf.set(key, prefixLength);
22
+ }
23
+ //bucket prefix on position 0
24
+ buf.set(intToBytes(bucket, BUCKET_LENGTH, "le"), 0);
25
+ return buf;
15
26
  }
16
27
  //# sourceMappingURL=util.js.map
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO,MAAM,CAAC,CAAwB,CAAC,IAAI,SAAS,CAAC;SACtD;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,GAA0C;IAClF,IAAI,GAAG,CAAC;IACR,MAAM,YAAY,GAAG,aAAa,CAAC;IACnC,6CAA6C;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAC9B;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC7D,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;QAC3C,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAChE;SAAM;QACL,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAC5B;IACD,6BAA6B;IAC7B,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodestar/db",
3
- "version": "1.9.0-dev.f417c35af0",
3
+ "version": "1.9.0-dev.fb6a57af54",
4
4
  "description": "DB modules of Lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "homepage": "https://github.com/ChainSafe/lodestar#readme",
@@ -24,9 +24,8 @@
24
24
  "scripts": {
25
25
  "clean": "rm -rf lib && rm -f *.tsbuildinfo",
26
26
  "build": "tsc -p tsconfig.build.json",
27
- "build:lib:watch": "yarn run build:lib --watch",
27
+ "build:watch": "yarn run build --watch",
28
28
  "build:release": "yarn clean && yarn run build",
29
- "build:types:watch": "yarn run build:types --watch",
30
29
  "check-build": "node -e \"(async function() { await import('./lib/index.js') })()\"",
31
30
  "check-types": "tsc",
32
31
  "coverage": "codecov -F lodestar-fork-choice",
@@ -39,14 +38,14 @@
39
38
  },
40
39
  "dependencies": {
41
40
  "@chainsafe/ssz": "^0.10.2",
42
- "@lodestar/config": "1.9.0-dev.f417c35af0",
43
- "@lodestar/utils": "1.9.0-dev.f417c35af0",
41
+ "@lodestar/config": "1.9.0-dev.fb6a57af54",
42
+ "@lodestar/utils": "1.9.0-dev.fb6a57af54",
44
43
  "@types/levelup": "^4.3.3",
45
44
  "it-all": "^3.0.1",
46
45
  "level": "^8.0.0"
47
46
  },
48
47
  "devDependencies": {
49
- "@lodestar/logger": "1.9.0-dev.f417c35af0"
48
+ "@lodestar/logger": "1.9.0-dev.fb6a57af54"
50
49
  },
51
- "gitHead": "4f5cd663f9937169b6b6ffa94d3dea81c5da9295"
50
+ "gitHead": "45a7e63f4bca032edea2dcbfe2e3ca37fd557e14"
52
51
  }
package/lib/schema.d.ts DELETED
@@ -1,47 +0,0 @@
1
- export declare enum Bucket {
2
- allForks_stateArchive = 0,
3
- allForks_block = 1,
4
- allForks_blockArchive = 2,
5
- index_blockArchiveParentRootIndex = 3,
6
- index_blockArchiveRootIndex = 4,
7
- index_mainChain = 6,
8
- index_chainInfo = 7,
9
- phase0_eth1Data = 8,
10
- index_depositDataRoot = 9,
11
- phase0_depositEvent = 19,
12
- phase0_preGenesisState = 30,
13
- phase0_preGenesisStateLastProcessedBlock = 31,
14
- phase0_depositData = 12,
15
- phase0_exit = 13,
16
- phase0_proposerSlashing = 14,
17
- phase0_attesterSlashing = 15,
18
- capella_blsToExecutionChange = 16,
19
- phase0_slashingProtectionBlockBySlot = 20,
20
- phase0_slashingProtectionAttestationByTarget = 21,
21
- phase0_slashingProtectionAttestationLowerBound = 22,
22
- index_slashingProtectionMinSpanDistance = 23,
23
- index_slashingProtectionMaxSpanDistance = 24,
24
- index_stateArchiveRootIndex = 26,
25
- allForks_blobsSidecar = 27,
26
- allForks_blobsSidecarArchive = 28,
27
- lightClient_syncCommitteeWitness = 51,
28
- lightClient_syncCommittee = 52,
29
- lightClient_checkpointHeader = 53,
30
- lightClient_bestLightClientUpdate = 56,
31
- validator_metaData = 41,
32
- backfilled_ranges = 42
33
- }
34
- export declare enum Key {
35
- chainHeight = 0,
36
- latestState = 1,
37
- finalizedState = 2,
38
- justifiedState = 3,
39
- finalizedBlock = 4,
40
- justifiedBlock = 5
41
- }
42
- export declare const uintLen = 8;
43
- /**
44
- * Prepend a bucket to a key
45
- */
46
- export declare function encodeKey(bucket: Bucket, key: Uint8Array | string | number | bigint): Uint8Array;
47
- //# sourceMappingURL=schema.d.ts.map
package/lib/schema.js DELETED
@@ -1,102 +0,0 @@
1
- import { intToBytes } from "@lodestar/utils";
2
- import { BUCKET_LENGTH } from "./const.js";
3
- // Buckets are separate database namespaces
4
- export var Bucket;
5
- (function (Bucket) {
6
- // beacon chain
7
- // finalized states
8
- Bucket[Bucket["allForks_stateArchive"] = 0] = "allForks_stateArchive";
9
- // unfinalized blocks
10
- Bucket[Bucket["allForks_block"] = 1] = "allForks_block";
11
- // finalized blocks
12
- Bucket[Bucket["allForks_blockArchive"] = 2] = "allForks_blockArchive";
13
- // finalized block additional indices
14
- Bucket[Bucket["index_blockArchiveParentRootIndex"] = 3] = "index_blockArchiveParentRootIndex";
15
- Bucket[Bucket["index_blockArchiveRootIndex"] = 4] = "index_blockArchiveRootIndex";
16
- // known bad block
17
- // index_invalidBlock = 5, // DEPRECATED on v0.25.0
18
- // finalized chain
19
- Bucket[Bucket["index_mainChain"] = 6] = "index_mainChain";
20
- // justified, finalized state and block hashes
21
- Bucket[Bucket["index_chainInfo"] = 7] = "index_chainInfo";
22
- // eth1 processing
23
- Bucket[Bucket["phase0_eth1Data"] = 8] = "phase0_eth1Data";
24
- Bucket[Bucket["index_depositDataRoot"] = 9] = "index_depositDataRoot";
25
- Bucket[Bucket["phase0_depositEvent"] = 19] = "phase0_depositEvent";
26
- Bucket[Bucket["phase0_preGenesisState"] = 30] = "phase0_preGenesisState";
27
- Bucket[Bucket["phase0_preGenesisStateLastProcessedBlock"] = 31] = "phase0_preGenesisStateLastProcessedBlock";
28
- // op pool
29
- // phase0_attestation = 10, // DEPRECATED on v0.25.0
30
- // phase0_aggregateAndProof = 11, // Root -> AggregateAndProof, DEPRECATED on v.27.0
31
- Bucket[Bucket["phase0_depositData"] = 12] = "phase0_depositData";
32
- Bucket[Bucket["phase0_exit"] = 13] = "phase0_exit";
33
- Bucket[Bucket["phase0_proposerSlashing"] = 14] = "phase0_proposerSlashing";
34
- Bucket[Bucket["phase0_attesterSlashing"] = 15] = "phase0_attesterSlashing";
35
- Bucket[Bucket["capella_blsToExecutionChange"] = 16] = "capella_blsToExecutionChange";
36
- // validator
37
- // validator = 16, // DEPRECATED on v0.11.0
38
- // lastProposedBlock = 17, // DEPRECATED on v0.11.0
39
- // proposedAttestations = 18, // DEPRECATED on v0.11.0
40
- // validator slashing protection
41
- Bucket[Bucket["phase0_slashingProtectionBlockBySlot"] = 20] = "phase0_slashingProtectionBlockBySlot";
42
- Bucket[Bucket["phase0_slashingProtectionAttestationByTarget"] = 21] = "phase0_slashingProtectionAttestationByTarget";
43
- Bucket[Bucket["phase0_slashingProtectionAttestationLowerBound"] = 22] = "phase0_slashingProtectionAttestationLowerBound";
44
- Bucket[Bucket["index_slashingProtectionMinSpanDistance"] = 23] = "index_slashingProtectionMinSpanDistance";
45
- Bucket[Bucket["index_slashingProtectionMaxSpanDistance"] = 24] = "index_slashingProtectionMaxSpanDistance";
46
- // allForks_pendingBlock = 25, // Root -> SignedBeaconBlock // DEPRECATED on v0.30.0
47
- Bucket[Bucket["index_stateArchiveRootIndex"] = 26] = "index_stateArchiveRootIndex";
48
- Bucket[Bucket["allForks_blobsSidecar"] = 27] = "allForks_blobsSidecar";
49
- Bucket[Bucket["allForks_blobsSidecarArchive"] = 28] = "allForks_blobsSidecarArchive";
50
- // Lightclient server
51
- // altair_bestUpdatePerCommitteePeriod = 30, // DEPRECATED on v0.32.0
52
- // altair_latestFinalizedUpdate = 31, // DEPRECATED on v0.32.0
53
- // altair_latestNonFinalizedUpdate = 32, // DEPRECATED on v0.32.0
54
- // altair_lightclientFinalizedCheckpoint = 33, // DEPRECATED on v0.32.0
55
- // altair_lightClientInitProof = 34, // DEPRECATED on v0.32.0
56
- // altair_lightClientSyncCommitteeProof = 35, // DEPRECATED on v0.32.0
57
- // index_lightClientInitProof = 36, // DEPRECATED on v0.32.0
58
- // Buckets to support LightClient server v2
59
- Bucket[Bucket["lightClient_syncCommitteeWitness"] = 51] = "lightClient_syncCommitteeWitness";
60
- Bucket[Bucket["lightClient_syncCommittee"] = 52] = "lightClient_syncCommittee";
61
- // TODO: May be redundant to block stores
62
- Bucket[Bucket["lightClient_checkpointHeader"] = 53] = "lightClient_checkpointHeader";
63
- // 54 was for bestPartialLightClientUpdate, allocate a fresh one
64
- // lightClient_bestLightClientUpdate = 55, // SyncPeriod -> LightClientUpdate // DEPRECATED on v1.5.0
65
- Bucket[Bucket["lightClient_bestLightClientUpdate"] = 56] = "lightClient_bestLightClientUpdate";
66
- Bucket[Bucket["validator_metaData"] = 41] = "validator_metaData";
67
- Bucket[Bucket["backfilled_ranges"] = 42] = "backfilled_ranges";
68
- })(Bucket || (Bucket = {}));
69
- export var Key;
70
- (function (Key) {
71
- Key[Key["chainHeight"] = 0] = "chainHeight";
72
- Key[Key["latestState"] = 1] = "latestState";
73
- Key[Key["finalizedState"] = 2] = "finalizedState";
74
- Key[Key["justifiedState"] = 3] = "justifiedState";
75
- Key[Key["finalizedBlock"] = 4] = "finalizedBlock";
76
- Key[Key["justifiedBlock"] = 5] = "justifiedBlock";
77
- })(Key || (Key = {}));
78
- export const uintLen = 8;
79
- /**
80
- * Prepend a bucket to a key
81
- */
82
- export function encodeKey(bucket, key) {
83
- let buf;
84
- const prefixLength = BUCKET_LENGTH;
85
- //all keys are writen with prefixLength offet
86
- if (typeof key === "string") {
87
- buf = Buffer.alloc(key.length + prefixLength);
88
- buf.write(key, prefixLength);
89
- }
90
- else if (typeof key === "number" || typeof key === "bigint") {
91
- buf = Buffer.alloc(uintLen + prefixLength);
92
- intToBytes(BigInt(key), uintLen, "be").copy(buf, prefixLength);
93
- }
94
- else {
95
- buf = Buffer.alloc(key.length + prefixLength);
96
- buf.set(key, prefixLength);
97
- }
98
- //bucket prefix on position 0
99
- buf.set(intToBytes(bucket, BUCKET_LENGTH, "le"), 0);
100
- return buf;
101
- }
102
- //# sourceMappingURL=schema.js.map
package/lib/schema.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}