@xyo-network/chain-bridge 1.20.15 → 1.20.17
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/README.md +9 -75
- package/dist/node/index.mjs +44 -0
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/queue/flows/createXl1ToEthBridgeJob/getJobIdForXl1ToEthBridgeJob.d.ts +1 -1
- package/dist/node/queue/flows/createXl1ToEthBridgeJob/getJobIdForXl1ToEthBridgeJob.d.ts.map +1 -1
- package/dist/node/server/routes/addProbeRoutes.d.ts +3 -0
- package/dist/node/server/routes/addProbeRoutes.d.ts.map +1 -0
- package/dist/node/server/routes/addRoutes.d.ts.map +1 -1
- package/dist/node/server/routes/bridge/routeDefinitions/routes/bridgeConfig.d.ts +7 -7
- package/dist/node/server/routes/{healthz → livez}/get.d.ts +1 -1
- package/dist/node/server/routes/livez/get.d.ts.map +1 -0
- package/dist/node/server/routes/livez/index.d.ts.map +1 -0
- package/dist/node/server/routes/readyz/get.d.ts +4 -0
- package/dist/node/server/routes/readyz/get.d.ts.map +1 -0
- package/dist/node/server/routes/readyz/index.d.ts +2 -0
- package/dist/node/server/routes/readyz/index.d.ts.map +1 -0
- package/dist/node/server/routes/startupz/get.d.ts +4 -0
- package/dist/node/server/routes/startupz/get.d.ts.map +1 -0
- package/dist/node/server/routes/startupz/index.d.ts +2 -0
- package/dist/node/server/routes/startupz/index.d.ts.map +1 -0
- package/package.json +143 -54
- package/dist/node/server/routes/healthz/get.d.ts.map +0 -1
- package/dist/node/server/routes/healthz/index.d.ts.map +0 -1
- package/src/BridgeActor.ts +0 -51
- package/src/config/asChainId.ts +0 -7
- package/src/config/asToken.ts +0 -7
- package/src/config/getBridgeEscrowAddress.ts +0 -13
- package/src/config/getBridgeFeesAddress.ts +0 -13
- package/src/config/getBridgeSettings.ts +0 -24
- package/src/config/getBridgeWalletAccount.ts +0 -37
- package/src/config/getFeeStructure.ts +0 -8
- package/src/config/getMaxBridgeAmount.ts +0 -7
- package/src/config/getMinBridgeAmount.ts +0 -7
- package/src/config/getRemoteChainId.ts +0 -10
- package/src/config/getRemoteTokenAddress.ts +0 -10
- package/src/config/getTestGateway.ts +0 -24
- package/src/config/getTransferAddresses.ts +0 -17
- package/src/config/getXl1ChainId.ts +0 -13
- package/src/config/getXl1TokenAddress.ts +0 -12
- package/src/config/index.ts +0 -15
- package/src/index.ts +0 -1
- package/src/interface/index.ts +0 -4
- package/src/interface/interface/ChainBridgeRelayInterface.ts +0 -9
- package/src/interface/interface/IntentIndexerInterface.ts +0 -8
- package/src/interface/interface/LockingProcessorInterface.ts +0 -10
- package/src/interface/interface/ObservationIndexerInterface.ts +0 -12
- package/src/interface/interface/Params.ts +0 -26
- package/src/interface/interface/RelayInterface.ts +0 -8
- package/src/interface/interface/index.ts +0 -6
- package/src/interface/repository/RepositoryInterface.ts +0 -28
- package/src/interface/repository/index.ts +0 -1
- package/src/interface/service/Observer/ERC20TransferObserver/ERC20TransferObserver.ts +0 -180
- package/src/interface/service/Observer/ERC20TransferObserver/index.ts +0 -1
- package/src/interface/service/Observer/LiquidityPoolBridgeObserver/LiquidityPoolBridgeObserver.ts +0 -210
- package/src/interface/service/Observer/LiquidityPoolBridgeObserver/index.ts +0 -1
- package/src/interface/service/Observer/Observer.ts +0 -48
- package/src/interface/service/Observer/index.ts +0 -1
- package/src/interface/service/Relay/ChainBridgeRelay/ChainBridgeRelayInterface.ts +0 -11
- package/src/interface/service/Relay/ChainBridgeRelay/ChainBridgeRelayService.ts +0 -116
- package/src/interface/service/Relay/ChainBridgeRelay/index.ts +0 -1
- package/src/interface/service/Relay/LiquidityPoolBridgeRelay/LiquidityPoolBridgeRelay.ts +0 -227
- package/src/interface/service/Relay/LiquidityPoolBridgeRelay/index.ts +0 -1
- package/src/interface/service/Relay/index.ts +0 -1
- package/src/interface/service/index.ts +0 -2
- package/src/interface/util/getBridgeIntentIdentifier.ts +0 -18
- package/src/interface/util/index.ts +0 -1
- package/src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.ts +0 -235
- package/src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/index.ts +0 -1
- package/src/modules/index.ts +0 -1
- package/src/queue/connection.ts +0 -16
- package/src/queue/flowProducer.ts +0 -16
- package/src/queue/flows/createEthToXl1BridgeJob.ts +0 -71
- package/src/queue/flows/createXl1ToEthBridgeJob/createXl1ToEthBridgeJob.ts +0 -127
- package/src/queue/flows/createXl1ToEthBridgeJob/getJobIdForXl1ToEthBridgeJob.ts +0 -18
- package/src/queue/flows/createXl1ToEthBridgeJob/getXl1ToEthBridgeJob.ts +0 -11
- package/src/queue/flows/createXl1ToEthBridgeJob/index.ts +0 -3
- package/src/queue/flows/index.ts +0 -2
- package/src/queue/getXl1ToEthQueueJobs.ts +0 -57
- package/src/queue/getXl1ToEthQueues.ts +0 -39
- package/src/queue/index.ts +0 -8
- package/src/queue/prefix.ts +0 -1
- package/src/queue/telemetry.ts +0 -12
- package/src/queue/workers/EthToXl1BridgeParent.ts +0 -40
- package/src/queue/workers/EthTransactionMonitor.ts +0 -59
- package/src/queue/workers/EthTransactionPreparation.ts +0 -83
- package/src/queue/workers/EthTransactionSubmission.ts +0 -63
- package/src/queue/workers/EthTransactionSubmissionStorage.ts +0 -76
- package/src/queue/workers/WorkerDescription.ts +0 -10
- package/src/queue/workers/Xl1ToEthBridgeParent.ts +0 -41
- package/src/queue/workers/Xl1TransactionJobData.ts +0 -12
- package/src/queue/workers/Xl1TransactionMonitor.ts +0 -82
- package/src/queue/workers/Xl1TransactionPreparation.ts +0 -52
- package/src/queue/workers/Xl1TransactionSubmission.ts +0 -70
- package/src/queue/workers/Xl1TransactionSubmissionStorage.ts +0 -77
- package/src/queue/workers/createWorkers.ts +0 -29
- package/src/queue/workers/index.ts +0 -11
- package/src/queue/workers/util/index.ts +0 -2
- package/src/queue/workers/util/submitEthTransaction.ts +0 -32
- package/src/queue/workers/util/submitXl1Transaction.ts +0 -26
- package/src/server/addFlowProducer.ts +0 -14
- package/src/server/addWorkers.ts +0 -13
- package/src/server/app.ts +0 -20
- package/src/server/index.ts +0 -19
- package/src/server/instrumentation.ts +0 -15
- package/src/server/routes/addRoutes.ts +0 -9
- package/src/server/routes/bridge/addBridgeRoutes.ts +0 -12
- package/src/server/routes/bridge/index.ts +0 -1
- package/src/server/routes/bridge/routeDefinitions/getRouteDefinitions.ts +0 -18
- package/src/server/routes/bridge/routeDefinitions/index.ts +0 -1
- package/src/server/routes/bridge/routeDefinitions/pathParams/ChainIdPathParam.ts +0 -21
- package/src/server/routes/bridge/routeDefinitions/pathParams/index.ts +0 -1
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeConfig.ts +0 -46
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeFromRemoteStatus.ts +0 -58
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemote.ts +0 -93
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts +0 -69
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteMaxEstimate.ts +0 -64
- package/src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteStatus.ts +0 -98
- package/src/server/routes/bridge/routeDefinitions/routes/index.ts +0 -6
- package/src/server/routes/healthz/get.ts +0 -20
- package/src/server/routes/healthz/index.ts +0 -1
- package/src/server/routes/index.ts +0 -1
- package/src/server/server.ts +0 -21
- package/src/services/EthTxState.ts +0 -5
- package/src/services/IBridgeServiceCollection.ts +0 -19
- package/src/services/TxState.ts +0 -14
- package/src/services/Xl1TxState.ts +0 -9
- package/src/services/getIterableMap.ts +0 -34
- package/src/services/getServices.ts +0 -41
- package/src/services/index.ts +0 -5
- package/src/util/BridgeFees.ts +0 -16
- package/src/util/bridgeFeesAsBigInt.ts +0 -15
- package/src/util/calculateBridgeFees.ts +0 -33
- package/src/util/calculateMaxBridgeAmount.ts +0 -22
- package/src/util/createBridgeTransfer.ts +0 -31
- package/src/util/generateBridgeEstimate.ts +0 -55
- package/src/util/getConfigFromEnv.ts +0 -15
- package/src/util/index.ts +0 -7
- package/src/validation/AsyncLogger.ts +0 -5
- package/src/validation/index.ts +0 -6
- package/src/validation/validateBridgeEstimate.ts +0 -60
- package/src/validation/validateBridgeEstimateExact.ts +0 -39
- package/src/validation/validateBridgeTransaction.ts +0 -53
- package/src/validation/validateSufficientLiquiditySourceAllowance.ts +0 -39
- package/src/validation/validateSufficientLiquiditySourceBalance.ts +0 -38
- package/src/validation/validateSufficientRunnerEthBalanceForGas.ts +0 -57
- package/src/validation/validateSufficientXL1SourceAddressBalance.ts +0 -39
- /package/dist/node/server/routes/{healthz → livez}/index.d.ts +0 -0
|
@@ -10,5 +10,5 @@ import type { SignedHydratedTransaction } from '@xyo-network/xl1-sdk';
|
|
|
10
10
|
* @param tx The transaction to bridge from XL1 to ETH
|
|
11
11
|
* @returns A deterministic job ID for the bridge job
|
|
12
12
|
*/
|
|
13
|
-
export declare const getJobIdForXl1ToEthBridgeJob: (tx: SignedHydratedTransaction) => Promise<import("@xylabs/
|
|
13
|
+
export declare const getJobIdForXl1ToEthBridgeJob: (tx: SignedHydratedTransaction) => Promise<import("@xylabs/sdk-js").BrandedHash>;
|
|
14
14
|
//# sourceMappingURL=getJobIdForXl1ToEthBridgeJob.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJobIdForXl1ToEthBridgeJob.d.ts","sourceRoot":"","sources":["../../../../../src/queue/flows/createXl1ToEthBridgeJob/getJobIdForXl1ToEthBridgeJob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,GAAU,IAAI,yBAAyB
|
|
1
|
+
{"version":3,"file":"getJobIdForXl1ToEthBridgeJob.d.ts","sourceRoot":"","sources":["../../../../../src/queue/flows/createXl1ToEthBridgeJob/getJobIdForXl1ToEthBridgeJob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,GAAU,IAAI,yBAAyB,kDAG/E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addProbeRoutes.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/addProbeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAMtC,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,SAI1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addRoutes.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/addRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"addRoutes.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/addRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAKtC,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,EAAE,QAAQ,YAAY,EAAE,SAAS,gBAAgB,SAGtF,CAAA"}
|
|
@@ -12,14 +12,14 @@ export declare const BridgeConfigResponseZod: z.ZodObject<{
|
|
|
12
12
|
} & {
|
|
13
13
|
readonly __address: true;
|
|
14
14
|
}, string>>>>;
|
|
15
|
-
feeFixed: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
15
|
+
feeFixed: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
16
16
|
feeRateBasisPoints: z.ZodNonOptional<z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
|
|
17
|
-
maxBridgeAmount: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
18
|
-
minBridgeAmount: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
19
|
-
remoteChainId: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
20
|
-
remoteTokenAddress: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
21
|
-
xl1ChainId: z.ZodNonOptional<z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
22
|
-
xl1TokenAddress: z.ZodNonOptional<z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/
|
|
17
|
+
maxBridgeAmount: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
18
|
+
minBridgeAmount: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
19
|
+
remoteChainId: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
20
|
+
remoteTokenAddress: z.ZodNonOptional<z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
21
|
+
xl1ChainId: z.ZodNonOptional<z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
22
|
+
xl1TokenAddress: z.ZodNonOptional<z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").BrandedHex, string>>>>;
|
|
23
23
|
}, z.core.$strip>;
|
|
24
24
|
export type BridgeConfigResponse = z.infer<typeof BridgeConfigResponseZod>;
|
|
25
25
|
export declare const makeBridgeConfigRoute: (config: BridgeConfig) => RouteDefinition;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/livez/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/livez/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/readyz/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,eAAO,MAAM,SAAS,EAAE,cAAc,CAAC,WAAW,CAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/readyz/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/startupz/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,WAAW,CAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/startupz/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/chain-bridge",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.17",
|
|
4
4
|
"description": "XYO Layer One Bridge",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -22,95 +22,184 @@
|
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
24
|
"types": "./dist/node/index.d.ts",
|
|
25
|
-
"source": "./src/index.ts",
|
|
26
25
|
"default": "./dist/node/index.mjs"
|
|
27
26
|
},
|
|
28
27
|
"./package.json": "./package.json",
|
|
29
28
|
"./README.md": "./README.md"
|
|
30
29
|
},
|
|
31
30
|
"module": "./dist/node/index.mjs",
|
|
32
|
-
"source": "./src/index.ts",
|
|
33
31
|
"types": "./dist/node/index.d.ts",
|
|
34
32
|
"files": [
|
|
35
33
|
"dist",
|
|
36
|
-
"src",
|
|
37
34
|
"!**/*.bench.*",
|
|
38
35
|
"!**/*.spec.*",
|
|
39
|
-
"!**/*.test.*"
|
|
36
|
+
"!**/*.test.*",
|
|
37
|
+
"README.md"
|
|
40
38
|
],
|
|
41
|
-
"scripts": {
|
|
42
|
-
"build-tests": "tsc --noEmit --lib dom,esnext",
|
|
43
|
-
"deploy": "echo Deploy not allowed!",
|
|
44
|
-
"deploy3": "echo Deploy3 not allowed!",
|
|
45
|
-
"start": "nodemon",
|
|
46
|
-
"start-esm": "node ./dist/node/index.mjs",
|
|
47
|
-
"test": "vitest run",
|
|
48
|
-
"test:ci": "vitest run",
|
|
49
|
-
"types": "tsc --noEmit -p tsconfig.test.json"
|
|
50
|
-
},
|
|
51
39
|
"dependencies": {
|
|
52
40
|
"@opentelemetry/api": "^1.9.1",
|
|
53
41
|
"@opentelemetry/instrumentation": "~0.214.0",
|
|
54
42
|
"@opentelemetry/instrumentation-express": "~0.62.0",
|
|
55
43
|
"@opentelemetry/instrumentation-http": "~0.214.0",
|
|
56
|
-
"@xylabs/
|
|
57
|
-
"@xylabs/
|
|
58
|
-
"@
|
|
59
|
-
"@xyo-network/
|
|
60
|
-
"@xyo-network/
|
|
61
|
-
"@xyo-network/
|
|
62
|
-
"@xyo-network/
|
|
63
|
-
"@xyo-network/sdk-js": "~5.3.20",
|
|
64
|
-
"@xyo-network/typechain": "~4.1.2",
|
|
65
|
-
"@xyo-network/wallet-model": "~5.3.20",
|
|
66
|
-
"@xyo-network/xl1-sdk": "~1.26.11",
|
|
44
|
+
"@xylabs/mongo": "~5.0.95",
|
|
45
|
+
"@xylabs/sdk-js": "~5.0.95",
|
|
46
|
+
"@xyo-network/boundwitness-validator": "~5.3.30",
|
|
47
|
+
"@xyo-network/sdk-js": "~5.3.30",
|
|
48
|
+
"@xyo-network/typechain": "~4.1.3",
|
|
49
|
+
"@xyo-network/wallet-model": "~5.3.30",
|
|
50
|
+
"@xyo-network/xl1-sdk": "~1.26.20",
|
|
67
51
|
"async-mutex": "~0.5.0",
|
|
68
|
-
"bullmq": "~5.
|
|
52
|
+
"bullmq": "~5.73.0",
|
|
69
53
|
"bullmq-otel": "~1.3.0",
|
|
70
54
|
"ethers": "^6.16.0",
|
|
71
55
|
"express": "~5.2.1",
|
|
56
|
+
"http-status-codes": "~2.3.0",
|
|
72
57
|
"ioredis": "5.10.1",
|
|
73
58
|
"mongodb": "~7.1.1",
|
|
74
59
|
"uuid": "~13.0.0",
|
|
75
|
-
"yargs-parser": "~22.0.0"
|
|
60
|
+
"yargs-parser": "~22.0.0",
|
|
61
|
+
"@xyo-network/chain-services": "~1.20.17",
|
|
62
|
+
"@xyo-network/chain-protocol": "~1.20.17",
|
|
63
|
+
"@xyo-network/chain-orchestration": "~1.20.17"
|
|
76
64
|
},
|
|
77
65
|
"devDependencies": {
|
|
78
|
-
"@
|
|
79
|
-
"@types/node": "~25.5.
|
|
66
|
+
"@types/express": "^5.0.6",
|
|
67
|
+
"@types/node": "~25.5.2",
|
|
80
68
|
"@types/yargs-parser": "~21.0.3",
|
|
81
|
-
"@xylabs/
|
|
82
|
-
"@xylabs/
|
|
83
|
-
"@xylabs/ts-scripts-
|
|
84
|
-
"@xylabs/
|
|
85
|
-
"@xylabs/
|
|
86
|
-
"@xylabs/vitest-
|
|
87
|
-
"@xyo-network/
|
|
88
|
-
"@xyo-network/
|
|
89
|
-
"@xyo-network/
|
|
90
|
-
"@xyo-network/
|
|
91
|
-
"@xyo-network/
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
69
|
+
"@xylabs/express": "~5.0.95",
|
|
70
|
+
"@xylabs/ts-scripts-common": "~7.9.6",
|
|
71
|
+
"@xylabs/ts-scripts-pnpm": "~7.9.6",
|
|
72
|
+
"@xylabs/tsconfig": "~7.9.6",
|
|
73
|
+
"@xylabs/vitest-extended": "~5.0.95",
|
|
74
|
+
"@xylabs/vitest-matchers": "~5.0.95",
|
|
75
|
+
"@xyo-network/account": "~5.3.30",
|
|
76
|
+
"@xyo-network/account-model": "~5.3.30",
|
|
77
|
+
"@xyo-network/api-models": "~5.3.30",
|
|
78
|
+
"@xyo-network/archivist-abstract": "~5.3",
|
|
79
|
+
"@xyo-network/archivist-generic": "~5.3.30",
|
|
80
|
+
"@xyo-network/archivist-memory": "~5.3.30",
|
|
81
|
+
"@xyo-network/archivist-model": "~5.3",
|
|
82
|
+
"@xyo-network/archivist-view": "~5.3.30",
|
|
83
|
+
"@xyo-network/archivist-wrapper": "~5.3",
|
|
84
|
+
"@xyo-network/boundwitness-builder": "~5.3.30",
|
|
85
|
+
"@xyo-network/bridge-abstract": "~5.3.30",
|
|
86
|
+
"@xyo-network/bridge-model": "~5.3.30",
|
|
87
|
+
"@xyo-network/config-payload-plugin": "~5.3.30",
|
|
88
|
+
"@xyo-network/data": "~5.3.30",
|
|
89
|
+
"@xyo-network/diviner-abstract": "~5.3",
|
|
90
|
+
"@xyo-network/diviner-boundwitness-memory": "~5.3.30",
|
|
91
|
+
"@xyo-network/diviner-identity": "~5.3.30",
|
|
92
|
+
"@xyo-network/diviner-model": "~5.3.30",
|
|
93
|
+
"@xyo-network/diviner-payload-generic": "~5.3.30",
|
|
94
|
+
"@xyo-network/diviner-payload-model": "~5.3.30",
|
|
95
|
+
"@xyo-network/diviner-wrapper": "~5.3",
|
|
96
|
+
"@xyo-network/dns": "~5.3.30",
|
|
97
|
+
"@xyo-network/domain-payload-plugin": "~5.3.30",
|
|
98
|
+
"@xyo-network/elliptic": "~5.3.30",
|
|
99
|
+
"@xyo-network/hash": "~5.3.30",
|
|
100
|
+
"@xyo-network/huri": "~5.3.30",
|
|
101
|
+
"@xyo-network/manifest-model": "~5.3",
|
|
102
|
+
"@xyo-network/module-abstract": "~5.3",
|
|
103
|
+
"@xyo-network/module-model": "~5.3",
|
|
104
|
+
"@xyo-network/module-model-mongodb": "~5.3",
|
|
105
|
+
"@xyo-network/module-resolver": "~5.3.30",
|
|
106
|
+
"@xyo-network/module-wrapper": "~5.3",
|
|
107
|
+
"@xyo-network/network": "~5.3.30",
|
|
108
|
+
"@xyo-network/node-abstract": "~5.3.30",
|
|
109
|
+
"@xyo-network/node-memory": "~5.3.30",
|
|
110
|
+
"@xyo-network/node-model": "~5.3.30",
|
|
111
|
+
"@xyo-network/node-view": "~5.3.30",
|
|
112
|
+
"@xyo-network/node-wrapper": "~5.3",
|
|
113
|
+
"@xyo-network/payload-builder": "~5.3.30",
|
|
114
|
+
"@xyo-network/payload-model": "~5.3.30",
|
|
115
|
+
"@xyo-network/payload-validator": "~5.3.30",
|
|
116
|
+
"@xyo-network/previous-hash-store-model": "~5.3.30",
|
|
117
|
+
"@xyo-network/sentinel-abstract": "~5.3.30",
|
|
118
|
+
"@xyo-network/sentinel-memory": "~5.3.30",
|
|
119
|
+
"@xyo-network/sentinel-model": "~5.3.30",
|
|
120
|
+
"@xyo-network/wasm": "~5.3.30",
|
|
121
|
+
"@xyo-network/witness-adhoc": "~5.3.30",
|
|
122
|
+
"@xyo-network/witness-model": "~5.3.30",
|
|
123
|
+
"ajv": "^8",
|
|
124
|
+
"axios": "~1.15.0",
|
|
125
|
+
"dotenv": "~17.4.1",
|
|
126
|
+
"esbuild": ">=0.18",
|
|
127
|
+
"lmdb": "^3",
|
|
98
128
|
"nodemon": "~3.1.14",
|
|
129
|
+
"pako": "~2.1.0",
|
|
99
130
|
"tslib": "~2.8.1",
|
|
100
131
|
"typescript": "~5.9.3",
|
|
101
|
-
"
|
|
102
|
-
"vitest
|
|
103
|
-
"
|
|
132
|
+
"vite": "^8.0.8",
|
|
133
|
+
"vitest": "^4.1.4",
|
|
134
|
+
"vitest-mock-extended": "~4.0.0",
|
|
135
|
+
"zod": "~4.3.6",
|
|
136
|
+
"@xyo-network/chain-test-helpers": "~1.20.17",
|
|
137
|
+
"@xyo-network/chain-telemetry": "~1.20.17"
|
|
104
138
|
},
|
|
105
139
|
"peerDependencies": {
|
|
106
|
-
"@
|
|
107
|
-
"
|
|
140
|
+
"@xylabs/express": "~5.0.95",
|
|
141
|
+
"@xyo-network/account": "~5.3.30",
|
|
142
|
+
"@xyo-network/account-model": "~5.3.30",
|
|
143
|
+
"@xyo-network/api-models": "~5.3.30",
|
|
144
|
+
"@xyo-network/archivist-abstract": "~5.3",
|
|
145
|
+
"@xyo-network/archivist-generic": "~5.3.30",
|
|
146
|
+
"@xyo-network/archivist-memory": "~5.3.30",
|
|
147
|
+
"@xyo-network/archivist-model": "~5.3",
|
|
148
|
+
"@xyo-network/archivist-view": "~5.3.30",
|
|
149
|
+
"@xyo-network/boundwitness-builder": "~5.3.30",
|
|
150
|
+
"@xyo-network/bridge-abstract": "~5.3.30",
|
|
151
|
+
"@xyo-network/bridge-model": "~5.3.30",
|
|
152
|
+
"@xyo-network/config-payload-plugin": "~5.3.30",
|
|
153
|
+
"@xyo-network/data": "~5.3.30",
|
|
154
|
+
"@xyo-network/diviner-boundwitness-memory": "~5.3.30",
|
|
155
|
+
"@xyo-network/diviner-identity": "~5.3.30",
|
|
156
|
+
"@xyo-network/diviner-model": "~5.3.30",
|
|
157
|
+
"@xyo-network/diviner-payload-generic": "~5.3.30",
|
|
158
|
+
"@xyo-network/diviner-payload-model": "~5.3.30",
|
|
159
|
+
"@xyo-network/dns": "~5.3.30",
|
|
160
|
+
"@xyo-network/domain-payload-plugin": "~5.3.30",
|
|
161
|
+
"@xyo-network/elliptic": "~5.3.30",
|
|
162
|
+
"@xyo-network/hash": "~5.3.30",
|
|
163
|
+
"@xyo-network/huri": "~5.3.30",
|
|
164
|
+
"@xyo-network/manifest-model": "~5.3",
|
|
165
|
+
"@xyo-network/module-abstract": "~5.3",
|
|
166
|
+
"@xyo-network/module-model": "~5.3",
|
|
167
|
+
"@xyo-network/module-model-mongodb": "~5.3",
|
|
168
|
+
"@xyo-network/module-resolver": "~5.3.30",
|
|
169
|
+
"@xyo-network/network": "~5.3.30",
|
|
170
|
+
"@xyo-network/node-abstract": "~5.3.30",
|
|
171
|
+
"@xyo-network/node-memory": "~5.3.30",
|
|
172
|
+
"@xyo-network/node-model": "~5.3.30",
|
|
173
|
+
"@xyo-network/node-view": "~5.3.30",
|
|
174
|
+
"@xyo-network/payload-builder": "~5.3.30",
|
|
175
|
+
"@xyo-network/payload-model": "~5.3.30",
|
|
176
|
+
"@xyo-network/payload-validator": "~5.3.30",
|
|
177
|
+
"@xyo-network/previous-hash-store-model": "~5.3.30",
|
|
178
|
+
"@xyo-network/sentinel-abstract": "~5.3.30",
|
|
179
|
+
"@xyo-network/sentinel-memory": "~5.3.30",
|
|
180
|
+
"@xyo-network/sentinel-model": "~5.3.30",
|
|
181
|
+
"@xyo-network/wasm": "~5.3.30",
|
|
182
|
+
"@xyo-network/witness-adhoc": "~5.3.30",
|
|
183
|
+
"@xyo-network/witness-model": "~5.3.30",
|
|
184
|
+
"pako": "~2.1.0",
|
|
185
|
+
"zod": "~4.3.6",
|
|
186
|
+
"@xyo-network/chain-telemetry": "~1.20.17"
|
|
108
187
|
},
|
|
109
188
|
"engines": {
|
|
110
|
-
"node": ">=
|
|
189
|
+
"node": ">=24"
|
|
111
190
|
},
|
|
112
191
|
"engineStrict": true,
|
|
113
192
|
"publishConfig": {
|
|
114
193
|
"access": "restricted"
|
|
194
|
+
},
|
|
195
|
+
"scripts": {
|
|
196
|
+
"build-tests": "tsc --noEmit --lib dom,esnext",
|
|
197
|
+
"deploy": "echo Deploy not allowed!",
|
|
198
|
+
"deploy3": "echo Deploy3 not allowed!",
|
|
199
|
+
"start": "nodemon",
|
|
200
|
+
"start-esm": "node ./dist/node/index.mjs",
|
|
201
|
+
"test": "vitest run",
|
|
202
|
+
"test:ci": "vitest run",
|
|
203
|
+
"types": "tsc --noEmit -p tsconfig.test.json"
|
|
115
204
|
}
|
|
116
|
-
}
|
|
205
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/healthz/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAiB7C,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,WAAW,CAAW,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/routes/healthz/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
package/src/BridgeActor.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Server } from 'node:http'
|
|
2
|
-
|
|
3
|
-
import { creatable } from '@xylabs/sdk-js'
|
|
4
|
-
import { asBridgeConfigContext, BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
5
|
-
import {
|
|
6
|
-
ActorParamsV3,
|
|
7
|
-
ActorV3,
|
|
8
|
-
XyoGatewayRunner,
|
|
9
|
-
XyoGatewayRunnerMoniker,
|
|
10
|
-
} from '@xyo-network/xl1-sdk'
|
|
11
|
-
|
|
12
|
-
import { getServer } from './server/index.ts'
|
|
13
|
-
|
|
14
|
-
export type BridgeActorParams = ActorParamsV3<{
|
|
15
|
-
config: BridgeConfig
|
|
16
|
-
}>
|
|
17
|
-
|
|
18
|
-
@creatable()
|
|
19
|
-
export class BridgeActor extends ActorV3<BridgeActorParams> {
|
|
20
|
-
protected _gatewayRunner!: XyoGatewayRunner
|
|
21
|
-
private server?: Server
|
|
22
|
-
|
|
23
|
-
protected get gatewayRunner() {
|
|
24
|
-
return this._gatewayRunner
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
override async createHandler() {
|
|
28
|
-
await super.createHandler()
|
|
29
|
-
this._gatewayRunner = await this.locator.getInstance(XyoGatewayRunnerMoniker)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
override async startHandler() {
|
|
33
|
-
await super.startHandler()
|
|
34
|
-
this.stopServer()
|
|
35
|
-
await this.startServer()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
override async stopHandler() {
|
|
39
|
-
await super.stopHandler()
|
|
40
|
-
this.stopServer()
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private async startServer() {
|
|
44
|
-
this.server = await getServer(asBridgeConfigContext(this.context, true), this._gatewayRunner)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
private stopServer() {
|
|
48
|
-
this.server?.close()
|
|
49
|
-
this.server = undefined
|
|
50
|
-
}
|
|
51
|
-
}
|
package/src/config/asChainId.ts
DELETED
package/src/config/asToken.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/sdk-js'
|
|
2
|
-
import { asAddress, assertEx } from '@xylabs/sdk-js'
|
|
3
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
4
|
-
|
|
5
|
-
export const tryGetBridgeEscrowAddress = (config: BridgeConfig): Address | undefined => {
|
|
6
|
-
const address = asAddress(config.escrowAddress)
|
|
7
|
-
return address
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const getBridgeEscrowAddress = (config: BridgeConfig): Address => {
|
|
11
|
-
const address = assertEx(tryGetBridgeEscrowAddress(config), () => `Invalid bridge escrow address: ${config.escrowAddress}`)
|
|
12
|
-
return address
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/sdk-js'
|
|
2
|
-
import { asAddress, assertEx } from '@xylabs/sdk-js'
|
|
3
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
4
|
-
|
|
5
|
-
export const tryGetBridgeFeesAddress = (config: BridgeConfig): Address | undefined => {
|
|
6
|
-
const address = asAddress(config.feesAddress)
|
|
7
|
-
return address
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const getBridgeFeesAddress = (config: BridgeConfig): Address => {
|
|
11
|
-
const address = assertEx(tryGetBridgeFeesAddress(config), () => `Invalid bridge fees address: ${config.feesAddress}`)
|
|
12
|
-
return address
|
|
13
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { BridgeConfig, BridgeSettings } from '@xyo-network/chain-orchestration'
|
|
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: BridgeConfig): 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
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { Address, Promisable } from '@xylabs/sdk-js'
|
|
2
|
-
import { isDefined, isUndefined } from '@xylabs/sdk-js'
|
|
3
|
-
import { HDWallet } from '@xyo-network/sdk-js'
|
|
4
|
-
import type { WalletInstance } from '@xyo-network/wallet-model'
|
|
5
|
-
import type { ActorConfig } from '@xyo-network/xl1-sdk'
|
|
6
|
-
import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from '@xyo-network/xl1-sdk'
|
|
7
|
-
|
|
8
|
-
let accountServiceSingleton: Promisable<WalletInstance> | undefined
|
|
9
|
-
|
|
10
|
-
export const getBridgeWalletAccount = async (config: ActorConfig): Promise<WalletInstance> => {
|
|
11
|
-
if (accountServiceSingleton) return accountServiceSingleton
|
|
12
|
-
let walletPhrase = config.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 (
|
|
30
|
-
getConfigAccount: (config: ActorConfig) => Address | undefined,
|
|
31
|
-
config: ActorConfig,
|
|
32
|
-
): Promise<Address> => {
|
|
33
|
-
const address = getConfigAccount(config)
|
|
34
|
-
if (isDefined(address)) return address
|
|
35
|
-
const walletAccount = await getBridgeWalletAccount(config)
|
|
36
|
-
return walletAccount.address
|
|
37
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
2
|
-
|
|
3
|
-
import type { FeeStructure } from '../util/index.ts'
|
|
4
|
-
|
|
5
|
-
export const getFeeStructure = (config: BridgeConfig): FeeStructure => {
|
|
6
|
-
const { feeFixed, feeRateBasisPoints } = config
|
|
7
|
-
return { feeFixed, feeRateBasisPoints }
|
|
8
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
3
|
-
import type { ChainId } from '@xyo-network/xl1-sdk'
|
|
4
|
-
|
|
5
|
-
import { asChainId } from './asChainId.ts'
|
|
6
|
-
|
|
7
|
-
export const getRemoteChainId = (config: BridgeConfig): ChainId => {
|
|
8
|
-
const remoteChainId = assertEx(asChainId(config.remoteChainId), () => 'Invalid remote chain ID in config')
|
|
9
|
-
return remoteChainId
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/sdk-js'
|
|
2
|
-
import { assertEx } from '@xylabs/sdk-js'
|
|
3
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
4
|
-
|
|
5
|
-
import { asToken } from './asToken.ts'
|
|
6
|
-
|
|
7
|
-
export const getRemoteTokenAddress = (config: BridgeConfig): Address => {
|
|
8
|
-
const token = asToken(config.remoteTokenAddress)
|
|
9
|
-
return assertEx(token, () => 'Remote token address is not defined in bridge configuration')
|
|
10
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { assertEx, isDefined } from '@xylabs/sdk-js'
|
|
2
|
-
import { basicRemoteRunnerLocator, type BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
3
|
-
import { HDWallet } from '@xyo-network/sdk-js'
|
|
4
|
-
import type { XyoGatewayRunner } from '@xyo-network/xl1-sdk'
|
|
5
|
-
import {
|
|
6
|
-
ADDRESS_INDEX, generateXyoBaseWalletFromPhrase, HttpRpcRemoteConfigZod, XyoGatewayRunnerMoniker,
|
|
7
|
-
} from '@xyo-network/xl1-sdk'
|
|
8
|
-
|
|
9
|
-
let gatewayInstance: XyoGatewayRunner | undefined
|
|
10
|
-
|
|
11
|
-
export const getTestGateway = async (config: BridgeConfig): Promise<XyoGatewayRunner> => {
|
|
12
|
-
if (isDefined(gatewayInstance)) return gatewayInstance
|
|
13
|
-
const { mnemonic } = config
|
|
14
|
-
const httpRpcConfig = HttpRpcRemoteConfigZod.safeParse(config.remote?.rpc)
|
|
15
|
-
const endpoint = assertEx(
|
|
16
|
-
httpRpcConfig.success ? assertEx(httpRpcConfig.data.url, () => 'RPC URL is required for gateway [no httpConfig]') : undefined,
|
|
17
|
-
() => 'RPC URL is required for gateway',
|
|
18
|
-
)
|
|
19
|
-
const walletPhrase = isDefined(mnemonic) ? mnemonic : HDWallet.generateMnemonic()
|
|
20
|
-
const wallet = await generateXyoBaseWalletFromPhrase(walletPhrase)
|
|
21
|
-
const signerAccount = await wallet.derivePath(ADDRESS_INDEX.XYO)
|
|
22
|
-
const locator = await basicRemoteRunnerLocator('test', { rpc: { protocol: 'http', url: endpoint } }, signerAccount)
|
|
23
|
-
return await locator.getInstance<XyoGatewayRunner>(XyoGatewayRunnerMoniker)
|
|
24
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Address } from '@xylabs/sdk-js'
|
|
2
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
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: BridgeConfig): 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
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { assertEx, isDefined } from '@xylabs/sdk-js'
|
|
2
|
-
import type { BridgeConfig } from '@xyo-network/chain-orchestration'
|
|
3
|
-
import type { ChainId } from '@xyo-network/xl1-sdk'
|
|
4
|
-
|
|
5
|
-
import { asChainId } from './asChainId.ts'
|
|
6
|
-
|
|
7
|
-
export const getXl1ChainId = (config: BridgeConfig): ChainId => {
|
|
8
|
-
const xl1ChainId = config.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
|
-
}
|