@xyo-network/chain-bridge 1.19.10 → 1.19.12
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/getGateway.d.ts.map +1 -1
- package/dist/node/index.mjs +51 -53
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/manifest/getNode.d.ts +1 -1
- package/dist/node/manifest/getNode.d.ts.map +1 -1
- package/dist/node/queue/workers/util/submitXl1Transaction.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/config/getGateway.ts +3 -2
- package/src/manifest/getNode.ts +2 -2
- package/src/queue/workers/util/submitXl1Transaction.ts +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGateway.d.ts","sourceRoot":"","sources":["../../../src/config/getGateway.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAAkC,gBAAgB,EACzD,MAAM,sBAAsB,CAAA;AAO7B,eAAO,MAAM,UAAU,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"getGateway.d.ts","sourceRoot":"","sources":["../../../src/config/getGateway.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAAkC,gBAAgB,EACzD,MAAM,sBAAsB,CAAA;AAO7B,eAAO,MAAM,UAAU,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAUzE,CAAA"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -136,7 +136,7 @@ var EthTransactionPreparation = {
|
|
|
136
136
|
};
|
|
137
137
|
|
|
138
138
|
// src/queue/workers/EthTransactionSubmission.ts
|
|
139
|
-
import { assertEx as
|
|
139
|
+
import { assertEx as assertEx4, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
140
140
|
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
141
141
|
import { Worker as Worker3 } from "bullmq";
|
|
142
142
|
|
|
@@ -157,29 +157,26 @@ var submitEthTransaction = /* @__PURE__ */ __name(async (tx, bridgeableToken, br
|
|
|
157
157
|
}, "submitEthTransaction");
|
|
158
158
|
|
|
159
159
|
// src/queue/workers/util/submitXl1Transaction.ts
|
|
160
|
-
import {
|
|
160
|
+
import { isAllowedBlockPayload } from "@xyo-network/xl1-sdk";
|
|
161
161
|
var submitXl1Transaction = /* @__PURE__ */ __name(async (preparedTx, gateway) => {
|
|
162
|
-
const
|
|
163
|
-
const result = await
|
|
164
|
-
return
|
|
165
|
-
result,
|
|
166
|
-
preparedTx
|
|
167
|
-
];
|
|
162
|
+
const offChainPayloads = preparedTx[1].filter((p) => !isAllowedBlockPayload(p));
|
|
163
|
+
const result = await gateway.addTransactionToChain(preparedTx, offChainPayloads);
|
|
164
|
+
return result;
|
|
168
165
|
}, "submitXl1Transaction");
|
|
169
166
|
|
|
170
167
|
// src/queue/workers/EthTransactionSubmission.ts
|
|
171
168
|
var name3 = "Submit ETH Transaction";
|
|
172
169
|
var queueName3 = "eth-tx-submit";
|
|
173
170
|
var createWorker3 = /* @__PURE__ */ __name((connection2, services) => {
|
|
174
|
-
const bridge =
|
|
175
|
-
const bridgeableToken =
|
|
176
|
-
const wallet =
|
|
177
|
-
const stateMap =
|
|
171
|
+
const bridge = assertEx4(services?.bridge, () => "bridge service not provided");
|
|
172
|
+
const bridgeableToken = assertEx4(services?.bridgeableToken, () => "bridgeableToken service not provided");
|
|
173
|
+
const wallet = assertEx4(services?.wallet, () => "wallet service not provided");
|
|
174
|
+
const stateMap = assertEx4(services?.ethTxStateMap, () => "ethTxStateMap service not provided");
|
|
178
175
|
const worker = new Worker3(queueName3, async (job) => {
|
|
179
176
|
const { tx } = job.data;
|
|
180
177
|
const hash = await PayloadBuilder4.hash(tx[0]);
|
|
181
|
-
const state =
|
|
182
|
-
const preparedTx =
|
|
178
|
+
const state = assertEx4(await stateMap.get(hash), () => `[${hash}] state not found`);
|
|
179
|
+
const preparedTx = assertEx4(state?.preparedTx, () => `[${hash}] preparedTx not found`);
|
|
183
180
|
const { submissionHash: existingSubmissionHash } = state;
|
|
184
181
|
if (isDefined3(existingSubmissionHash)) {
|
|
185
182
|
await job.log(`[${hash}] Tx already submitted with submission response hash ${existingSubmissionHash}`);
|
|
@@ -188,7 +185,7 @@ var createWorker3 = /* @__PURE__ */ __name((connection2, services) => {
|
|
|
188
185
|
};
|
|
189
186
|
}
|
|
190
187
|
await job.log(`[${hash}] Submitting ETH tx`);
|
|
191
|
-
const submissionHash =
|
|
188
|
+
const submissionHash = assertEx4(await submitEthTransaction(tx, bridgeableToken, bridge, wallet), () => `[${hash}] submissionHash not found in receipt`);
|
|
192
189
|
await job.log(`[${hash}] Submitted ETH tx and received submission response hash ${submissionHash}`);
|
|
193
190
|
await job.log(`[${hash}] Storing ETH submissionHash`);
|
|
194
191
|
state.submissionHash = submissionHash;
|
|
@@ -242,20 +239,20 @@ var Xl1ToEthBridgeParent = {
|
|
|
242
239
|
};
|
|
243
240
|
|
|
244
241
|
// src/queue/workers/Xl1TransactionMonitor.ts
|
|
245
|
-
import { assertEx as
|
|
242
|
+
import { assertEx as assertEx5, isDefined as isDefined4, isNull } from "@xylabs/sdk-js";
|
|
246
243
|
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
247
244
|
import { UnrecoverableError, Worker as Worker5 } from "bullmq";
|
|
248
245
|
var name5 = "Monitor Submitted XL1 Transaction";
|
|
249
246
|
var queueName5 = "xl1-tx-monitor";
|
|
250
247
|
var createWorker5 = /* @__PURE__ */ __name((connection2, services) => {
|
|
251
|
-
const gateway =
|
|
252
|
-
const stateMap =
|
|
248
|
+
const gateway = assertEx5(services?.gateway, () => "gateway service not provided");
|
|
249
|
+
const stateMap = assertEx5(services?.xl1TxStateMap, () => "xl1TxStateMap service not provided");
|
|
253
250
|
const worker = new Worker5(queueName5, async (job) => {
|
|
254
251
|
const { tx } = job.data;
|
|
255
252
|
const hash = await PayloadBuilder5.hash(tx[0]);
|
|
256
|
-
const viewer =
|
|
257
|
-
const state =
|
|
258
|
-
const submissionHash =
|
|
253
|
+
const viewer = assertEx5(gateway.connection.viewer, () => `[${hash}] viewer not defined on gateway`);
|
|
254
|
+
const state = assertEx5(await stateMap.get(hash), () => `[${hash}] state not found`);
|
|
255
|
+
const submissionHash = assertEx5(state?.submissionHash, () => `[${hash}] submissionHash not found`);
|
|
259
256
|
await job.log(`[${hash}] Checking for XL1 transaction inclusion on chain`);
|
|
260
257
|
const foundTx = await viewer.transactionByHash(submissionHash);
|
|
261
258
|
if (isDefined4(foundTx) && !isNull(foundTx)) {
|
|
@@ -288,13 +285,13 @@ var Xl1TransactionMonitor = {
|
|
|
288
285
|
};
|
|
289
286
|
|
|
290
287
|
// src/queue/workers/Xl1TransactionPreparation.ts
|
|
291
|
-
import { assertEx as
|
|
288
|
+
import { assertEx as assertEx6 } from "@xylabs/sdk-js";
|
|
292
289
|
import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/payload-builder";
|
|
293
290
|
import { Worker as Worker6 } from "bullmq";
|
|
294
291
|
var name6 = "Prepare XL1 Transaction";
|
|
295
292
|
var queueName6 = "xl1-tx-prepare";
|
|
296
293
|
var createWorker6 = /* @__PURE__ */ __name((connection2, services) => {
|
|
297
|
-
const stateMap =
|
|
294
|
+
const stateMap = assertEx6(services?.xl1TxStateMap, () => "xl1TxStateMap service not provided");
|
|
298
295
|
const worker = new Worker6(queueName6, async (job) => {
|
|
299
296
|
const { tx } = job.data;
|
|
300
297
|
const hash = await PayloadBuilder6.hash(tx[0]);
|
|
@@ -324,19 +321,19 @@ var Xl1TransactionPreparation = {
|
|
|
324
321
|
};
|
|
325
322
|
|
|
326
323
|
// src/queue/workers/Xl1TransactionSubmission.ts
|
|
327
|
-
import { assertEx as
|
|
324
|
+
import { assertEx as assertEx7, isDefined as isDefined5 } from "@xylabs/sdk-js";
|
|
328
325
|
import { PayloadBuilder as PayloadBuilder7 } from "@xyo-network/payload-builder";
|
|
329
326
|
import { Worker as Worker7 } from "bullmq";
|
|
330
327
|
var name7 = "Submit XL1 Transaction";
|
|
331
328
|
var queueName7 = "xl1-tx-submit";
|
|
332
329
|
var createWorker7 = /* @__PURE__ */ __name((connection2, services) => {
|
|
333
|
-
const gateway =
|
|
334
|
-
const stateMap =
|
|
330
|
+
const gateway = assertEx7(services?.gateway, () => "gateway service not provided");
|
|
331
|
+
const stateMap = assertEx7(services?.xl1TxStateMap, () => "xl1TxStateMap service not provided");
|
|
335
332
|
const worker = new Worker7(queueName7, async (job) => {
|
|
336
333
|
const { tx } = job.data;
|
|
337
334
|
const hash = await PayloadBuilder7.hash(tx[0]);
|
|
338
|
-
const state =
|
|
339
|
-
const preparedTx =
|
|
335
|
+
const state = assertEx7(await stateMap.get(hash), () => `[${hash}] state not found`);
|
|
336
|
+
const preparedTx = assertEx7(state?.preparedTx, () => `[${hash}] preparedTx not found`);
|
|
340
337
|
const { submissionHash: existingSubmissionHash } = state;
|
|
341
338
|
if (isDefined5(existingSubmissionHash)) {
|
|
342
339
|
await job.log(`[${hash}] Tx already submitted with submission response hash ${existingSubmissionHash}`);
|
|
@@ -497,14 +494,14 @@ var asToken = /* @__PURE__ */ __name((value) => {
|
|
|
497
494
|
}, "asToken");
|
|
498
495
|
|
|
499
496
|
// src/config/getBridgeEscrowAddress.ts
|
|
500
|
-
import { asAddress as asAddress2, assertEx as
|
|
497
|
+
import { asAddress as asAddress2, assertEx as assertEx8 } from "@xylabs/sdk-js";
|
|
501
498
|
var tryGetBridgeEscrowAddress = /* @__PURE__ */ __name((config) => {
|
|
502
499
|
const address = asAddress2(config.actors.bridge.escrowAddress);
|
|
503
500
|
return address;
|
|
504
501
|
}, "tryGetBridgeEscrowAddress");
|
|
505
502
|
|
|
506
503
|
// src/config/getBridgeFeesAddress.ts
|
|
507
|
-
import { asAddress as asAddress3, assertEx as
|
|
504
|
+
import { asAddress as asAddress3, assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
508
505
|
var tryGetBridgeFeesAddress = /* @__PURE__ */ __name((config) => {
|
|
509
506
|
const address = asAddress3(config.actors.bridge.feesAddress);
|
|
510
507
|
return address;
|
|
@@ -532,17 +529,17 @@ var getMinBridgeAmount = /* @__PURE__ */ __name((config) => {
|
|
|
532
529
|
}, "getMinBridgeAmount");
|
|
533
530
|
|
|
534
531
|
// src/config/getRemoteChainId.ts
|
|
535
|
-
import { assertEx as
|
|
532
|
+
import { assertEx as assertEx10 } from "@xylabs/sdk-js";
|
|
536
533
|
var getRemoteChainId = /* @__PURE__ */ __name((config) => {
|
|
537
|
-
const remoteChainId =
|
|
534
|
+
const remoteChainId = assertEx10(asChainId(config.actors.bridge.remoteChainId), () => "Invalid remote chain ID in config");
|
|
538
535
|
return remoteChainId;
|
|
539
536
|
}, "getRemoteChainId");
|
|
540
537
|
|
|
541
538
|
// src/config/getRemoteTokenAddress.ts
|
|
542
|
-
import { assertEx as
|
|
539
|
+
import { assertEx as assertEx11 } from "@xylabs/sdk-js";
|
|
543
540
|
var getRemoteTokenAddress = /* @__PURE__ */ __name((config) => {
|
|
544
541
|
const token = asToken(config.actors.bridge.remoteTokenAddress);
|
|
545
|
-
return
|
|
542
|
+
return assertEx11(token, () => "Remote token address is not defined in bridge configuration");
|
|
546
543
|
}, "getRemoteTokenAddress");
|
|
547
544
|
|
|
548
545
|
// src/config/getBridgeWalletAccount.ts
|
|
@@ -580,13 +577,13 @@ var getTransferAddresses = /* @__PURE__ */ __name(async (config) => {
|
|
|
580
577
|
}, "getTransferAddresses");
|
|
581
578
|
|
|
582
579
|
// src/config/getXl1ChainId.ts
|
|
583
|
-
import { assertEx as
|
|
580
|
+
import { assertEx as assertEx12, isDefined as isDefined7 } from "@xylabs/sdk-js";
|
|
584
581
|
var getXl1ChainId = /* @__PURE__ */ __name((config) => {
|
|
585
582
|
const xl1ChainId = config.actors.bridge.xl1ChainId;
|
|
586
583
|
if (isDefined7(xl1ChainId)) {
|
|
587
|
-
return
|
|
584
|
+
return assertEx12(asChainId(xl1ChainId), () => "Invalid xl1ChainId in bridge config");
|
|
588
585
|
}
|
|
589
|
-
return
|
|
586
|
+
return assertEx12(asChainId(config.chain.id), () => "Invalid chain.id in config");
|
|
590
587
|
}, "getXl1ChainId");
|
|
591
588
|
|
|
592
589
|
// src/config/getXl1TokenAddress.ts
|
|
@@ -873,7 +870,7 @@ var makeBridgeToRemoteRoute = /* @__PURE__ */ __name((config) => {
|
|
|
873
870
|
|
|
874
871
|
// src/server/routes/bridge/routeDefinitions/routes/bridgeToRemoteEstimate.ts
|
|
875
872
|
import { requestHandlerValidator as requestHandlerValidator4 } from "@xylabs/express";
|
|
876
|
-
import { assertEx as
|
|
873
|
+
import { assertEx as assertEx13, toAddress as toAddress3 } from "@xylabs/sdk-js";
|
|
877
874
|
import { PayloadZodStrictOfSchema as PayloadZodStrictOfSchema3 } from "@xyo-network/payload-model";
|
|
878
875
|
import { BridgeIntentFieldsZod as BridgeIntentFieldsZod2, BridgeIntentSchema as BridgeIntentSchema3, buildUnsignedTransaction, toXL1BlockNumber, TransactionBoundWitnessZod, TransferZod as TransferZod2 } from "@xyo-network/xl1-sdk";
|
|
879
876
|
import { z as z3 } from "zod";
|
|
@@ -904,7 +901,7 @@ var makeBridgeToRemoteEstimateRoute = /* @__PURE__ */ __name((config, gateway) =
|
|
|
904
901
|
const { srcAddress, srcAmount, destAddress } = req.body;
|
|
905
902
|
const [bridgeIntent, transfer] = await generateBridgeEstimate(srcAddress, srcAmount, destAddress, config);
|
|
906
903
|
const sender = toAddress3(srcAddress);
|
|
907
|
-
const viewer =
|
|
904
|
+
const viewer = assertEx13(gateway.connection.viewer, () => new Error("Viewer not available on gateway connection"));
|
|
908
905
|
const currentBlockNumber = await viewer.currentBlockNumber();
|
|
909
906
|
const nbf = toXL1BlockNumber(currentBlockNumber, true);
|
|
910
907
|
const exp = toXL1BlockNumber(currentBlockNumber + 1e3, true);
|
|
@@ -1065,7 +1062,7 @@ import { HDWallet as HDWallet3 } from "@xyo-network/wallet";
|
|
|
1065
1062
|
|
|
1066
1063
|
// src/manifest/getModuleLocator.ts
|
|
1067
1064
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
1068
|
-
import { assertEx as
|
|
1065
|
+
import { assertEx as assertEx16, isDefined as isDefined12 } from "@xylabs/sdk-js";
|
|
1069
1066
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
1070
1067
|
import { MongoDBArchivistV2 } from "@xyo-network/archivist-mongodb";
|
|
1071
1068
|
import { ViewArchivist } from "@xyo-network/archivist-view";
|
|
@@ -1078,7 +1075,7 @@ import { MemorySentinel } from "@xyo-network/sentinel-memory";
|
|
|
1078
1075
|
import { hasMongoConfig, mapToMapType, XyoGatewayRunnerMoniker } from "@xyo-network/xl1-sdk";
|
|
1079
1076
|
|
|
1080
1077
|
// src/modules/EVMLiquidityBridgeTransactionCompletionMonitorSentinel/EVMLiquidityBridgeTransactionCompletionMonitorSentinel.ts
|
|
1081
|
-
import { asAddress as asAddress6, asHex as asHex4, assertEx as
|
|
1078
|
+
import { asAddress as asAddress6, asHex as asHex4, assertEx as assertEx14, delay, hexFromBigInt, hexToBigInt as hexToBigInt5, isDefined as isDefined10, isUndefined as isUndefined4 } from "@xylabs/sdk-js";
|
|
1082
1079
|
import { PayloadBuilder as PayloadBuilder12 } from "@xyo-network/payload-builder";
|
|
1083
1080
|
import { asSchema } from "@xyo-network/payload-model";
|
|
1084
1081
|
import { AbstractSentinel } from "@xyo-network/sentinel-abstract";
|
|
@@ -1108,19 +1105,19 @@ var EVMLiquidityBridgeTransactionCompletionMonitorSentinel = class extends Abstr
|
|
|
1108
1105
|
_successCounter;
|
|
1109
1106
|
_wallet;
|
|
1110
1107
|
get bridge() {
|
|
1111
|
-
return
|
|
1108
|
+
return assertEx14(this._bridge, () => new Error("Bridge contract not initialized"));
|
|
1112
1109
|
}
|
|
1113
1110
|
get completedTransactions() {
|
|
1114
|
-
return
|
|
1111
|
+
return assertEx14(this.params.completedTransactions, () => "Completed transactions map is not defined");
|
|
1115
1112
|
}
|
|
1116
1113
|
get jobCheckInterval() {
|
|
1117
1114
|
return isDefined10(this.config.jobCheckInterval) ? this.config.jobCheckInterval : defaultJobCheckIntervalMs;
|
|
1118
1115
|
}
|
|
1119
1116
|
get pendingTransactions() {
|
|
1120
|
-
return
|
|
1117
|
+
return assertEx14(this.params.pendingTransactions, () => "Pending transactions map is not defined");
|
|
1121
1118
|
}
|
|
1122
1119
|
get wallet() {
|
|
1123
|
-
return
|
|
1120
|
+
return assertEx14(this._wallet, () => "wallet is required");
|
|
1124
1121
|
}
|
|
1125
1122
|
async createHandler() {
|
|
1126
1123
|
await super.createHandler();
|
|
@@ -1137,11 +1134,11 @@ var EVMLiquidityBridgeTransactionCompletionMonitorSentinel = class extends Abstr
|
|
|
1137
1134
|
description: "Number of errors"
|
|
1138
1135
|
});
|
|
1139
1136
|
const { provider, bridgeAddress } = this.params;
|
|
1140
|
-
const key =
|
|
1137
|
+
const key = assertEx14(this.account?.private?.hex, () => new Error("Account private key is required"));
|
|
1141
1138
|
this._wallet = new Wallet(key, provider);
|
|
1142
1139
|
this._bridge = LiquidityPoolBridge__factory.connect(getAddress2(bridgeAddress), this._wallet);
|
|
1143
1140
|
const network = await provider.getNetwork();
|
|
1144
|
-
this._bridgeChainId =
|
|
1141
|
+
this._bridgeChainId = assertEx14(hexFromBigInt(network.chainId), () => new Error("Failed to parse bridgeChainId"));
|
|
1145
1142
|
const tokenAddress = await this.bridge.token();
|
|
1146
1143
|
this._bridgeTokenAddress = asAddress6(tokenAddress, true);
|
|
1147
1144
|
const bridgeRemoteChain = await this.bridge.remoteChain();
|
|
@@ -1231,7 +1228,7 @@ var EVMLiquidityBridgeTransactionCompletionMonitorSentinel = class extends Abstr
|
|
|
1231
1228
|
};
|
|
1232
1229
|
|
|
1233
1230
|
// src/modules/XL1TransactionCompletionMonitorSentinel/XL1TransactionCompletionMonitorSentinel.ts
|
|
1234
|
-
import { assertEx as
|
|
1231
|
+
import { assertEx as assertEx15, delay as delay2, isDefined as isDefined11, isNull as isNull2, isUndefined as isUndefined5 } from "@xylabs/sdk-js";
|
|
1235
1232
|
import { PayloadBuilder as PayloadBuilder13 } from "@xyo-network/payload-builder";
|
|
1236
1233
|
import { asSchema as asSchema2 } from "@xyo-network/payload-model";
|
|
1237
1234
|
import { AbstractSentinel as AbstractSentinel2 } from "@xyo-network/sentinel-abstract";
|
|
@@ -1253,16 +1250,16 @@ var XL1TransactionCompletionMonitorSentinel = class extends AbstractSentinel2 {
|
|
|
1253
1250
|
_reportMutex = new Mutex2();
|
|
1254
1251
|
_successCounter;
|
|
1255
1252
|
get completedTransactions() {
|
|
1256
|
-
return
|
|
1253
|
+
return assertEx15(this.params.completedTransactions, () => "Completed transactions map is not defined");
|
|
1257
1254
|
}
|
|
1258
1255
|
get jobCheckInterval() {
|
|
1259
1256
|
return isDefined11(this.config.jobCheckInterval) ? this.config.jobCheckInterval : defaultJobCheckIntervalMs2;
|
|
1260
1257
|
}
|
|
1261
1258
|
get pendingTransactions() {
|
|
1262
|
-
return
|
|
1259
|
+
return assertEx15(this.params.pendingTransactions, () => "Pending transactions map is not defined");
|
|
1263
1260
|
}
|
|
1264
1261
|
get viewer() {
|
|
1265
|
-
return
|
|
1262
|
+
return assertEx15(this.params.viewer, () => "Viewer is not defined in params");
|
|
1266
1263
|
}
|
|
1267
1264
|
async createHandler() {
|
|
1268
1265
|
await super.createHandler();
|
|
@@ -1400,7 +1397,7 @@ var getModuleLocator = /* @__PURE__ */ __name(async (context) => {
|
|
|
1400
1397
|
statusReporter
|
|
1401
1398
|
}));
|
|
1402
1399
|
const gateway = await locator.getInstance(XyoGatewayRunnerMoniker);
|
|
1403
|
-
const viewer =
|
|
1400
|
+
const viewer = assertEx16(gateway.connection.viewer, () => "Gateway viewer is not defined");
|
|
1404
1401
|
const pendingXl1ToEthXl1BridgeIntentTransactions = await getIterableMap(config, "liquidity_bridge_xl1_to_eth_xl1_pending");
|
|
1405
1402
|
const completedXl1ToEthXl1BridgeIntentTransactions = await getIterableMap(config, "liquidity_bridge_xl1_to_eth_xl1_completed");
|
|
1406
1403
|
const xl1TransactionCompletionMonitorSentinelParams = {
|
|
@@ -1464,6 +1461,7 @@ var getIterableMap = /* @__PURE__ */ __name(async (config, collection) => {
|
|
|
1464
1461
|
}, "getIterableMap");
|
|
1465
1462
|
|
|
1466
1463
|
// src/manifest/getNode.ts
|
|
1464
|
+
import { assertEx as assertEx17 } from "@xylabs/sdk-js";
|
|
1467
1465
|
import { ManifestWrapper } from "@xyo-network/manifest-wrapper";
|
|
1468
1466
|
import { buildJsonRpcProviderLocator, HttpRpcTransport } from "@xyo-network/xl1-sdk";
|
|
1469
1467
|
|
|
@@ -1492,7 +1490,7 @@ var NodeManifest = node_default;
|
|
|
1492
1490
|
// src/manifest/getNode.ts
|
|
1493
1491
|
var getNode = /* @__PURE__ */ __name(async (context) => {
|
|
1494
1492
|
const { config, wallet } = context;
|
|
1495
|
-
const
|
|
1493
|
+
const endpoint = assertEx17(config.actors.bridge.remote?.rpc?.url ?? config.remote?.rpc?.url, () => "RPC URL is required for Node");
|
|
1496
1494
|
const transportFactory = /* @__PURE__ */ __name((schemas) => new HttpRpcTransport(endpoint, schemas), "transportFactory");
|
|
1497
1495
|
const signerAccount = await getBridgeWalletAccount(config);
|
|
1498
1496
|
const locator = await buildJsonRpcProviderLocator({
|