@lodestar/beacon-node 1.50.0-dev.072bf98853 → 1.50.0-dev.0837ebd402

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 (52) hide show
  1. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/state/index.js +6 -4
  3. package/lib/api/impl/beacon/state/index.js.map +1 -1
  4. package/lib/chain/chain.d.ts.map +1 -1
  5. package/lib/chain/chain.js +2 -0
  6. package/lib/chain/chain.js.map +1 -1
  7. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  8. package/lib/chain/opPools/opPool.js +1 -23
  9. package/lib/chain/opPools/opPool.js.map +1 -1
  10. package/lib/chain/opPools/proposerPreferencesPool.d.ts +4 -0
  11. package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
  12. package/lib/chain/opPools/proposerPreferencesPool.js +13 -1
  13. package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
  14. package/lib/chain/opPools/utils.d.ts +11 -0
  15. package/lib/chain/opPools/utils.d.ts.map +1 -1
  16. package/lib/chain/opPools/utils.js +22 -0
  17. package/lib/chain/opPools/utils.js.map +1 -1
  18. package/lib/db/beacon.d.ts +2 -1
  19. package/lib/db/beacon.d.ts.map +1 -1
  20. package/lib/db/beacon.js +3 -1
  21. package/lib/db/beacon.js.map +1 -1
  22. package/lib/db/buckets.d.ts +2 -1
  23. package/lib/db/buckets.d.ts.map +1 -1
  24. package/lib/db/buckets.js +1 -0
  25. package/lib/db/buckets.js.map +1 -1
  26. package/lib/db/interface.d.ts +2 -1
  27. package/lib/db/interface.d.ts.map +1 -1
  28. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  29. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  30. package/lib/db/repositories/index.d.ts +1 -0
  31. package/lib/db/repositories/index.d.ts.map +1 -1
  32. package/lib/db/repositories/index.js +1 -0
  33. package/lib/db/repositories/index.js.map +1 -1
  34. package/lib/db/repositories/proposerPreferences.d.ts +14 -0
  35. package/lib/db/repositories/proposerPreferences.d.ts.map +1 -0
  36. package/lib/db/repositories/proposerPreferences.js +21 -0
  37. package/lib/db/repositories/proposerPreferences.js.map +1 -0
  38. package/lib/util/metadata.d.ts.map +1 -1
  39. package/lib/util/metadata.js +2 -1
  40. package/lib/util/metadata.js.map +1 -1
  41. package/package.json +15 -15
  42. package/src/api/impl/beacon/state/index.ts +13 -4
  43. package/src/chain/chain.ts +2 -0
  44. package/src/chain/opPools/opPool.ts +1 -31
  45. package/src/chain/opPools/proposerPreferencesPool.ts +20 -1
  46. package/src/chain/opPools/utils.ts +31 -0
  47. package/src/db/beacon.ts +3 -0
  48. package/src/db/buckets.ts +1 -0
  49. package/src/db/interface.ts +2 -0
  50. package/src/db/repositories/index.ts +1 -0
  51. package/src/db/repositories/proposerPreferences.ts +23 -0
  52. package/src/util/metadata.ts +2 -1
@@ -1,4 +1,5 @@
1
1
  import { RootHex, Slot, ValidatorIndex, gloas } from "@lodestar/types";
2
+ import { IBeaconDb } from "../../db/index.js";
2
3
  /**
3
4
  * Pool of validated `SignedProposerPreferences` indexed by `(slot, dependent_root)`.
4
5
  *
@@ -26,5 +27,8 @@ export declare class ProposerPreferencesPool {
26
27
  * on each slot tick.
27
28
  */
28
29
  prune(currentSlot: Slot): void;
30
+ /** Restore the preferences of upcoming slots, they were validated before they were persisted */
31
+ fromPersisted(db: IBeaconDb, currentSlot: Slot): Promise<void>;
32
+ toPersisted(db: IBeaconDb): Promise<void>;
29
33
  }
30
34
  //# sourceMappingURL=proposerPreferencesPool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerPreferencesPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/proposerPreferencesPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGrE;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkE;IAEzF,0HAA0H;IAC1H,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,GAAG,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAEjF;IAED,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAE3F;IAED,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,yBAAyB,GAAG,IAAI,CASjD;IAED,6FAA6F;IAC7F,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,yBAAyB,EAAE,CAcjF;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAI7B;CACF"}
1
+ {"version":3,"file":"proposerPreferencesPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/proposerPreferencesPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkE;IAEzF,0HAA0H;IAC1H,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,GAAG,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAEjF;IAED,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAE3F;IAED,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,yBAAyB,GAAG,IAAI,CASjD;IAED,6FAA6F;IAC7F,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,yBAAyB,EAAE,CAcjF;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAI7B;IAED,gGAAgG;IAC1F,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnE;IAEK,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9C;CACF"}
@@ -1,4 +1,5 @@
1
- import { toRootHex } from "@lodestar/utils";
1
+ import { toHex, toRootHex } from "@lodestar/utils";
2
+ import { persistDiff } from "./utils.js";
2
3
  /**
3
4
  * Pool of validated `SignedProposerPreferences` indexed by `(slot, dependent_root)`.
4
5
  *
@@ -58,5 +59,16 @@ export class ProposerPreferencesPool {
58
59
  this.bySlot.delete(slot);
59
60
  }
60
61
  }
62
+ /** Restore the preferences of upcoming slots, they were validated before they were persisted */
63
+ async fromPersisted(db, currentSlot) {
64
+ for (const signed of await db.proposerPreferences.values()) {
65
+ if (signed.message.proposalSlot >= currentSlot) {
66
+ this.add(signed);
67
+ }
68
+ }
69
+ }
70
+ async toPersisted(db) {
71
+ await persistDiff(db.proposerPreferences, this.getAll().map((signed) => ({ key: db.proposerPreferences.getId(signed), value: signed })), toHex);
72
+ }
61
73
  }
62
74
  //# sourceMappingURL=proposerPreferencesPool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposerPreferencesPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/proposerPreferencesPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,uBAAuB;IACjB,MAAM,GAAG,IAAI,GAAG,EAAuD,CAAC;IAEzF,0HAA0H;IAC1H,GAAG,CAAC,IAAU,EAAE,gBAAyB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,YAAkB,EAAE,aAAsB,EAAE,cAA8B;QAChF,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,cAAc,CAAC;IAC1F,CAAC;IAED,GAAG,CAAC,MAAuC;QACzC,MAAM,EAAC,YAAY,EAAE,aAAa,EAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACrD,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,6FAA6F;IAC7F,MAAM,CAAC,IAAW,EAAE,gBAA0B;QAC5C,MAAM,GAAG,GAAsC,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpC,IAAI,gBAAgB,KAAK,SAAS,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAChE,SAAS;gBACX,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAiB;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,WAAW;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"proposerPreferencesPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/proposerPreferencesPool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Signature } from "@chainsafe/lodestar-z/blst";
2
2
  import { BeaconConfig } from "@lodestar/config";
3
+ import { Id, Repository } from "@lodestar/db";
3
4
  import { IBeaconStateView } from "@lodestar/state-transition";
4
5
  import { AttesterSlashing, Domain, Slot, capella, phase0 } from "@lodestar/types";
5
6
  import { AggregateFast, AggregateFastElectra } from "./attestationPool.js";
@@ -20,4 +21,14 @@ export declare function signatureFromBytesNoCheck(signature: Uint8Array): Signat
20
21
  */
21
22
  export declare function isValidBlsToExecutionChangeForBlockInclusion(state: IBeaconStateView, signedBLSToExecutionChange: capella.SignedBLSToExecutionChange): boolean;
22
23
  export declare function isElectraAggregate(aggregate: AggregateFast): aggregate is AggregateFastElectra;
24
+ /**
25
+ * Persist target items `items` in `dbRepo` doing minimum put and delete writes.
26
+ * Reads all keys in repository to compute the diff between current persisted data and target data.
27
+ */
28
+ export declare function persistDiff<K extends Id, V>(dbRepo: Repository<K, V>, items: {
29
+ key: K;
30
+ value: V;
31
+ }[], serializeKey: (key: K) => number | string, opts?: {
32
+ updateExisting?: boolean;
33
+ }): Promise<void>;
23
34
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEzE,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,MAAM,CAAC,gBAAgB,GAChC,MAAM,CAER;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,gBAAgB,GACzB,CAAC,MAAM,EAAE,MAAM,CAAC,CAalB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAgB1F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAE1E;AAED;;;GAGG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,gBAAgB,EACvB,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,GAC7D,OAAO,CAkBT;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,IAAI,oBAAoB,CAE9F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAU,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAErD,OAAO,EAAC,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEzE,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,MAAM,CAAC,gBAAgB,GAChC,MAAM,CAER;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,gBAAgB,GACzB,CAAC,MAAM,EAAE,MAAM,CAAC,CAalB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAgB1F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAE1E;AAED;;;GAGG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,gBAAgB,EACvB,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,GAC7D,OAAO,CAkBT;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,IAAI,oBAAoB,CAE9F;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAC/C,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,KAAK,EAAE;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAC,EAAE,EAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EACzC,IAAI,GAAE;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAM,GACpC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -58,4 +58,26 @@ export function isValidBlsToExecutionChangeForBlockInclusion(state, signedBLSToE
58
58
  export function isElectraAggregate(aggregate) {
59
59
  return aggregate.committeeBits !== undefined;
60
60
  }
61
+ /**
62
+ * Persist target items `items` in `dbRepo` doing minimum put and delete writes.
63
+ * Reads all keys in repository to compute the diff between current persisted data and target data.
64
+ */
65
+ export async function persistDiff(dbRepo, items, serializeKey, opts = {}) {
66
+ const persistedKeys = await dbRepo.keys();
67
+ const batch = [];
68
+ const persistedKeysSerialized = new Set(persistedKeys.map(serializeKey));
69
+ for (const item of items) {
70
+ if (opts.updateExisting || !persistedKeysSerialized.has(serializeKey(item.key))) {
71
+ batch.push({ type: "put", key: item.key, value: item.value });
72
+ }
73
+ }
74
+ const targetKeysSerialized = new Set(items.map((item) => serializeKey(item.key)));
75
+ for (const persistedKey of persistedKeys) {
76
+ if (!targetKeysSerialized.has(serializeKey(persistedKey))) {
77
+ batch.push({ type: "del", key: persistedKey });
78
+ }
79
+ }
80
+ if (batch.length > 0)
81
+ await dbRepo.batch(batch);
82
+ }
61
83
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAmB,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAIrF,MAAM,UAAU,kCAAkC,CAChD,MAAoB,EACpB,SAAe,EACf,QAAiC;IAEjC,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAAoB,EACpB,SAAe,EACf,QAA0B;IAE1B,OAAO;QACL,MAAM,CAAC,SAAS,CACd,SAAS,EACT,sBAAsB,EACtB,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACzE;QACD,MAAM,CAAC,SAAS,CACd,SAAS,EACT,sBAAsB,EACtB,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACzE;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAuB,EAAE,IAAU,EAAE,aAAmB;IAClF,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;IAEhE,gHAAgH;IAChH,IAAI,GAAG,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;QAC9B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAqB;IAC7D,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4CAA4C,CAC1D,KAAuB,EACvB,0BAA8D;IAE9D,oJAAoJ;IACpJ,EAAE;IACF,oEAAoE;IACpE,0EAA0E;IAC1E,EAAE;IACF,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxF,MAAM,EAAC,qBAAqB,EAAC,GAAG,SAAS,CAAC;IAC1C,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8FAA8F;IAC9F,0EAA0E;IAE1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAwB;IACzD,OAAQ,SAAkC,CAAC,aAAa,KAAK,SAAS,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAGrD,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAmB,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAIrF,MAAM,UAAU,kCAAkC,CAChD,MAAoB,EACpB,SAAe,EACf,QAAiC;IAEjC,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAAoB,EACpB,SAAe,EACf,QAA0B;IAE1B,OAAO;QACL,MAAM,CAAC,SAAS,CACd,SAAS,EACT,sBAAsB,EACtB,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACzE;QACD,MAAM,CAAC,SAAS,CACd,SAAS,EACT,sBAAsB,EACtB,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACzE;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAuB,EAAE,IAAU,EAAE,aAAmB;IAClF,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;IAEhE,gHAAgH;IAChH,IAAI,GAAG,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;QAC9B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAqB;IAC7D,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4CAA4C,CAC1D,KAAuB,EACvB,0BAA8D;IAE9D,oJAAoJ;IACpJ,EAAE;IACF,oEAAoE;IACpE,0EAA0E;IAC1E,EAAE;IACF,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxF,MAAM,EAAC,qBAAqB,EAAC,GAAG,SAAS,CAAC;IAC1C,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8FAA8F;IAC9F,0EAA0E;IAE1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAwB;IACzD,OAAQ,SAAkC,CAAC,aAAa,KAAK,SAAS,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAwB,EACxB,KAA2B,EAC3B,YAAyC,EACzC,IAAI,GAA+B,EAAE;IAErC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC"}
@@ -7,7 +7,7 @@ import type { FlatFileStoreMetrics } from "./flatFileStore/metrics.js";
7
7
  import { IBeaconDb } from "./interface.js";
8
8
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
9
9
  import { EarliestAvailableSlotRepository } from "./repositories/earliestAvailableSlot.js";
10
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
10
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerPreferencesRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
11
11
  export type BeaconDbOpts = {
12
12
  dataColumnDir: string;
13
13
  logger: Logger;
@@ -28,6 +28,7 @@ export declare class BeaconDb implements IBeaconDb {
28
28
  earliestAvailableSlot: EarliestAvailableSlotRepository;
29
29
  voluntaryExit: VoluntaryExitRepository;
30
30
  proposerSlashing: ProposerSlashingRepository;
31
+ proposerPreferences: ProposerPreferencesRepository;
31
32
  attesterSlashing: AttesterSlashingRepository;
32
33
  blsToExecutionChange: BLSToExecutionChangeRepository;
33
34
  bestLightClientUpdate: BestLightClientUpdateRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IAiCtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IAhC3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,qBAAqB,EAAE,+BAA+B,CAAC;IAEvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EACzB,IAAI,EAAE,YAAY,EAmCnB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,GAAE,oBAAoB,GAAG,IAAW,GAAG,IAAI,CAG5G;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
1
+ {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IAkCtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IAjC3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,qBAAqB,EAAE,+BAA+B,CAAC;IAEvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EACzB,IAAI,EAAE,YAAY,EAoCnB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,GAAE,oBAAoB,GAAG,IAAW,GAAG,IAAI,CAG5G;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
package/lib/db/beacon.js CHANGED
@@ -4,7 +4,7 @@ import { LegacyDataColumnStore } from "./dataColumnStore.js";
4
4
  import { FlatFileStore } from "./flatFileStore/flatFileStore.js";
5
5
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
6
6
  import { EarliestAvailableSlotRepository } from "./repositories/earliestAvailableSlot.js";
7
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
7
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerPreferencesRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
8
8
  export class BeaconDb {
9
9
  db;
10
10
  block;
@@ -20,6 +20,7 @@ export class BeaconDb {
20
20
  earliestAvailableSlot;
21
21
  voluntaryExit;
22
22
  proposerSlashing;
23
+ proposerPreferences;
23
24
  attesterSlashing;
24
25
  blsToExecutionChange;
25
26
  // lightclient
@@ -47,6 +48,7 @@ export class BeaconDb {
47
48
  this.voluntaryExit = new VoluntaryExitRepository(config, db);
48
49
  this.blsToExecutionChange = new BLSToExecutionChangeRepository(config, db);
49
50
  this.proposerSlashing = new ProposerSlashingRepository(config, db);
51
+ this.proposerPreferences = new ProposerPreferencesRepository(config, db);
50
52
  this.attesterSlashing = new AttesterSlashingRepository(config, db);
51
53
  // lightclient
52
54
  this.bestLightClientUpdate = new BestLightClientUpdateRepository(config, db);
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,8 @@ export declare enum Bucket {
34
34
  allForks_dataColumnSidecarsArchive = 58,// BeaconBlockSlot -> DataColumnSidecars
35
35
  gloas_executionPayloadEnvelope = 59,// GLOAS BeaconBlockRoot -> SignedExecutionPayloadEnvelope
36
36
  gloas_executionPayloadEnvelopeArchive = 60,// GLOAS Slot -> SignedExecutionPayloadEnvelope, or 0x00 + SignedExecutionPayloadHeaderEnvelope
37
- earliestAvailableSlot = 61
37
+ earliestAvailableSlot = 61,// singleton -> Slot
38
+ gloas_proposerPreferences = 62
38
39
  }
39
40
  export declare function getBucketNameByValue<T extends Bucket>(enumValue: T): keyof typeof Bucket;
40
41
  //# sourceMappingURL=buckets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI,CAAE,6BAA6B;IAExD,cAAc,IAAI,CAAE,mCAAmC;IAEvD,qBAAqB,IAAI,CAAE,mCAAmC;IAE9D,iCAAiC,IAAI,CAAE,sBAAsB;IAC7D,2BAA2B,IAAI,CAAE,eAAe;IAIhD,eAAe,IAAI,CAAE,4BAA4B;IAEjD,eAAe,IAAI,CAAE,0CAA0C;IAC/D,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK,CAAE,kCAAkC;IACpD,uBAAuB,KAAK,CAAE,qCAAqC;IACnE,yBAAyB,KAAK,CAAE,2BAA2B;IAC3D,4BAA4B,KAAK,CAAE,+CAA+C;IAElF,wBAAwB,KAAK,CAAE,sBAAsB;IAGrD,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK,CAAE,qBAAqB;IAEvD,kBAAkB,KAAK,CAAE,wCAAwC;IACjE,yBAAyB,KAAK,CAAE,wCAAwC;IAExE,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAc7C,gCAAgC,KAAK,CAAE,oCAAoC;IAC3E,yBAAyB,KAAK,CAAE,qDAAqD;IAErF,4BAA4B,KAAK,CAAE,wCAAwC;IAG3E,iCAAiC,KAAK,CAAE,0CAA0C;IAElF,2BAA2B,KAAK,CAAE,wCAAwC;IAC1E,kCAAkC,KAAK,CAAE,wCAAwC;IAEjF,8BAA8B,KAAK,CAAE,0DAA0D;IAC/F,qCAAqC,KAAK,CAAE,+FAA+F;IAC3I,qBAAqB,KAAK;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
1
+ {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI,CAAE,6BAA6B;IAExD,cAAc,IAAI,CAAE,mCAAmC;IAEvD,qBAAqB,IAAI,CAAE,mCAAmC;IAE9D,iCAAiC,IAAI,CAAE,sBAAsB;IAC7D,2BAA2B,IAAI,CAAE,eAAe;IAIhD,eAAe,IAAI,CAAE,4BAA4B;IAEjD,eAAe,IAAI,CAAE,0CAA0C;IAC/D,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK,CAAE,kCAAkC;IACpD,uBAAuB,KAAK,CAAE,qCAAqC;IACnE,yBAAyB,KAAK,CAAE,2BAA2B;IAC3D,4BAA4B,KAAK,CAAE,+CAA+C;IAElF,wBAAwB,KAAK,CAAE,sBAAsB;IAGrD,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK,CAAE,qBAAqB;IAEvD,kBAAkB,KAAK,CAAE,wCAAwC;IACjE,yBAAyB,KAAK,CAAE,wCAAwC;IAExE,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAc7C,gCAAgC,KAAK,CAAE,oCAAoC;IAC3E,yBAAyB,KAAK,CAAE,qDAAqD;IAErF,4BAA4B,KAAK,CAAE,wCAAwC;IAG3E,iCAAiC,KAAK,CAAE,0CAA0C;IAElF,2BAA2B,KAAK,CAAE,wCAAwC;IAC1E,kCAAkC,KAAK,CAAE,wCAAwC;IAEjF,8BAA8B,KAAK,CAAE,0DAA0D;IAC/F,qCAAqC,KAAK,CAAE,+FAA+F;IAC3I,qBAAqB,KAAK,CAAE,oBAAoB;IAChD,yBAAyB,KAAK;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
package/lib/db/buckets.js CHANGED
@@ -64,6 +64,7 @@ export var Bucket;
64
64
  Bucket[Bucket["gloas_executionPayloadEnvelope"] = 59] = "gloas_executionPayloadEnvelope";
65
65
  Bucket[Bucket["gloas_executionPayloadEnvelopeArchive"] = 60] = "gloas_executionPayloadEnvelopeArchive";
66
66
  Bucket[Bucket["earliestAvailableSlot"] = 61] = "earliestAvailableSlot";
67
+ Bucket[Bucket["gloas_proposerPreferences"] = 62] = "gloas_proposerPreferences";
67
68
  })(Bucket || (Bucket = {}));
68
69
  export function getBucketNameByValue(enumValue) {
69
70
  const keys = Object.keys(Bucket).filter((x) => {
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,MA0EX;AA1ED,WAAY,MAAM;IAChB,eAAe;IACf,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qBAAqB;IACrB,uDAAkB,CAAA;IAClB,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qCAAqC;IACrC,6FAAqC,CAAA;IACrC,iFAA+B,CAAA;IAC/B,kBAAkB;IAClB,mDAAmD;IACnD,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,8CAA8C;IAC9C,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,+HAA+H;IAC/H,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,+HAA+H;IAC/H,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,gEAAuB,CAAA;IACvB,8EAA8B,CAAA;IAE9B,oHAAoH;IACpH,wEAA2B,CAAA;IAC3B,oHAAoH;IACpH,4GAA6C,CAAA;IAE7C,qBAAqB;IACrB,qEAAqE;IACrE,8DAA8D;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,6DAA6D;IAC7D,sEAAsE;IACtE,4DAA4D;IAE5D,mDAAmD;IAEnD,2CAA2C;IAC3C,4FAAqC,CAAA;IACrC,8EAA8B,CAAA;IAC9B,yCAAyC;IACzC,oFAAiC,CAAA;IACjC,gEAAgE;IAChE,qGAAqG;IACrG,8FAAsC,CAAA;IAEtC,kFAAgC,CAAA;IAChC,gGAAuC,CAAA;IAEvC,wFAAmC,CAAA;IACnC,sGAA0C,CAAA;IAC1C,sEAA0B,CAAA;AAC5B,CAAC,EA1EW,MAAM,KAAN,MAAM,QA0EjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAwB,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,MA2EX;AA3ED,WAAY,MAAM;IAChB,eAAe;IACf,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qBAAqB;IACrB,uDAAkB,CAAA;IAClB,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qCAAqC;IACrC,6FAAqC,CAAA;IACrC,iFAA+B,CAAA;IAC/B,kBAAkB;IAClB,mDAAmD;IACnD,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,8CAA8C;IAC9C,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,+HAA+H;IAC/H,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,+HAA+H;IAC/H,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,gEAAuB,CAAA;IACvB,8EAA8B,CAAA;IAE9B,oHAAoH;IACpH,wEAA2B,CAAA;IAC3B,oHAAoH;IACpH,4GAA6C,CAAA;IAE7C,qBAAqB;IACrB,qEAAqE;IACrE,8DAA8D;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,6DAA6D;IAC7D,sEAAsE;IACtE,4DAA4D;IAE5D,mDAAmD;IAEnD,2CAA2C;IAC3C,4FAAqC,CAAA;IACrC,8EAA8B,CAAA;IAC9B,yCAAyC;IACzC,oFAAiC,CAAA;IACjC,gEAAgE;IAChE,qGAAqG;IACrG,8FAAsC,CAAA;IAEtC,kFAAgC,CAAA;IAChC,gGAAuC,CAAA;IAEvC,wFAAmC,CAAA;IACnC,sGAA0C,CAAA;IAC1C,sEAA0B,CAAA;IAC1B,8EAA8B,CAAA;AAChC,CAAC,EA3EW,MAAM,KAAN,MAAM,QA2EjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAwB,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
@@ -4,7 +4,7 @@ import type { IDataColumnStore } from "./dataColumnStore.js";
4
4
  import type { FlatFileStoreMetrics } from "./flatFileStore/metrics.js";
5
5
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
6
6
  import { EarliestAvailableSlotRepository } from "./repositories/earliestAvailableSlot.js";
7
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
7
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerPreferencesRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
8
8
  /**
9
9
  * The DB service manages the data layer of the beacon chain
10
10
  * The exposed methods do not refer to the underlying data engine,
@@ -24,6 +24,7 @@ export interface IBeaconDb {
24
24
  earliestAvailableSlot: EarliestAvailableSlotRepository;
25
25
  voluntaryExit: VoluntaryExitRepository;
26
26
  proposerSlashing: ProposerSlashingRepository;
27
+ proposerPreferences: ProposerPreferencesRepository;
27
28
  attesterSlashing: AttesterSlashingRepository;
28
29
  blsToExecutionChange: BLSToExecutionChangeRepository;
29
30
  bestLightClientUpdate: BestLightClientUpdateRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAG3E,YAAY,EAAE,sBAAsB,CAAC;IAErC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,qBAAqB,EAAE,+BAA+B,CAAC;IAGvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;CACzG"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAC,+BAA+B,EAAC,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAG3E,YAAY,EAAE,sBAAsB,CAAC;IAErC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,qBAAqB,EAAE,+BAA+B,CAAC;IAGvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;CACzG"}
@@ -1,8 +1,8 @@
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_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive" | "allForks_stateArchive" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "earliestAvailableSlot" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
5
- export declare const parentRootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive" | "allForks_stateArchive" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "earliestAvailableSlot" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
4
+ export declare const rootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive" | "allForks_stateArchive" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "earliestAvailableSlot" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "gloas_proposerPreferences" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
5
+ export declare const parentRootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive" | "allForks_stateArchive" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "earliestAvailableSlot" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "gloas_proposerPreferences" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
6
6
  export declare function getRootIndex(db: Db, blockRoot: Root): Promise<Uint8Array | null>;
7
7
  export declare function getParentRootIndex(db: Db, parentRoot: Root): Promise<Uint8Array | null>;
8
8
  export declare function deleteRootIndex(db: Db, signedBeaconBlockType: SSZTypesFor<ForkAll, "SignedBeaconBlock">, block: SignedBeaconBlock): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"blockArchiveIndex.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAGhF,eAAO,MAAM,iBAAiB,82BAA2D,CAAC;AAC1F,eAAO,MAAM,uBAAuB,82BAAiE,CAAC;AAEtG,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEtF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE7F;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAChE,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAElE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD"}
1
+ {"version":3,"file":"blockArchiveIndex.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAGhF,eAAO,MAAM,iBAAiB,44BAA2D,CAAC;AAC1F,eAAO,MAAM,uBAAuB,44BAAiE,CAAC;AAEtG,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEtF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE7F;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAChE,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAElE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD"}
@@ -13,6 +13,7 @@ export { BestLightClientUpdateRepository } from "./lightclientBestUpdate.js";
13
13
  export { CheckpointHeaderRepository } from "./lightclientCheckpointHeader.js";
14
14
  export { SyncCommitteeRepository } from "./lightclientSyncCommittee.js";
15
15
  export { SyncCommitteeWitnessRepository } from "./lightclientSyncCommitteeWitness.js";
16
+ export { ProposerPreferencesRepository } from "./proposerPreferences.js";
16
17
  export { ProposerSlashingRepository } from "./proposerSlashing.js";
17
18
  export { StateArchiveRepository } from "./stateArchive.js";
18
19
  export { VoluntaryExitRepository } from "./voluntaryExit.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAC,8BAA8B,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EACL,KAAK,gBAAgB,EACrB,yCAAyC,EACzC,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAC,8BAA8B,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EACL,KAAK,gBAAgB,EACrB,yCAAyC,EACzC,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -12,6 +12,7 @@ export { BestLightClientUpdateRepository } from "./lightclientBestUpdate.js";
12
12
  export { CheckpointHeaderRepository } from "./lightclientCheckpointHeader.js";
13
13
  export { SyncCommitteeRepository } from "./lightclientSyncCommittee.js";
14
14
  export { SyncCommitteeWitnessRepository } from "./lightclientSyncCommitteeWitness.js";
15
+ export { ProposerPreferencesRepository } from "./proposerPreferences.js";
15
16
  export { ProposerSlashingRepository } from "./proposerSlashing.js";
16
17
  export { StateArchiveRepository } from "./stateArchive.js";
17
18
  export { VoluntaryExitRepository } from "./voluntaryExit.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAEL,yCAAyC,EACzC,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAEL,yCAAyC,EACzC,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { Db, Repository } from "@lodestar/db";
3
+ import { gloas } from "@lodestar/types";
4
+ /**
5
+ * SignedProposerPreferences indexed by proposal slot and dependent root
6
+ *
7
+ * Added via gossip or api
8
+ * Removed once the proposal slot has passed
9
+ */
10
+ export declare class ProposerPreferencesRepository extends Repository<Uint8Array, gloas.SignedProposerPreferences> {
11
+ constructor(config: ChainForkConfig, db: Db);
12
+ getId(value: gloas.SignedProposerPreferences): Uint8Array;
13
+ }
14
+ //# sourceMappingURL=proposerPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposerPreferences.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/proposerPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAI3C;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,yBAAyB,CAAC;IACxG,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAG1C;IAED,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAGxD;CACF"}
@@ -0,0 +1,21 @@
1
+ import { Repository } from "@lodestar/db";
2
+ import { ssz } from "@lodestar/types";
3
+ import { intToBytes } from "@lodestar/utils";
4
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
5
+ /**
6
+ * SignedProposerPreferences indexed by proposal slot and dependent root
7
+ *
8
+ * Added via gossip or api
9
+ * Removed once the proposal slot has passed
10
+ */
11
+ export class ProposerPreferencesRepository extends Repository {
12
+ constructor(config, db) {
13
+ const bucket = Bucket.gloas_proposerPreferences;
14
+ super(config, db, bucket, ssz.gloas.SignedProposerPreferences, getBucketNameByValue(bucket));
15
+ }
16
+ getId(value) {
17
+ const { proposalSlot, dependentRoot } = value.message;
18
+ return Buffer.concat([intToBytes(proposalSlot, 8, "be"), dependentRoot]);
19
+ }
20
+ }
21
+ //# sourceMappingURL=proposerPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposerPreferences.js","sourceRoot":"","sources":["../../../src/db/repositories/proposerPreferences.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAQ,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAO,6BAA8B,SAAQ,UAAuD;IACxG,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAChD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,KAAsC;QAC1C,MAAM,EAAC,YAAY,EAAE,aAAa,EAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/util/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEhE,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,aAAa,CAOlG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/util/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEhE,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,aAAa,CAQlG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE3D"}
@@ -5,7 +5,8 @@ export function getLodestarClientVersion(info) {
5
5
  code: ClientCode.LS,
6
6
  name: "Lodestar",
7
7
  version: info?.version ?? "",
8
- commit: info?.commit?.slice(0, 8) ?? "",
8
+ // engine_getClientVersionV1 defines commit as 4 bytes, so builds without git data must not send an empty one
9
+ commit: info?.commit ? info.commit.slice(0, 8) : "00000000",
9
10
  };
10
11
  }
11
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/util/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,UAAU,EAAgB,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,wBAAwB,CAAC,IAA0C;IACjF,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,EAAE;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAoB;IACjD,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/util/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,UAAU,EAAgB,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,wBAAwB,CAAC,IAA0C;IACjF,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,EAAE;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;QAC5B,6GAA6G;QAC7G,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAoB;IACjD,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.50.0-dev.072bf98853",
14
+ "version": "1.50.0-dev.0837ebd402",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -127,17 +127,17 @@
127
127
  "@libp2p/prometheus-metrics": "^5.0.28",
128
128
  "@libp2p/tcp": "^11.0.27",
129
129
  "@libp2p/utils": "^7.4.0",
130
- "@lodestar/api": "^1.50.0-dev.072bf98853",
131
- "@lodestar/config": "^1.50.0-dev.072bf98853",
132
- "@lodestar/db": "^1.50.0-dev.072bf98853",
133
- "@lodestar/fork-choice": "^1.50.0-dev.072bf98853",
134
- "@lodestar/logger": "^1.50.0-dev.072bf98853",
135
- "@lodestar/params": "^1.50.0-dev.072bf98853",
136
- "@lodestar/reqresp": "^1.50.0-dev.072bf98853",
137
- "@lodestar/state-transition": "^1.50.0-dev.072bf98853",
138
- "@lodestar/types": "^1.50.0-dev.072bf98853",
139
- "@lodestar/utils": "^1.50.0-dev.072bf98853",
140
- "@lodestar/validator": "^1.50.0-dev.072bf98853",
130
+ "@lodestar/api": "^1.50.0-dev.0837ebd402",
131
+ "@lodestar/config": "^1.50.0-dev.0837ebd402",
132
+ "@lodestar/db": "^1.50.0-dev.0837ebd402",
133
+ "@lodestar/fork-choice": "^1.50.0-dev.0837ebd402",
134
+ "@lodestar/logger": "^1.50.0-dev.0837ebd402",
135
+ "@lodestar/params": "^1.50.0-dev.0837ebd402",
136
+ "@lodestar/reqresp": "^1.50.0-dev.0837ebd402",
137
+ "@lodestar/state-transition": "^1.50.0-dev.0837ebd402",
138
+ "@lodestar/types": "^1.50.0-dev.0837ebd402",
139
+ "@lodestar/utils": "^1.50.0-dev.0837ebd402",
140
+ "@lodestar/validator": "^1.50.0-dev.0837ebd402",
141
141
  "@multiformats/multiaddr": "^13.0.1",
142
142
  "datastore-core": "^12.0.1",
143
143
  "datastore-level": "^13.0.1",
@@ -158,8 +158,8 @@
158
158
  "devDependencies": {
159
159
  "@libp2p/interface-internal": "^3.1.12",
160
160
  "@libp2p/logger": "^6.2.13",
161
- "@lodestar/spec-test-util": "^1.50.0-dev.072bf98853",
162
- "@lodestar/test-utils": "^1.50.0-dev.072bf98853",
161
+ "@lodestar/spec-test-util": "^1.50.0-dev.0837ebd402",
162
+ "@lodestar/test-utils": "^1.50.0-dev.0837ebd402",
163
163
  "@types/js-yaml": "^4.0.5",
164
164
  "@types/qs": "^6.9.7",
165
165
  "@types/tmp": "^0.2.3",
@@ -174,5 +174,5 @@
174
174
  "beacon",
175
175
  "blockchain"
176
176
  ],
177
- "gitHead": "f61f24d517de6a960aa1e7f4eda106f018b9bce9"
177
+ "gitHead": "24816891bf63de795f296996a1149cec3b71af4d"
178
178
  }
@@ -16,7 +16,14 @@ import {
16
16
  isStatePostFulu,
17
17
  isStatePostGloas,
18
18
  } from "@lodestar/state-transition";
19
- import {ValidatorIndex, getBuilderStatus, getValidatorStatus, mapToGeneralStatus, ssz} from "@lodestar/types";
19
+ import {
20
+ ValidatorIndex,
21
+ getBuilderStatus,
22
+ getValidatorStatus,
23
+ mapToGeneralStatus,
24
+ ssz,
25
+ sszTypesFor,
26
+ } from "@lodestar/types";
20
27
  import {ApiError} from "../../errors.js";
21
28
  import {ApiModules} from "../../types.js";
22
29
  import {assertUniqueItems} from "../../utils.js";
@@ -413,7 +420,9 @@ export function getBeaconStateApi({
413
420
  const pendingDeposits = state.pendingDeposits;
414
421
 
415
422
  return {
416
- data: context?.returnBytes ? ssz.electra.PendingDeposits.serialize(pendingDeposits) : pendingDeposits,
423
+ data: context?.returnBytes
424
+ ? sszTypesFor(state.forkName).PendingDeposits.serialize(pendingDeposits)
425
+ : pendingDeposits,
417
426
  meta: {executionOptimistic, finalized, version: fork},
418
427
  };
419
428
  },
@@ -430,7 +439,7 @@ export function getBeaconStateApi({
430
439
 
431
440
  return {
432
441
  data: context?.returnBytes
433
- ? ssz.electra.PendingPartialWithdrawals.serialize(pendingPartialWithdrawals)
442
+ ? sszTypesFor(state.forkName).PendingPartialWithdrawals.serialize(pendingPartialWithdrawals)
434
443
  : pendingPartialWithdrawals,
435
444
  meta: {executionOptimistic, finalized, version: fork},
436
445
  };
@@ -448,7 +457,7 @@ export function getBeaconStateApi({
448
457
 
449
458
  return {
450
459
  data: context?.returnBytes
451
- ? ssz.electra.PendingConsolidations.serialize(pendingConsolidations)
460
+ ? sszTypesFor(state.forkName).PendingConsolidations.serialize(pendingConsolidations)
452
461
  : pendingConsolidations,
453
462
  meta: {executionOptimistic, finalized, version: fork},
454
463
  };
@@ -620,12 +620,14 @@ export class BeaconChain implements IBeaconChain {
620
620
  async loadFromDisk(): Promise<void> {
621
621
  await this.regen.init();
622
622
  await this.opPool.fromPersisted(this.db, this.getHeadState(), this.bls, this.clock.currentSlot);
623
+ await this.proposerPreferencesPool.fromPersisted(this.db, this.clock.currentSlot);
623
624
  }
624
625
 
625
626
  /** Persist in-memory data to the DB. Call at least once before stopping the process */
626
627
  async persistToDisk(): Promise<void> {
627
628
  await this.archiveStore.persistToDisk();
628
629
  await this.opPool.toPersisted(this.db);
630
+ await this.proposerPreferencesPool.toPersisted(this.db);
629
631
  }
630
632
 
631
633
  getHeadState(): IBeaconStateView {
@@ -1,5 +1,4 @@
1
1
  import {BeaconConfig} from "@lodestar/config";
2
- import {DbBatch, Id, Repository} from "@lodestar/db";
3
2
  import {
4
3
  BLS_WITHDRAWAL_PREFIX,
5
4
  ForkName,
@@ -42,6 +41,7 @@ import {
42
41
  getAttesterSlashingSignatureDomains,
43
42
  getProposerSlashingSignatureDomain,
44
43
  isValidBlsToExecutionChangeForBlockInclusion,
44
+ persistDiff,
45
45
  } from "./utils.js";
46
46
 
47
47
  type HexRoot = string;
@@ -500,33 +500,3 @@ function isVoluntaryExitSignatureIncludable(stateFork: ForkSeq, voluntaryExitFor
500
500
  function isSlashableAtEpoch(validator: phase0.Validator, epoch: Epoch): boolean {
501
501
  return !validator.slashed && validator.activationEpoch <= epoch && epoch < validator.withdrawableEpoch;
502
502
  }
503
-
504
- /**
505
- * Persist target items `items` in `dbRepo` doing minimum put and delete writes.
506
- * Reads all keys in repository to compute the diff between current persisted data and target data.
507
- */
508
- async function persistDiff<K extends Id, V>(
509
- dbRepo: Repository<K, V>,
510
- items: {key: K; value: V}[],
511
- serializeKey: (key: K) => number | string,
512
- opts: {updateExisting?: boolean} = {}
513
- ): Promise<void> {
514
- const persistedKeys = await dbRepo.keys();
515
- const batch: DbBatch<K, V> = [];
516
-
517
- const persistedKeysSerialized = new Set(persistedKeys.map(serializeKey));
518
- for (const item of items) {
519
- if (opts.updateExisting || !persistedKeysSerialized.has(serializeKey(item.key))) {
520
- batch.push({type: "put", key: item.key, value: item.value});
521
- }
522
- }
523
-
524
- const targetKeysSerialized = new Set(items.map((item) => serializeKey(item.key)));
525
- for (const persistedKey of persistedKeys) {
526
- if (!targetKeysSerialized.has(serializeKey(persistedKey))) {
527
- batch.push({type: "del", key: persistedKey});
528
- }
529
- }
530
-
531
- if (batch.length > 0) await dbRepo.batch(batch);
532
- }