@xyo-network/chain-bridge 1.17.2 → 1.17.6
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 +1155 -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 +6 -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/dist/node/util/validateBridgeTransaction.d.ts +15 -0
- package/dist/node/util/validateBridgeTransaction.d.ts.map +1 -0
- package/package.json +31 -15
- 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 +68 -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 +5 -0
- package/src/util/validateBridgeEstimate.ts +60 -0
- package/src/util/validateBridgeEstimateExact.ts +34 -0
- package/src/util/validateBridgeTransaction.ts +40 -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addRoutes.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/addRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"addRoutes.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/addRoutes.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,SAAS,GAAI,KAAK,OAAO,EAAE,QAAQ,MAAM,SAErD,CAAA"}
|
|
@@ -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;AAYtD,OAAO,EAAE,KAAK,MAAM,EAA8B,MAAM,+BAA+B,CAAA;AAMvF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,eAyDxD,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,6 @@
|
|
|
1
|
+
export * from './calculateBridgeFees.ts';
|
|
2
|
+
export * from './generateBridgeEstimate.ts';
|
|
3
|
+
export * from './validateBridgeEstimate.ts';
|
|
4
|
+
export * from './validateBridgeEstimateExact.ts';
|
|
5
|
+
export * from './validateBridgeTransaction.ts';
|
|
6
|
+
//# 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;AAChD,cAAc,gCAAgC,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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BridgeIntent, TransactionBoundWitness, 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 signedTransaction The signed transaction bound witness
|
|
8
|
+
* @param signedTxBw The signed transaction bound witness
|
|
9
|
+
* @param intent The BridgeIntent
|
|
10
|
+
* @param transfer The Transfer
|
|
11
|
+
* @param config The Config
|
|
12
|
+
* @returns True if the bridge estimate satisfies bridging conditions, false otherwise.
|
|
13
|
+
*/
|
|
14
|
+
export declare const validateBridgeTransaction: (signedTxBw: TransactionBoundWitness, intent: BridgeIntent, transfer: Transfer, config: Config) => Promise<boolean>;
|
|
15
|
+
//# sourceMappingURL=validateBridgeTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateBridgeTransaction.d.ts","sourceRoot":"","sources":["../../../src/util/validateBridgeTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EAAE,uBAAuB,EAAE,QAAQ,EAChD,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,uBAAuB,EACnC,QAAQ,YAAY,EACpB,UAAU,QAAQ,EAClB,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CAajB,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.6",
|
|
4
4
|
"description": "XYO Layer One Bridge",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -52,25 +52,40 @@
|
|
|
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/
|
|
64
|
+
"@xyo-network/boundwitness-validator": "~5.2.17",
|
|
65
|
+
"@xyo-network/chain-protocol": "workspace:~",
|
|
66
|
+
"@xyo-network/chain-services": "workspace:~",
|
|
67
|
+
"@xyo-network/chain-telemetry": "workspace:~",
|
|
60
68
|
"@xyo-network/manifest-model": "~5.2.17",
|
|
69
|
+
"@xyo-network/manifest-wrapper": "~5.2.17",
|
|
70
|
+
"@xyo-network/module-abstract": "~5.2.17",
|
|
61
71
|
"@xyo-network/module-factory-locator": "~5.2.17",
|
|
62
72
|
"@xyo-network/module-model": "~5.2.17",
|
|
63
73
|
"@xyo-network/node-model": "~5.2.17",
|
|
64
74
|
"@xyo-network/payload-builder": "~5.2.17",
|
|
65
75
|
"@xyo-network/payload-model": "~5.2.17",
|
|
66
76
|
"@xyo-network/sentinel-abstract": "~5.2.17",
|
|
77
|
+
"@xyo-network/sentinel-memory": "~5.2.17",
|
|
67
78
|
"@xyo-network/sentinel-model": "~5.2.17",
|
|
68
79
|
"@xyo-network/typechain": "~4.0.11",
|
|
80
|
+
"@xyo-network/wallet": "~5.2.17",
|
|
69
81
|
"@xyo-network/wallet-model": "~5.2.17",
|
|
70
|
-
"@xyo-network/xl1-protocol": "~1.14.
|
|
71
|
-
"@xyo-network/xl1-protocol-sdk": "
|
|
82
|
+
"@xyo-network/xl1-protocol": "~1.14.17",
|
|
83
|
+
"@xyo-network/xl1-protocol-sdk": "workspace:~",
|
|
84
|
+
"@xyo-network/xl1-rpc": "workspace:~",
|
|
85
|
+
"async-mutex": "~0.5.0",
|
|
72
86
|
"compression": "~1.8.1",
|
|
73
87
|
"cors": "~2.8.5",
|
|
88
|
+
"ethers": "~6.16.0",
|
|
74
89
|
"express": "~5.2.1",
|
|
75
90
|
"rxjs": "~7.8.2",
|
|
76
91
|
"uuid": "~13.0.0",
|
|
@@ -82,11 +97,12 @@
|
|
|
82
97
|
"@types/cors": "~2.8.19",
|
|
83
98
|
"@types/express": "5.0.6",
|
|
84
99
|
"@types/express-serve-static-core": "~5.1.0",
|
|
85
|
-
"@types/node": "~24.10.
|
|
86
|
-
"@xylabs/mongo": "~5.0.
|
|
87
|
-
"@xylabs/sdk-js": "~5.0.
|
|
100
|
+
"@types/node": "~24.10.3",
|
|
101
|
+
"@xylabs/mongo": "~5.0.51",
|
|
102
|
+
"@xylabs/sdk-js": "~5.0.51",
|
|
88
103
|
"@xylabs/ts-scripts-yarn3": "~7.2.8",
|
|
89
104
|
"@xylabs/tsconfig": "~7.2.8",
|
|
105
|
+
"@xylabs/vitest-extended": "~5.0.51",
|
|
90
106
|
"@xyo-network/account": "~5.2.17",
|
|
91
107
|
"@xyo-network/account-model": "~5.2.17",
|
|
92
108
|
"@xyo-network/archivist-abstract": "~5.2.17",
|
|
@@ -96,10 +112,9 @@
|
|
|
96
112
|
"@xyo-network/bios": "~7.2.0",
|
|
97
113
|
"@xyo-network/bios-model": "~7.2.0",
|
|
98
114
|
"@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",
|
|
115
|
+
"@xyo-network/chain-protocol": "workspace:~",
|
|
116
|
+
"@xyo-network/chain-services": "workspace:~",
|
|
117
|
+
"@xyo-network/chain-telemetry": "workspace:~",
|
|
103
118
|
"@xyo-network/manifest-wrapper": "~5.2.17",
|
|
104
119
|
"@xyo-network/module-abstract": "~5.2.17",
|
|
105
120
|
"@xyo-network/module-abstract-mongodb": "~5.2.17",
|
|
@@ -108,12 +123,13 @@
|
|
|
108
123
|
"@xyo-network/payload-builder": "~5.2.17",
|
|
109
124
|
"@xyo-network/sentinel-memory": "~5.2.17",
|
|
110
125
|
"@xyo-network/wallet": "~5.2.17",
|
|
111
|
-
"@xyo-network/xl1-protocol": "~1.14.
|
|
126
|
+
"@xyo-network/xl1-protocol": "~1.14.17",
|
|
112
127
|
"async-mutex": "~0.5.0",
|
|
113
128
|
"dotenv": "~17.2.3",
|
|
114
129
|
"eslint": "^9.39.1",
|
|
115
130
|
"ethers": "^6.16.0",
|
|
116
131
|
"http-status-codes": "~2.3.0",
|
|
132
|
+
"mongodb": "~6.21.0",
|
|
117
133
|
"nodemon": "~3.1.11",
|
|
118
134
|
"tslib": "~2.8.1",
|
|
119
135
|
"typescript": "~5.9.3",
|
|
@@ -127,4 +143,4 @@
|
|
|
127
143
|
"publishConfig": {
|
|
128
144
|
"access": "restricted"
|
|
129
145
|
}
|
|
130
|
-
}
|
|
146
|
+
}
|
|
@@ -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'
|