@xyo-network/chain-orchestration 1.20.19 → 1.20.21

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 (31) hide show
  1. package/dist/browser/index.mjs +15 -1
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/browser/node/manifest/NamedLmdbArchivist.d.ts +18 -0
  4. package/dist/browser/node/manifest/NamedLmdbArchivist.d.ts.map +1 -0
  5. package/dist/browser/node/manifest/getLocator.d.ts.map +1 -1
  6. package/dist/browser/shared/actor/ValidatorActor.d.ts +1 -1
  7. package/dist/browser/shared/actor/ValidatorActor.d.ts.map +1 -1
  8. package/dist/browser/shared/config/actors/Mempool.d.ts +14 -0
  9. package/dist/browser/shared/config/actors/Mempool.d.ts.map +1 -1
  10. package/dist/browser/shared/config/actors/Validator.d.ts +6 -6
  11. package/dist/neutral/index.mjs +15 -1
  12. package/dist/neutral/index.mjs.map +1 -1
  13. package/dist/neutral/node/manifest/NamedLmdbArchivist.d.ts +18 -0
  14. package/dist/neutral/node/manifest/NamedLmdbArchivist.d.ts.map +1 -0
  15. package/dist/neutral/node/manifest/getLocator.d.ts.map +1 -1
  16. package/dist/neutral/shared/actor/ValidatorActor.d.ts +1 -1
  17. package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +1 -1
  18. package/dist/neutral/shared/config/actors/Mempool.d.ts +14 -0
  19. package/dist/neutral/shared/config/actors/Mempool.d.ts.map +1 -1
  20. package/dist/neutral/shared/config/actors/Validator.d.ts +6 -6
  21. package/dist/node/index.mjs +55 -1
  22. package/dist/node/index.mjs.map +1 -1
  23. package/dist/node/node/manifest/NamedLmdbArchivist.d.ts +18 -0
  24. package/dist/node/node/manifest/NamedLmdbArchivist.d.ts.map +1 -0
  25. package/dist/node/node/manifest/getLocator.d.ts.map +1 -1
  26. package/dist/node/shared/actor/ValidatorActor.d.ts +1 -1
  27. package/dist/node/shared/actor/ValidatorActor.d.ts.map +1 -1
  28. package/dist/node/shared/config/actors/Mempool.d.ts +14 -0
  29. package/dist/node/shared/config/actors/Mempool.d.ts.map +1 -1
  30. package/dist/node/shared/config/actors/Validator.d.ts +6 -6
  31. package/package.json +14 -13
@@ -1,6 +1,8 @@
1
1
  import { zodAsFactory, zodToFactory } from '@xylabs/sdk-js';
2
2
  import type { BaseConfigContext } from '@xyo-network/xl1-sdk';
3
3
  import { z } from 'zod';
4
+ export declare const DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL = 1000;
5
+ export declare const DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL = 1000;
4
6
  export declare const MempoolConfigZod: z.ZodObject<{
5
7
  chain: z.ZodDefault<z.ZodObject<{
6
8
  id: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>;
@@ -88,6 +90,8 @@ export declare const MempoolConfigZod: z.ZodObject<{
88
90
  port: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
89
91
  accountIndex: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
90
92
  enabled: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>, z.ZodTransform<boolean, string | boolean>>;
93
+ blockPruneInterval: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
94
+ transactionPruneInterval: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
91
95
  }, z.core.$strip>;
92
96
  export type MempoolConfig = z.infer<typeof MempoolConfigZod>;
93
97
  export declare const isMempoolConfig: <T>(value: T) => value is T & {
@@ -167,6 +171,8 @@ export declare const isMempoolConfig: <T>(value: T) => value is T & {
167
171
  host: string;
168
172
  port: number;
169
173
  enabled: boolean;
174
+ blockPruneInterval: number;
175
+ transactionPruneInterval: number;
170
176
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
171
177
  mnemonic?: string | undefined;
172
178
  healthCheckPort?: number | undefined;
@@ -250,6 +256,8 @@ export declare const asMempoolConfig: {
250
256
  host: string;
251
257
  port: number;
252
258
  enabled: boolean;
259
+ blockPruneInterval: number;
260
+ transactionPruneInterval: number;
253
261
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
254
262
  mnemonic?: string | undefined;
255
263
  healthCheckPort?: number | undefined;
@@ -332,6 +340,8 @@ export declare const asMempoolConfig: {
332
340
  host: string;
333
341
  port: number;
334
342
  enabled: boolean;
343
+ blockPruneInterval: number;
344
+ transactionPruneInterval: number;
335
345
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
336
346
  mnemonic?: string | undefined;
337
347
  healthCheckPort?: number | undefined;
@@ -416,6 +426,8 @@ export declare const toMempoolConfig: {
416
426
  host: string;
417
427
  port: number;
418
428
  enabled: boolean;
429
+ blockPruneInterval: number;
430
+ transactionPruneInterval: number;
419
431
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
420
432
  mnemonic?: string | undefined;
421
433
  healthCheckPort?: number | undefined;
@@ -498,6 +510,8 @@ export declare const toMempoolConfig: {
498
510
  host: string;
499
511
  port: number;
500
512
  enabled: boolean;
513
+ blockPruneInterval: number;
514
+ transactionPruneInterval: number;
501
515
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
502
516
  mnemonic?: string | undefined;
503
517
  healthCheckPort?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Mempool.d.ts","sourceRoot":"","sources":["../../../../../src/shared/config/actors/Mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAgB,YAAY,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,OAAO,EAAkB,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB3B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiC,CAAA;AAC7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAChF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAEhF,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7E,MAAM,EAAE,aAAa,CAAA;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAA6D,CAAA;AAE9H,eAAO,MAAM,sBAAsB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,oBAAyD,CAAA;AAC5H,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAgE,CAAA;AACzJ,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAgE,CAAA"}
1
+ {"version":3,"file":"Mempool.d.ts","sourceRoot":"","sources":["../../../../../src/shared/config/actors/Mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAgB,YAAY,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,OAAO,EAAkB,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvC,eAAO,MAAM,oCAAoC,OAAO,CAAA;AACxD,eAAO,MAAM,0CAA0C,OAAO,CAAA;AAE9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B3B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiC,CAAA;AAC7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAChF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAEhF,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7E,MAAM,EAAE,aAAa,CAAA;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAA6D,CAAA;AAE9H,eAAO,MAAM,sBAAsB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,oBAAyD,CAAA;AAC5H,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAgE,CAAA;AACzJ,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAgE,CAAA"}
@@ -92,7 +92,7 @@ export declare const ValidatorConfigZod: z.ZodObject<{
92
92
  } & {
93
93
  readonly __address: true;
94
94
  }, string>>>>;
95
- minCandidates: z.ZodOptional<z.ZodNumber>;
95
+ minCandidates: z.ZodDefault<z.ZodNumber>;
96
96
  }, z.core.$strip>;
97
97
  export type ValidatorConfig = z.infer<typeof ValidatorConfigZod>;
98
98
  export declare const isValidatorConfig: <T>(value: T) => value is T & {
@@ -171,6 +171,7 @@ export declare const isValidatorConfig: <T>(value: T) => value is T & {
171
171
  name: string;
172
172
  host: string;
173
173
  port: number;
174
+ minCandidates: number;
174
175
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
175
176
  mnemonic?: string | undefined;
176
177
  healthCheckPort?: number | undefined;
@@ -180,7 +181,6 @@ export declare const isValidatorConfig: <T>(value: T) => value is T & {
180
181
  } & {
181
182
  readonly __address: true;
182
183
  })[] | undefined;
183
- minCandidates?: number | undefined;
184
184
  };
185
185
  export declare const asValidatorConfig: {
186
186
  <T>(value: T): (T & {
@@ -259,6 +259,7 @@ export declare const asValidatorConfig: {
259
259
  name: string;
260
260
  host: string;
261
261
  port: number;
262
+ minCandidates: number;
262
263
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
263
264
  mnemonic?: string | undefined;
264
265
  healthCheckPort?: number | undefined;
@@ -268,7 +269,6 @@ export declare const asValidatorConfig: {
268
269
  } & {
269
270
  readonly __address: true;
270
271
  })[] | undefined;
271
- minCandidates?: number | undefined;
272
272
  }) | undefined;
273
273
  <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
274
274
  chain: {
@@ -346,6 +346,7 @@ export declare const asValidatorConfig: {
346
346
  name: string;
347
347
  host: string;
348
348
  port: number;
349
+ minCandidates: number;
349
350
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
350
351
  mnemonic?: string | undefined;
351
352
  healthCheckPort?: number | undefined;
@@ -355,7 +356,6 @@ export declare const asValidatorConfig: {
355
356
  } & {
356
357
  readonly __address: true;
357
358
  })[] | undefined;
358
- minCandidates?: number | undefined;
359
359
  };
360
360
  };
361
361
  export declare const toValidatorConfig: {
@@ -435,6 +435,7 @@ export declare const toValidatorConfig: {
435
435
  name: string;
436
436
  host: string;
437
437
  port: number;
438
+ minCandidates: number;
438
439
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
439
440
  mnemonic?: string | undefined;
440
441
  healthCheckPort?: number | undefined;
@@ -444,7 +445,6 @@ export declare const toValidatorConfig: {
444
445
  } & {
445
446
  readonly __address: true;
446
447
  })[] | undefined;
447
- minCandidates?: number | undefined;
448
448
  }) | undefined;
449
449
  <T>(value: T, assert: import("@xylabs/sdk-js").ZodFactoryConfig): T & {
450
450
  chain: {
@@ -522,6 +522,7 @@ export declare const toValidatorConfig: {
522
522
  name: string;
523
523
  host: string;
524
524
  port: number;
525
+ minCandidates: number;
525
526
  dataLake?: import("@xyo-network/xl1-sdk").DataLakeConfig | undefined;
526
527
  mnemonic?: string | undefined;
527
528
  healthCheckPort?: number | undefined;
@@ -531,7 +532,6 @@ export declare const toValidatorConfig: {
531
532
  } & {
532
533
  readonly __address: true;
533
534
  })[] | undefined;
534
- minCandidates?: number | undefined;
535
535
  };
536
536
  };
537
537
  export interface ValidatorConfigContext extends Omit<BaseConfigContext, 'config'> {
@@ -252,6 +252,8 @@ var toBridgeConfigContext = zodToFactory2(BridgeConfigContext, "toBridgeConfigCo
252
252
  import { zodAsFactory as zodAsFactory3, zodIsFactory as zodIsFactory3, zodToFactory as zodToFactory3 } from "@xylabs/sdk-js";
253
253
  import { BaseConfigContextZod as BaseConfigContextZod3, HostActorConfigZod as HostActorConfigZod3 } from "@xyo-network/xl1-sdk";
254
254
  import { globalRegistry as globalRegistry4, z as z4 } from "zod";
255
+ var DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL = 1e3;
256
+ var DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL = 1e3;
255
257
  var MempoolConfigZod = HostActorConfigZod3.extend({
256
258
  accountIndex: ActorAccountIndexZod("mempool.accountIndex"),
257
259
  enabled: z4.union([
@@ -283,6 +285,16 @@ var MempoolConfigZod = HostActorConfigZod3.extend({
283
285
  description: "Enable the Mempool",
284
286
  title: "mempool.enabled",
285
287
  type: "boolean"
288
+ }),
289
+ blockPruneInterval: z4.coerce.number().default(DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL).register(globalRegistry4, {
290
+ description: "The interval time (in milliseconds) between pending block prune attempts",
291
+ title: "mempool.blockPruneInterval",
292
+ type: "number"
293
+ }),
294
+ transactionPruneInterval: z4.coerce.number().default(DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL).register(globalRegistry4, {
295
+ description: "The interval time (in milliseconds) between pending transaction prune attempts",
296
+ title: "mempool.transactionPruneInterval",
297
+ type: "number"
286
298
  })
287
299
  });
288
300
  var isMempoolConfig = zodIsFactory3(MempoolConfigZod);
@@ -373,7 +385,7 @@ import { z as z6 } from "zod";
373
385
  var ValidatorConfigZod = HostActorConfigZod5.extend({
374
386
  accountIndex: ActorAccountIndexZod("validator.accountIndex"),
375
387
  allowedProducers: z6.array(AddressZod3).optional(),
376
- minCandidates: z6.number().int().min(0).optional()
388
+ minCandidates: z6.number().int().min(0).default(1)
377
389
  });
378
390
  var isValidatorConfig = zodIsFactory6(ValidatorConfigZod);
379
391
  var asValidatorConfig = zodAsFactory6(ValidatorConfigZod, "asValidatorConfig");
@@ -1089,11 +1101,38 @@ import { asArchivistInstance } from "@xyo-network/sdk-js";
1089
1101
 
1090
1102
  // src/node/manifest/getLocator.ts
1091
1103
  import { isDefined as isDefined2 } from "@xylabs/sdk-js";
1104
+ import { LmdbArchivistConfigSchema } from "@xyo-network/archivist-lmdb";
1092
1105
  import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
1093
1106
  import { ViewArchivist } from "@xyo-network/archivist-view";
1094
1107
  import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
1095
1108
  import { AbstractModule, LoggerModuleStatusReporter, MemoryArchivist, MemorySentinel, ModuleFactoryLocator } from "@xyo-network/sdk-js";
1096
1109
  import { hasMongoConfig as hasMongoConfig2 } from "@xyo-network/xl1-sdk";
1110
+
1111
+ // src/node/manifest/NamedLmdbArchivist.ts
1112
+ import { LmdbArchivist } from "@xyo-network/archivist-lmdb";
1113
+ var NamedLmdbArchivist = class extends LmdbArchivist {
1114
+ static {
1115
+ __name(this, "NamedLmdbArchivist");
1116
+ }
1117
+ get dbName() {
1118
+ return this.config.dbName ?? "xyo-chain";
1119
+ }
1120
+ get location() {
1121
+ const cfgLocation = this.config.location;
1122
+ const paramsLocation = this.params?.location;
1123
+ if (cfgLocation) return cfgLocation;
1124
+ if (paramsLocation) return paramsLocation;
1125
+ throw new Error("NamedLmdbArchivist: no location configured (set storage.root or pass location in factory params)");
1126
+ }
1127
+ get storeName() {
1128
+ const cfg = this.config;
1129
+ const derived = cfg.storeName ?? cfg.payloadSdkConfig?.collection ?? cfg.name;
1130
+ if (!derived) throw new Error("NamedLmdbArchivist: no storeName (or payloadSdkConfig.collection / name) configured");
1131
+ return derived;
1132
+ }
1133
+ };
1134
+
1135
+ // src/node/manifest/getLocator.ts
1097
1136
  var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
1098
1137
  const { otlpEndpoint } = config.telemetry?.otel ?? {};
1099
1138
  const { path: endpoint = "/metrics", port = 9465 } = config.telemetry?.metrics?.scrape ?? {};
@@ -1131,6 +1170,19 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
1131
1170
  locator.register(MongoDBArchivistV2Deletable.factory(params), {
1132
1171
  "network.xyo.storage.capabilities.delete": "enabled"
1133
1172
  }, false);
1173
+ } else if (isDefined2(config.storage?.root)) {
1174
+ const lmdbLocation = config.storage.root;
1175
+ const lmdbConfig = {
1176
+ clearStoreOnStart: false,
1177
+ location: lmdbLocation,
1178
+ schema: LmdbArchivistConfigSchema
1179
+ };
1180
+ locator.register(NamedLmdbArchivist.factory({
1181
+ config: lmdbConfig,
1182
+ meterProvider,
1183
+ statusReporter,
1184
+ traceProvider
1185
+ }), void 0, true);
1134
1186
  }
1135
1187
  locator.register(MemoryArchivist.factory({
1136
1188
  traceProvider,
@@ -1813,6 +1865,8 @@ export {
1813
1865
  BridgeConfigZod,
1814
1866
  BridgeSettingsZod,
1815
1867
  DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL,
1868
+ DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL,
1869
+ DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL,
1816
1870
  DefaultServiceProvider,
1817
1871
  GENESIS_REWARD_AMOUNT,
1818
1872
  GenericHost,