@xyo-network/chain-bridge 1.15.2 → 1.15.3

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 (141) hide show
  1. package/README.md +1 -1
  2. package/dist/node/driver/indexer/ChainHydratedBlocksObservable.d.ts +4 -4
  3. package/dist/node/driver/indexer/ChainHydratedBlocksObservable.d.ts.map +1 -1
  4. package/dist/node/driver/mongo/MongoMap.d.ts +3 -2
  5. package/dist/node/driver/mongo/MongoMap.d.ts.map +1 -1
  6. package/dist/node/index.mjs +300 -683
  7. package/dist/node/index.mjs.map +1 -1
  8. package/dist/node/interface/interface/IntentIndexerInterface.d.ts +5 -3
  9. package/dist/node/interface/interface/IntentIndexerInterface.d.ts.map +1 -1
  10. package/dist/node/interface/service/Observer/ERC20TransferObserver/ERC20TransferObserver.d.ts +28 -0
  11. package/dist/node/interface/service/Observer/ERC20TransferObserver/ERC20TransferObserver.d.ts.map +1 -0
  12. package/dist/node/interface/service/Observer/ERC20TransferObserver/index.d.ts +2 -0
  13. package/dist/node/interface/service/Observer/ERC20TransferObserver/index.d.ts.map +1 -0
  14. package/dist/node/interface/service/Observer/ERC20TransferObserver/spec/ERC20TransferObserver.spec.d.ts +2 -0
  15. package/dist/node/interface/service/Observer/ERC20TransferObserver/spec/ERC20TransferObserver.spec.d.ts.map +1 -0
  16. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.d.ts +36 -0
  17. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.d.ts.map +1 -0
  18. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/index.d.ts +2 -0
  19. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/index.d.ts.map +1 -0
  20. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/spec/LiquidityPoolBridgeObserver.spec.d.ts +2 -0
  21. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/spec/LiquidityPoolBridgeObserver.spec.d.ts.map +1 -0
  22. package/dist/node/interface/service/Observer/Observer.d.ts +1 -1
  23. package/dist/node/interface/service/Observer/Observer.d.ts.map +1 -1
  24. package/dist/node/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/ChainBridgeRelayInterface.d.ts +1 -1
  25. package/dist/node/interface/service/Relay/ChainBridgeRelay/ChainBridgeRelayInterface.d.ts.map +1 -0
  26. package/dist/node/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/ChainBridgeRelayService.d.ts +1 -1
  27. package/dist/node/interface/service/Relay/ChainBridgeRelay/ChainBridgeRelayService.d.ts.map +1 -0
  28. package/dist/node/interface/service/Relay/ChainBridgeRelay/index.d.ts.map +1 -0
  29. package/dist/node/interface/service/Relay/ChainBridgeRelay/spec/ChainBridgeRelayService.spec.d.ts.map +1 -0
  30. package/dist/node/interface/service/Relay/LiquidityPoolBridgeRelay/LiquidityPoolBridgeRelay.d.ts +57 -0
  31. package/dist/node/interface/service/Relay/LiquidityPoolBridgeRelay/LiquidityPoolBridgeRelay.d.ts.map +1 -0
  32. package/dist/node/interface/service/Relay/LiquidityPoolBridgeRelay/index.d.ts +2 -0
  33. package/dist/node/interface/service/Relay/LiquidityPoolBridgeRelay/index.d.ts.map +1 -0
  34. package/dist/node/interface/service/Relay/LiquidityPoolBridgeRelay/spec/LiquidityPoolBridgeRelay.spec.d.ts +2 -0
  35. package/dist/node/interface/service/Relay/LiquidityPoolBridgeRelay/spec/LiquidityPoolBridgeRelay.spec.d.ts.map +1 -0
  36. package/dist/node/interface/service/Relay/index.d.ts +2 -0
  37. package/dist/node/interface/service/Relay/index.d.ts.map +1 -0
  38. package/dist/node/interface/service/index.d.ts +1 -1
  39. package/dist/node/interface/service/index.d.ts.map +1 -1
  40. package/dist/node/manifest/getLocator.d.ts.map +1 -1
  41. package/dist/node/manifest/public/index.d.ts +6 -2
  42. package/dist/node/manifest/public/index.d.ts.map +1 -1
  43. package/dist/node/server/app.d.ts +1 -2
  44. package/dist/node/server/app.d.ts.map +1 -1
  45. package/dist/node/server/routes/addRoutes.d.ts.map +1 -1
  46. package/dist/node/server/routes/bridge/addBridgeRoutes.d.ts +3 -0
  47. package/dist/node/server/routes/bridge/addBridgeRoutes.d.ts.map +1 -0
  48. package/dist/node/server/routes/bridge/index.d.ts +2 -0
  49. package/dist/node/server/routes/bridge/index.d.ts.map +1 -0
  50. package/dist/node/server/routes/bridge/middleware/index.d.ts +2 -0
  51. package/dist/node/server/routes/bridge/middleware/index.d.ts.map +1 -0
  52. package/dist/node/server/routes/bridge/middleware/requestHandlerValidator.d.ts +32 -0
  53. package/dist/node/server/routes/bridge/middleware/requestHandlerValidator.d.ts.map +1 -0
  54. package/dist/node/server/routes/bridge/routeDefinitions/getRouteDefinitions.d.ts +3 -0
  55. package/dist/node/server/routes/bridge/routeDefinitions/getRouteDefinitions.d.ts.map +1 -0
  56. package/dist/node/server/routes/bridge/routeDefinitions/index.d.ts +2 -0
  57. package/dist/node/server/routes/bridge/routeDefinitions/index.d.ts.map +1 -0
  58. package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts +6 -0
  59. package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts.map +1 -0
  60. package/dist/node/server/routes/bridge/routeDefinitions/pathParams/index.d.ts +2 -0
  61. package/dist/node/server/routes/bridge/routeDefinitions/pathParams/index.d.ts.map +1 -0
  62. package/dist/node/server/routes/bridge/routeDefinitions/routeDefinition.d.ts +8 -0
  63. package/dist/node/server/routes/bridge/routeDefinitions/routeDefinition.d.ts.map +1 -0
  64. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts +3 -0
  65. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts.map +1 -0
  66. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts +3 -0
  67. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts.map +1 -0
  68. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts +3 -0
  69. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts.map +1 -0
  70. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts +3 -0
  71. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts.map +1 -0
  72. package/dist/node/server/routes/bridge/routeDefinitions/routes/index.d.ts +5 -0
  73. package/dist/node/server/routes/bridge/routeDefinitions/routes/index.d.ts.map +1 -0
  74. package/dist/node/server/routes/healthz/get.d.ts +2 -1
  75. package/dist/node/server/routes/healthz/get.d.ts.map +1 -1
  76. package/dist/node/server/routes/index.d.ts +0 -1
  77. package/dist/node/server/routes/index.d.ts.map +1 -1
  78. package/dist/node/server/server.d.ts.map +1 -1
  79. package/package.json +62 -55
  80. package/src/driver/indexer/ChainHydratedBlocksObservable.ts +5 -5
  81. package/src/driver/indexer/spec/ChainBlocksObservable.spec.ts +6 -3
  82. package/src/driver/indexer/spec/ChainHydratedBlocksObservable.spec.ts +10 -4
  83. package/src/driver/mongo/MongoMap.ts +13 -3
  84. package/src/interface/interface/IntentIndexerInterface.ts +5 -4
  85. package/src/interface/service/Observer/ERC20TransferObserver/ERC20TransferObserver.ts +181 -0
  86. package/src/interface/service/Observer/ERC20TransferObserver/index.ts +1 -0
  87. package/src/interface/service/Observer/ERC20TransferObserver/spec/ERC20TransferObserver.spec.ts +271 -0
  88. package/src/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.ts +212 -0
  89. package/src/interface/service/Observer/LiquidityPoolBridgeObserver/index.ts +1 -0
  90. package/src/interface/service/Observer/LiquidityPoolBridgeObserver/spec/LiquidityPoolBridgeObserver.spec.ts +313 -0
  91. package/src/interface/service/Observer/Observer.ts +1 -1
  92. package/src/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/ChainBridgeRelayInterface.ts +1 -1
  93. package/src/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/ChainBridgeRelayService.ts +1 -1
  94. package/src/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/spec/ChainBridgeRelayService.spec.ts +7 -5
  95. package/src/interface/service/Relay/LiquidityPoolBridgeRelay/LiquidityPoolBridgeRelay.ts +227 -0
  96. package/src/interface/service/Relay/LiquidityPoolBridgeRelay/index.ts +1 -0
  97. package/src/interface/service/Relay/LiquidityPoolBridgeRelay/spec/LiquidityPoolBridgeRelay.spec.ts +237 -0
  98. package/src/interface/service/Relay/index.ts +1 -0
  99. package/src/interface/service/index.ts +1 -1
  100. package/src/manifest/getLocator.ts +7 -6
  101. package/src/manifest/node.json +1 -1
  102. package/src/manifest/public/Chain.json +3 -109
  103. package/src/manifest/public/Ethereum.json +88 -0
  104. package/src/manifest/public/XL1.json +88 -0
  105. package/src/manifest/public/index.ts +15 -6
  106. package/src/server/app.ts +5 -12
  107. package/src/server/routes/addRoutes.ts +2 -6
  108. package/src/server/routes/bridge/addBridgeRoutes.ts +10 -0
  109. package/src/server/routes/bridge/index.ts +1 -0
  110. package/src/server/routes/bridge/middleware/index.ts +1 -0
  111. package/src/server/routes/bridge/middleware/requestHandlerValidator.ts +120 -0
  112. package/src/server/routes/bridge/routeDefinitions/getRouteDefinitions.ts +13 -0
  113. package/src/server/routes/bridge/routeDefinitions/index.ts +1 -0
  114. package/src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts +18 -0
  115. package/src/server/routes/bridge/routeDefinitions/pathParams/index.ts +1 -0
  116. package/src/server/routes/bridge/routeDefinitions/routeDefinition.ts +18 -0
  117. package/src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts +55 -0
  118. package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts +58 -0
  119. package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts +83 -0
  120. package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts +55 -0
  121. package/src/server/routes/bridge/routeDefinitions/routes/index.ts +4 -0
  122. package/src/server/routes/healthz/get.ts +1 -1
  123. package/src/server/routes/index.ts +0 -2
  124. package/src/server/server.ts +11 -14
  125. package/dist/node/interface/service/ChainBridgeRelay/ChainBridgeRelayInterface.d.ts.map +0 -1
  126. package/dist/node/interface/service/ChainBridgeRelay/ChainBridgeRelayService.d.ts.map +0 -1
  127. package/dist/node/interface/service/ChainBridgeRelay/index.d.ts.map +0 -1
  128. package/dist/node/interface/service/ChainBridgeRelay/spec/ChainBridgeRelayService.spec.d.ts.map +0 -1
  129. package/dist/node/server/routes/rpc/index.d.ts +0 -2
  130. package/dist/node/server/routes/rpc/index.d.ts.map +0 -1
  131. package/dist/node/server/routes/rpc/routes/addRpcRoutes.d.ts +0 -3
  132. package/dist/node/server/routes/rpc/routes/addRpcRoutes.d.ts.map +0 -1
  133. package/dist/node/server/routes/rpc/routes/index.d.ts +0 -2
  134. package/dist/node/server/routes/rpc/routes/index.d.ts.map +0 -1
  135. package/src/manifest/public/Pending.json +0 -35
  136. package/src/server/routes/rpc/index.ts +0 -1
  137. package/src/server/routes/rpc/routes/addRpcRoutes.ts +0 -22
  138. package/src/server/routes/rpc/routes/index.ts +0 -1
  139. /package/dist/node/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/index.d.ts +0 -0
  140. /package/dist/node/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/spec/ChainBridgeRelayService.spec.d.ts +0 -0
  141. /package/src/interface/service/{ChainBridgeRelay → Relay/ChainBridgeRelay}/index.ts +0 -0
@@ -0,0 +1,32 @@
1
+ import type { NextFunction, Request, RequestHandler, Response } from 'express';
2
+ import type { ZodType } from 'zod';
3
+ import { z } from 'zod';
4
+ /**
5
+ * Empty Zod schema for requests with no parameters.
6
+ */
7
+ export declare const EmptyParamsZod: z.ZodObject<{}, z.core.$catchall<z.ZodString>>;
8
+ /**
9
+ * Empty Zod schema for requests with no query parameters.
10
+ */
11
+ export declare const EmptyQueryParamsZod: z.ZodObject<{}, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
12
+ /**
13
+ * Default validation schemas for request handler validator.
14
+ */
15
+ export declare const ValidateRequestDefaults: {
16
+ params: z.ZodObject<{}, z.core.$catchall<z.ZodString>>;
17
+ query: z.ZodObject<{}, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
18
+ body: z.ZodJSONSchema;
19
+ response: z.ZodJSONSchema;
20
+ };
21
+ /**
22
+ * Factory for Express middleware that validates request and response objects using Zod schemas.
23
+ * @param schemas The Zod schemas to use for validation.
24
+ * @returns A middleware function for validating requests and responses.
25
+ */
26
+ export declare function requestHandlerValidator<TParams extends typeof EmptyQueryParamsZod | ZodType<Record<string, string>> = typeof EmptyQueryParamsZod, TQuery extends typeof EmptyQueryParamsZod | ZodType<Record<string, string | string[]>> = typeof EmptyQueryParamsZod, TBody extends ZodType<unknown> = ZodType<unknown>, TResponse extends ZodType<unknown> = ZodType<unknown>>(schemas?: Partial<{
27
+ body: TBody;
28
+ params: TParams;
29
+ query: TQuery;
30
+ response: TResponse;
31
+ }>): (handler: (req: Request<z.core.output<TParams>, z.core.output<TResponse>, z.core.output<TBody>, z.core.output<TQuery>>, res: Response<z.core.output<TResponse>>, next: NextFunction) => unknown) => RequestHandler;
32
+ //# sourceMappingURL=requestHandlerValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestHandlerValidator.d.ts","sourceRoot":"","sources":["../../../../../../src/server/routes/bridge/middleware/requestHandlerValidator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAChD,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,cAAc,gDAAoC,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,mBAAmB,gGAAoE,CAAA;AAEpG;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;CAKnC,CAAA;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,SAAS,OAAO,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,mBAAmB,EACzG,MAAM,SAAS,OAAO,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,mBAAmB,EACnH,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EACjD,SAAS,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAC,IAOQ,SAAS,CAAC,GAAG,EAAE,OAAO,+FAA0B,EAAE,GAAG,EAAE,QAAQ,0BAAK,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,KAAG,cAAc,CAiE9H"}
@@ -0,0 +1,3 @@
1
+ import type { RouteDefinition } from './routeDefinition.ts';
2
+ export declare const getRouteDefinitions: () => RouteDefinition[];
3
+ //# sourceMappingURL=getRouteDefinitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRouteDefinitions.d.ts","sourceRoot":"","sources":["../../../../../../src/server/routes/bridge/routeDefinitions/getRouteDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAK3D,eAAO,MAAM,mBAAmB,QAAO,eAAe,EAOrD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './getRouteDefinitions.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/server/routes/bridge/routeDefinitions/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const ChainIdPathParam: import("zod").ZodType<import("@xylabs/typeof").Brand<Lowercase<string>, {
2
+ readonly __hex: true;
3
+ }>, unknown, import("zod/v4/core").$ZodTypeInternals<import("@xylabs/typeof").Brand<Lowercase<string>, {
4
+ readonly __hex: true;
5
+ }>, unknown>>;
6
+ //# sourceMappingURL=ChainIdPathParam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainIdPathParam.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB;;;;aAS5B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ChainIdPathParam.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/pathParams/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { RequestHandler } from 'express';
2
+ export type HttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'options' | 'head';
3
+ export interface RouteDefinition<H extends RequestHandler = RequestHandler> {
4
+ handlers: H[] | H;
5
+ method: HttpMethod;
6
+ path: string | RegExp;
7
+ }
8
+ //# sourceMappingURL=routeDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeDefinition.d.ts","sourceRoot":"","sources":["../../../../../../src/server/routes/bridge/routeDefinitions/routeDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,MAAM,UAAU,GAChB,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,CAAA;AAEZ,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,cAAc,GAAG,cAAc;IAEzC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB"}
@@ -0,0 +1,3 @@
1
+ import type { RouteDefinition } from '../routeDefinition.ts';
2
+ export declare const bridgeFromRemoteStatus: RouteDefinition;
3
+ //# sourceMappingURL=bridgeFromRemoteStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeFromRemoteStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAe5D,eAAO,MAAM,sBAAsB,EAAE,eA4BpC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { RouteDefinition } from '../routeDefinition.ts';
2
+ export declare const bridgeToRemote: RouteDefinition;
3
+ //# sourceMappingURL=bridgeToRemote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeToRemote.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAmB5D,eAAO,MAAM,cAAc,EAAE,eAqB5B,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { RouteDefinition } from '../routeDefinition.ts';
2
+ export declare const bridgeToRemoteEstimate: RouteDefinition;
3
+ //# sourceMappingURL=bridgeToRemoteEstimate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeToRemoteEstimate.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AA0B5D,eAAO,MAAM,sBAAsB,EAAE,eAuCpC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { RouteDefinition } from '../routeDefinition.ts';
2
+ export declare const bridgeToRemoteStatus: RouteDefinition;
3
+ //# sourceMappingURL=bridgeToRemoteStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeToRemoteStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAe5D,eAAO,MAAM,oBAAoB,EAAE,eA4BlC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './bridgeFromRemoteStatus.ts';
2
+ export * from './bridgeToRemote.ts';
3
+ export * from './bridgeToRemoteEstimate.ts';
4
+ export * from './bridgeToRemoteStatus.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { NoReqParams } from '@xylabs/express';
1
2
  import type { RequestHandler } from 'express';
2
- export declare const getHealthz: RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
3
+ export declare const getHealthz: RequestHandler<NoReqParams>;
3
4
  //# sourceMappingURL=get.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/healthz/get.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAiB7C,eAAO,MAAM,UAAU,4HAAU,CAAA"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/healthz/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAiB7C,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,WAAW,CAAW,CAAA"}
@@ -1,5 +1,4 @@
1
1
  export * from './address/index.ts';
2
2
  export * from './addRoutes.ts';
3
3
  export * from './healthz/index.ts';
4
- export * from './rpc/index.ts';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAElC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAI5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AA8B3D,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,gHAexD,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AA6B3D,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,gHAcxD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/chain-bridge",
3
- "version": "1.15.2",
3
+ "version": "1.15.3",
4
4
  "description": "XYO Layer One Bridge",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -46,72 +46,79 @@
46
46
  "types": "tsc --noEmit -p tsconfig.test.json"
47
47
  },
48
48
  "dependencies": {
49
- "@opentelemetry/instrumentation": "~0.205.0",
50
- "@opentelemetry/instrumentation-express": "~0.54.0",
51
- "@opentelemetry/instrumentation-http": "~0.205.0",
52
- "@xylabs/assert": "~5.0.11",
53
- "@xylabs/creatable": "~5.0.11",
54
- "@xylabs/express": "~5.0.11",
55
- "@xylabs/hex": "~5.0.11",
56
- "@xylabs/logger": "~5.0.11",
57
- "@xylabs/mongo": "~5.0.11",
58
- "@xylabs/typeof": "~5.0.11",
59
- "@xyo-network/archivist-memory": "~5.1.3",
60
- "@xyo-network/archivist-model": "~5.1.3",
61
- "@xyo-network/archivist-mongodb": "~5.1.3",
62
- "@xyo-network/archivist-view": "~5.1.3",
63
- "@xyo-network/bios": "~7.1.0",
64
- "@xyo-network/boundwitness-model": "~5.1.3",
65
- "@xyo-network/chain-modules": "~1.15.2",
66
- "@xyo-network/chain-protocol": "~1.15.2",
67
- "@xyo-network/chain-rpc": "~1.15.2",
68
- "@xyo-network/chain-telemetry": "~1.15.2",
69
- "@xyo-network/manifest-model": "~5.1.3",
70
- "@xyo-network/manifest-wrapper": "~5.1.3",
71
- "@xyo-network/module-abstract": "~5.1.3",
72
- "@xyo-network/module-factory-locator": "~5.1.3",
73
- "@xyo-network/module-model": "~5.1.3",
74
- "@xyo-network/node-model": "~5.1.3",
75
- "@xyo-network/payload-builder": "~5.1.3",
76
- "@xyo-network/payload-model": "~5.1.3",
77
- "@xyo-network/sentinel-memory": "~5.1.3",
78
- "@xyo-network/wallet": "~5.1.3",
79
- "@xyo-network/wallet-model": "~5.1.3",
80
- "@xyo-network/xl1-protocol-sdk": "~1.15.2",
81
- "@xyo-network/xl1-rpc": "~1.15.2",
49
+ "@opentelemetry/instrumentation": "~0.206.0",
50
+ "@opentelemetry/instrumentation-express": "~0.55.0",
51
+ "@opentelemetry/instrumentation-http": "~0.206.0",
52
+ "@xylabs/assert": "~5.0.12",
53
+ "@xylabs/creatable": "~5.0.12",
54
+ "@xylabs/express": "~5.0.12",
55
+ "@xylabs/hex": "~5.0.12",
56
+ "@xylabs/logger": "~5.0.12",
57
+ "@xylabs/mongo": "~5.0.12",
58
+ "@xylabs/typeof": "~5.0.12",
59
+ "@xyo-network/archivist-model": "~5.1.6",
60
+ "@xyo-network/boundwitness-model": "~5.1.6",
61
+ "@xyo-network/chain-protocol": "~1.15.3",
62
+ "@xyo-network/manifest-model": "~5.1.6",
63
+ "@xyo-network/module-factory-locator": "~5.1.6",
64
+ "@xyo-network/module-model": "~5.1.6",
65
+ "@xyo-network/node-model": "~5.1.6",
66
+ "@xyo-network/payload-builder": "~5.1.6",
67
+ "@xyo-network/payload-model": "~5.1.6",
68
+ "@xyo-network/typechain": "~4.0.10",
69
+ "@xyo-network/wallet": "~5.1.6",
70
+ "@xyo-network/wallet-model": "~5.1.6",
71
+ "@xyo-network/xl1-protocol": "~1.12.66",
72
+ "@xyo-network/xl1-protocol-sdk": "~1.15.3",
82
73
  "compression": "~1.8.1",
83
74
  "cors": "~2.8.5",
84
75
  "express": "~5.1.0",
85
76
  "http-status-codes": "~2.3.0",
86
77
  "mongodb": "~6.20.0",
87
- "rxjs": "~7.8.2"
78
+ "rxjs": "~7.8.2",
79
+ "uuid": "~13.0.0",
80
+ "zod": "~4.1.12"
88
81
  },
89
82
  "devDependencies": {
90
83
  "@types/compression": "~1.8.1",
91
84
  "@types/cors": "~2.8.19",
92
85
  "@types/express": "5.0.3",
93
- "@types/express-serve-static-core": "~5.0.7",
94
- "@types/node": "~24.5.2",
95
- "@xylabs/base": "~5.0.11",
96
- "@xylabs/object": "~5.0.11",
97
- "@xylabs/promise": "~5.0.11",
98
- "@xylabs/ts-scripts-yarn3": "~7.1.7",
99
- "@xylabs/tsconfig": "~7.1.7",
100
- "@xyo-network/account": "~5.1.3",
101
- "@xyo-network/account-model": "~5.1.3",
102
- "@xyo-network/archivist-abstract": "~5.1.3",
103
- "@xyo-network/bios-model": "~7.1.0",
104
- "@xyo-network/boundwitness-builder": "~5.1.3",
105
- "@xyo-network/chain-services": "~1.15.2",
106
- "@xyo-network/module-abstract-mongodb": "~5.1.3",
107
- "@xyo-network/module-model-mongodb": "~5.1.3",
108
- "@xyo-network/node-memory": "~5.1.3",
109
- "@xyo-network/xl1-protocol": "~1.12.40",
110
- "dotenv": "~17.2.2",
111
- "eslint": "^9.36.0",
86
+ "@types/express-serve-static-core": "~5.1.0",
87
+ "@types/node": "~24.7.2",
88
+ "@xylabs/base": "~5.0.12",
89
+ "@xylabs/delay": "~5.0.12",
90
+ "@xylabs/object": "~5.0.12",
91
+ "@xylabs/promise": "~5.0.12",
92
+ "@xylabs/ts-scripts-yarn3": "~7.1.8",
93
+ "@xylabs/tsconfig": "~7.1.8",
94
+ "@xyo-network/account": "~5.1.6",
95
+ "@xyo-network/account-model": "~5.1.6",
96
+ "@xyo-network/archivist-abstract": "~5.1.6",
97
+ "@xyo-network/archivist-memory": "~5.1.6",
98
+ "@xyo-network/archivist-mongodb": "~5.1.6",
99
+ "@xyo-network/archivist-view": "~5.1.6",
100
+ "@xyo-network/bios": "~7.1.1",
101
+ "@xyo-network/bios-model": "~7.1.1",
102
+ "@xyo-network/boundwitness-builder": "~5.1.6",
103
+ "@xyo-network/chain-modules": "~1.15.3",
104
+ "@xyo-network/chain-protocol": "~1.15.3",
105
+ "@xyo-network/chain-services": "~1.15.3",
106
+ "@xyo-network/chain-telemetry": "~1.15.3",
107
+ "@xyo-network/manifest-wrapper": "~5.1.6",
108
+ "@xyo-network/module-abstract": "~5.1.6",
109
+ "@xyo-network/module-abstract-mongodb": "~5.1.6",
110
+ "@xyo-network/module-model-mongodb": "~5.1.6",
111
+ "@xyo-network/node-memory": "~5.1.6",
112
+ "@xyo-network/payload-builder": "~5.1.6",
113
+ "@xyo-network/sentinel-memory": "~5.1.6",
114
+ "@xyo-network/xl1-protocol": "~1.12.66",
115
+ "dotenv": "~17.2.3",
116
+ "eslint": "^9.37.0",
117
+ "ethers": "~6.15.0",
118
+ "http-status-codes": "~2.3.0",
112
119
  "nodemon": "~3.1.10",
113
120
  "tslib": "~2.8.1",
114
- "typescript": "~5.9.2",
121
+ "typescript": "~5.9.3",
115
122
  "vitest": "~3.2.4",
116
123
  "vitest-mock-extended": "~3.1.0"
117
124
  },
@@ -1,6 +1,6 @@
1
- import type { ReadArchivist } from '@xyo-network/archivist-model'
2
1
  import type { WithStorageMeta } from '@xyo-network/payload-model'
3
2
  import type { BlockBoundWitness, HydratedBlock } from '@xyo-network/xl1-protocol'
3
+ import type { ChainStoreRead } from '@xyo-network/xl1-protocol-sdk'
4
4
  import { hydrateBlock } from '@xyo-network/xl1-protocol-sdk'
5
5
  import type { Observable } from 'rxjs'
6
6
  import { concatMap } from 'rxjs'
@@ -8,16 +8,16 @@ import { concatMap } from 'rxjs'
8
8
  import { chainBlocks$ } from './ChainBlocksObservable.ts'
9
9
 
10
10
  /**
11
- * Creates an observable of HydratedBlocks from a chain iterator + archivist.
11
+ * Creates an observable of HydratedBlocks from a chain iterator + context.
12
12
  * @param chainIterator - EventingChainBlockNumberIteratorService that emits heads
13
- * @param archivist - ReadArchivist used to fetch payloads and hydrate blocks
13
+ * @param context - ChainStoreContextRead used to fetch payloads and hydrate blocks
14
14
  */
15
15
  export const hydratedChainBlocks$ = (
16
16
  chainIterator: Parameters<typeof chainBlocks$>[0],
17
- archivist: ReadArchivist,
17
+ context: ChainStoreRead,
18
18
  ): Observable<HydratedBlock> => {
19
19
  return chainBlocks$(chainIterator).pipe(
20
20
  concatMap((block: WithStorageMeta<BlockBoundWitness>) =>
21
- hydrateBlock(archivist, block._hash)),
21
+ hydrateBlock(context, block._hash)),
22
22
  )
23
23
  }
@@ -5,7 +5,9 @@ import type { ArchivistInstance } from '@xyo-network/archivist-model'
5
5
  import { buildRandomChain } from '@xyo-network/chain-protocol'
6
6
  import { ChainBlockNumberIterationService } from '@xyo-network/chain-services'
7
7
  import type { EventingChainBlockNumberIteratorService, HydratedBlock } from '@xyo-network/xl1-protocol'
8
- import { flattenHydratedBlocks, getDefaultConfig } from '@xyo-network/xl1-protocol-sdk'
8
+ import {
9
+ flattenHydratedBlocks, getDefaultConfig, readPayloadMapFromStore,
10
+ } from '@xyo-network/xl1-protocol-sdk'
9
11
  import {
10
12
  firstValueFrom, take, toArray,
11
13
  } from 'rxjs'
@@ -28,9 +30,10 @@ describe('chainBlocks$', () => {
28
30
 
29
31
  beforeEach(async () => {
30
32
  chain = await buildRandomChain(producer, 10)
31
- chainArchivist = await MemoryArchivist.create({ config: { schema: MemoryArchivistConfigSchema } })
33
+ chainArchivist = await MemoryArchivist.create({ config: { schema: MemoryArchivistConfigSchema }, account: 'random' })
32
34
  await chainArchivist.insert(flattenHydratedBlocks(chain))
33
- chainIterator = await ChainBlockNumberIterationService.create({ chainArchivist, config })
35
+ const chainMap = readPayloadMapFromStore(chainArchivist)
36
+ chainIterator = await ChainBlockNumberIterationService.create({ chainMap, config })
34
37
  })
35
38
  it('emits blocks in order when head updates', async () => {
36
39
  // Arrange
@@ -4,8 +4,12 @@ import { MemoryArchivist, MemoryArchivistConfigSchema } from '@xyo-network/archi
4
4
  import type { ArchivistInstance } from '@xyo-network/archivist-model'
5
5
  import { buildRandomChain } from '@xyo-network/chain-protocol'
6
6
  import { ChainBlockNumberIterationService } from '@xyo-network/chain-services'
7
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
7
8
  import type { EventingChainBlockNumberIteratorService, HydratedBlock } from '@xyo-network/xl1-protocol'
8
- import { flattenHydratedBlocks, getDefaultConfig } from '@xyo-network/xl1-protocol-sdk'
9
+ import type { PayloadMapRead } from '@xyo-network/xl1-protocol-sdk'
10
+ import {
11
+ flattenHydratedBlocks, getDefaultConfig, readPayloadMapFromStore,
12
+ } from '@xyo-network/xl1-protocol-sdk'
9
13
  import {
10
14
  firstValueFrom, take, toArray,
11
15
  } from 'rxjs'
@@ -20,6 +24,7 @@ describe('hydratedChainBlocks$', () => {
20
24
  let producer: AccountInstance
21
25
  let chain: HydratedBlock[]
22
26
  let chainIterator: EventingChainBlockNumberIteratorService
27
+ let chainMap: PayloadMapRead<WithStorageMeta<Payload>>
23
28
  const config = getDefaultConfig()
24
29
 
25
30
  beforeAll(async () => {
@@ -28,9 +33,10 @@ describe('hydratedChainBlocks$', () => {
28
33
 
29
34
  beforeEach(async () => {
30
35
  chain = await buildRandomChain(producer, 10)
31
- chainArchivist = await MemoryArchivist.create({ config: { schema: MemoryArchivistConfigSchema } })
36
+ chainArchivist = await MemoryArchivist.create({ config: { schema: MemoryArchivistConfigSchema }, account: 'random' })
32
37
  await chainArchivist.insert(flattenHydratedBlocks(chain))
33
- chainIterator = await ChainBlockNumberIterationService.create({ chainArchivist, config })
38
+ chainMap = readPayloadMapFromStore(chainArchivist)
39
+ chainIterator = await ChainBlockNumberIterationService.create({ chainMap, config })
34
40
  })
35
41
  it('emits blocks in order when head updates', async () => {
36
42
  // Arrange
@@ -39,7 +45,7 @@ describe('hydratedChainBlocks$', () => {
39
45
 
40
46
  // Setup observable to collect 3 blocks
41
47
  const resultPromise = firstValueFrom(
42
- hydratedChainBlocks$(chainIterator, chainArchivist).pipe(
48
+ hydratedChainBlocks$(chainIterator, { chainMap }).pipe(
43
49
  take(3), // wait for 3 blocks
44
50
  toArray(), // collect into array
45
51
  ),
@@ -4,7 +4,7 @@ import {
4
4
  } from '@xylabs/creatable'
5
5
  import { BaseMongoSdk } from '@xylabs/mongo'
6
6
  import { isNull } from '@xylabs/typeof'
7
- import { AsynchronousMap } from '@xyo-network/chain-protocol'
7
+ import { AsynchronousMap } from '@xyo-network/xl1-protocol-sdk'
8
8
  import {
9
9
  Document, Filter, OptionalUnlessRequiredId, WithId,
10
10
  } from 'mongodb'
@@ -42,17 +42,27 @@ export class MongoMap<K = string, V extends Document = Document>
42
42
  return isNull(doc) ? undefined : stripMongoId(doc)
43
43
  }
44
44
 
45
+ async getMany(ids: K[]): Promise<V[]> {
46
+ const results: V[] = []
47
+ for (const id of ids) {
48
+ const value = await this.get(id)
49
+ if (value) {
50
+ results.push(value)
51
+ }
52
+ }
53
+ return results
54
+ }
55
+
45
56
  async has(id: K): Promise<boolean> {
46
57
  const filter = { _id: id } as Filter<V>
47
58
  const exists = await this.sdk.findOne(filter)
48
59
  return isNull(exists) ? false : true
49
60
  }
50
61
 
51
- async set(id: K, data: V): Promise<this> {
62
+ async set(id: K, data: V): Promise<void> {
52
63
  const filter = { _id: id } as Filter<V>
53
64
  const value = { ...data, _id: id } as OptionalUnlessRequiredId<V>
54
65
  await this.sdk.replaceOne(filter, value, { upsert: true })
55
- return this
56
66
  }
57
67
 
58
68
  override async startHandler(): Promise<void> {
@@ -1,7 +1,8 @@
1
- import type { Address } from '@xylabs/hex'
1
+ import type { Address, Hex } from '@xylabs/hex'
2
2
 
3
3
  export interface IntentIndexerInterface<T> {
4
- // TODO: Hex or string instead to handle alternative addressing schemes
5
- getIntent(src: Address, nonce: string): Promise<T | null>
6
- getIntents(src: Address): Promise<T[]>
4
+ addIntent(intent: T): Promise<boolean>
5
+ getIntentByNonce(nonce: Hex): Promise<T | undefined>
6
+ getIntentsForDestination(dest: Address): Promise<T[]>
7
+ getIntentsForSource(src: Address): Promise<T[]>
7
8
  }