@gobob/bob-sdk 6.5.0 → 6.6.0

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.
@@ -2,22 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OkxWalletAdapter = void 0;
4
4
  const esplora_1 = require("../../esplora");
5
+ const types_1 = require("../types");
5
6
  const wallet_1 = require("../../wallet");
7
+ const HEX_FETCH_ATTEMPTS = 5;
8
+ const HEX_FETCH_BASE_DELAY_MS = 1000;
6
9
  class OkxWalletAdapter {
7
10
  walletProvider;
8
11
  constructor(walletProvider) {
9
12
  this.walletProvider = walletProvider;
10
13
  }
11
14
  async sendBitcoin({ from, to, value, opReturn, isSignet, }) {
15
+ const network = (0, wallet_1.getAddressInfo)(to, isSignet || false).network;
16
+ const esploraClient = new esplora_1.EsploraClient(network);
12
17
  const { txhash } = await this.walletProvider.send({
13
18
  from,
14
19
  to,
15
20
  value,
16
21
  memo: opReturn,
17
22
  });
18
- const network = (0, wallet_1.getAddressInfo)(to, isSignet || false).network;
19
- const esploraClient = new esplora_1.EsploraClient(network);
20
- return esploraClient.getTransactionHex(txhash);
23
+ for (let attempt = 1;; attempt++) {
24
+ try {
25
+ return await esploraClient.getTransactionHex(txhash);
26
+ }
27
+ catch (error) {
28
+ if (attempt === HEX_FETCH_ATTEMPTS) {
29
+ throw new types_1.BitcoinBroadcastError(txhash, `Sent Bitcoin transaction ${txhash}, but could not fetch its raw hex`, { cause: error });
30
+ }
31
+ await new Promise((resolve) => setTimeout(resolve, HEX_FETCH_BASE_DELAY_MS * 2 ** (attempt - 1)));
32
+ }
33
+ }
21
34
  }
22
35
  }
23
36
  exports.OkxWalletAdapter = OkxWalletAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"okx-wallet.js","sourceRoot":"","sources":["../../../src/gateway/adapters/okx-wallet.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,yCAA8C;AAO9C,MAAa,gBAAgB;IACzB,cAAc,CAAoB;IAElC,YAAY,cAAiC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EACd,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,GAOX;QACG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC9C,IAAI;YACJ,EAAE;YACF,KAAK;YACL,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,EAAE,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ;AA/BD,4CA+BC"}
1
+ {"version":3,"file":"okx-wallet.js","sourceRoot":"","sources":["../../../src/gateway/adapters/okx-wallet.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAC9C,oCAAgE;AAChE,yCAA8C;AAG9C,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAOrC,MAAa,gBAAgB;IACzB,cAAc,CAAoB;IAElC,YAAY,cAAiC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EACd,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,GAOX;QAEG,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,EAAE,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC9C,IAAI;YACJ,EAAE;YACF,KAAK;YACL,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,OAAO,MAAM,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;oBACjC,MAAM,IAAI,6BAAqB,CAC3B,MAAM,EACN,4BAA4B,MAAM,mCAAmC,EACrE,EAAE,KAAK,EAAE,KAAK,EAAE,CACnB,CAAC;gBACN,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA/CD,4CA+CC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GatewayApiClient = exports.STAGING_GATEWAY_BASE_URL = exports.MAINNET_GATEWAY_BASE_URL = exports.ETHEREUM_USDT_ADDRESS = void 0;
4
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
4
5
  const viem_1 = require("viem");
5
6
  const abi_1 = require("./abi");
6
7
  const allowance_holder_1 = require("./allowance-holder");
@@ -10,20 +11,95 @@ const types_1 = require("./types");
10
11
  const utils_1 = require("./utils");
11
12
  const RETRY_COUNT = 8;
12
13
  const INSUFFICIENT_FUNDS_MESSAGE = 'Insufficient native funds for source and destination gas fees, please add more native funds to your account';
13
- const EXECUTE_QUOTE_ERROR_MESSAGE = 'Failed to execute Gateway quote after order creation';
14
- function getApprovalErrorMessage(error) {
15
- if (error instanceof viem_1.ContractFunctionExecutionError &&
16
- error.walk((cause) => cause instanceof viem_1.InsufficientFundsError)) {
17
- return INSUFFICIENT_FUNDS_MESSAGE;
14
+ function getInsufficientFundsMessage(error) {
15
+ try {
16
+ const seen = new Set();
17
+ for (let link = error; typeof link === 'object' && link !== null && !seen.has(link);) {
18
+ seen.add(link);
19
+ const { name, cause } = link;
20
+ if (name === 'InsufficientFundsError')
21
+ return INSUFFICIENT_FUNDS_MESSAGE;
22
+ link = cause;
23
+ }
24
+ }
25
+ catch {
18
26
  }
19
27
  return undefined;
20
28
  }
21
- async function simulateApproval(orderId, simulate) {
29
+ function bitcoinSignerError(orderId, error) {
30
+ let txid;
31
+ try {
32
+ const { name, txid: namedTxid } = error;
33
+ if (name === 'BitcoinBroadcastError' && typeof namedTxid === 'string' && namedTxid)
34
+ txid = namedTxid;
35
+ }
36
+ catch {
37
+ }
38
+ return new types_1.ExecuteQuoteError(orderId, undefined, {
39
+ cause: error,
40
+ step: types_1.ExecuteQuoteStepType.SignBitcoinTransaction,
41
+ txHash: txid,
42
+ txStatus: txid ? 'unconfirmed' : undefined,
43
+ });
44
+ }
45
+ async function simulateApproval(orderId, step, simulate) {
22
46
  try {
23
47
  return (await simulate()).request;
24
48
  }
25
49
  catch (error) {
26
- throw new types_1.ExecuteQuoteError(orderId, getApprovalErrorMessage(error), { cause: error });
50
+ throw new types_1.ExecuteQuoteError(orderId, getInsufficientFundsMessage(error), { cause: error, step });
51
+ }
52
+ }
53
+ async function submitTransaction(orderId, step, publicClient, send) {
54
+ let hash;
55
+ try {
56
+ hash = await send();
57
+ }
58
+ catch (error) {
59
+ throw new types_1.ExecuteQuoteError(orderId, getInsufficientFundsMessage(error), { cause: error, step });
60
+ }
61
+ let replacement;
62
+ let receipt;
63
+ try {
64
+ receipt = await publicClient?.waitForTransactionReceipt({
65
+ hash,
66
+ retryCount: RETRY_COUNT,
67
+ onReplaced: (replaced) => {
68
+ replacement = replaced;
69
+ },
70
+ });
71
+ }
72
+ catch (error) {
73
+ throw new types_1.ExecuteQuoteError(orderId, undefined, {
74
+ cause: error,
75
+ step,
76
+ txHash: hash,
77
+ txStatus: 'unconfirmed',
78
+ });
79
+ }
80
+ if (replacement && replacement.reason !== 'repriced') {
81
+ throw new types_1.ExecuteQuoteError(orderId, `Transaction ${replacement.reason} by ${replacement.transaction.hash}`, {
82
+ step,
83
+ txHash: hash,
84
+ txStatus: replacement.reason,
85
+ });
86
+ }
87
+ const minedHash = replacement?.transaction.hash ?? hash;
88
+ if (receipt?.status === 'reverted') {
89
+ throw new types_1.ExecuteQuoteError(orderId, 'Transaction reverted', {
90
+ step,
91
+ txHash: minedHash,
92
+ txStatus: 'reverted',
93
+ });
94
+ }
95
+ return minedHash;
96
+ }
97
+ function bitcoinTxId(txHex) {
98
+ try {
99
+ return bitcoinjs_lib_1.Transaction.fromHex(txHex).getId();
100
+ }
101
+ catch {
102
+ return undefined;
27
103
  }
28
104
  }
29
105
  function signerAccount(walletClient) {
@@ -117,7 +193,7 @@ class GatewayApiClient {
117
193
  });
118
194
  }
119
195
  catch (error) {
120
- throw new types_1.ExecuteQuoteError(orderId, EXECUTE_QUOTE_ERROR_MESSAGE, { cause: error });
196
+ throw bitcoinSignerError(orderId, error);
121
197
  }
122
198
  }
123
199
  else if (btcSigner.signAllInputs) {
@@ -135,7 +211,7 @@ class GatewayApiClient {
135
211
  bitcoinTxHex = await btcSigner.signAllInputs(psbtHex);
136
212
  }
137
213
  catch (error) {
138
- throw new types_1.ExecuteQuoteError(orderId, EXECUTE_QUOTE_ERROR_MESSAGE, { cause: error });
214
+ throw bitcoinSignerError(orderId, error);
139
215
  }
140
216
  }
141
217
  else {
@@ -162,7 +238,12 @@ class GatewayApiClient {
162
238
  }
163
239
  }
164
240
  catch (error) {
165
- throw new types_1.ExecuteQuoteError(orderId, EXECUTE_QUOTE_ERROR_MESSAGE, { cause: error });
241
+ const txid = bitcoinTxId(bitcoinTxHex);
242
+ throw new types_1.ExecuteQuoteError(orderId, undefined, {
243
+ cause: error,
244
+ txHash: txid,
245
+ txStatus: txid ? 'unconfirmed' : undefined,
246
+ });
166
247
  }
167
248
  if (typeof tx === 'string') {
168
249
  return { order, tx };
@@ -211,7 +292,7 @@ class GatewayApiClient {
211
292
  });
212
293
  }
213
294
  catch (error) {
214
- throw new types_1.ExecuteQuoteError(orderId, EXECUTE_QUOTE_ERROR_MESSAGE, { cause: error });
295
+ throw new types_1.ExecuteQuoteError(orderId, undefined, { cause: error });
215
296
  }
216
297
  }
217
298
  }
@@ -224,7 +305,7 @@ class GatewayApiClient {
224
305
  if (needsApproval) {
225
306
  (0, allowance_holder_1.assertAllowanceHolderSpender)(quote.offramp.srcChain, spenderAddress, orderId);
226
307
  if (needsReset) {
227
- const resetRequest = await simulateApproval(orderId, () => publicClient.simulateContract({
308
+ const resetRequest = await simulateApproval(orderId, types_1.ExecuteQuoteStepType.ResetApproval, () => publicClient.simulateContract({
228
309
  account: signerAccount(walletClient),
229
310
  address: tokenAddress,
230
311
  abi: abi_1.USDTApproveAbi,
@@ -232,18 +313,12 @@ class GatewayApiClient {
232
313
  args: [spenderAddress, 0n],
233
314
  }));
234
315
  callback?.({ step: 1, type: types_1.ExecuteQuoteStepType.ResetApproval, totalSteps, orderId });
235
- try {
236
- const resetTxHash = await walletClient.writeContract({
237
- ...resetRequest,
238
- ...signerChain(walletClient, quote.offramp.srcChain),
239
- });
240
- await publicClient.waitForTransactionReceipt({ hash: resetTxHash, retryCount: RETRY_COUNT });
241
- }
242
- catch (error) {
243
- throw new types_1.ExecuteQuoteError(orderId, getApprovalErrorMessage(error), { cause: error });
244
- }
316
+ await submitTransaction(orderId, types_1.ExecuteQuoteStepType.ResetApproval, publicClient, () => walletClient.writeContract({
317
+ ...resetRequest,
318
+ ...signerChain(walletClient, quote.offramp.srcChain),
319
+ }));
245
320
  }
246
- const approveRequest = await simulateApproval(orderId, () => publicClient.simulateContract({
321
+ const approveRequest = await simulateApproval(orderId, types_1.ExecuteQuoteStepType.Approve, () => publicClient.simulateContract({
247
322
  account: signerAccount(walletClient),
248
323
  address: tokenAddress,
249
324
  abi: (0, viem_1.isAddress)(tokenAddress) &&
@@ -254,22 +329,16 @@ class GatewayApiClient {
254
329
  args: [spenderAddress, viem_1.maxUint256],
255
330
  }));
256
331
  callback?.({ step: needsReset ? 2 : 1, type: types_1.ExecuteQuoteStepType.Approve, totalSteps, orderId });
257
- try {
258
- const approveTxHash = await walletClient.writeContract({
259
- ...approveRequest,
260
- ...signerChain(walletClient, quote.offramp.srcChain),
261
- });
262
- await publicClient.waitForTransactionReceipt({ hash: approveTxHash, retryCount: RETRY_COUNT });
263
- }
264
- catch (error) {
265
- throw new types_1.ExecuteQuoteError(orderId, getApprovalErrorMessage(error), { cause: error });
266
- }
332
+ await submitTransaction(orderId, types_1.ExecuteQuoteStepType.Approve, publicClient, () => walletClient.writeContract({
333
+ ...approveRequest,
334
+ ...signerChain(walletClient, quote.offramp.srcChain),
335
+ }));
267
336
  }
268
337
  callback?.({ step: totalSteps, type: types_1.ExecuteQuoteStepType.SendTransaction, totalSteps, orderId });
269
338
  const offrampData = order.offramp.tx.data;
270
- let transactionHash;
271
- try {
272
- const offrampValue = BigInt(order.offramp.tx.value || 0);
339
+ const offrampTxValue = order.offramp.tx.value;
340
+ const transactionHash = await submitTransaction(orderId, types_1.ExecuteQuoteStepType.SendTransaction, publicClient, async () => {
341
+ const offrampValue = BigInt(offrampTxValue || 0);
273
342
  const offrampGas = (0, utils_1.supportsGasEstimation)(quote.offramp.srcChain)
274
343
  ? await (0, utils_1.estimateGasWithBuffer)(publicClient, walletClient.account, {
275
344
  to: spenderAddress,
@@ -277,7 +346,7 @@ class GatewayApiClient {
277
346
  value: offrampValue,
278
347
  })
279
348
  : undefined;
280
- const hash = await walletClient.sendTransaction({
349
+ return walletClient.sendTransaction({
281
350
  ...signerChain(walletClient, quote.offramp.srcChain),
282
351
  account: signerAccount(walletClient),
283
352
  data: offrampData,
@@ -285,12 +354,7 @@ class GatewayApiClient {
285
354
  value: offrampValue,
286
355
  ...(offrampGas !== undefined && { gas: offrampGas }),
287
356
  });
288
- await publicClient?.waitForTransactionReceipt({ hash, retryCount: RETRY_COUNT });
289
- transactionHash = hash;
290
- }
291
- catch (error) {
292
- throw new types_1.ExecuteQuoteError(orderId, EXECUTE_QUOTE_ERROR_MESSAGE, { cause: error });
293
- }
357
+ });
294
358
  return { order, tx: transactionHash };
295
359
  }
296
360
  else if ((0, generated_client_1.instanceOfGatewayQuoteV4OneOf1)(quote)) {
@@ -340,7 +404,7 @@ class GatewayApiClient {
340
404
  if (needsApproval) {
341
405
  (0, allowance_holder_1.assertAllowanceHolderSpender)(quote.tokenSwap.srcChain, receiver, orderId);
342
406
  if (needsReset) {
343
- const resetRequest = await simulateApproval(orderId, () => publicClient.simulateContract({
407
+ const resetRequest = await simulateApproval(orderId, types_1.ExecuteQuoteStepType.ResetApproval, () => publicClient.simulateContract({
344
408
  account: signerAccount(walletClient),
345
409
  address: tokenAddress,
346
410
  abi: abi_1.USDTApproveAbi,
@@ -348,21 +412,12 @@ class GatewayApiClient {
348
412
  args: [receiver, 0n],
349
413
  }));
350
414
  callback?.({ step: 1, type: types_1.ExecuteQuoteStepType.ResetApproval, totalSteps, orderId });
351
- try {
352
- const resetTxHash = await walletClient.writeContract({
353
- ...resetRequest,
354
- ...signerChain(walletClient, quote.tokenSwap.srcChain),
355
- });
356
- await publicClient.waitForTransactionReceipt({
357
- hash: resetTxHash,
358
- retryCount: RETRY_COUNT,
359
- });
360
- }
361
- catch (error) {
362
- throw new types_1.ExecuteQuoteError(orderId, getApprovalErrorMessage(error), { cause: error });
363
- }
415
+ await submitTransaction(orderId, types_1.ExecuteQuoteStepType.ResetApproval, publicClient, () => walletClient.writeContract({
416
+ ...resetRequest,
417
+ ...signerChain(walletClient, quote.tokenSwap.srcChain),
418
+ }));
364
419
  }
365
- const approveRequest = await simulateApproval(orderId, () => publicClient.simulateContract({
420
+ const approveRequest = await simulateApproval(orderId, types_1.ExecuteQuoteStepType.Approve, () => publicClient.simulateContract({
366
421
  account: signerAccount(walletClient),
367
422
  address: tokenAddress,
368
423
  abi: (0, viem_1.isAddress)(tokenAddress) && (0, viem_1.isAddressEqual)(tokenAddress, exports.ETHEREUM_USDT_ADDRESS)
@@ -377,23 +432,17 @@ class GatewayApiClient {
377
432
  totalSteps,
378
433
  orderId,
379
434
  });
380
- try {
381
- const txHash = await walletClient.writeContract({
382
- ...approveRequest,
383
- ...signerChain(walletClient, quote.tokenSwap.srcChain),
384
- });
385
- await publicClient.waitForTransactionReceipt({ hash: txHash, retryCount: RETRY_COUNT });
386
- }
387
- catch (error) {
388
- throw new types_1.ExecuteQuoteError(orderId, getApprovalErrorMessage(error), { cause: error });
389
- }
435
+ await submitTransaction(orderId, types_1.ExecuteQuoteStepType.Approve, publicClient, () => walletClient.writeContract({
436
+ ...approveRequest,
437
+ ...signerChain(walletClient, quote.tokenSwap.srcChain),
438
+ }));
390
439
  }
391
440
  callback?.({ step: totalSteps, type: types_1.ExecuteQuoteStepType.SendTransaction, totalSteps, orderId });
392
441
  const tokenSwapTo = order.tokenSwap.tx.to;
393
442
  const tokenSwapData = order.tokenSwap.tx.data;
394
- let transactionHash;
395
- try {
396
- const tokenSwapValue = BigInt(order.tokenSwap.tx.value || 0);
443
+ const tokenSwapTxValue = order.tokenSwap.tx.value;
444
+ const transactionHash = await submitTransaction(orderId, types_1.ExecuteQuoteStepType.SendTransaction, publicClient, async () => {
445
+ const tokenSwapValue = BigInt(tokenSwapTxValue || 0);
397
446
  const tokenSwapGas = (0, utils_1.supportsGasEstimation)(quote.tokenSwap.srcChain)
398
447
  ? await (0, utils_1.estimateGasWithBuffer)(publicClient, walletClient.account, {
399
448
  to: tokenSwapTo,
@@ -401,7 +450,7 @@ class GatewayApiClient {
401
450
  value: tokenSwapValue,
402
451
  })
403
452
  : undefined;
404
- const hash = await walletClient.sendTransaction({
453
+ return walletClient.sendTransaction({
405
454
  ...signerChain(walletClient, quote.tokenSwap.srcChain),
406
455
  account: signerAccount(walletClient),
407
456
  data: tokenSwapData,
@@ -409,12 +458,7 @@ class GatewayApiClient {
409
458
  value: tokenSwapValue,
410
459
  ...(tokenSwapGas !== undefined && { gas: tokenSwapGas }),
411
460
  });
412
- await publicClient.waitForTransactionReceipt({ hash, retryCount: RETRY_COUNT });
413
- transactionHash = hash;
414
- }
415
- catch (error) {
416
- throw new types_1.ExecuteQuoteError(orderId, EXECUTE_QUOTE_ERROR_MESSAGE, { cause: error });
417
- }
461
+ });
418
462
  return { order, tx: transactionHash };
419
463
  }
420
464
  throw new Error('Invalid quote type');
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":";;;AAAA,+BAec;AACd,+BAA+E;AAC/E,yDAAkE;AAClE,mCAAuC;AACvC,yDAmB4B;AAE5B,mCAOiB;AACjB,mCAAwH;AAExH,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,0BAA0B,GAC5B,6GAA6G,CAAC;AAClH,MAAM,2BAA2B,GAAG,sDAAsD,CAAC;AAI3F,SAAS,uBAAuB,CAAC,KAAc;IAC3C,IACI,KAAK,YAAY,qCAA8B;QAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,6BAAsB,CAAC,EAChE,CAAC;QACC,OAAO,0BAA0B,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAID,KAAK,UAAU,gBAAgB,CAAI,OAAe,EAAE,QAAuC;IACvF,IAAI,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;AACL,CAAC;AAeD,SAAS,aAAa,CAAC,YAAyD;IAC5E,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;AACvG,CAAC;AAGD,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAa9B,SAAS,WAAW,CAAC,YAAyD,EAAE,QAAgB;IAC5F,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,KAAK,IAAI,IAAA,6BAAqB,EAAC,QAAQ,CAAC;QACjG,CAAC,CAAC;YACI,KAAK,EAAE;gBACH,GAAG,YAAY,CAAC,KAAK;gBACrB,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAE;aAC/E;SACJ;QACH,CAAC,CAAC,EAAE,CAAC;AACb,CAAC;AAEY,QAAA,qBAAqB,GAAG,4CAA4C,CAAC;AAMrE,QAAA,wBAAwB,GAAG,uCAAuC,CAAC;AAMnE,QAAA,wBAAwB,GAAG,uCAAuC,CAAC;AAoEhF,MAAa,gBAAgB;IACzB,GAAG,CAAQ;IAmBX,YAAY,UAA6B,EAAE;QACvC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACrC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,wBAAK,CAChB,IAAI,gCAAa,CAAC;YACd,QAAQ,EAAE,QAAQ,IAAI,gCAAwB;YAC9C,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;YACnE,UAAU,EAAE;gBACR;oBACI,KAAK,CAAC,IAAI,CAAC,OAAO;wBACd,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;4BACxF,IAAI,IAA2B,CAAC;4BAChC,IAAI,CAAC;gCACD,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACzC,CAAC;4BAAC,OAAO,UAAU,EAAE,CAAC;gCAClB,MAAM,GAAG,GAAG,oBAAY,CAAC,QAAQ,CAC7B,2BAA2B,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CACtF,CAAC;gCACF,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;gCACvB,MAAM,GAAG,CAAC;4BACd,CAAC;4BAED,MAAM,oBAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBAC1C,CAAC;wBAED,OAAO,OAAO,CAAC,QAAQ,CAAC;oBAC5B,CAAC;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC;IAcD,KAAK,CAAC,QAAQ,CAAC,MAAsB,EAAE,aAA2B;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CACtB;YACI,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACrC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YAEnC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAE,IAAY;YAEnF,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAE,IAAY;YACjF,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACrC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE;YAC/C,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC/E,EACD,aAAa,CAChB,CAAC;IACN,CAAC;IAYD,KAAK,CAAC,YAAY,CACd,EACI,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,GAIa,EACzB,aAA2B;QAE3B,IAAI,IAAA,gDAA6B,EAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;gBACvC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;aAC3C,CAAC,CAAC;YAEH,IAAI,CAAC,IAAA,sDAAmC,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEb,OAAO,EAAE,KAAK,EAAE,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAErC,IAAI,YAAoB,CAAC;YACzB,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBACxB,QAAQ,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,4BAAoB,CAAC,sBAAsB;oBACjD,UAAU,EAAE,CAAC;oBACb,OAAO;iBACV,CAAC,CAAC;gBACH,IAAI,CAAC;oBACD,YAAY,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC;wBACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;wBACzB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;wBACxB,KAAK,EAAE,IAAA,iBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBACzD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS;qBAEnD,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,yBAAiB,CACvB,OAAO,EACP,yEAAyE,CAC5E,CAAC;gBACN,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBACrC,QAAQ,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,4BAAoB,CAAC,sBAAsB;oBACjD,UAAU,EAAE,CAAC;oBACb,OAAO;iBACV,CAAC,CAAC;gBACH,IAAI,CAAC;oBACD,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,yBAAiB,CACvB,OAAO,EACP,qEAAqE,CACxE,CAAC;YACN,CAAC;YAED,IAAI,EAAqB,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CACxC;oBACI,YAAY,EAAE;wBACV,MAAM,EAAE;4BACJ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;4BAC7B,YAAY,EAAE,YAAY;yBAC7B;qBACJ;iBACJ,EACD,aAAa,CAChB,CAAC;gBAEF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,EAAE,GAAG,QAAQ,CAAC;gBAClB,CAAC;qBAAM,IAAI,CAAC,IAAA,mDAAgC,EAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACJ,EAAE,GAAG,QAAQ,CAAC;gBAClB,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACzB,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;aAAM,IAAI,IAAA,gDAA6B,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YACpD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YAChD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEhE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;gBACvC,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;aAC7C,CAAC,CAAC;YAEH,IAAI,CAAC,IAAA,uDAAoC,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAEtC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,yBAAiB,CACvB,OAAO,EACP,0EAA0E,CAC7E,CAAC;YACN,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAa,CAAC;YAEtD,IAAI,SAAS,GAAG,iBAAU,CAAC;YAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,MAAM,eAAe,GACjB,CAAC,IAAA,0BAAkB,EAAC,YAAY,CAAC;gBAC7B,CAAC,IAAA,qBAAc,EAAC,IAAA,wBAAgB,EAAC,YAAY,CAAY,EAAE,kBAAW,CAAC,CAAC;gBAC5E,CAAC,IAAA,gBAAS,EAAC,YAAY,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,YAAY,EAAE,kBAAW,CAAC,CAAC,CAAC;YAG5E,IAAI,eAAe,EAAE,CAAC;gBAClB,gBAAgB,GAAG,MAAM,YAAY;qBAChC,YAAY,CAAC;oBACV,OAAO,EAAE,cAAc;oBACvB,GAAG,EAAE,4BAAsB;oBAC3B,YAAY,EAAE,kBAAkB;iBACnC,CAAC;qBACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACrC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAEvB,IAAI,gBAAgB,EAAE,CAAC;oBAEnB,IAAI,CAAC;wBACD,SAAS,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;4BACxC,OAAO,EAAE,YAAuB;4BAChC,GAAG,EAAE,eAAQ;4BACb,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;yBACzC,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACL,CAAC;YACL,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,IAAI,cAAc,GAAG,SAAS,IAAI,eAAe,CAAC;YAExF,MAAM,UAAU,GACZ,aAAa;gBACb,IAAA,gBAAS,EAAC,YAAY,CAAC;gBACvB,IAAA,qBAAc,EAAC,YAAY,EAAE,6BAAqB,CAAC;gBACnD,SAAS,KAAK,EAAE,CAAC;YAErB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,IAAI,aAAa,EAAE,CAAC;gBAEhB,IAAA,+CAA4B,EAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAK9E,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CACtD,YAAY,CAAC,gBAAgB,CAAC;wBAC1B,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;wBACpC,OAAO,EAAE,YAAY;wBACrB,GAAG,EAAE,oBAAc;wBACnB,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;qBAC7B,CAAC,CACL,CAAC;oBAEF,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,4BAAoB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;oBAEvF,IAAI,CAAC;wBACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;4BACjD,GAAG,YAAY;4BACf,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACvD,CAAC,CAAC;wBACH,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;oBACjG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3F,CAAC;gBACL,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CACxD,YAAY,CAAC,gBAAgB,CAAC;oBAC1B,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;oBACpC,OAAO,EAAE,YAAuB;oBAChC,GAAG,EACC,IAAA,gBAAS,EAAC,YAAuB,CAAC;wBAClC,IAAA,qBAAc,EAAC,YAAuB,EAAE,6BAAqB,CAAC;wBAC1D,CAAC,CAAC,oBAAc;wBAChB,CAAC,CAAC,eAAQ;oBAClB,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,cAAc,EAAE,iBAAU,CAAC;iBACrC,CAAC,CACL,CAAC;gBAEF,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,4BAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBAElG,IAAI,CAAC;oBACD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;wBACnD,GAAG,cAAc;wBACjB,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;qBACvD,CAAC,CAAC;oBACH,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACL,CAAC;YAED,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,4BAAoB,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YAClG,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAW,CAAC;YAEjD,IAAI,eAAuB,CAAC;YAC5B,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC5D,CAAC,CAAC,MAAM,IAAA,6BAAqB,EAAC,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE;wBAC5D,EAAE,EAAE,cAAc;wBAClB,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE,YAAY;qBACtB,CAAC;oBACJ,CAAC,CAAC,SAAS,CAAC;gBAEhB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;oBAC5C,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpD,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;oBACpC,IAAI,EAAE,WAAW;oBACjB,EAAE,EAAE,cAAc;oBAClB,KAAK,EAAE,YAAY;oBACnB,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;iBACvD,CAAC,CAAC;gBAEH,MAAM,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;gBAEjF,eAAe,GAAG,IAAI,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAA,iDAA8B,EAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;YACzD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAe,CAAC;YAIjD,IAAI,SAAS,GAAG,iBAAU,CAAC;YAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,MAAM,eAAe,GACjB,CAAC,IAAA,0BAAkB,EAAC,YAAY,CAAC;gBAC7B,CAAC,IAAA,qBAAc,EAAC,IAAA,wBAAgB,EAAC,YAAY,CAAY,EAAE,kBAAW,CAAC,CAAC;gBAC5E,CAAC,IAAA,gBAAS,EAAC,YAAY,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,YAAY,EAAE,kBAAW,CAAC,CAAC,CAAC;YAG5E,IAAI,eAAe,EAAE,CAAC;gBAClB,gBAAgB,GAAG,MAAM,YAAY;qBAChC,YAAY,CAAC;oBACV,OAAO,EAAE,QAAQ;oBACjB,GAAG,EAAE,4BAAsB;oBAC3B,YAAY,EAAE,kBAAkB;iBACnC,CAAC;qBACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACrC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAEvB,IAAI,gBAAgB,EAAE,CAAC;oBAEnB,SAAS,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;wBACxC,OAAO,EAAE,YAAuB;wBAChC,GAAG,EAAE,eAAQ;wBACb,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;qBACnC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,IAAI,cAAc,GAAG,SAAS,IAAI,eAAe,CAAC;YAGxF,MAAM,UAAU,GACZ,aAAa;gBACb,IAAA,gBAAS,EAAC,YAAY,CAAC;gBACvB,IAAA,qBAAc,EAAC,YAAY,EAAE,6BAAqB,CAAC;gBACnD,SAAS,KAAK,EAAE,CAAC;YAErB,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;gBACvC,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;aACjD,CAAC,CAAC;YAEH,IAAI,CAAC,IAAA,uDAAoC,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;YAExC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,IAAI,yBAAiB,CACvB,OAAO,EACP,0EAA0E,CAC7E,CAAC;YACN,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAEhB,IAAA,+CAA4B,EAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAK1E,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CACtD,YAAY,CAAC,gBAAgB,CAAC;wBAC1B,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;wBACpC,OAAO,EAAE,YAAuB;wBAChC,GAAG,EAAE,oBAAc;wBACnB,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;qBACvB,CAAC,CACL,CAAC;oBAEF,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,4BAAoB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;oBAEvF,IAAI,CAAC;wBACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;4BACjD,GAAG,YAAY;4BACf,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;yBACzD,CAAC,CAAC;wBACH,MAAM,YAAY,CAAC,yBAAyB,CAAC;4BACzC,IAAI,EAAE,WAAW;4BACjB,UAAU,EAAE,WAAW;yBAC1B,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3F,CAAC;gBACL,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CACxD,YAAY,CAAC,gBAAgB,CAAC;oBAC1B,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;oBACpC,OAAO,EAAE,YAAuB;oBAChC,GAAG,EACC,IAAA,gBAAS,EAAC,YAAY,CAAC,IAAI,IAAA,qBAAc,EAAC,YAAY,EAAE,6BAAqB,CAAC;wBAC1E,CAAC,CAAC,oBAAc;wBAChB,CAAC,CAAC,eAAQ;oBAClB,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAU,CAAC;iBAC/B,CAAC,CACL,CAAC;gBAEF,QAAQ,EAAE,CAAC;oBACP,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,EAAE,4BAAoB,CAAC,OAAO;oBAClC,UAAU;oBACV,OAAO;iBACV,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;wBAC5C,GAAG,cAAc;wBACjB,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;qBACzD,CAAC,CAAC;oBAEH,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACL,CAAC;YAED,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,4BAAoB,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YAClG,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAa,CAAC;YACrD,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,IAAW,CAAC;YAErD,IAAI,eAAuB,CAAC;YAC5B,IAAI,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC7D,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAChE,CAAC,CAAC,MAAM,IAAA,6BAAqB,EAAC,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE;wBAC5D,EAAE,EAAE,WAAW;wBACf,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,cAAc;qBACxB,CAAC;oBACJ,CAAC,CAAC,SAAS,CAAC;gBAEhB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;oBAC5C,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACtD,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;oBACpC,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,WAAW;oBACf,KAAK,EAAE,cAAc;oBACrB,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;iBAC3D,CAAC,CAAC;gBAEH,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;gBAEhF,eAAe,GAAG,IAAI,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,yBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,EAA0C;QACnG,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;YAC9C,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,GAAG,EAAE,eAAQ;YACb,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;SAC/D,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC;gBACpD,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;gBACpC,OAAO,EAAE,MAAM,CAAC,KAAK;gBACrB,GAAG,EAAE,eAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACxD,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAEhE,MAAM,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC;YACpD,OAAO,EAAE,MAAM,CAAC,eAAe;YAC/B,GAAG,EAAE,oBAAc;YACnB,YAAY,EAAE,sCAAsC;YACpD,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3F,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QAElG,OAAO,eAAe,CAAC;IAC3B,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,aAA2B;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IASD,KAAK,CAAC,SAAS,CACX,iBAAqC,EACrC,aAA2B;QAE3B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IASD,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,aAA2B;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAOD,KAAK,CAAC,SAAS,CAAC,aAA2B;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;CACJ;AA3mBD,4CA2mBC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ export { ReownWalletAdapter } from './adapters/reown';
3
3
  export { ExecuteQuoteResult, GatewayApiClient as GatewaySDK } from './client';
4
4
  export { AnyGatewayError, DetailsFor, GatewayError, GatewayErrorCode, GatewayErrorDetailsMap, isGatewayError, type ExceededLimitDetails, type InsufficientAmountDetails, type QuoteAmountTooLowDetails, type InsufficientSwapAmountDetails, type NoRouteDetails, type SimulationFailedDetails, type UnableToCoverFeesDetails, } from './error/gateway-error';
5
5
  export * from './generated-client';
6
- export { BitcoinSigner, ExecuteQuoteError, ExecuteQuoteStep, ExecuteQuoteStepType, GatewayQuoteParams, GetQuoteParams, } from './types';
6
+ export { BitcoinBroadcastError, BitcoinSigner, ExecuteQuoteError, ExecuteQuoteErrorOptions, ExecuteQuoteStep, ExecuteQuoteStepType, ExecuteQuoteTxStatus, GatewayQuoteParams, GetQuoteParams, } from './types';
7
7
  export { applyGasBuffer, formatBtc, getChainConfig, getInnerQuote, parseBtc, ScureBitcoinSigner, supportedChainsMapping, type InnerQuote, } from './utils';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.supportedChainsMapping = exports.ScureBitcoinSigner = exports.parseBtc = exports.getInnerQuote = exports.getChainConfig = exports.formatBtc = exports.applyGasBuffer = exports.ExecuteQuoteStepType = exports.ExecuteQuoteError = exports.isGatewayError = exports.GatewayErrorCode = exports.GatewayError = exports.GatewaySDK = exports.ReownWalletAdapter = exports.OkxWalletAdapter = void 0;
17
+ exports.supportedChainsMapping = exports.ScureBitcoinSigner = exports.parseBtc = exports.getInnerQuote = exports.getChainConfig = exports.formatBtc = exports.applyGasBuffer = exports.ExecuteQuoteStepType = exports.ExecuteQuoteError = exports.BitcoinBroadcastError = exports.isGatewayError = exports.GatewayErrorCode = exports.GatewayError = exports.GatewaySDK = exports.ReownWalletAdapter = exports.OkxWalletAdapter = void 0;
18
18
  var okx_wallet_1 = require("./adapters/okx-wallet");
19
19
  Object.defineProperty(exports, "OkxWalletAdapter", { enumerable: true, get: function () { return okx_wallet_1.OkxWalletAdapter; } });
20
20
  var reown_1 = require("./adapters/reown");
@@ -27,6 +27,7 @@ Object.defineProperty(exports, "GatewayErrorCode", { enumerable: true, get: func
27
27
  Object.defineProperty(exports, "isGatewayError", { enumerable: true, get: function () { return gateway_error_1.isGatewayError; } });
28
28
  __exportStar(require("./generated-client"), exports);
29
29
  var types_1 = require("./types");
30
+ Object.defineProperty(exports, "BitcoinBroadcastError", { enumerable: true, get: function () { return types_1.BitcoinBroadcastError; } });
30
31
  Object.defineProperty(exports, "ExecuteQuoteError", { enumerable: true, get: function () { return types_1.ExecuteQuoteError; } });
31
32
  Object.defineProperty(exports, "ExecuteQuoteStepType", { enumerable: true, get: function () { return types_1.ExecuteQuoteStepType; } });
32
33
  var utils_1 = require("./utils");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAyD;AAAhD,8GAAA,gBAAgB,OAAA;AACzB,0CAAsD;AAA7C,2GAAA,kBAAkB,OAAA;AAC3B,mCAA8E;AAAjD,oGAAA,gBAAgB,OAAc;AAC3D,uDAc+B;AAX3B,6GAAA,YAAY,OAAA;AACZ,iHAAA,gBAAgB,OAAA;AAEhB,+GAAA,cAAc,OAAA;AASlB,qDAAmC;AACnC,iCAOiB;AALb,0GAAA,iBAAiB,OAAA;AAEjB,6GAAA,oBAAoB,OAAA;AAIxB,iCASiB;AARb,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AACb,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,+GAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAyD;AAAhD,8GAAA,gBAAgB,OAAA;AACzB,0CAAsD;AAA7C,2GAAA,kBAAkB,OAAA;AAC3B,mCAA8E;AAAjD,oGAAA,gBAAgB,OAAc;AAC3D,uDAc+B;AAX3B,6GAAA,YAAY,OAAA;AACZ,iHAAA,gBAAgB,OAAA;AAEhB,+GAAA,cAAc,OAAA;AASlB,qDAAmC;AACnC,iCAUiB;AATb,8GAAA,qBAAqB,OAAA;AAErB,0GAAA,iBAAiB,OAAA;AAGjB,6GAAA,oBAAoB,OAAA;AAKxB,iCASiB;AARb,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AACb,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,+GAAA,sBAAsB,OAAA"}
@@ -8,3 +8,8 @@ export interface BitcoinSigner {
8
8
  isSignet?: boolean;
9
9
  }) => Promise<string>;
10
10
  }
11
+ export declare class BitcoinBroadcastError extends Error {
12
+ readonly name = "BitcoinBroadcastError";
13
+ readonly txid: string;
14
+ constructor(txid: string, message: string, options?: ErrorOptions);
15
+ }
@@ -1,3 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitcoinBroadcastError = void 0;
4
+ class BitcoinBroadcastError extends Error {
5
+ name = 'BitcoinBroadcastError';
6
+ txid;
7
+ constructor(txid, message, options) {
8
+ super(message, options);
9
+ this.txid = txid;
10
+ }
11
+ }
12
+ exports.BitcoinBroadcastError = BitcoinBroadcastError;
3
13
  //# sourceMappingURL=bitcoin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../src/gateway/types/bitcoin.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../src/gateway/types/bitcoin.ts"],"names":[],"mappings":";;;AAgBA,MAAa,qBAAsB,SAAQ,KAAK;IACnC,IAAI,GAAG,uBAAuB,CAAC;IAE/B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe,EAAE,OAAsB;QAC7D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AATD,sDASC"}
@@ -10,8 +10,17 @@ export interface ExecuteQuoteStep {
10
10
  totalSteps: number;
11
11
  orderId?: string;
12
12
  }
13
+ export type ExecuteQuoteTxStatus = 'unconfirmed' | 'reverted' | 'cancelled' | 'replaced';
14
+ export type ExecuteQuoteErrorOptions = ErrorOptions & {
15
+ step?: ExecuteQuoteStepType;
16
+ txHash?: string;
17
+ txStatus?: ExecuteQuoteTxStatus;
18
+ };
13
19
  export declare class ExecuteQuoteError extends Error {
14
20
  readonly orderId: string;
15
21
  readonly name = "ExecuteQuoteError";
16
- constructor(orderId: string, message?: string, options?: ErrorOptions);
22
+ readonly step?: ExecuteQuoteStepType;
23
+ readonly txHash?: string;
24
+ readonly txStatus?: ExecuteQuoteTxStatus;
25
+ constructor(orderId: string, message?: string, { step, txHash, txStatus, ...options }?: ExecuteQuoteErrorOptions);
17
26
  }
@@ -8,12 +8,37 @@ var ExecuteQuoteStepType;
8
8
  ExecuteQuoteStepType["Approve"] = "approve";
9
9
  ExecuteQuoteStepType["SendTransaction"] = "send_transaction";
10
10
  })(ExecuteQuoteStepType || (exports.ExecuteQuoteStepType = ExecuteQuoteStepType = {}));
11
+ const EXECUTE_QUOTE_ERROR_MESSAGE = 'Failed to execute Gateway quote after order creation';
12
+ function describeCause(cause) {
13
+ if (typeof cause === 'string')
14
+ return cause || undefined;
15
+ if (typeof cause !== 'object' || cause === null)
16
+ return undefined;
17
+ try {
18
+ const { shortMessage, details, message } = cause;
19
+ if (typeof shortMessage === 'string' && shortMessage) {
20
+ return typeof details === 'string' && details && !shortMessage.includes(details)
21
+ ? `${shortMessage} (${details})`
22
+ : shortMessage;
23
+ }
24
+ return typeof message === 'string' && message ? message : undefined;
25
+ }
26
+ catch {
27
+ return undefined;
28
+ }
29
+ }
11
30
  class ExecuteQuoteError extends Error {
12
31
  orderId;
13
32
  name = 'ExecuteQuoteError';
14
- constructor(orderId, message = 'Failed to execute Gateway quote after order creation', options) {
15
- super(message, options);
33
+ step;
34
+ txHash;
35
+ txStatus;
36
+ constructor(orderId, message, { step, txHash, txStatus, ...options } = {}) {
37
+ super(message || describeCause(options.cause) || EXECUTE_QUOTE_ERROR_MESSAGE, options);
16
38
  this.orderId = orderId;
39
+ this.step = step;
40
+ this.txHash = txHash;
41
+ this.txStatus = txStatus;
17
42
  }
18
43
  }
19
44
  exports.ExecuteQuoteError = ExecuteQuoteError;
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/gateway/types/execute.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,2EAAmD,CAAA;IACnD,wDAAgC,CAAA;IAChC,2CAAmB,CAAA;IACnB,4DAAoC,CAAA;AACxC,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AAWD,MAAa,iBAAkB,SAAQ,KAAK;IAC/B,OAAO,CAAS;IAEhB,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YACI,OAAe,EACf,OAAO,GAAG,sDAAsD,EAChE,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAbD,8CAaC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/gateway/types/execute.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,2EAAmD,CAAA;IACnD,wDAAgC,CAAA;IAChC,2CAAmB,CAAA;IACnB,4DAAoC,CAAA;AACxC,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AAUD,MAAM,2BAA2B,GAAG,sDAAsD,CAAC;AAS3F,SAAS,aAAa,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,IAAI,SAAS,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAGlE,IAAI,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAI1C,CAAC;QAEF,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;YACnD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC5E,CAAC,CAAC,GAAG,YAAY,KAAK,OAAO,GAAG;gBAChC,CAAC,CAAC,YAAY,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAwBD,MAAa,iBAAkB,SAAQ,KAAK;IAC/B,OAAO,CAAS;IAEhB,IAAI,GAAG,mBAAmB,CAAC;IAE3B,IAAI,CAAwB;IAE5B,MAAM,CAAU;IAEhB,QAAQ,CAAwB;IAEzC,YACI,OAAe,EACf,OAAgB,EAChB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,KAA+B,EAAE;QAErE,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAtBD,8CAsBC"}