@xyo-network/chain-mempool 1.20.28 → 1.20.29

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.
@@ -1,10 +1,11 @@
1
- import type { MempoolConfig } from '@xyo-network/chain-orchestration';
2
- import type { ActorParamsV3, MempoolRunner } from '@xyo-network/xl1-sdk';
3
- import { ActorV3 } from '@xyo-network/xl1-sdk';
1
+ import type { ActorCapabilityNeeds, ActorParamsV3, MempoolConfig } from '@xyo-network/chain-orchestration';
2
+ import { ActorV3 } from '@xyo-network/chain-orchestration';
3
+ import type { MempoolRunner } from '@xyo-network/xl1-sdk';
4
4
  export type MempoolActorParams = ActorParamsV3<{
5
5
  config: MempoolConfig;
6
6
  }>;
7
7
  export declare class MempoolActor extends ActorV3<MempoolActorParams> {
8
+ static readonly needs: ActorCapabilityNeeds;
8
9
  protected _mempoolRunner: MempoolRunner;
9
10
  private _blockTimerId;
10
11
  private _blockTimerMutex;
@@ -16,6 +17,9 @@ export declare class MempoolActor extends ActorV3<MempoolActorParams> {
16
17
  createHandler(): Promise<void>;
17
18
  startHandler(): Promise<void>;
18
19
  stopHandler(): Promise<void>;
20
+ protected readyHandler(): Promise<void>;
21
+ private pruneBlocksOnce;
22
+ private pruneTransactionsOnce;
19
23
  private restartBlockTimer;
20
24
  private restartTransactionTimer;
21
25
  private stopBlockTimer;
@@ -1 +1 @@
1
- {"version":3,"file":"MempoolActor.d.ts","sourceRoot":"","sources":["../../src/MempoolActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,OAAO,EAER,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,aAAa,CAAA;CACtB,CAAC,CAAA;AAEF,qBACa,YAAa,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAC3D,SAAS,CAAC,cAAc,EAAG,aAAa,CAAA;IAExC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,sBAAsB,CAAc;IAE5C,SAAS,KAAK,kBAAkB,WAE/B;IAED,SAAS,KAAK,aAAa,kBAE1B;IAED,SAAS,KAAK,wBAAwB,WAErC;IAEc,aAAa;IAKb,YAAY;IAMZ,WAAW;IAM1B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;CAM7B"}
1
+ {"version":3,"file":"MempoolActor.d.ts","sourceRoot":"","sources":["../../src/MempoolActor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIzD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,aAAa,CAAA;CACtB,CAAC,CAAA;AAEF,qBACa,YAAa,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAC3D,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAE1C;IAED,SAAS,CAAC,cAAc,EAAG,aAAa,CAAA;IAExC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,sBAAsB,CAAc;IAE5C,SAAS,KAAK,kBAAkB,WAE/B;IAED,SAAS,KAAK,aAAa,kBAE1B;IAED,SAAS,KAAK,wBAAwB,WAErC;IAEc,aAAa;IAKb,YAAY;IAMZ,WAAW;cAMD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAKxC,eAAe;YASf,qBAAqB;IASnC,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;CAM7B"}
@@ -3,7 +3,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/MempoolActor.ts
5
5
  import { creatable } from "@xylabs/sdk-js";
6
- import { ActorV3, MempoolRunnerMoniker } from "@xyo-network/xl1-sdk";
6
+ import { ActorV3 } from "@xyo-network/chain-orchestration";
7
+ import { MempoolRunnerMoniker } from "@xyo-network/xl1-sdk";
7
8
  import { Mutex } from "async-mutex";
8
9
  function _ts_decorate(decorators, target, key, desc) {
9
10
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -16,6 +17,11 @@ var MempoolActor = class extends ActorV3 {
16
17
  static {
17
18
  __name(this, "MempoolActor");
18
19
  }
20
+ static needs = {
21
+ required: [
22
+ MempoolRunnerMoniker
23
+ ]
24
+ };
19
25
  _mempoolRunner;
20
26
  _blockTimerId = null;
21
27
  _blockTimerMutex = new Mutex();
@@ -44,6 +50,30 @@ var MempoolActor = class extends ActorV3 {
44
50
  this.stopTransactionTimer();
45
51
  this.stopBlockTimer();
46
52
  }
53
+ async readyHandler() {
54
+ await this.pruneBlocksOnce();
55
+ await this.pruneTransactionsOnce();
56
+ }
57
+ async pruneBlocksOnce() {
58
+ try {
59
+ await this.mempoolRunner.prunePendingBlocks({
60
+ batchSize: 50
61
+ });
62
+ } catch (error) {
63
+ this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${error.message}`);
64
+ throw error;
65
+ }
66
+ }
67
+ async pruneTransactionsOnce() {
68
+ try {
69
+ await this.mempoolRunner.prunePendingTransactions({
70
+ batchSize: 50
71
+ });
72
+ } catch (error) {
73
+ this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${error.message}`);
74
+ throw error;
75
+ }
76
+ }
47
77
  restartBlockTimer() {
48
78
  this.stopBlockTimer();
49
79
  this._blockTimerId = setInterval(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MempoolActor.ts","../../src/runMempool.ts"],"sourcesContent":["import { creatable } from '@xylabs/sdk-js'\nimport type { MempoolConfig } from '@xyo-network/chain-orchestration'\nimport type {\n ActorParamsV3,\n MempoolRunner,\n} from '@xyo-network/xl1-sdk'\nimport {\n ActorV3,\n MempoolRunnerMoniker,\n} from '@xyo-network/xl1-sdk'\nimport { Mutex } from 'async-mutex'\n\nexport type MempoolActorParams = ActorParamsV3<{\n config: MempoolConfig\n}>\n\n@creatable()\nexport class MempoolActor extends ActorV3<MempoolActorParams> {\n protected _mempoolRunner!: MempoolRunner\n\n private _blockTimerId: ReturnType<typeof setInterval> | null = null\n private _blockTimerMutex = new Mutex()\n\n private _transactionTimerId: ReturnType<typeof setInterval> | null = null\n private _transactionTimerMutex = new Mutex()\n\n protected get blockPruneInterval() {\n return this.params.config.blockPruneInterval\n }\n\n protected get mempoolRunner() {\n return this._mempoolRunner\n }\n\n protected get transactionPruneInterval() {\n return this.params.config.transactionPruneInterval\n }\n\n override async createHandler() {\n await super.createHandler()\n this._mempoolRunner = await this.locator.getInstance(MempoolRunnerMoniker)\n }\n\n override async startHandler() {\n await super.startHandler()\n this.restartTransactionTimer()\n this.restartBlockTimer()\n }\n\n override async stopHandler() {\n await super.stopHandler()\n this.stopTransactionTimer()\n this.stopBlockTimer()\n }\n\n private restartBlockTimer() {\n this.stopBlockTimer()\n this._blockTimerId = setInterval(() => {\n if (this._blockTimerMutex.isLocked()) {\n return\n }\n void this._blockTimerMutex.runExclusive(async () => {\n try {\n await this.mempoolRunner.prunePendingBlocks({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${(error as Error).message}`)\n }\n })\n }, this.blockPruneInterval)\n }\n\n private restartTransactionTimer() {\n this.stopTransactionTimer()\n this._transactionTimerId = setInterval(() => {\n if (this._transactionTimerMutex.isLocked()) {\n return\n }\n void this._transactionTimerMutex.runExclusive(async () => {\n try {\n await this.mempoolRunner.prunePendingTransactions({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${(error as Error).message}`)\n }\n })\n }, this.transactionPruneInterval)\n }\n\n private stopBlockTimer() {\n if (this._blockTimerId !== null) {\n clearInterval(this._blockTimerId)\n }\n this._blockTimerId = null\n }\n\n private stopTransactionTimer() {\n if (this._transactionTimerId !== null) {\n clearInterval(this._transactionTimerId)\n }\n this._transactionTimerId = null\n }\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { MempoolConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport { initActorWallet } from '@xyo-network/chain-orchestration'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport { MempoolActor } from './MempoolActor.ts'\n\nexport const getMempoolActor = async (\n config: MempoolConfig,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initActorWallet({\n config, logger: locator.context.logger, caches: {}, singletons: {},\n })\n\n return await MempoolActor.create({\n account, config, locator,\n })\n}\n\nexport const runMempool = async (\n config: MempoolConfig,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const mempool = await getMempoolActor(config, locator)\n const actors = [mempool].filter(exists)\n\n for (const actor of actors) {\n // Register the actor with the orchestrator\n await orchestrator.registerActor(actor)\n }\n // Start the orchestrator => automatically activates the actor\n await orchestrator.start()\n}\n"],"mappings":";;;;AAAA,SAASA,iBAAiB;AAM1B,SACEC,SACAC,4BACK;AACP,SAASC,aAAa;;;;;;;;AAOf,IAAMC,eAAN,cAA2BC,QAAAA;SAAAA;;;EACtBC;EAEFC,gBAAuD;EACvDC,mBAAmB,IAAIC,MAAAA;EAEvBC,sBAA6D;EAC7DC,yBAAyB,IAAIF,MAAAA;EAErC,IAAcG,qBAAqB;AACjC,WAAO,KAAKC,OAAOC,OAAOF;EAC5B;EAEA,IAAcG,gBAAgB;AAC5B,WAAO,KAAKT;EACd;EAEA,IAAcU,2BAA2B;AACvC,WAAO,KAAKH,OAAOC,OAAOE;EAC5B;EAEA,MAAeC,gBAAgB;AAC7B,UAAM,MAAMA,cAAAA;AACZ,SAAKX,iBAAiB,MAAM,KAAKY,QAAQC,YAAYC,oBAAAA;EACvD;EAEA,MAAeC,eAAe;AAC5B,UAAM,MAAMA,aAAAA;AACZ,SAAKC,wBAAuB;AAC5B,SAAKC,kBAAiB;EACxB;EAEA,MAAeC,cAAc;AAC3B,UAAM,MAAMA,YAAAA;AACZ,SAAKC,qBAAoB;AACzB,SAAKC,eAAc;EACrB;EAEQH,oBAAoB;AAC1B,SAAKG,eAAc;AACnB,SAAKnB,gBAAgBoB,YAAY,MAAA;AAC/B,UAAI,KAAKnB,iBAAiBoB,SAAQ,GAAI;AACpC;MACF;AACA,WAAK,KAAKpB,iBAAiBqB,aAAa,YAAA;AACtC,YAAI;AACF,gBAAM,KAAKd,cAAce,mBAAmB;YAAEC,WAAW;UAAG,CAAA;QAC9D,SAASC,OAAO;AACd,eAAKC,QAAQD,MAAM,gDAAiDA,MAAgBE,OAAO,EAAE;QAC/F;MACF,CAAA;IACF,GAAG,KAAKtB,kBAAkB;EAC5B;EAEQU,0BAA0B;AAChC,SAAKG,qBAAoB;AACzB,SAAKf,sBAAsBiB,YAAY,MAAA;AACrC,UAAI,KAAKhB,uBAAuBiB,SAAQ,GAAI;AAC1C;MACF;AACA,WAAK,KAAKjB,uBAAuBkB,aAAa,YAAA;AAC5C,YAAI;AACF,gBAAM,KAAKd,cAAcoB,yBAAyB;YAAEJ,WAAW;UAAG,CAAA;QACpE,SAASC,OAAO;AACd,eAAKC,QAAQD,MAAM,sDAAuDA,MAAgBE,OAAO,EAAE;QACrG;MACF,CAAA;IACF,GAAG,KAAKlB,wBAAwB;EAClC;EAEQU,iBAAiB;AACvB,QAAI,KAAKnB,kBAAkB,MAAM;AAC/B6B,oBAAc,KAAK7B,aAAa;IAClC;AACA,SAAKA,gBAAgB;EACvB;EAEQkB,uBAAuB;AAC7B,QAAI,KAAKf,wBAAwB,MAAM;AACrC0B,oBAAc,KAAK1B,mBAAmB;IACxC;AACA,SAAKA,sBAAsB;EAC7B;AACF;;;;;;ACpGA,SAAS2B,cAAc;AAEvB,SAASC,uBAAuB;AAKzB,IAAMC,kBAAkB,8BAC7BC,QACAC,YAAAA;AAEA,QAAMC,UAAU,MAAMC,gBAAgB;IACpCH;IAAQI,QAAQH,QAAQI,QAAQD;IAAQE,QAAQ,CAAC;IAAGC,YAAY,CAAC;EACnE,CAAA;AAEA,SAAO,MAAMC,aAAaC,OAAO;IAC/BP;IAASF;IAAQC;EACnB,CAAA;AACF,GAX+B;AAaxB,IAAMS,aAAa,8BACxBV,QACAW,cACAV,YAAAA;AAEA,QAAMW,UAAU,MAAMb,gBAAgBC,QAAQC,OAAAA;AAC9C,QAAMY,SAAS;IAACD;IAASE,OAAOC,MAAAA;AAEhC,aAAWC,SAASH,QAAQ;AAE1B,UAAMF,aAAaM,cAAcD,KAAAA;EACnC;AAEA,QAAML,aAAaO,MAAK;AAC1B,GAd0B;","names":["creatable","ActorV3","MempoolRunnerMoniker","Mutex","MempoolActor","ActorV3","_mempoolRunner","_blockTimerId","_blockTimerMutex","Mutex","_transactionTimerId","_transactionTimerMutex","blockPruneInterval","params","config","mempoolRunner","transactionPruneInterval","createHandler","locator","getInstance","MempoolRunnerMoniker","startHandler","restartTransactionTimer","restartBlockTimer","stopHandler","stopTransactionTimer","stopBlockTimer","setInterval","isLocked","runExclusive","prunePendingBlocks","batchSize","error","logger","message","prunePendingTransactions","clearInterval","exists","initActorWallet","getMempoolActor","config","locator","account","initActorWallet","logger","context","caches","singletons","MempoolActor","create","runMempool","orchestrator","mempool","actors","filter","exists","actor","registerActor","start"]}
1
+ {"version":3,"sources":["../../src/MempoolActor.ts","../../src/runMempool.ts"],"sourcesContent":["import { creatable } from '@xylabs/sdk-js'\nimport type { ActorCapabilityNeeds, ActorParamsV3, MempoolConfig } from '@xyo-network/chain-orchestration'\nimport { ActorV3 } from '@xyo-network/chain-orchestration'\nimport type { MempoolRunner } from '@xyo-network/xl1-sdk'\nimport { MempoolRunnerMoniker } from '@xyo-network/xl1-sdk'\nimport { Mutex } from 'async-mutex'\n\nexport type MempoolActorParams = ActorParamsV3<{\n config: MempoolConfig\n}>\n\n@creatable()\nexport class MempoolActor extends ActorV3<MempoolActorParams> {\n static readonly needs: ActorCapabilityNeeds = {\n required: [MempoolRunnerMoniker],\n }\n\n protected _mempoolRunner!: MempoolRunner\n\n private _blockTimerId: ReturnType<typeof setInterval> | null = null\n private _blockTimerMutex = new Mutex()\n\n private _transactionTimerId: ReturnType<typeof setInterval> | null = null\n private _transactionTimerMutex = new Mutex()\n\n protected get blockPruneInterval() {\n return this.params.config.blockPruneInterval\n }\n\n protected get mempoolRunner() {\n return this._mempoolRunner\n }\n\n protected get transactionPruneInterval() {\n return this.params.config.transactionPruneInterval\n }\n\n override async createHandler() {\n await super.createHandler()\n this._mempoolRunner = await this.locator.getInstance(MempoolRunnerMoniker)\n }\n\n override async startHandler() {\n await super.startHandler()\n this.restartTransactionTimer()\n this.restartBlockTimer()\n }\n\n override async stopHandler() {\n await super.stopHandler()\n this.stopTransactionTimer()\n this.stopBlockTimer()\n }\n\n protected override async readyHandler(): Promise<void> {\n await this.pruneBlocksOnce()\n await this.pruneTransactionsOnce()\n }\n\n private async pruneBlocksOnce(): Promise<void> {\n try {\n await this.mempoolRunner.prunePendingBlocks({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${(error as Error).message}`)\n throw error\n }\n }\n\n private async pruneTransactionsOnce(): Promise<void> {\n try {\n await this.mempoolRunner.prunePendingTransactions({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${(error as Error).message}`)\n throw error\n }\n }\n\n private restartBlockTimer() {\n this.stopBlockTimer()\n this._blockTimerId = setInterval(() => {\n if (this._blockTimerMutex.isLocked()) {\n return\n }\n void this._blockTimerMutex.runExclusive(async () => {\n try {\n await this.mempoolRunner.prunePendingBlocks({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending blocks: ${(error as Error).message}`)\n }\n })\n }, this.blockPruneInterval)\n }\n\n private restartTransactionTimer() {\n this.stopTransactionTimer()\n this._transactionTimerId = setInterval(() => {\n if (this._transactionTimerMutex.isLocked()) {\n return\n }\n void this._transactionTimerMutex.runExclusive(async () => {\n try {\n await this.mempoolRunner.prunePendingTransactions({ batchSize: 50 })\n } catch (error) {\n this.logger?.error(`[MempoolActor] Error pruning pending transactions: ${(error as Error).message}`)\n }\n })\n }, this.transactionPruneInterval)\n }\n\n private stopBlockTimer() {\n if (this._blockTimerId !== null) {\n clearInterval(this._blockTimerId)\n }\n this._blockTimerId = null\n }\n\n private stopTransactionTimer() {\n if (this._transactionTimerId !== null) {\n clearInterval(this._transactionTimerId)\n }\n this._transactionTimerId = null\n }\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { MempoolConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport { initActorWallet } from '@xyo-network/chain-orchestration'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport { MempoolActor } from './MempoolActor.ts'\n\nexport const getMempoolActor = async (\n config: MempoolConfig,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initActorWallet({\n config, logger: locator.context.logger, caches: {}, singletons: {},\n })\n\n return await MempoolActor.create({\n account, config, locator,\n })\n}\n\nexport const runMempool = async (\n config: MempoolConfig,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const mempool = await getMempoolActor(config, locator)\n const actors = [mempool].filter(exists)\n\n for (const actor of actors) {\n // Register the actor with the orchestrator\n await orchestrator.registerActor(actor)\n }\n // Start the orchestrator => automatically activates the actor\n await orchestrator.start()\n}\n"],"mappings":"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","names":["creatable","ActorV3","MempoolRunnerMoniker","Mutex","MempoolActor","ActorV3","needs","required","MempoolRunnerMoniker","_mempoolRunner","_blockTimerId","_blockTimerMutex","Mutex","_transactionTimerId","_transactionTimerMutex","blockPruneInterval","params","config","mempoolRunner","transactionPruneInterval","createHandler","locator","getInstance","startHandler","restartTransactionTimer","restartBlockTimer","stopHandler","stopTransactionTimer","stopBlockTimer","readyHandler","pruneBlocksOnce","pruneTransactionsOnce","prunePendingBlocks","batchSize","error","logger","message","prunePendingTransactions","setInterval","isLocked","runExclusive","clearInterval","exists","initActorWallet","getMempoolActor","config","locator","account","initActorWallet","logger","context","caches","singletons","MempoolActor","create","runMempool","orchestrator","mempool","actors","filter","exists","actor","registerActor","start"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/chain-mempool",
3
- "version": "1.20.28",
3
+ "version": "1.20.29",
4
4
  "description": "XYO Layer One API",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -35,7 +35,7 @@
35
35
  "README.md"
36
36
  ],
37
37
  "dependencies": {
38
- "@xyo-network/chain-orchestration": "~1.20.28"
38
+ "@xyo-network/chain-orchestration": "~1.20.29"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@bitauth/libauth": "~3.0.0",
@@ -43,17 +43,17 @@
43
43
  "@metamask/providers": "^22.1.1",
44
44
  "@metamask/utils": "~11.11.0",
45
45
  "@opentelemetry/api": "^1.9.1",
46
- "@opentelemetry/context-async-hooks": "~2.7.0",
47
- "@opentelemetry/context-zone": "~2.7.0",
48
- "@opentelemetry/core": "~2.7.0",
49
- "@opentelemetry/exporter-prometheus": "~0.215.0",
50
- "@opentelemetry/exporter-trace-otlp-grpc": "~0.215.0",
51
- "@opentelemetry/exporter-trace-otlp-http": "~0.215.0",
46
+ "@opentelemetry/context-async-hooks": "~2.7.1",
47
+ "@opentelemetry/context-zone": "~2.7.1",
48
+ "@opentelemetry/core": "~2.7.1",
49
+ "@opentelemetry/exporter-prometheus": "~0.216.0",
50
+ "@opentelemetry/exporter-trace-otlp-grpc": "~0.216.0",
51
+ "@opentelemetry/exporter-trace-otlp-http": "~0.216.0",
52
52
  "@opentelemetry/host-metrics": "~0.38.3",
53
- "@opentelemetry/instrumentation-runtime-node": "~0.28.0",
54
- "@opentelemetry/resources": "~2.7.0",
55
- "@opentelemetry/sdk-metrics": "~2.7.0",
56
- "@opentelemetry/sdk-trace-base": "^2.7.0",
53
+ "@opentelemetry/instrumentation-runtime-node": "~0.29.0",
54
+ "@opentelemetry/resources": "~2.7.1",
55
+ "@opentelemetry/sdk-metrics": "~2.7.1",
56
+ "@opentelemetry/sdk-trace-base": "^2.7.1",
57
57
  "@opentelemetry/semantic-conventions": "~1.40.0",
58
58
  "@scure/base": "~2.2.0",
59
59
  "@scure/bip39": "~2.2.0",
@@ -63,8 +63,8 @@
63
63
  "@xylabs/mongo": "^5.0.101",
64
64
  "@xylabs/sdk-js": "^5.0.101",
65
65
  "@xylabs/threads": "~5.0.101",
66
- "@xylabs/toolchain": "~7.11.12",
67
- "@xylabs/tsconfig": "~7.11.12",
66
+ "@xylabs/toolchain": "~7.12.3",
67
+ "@xylabs/tsconfig": "~7.12.3",
68
68
  "@xyo-network/account": "~5.5.2",
69
69
  "@xyo-network/account-model": "~5.5.2",
70
70
  "@xyo-network/api": "~5.5.2",
@@ -90,8 +90,8 @@
90
90
  "@xyo-network/typechain": "^4.1.3",
91
91
  "@xyo-network/wallet": "~5.5.2",
92
92
  "@xyo-network/wallet-model": "^5.5.2",
93
- "@xyo-network/xl1-sdk": "^1.26.39",
94
- "ajv": "^8.18.0",
93
+ "@xyo-network/xl1-sdk": "^1.26.44",
94
+ "ajv": "^8.20.0",
95
95
  "async-mutex": "^0.5.0",
96
96
  "axios": "^1.15.2",
97
97
  "bn.js": "^5.2.3",
@@ -114,7 +114,7 @@
114
114
  "idb": "^8.0.3",
115
115
  "lmdb": "^3.5.4",
116
116
  "lru-cache": "^11.3.5",
117
- "mapbox-gl": "^3.22.0",
117
+ "mapbox-gl": "^3.23.0",
118
118
  "mongodb": "^7.2.0",
119
119
  "nodemon": "~3.1.14",
120
120
  "observable-fns": "~0.6.1",
@@ -132,86 +132,86 @@
132
132
  "webextension-polyfill": "^0.12.0",
133
133
  "winston": "~3.19.0",
134
134
  "winston-transport": "~4.9.0",
135
- "zod": "^4.3.6"
135
+ "zod": "~4.4.2"
136
136
  },
137
137
  "peerDependencies": {
138
- "@bitauth/libauth": ">=3.0.0 <4",
138
+ "@bitauth/libauth": ">=3.0.0 <3.1",
139
139
  "@metamask/json-rpc-engine": ">=10.2.4 <11",
140
140
  "@metamask/providers": ">=22.1.1 <23",
141
- "@metamask/utils": ">=11.11.0 <12",
141
+ "@metamask/utils": ">=11.11.0 <11.12",
142
142
  "@opentelemetry/api": ">=1.9.1 <2",
143
- "@opentelemetry/context-async-hooks": ">=2.7.0 <3",
144
- "@opentelemetry/context-zone": ">=2.7.0 <3",
145
- "@opentelemetry/core": ">=2.7.0 <3",
146
- "@opentelemetry/exporter-prometheus": ">=0.215.0 <1",
147
- "@opentelemetry/exporter-trace-otlp-grpc": ">=0.215.0 <1",
148
- "@opentelemetry/exporter-trace-otlp-http": ">=0.215.0 <1",
149
- "@opentelemetry/host-metrics": ">=0.38.3 <1",
150
- "@opentelemetry/instrumentation-runtime-node": ">=0.28.0 <1",
151
- "@opentelemetry/resources": ">=2.7.0 <3",
152
- "@opentelemetry/sdk-metrics": ">=2.7.0 <3",
153
- "@opentelemetry/sdk-trace-base": ">=2.7.0 <3",
154
- "@opentelemetry/semantic-conventions": ">=1.40.0 <2",
155
- "@scure/base": ">=2.2.0 <3",
156
- "@scure/bip39": ">=2.2.0 <3",
143
+ "@opentelemetry/context-async-hooks": ">=2.7.1 <2.8",
144
+ "@opentelemetry/context-zone": ">=2.7.1 <2.8",
145
+ "@opentelemetry/core": ">=2.7.1 <2.8",
146
+ "@opentelemetry/exporter-prometheus": ">=0.216.0 <0.217",
147
+ "@opentelemetry/exporter-trace-otlp-grpc": ">=0.216.0 <0.217",
148
+ "@opentelemetry/exporter-trace-otlp-http": ">=0.216.0 <0.217",
149
+ "@opentelemetry/host-metrics": ">=0.38.3 <0.39",
150
+ "@opentelemetry/instrumentation-runtime-node": ">=0.29.0 <0.30",
151
+ "@opentelemetry/resources": ">=2.7.1 <2.8",
152
+ "@opentelemetry/sdk-metrics": ">=2.7.1 <2.8",
153
+ "@opentelemetry/sdk-trace-base": ">=2.7.1 <3",
154
+ "@opentelemetry/semantic-conventions": ">=1.40.0 <1.41",
155
+ "@scure/base": ">=2.2.0 <2.3",
156
+ "@scure/bip39": ">=2.2.0 <2.3",
157
157
  "@xylabs/express": ">=5.0.101 <6",
158
158
  "@xylabs/geo": ">=5.0.101 <6",
159
159
  "@xylabs/mongo": ">=5.0.101 <6",
160
160
  "@xylabs/sdk-js": ">=5.0.101 <6",
161
- "@xylabs/threads": ">=5.0.101 <6",
162
- "@xyo-network/account": ">=5.5.2 <6",
163
- "@xyo-network/account-model": ">=5.5.2 <6",
164
- "@xyo-network/api": ">=5.5.2 <6",
165
- "@xyo-network/api-models": ">=5.5.2 <6",
166
- "@xyo-network/archivist-lmdb": ">=5.5.6 <6",
167
- "@xyo-network/archivist-mongodb": ">=5.5.6 <6",
168
- "@xyo-network/archivist-view": ">=5.5.6 <6",
169
- "@xyo-network/bios-model": ">=7.3.0 <8",
170
- "@xyo-network/boundwitness-builder": ">=5.5.2 <6",
171
- "@xyo-network/boundwitness-model": ">=5.5.2 <6",
172
- "@xyo-network/boundwitness-validator": ">=5.5.2 <6",
173
- "@xyo-network/boundwitness-wrapper": ">=5.5.2 <6",
174
- "@xyo-network/config-payload-plugin": ">=5.5.2 <6",
175
- "@xyo-network/huri": ">=5.5.2 <6",
176
- "@xyo-network/manifest-model": ">=5.5.2 <6",
177
- "@xyo-network/payload-builder": ">=5.5.2 <6",
178
- "@xyo-network/payload-model": ">=5.5.2 <6",
179
- "@xyo-network/payload-plugin": ">=5.5.2 <6",
180
- "@xyo-network/payload-wrapper": ">=5.5.2 <6",
181
- "@xyo-network/query-payload-plugin": ">=5.5.2 <6",
161
+ "@xylabs/threads": ">=5.0.101 <5.1",
162
+ "@xyo-network/account": ">=5.5.2 <5.6",
163
+ "@xyo-network/account-model": ">=5.5.2 <5.6",
164
+ "@xyo-network/api": ">=5.5.2 <5.6",
165
+ "@xyo-network/api-models": ">=5.5.2 <5.6",
166
+ "@xyo-network/archivist-lmdb": ">=5.5.6 <5.6",
167
+ "@xyo-network/archivist-mongodb": ">=5.5.6 <5.6",
168
+ "@xyo-network/archivist-view": ">=5.5.6 <5.6",
169
+ "@xyo-network/bios-model": ">=7.3.0 <7.4",
170
+ "@xyo-network/boundwitness-builder": ">=5.5.2 <5.6",
171
+ "@xyo-network/boundwitness-model": ">=5.5.2 <5.6",
172
+ "@xyo-network/boundwitness-validator": ">=5.5.2 <5.6",
173
+ "@xyo-network/boundwitness-wrapper": ">=5.5.2 <5.6",
174
+ "@xyo-network/config-payload-plugin": ">=5.5.2 <5.6",
175
+ "@xyo-network/huri": ">=5.5.2 <5.6",
176
+ "@xyo-network/manifest-model": ">=5.5.2 <5.6",
177
+ "@xyo-network/payload-builder": ">=5.5.2 <5.6",
178
+ "@xyo-network/payload-model": ">=5.5.2 <5.6",
179
+ "@xyo-network/payload-plugin": ">=5.5.2 <5.6",
180
+ "@xyo-network/payload-wrapper": ">=5.5.2 <5.6",
181
+ "@xyo-network/query-payload-plugin": ">=5.5.2 <5.6",
182
182
  "@xyo-network/sdk-js": ">=5.5.6 <6",
183
- "@xyo-network/sdk-protocol-js": ">=5.5.2 <6",
183
+ "@xyo-network/sdk-protocol-js": ">=5.5.2 <5.6",
184
184
  "@xyo-network/typechain": ">=4.1.3 <5",
185
- "@xyo-network/wallet": ">=5.5.2 <6",
185
+ "@xyo-network/wallet": ">=5.5.2 <5.6",
186
186
  "@xyo-network/wallet-model": ">=5.5.2 <6",
187
- "@xyo-network/xl1-sdk": ">=1.26.39 <2",
188
- "ajv": ">=8.18.0 <9",
187
+ "@xyo-network/xl1-sdk": ">=1.26.44 <2",
188
+ "ajv": ">=8.20.0 <9",
189
189
  "async-mutex": ">=0.5.0 <1",
190
190
  "axios": ">=1.15.2 <2",
191
191
  "bn.js": ">=5.2.3 <6",
192
192
  "buffer": ">=6.0.3 <7",
193
193
  "chalk": ">=5.6.2 <6",
194
- "compression": ">=1.8.1 <2",
195
- "cors": ">=2.8.6 <3",
194
+ "compression": ">=1.8.1 <1.9",
195
+ "cors": ">=2.8.6 <2.9",
196
196
  "cosmiconfig": ">=9.0.1 <10",
197
- "debug": ">=4.4.3 <5",
197
+ "debug": ">=4.4.3 <4.5",
198
198
  "ethers": ">=6.16.0 <7",
199
199
  "express": ">=5.2.1 <6",
200
- "hash-wasm": ">=4.12.0 <5",
200
+ "hash-wasm": ">=4.12.0 <4.13",
201
201
  "idb": ">=8.0.3 <9",
202
202
  "lmdb": ">=3.5.4 <4",
203
203
  "lru-cache": ">=11.3.5 <12",
204
- "mapbox-gl": ">=3.22.0 <4",
204
+ "mapbox-gl": ">=3.23.0 <4",
205
205
  "mongodb": ">=7.2.0 <8",
206
- "observable-fns": ">=0.6.1 <1",
206
+ "observable-fns": ">=0.6.1 <0.7",
207
207
  "pako": ">=2.1.0 <3",
208
- "shallowequal": ">=1.1.0 <2",
209
- "store2": ">=2.14.4 <3",
210
- "typescript": ">=5.9.3 <6",
211
- "uuid": ">=14.0.0 <15",
212
- "wasm-feature-detect": ">=1.8.0 <2",
213
- "web3-types": ">=1.10.0 <2",
214
- "zod": ">=4.3.6 <5"
208
+ "shallowequal": ">=1.1.0 <1.2",
209
+ "store2": ">=2.14.4 <2.15",
210
+ "typescript": ">=5.9.3 <5.10",
211
+ "uuid": ">=14.0.0 <14.1",
212
+ "wasm-feature-detect": ">=1.8.0 <1.9",
213
+ "web3-types": ">=1.10.0 <1.11",
214
+ "zod": ">=4.4.2 <4.5"
215
215
  },
216
216
  "engines": {
217
217
  "node": ">=24"