@xyo-network/chain-bridge 1.17.2 → 1.17.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 (160) hide show
  1. package/dist/node/config/asChainId.d.ts +3 -0
  2. package/dist/node/config/asChainId.d.ts.map +1 -0
  3. package/dist/node/config/asToken.d.ts +3 -0
  4. package/dist/node/config/asToken.d.ts.map +1 -0
  5. package/dist/node/config/getBridgeEscrowAddress.d.ts +5 -0
  6. package/dist/node/config/getBridgeEscrowAddress.d.ts.map +1 -0
  7. package/dist/node/config/getBridgeFeesAddress.d.ts +5 -0
  8. package/dist/node/config/getBridgeFeesAddress.d.ts.map +1 -0
  9. package/dist/node/config/getBridgeSettings.d.ts +3 -0
  10. package/dist/node/config/getBridgeSettings.d.ts.map +1 -0
  11. package/dist/node/config/getBridgeWalletAccount.d.ts +6 -0
  12. package/dist/node/config/getBridgeWalletAccount.d.ts.map +1 -0
  13. package/dist/node/config/getFeeStructure.d.ts +4 -0
  14. package/dist/node/config/getFeeStructure.d.ts.map +1 -0
  15. package/dist/node/config/getGateway.d.ts +3 -0
  16. package/dist/node/config/getGateway.d.ts.map +1 -0
  17. package/dist/node/config/getMaxBridgeAmount.d.ts +4 -0
  18. package/dist/node/config/getMaxBridgeAmount.d.ts.map +1 -0
  19. package/dist/node/config/getMinBridgeAmount.d.ts +4 -0
  20. package/dist/node/config/getMinBridgeAmount.d.ts.map +1 -0
  21. package/dist/node/config/getRemoteChainId.d.ts +4 -0
  22. package/dist/node/config/getRemoteChainId.d.ts.map +1 -0
  23. package/dist/node/config/getRemoteTokenAddress.d.ts +4 -0
  24. package/dist/node/config/getRemoteTokenAddress.d.ts.map +1 -0
  25. package/dist/node/config/getTransferAddresses.d.ts +8 -0
  26. package/dist/node/config/getTransferAddresses.d.ts.map +1 -0
  27. package/dist/node/config/getXl1ChainId.d.ts +4 -0
  28. package/dist/node/config/getXl1ChainId.d.ts.map +1 -0
  29. package/dist/node/config/getXl1TokenAddress.d.ts +4 -0
  30. package/dist/node/config/getXl1TokenAddress.d.ts.map +1 -0
  31. package/dist/node/config/index.d.ts +16 -0
  32. package/dist/node/config/index.d.ts.map +1 -0
  33. package/dist/node/index.mjs +1133 -206
  34. package/dist/node/index.mjs.map +1 -1
  35. package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.d.ts.map +1 -1
  36. package/dist/node/manifest/getLocator.d.ts.map +1 -1
  37. package/dist/node/manifest/public/index.d.ts +0 -4
  38. package/dist/node/manifest/public/index.d.ts.map +1 -1
  39. package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.d.ts +77 -0
  40. package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.d.ts.map +1 -0
  41. package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.d.ts +2 -0
  42. package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.d.ts.map +1 -0
  43. package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.d.ts +56 -0
  44. package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.d.ts.map +1 -0
  45. package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/index.d.ts +2 -0
  46. package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/index.d.ts.map +1 -0
  47. package/dist/node/modules/index.d.ts +2 -1
  48. package/dist/node/modules/index.d.ts.map +1 -1
  49. package/dist/node/server/app.d.ts +3 -1
  50. package/dist/node/server/app.d.ts.map +1 -1
  51. package/dist/node/server/routes/addRoutes.d.ts +2 -1
  52. package/dist/node/server/routes/addRoutes.d.ts.map +1 -1
  53. package/dist/node/server/routes/bridge/addBridgeRoutes.d.ts +2 -1
  54. package/dist/node/server/routes/bridge/addBridgeRoutes.d.ts.map +1 -1
  55. package/dist/node/server/routes/bridge/routeDefinitions/getRouteDefinitions.d.ts +2 -1
  56. package/dist/node/server/routes/bridge/routeDefinitions/getRouteDefinitions.d.ts.map +1 -1
  57. package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts +2 -1
  58. package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts.map +1 -1
  59. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts +4 -0
  60. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts.map +1 -0
  61. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts +2 -1
  62. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts.map +1 -1
  63. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts +2 -1
  64. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts.map +1 -1
  65. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts +2 -1
  66. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts.map +1 -1
  67. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts +2 -1
  68. package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts.map +1 -1
  69. package/dist/node/server/routes/bridge/routeDefinitions/routes/index.d.ts +1 -0
  70. package/dist/node/server/routes/bridge/routeDefinitions/routes/index.d.ts.map +1 -1
  71. package/dist/node/server/routes/index.d.ts +0 -2
  72. package/dist/node/server/routes/index.d.ts.map +1 -1
  73. package/dist/node/server/server.d.ts +1 -1
  74. package/dist/node/server/server.d.ts.map +1 -1
  75. package/dist/node/util/calculateBridgeFees.d.ts +10 -0
  76. package/dist/node/util/calculateBridgeFees.d.ts.map +1 -0
  77. package/dist/node/util/generateBridgeEstimate.d.ts +5 -0
  78. package/dist/node/util/generateBridgeEstimate.d.ts.map +1 -0
  79. package/dist/node/util/index.d.ts +5 -0
  80. package/dist/node/util/index.d.ts.map +1 -0
  81. package/dist/node/util/validateBridgeEstimate.d.ts +13 -0
  82. package/dist/node/util/validateBridgeEstimate.d.ts.map +1 -0
  83. package/dist/node/util/validateBridgeEstimateExact.d.ts +12 -0
  84. package/dist/node/util/validateBridgeEstimateExact.d.ts.map +1 -0
  85. package/package.json +29 -14
  86. package/src/config/asChainId.ts +7 -0
  87. package/src/config/asToken.ts +7 -0
  88. package/src/config/getBridgeEscrowAddress.ts +13 -0
  89. package/src/config/getBridgeFeesAddress.ts +13 -0
  90. package/src/config/getBridgeSettings.ts +24 -0
  91. package/src/config/getBridgeWalletAccount.ts +34 -0
  92. package/src/config/getFeeStructure.ts +8 -0
  93. package/src/config/getGateway.ts +19 -0
  94. package/src/config/getMaxBridgeAmount.ts +7 -0
  95. package/src/config/getMinBridgeAmount.ts +7 -0
  96. package/src/config/getRemoteChainId.ts +10 -0
  97. package/src/config/getRemoteTokenAddress.ts +10 -0
  98. package/src/config/getTransferAddresses.ts +17 -0
  99. package/src/config/getXl1ChainId.ts +13 -0
  100. package/src/config/getXl1TokenAddress.ts +12 -0
  101. package/src/config/index.ts +15 -0
  102. package/src/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.ts +1 -2
  103. package/src/manifest/getLocator.ts +97 -34
  104. package/src/manifest/public/Ethereum.json +24 -64
  105. package/src/manifest/public/XL1.json +24 -64
  106. package/src/manifest/public/index.ts +0 -6
  107. package/src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.ts +234 -0
  108. package/src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.ts +1 -0
  109. package/src/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.ts +166 -0
  110. package/src/modules/XL1TransactionCompletionMonitorSentinel/index.ts +1 -0
  111. package/src/modules/index.ts +2 -1
  112. package/src/server/app.ts +5 -4
  113. package/src/server/routes/addRoutes.ts +3 -2
  114. package/src/server/routes/bridge/addBridgeRoutes.ts +3 -2
  115. package/src/server/routes/bridge/routeDefinitions/getRouteDefinitions.ts +8 -6
  116. package/src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts +16 -13
  117. package/src/server/routes/bridge/routeDefinitions/routes/bridgeConfig.ts +43 -0
  118. package/src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts +40 -37
  119. package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts +74 -45
  120. package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts +48 -75
  121. package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts +95 -47
  122. package/src/server/routes/bridge/routeDefinitions/routes/index.ts +1 -0
  123. package/src/server/routes/index.ts +0 -2
  124. package/src/server/server.ts +37 -31
  125. package/src/util/calculateBridgeFees.ts +39 -0
  126. package/src/util/generateBridgeEstimate.ts +64 -0
  127. package/src/util/index.ts +4 -0
  128. package/src/util/validateBridgeEstimate.ts +60 -0
  129. package/src/util/validateBridgeEstimateExact.ts +34 -0
  130. package/dist/node/modules/XL1toEvmBridgeSentinel/XL1toEvmBridgeSentinel.d.ts +0 -47
  131. package/dist/node/modules/XL1toEvmBridgeSentinel/XL1toEvmBridgeSentinel.d.ts.map +0 -1
  132. package/dist/node/modules/XL1toEvmBridgeSentinel/index.d.ts +0 -2
  133. package/dist/node/modules/XL1toEvmBridgeSentinel/index.d.ts.map +0 -1
  134. package/dist/node/server/routes/address/AddressPathParams.d.ts +0 -4
  135. package/dist/node/server/routes/address/AddressPathParams.d.ts.map +0 -1
  136. package/dist/node/server/routes/address/addNodeRoutes.d.ts +0 -3
  137. package/dist/node/server/routes/address/addNodeRoutes.d.ts.map +0 -1
  138. package/dist/node/server/routes/address/get/get.d.ts +0 -4
  139. package/dist/node/server/routes/address/get/get.d.ts.map +0 -1
  140. package/dist/node/server/routes/address/get/index.d.ts +0 -2
  141. package/dist/node/server/routes/address/get/index.d.ts.map +0 -1
  142. package/dist/node/server/routes/address/index.d.ts +0 -2
  143. package/dist/node/server/routes/address/index.d.ts.map +0 -1
  144. package/dist/node/server/routes/address/post/getQueryConfig.d.ts +0 -6
  145. package/dist/node/server/routes/address/post/getQueryConfig.d.ts.map +0 -1
  146. package/dist/node/server/routes/address/post/index.d.ts +0 -2
  147. package/dist/node/server/routes/address/post/index.d.ts.map +0 -1
  148. package/dist/node/server/routes/address/post/post.d.ts +0 -8
  149. package/dist/node/server/routes/address/post/post.d.ts.map +0 -1
  150. package/src/manifest/public/Chain.json +0 -32
  151. package/src/modules/XL1toEvmBridgeSentinel/XL1toEvmBridgeSentinel.ts +0 -156
  152. package/src/modules/XL1toEvmBridgeSentinel/index.ts +0 -1
  153. package/src/server/routes/address/AddressPathParams.ts +0 -3
  154. package/src/server/routes/address/addNodeRoutes.ts +0 -21
  155. package/src/server/routes/address/get/get.ts +0 -30
  156. package/src/server/routes/address/get/index.ts +0 -1
  157. package/src/server/routes/address/index.ts +0 -1
  158. package/src/server/routes/address/post/getQueryConfig.ts +0 -23
  159. package/src/server/routes/address/post/index.ts +0 -1
  160. package/src/server/routes/address/post/post.ts +0 -77
@@ -1,3 +1,4 @@
1
+ import type { Config } from '@xyo-network/xl1-protocol-sdk';
1
2
  import type { Express } from 'express';
2
- export declare const addBridgeRoutes: (app: Express) => void;
3
+ export declare const addBridgeRoutes: (app: Express, config: Config) => void;
3
4
  //# sourceMappingURL=addBridgeRoutes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addBridgeRoutes.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/bridge/addBridgeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,SAK3C,CAAA"}
1
+ {"version":3,"file":"addBridgeRoutes.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/bridge/addBridgeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,QAAQ,MAAM,SAK3D,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import type { RouteDefinition } from '@xylabs/express';
2
- export declare const getRouteDefinitions: () => RouteDefinition[];
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export declare const getRouteDefinitions: (config: Config) => RouteDefinition[];
3
4
  //# sourceMappingURL=getRouteDefinitions.d.ts.map
@@ -1 +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,iBAAiB,CAAA;AAMtD,eAAO,MAAM,mBAAmB,QAAO,eAAe,EAOrD,CAAA"}
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,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAM3D,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,eAAe,EAQnE,CAAA"}
@@ -1,2 +1,3 @@
1
- export declare const ChainIdPathParam: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
1
+ import type { Config } from '@xyo-network/xl1-protocol-sdk';
2
+ export declare const getRemoteChainIdZod: (config: Config) => import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
2
3
  //# sourceMappingURL=ChainIdPathParam.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainIdPathParam.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,kHAS5B,CAAA"}
1
+ {"version":3,"file":"ChainIdPathParam.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAI3D,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,qHAYjD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { RouteDefinition } from '@xylabs/express';
2
+ import { type Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export declare const makeBridgeConfigRoute: (config: Config) => RouteDefinition;
4
+ //# sourceMappingURL=bridgeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAQ9E,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,eAgCtD,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import type { RouteDefinition } from '@xylabs/express';
2
- export declare const bridgeFromRemoteStatus: RouteDefinition;
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export declare const makeBridgeFromRemoteStatusRoute: (config: Config) => RouteDefinition;
3
4
  //# sourceMappingURL=bridgeFromRemoteStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeFromRemoteStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA0BtD,eAAO,MAAM,sBAAsB,EAAE,eA4BpC,CAAA"}
1
+ {"version":3,"file":"bridgeFromRemoteStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAStD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAM3D,eAAO,MAAM,+BAA+B,GAAI,QAAQ,MAAM,KAAG,eA0ChE,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import type { RouteDefinition } from '@xylabs/express';
2
- export declare const bridgeToRemote: RouteDefinition;
2
+ import { type Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export declare const makeBridgeToRemoteRoute: (config: Config) => RouteDefinition;
3
4
  //# sourceMappingURL=bridgeToRemote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeToRemote.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA+BtD,eAAO,MAAM,cAAc,EAAE,eAqB5B,CAAA"}
1
+ {"version":3,"file":"bridgeToRemote.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAatD,OAAO,EAAE,KAAK,MAAM,EAA8B,MAAM,+BAA+B,CAAA;AAMvF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,eA8DxD,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import type { RouteDefinition } from '@xylabs/express';
2
- export declare const bridgeToRemoteEstimate: RouteDefinition;
2
+ import { type Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export declare const makeBridgeToRemoteEstimateRoute: (config: Config) => RouteDefinition;
3
4
  //# sourceMappingURL=bridgeToRemoteEstimate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeToRemoteEstimate.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA2CtD,eAAO,MAAM,sBAAsB,EAAE,eAuCpC,CAAA"}
1
+ {"version":3,"file":"bridgeToRemoteEstimate.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAOtD,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAOrF,eAAO,MAAM,+BAA+B,GAAI,QAAQ,MAAM,KAAG,eAyChE,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import type { RouteDefinition } from '@xylabs/express';
2
- export declare const bridgeToRemoteStatus: RouteDefinition;
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export declare const makeBridgeToRemoteStatusRoute: (config: Config) => RouteDefinition;
3
4
  //# sourceMappingURL=bridgeToRemoteStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeToRemoteStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA0BtD,eAAO,MAAM,oBAAoB,EAAE,eA4BlC,CAAA"}
1
+ {"version":3,"file":"bridgeToRemoteStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAWtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAO3D,eAAO,MAAM,6BAA6B,GAAI,QAAQ,MAAM,KAAG,eAoF9D,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './bridgeConfig.ts';
1
2
  export * from './bridgeFromRemoteStatus.ts';
2
3
  export * from './bridgeToRemote.ts';
3
4
  export * from './bridgeToRemoteEstimate.ts';
@@ -1 +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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA"}
@@ -1,4 +1,2 @@
1
- export * from './address/index.ts';
2
1
  export * from './addRoutes.ts';
3
- export * from './healthz/index.ts';
4
2
  //# 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;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Logger } from '@xylabs/sdk-js';
1
+ import { type Logger } from '@xylabs/sdk-js';
2
2
  import type { NodeInstance } from '@xyo-network/node-model';
3
3
  import { type Config } from '@xyo-network/xl1-protocol-sdk';
4
4
  interface GetServerContext {
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAC0B,KAAK,MAAM,EAC3C,MAAM,gBAAgB,CAAA;AAGvB,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,gHAcxD,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { Hex } from '@xylabs/sdk-js';
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk';
3
+ export type FeeStructure = Pick<Config['bridge'], 'feeFixed' | 'feeRateBasisPoints'>;
4
+ export interface FeeCalculationResult {
5
+ destAmount: Hex;
6
+ feeFixed: Hex;
7
+ feeVariable: Hex;
8
+ }
9
+ export declare const calculateBridgeFees: (srcAmount: Hex, feeStructure: FeeStructure) => FeeCalculationResult;
10
+ //# sourceMappingURL=calculateBridgeFees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateBridgeFees.d.ts","sourceRoot":"","sources":["../../../src/util/calculateBridgeFees.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAA;AAEpF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,WAAW,EAAE,GAAG,CAAA;CACjB;AAED,eAAO,MAAM,mBAAmB,GAAI,WAAW,GAAG,EAAE,cAAc,YAAY,KAAG,oBA0BhF,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { Hex } from '@xylabs/sdk-js';
2
+ import type { BridgeIntent, Transfer } from '@xyo-network/xl1-protocol';
3
+ import { type Config } from '@xyo-network/xl1-protocol-sdk';
4
+ export declare const generateBridgeEstimate: (srcAddress: Hex, srcAmount: Hex, destAddress: Hex, config: Config, nonceOverride?: string) => Promise<[BridgeIntent, Transfer]>;
5
+ //# sourceMappingURL=generateBridgeEstimate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateBridgeEstimate.d.ts","sourceRoot":"","sources":["../../../src/util/generateBridgeEstimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,KAAK,EACV,YAAY,EAAsB,QAAQ,EAC3C,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAM3D,eAAO,MAAM,sBAAsB,GACjC,YAAY,GAAG,EACf,WAAW,GAAG,EACd,aAAa,GAAG,EAChB,QAAQ,MAAM,EACd,gBAAgB,MAAM,KACrB,OAAO,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CA2ClC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './calculateBridgeFees.ts';
2
+ export * from './generateBridgeEstimate.ts';
3
+ export * from './validateBridgeEstimate.ts';
4
+ export * from './validateBridgeEstimateExact.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { BridgeIntent, Transfer } from '@xyo-network/xl1-protocol';
2
+ import { type Config } from '@xyo-network/xl1-protocol-sdk';
3
+ /**
4
+ * Validates a bridge estimate by checking the intent and transfer against the provided configuration. This method
5
+ * exists to allow for "at least" validation of a bridge estimates in case we want to allow for some flexibility in
6
+ * the bridge estimate.
7
+ * @param intent The BridgeIntent
8
+ * @param transfer The Transfer
9
+ * @param config The Config
10
+ * @returns True if the bridge estimate satisfies bridging conditions, false otherwise.
11
+ */
12
+ export declare const validateBridgeEstimate: (intent: BridgeIntent, transfer: Transfer, config: Config) => Promise<boolean>;
13
+ //# sourceMappingURL=validateBridgeEstimate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateBridgeEstimate.d.ts","sourceRoot":"","sources":["../../../src/util/validateBridgeEstimate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,YAAY,EACpB,UAAU,QAAQ,EAClB,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CAuCjB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { BridgeIntent, Transfer } from '@xyo-network/xl1-protocol';
2
+ import { type Config } from '@xyo-network/xl1-protocol-sdk';
3
+ /**
4
+ * Validates a bridge estimate by checking the intent and transfer against the provided configuration. This method
5
+ * only returns true if the bridge estimate matches exactly.
6
+ * @param intent The BridgeIntent
7
+ * @param transfer The Transfer
8
+ * @param config The Config
9
+ * @returns True if the bridge estimate satisfies bridging conditions, false otherwise.
10
+ */
11
+ export declare const validateBridgeEstimateExact: (intent: BridgeIntent, transfer: Transfer, config: Config) => Promise<boolean>;
12
+ //# sourceMappingURL=validateBridgeEstimateExact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateBridgeEstimateExact.d.ts","sourceRoot":"","sources":["../../../src/util/validateBridgeEstimateExact.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAI3D;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,YAAY,EACpB,UAAU,QAAQ,EAClB,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CAcjB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/chain-bridge",
3
- "version": "1.17.2",
3
+ "version": "1.17.3",
4
4
  "description": "XYO Layer One Bridge",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -52,25 +52,39 @@
52
52
  "@opentelemetry/instrumentation": "~0.208.0",
53
53
  "@opentelemetry/instrumentation-express": "~0.57.0",
54
54
  "@opentelemetry/instrumentation-http": "~0.208.0",
55
- "@xylabs/express": "~5.0.50",
56
- "@xylabs/sdk-js": "~5.0.50",
55
+ "@xylabs/express": "~5.0.51",
56
+ "@xylabs/mongo": "~5.0.51",
57
+ "@xylabs/sdk-js": "~5.0.51",
58
+ "@xyo-network/archivist-memory": "~5.2.17",
57
59
  "@xyo-network/archivist-model": "~5.2.17",
60
+ "@xyo-network/archivist-mongodb": "~5.2.17",
61
+ "@xyo-network/archivist-view": "~5.2.17",
62
+ "@xyo-network/bios": "~7.2.0",
58
63
  "@xyo-network/boundwitness-model": "~5.2.17",
59
- "@xyo-network/chain-protocol": "~1.17.2",
64
+ "@xyo-network/chain-protocol": "~1.17.3",
65
+ "@xyo-network/chain-services": "~1.17.3",
66
+ "@xyo-network/chain-telemetry": "~1.17.3",
60
67
  "@xyo-network/manifest-model": "~5.2.17",
68
+ "@xyo-network/manifest-wrapper": "~5.2.17",
69
+ "@xyo-network/module-abstract": "~5.2.17",
61
70
  "@xyo-network/module-factory-locator": "~5.2.17",
62
71
  "@xyo-network/module-model": "~5.2.17",
63
72
  "@xyo-network/node-model": "~5.2.17",
64
73
  "@xyo-network/payload-builder": "~5.2.17",
65
74
  "@xyo-network/payload-model": "~5.2.17",
66
75
  "@xyo-network/sentinel-abstract": "~5.2.17",
76
+ "@xyo-network/sentinel-memory": "~5.2.17",
67
77
  "@xyo-network/sentinel-model": "~5.2.17",
68
78
  "@xyo-network/typechain": "~4.0.11",
79
+ "@xyo-network/wallet": "~5.2.17",
69
80
  "@xyo-network/wallet-model": "~5.2.17",
70
- "@xyo-network/xl1-protocol": "~1.14.16",
71
- "@xyo-network/xl1-protocol-sdk": "~1.17.2",
81
+ "@xyo-network/xl1-protocol": "~1.14.17",
82
+ "@xyo-network/xl1-protocol-sdk": "~1.17.3",
83
+ "@xyo-network/xl1-rpc": "~1.17.3",
84
+ "async-mutex": "~0.5.0",
72
85
  "compression": "~1.8.1",
73
86
  "cors": "~2.8.5",
87
+ "ethers": "~6.16.0",
74
88
  "express": "~5.2.1",
75
89
  "rxjs": "~7.8.2",
76
90
  "uuid": "~13.0.0",
@@ -82,11 +96,12 @@
82
96
  "@types/cors": "~2.8.19",
83
97
  "@types/express": "5.0.6",
84
98
  "@types/express-serve-static-core": "~5.1.0",
85
- "@types/node": "~24.10.1",
86
- "@xylabs/mongo": "~5.0.50",
87
- "@xylabs/sdk-js": "~5.0.50",
99
+ "@types/node": "~24.10.3",
100
+ "@xylabs/mongo": "~5.0.51",
101
+ "@xylabs/sdk-js": "~5.0.51",
88
102
  "@xylabs/ts-scripts-yarn3": "~7.2.8",
89
103
  "@xylabs/tsconfig": "~7.2.8",
104
+ "@xylabs/vitest-extended": "~5.0.51",
90
105
  "@xyo-network/account": "~5.2.17",
91
106
  "@xyo-network/account-model": "~5.2.17",
92
107
  "@xyo-network/archivist-abstract": "~5.2.17",
@@ -96,10 +111,9 @@
96
111
  "@xyo-network/bios": "~7.2.0",
97
112
  "@xyo-network/bios-model": "~7.2.0",
98
113
  "@xyo-network/boundwitness-builder": "~5.2.17",
99
- "@xyo-network/chain-modules": "~1.17.2",
100
- "@xyo-network/chain-protocol": "~1.17.2",
101
- "@xyo-network/chain-services": "~1.17.2",
102
- "@xyo-network/chain-telemetry": "~1.17.2",
114
+ "@xyo-network/chain-protocol": "~1.17.3",
115
+ "@xyo-network/chain-services": "~1.17.3",
116
+ "@xyo-network/chain-telemetry": "~1.17.3",
103
117
  "@xyo-network/manifest-wrapper": "~5.2.17",
104
118
  "@xyo-network/module-abstract": "~5.2.17",
105
119
  "@xyo-network/module-abstract-mongodb": "~5.2.17",
@@ -108,12 +122,13 @@
108
122
  "@xyo-network/payload-builder": "~5.2.17",
109
123
  "@xyo-network/sentinel-memory": "~5.2.17",
110
124
  "@xyo-network/wallet": "~5.2.17",
111
- "@xyo-network/xl1-protocol": "~1.14.16",
125
+ "@xyo-network/xl1-protocol": "~1.14.17",
112
126
  "async-mutex": "~0.5.0",
113
127
  "dotenv": "~17.2.3",
114
128
  "eslint": "^9.39.1",
115
129
  "ethers": "^6.16.0",
116
130
  "http-status-codes": "~2.3.0",
131
+ "mongodb": "~6.21.0",
117
132
  "nodemon": "~3.1.11",
118
133
  "tslib": "~2.8.1",
119
134
  "typescript": "~5.9.3",
@@ -0,0 +1,7 @@
1
+ import { asHex } from '@xylabs/sdk-js'
2
+ import type { ChainId } from '@xyo-network/xl1-protocol'
3
+
4
+ export const asChainId = (value: unknown): ChainId | undefined => {
5
+ const chainId = asHex(value)
6
+ return chainId
7
+ }
@@ -0,0 +1,7 @@
1
+ import type { Address } from '@xylabs/sdk-js'
2
+ import { asAddress } from '@xylabs/sdk-js'
3
+
4
+ export const asToken = (value: unknown): Address | undefined => {
5
+ const token = asAddress(value)
6
+ return token
7
+ }
@@ -0,0 +1,13 @@
1
+ import type { Address } from '@xylabs/sdk-js'
2
+ import { asAddress, assertEx } from '@xylabs/sdk-js'
3
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
4
+
5
+ export const tryGetBridgeEscrowAddress = (config: Config): Address | undefined => {
6
+ const address = asAddress(config.bridge.escrowAddress)
7
+ return address
8
+ }
9
+
10
+ export const getBridgeEscrowAddress = (config: Config): Address => {
11
+ const address = assertEx(tryGetBridgeEscrowAddress(config), () => `Invalid bridge escrow address: ${config.bridge.escrowAddress}`)
12
+ return address
13
+ }
@@ -0,0 +1,13 @@
1
+ import type { Address } from '@xylabs/sdk-js'
2
+ import { asAddress, assertEx } from '@xylabs/sdk-js'
3
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
4
+
5
+ export const tryGetBridgeFeesAddress = (config: Config): Address | undefined => {
6
+ const address = asAddress(config.bridge.feesAddress)
7
+ return address
8
+ }
9
+
10
+ export const getBridgeFeesAddress = (config: Config): Address => {
11
+ const address = assertEx(tryGetBridgeFeesAddress(config), () => `Invalid bridge fees address: ${config.bridge.feesAddress}`)
12
+ return address
13
+ }
@@ -0,0 +1,24 @@
1
+ import type { BridgeSettings, Config } from '@xyo-network/xl1-protocol-sdk'
2
+
3
+ import { getFeeStructure } from './getFeeStructure.ts'
4
+ import { getMaxBridgeAmount } from './getMaxBridgeAmount.ts'
5
+ import { getMinBridgeAmount } from './getMinBridgeAmount.ts'
6
+ import { getRemoteChainId } from './getRemoteChainId.ts'
7
+ import { getRemoteTokenAddress } from './getRemoteTokenAddress.ts'
8
+ import { getTransferAddresses } from './getTransferAddresses.ts'
9
+ import { getXl1ChainId } from './getXl1ChainId.ts'
10
+ import { getXl1TokenAddress } from './getXl1TokenAddress.ts'
11
+
12
+ export const getBridgeSettings = async (config: Config): Promise<BridgeSettings> => {
13
+ const { feeFixed, feeRateBasisPoints } = getFeeStructure(config)
14
+ const { feesAddress, escrowAddress } = await getTransferAddresses(config)
15
+ const maxBridgeAmount = getMaxBridgeAmount(config)
16
+ const minBridgeAmount = getMinBridgeAmount(config)
17
+ const remoteChainId = getRemoteChainId(config)
18
+ const remoteTokenAddress = getRemoteTokenAddress(config)
19
+ const xl1TokenAddress = getXl1TokenAddress(config)
20
+ const xl1ChainId = getXl1ChainId(config)
21
+ return {
22
+ feeFixed, feeRateBasisPoints, feesAddress, escrowAddress, maxBridgeAmount, minBridgeAmount, remoteChainId, remoteTokenAddress, xl1TokenAddress, xl1ChainId,
23
+ }
24
+ }
@@ -0,0 +1,34 @@
1
+ import type { Address, Promisable } from '@xylabs/sdk-js'
2
+ import { isDefined, isUndefined } from '@xylabs/sdk-js'
3
+ import { HDWallet } from '@xyo-network/wallet'
4
+ import type { WalletInstance } from '@xyo-network/wallet-model'
5
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
6
+ import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from '@xyo-network/xl1-protocol-sdk'
7
+
8
+ let accountServiceSingleton: Promisable<WalletInstance> | undefined
9
+
10
+ export const getBridgeWalletAccount = async (config: Config): Promise<WalletInstance> => {
11
+ if (accountServiceSingleton) return accountServiceSingleton
12
+ let walletPhrase = config.bridge.mnemonic
13
+ if (isUndefined(walletPhrase)) {
14
+ console.log('[Bridge] No wallet mnemonic specified!')
15
+ const randomMnemonic = HDWallet.generateMnemonic()
16
+ console.log(`[Bridge] Using randomly generated mnemonic:
17
+
18
+ ${randomMnemonic}
19
+
20
+ `)
21
+ walletPhrase = randomMnemonic
22
+ }
23
+ const wallet = await generateXyoBaseWalletFromPhrase(walletPhrase)
24
+ const account = await wallet.derivePath(ADDRESS_INDEX.XYO)
25
+ accountServiceSingleton = account
26
+ return accountServiceSingleton
27
+ }
28
+
29
+ export const getAddressOrBridgeWalletAccountAddress = async (getConfigAccount: (config: Config) => Address | undefined, config: Config): Promise<Address> => {
30
+ const address = getConfigAccount(config)
31
+ if (isDefined(address)) return address
32
+ const walletAccount = await getBridgeWalletAccount(config)
33
+ return walletAccount.address
34
+ }
@@ -0,0 +1,8 @@
1
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
2
+
3
+ import type { FeeStructure } from '../util/index.ts'
4
+
5
+ export const getFeeStructure = (config: Config): FeeStructure => {
6
+ const { feeFixed, feeRateBasisPoints } = config.bridge
7
+ return { feeFixed, feeRateBasisPoints }
8
+ }
@@ -0,0 +1,19 @@
1
+ import { isDefined } from '@xylabs/sdk-js'
2
+ import { HDWallet } from '@xyo-network/wallet'
3
+ import {
4
+ type Config, SimpleXyoGatewayRunner, SimpleXyoSigner, type XyoGatewayRunner,
5
+ } from '@xyo-network/xl1-protocol-sdk'
6
+ import { HttpRpcXyoConnection } from '@xyo-network/xl1-rpc'
7
+
8
+ let gatewayInstance: XyoGatewayRunner | undefined
9
+
10
+ export const getGateway = async (config: Config): Promise<XyoGatewayRunner> => {
11
+ if (isDefined(gatewayInstance)) return gatewayInstance
12
+ const { mnemonic, chainRpcApiUrl: endpoint } = config.bridge
13
+ const walletPromise = isDefined(mnemonic) ? HDWallet.fromPhrase(mnemonic) : HDWallet.random()
14
+ const account = await walletPromise
15
+ const signer = new SimpleXyoSigner(account)
16
+ const connection = new HttpRpcXyoConnection({ endpoint })
17
+ gatewayInstance = new SimpleXyoGatewayRunner(connection, signer)
18
+ return gatewayInstance
19
+ }
@@ -0,0 +1,7 @@
1
+ import type { Hex } from '@xylabs/sdk-js'
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
3
+
4
+ export const getMaxBridgeAmount = (config: Config): Hex => {
5
+ const { maxBridgeAmount } = config.bridge
6
+ return maxBridgeAmount
7
+ }
@@ -0,0 +1,7 @@
1
+ import type { Hex } from '@xylabs/sdk-js'
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
3
+
4
+ export const getMinBridgeAmount = (config: Config): Hex => {
5
+ const { minBridgeAmount } = config.bridge
6
+ return minBridgeAmount
7
+ }
@@ -0,0 +1,10 @@
1
+ import { assertEx } from '@xylabs/sdk-js'
2
+ import type { ChainId } from '@xyo-network/xl1-protocol'
3
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
4
+
5
+ import { asChainId } from './asChainId.ts'
6
+
7
+ export const getRemoteChainId = (config: Config): ChainId => {
8
+ const remoteChainId = assertEx(asChainId(config.bridge.remoteChainId), () => 'Invalid remote chain ID in config')
9
+ return remoteChainId
10
+ }
@@ -0,0 +1,10 @@
1
+ import type { Address } from '@xylabs/sdk-js'
2
+ import { assertEx } from '@xylabs/sdk-js'
3
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
4
+
5
+ import { asToken } from './asToken.ts'
6
+
7
+ export const getRemoteTokenAddress = (config: Config): Address => {
8
+ const token = asToken(config.bridge.remoteTokenAddress)
9
+ return assertEx(token, () => 'Remote token address is not defined in bridge configuration')
10
+ }
@@ -0,0 +1,17 @@
1
+ import type { Address } from '@xylabs/sdk-js'
2
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
3
+
4
+ import { tryGetBridgeEscrowAddress } from './getBridgeEscrowAddress.ts'
5
+ import { tryGetBridgeFeesAddress } from './getBridgeFeesAddress.ts'
6
+ import { getBridgeWalletAccount } from './getBridgeWalletAccount.ts'
7
+
8
+ export interface TransferAddresses {
9
+ escrowAddress: Address
10
+ feesAddress: Address
11
+ }
12
+
13
+ export const getTransferAddresses = async (config: Config): Promise<TransferAddresses> => {
14
+ const escrowAddress = tryGetBridgeEscrowAddress(config) ?? (await getBridgeWalletAccount(config)).address
15
+ const feesAddress = tryGetBridgeFeesAddress(config) ?? (await getBridgeWalletAccount(config)).address
16
+ return { escrowAddress, feesAddress }
17
+ }
@@ -0,0 +1,13 @@
1
+ import { assertEx, isDefined } from '@xylabs/sdk-js'
2
+ import type { ChainId } from '@xyo-network/xl1-protocol'
3
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
4
+
5
+ import { asChainId } from './asChainId.ts'
6
+
7
+ export const getXl1ChainId = (config: Config): ChainId => {
8
+ const xl1ChainId = config.bridge.xl1ChainId
9
+ if (isDefined(xl1ChainId)) {
10
+ return assertEx(asChainId(xl1ChainId), () => 'Invalid xl1ChainId in bridge config')
11
+ }
12
+ return assertEx(asChainId(config.chain.id), () => 'Invalid chain.id in config')
13
+ }
@@ -0,0 +1,12 @@
1
+ import type { Hex } from '@xylabs/sdk-js'
2
+ import { isDefined } from '@xylabs/sdk-js'
3
+ import type { Config } from '@xyo-network/xl1-protocol-sdk'
4
+
5
+ import { asToken } from './asToken.ts'
6
+ import { getXl1ChainId } from './getXl1ChainId.ts'
7
+
8
+ export const getXl1TokenAddress = (config: Config): Hex => {
9
+ const token = asToken(config.bridge.xl1TokenAddress)
10
+ if (isDefined(token)) return token
11
+ return getXl1ChainId(config)
12
+ }
@@ -0,0 +1,15 @@
1
+ export * from './asChainId.ts'
2
+ export * from './asToken.ts'
3
+ export * from './getBridgeEscrowAddress.ts'
4
+ export * from './getBridgeFeesAddress.ts'
5
+ export * from './getBridgeSettings.ts'
6
+ export * from './getBridgeWalletAccount.ts'
7
+ export * from './getFeeStructure.ts'
8
+ export * from './getGateway.ts'
9
+ export * from './getMaxBridgeAmount.ts'
10
+ export * from './getMinBridgeAmount.ts'
11
+ export * from './getRemoteChainId.ts'
12
+ export * from './getRemoteTokenAddress.ts'
13
+ export * from './getTransferAddresses.ts'
14
+ export * from './getXl1ChainId.ts'
15
+ export * from './getXl1TokenAddress.ts'
@@ -1,7 +1,6 @@
1
1
  import type { Address, Hex } from '@xylabs/sdk-js'
2
2
  import {
3
- asAddress, asHex, assertEx, hexFromBigInt, hexToBigInt, isNull, isUndefined,
4
- toAddress,
3
+ asAddress, asHex, assertEx, hexFromBigInt, hexToBigInt, isNull, isUndefined, toAddress,
5
4
  } from '@xylabs/sdk-js'
6
5
  import { PayloadBuilder } from '@xyo-network/payload-builder'
7
6
  import type { LiquidityPoolBridge } from '@xyo-network/typechain'