@xyo-network/chain-api 1.20.27 → 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,10 @@
1
- import type { ApiConfig } from '@xyo-network/chain-orchestration';
2
- import type { ActorParamsV3 } from '@xyo-network/xl1-sdk';
3
- import { ActorV3 } from '@xyo-network/xl1-sdk';
1
+ import type { ActorCapabilityNeeds, ActorParamsV3, ApiConfig } from '@xyo-network/chain-orchestration';
2
+ import { ActorV3 } from '@xyo-network/chain-orchestration';
4
3
  export type ApiActorParams = ActorParamsV3<{
5
4
  config: ApiConfig;
6
5
  }>;
7
6
  export declare class ApiActor extends ActorV3<ApiActorParams> {
7
+ static readonly needs: ActorCapabilityNeeds;
8
8
  private server?;
9
9
  createHandler(): Promise<void>;
10
10
  startHandler(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiActor.d.ts","sourceRoot":"","sources":["../../src/ApiActor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,EAA4B,MAAM,sBAAsB,CAAA;AAIxE,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;IACzC,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAA;AAEF,qBACa,QAAS,SAAQ,OAAO,CAAC,cAAc,CAAC;IACnD,OAAO,CAAC,MAAM,CAAC,CAAQ;IAER,aAAa;IAIb,YAAY;IAMZ,WAAW;YAKZ,WAAW;IAIzB,OAAO,CAAC,UAAU;CAInB"}
1
+ {"version":3,"file":"ApiActor.d.ts","sourceRoot":"","sources":["../../src/ApiActor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACtG,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAc1D,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;IACzC,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAA;AAEF,qBACa,QAAS,SAAQ,OAAO,CAAC,cAAc,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAU1C;IAED,OAAO,CAAC,MAAM,CAAC,CAAQ;IAER,aAAa;IAIb,YAAY;IAMZ,WAAW;YAKZ,WAAW;IAIzB,OAAO,CAAC,UAAU;CAInB"}
@@ -3,7 +3,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/ApiActor.ts
5
5
  import { creatable } from "@xylabs/sdk-js";
6
- import { ActorV3, asHostActorConfigContext } from "@xyo-network/xl1-sdk";
6
+ import { ActorV3 } from "@xyo-network/chain-orchestration";
7
+ import { AccountBalanceViewerMoniker, asHostActorConfigContext, BlockViewerMoniker, FinalizationViewerMoniker, MempoolViewerMoniker, TransactionViewerMoniker, XyoConnectionMoniker as XyoConnectionMoniker2, XyoViewerMoniker } from "@xyo-network/xl1-sdk";
7
8
 
8
9
  // src/server/app.ts
9
10
  import { standardErrors } from "@xylabs/express";
@@ -214,6 +215,17 @@ var ApiActor = class extends ActorV3 {
214
215
  static {
215
216
  __name(this, "ApiActor");
216
217
  }
218
+ static needs = {
219
+ required: [
220
+ AccountBalanceViewerMoniker,
221
+ BlockViewerMoniker,
222
+ FinalizationViewerMoniker,
223
+ MempoolViewerMoniker,
224
+ TransactionViewerMoniker,
225
+ XyoConnectionMoniker2,
226
+ XyoViewerMoniker
227
+ ]
228
+ };
217
229
  server;
218
230
  async createHandler() {
219
231
  await super.createHandler();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ApiActor.ts","../../src/server/app.ts","../../src/server/instrumentation.ts","../../src/server/routes/livez/get.ts","../../src/server/routes/readyz/get.ts","../../src/server/routes/startupz/get.ts","../../src/server/routes/addProbeRoutes.ts","../../src/server/routes/dataLake/archivistMiddleware.ts","../../src/server/routes/dataLake/addDataLakeRoutes.ts","../../src/server/routes/rpc/routes/addRpcRoutes.ts","../../src/server/routes/addRoutes.ts","../../src/server/server.ts","../../src/runApi.ts"],"sourcesContent":["import type { Server } from 'node:http'\n\nimport { creatable } from '@xylabs/sdk-js'\nimport type { ApiConfig } from '@xyo-network/chain-orchestration'\nimport type { ActorParamsV3 } from '@xyo-network/xl1-sdk'\nimport { ActorV3, asHostActorConfigContext } from '@xyo-network/xl1-sdk'\n\nimport { getServer } from './server/index.ts'\n\nexport type ApiActorParams = ActorParamsV3<{\n config: ApiConfig\n}>\n\n@creatable()\nexport class ApiActor extends ActorV3<ApiActorParams> {\n private server?: Server\n\n override async createHandler() {\n await super.createHandler()\n }\n\n override async startHandler() {\n await super.startHandler()\n this.stopServer()\n await this.startServer()\n }\n\n override async stopHandler() {\n await super.stopHandler()\n this.stopServer()\n }\n\n private async startServer() {\n this.server = await getServer(asHostActorConfigContext(this.context, true))\n }\n\n private stopServer() {\n this.server?.close()\n this.server = undefined\n }\n}\n","import { standardErrors } from '@xylabs/express'\nimport { sharedMiddleware } from '@xyo-network/chain-orchestration'\nimport type { HostActorConfigContext } from '@xyo-network/xl1-sdk'\nimport type { Express } from 'express'\nimport express from 'express'\n\nimport { addInstrumentation } from './instrumentation.ts'\nimport { addRoutes } from './routes/index.ts'\n\nexport const getApp = async (context: HostActorConfigContext): Promise<Express> => {\n addInstrumentation()\n const app = express()\n sharedMiddleware(app)\n app.context = context\n await addRoutes(app)\n app.use(standardErrors)\n return app\n}\n","import { registerInstrumentations } from '@opentelemetry/instrumentation'\nimport { ExpressInstrumentation } from '@opentelemetry/instrumentation-express'\nimport { HttpInstrumentation } from '@opentelemetry/instrumentation-http'\n\n/**\n * Registers OpenTelemetry instrumentations for HTTP and Express.\n * This function is used to set up the necessary instrumentations for monitoring\n * HTTP requests and Express applications. Since it monkey patches the Express\n * router & middleware system, it should be called before any Express applications\n * are defined.\n */\nexport const addInstrumentation = () => {\n const instrumentations = [new HttpInstrumentation(), new ExpressInstrumentation()]\n registerInstrumentations({ instrumentations })\n}\n","import type { NoReqParams } from '@xylabs/express'\nimport { setRawResponseFormat } from '@xylabs/express'\nimport type { RequestHandler } from 'express'\nimport { ReasonPhrases } from 'http-status-codes'\n\nconst message = ReasonPhrases.OK\n\nconst handler: RequestHandler<NoReqParams> = (_req, res) => {\n setRawResponseFormat(res)\n res.status(200).send({ message })\n}\n\nexport const getLivez: RequestHandler<NoReqParams> = handler\n","import type { NoReqParams } from '@xylabs/express'\nimport { setRawResponseFormat } from '@xylabs/express'\nimport type { RequestHandler } from 'express'\nimport { ReasonPhrases } from 'http-status-codes'\n\nconst message = ReasonPhrases.OK\n\nconst handler: RequestHandler<NoReqParams> = (_req, res) => {\n setRawResponseFormat(res)\n res.status(200).send({ message })\n}\n\nexport const getReadyz: RequestHandler<NoReqParams> = handler\n","import type { NoReqParams } from '@xylabs/express'\nimport { setRawResponseFormat } from '@xylabs/express'\nimport type { RequestHandler } from 'express'\nimport { ReasonPhrases } from 'http-status-codes'\n\nconst message = ReasonPhrases.OK\n\nconst handler: RequestHandler<NoReqParams> = (_req, res) => {\n setRawResponseFormat(res)\n res.status(200).send({ message })\n}\n\nexport const getStartupz: RequestHandler<NoReqParams> = handler\n","import type { Express } from 'express'\n\nimport { getLivez } from './livez/index.ts'\nimport { getReadyz } from './readyz/index.ts'\nimport { getStartupz } from './startupz/index.ts'\n\nexport const addProbeRoutes = (app: Express) => {\n app.get('/livez', getLivez)\n app.get('/readyz', getReadyz)\n app.get('/startupz', getStartupz)\n}\n","import { setRawResponseFormat } from '@xylabs/express'\nimport { asHash, isDefined } from '@xylabs/sdk-js'\nimport type {\n ArchivistInstance,\n ArchivistNextOptions, ModuleIdentifier,\n NextOptions, NodeInstance, Payload,\n} from '@xyo-network/sdk-js'\nimport {\n asArchivistInstance, isAnyPayload, isSequence, PayloadBuilder,\n} from '@xyo-network/sdk-js'\nimport type { Request, Router } from 'express'\nimport express from 'express'\n\nconst resolveArchivist = async (node: NodeInstance, archivistModuleIdentifier: ModuleIdentifier): Promise<ArchivistInstance> => {\n const mod = await node.resolve(archivistModuleIdentifier)\n return asArchivistInstance(mod, { required: true })\n}\n\nlet archivistInstance: ArchivistInstance | undefined\n\nconst getArchivist = async (node: NodeInstance, archivistModuleIdentifier: ModuleIdentifier): Promise<ArchivistInstance> => {\n if (isDefined(archivistInstance)) return archivistInstance\n archivistInstance = await resolveArchivist(node, archivistModuleIdentifier)\n return archivistInstance\n}\n\ninterface ArchivistMiddlewareOptions {\n archivistModuleIdentifier: ModuleIdentifier\n node: NodeInstance\n}\n\nexport const archivistMiddleware = (options: ArchivistMiddlewareOptions): Router => {\n const { node, archivistModuleIdentifier } = options\n const router = express.Router({ mergeParams: true })\n\n router.post('/insert', async (req, res) => {\n setRawResponseFormat(res)\n const body = Array.isArray(req.body) ? req.body : [req.body]\n const payloads = (await PayloadBuilder.hashPairs<Payload>(body)).map(p => p[0])\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const result = await archivist.insert(payloads)\n res.status(200).json(result)\n })\n\n router.get('/next', async (req: Request<Partial<NextOptions>>, res) => {\n setRawResponseFormat(res)\n const cursor = isSequence(req.query.cursor) ? req.query.cursor : undefined\n const limit = isDefined(req.query.limit) ? Number(req.query.limit) : undefined\n const open = isDefined(req.query.open) ? Boolean(req.query.open) : undefined\n const order = req.query.order === 'asc' ? 'asc' : 'desc'\n const options: ArchivistNextOptions = {\n limit, open, order, cursor,\n }\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const result = await archivist.next(options)\n res.status(200).json(result)\n })\n router.post('/next', async (req: Request<{}, {}, ArchivistNextOptions | undefined>, res) => {\n setRawResponseFormat(res)\n const options = req.body\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const result = await (isDefined(options) ? archivist.next(options) : archivist.next())\n res.status(200).json(result)\n })\n\n router.get('/get/:hash', async (req, res) => {\n setRawResponseFormat(res)\n const { hash: rawHash } = req.params\n const hash = asHash(rawHash)\n if (isDefined(hash)) {\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const [payload] = await archivist.get([hash])\n if (isAnyPayload(payload)) {\n res.json(payload)\n return\n }\n }\n res.status(400).send()\n })\n\n return router\n}\n","import type { Express } from 'express'\n\nimport { archivistMiddleware } from './archivistMiddleware.ts'\n\nexport const addDataLakeRoutes = (app: Express) => {\n const { node } = app.context\n const archivistModuleIdentifier = 'Chain:Finalized'\n app.use('/chain', archivistMiddleware({ node, archivistModuleIdentifier }))\n}\n","import { setRawResponseFormat } from '@xylabs/express'\nimport type { XyoConnection } from '@xyo-network/xl1-sdk'\nimport { rpcServerFromConnection, XyoConnectionMoniker } from '@xyo-network/xl1-sdk'\nimport type { Express } from 'express'\n\nexport const addRpcRoutes = async (\n app: Express,\n) => {\n const { context } = app\n const { locator } = context\n\n const connection = await locator.getInstance<XyoConnection>(XyoConnectionMoniker)\n const rpcServer = rpcServerFromConnection(connection)\n\n app.post('/rpc', async (req, res) => {\n setRawResponseFormat(res)\n const rpcResponse = await rpcServer.handle(req.body)\n res.json(rpcResponse)\n })\n}\n","import type { Express } from 'express'\n\nimport { addProbeRoutes } from './addProbeRoutes.ts'\nimport { addDataLakeRoutes } from './dataLake/index.ts'\nimport { addRpcRoutes } from './rpc/index.ts'\n\nexport const addRoutes = async (\n app: Express,\n) => {\n addProbeRoutes(app)\n await addRpcRoutes(app)\n addDataLakeRoutes(app)\n}\n","import type { HostActorConfigContext } from '@xyo-network/xl1-sdk'\n\nimport { getApp } from './app.ts'\n\nconst hostname = '::'\n\nexport async function getServer(context: HostActorConfigContext) {\n const { logger, config } = context\n const { port } = config\n\n const app = await getApp(context)\n const server = await new Promise<ReturnType<typeof app.listen>>((resolve, reject) => {\n const srv = app.listen(port, hostname, () => {\n logger?.info(`[API] Server listening at http://${hostname}:${port}`)\n resolve(srv)\n })\n srv.once('error', reject)\n })\n server.setTimeout(20_000)\n return server\n}\n","import type { ApiConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport { initActorWallet } from '@xyo-network/chain-orchestration'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport { ApiActor } from './ApiActor.ts'\n\nexport const getApiActor = async (\n config: ApiConfig,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initActorWallet({\n config, singletons: {}, caches: {},\n })\n const params = {\n account, config, locator,\n }\n // Create actors\n return await ApiActor.create(params)\n}\n\nexport const runApi = async (\n config: ApiConfig,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const actors = [await getApiActor(config, locator)]\n\n // Register the actors with the orchestrator\n for (const actor of actors) {\n await orchestrator.registerActor(actor)\n }\n\n // Start the orchestrator => automatically activates the actors\n await orchestrator.start()\n}\n"],"mappings":"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","names":["creatable","ActorV3","asHostActorConfigContext","standardErrors","sharedMiddleware","express","registerInstrumentations","ExpressInstrumentation","HttpInstrumentation","addInstrumentation","instrumentations","HttpInstrumentation","ExpressInstrumentation","registerInstrumentations","setRawResponseFormat","ReasonPhrases","message","ReasonPhrases","OK","handler","_req","res","setRawResponseFormat","status","send","getLivez","setRawResponseFormat","ReasonPhrases","message","ReasonPhrases","OK","handler","_req","res","setRawResponseFormat","status","send","getReadyz","setRawResponseFormat","ReasonPhrases","message","ReasonPhrases","OK","handler","_req","res","setRawResponseFormat","status","send","getStartupz","addProbeRoutes","app","get","getLivez","getReadyz","getStartupz","setRawResponseFormat","asHash","isDefined","asArchivistInstance","isAnyPayload","isSequence","PayloadBuilder","express","resolveArchivist","node","archivistModuleIdentifier","mod","resolve","asArchivistInstance","required","archivistInstance","getArchivist","isDefined","archivistMiddleware","options","router","express","Router","mergeParams","post","req","res","setRawResponseFormat","body","Array","isArray","payloads","PayloadBuilder","hashPairs","map","p","archivist","result","insert","status","json","get","cursor","isSequence","query","undefined","limit","Number","open","Boolean","order","next","hash","rawHash","params","asHash","payload","isAnyPayload","send","addDataLakeRoutes","app","node","context","archivistModuleIdentifier","use","archivistMiddleware","setRawResponseFormat","rpcServerFromConnection","XyoConnectionMoniker","addRpcRoutes","app","context","locator","connection","getInstance","XyoConnectionMoniker","rpcServer","rpcServerFromConnection","post","req","res","setRawResponseFormat","rpcResponse","handle","body","json","addRoutes","app","addProbeRoutes","addRpcRoutes","addDataLakeRoutes","getApp","context","addInstrumentation","app","express","sharedMiddleware","addRoutes","use","standardErrors","hostname","getServer","context","logger","config","port","app","getApp","server","Promise","resolve","reject","srv","listen","info","once","setTimeout","ApiActor","ActorV3","server","createHandler","startHandler","stopServer","startServer","stopHandler","getServer","asHostActorConfigContext","context","close","undefined","initActorWallet","getApiActor","config","locator","account","initActorWallet","singletons","caches","params","ApiActor","create","runApi","orchestrator","actors","actor","registerActor","start"]}
1
+ {"version":3,"sources":["../../src/ApiActor.ts","../../src/server/app.ts","../../src/server/instrumentation.ts","../../src/server/routes/livez/get.ts","../../src/server/routes/readyz/get.ts","../../src/server/routes/startupz/get.ts","../../src/server/routes/addProbeRoutes.ts","../../src/server/routes/dataLake/archivistMiddleware.ts","../../src/server/routes/dataLake/addDataLakeRoutes.ts","../../src/server/routes/rpc/routes/addRpcRoutes.ts","../../src/server/routes/addRoutes.ts","../../src/server/server.ts","../../src/runApi.ts"],"sourcesContent":["import type { Server } from 'node:http'\n\nimport { creatable } from '@xylabs/sdk-js'\nimport type { ActorCapabilityNeeds, ActorParamsV3, ApiConfig } from '@xyo-network/chain-orchestration'\nimport { ActorV3 } from '@xyo-network/chain-orchestration'\nimport {\n AccountBalanceViewerMoniker,\n asHostActorConfigContext,\n BlockViewerMoniker,\n FinalizationViewerMoniker,\n MempoolViewerMoniker,\n TransactionViewerMoniker,\n XyoConnectionMoniker,\n XyoViewerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nimport { getServer } from './server/index.ts'\n\nexport type ApiActorParams = ActorParamsV3<{\n config: ApiConfig\n}>\n\n@creatable()\nexport class ApiActor extends ActorV3<ApiActorParams> {\n static readonly needs: ActorCapabilityNeeds = {\n required: [\n AccountBalanceViewerMoniker,\n BlockViewerMoniker,\n FinalizationViewerMoniker,\n MempoolViewerMoniker,\n TransactionViewerMoniker,\n XyoConnectionMoniker,\n XyoViewerMoniker,\n ],\n }\n\n private server?: Server\n\n override async createHandler() {\n await super.createHandler()\n }\n\n override async startHandler() {\n await super.startHandler()\n this.stopServer()\n await this.startServer()\n }\n\n override async stopHandler() {\n await super.stopHandler()\n this.stopServer()\n }\n\n private async startServer() {\n this.server = await getServer(asHostActorConfigContext(this.context, true))\n }\n\n private stopServer() {\n this.server?.close()\n this.server = undefined\n }\n}\n","import { standardErrors } from '@xylabs/express'\nimport { sharedMiddleware } from '@xyo-network/chain-orchestration'\nimport type { HostActorConfigContext } from '@xyo-network/xl1-sdk'\nimport type { Express } from 'express'\nimport express from 'express'\n\nimport { addInstrumentation } from './instrumentation.ts'\nimport { addRoutes } from './routes/index.ts'\n\nexport const getApp = async (context: HostActorConfigContext): Promise<Express> => {\n addInstrumentation()\n const app = express()\n sharedMiddleware(app)\n app.context = context\n await addRoutes(app)\n app.use(standardErrors)\n return app\n}\n","import { registerInstrumentations } from '@opentelemetry/instrumentation'\nimport { ExpressInstrumentation } from '@opentelemetry/instrumentation-express'\nimport { HttpInstrumentation } from '@opentelemetry/instrumentation-http'\n\n/**\n * Registers OpenTelemetry instrumentations for HTTP and Express.\n * This function is used to set up the necessary instrumentations for monitoring\n * HTTP requests and Express applications. Since it monkey patches the Express\n * router & middleware system, it should be called before any Express applications\n * are defined.\n */\nexport const addInstrumentation = () => {\n const instrumentations = [new HttpInstrumentation(), new ExpressInstrumentation()]\n registerInstrumentations({ instrumentations })\n}\n","import type { NoReqParams } from '@xylabs/express'\nimport { setRawResponseFormat } from '@xylabs/express'\nimport type { RequestHandler } from 'express'\nimport { ReasonPhrases } from 'http-status-codes'\n\nconst message = ReasonPhrases.OK\n\nconst handler: RequestHandler<NoReqParams> = (_req, res) => {\n setRawResponseFormat(res)\n res.status(200).send({ message })\n}\n\nexport const getLivez: RequestHandler<NoReqParams> = handler\n","import type { NoReqParams } from '@xylabs/express'\nimport { setRawResponseFormat } from '@xylabs/express'\nimport type { RequestHandler } from 'express'\nimport { ReasonPhrases } from 'http-status-codes'\n\nconst message = ReasonPhrases.OK\n\nconst handler: RequestHandler<NoReqParams> = (_req, res) => {\n setRawResponseFormat(res)\n res.status(200).send({ message })\n}\n\nexport const getReadyz: RequestHandler<NoReqParams> = handler\n","import type { NoReqParams } from '@xylabs/express'\nimport { setRawResponseFormat } from '@xylabs/express'\nimport type { RequestHandler } from 'express'\nimport { ReasonPhrases } from 'http-status-codes'\n\nconst message = ReasonPhrases.OK\n\nconst handler: RequestHandler<NoReqParams> = (_req, res) => {\n setRawResponseFormat(res)\n res.status(200).send({ message })\n}\n\nexport const getStartupz: RequestHandler<NoReqParams> = handler\n","import type { Express } from 'express'\n\nimport { getLivez } from './livez/index.ts'\nimport { getReadyz } from './readyz/index.ts'\nimport { getStartupz } from './startupz/index.ts'\n\nexport const addProbeRoutes = (app: Express) => {\n app.get('/livez', getLivez)\n app.get('/readyz', getReadyz)\n app.get('/startupz', getStartupz)\n}\n","import { setRawResponseFormat } from '@xylabs/express'\nimport { asHash, isDefined } from '@xylabs/sdk-js'\nimport type {\n ArchivistInstance,\n ArchivistNextOptions, ModuleIdentifier,\n NextOptions, NodeInstance, Payload,\n} from '@xyo-network/sdk-js'\nimport {\n asArchivistInstance, isAnyPayload, isSequence, PayloadBuilder,\n} from '@xyo-network/sdk-js'\nimport type { Request, Router } from 'express'\nimport express from 'express'\n\nconst resolveArchivist = async (node: NodeInstance, archivistModuleIdentifier: ModuleIdentifier): Promise<ArchivistInstance> => {\n const mod = await node.resolve(archivistModuleIdentifier)\n return asArchivistInstance(mod, { required: true })\n}\n\nlet archivistInstance: ArchivistInstance | undefined\n\nconst getArchivist = async (node: NodeInstance, archivistModuleIdentifier: ModuleIdentifier): Promise<ArchivistInstance> => {\n if (isDefined(archivistInstance)) return archivistInstance\n archivistInstance = await resolveArchivist(node, archivistModuleIdentifier)\n return archivistInstance\n}\n\ninterface ArchivistMiddlewareOptions {\n archivistModuleIdentifier: ModuleIdentifier\n node: NodeInstance\n}\n\nexport const archivistMiddleware = (options: ArchivistMiddlewareOptions): Router => {\n const { node, archivistModuleIdentifier } = options\n const router = express.Router({ mergeParams: true })\n\n router.post('/insert', async (req, res) => {\n setRawResponseFormat(res)\n const body = Array.isArray(req.body) ? req.body : [req.body]\n const payloads = (await PayloadBuilder.hashPairs<Payload>(body)).map(p => p[0])\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const result = await archivist.insert(payloads)\n res.status(200).json(result)\n })\n\n router.get('/next', async (req: Request<Partial<NextOptions>>, res) => {\n setRawResponseFormat(res)\n const cursor = isSequence(req.query.cursor) ? req.query.cursor : undefined\n const limit = isDefined(req.query.limit) ? Number(req.query.limit) : undefined\n const open = isDefined(req.query.open) ? Boolean(req.query.open) : undefined\n const order = req.query.order === 'asc' ? 'asc' : 'desc'\n const options: ArchivistNextOptions = {\n limit, open, order, cursor,\n }\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const result = await archivist.next(options)\n res.status(200).json(result)\n })\n router.post('/next', async (req: Request<{}, {}, ArchivistNextOptions | undefined>, res) => {\n setRawResponseFormat(res)\n const options = req.body\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const result = await (isDefined(options) ? archivist.next(options) : archivist.next())\n res.status(200).json(result)\n })\n\n router.get('/get/:hash', async (req, res) => {\n setRawResponseFormat(res)\n const { hash: rawHash } = req.params\n const hash = asHash(rawHash)\n if (isDefined(hash)) {\n const archivist = await getArchivist(node, archivistModuleIdentifier)\n const [payload] = await archivist.get([hash])\n if (isAnyPayload(payload)) {\n res.json(payload)\n return\n }\n }\n res.status(400).send()\n })\n\n return router\n}\n","import type { Express } from 'express'\n\nimport { archivistMiddleware } from './archivistMiddleware.ts'\n\nexport const addDataLakeRoutes = (app: Express) => {\n const { node } = app.context\n const archivistModuleIdentifier = 'Chain:Finalized'\n app.use('/chain', archivistMiddleware({ node, archivistModuleIdentifier }))\n}\n","import { setRawResponseFormat } from '@xylabs/express'\nimport type { XyoConnection } from '@xyo-network/xl1-sdk'\nimport { rpcServerFromConnection, XyoConnectionMoniker } from '@xyo-network/xl1-sdk'\nimport type { Express } from 'express'\n\nexport const addRpcRoutes = async (\n app: Express,\n) => {\n const { context } = app\n const { locator } = context\n\n const connection = await locator.getInstance<XyoConnection>(XyoConnectionMoniker)\n const rpcServer = rpcServerFromConnection(connection)\n\n app.post('/rpc', async (req, res) => {\n setRawResponseFormat(res)\n const rpcResponse = await rpcServer.handle(req.body)\n res.json(rpcResponse)\n })\n}\n","import type { Express } from 'express'\n\nimport { addProbeRoutes } from './addProbeRoutes.ts'\nimport { addDataLakeRoutes } from './dataLake/index.ts'\nimport { addRpcRoutes } from './rpc/index.ts'\n\nexport const addRoutes = async (\n app: Express,\n) => {\n addProbeRoutes(app)\n await addRpcRoutes(app)\n addDataLakeRoutes(app)\n}\n","import type { HostActorConfigContext } from '@xyo-network/xl1-sdk'\n\nimport { getApp } from './app.ts'\n\nconst hostname = '::'\n\nexport async function getServer(context: HostActorConfigContext) {\n const { logger, config } = context\n const { port } = config\n\n const app = await getApp(context)\n const server = await new Promise<ReturnType<typeof app.listen>>((resolve, reject) => {\n const srv = app.listen(port, hostname, () => {\n logger?.info(`[API] Server listening at http://${hostname}:${port}`)\n resolve(srv)\n })\n srv.once('error', reject)\n })\n server.setTimeout(20_000)\n return server\n}\n","import type { ApiConfig, OrchestratorInstance } from '@xyo-network/chain-orchestration'\nimport { initActorWallet } from '@xyo-network/chain-orchestration'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport { ApiActor } from './ApiActor.ts'\n\nexport const getApiActor = async (\n config: ApiConfig,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const account = await initActorWallet({\n config, singletons: {}, caches: {},\n })\n const params = {\n account, config, locator,\n }\n // Create actors\n return await ApiActor.create(params)\n}\n\nexport const runApi = async (\n config: ApiConfig,\n orchestrator: OrchestratorInstance,\n locator: ProviderFactoryLocatorInstance,\n) => {\n const actors = [await getApiActor(config, locator)]\n\n // Register the actors with the orchestrator\n for (const actor of actors) {\n await orchestrator.registerActor(actor)\n }\n\n // Start the orchestrator => automatically activates the actors\n await orchestrator.start()\n}\n"],"mappings":"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","names":["creatable","ActorV3","AccountBalanceViewerMoniker","asHostActorConfigContext","BlockViewerMoniker","FinalizationViewerMoniker","MempoolViewerMoniker","TransactionViewerMoniker","XyoConnectionMoniker","XyoViewerMoniker","standardErrors","sharedMiddleware","express","registerInstrumentations","ExpressInstrumentation","HttpInstrumentation","addInstrumentation","instrumentations","HttpInstrumentation","ExpressInstrumentation","registerInstrumentations","setRawResponseFormat","ReasonPhrases","message","ReasonPhrases","OK","handler","_req","res","setRawResponseFormat","status","send","getLivez","setRawResponseFormat","ReasonPhrases","message","ReasonPhrases","OK","handler","_req","res","setRawResponseFormat","status","send","getReadyz","setRawResponseFormat","ReasonPhrases","message","ReasonPhrases","OK","handler","_req","res","setRawResponseFormat","status","send","getStartupz","addProbeRoutes","app","get","getLivez","getReadyz","getStartupz","setRawResponseFormat","asHash","isDefined","asArchivistInstance","isAnyPayload","isSequence","PayloadBuilder","express","resolveArchivist","node","archivistModuleIdentifier","mod","resolve","asArchivistInstance","required","archivistInstance","getArchivist","isDefined","archivistMiddleware","options","router","express","Router","mergeParams","post","req","res","setRawResponseFormat","body","Array","isArray","payloads","PayloadBuilder","hashPairs","map","p","archivist","result","insert","status","json","get","cursor","isSequence","query","undefined","limit","Number","open","Boolean","order","next","hash","rawHash","params","asHash","payload","isAnyPayload","send","addDataLakeRoutes","app","node","context","archivistModuleIdentifier","use","archivistMiddleware","setRawResponseFormat","rpcServerFromConnection","XyoConnectionMoniker","addRpcRoutes","app","context","locator","connection","getInstance","XyoConnectionMoniker","rpcServer","rpcServerFromConnection","post","req","res","setRawResponseFormat","rpcResponse","handle","body","json","addRoutes","app","addProbeRoutes","addRpcRoutes","addDataLakeRoutes","getApp","context","addInstrumentation","app","express","sharedMiddleware","addRoutes","use","standardErrors","hostname","getServer","context","logger","config","port","app","getApp","server","Promise","resolve","reject","srv","listen","info","once","setTimeout","ApiActor","ActorV3","needs","required","AccountBalanceViewerMoniker","BlockViewerMoniker","FinalizationViewerMoniker","MempoolViewerMoniker","TransactionViewerMoniker","XyoConnectionMoniker","XyoViewerMoniker","server","createHandler","startHandler","stopServer","startServer","stopHandler","getServer","asHostActorConfigContext","context","close","undefined","initActorWallet","getApiActor","config","locator","account","initActorWallet","singletons","caches","params","ApiActor","create","runApi","orchestrator","actors","actor","registerActor","start"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/chain-api",
3
- "version": "1.20.27",
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.27"
38
+ "@xyo-network/chain-orchestration": "~1.20.29"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@bitauth/libauth": "~3.0.0",
@@ -43,59 +43,59 @@
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": "~0.215.0",
54
- "@opentelemetry/instrumentation-express": "~0.63.0",
55
- "@opentelemetry/instrumentation-http": "~0.215.0",
56
- "@opentelemetry/instrumentation-runtime-node": "~0.28.0",
57
- "@opentelemetry/resources": "~2.7.0",
58
- "@opentelemetry/sdk-metrics": "~2.7.0",
59
- "@opentelemetry/sdk-trace-base": "^2.7.0",
53
+ "@opentelemetry/instrumentation": "~0.216.0",
54
+ "@opentelemetry/instrumentation-express": "~0.64.0",
55
+ "@opentelemetry/instrumentation-http": "~0.216.0",
56
+ "@opentelemetry/instrumentation-runtime-node": "~0.29.0",
57
+ "@opentelemetry/resources": "~2.7.1",
58
+ "@opentelemetry/sdk-metrics": "~2.7.1",
59
+ "@opentelemetry/sdk-trace-base": "^2.7.1",
60
60
  "@opentelemetry/semantic-conventions": "~1.40.0",
61
61
  "@scure/base": "~2.2.0",
62
62
  "@scure/bip39": "~2.2.0",
63
63
  "@types/express": "^5.0.6",
64
64
  "@types/node": "^25.6.0",
65
- "@xylabs/express": "^5.0.100",
66
- "@xylabs/geo": "^5.0.100",
67
- "@xylabs/mongo": "^5.0.100",
68
- "@xylabs/sdk-js": "^5.0.100",
69
- "@xylabs/threads": "~5.0.100",
70
- "@xylabs/toolchain": "~7.11.10",
71
- "@xylabs/tsconfig": "~7.11.10",
72
- "@xyo-network/account": "~5.5.1",
73
- "@xyo-network/account-model": "~5.5.1",
74
- "@xyo-network/api": "~5.5.1",
75
- "@xyo-network/api-models": "~5.5.1",
76
- "@xyo-network/archivist-lmdb": "~5.5.5",
77
- "@xyo-network/archivist-mongodb": "~5.5.5",
78
- "@xyo-network/archivist-view": "~5.5.5",
79
- "@xyo-network/bios-model": "~7.2.1",
80
- "@xyo-network/boundwitness-builder": "~5.5.1",
81
- "@xyo-network/boundwitness-model": "~5.5.1",
82
- "@xyo-network/boundwitness-validator": "~5.5.1",
83
- "@xyo-network/boundwitness-wrapper": "~5.5.1",
84
- "@xyo-network/config-payload-plugin": "~5.5.1",
85
- "@xyo-network/huri": "~5.5.1",
86
- "@xyo-network/manifest-model": "~5.5.1",
87
- "@xyo-network/payload-builder": "~5.5.1",
88
- "@xyo-network/payload-model": "~5.5.1",
89
- "@xyo-network/payload-plugin": "~5.5.1",
90
- "@xyo-network/payload-wrapper": "~5.5.1",
91
- "@xyo-network/query-payload-plugin": "~5.5.1",
92
- "@xyo-network/sdk-js": "^5.5.5",
93
- "@xyo-network/sdk-protocol-js": "~5.5.1",
65
+ "@xylabs/express": "^5.0.101",
66
+ "@xylabs/geo": "^5.0.101",
67
+ "@xylabs/mongo": "^5.0.101",
68
+ "@xylabs/sdk-js": "^5.0.101",
69
+ "@xylabs/threads": "~5.0.101",
70
+ "@xylabs/toolchain": "~7.12.3",
71
+ "@xylabs/tsconfig": "~7.12.3",
72
+ "@xyo-network/account": "~5.5.2",
73
+ "@xyo-network/account-model": "~5.5.2",
74
+ "@xyo-network/api": "~5.5.2",
75
+ "@xyo-network/api-models": "~5.5.2",
76
+ "@xyo-network/archivist-lmdb": "~5.5.6",
77
+ "@xyo-network/archivist-mongodb": "~5.5.6",
78
+ "@xyo-network/archivist-view": "~5.5.6",
79
+ "@xyo-network/bios-model": "~7.3.0",
80
+ "@xyo-network/boundwitness-builder": "~5.5.2",
81
+ "@xyo-network/boundwitness-model": "~5.5.2",
82
+ "@xyo-network/boundwitness-validator": "~5.5.2",
83
+ "@xyo-network/boundwitness-wrapper": "~5.5.2",
84
+ "@xyo-network/config-payload-plugin": "~5.5.2",
85
+ "@xyo-network/huri": "~5.5.2",
86
+ "@xyo-network/manifest-model": "~5.5.2",
87
+ "@xyo-network/payload-builder": "~5.5.2",
88
+ "@xyo-network/payload-model": "~5.5.2",
89
+ "@xyo-network/payload-plugin": "~5.5.2",
90
+ "@xyo-network/payload-wrapper": "~5.5.2",
91
+ "@xyo-network/query-payload-plugin": "~5.5.2",
92
+ "@xyo-network/sdk-js": "^5.5.6",
93
+ "@xyo-network/sdk-protocol-js": "~5.5.2",
94
94
  "@xyo-network/typechain": "^4.1.3",
95
- "@xyo-network/wallet": "~5.5.1",
96
- "@xyo-network/wallet-model": "^5.5.1",
97
- "@xyo-network/xl1-sdk": "^1.26.39",
98
- "ajv": "^8.18.0",
95
+ "@xyo-network/wallet": "~5.5.2",
96
+ "@xyo-network/wallet-model": "^5.5.2",
97
+ "@xyo-network/xl1-sdk": "^1.26.44",
98
+ "ajv": "^8.20.0",
99
99
  "async-mutex": "^0.5.0",
100
100
  "axios": "^1.15.2",
101
101
  "bn.js": "^5.2.3",
@@ -118,7 +118,7 @@
118
118
  "idb": "^8.0.3",
119
119
  "lmdb": "^3.5.4",
120
120
  "lru-cache": "^11.3.5",
121
- "mapbox-gl": "^3.22.0",
121
+ "mapbox-gl": "^3.23.0",
122
122
  "mongodb": "^7.2.0",
123
123
  "nodemon": "~3.1.14",
124
124
  "observable-fns": "~0.6.1",
@@ -136,96 +136,96 @@
136
136
  "webextension-polyfill": "^0.12.0",
137
137
  "winston": "~3.19.0",
138
138
  "winston-transport": "~4.9.0",
139
- "zod": "^4.3.6"
139
+ "zod": "~4.4.2"
140
140
  },
141
141
  "peerDependencies": {
142
- "@bitauth/libauth": "~3.0.0",
143
- "@metamask/json-rpc-engine": "^10.2.4",
144
- "@metamask/providers": "^22.1.1",
145
- "@metamask/utils": "~11.11.0",
146
- "@opentelemetry/api": "^1.9.1",
147
- "@opentelemetry/context-async-hooks": "~2.7.0",
148
- "@opentelemetry/context-zone": "~2.7.0",
149
- "@opentelemetry/core": "~2.7.0",
150
- "@opentelemetry/exporter-prometheus": "~0.215.0",
151
- "@opentelemetry/exporter-trace-otlp-grpc": "~0.215.0",
152
- "@opentelemetry/exporter-trace-otlp-http": "~0.215.0",
153
- "@opentelemetry/host-metrics": "~0.38.3",
154
- "@opentelemetry/instrumentation": "~0.215.0",
155
- "@opentelemetry/instrumentation-express": "~0.63.0",
156
- "@opentelemetry/instrumentation-http": "~0.215.0",
157
- "@opentelemetry/instrumentation-runtime-node": "~0.28.0",
158
- "@opentelemetry/resources": "~2.7.0",
159
- "@opentelemetry/sdk-metrics": "~2.7.0",
160
- "@opentelemetry/sdk-trace-base": "^2.7.0",
161
- "@opentelemetry/semantic-conventions": "~1.40.0",
162
- "@scure/base": "~2.2.0",
163
- "@scure/bip39": "~2.2.0",
164
- "@xylabs/express": "^5.0.100",
165
- "@xylabs/geo": "^5.0.100",
166
- "@xylabs/mongo": "^5.0.100",
167
- "@xylabs/sdk-js": "^5.0.100",
168
- "@xylabs/threads": "~5.0.100",
169
- "@xyo-network/account": "~5.5.1",
170
- "@xyo-network/account-model": "~5.5.1",
171
- "@xyo-network/api": "~5.5.1",
172
- "@xyo-network/api-models": "~5.5.1",
173
- "@xyo-network/archivist-lmdb": "~5.5.5",
174
- "@xyo-network/archivist-mongodb": "~5.5.5",
175
- "@xyo-network/archivist-view": "~5.5.5",
176
- "@xyo-network/bios-model": "~7.2.1",
177
- "@xyo-network/boundwitness-builder": "~5.5.1",
178
- "@xyo-network/boundwitness-model": "~5.5.1",
179
- "@xyo-network/boundwitness-validator": "~5.5.1",
180
- "@xyo-network/boundwitness-wrapper": "~5.5.1",
181
- "@xyo-network/config-payload-plugin": "~5.5.1",
182
- "@xyo-network/huri": "~5.5.1",
183
- "@xyo-network/manifest-model": "~5.5.1",
184
- "@xyo-network/payload-builder": "~5.5.1",
185
- "@xyo-network/payload-model": "~5.5.1",
186
- "@xyo-network/payload-plugin": "~5.5.1",
187
- "@xyo-network/payload-wrapper": "~5.5.1",
188
- "@xyo-network/query-payload-plugin": "~5.5.1",
189
- "@xyo-network/sdk-js": "^5.5.5",
190
- "@xyo-network/sdk-protocol-js": "~5.5.1",
191
- "@xyo-network/typechain": "^4.1.3",
192
- "@xyo-network/wallet": "~5.5.1",
193
- "@xyo-network/wallet-model": "^5.5.1",
194
- "@xyo-network/xl1-sdk": "^1.26.39",
195
- "ajv": "^8.18.0",
196
- "async-mutex": "^0.5.0",
197
- "axios": "^1.15.2",
198
- "bn.js": "^5.2.3",
199
- "body-parser": "~2.2.2",
200
- "buffer": "^6.0.3",
201
- "chalk": "^5.6.2",
202
- "compression": "~1.8.1",
203
- "connect": "^3.7.0",
204
- "cors": "~2.8.6",
205
- "cosmiconfig": "^9.0.1",
206
- "debug": "~4.4.3",
207
- "ethers": "^6.16.0",
208
- "express": "^5.2.1",
209
- "express-mung": "~0.5.1",
210
- "hash-wasm": "~4.12.0",
211
- "http-status-codes": "~2.3.0",
212
- "idb": "^8.0.3",
213
- "lmdb": "^3.5.4",
214
- "lru-cache": "^11.3.5",
215
- "mapbox-gl": "^3.22.0",
216
- "mongodb": "^7.2.0",
217
- "observable-fns": "~0.6.1",
218
- "pako": "^2.1.0",
219
- "rollbar": "^3.1.0",
220
- "shallowequal": "~1.1.0",
221
- "store2": "~2.14.4",
222
- "typescript": "~5.9.3",
223
- "uuid": "~14.0.0",
224
- "wasm-feature-detect": "~1.8.0",
225
- "web3-types": "~1.10.0",
226
- "winston": "~3.19.0",
227
- "winston-transport": "~4.9.0",
228
- "zod": "^4.3.6"
142
+ "@bitauth/libauth": ">=3.0.0 <3.1",
143
+ "@metamask/json-rpc-engine": ">=10.2.4 <11",
144
+ "@metamask/providers": ">=22.1.1 <23",
145
+ "@metamask/utils": ">=11.11.0 <11.12",
146
+ "@opentelemetry/api": ">=1.9.1 <2",
147
+ "@opentelemetry/context-async-hooks": ">=2.7.1 <2.8",
148
+ "@opentelemetry/context-zone": ">=2.7.1 <2.8",
149
+ "@opentelemetry/core": ">=2.7.1 <2.8",
150
+ "@opentelemetry/exporter-prometheus": ">=0.216.0 <0.217",
151
+ "@opentelemetry/exporter-trace-otlp-grpc": ">=0.216.0 <0.217",
152
+ "@opentelemetry/exporter-trace-otlp-http": ">=0.216.0 <0.217",
153
+ "@opentelemetry/host-metrics": ">=0.38.3 <0.39",
154
+ "@opentelemetry/instrumentation": ">=0.216.0 <0.217",
155
+ "@opentelemetry/instrumentation-express": ">=0.64.0 <0.65",
156
+ "@opentelemetry/instrumentation-http": ">=0.216.0 <0.217",
157
+ "@opentelemetry/instrumentation-runtime-node": ">=0.29.0 <0.30",
158
+ "@opentelemetry/resources": ">=2.7.1 <2.8",
159
+ "@opentelemetry/sdk-metrics": ">=2.7.1 <2.8",
160
+ "@opentelemetry/sdk-trace-base": ">=2.7.1 <3",
161
+ "@opentelemetry/semantic-conventions": ">=1.40.0 <1.41",
162
+ "@scure/base": ">=2.2.0 <2.3",
163
+ "@scure/bip39": ">=2.2.0 <2.3",
164
+ "@xylabs/express": ">=5.0.101 <6",
165
+ "@xylabs/geo": ">=5.0.101 <6",
166
+ "@xylabs/mongo": ">=5.0.101 <6",
167
+ "@xylabs/sdk-js": ">=5.0.101 <6",
168
+ "@xylabs/threads": ">=5.0.101 <5.1",
169
+ "@xyo-network/account": ">=5.5.2 <5.6",
170
+ "@xyo-network/account-model": ">=5.5.2 <5.6",
171
+ "@xyo-network/api": ">=5.5.2 <5.6",
172
+ "@xyo-network/api-models": ">=5.5.2 <5.6",
173
+ "@xyo-network/archivist-lmdb": ">=5.5.6 <5.6",
174
+ "@xyo-network/archivist-mongodb": ">=5.5.6 <5.6",
175
+ "@xyo-network/archivist-view": ">=5.5.6 <5.6",
176
+ "@xyo-network/bios-model": ">=7.3.0 <7.4",
177
+ "@xyo-network/boundwitness-builder": ">=5.5.2 <5.6",
178
+ "@xyo-network/boundwitness-model": ">=5.5.2 <5.6",
179
+ "@xyo-network/boundwitness-validator": ">=5.5.2 <5.6",
180
+ "@xyo-network/boundwitness-wrapper": ">=5.5.2 <5.6",
181
+ "@xyo-network/config-payload-plugin": ">=5.5.2 <5.6",
182
+ "@xyo-network/huri": ">=5.5.2 <5.6",
183
+ "@xyo-network/manifest-model": ">=5.5.2 <5.6",
184
+ "@xyo-network/payload-builder": ">=5.5.2 <5.6",
185
+ "@xyo-network/payload-model": ">=5.5.2 <5.6",
186
+ "@xyo-network/payload-plugin": ">=5.5.2 <5.6",
187
+ "@xyo-network/payload-wrapper": ">=5.5.2 <5.6",
188
+ "@xyo-network/query-payload-plugin": ">=5.5.2 <5.6",
189
+ "@xyo-network/sdk-js": ">=5.5.6 <6",
190
+ "@xyo-network/sdk-protocol-js": ">=5.5.2 <5.6",
191
+ "@xyo-network/typechain": ">=4.1.3 <5",
192
+ "@xyo-network/wallet": ">=5.5.2 <5.6",
193
+ "@xyo-network/wallet-model": ">=5.5.2 <6",
194
+ "@xyo-network/xl1-sdk": ">=1.26.44 <2",
195
+ "ajv": ">=8.20.0 <9",
196
+ "async-mutex": ">=0.5.0 <1",
197
+ "axios": ">=1.15.2 <2",
198
+ "bn.js": ">=5.2.3 <6",
199
+ "body-parser": ">=2.2.2 <2.3",
200
+ "buffer": ">=6.0.3 <7",
201
+ "chalk": ">=5.6.2 <6",
202
+ "compression": ">=1.8.1 <1.9",
203
+ "connect": ">=3.7.0 <4",
204
+ "cors": ">=2.8.6 <2.9",
205
+ "cosmiconfig": ">=9.0.1 <10",
206
+ "debug": ">=4.4.3 <4.5",
207
+ "ethers": ">=6.16.0 <7",
208
+ "express": ">=5.2.1 <6",
209
+ "express-mung": ">=0.5.1 <0.6",
210
+ "hash-wasm": ">=4.12.0 <4.13",
211
+ "http-status-codes": ">=2.3.0 <2.4",
212
+ "idb": ">=8.0.3 <9",
213
+ "lmdb": ">=3.5.4 <4",
214
+ "lru-cache": ">=11.3.5 <12",
215
+ "mapbox-gl": ">=3.23.0 <4",
216
+ "mongodb": ">=7.2.0 <8",
217
+ "observable-fns": ">=0.6.1 <0.7",
218
+ "pako": ">=2.1.0 <3",
219
+ "rollbar": ">=3.1.0 <4",
220
+ "shallowequal": ">=1.1.0 <1.2",
221
+ "store2": ">=2.14.4 <2.15",
222
+ "typescript": ">=5.9.3 <5.10",
223
+ "uuid": ">=14.0.0 <14.1",
224
+ "wasm-feature-detect": ">=1.8.0 <1.9",
225
+ "web3-types": ">=1.10.0 <1.11",
226
+ "winston": ">=3.19.0 <3.20",
227
+ "winston-transport": ">=4.9.0 <4.10",
228
+ "zod": ">=4.4.2 <4.5"
229
229
  },
230
230
  "engines": {
231
231
  "node": ">=24"