@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.
- package/dist/node/config/asChainId.d.ts +3 -0
- package/dist/node/config/asChainId.d.ts.map +1 -0
- package/dist/node/config/asToken.d.ts +3 -0
- package/dist/node/config/asToken.d.ts.map +1 -0
- package/dist/node/config/getBridgeEscrowAddress.d.ts +5 -0
- package/dist/node/config/getBridgeEscrowAddress.d.ts.map +1 -0
- package/dist/node/config/getBridgeFeesAddress.d.ts +5 -0
- package/dist/node/config/getBridgeFeesAddress.d.ts.map +1 -0
- package/dist/node/config/getBridgeSettings.d.ts +3 -0
- package/dist/node/config/getBridgeSettings.d.ts.map +1 -0
- package/dist/node/config/getBridgeWalletAccount.d.ts +6 -0
- package/dist/node/config/getBridgeWalletAccount.d.ts.map +1 -0
- package/dist/node/config/getFeeStructure.d.ts +4 -0
- package/dist/node/config/getFeeStructure.d.ts.map +1 -0
- package/dist/node/config/getGateway.d.ts +3 -0
- package/dist/node/config/getGateway.d.ts.map +1 -0
- package/dist/node/config/getMaxBridgeAmount.d.ts +4 -0
- package/dist/node/config/getMaxBridgeAmount.d.ts.map +1 -0
- package/dist/node/config/getMinBridgeAmount.d.ts +4 -0
- package/dist/node/config/getMinBridgeAmount.d.ts.map +1 -0
- package/dist/node/config/getRemoteChainId.d.ts +4 -0
- package/dist/node/config/getRemoteChainId.d.ts.map +1 -0
- package/dist/node/config/getRemoteTokenAddress.d.ts +4 -0
- package/dist/node/config/getRemoteTokenAddress.d.ts.map +1 -0
- package/dist/node/config/getTransferAddresses.d.ts +8 -0
- package/dist/node/config/getTransferAddresses.d.ts.map +1 -0
- package/dist/node/config/getXl1ChainId.d.ts +4 -0
- package/dist/node/config/getXl1ChainId.d.ts.map +1 -0
- package/dist/node/config/getXl1TokenAddress.d.ts +4 -0
- package/dist/node/config/getXl1TokenAddress.d.ts.map +1 -0
- package/dist/node/config/index.d.ts +16 -0
- package/dist/node/config/index.d.ts.map +1 -0
- package/dist/node/index.mjs +1133 -206
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.d.ts.map +1 -1
- package/dist/node/manifest/getLocator.d.ts.map +1 -1
- package/dist/node/manifest/public/index.d.ts +0 -4
- package/dist/node/manifest/public/index.d.ts.map +1 -1
- package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.d.ts +77 -0
- package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.d.ts.map +1 -0
- package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.d.ts +2 -0
- package/dist/node/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.d.ts.map +1 -0
- package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.d.ts +56 -0
- package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.d.ts.map +1 -0
- package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/index.d.ts +2 -0
- package/dist/node/modules/XL1TransactionCompletionMonitorSentinel/index.d.ts.map +1 -0
- package/dist/node/modules/index.d.ts +2 -1
- package/dist/node/modules/index.d.ts.map +1 -1
- package/dist/node/server/app.d.ts +3 -1
- package/dist/node/server/app.d.ts.map +1 -1
- package/dist/node/server/routes/addRoutes.d.ts +2 -1
- package/dist/node/server/routes/addRoutes.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/addBridgeRoutes.d.ts +2 -1
- package/dist/node/server/routes/bridge/addBridgeRoutes.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/getRouteDefinitions.d.ts +2 -1
- package/dist/node/server/routes/bridge/routeDefinitions/getRouteDefinitions.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts +2 -1
- package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts +4 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts.map +1 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts +2 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts +2 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts +2 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts +2 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/index.d.ts +1 -0
- package/dist/node/server/routes/bridge/routeDefinitions/routes/index.d.ts.map +1 -1
- package/dist/node/server/routes/index.d.ts +0 -2
- package/dist/node/server/routes/index.d.ts.map +1 -1
- package/dist/node/server/server.d.ts +1 -1
- package/dist/node/server/server.d.ts.map +1 -1
- package/dist/node/util/calculateBridgeFees.d.ts +10 -0
- package/dist/node/util/calculateBridgeFees.d.ts.map +1 -0
- package/dist/node/util/generateBridgeEstimate.d.ts +5 -0
- package/dist/node/util/generateBridgeEstimate.d.ts.map +1 -0
- package/dist/node/util/index.d.ts +5 -0
- package/dist/node/util/index.d.ts.map +1 -0
- package/dist/node/util/validateBridgeEstimate.d.ts +13 -0
- package/dist/node/util/validateBridgeEstimate.d.ts.map +1 -0
- package/dist/node/util/validateBridgeEstimateExact.d.ts +12 -0
- package/dist/node/util/validateBridgeEstimateExact.d.ts.map +1 -0
- package/package.json +29 -14
- package/src/config/asChainId.ts +7 -0
- package/src/config/asToken.ts +7 -0
- package/src/config/getBridgeEscrowAddress.ts +13 -0
- package/src/config/getBridgeFeesAddress.ts +13 -0
- package/src/config/getBridgeSettings.ts +24 -0
- package/src/config/getBridgeWalletAccount.ts +34 -0
- package/src/config/getFeeStructure.ts +8 -0
- package/src/config/getGateway.ts +19 -0
- package/src/config/getMaxBridgeAmount.ts +7 -0
- package/src/config/getMinBridgeAmount.ts +7 -0
- package/src/config/getRemoteChainId.ts +10 -0
- package/src/config/getRemoteTokenAddress.ts +10 -0
- package/src/config/getTransferAddresses.ts +17 -0
- package/src/config/getXl1ChainId.ts +13 -0
- package/src/config/getXl1TokenAddress.ts +12 -0
- package/src/config/index.ts +15 -0
- package/src/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.ts +1 -2
- package/src/manifest/getLocator.ts +97 -34
- package/src/manifest/public/Ethereum.json +24 -64
- package/src/manifest/public/XL1.json +24 -64
- package/src/manifest/public/index.ts +0 -6
- package/src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.ts +234 -0
- package/src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.ts +1 -0
- package/src/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.ts +166 -0
- package/src/modules/XL1TransactionCompletionMonitorSentinel/index.ts +1 -0
- package/src/modules/index.ts +2 -1
- package/src/server/app.ts +5 -4
- package/src/server/routes/addRoutes.ts +3 -2
- package/src/server/routes/bridge/addBridgeRoutes.ts +3 -2
- package/src/server/routes/bridge/routeDefinitions/getRouteDefinitions.ts +8 -6
- package/src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts +16 -13
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeConfig.ts +43 -0
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts +40 -37
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts +74 -45
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts +48 -75
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts +95 -47
- package/src/server/routes/bridge/routeDefinitions/routes/index.ts +1 -0
- package/src/server/routes/index.ts +0 -2
- package/src/server/server.ts +37 -31
- package/src/util/calculateBridgeFees.ts +39 -0
- package/src/util/generateBridgeEstimate.ts +64 -0
- package/src/util/index.ts +4 -0
- package/src/util/validateBridgeEstimate.ts +60 -0
- package/src/util/validateBridgeEstimateExact.ts +34 -0
- package/dist/node/modules/XL1toEvmBridgeSentinel/XL1toEvmBridgeSentinel.d.ts +0 -47
- package/dist/node/modules/XL1toEvmBridgeSentinel/XL1toEvmBridgeSentinel.d.ts.map +0 -1
- package/dist/node/modules/XL1toEvmBridgeSentinel/index.d.ts +0 -2
- package/dist/node/modules/XL1toEvmBridgeSentinel/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/AddressPathParams.d.ts +0 -4
- package/dist/node/server/routes/address/AddressPathParams.d.ts.map +0 -1
- package/dist/node/server/routes/address/addNodeRoutes.d.ts +0 -3
- package/dist/node/server/routes/address/addNodeRoutes.d.ts.map +0 -1
- package/dist/node/server/routes/address/get/get.d.ts +0 -4
- package/dist/node/server/routes/address/get/get.d.ts.map +0 -1
- package/dist/node/server/routes/address/get/index.d.ts +0 -2
- package/dist/node/server/routes/address/get/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/index.d.ts +0 -2
- package/dist/node/server/routes/address/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/post/getQueryConfig.d.ts +0 -6
- package/dist/node/server/routes/address/post/getQueryConfig.d.ts.map +0 -1
- package/dist/node/server/routes/address/post/index.d.ts +0 -2
- package/dist/node/server/routes/address/post/index.d.ts.map +0 -1
- package/dist/node/server/routes/address/post/post.d.ts +0 -8
- package/dist/node/server/routes/address/post/post.d.ts.map +0 -1
- package/src/manifest/public/Chain.json +0 -32
- package/src/modules/XL1toEvmBridgeSentinel/XL1toEvmBridgeSentinel.ts +0 -156
- package/src/modules/XL1toEvmBridgeSentinel/index.ts +0 -1
- package/src/server/routes/address/AddressPathParams.ts +0 -3
- package/src/server/routes/address/addNodeRoutes.ts +0 -21
- package/src/server/routes/address/get/get.ts +0 -30
- package/src/server/routes/address/get/index.ts +0 -1
- package/src/server/routes/address/index.ts +0 -1
- package/src/server/routes/address/post/getQueryConfig.ts +0 -23
- package/src/server/routes/address/post/index.ts +0 -1
- 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,
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
package/dist/node/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainIdPathParam.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts"],"names":[],"mappings":"
|
|
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 @@
|
|
|
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
|
-
|
|
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
|
package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.d.ts.map
CHANGED
|
@@ -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;
|
|
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 +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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
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 @@
|
|
|
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.
|
|
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.
|
|
56
|
-
"@xylabs/
|
|
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.
|
|
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.
|
|
71
|
-
"@xyo-network/xl1-protocol-sdk": "~1.17.
|
|
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.
|
|
86
|
-
"@xylabs/mongo": "~5.0.
|
|
87
|
-
"@xylabs/sdk-js": "~5.0.
|
|
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-
|
|
100
|
-
"@xyo-network/chain-
|
|
101
|
-
"@xyo-network/chain-
|
|
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.
|
|
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,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,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'
|
package/src/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.ts
CHANGED
|
@@ -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'
|