@xyo-network/chain-bridge 1.19.10 → 1.19.11

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.
@@ -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,CASzE,CAAA"}
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"}
@@ -136,7 +136,7 @@ var EthTransactionPreparation = {
136
136
  };
137
137
 
138
138
  // src/queue/workers/EthTransactionSubmission.ts
139
- import { assertEx as assertEx5, isDefined as isDefined3 } from "@xylabs/sdk-js";
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 { assertEx as assertEx4 } from "@xylabs/sdk-js";
160
+ import { isAllowedBlockPayload } from "@xyo-network/xl1-sdk";
161
161
  var submitXl1Transaction = /* @__PURE__ */ __name(async (preparedTx, gateway) => {
162
- const runner = assertEx4(gateway.connection.runner, () => "No runner available on gateway connection");
163
- const result = await runner.broadcastTransaction(preparedTx);
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 = assertEx5(services?.bridge, () => "bridge service not provided");
175
- const bridgeableToken = assertEx5(services?.bridgeableToken, () => "bridgeableToken service not provided");
176
- const wallet = assertEx5(services?.wallet, () => "wallet service not provided");
177
- const stateMap = assertEx5(services?.ethTxStateMap, () => "ethTxStateMap service not provided");
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 = assertEx5(await stateMap.get(hash), () => `[${hash}] state not found`);
182
- const preparedTx = assertEx5(state?.preparedTx, () => `[${hash}] preparedTx not found`);
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 = assertEx5(await submitEthTransaction(tx, bridgeableToken, bridge, wallet), () => `[${hash}] submissionHash not found in receipt`);
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 assertEx6, isDefined as isDefined4, isNull } from "@xylabs/sdk-js";
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 = assertEx6(services?.gateway, () => "gateway service not provided");
252
- const stateMap = assertEx6(services?.xl1TxStateMap, () => "xl1TxStateMap service not provided");
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 = assertEx6(gateway.connection.viewer, () => `[${hash}] viewer not defined on gateway`);
257
- const state = assertEx6(await stateMap.get(hash), () => `[${hash}] state not found`);
258
- const submissionHash = assertEx6(state?.submissionHash, () => `[${hash}] submissionHash not found`);
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 assertEx7 } from "@xylabs/sdk-js";
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 = assertEx7(services?.xl1TxStateMap, () => "xl1TxStateMap service not provided");
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 assertEx8, isDefined as isDefined5 } from "@xylabs/sdk-js";
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 = assertEx8(services?.gateway, () => "gateway service not provided");
334
- const stateMap = assertEx8(services?.xl1TxStateMap, () => "xl1TxStateMap service not provided");
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 = assertEx8(await stateMap.get(hash), () => `[${hash}] state not found`);
339
- const preparedTx = assertEx8(state?.preparedTx, () => `[${hash}] preparedTx not found`);
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 assertEx9 } from "@xylabs/sdk-js";
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 assertEx10 } from "@xylabs/sdk-js";
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 assertEx11 } from "@xylabs/sdk-js";
532
+ import { assertEx as assertEx10 } from "@xylabs/sdk-js";
536
533
  var getRemoteChainId = /* @__PURE__ */ __name((config) => {
537
- const remoteChainId = assertEx11(asChainId(config.actors.bridge.remoteChainId), () => "Invalid remote chain ID in config");
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 assertEx12 } from "@xylabs/sdk-js";
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 assertEx12(token, () => "Remote token address is not defined in bridge configuration");
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 assertEx13, isDefined as isDefined7 } from "@xylabs/sdk-js";
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 assertEx13(asChainId(xl1ChainId), () => "Invalid xl1ChainId in bridge config");
584
+ return assertEx12(asChainId(xl1ChainId), () => "Invalid xl1ChainId in bridge config");
588
585
  }
589
- return assertEx13(asChainId(config.chain.id), () => "Invalid chain.id in config");
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 assertEx14, toAddress as toAddress3 } from "@xylabs/sdk-js";
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 = assertEx14(gateway.connection.viewer, () => new Error("Viewer not available on gateway connection"));
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 assertEx17, isDefined as isDefined12 } from "@xylabs/sdk-js";
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 assertEx15, delay, hexFromBigInt, hexToBigInt as hexToBigInt5, isDefined as isDefined10, isUndefined as isUndefined4 } from "@xylabs/sdk-js";
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 assertEx15(this._bridge, () => new Error("Bridge contract not initialized"));
1108
+ return assertEx14(this._bridge, () => new Error("Bridge contract not initialized"));
1112
1109
  }
1113
1110
  get completedTransactions() {
1114
- return assertEx15(this.params.completedTransactions, () => "Completed transactions map is not defined");
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 assertEx15(this.params.pendingTransactions, () => "Pending transactions map is not defined");
1117
+ return assertEx14(this.params.pendingTransactions, () => "Pending transactions map is not defined");
1121
1118
  }
1122
1119
  get wallet() {
1123
- return assertEx15(this._wallet, () => "wallet is required");
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 = assertEx15(this.account?.private?.hex, () => new Error("Account private key is required"));
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 = assertEx15(hexFromBigInt(network.chainId), () => new Error("Failed to parse 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 assertEx16, delay as delay2, isDefined as isDefined11, isNull as isNull2, isUndefined as isUndefined5 } from "@xylabs/sdk-js";
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 assertEx16(this.params.completedTransactions, () => "Completed transactions map is not defined");
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 assertEx16(this.params.pendingTransactions, () => "Pending transactions map is not defined");
1259
+ return assertEx15(this.params.pendingTransactions, () => "Pending transactions map is not defined");
1263
1260
  }
1264
1261
  get viewer() {
1265
- return assertEx16(this.params.viewer, () => "Viewer is not defined in params");
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 = assertEx17(gateway.connection.viewer, () => "Gateway viewer is not defined");
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 { chainRpcApiUrl: endpoint } = config.actors.bridge;
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({