@vultisig/core-chain 2.31.0 → 2.31.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 2.31.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1720](https://github.com/vultisig/vultisig-sdk/pull/1720) [`413423b`](https://github.com/vultisig/vultisig-sdk/commit/413423b70655e6e4d7faf9cb9f10b63f601e42dc) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Carry caller-supplied THORChain and MayaChain swap destinations through agent MsgDeposit execution, preserve the existing self-swap default, and reject quote memos that substitute another destination.
8
+
3
9
  ## 2.31.0
4
10
 
5
11
  ### Minor Changes
@@ -35,6 +35,7 @@ export declare const hyperliquid: {
35
35
  };
36
36
  };
37
37
  sourceId?: number | undefined | undefined;
38
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
38
39
  testnet?: boolean | undefined | undefined;
39
40
  custom?: Record<string, unknown> | undefined;
40
41
  extendSchema?: Record<string, unknown> | undefined;
@@ -89,6 +90,7 @@ export declare const robinhood: {
89
90
  };
90
91
  };
91
92
  sourceId?: number | undefined | undefined;
93
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
92
94
  testnet?: boolean | undefined | undefined;
93
95
  custom?: Record<string, unknown> | undefined;
94
96
  extendSchema?: Record<string, unknown> | undefined;
@@ -146,6 +148,7 @@ export declare const evmChainInfo: Record<EvmChain, {
146
148
  };
147
149
  experimental_preconfirmationTime?: number | undefined;
148
150
  sourceId?: number | undefined;
151
+ supportsTransactionReplacementDetection?: boolean | undefined;
149
152
  testnet?: boolean | undefined;
150
153
  custom?: Record<string, unknown> | undefined;
151
154
  extendSchema?: Record<string, unknown> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"chainInfo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/evm/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AA0BrD,eAAO,MAAM,2BAA2B,8BAA8B,CAAA;AAGtE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBtB,CAAA;AAGF,eAAO,MAAM,yBAAyB,0CAA0C,CAAA;AAGhF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBpB,CAAA;AAsCF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;mBAzDwC,CAAC;4BACxB,CAAC;kBAEf,CAAC;uBAG1B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DF,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,QAAQ,KAAG,MAA+D,CAAA;AAE9G,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,KAAG,MAE/C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,QAAQ,GAAG,SAEjE,CAAA"}
1
+ {"version":3,"file":"chainInfo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/evm/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AA0BrD,eAAO,MAAM,2BAA2B,8BAA8B,CAAA;AAGtE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBtB,CAAA;AAGF,eAAO,MAAM,yBAAyB,0CAA0C,CAAA;AAGhF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBpB,CAAA;AAsCF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;mBAzDwC,CAAC;4BACxB,CAAC;kBAEf,CAAC;uBAG1B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DF,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,QAAQ,KAAG,MAA+D,CAAA;AAE9G,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,KAAG,MAE/C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,QAAQ,GAAG,SAEjE,CAAA"}
@@ -42,11 +42,26 @@ export declare const XRP_DANGEROUS_ADDRESSES: Record<string, string>;
42
42
  * Return the dangerous-address reason string if `address` is a known EVM burn
43
43
  * address, otherwise `undefined`. Shape-based: any `0x`+40-hex string is vetted
44
44
  * against the EVM burn-list regardless of the chain it's destined for.
45
+ *
46
+ * Prototype-safe: uses `Object.prototype.hasOwnProperty` so that keys like
47
+ * `__proto__`, `toString`, or `constructor` never produce a false-positive.
48
+ * Input is trimmed so whitespace-padded copies of a burn address don't escape.
45
49
  */
46
50
  export declare const getEvmDangerousReason: (address: string) => string | undefined;
47
51
  /** True iff `address` is a known EVM burn / dead address. */
48
52
  export declare const isEvmBurnAddress: (address: string) => boolean;
49
- /** Return the chain-specific dangerous-address reason, if one applies. */
53
+ /**
54
+ * Return the chain-specific dangerous-address reason, if one applies.
55
+ *
56
+ * Prototype-safe: all map lookups go through `Object.prototype.hasOwnProperty`
57
+ * so that a crafted input like `__proto__` never produces a false-positive
58
+ * throw on an otherwise-valid chain.
59
+ *
60
+ * Chain-alias normalization: lowercase so that canonical enum values
61
+ * (`'Ripple'`, `'Bitcoin-Cash'`) and common aliases (`'xrp'`, `'bitcoincash'`)
62
+ * both resolve. Only the lookup key is normalised; the address is kept verbatim
63
+ * (non-EVM burn lists are case-sensitive base58/b58 strings).
64
+ */
50
65
  export declare const getChainDangerousReason: (chain: string, address: string) => string | undefined;
51
66
  /**
52
67
  * Throws a descriptive error if `address` is a known EVM burn / dead address.
@@ -1 +1 @@
1
- {"version":3,"file":"dangerousAddresses.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/security/dangerousAddresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK1D,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM7D,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG3D,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1D,CAAA;AAaD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SAGhE,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,OAAuD,CAAA;AAE1G,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,SAejF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,IAK1D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM9E"}
1
+ {"version":3,"file":"dangerousAddresses.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/security/dangerousAddresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK1D,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM7D,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG3D,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1D,CAAA;AAaD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SAKhE,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,OAAuD,CAAA;AAE1G;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,SAmBjF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,IAK1D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM9E"}
@@ -66,26 +66,45 @@ const EVM_ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/i;
66
66
  * Return the dangerous-address reason string if `address` is a known EVM burn
67
67
  * address, otherwise `undefined`. Shape-based: any `0x`+40-hex string is vetted
68
68
  * against the EVM burn-list regardless of the chain it's destined for.
69
+ *
70
+ * Prototype-safe: uses `Object.prototype.hasOwnProperty` so that keys like
71
+ * `__proto__`, `toString`, or `constructor` never produce a false-positive.
72
+ * Input is trimmed so whitespace-padded copies of a burn address don't escape.
69
73
  */
70
74
  export const getEvmDangerousReason = (address) => {
71
- if (!EVM_ADDRESS_RE.test(address))
75
+ const trimmed = address.trim();
76
+ if (!EVM_ADDRESS_RE.test(trimmed))
72
77
  return undefined;
73
- return EVM_DANGEROUS_ADDRESSES[address.toLowerCase()];
78
+ const key = trimmed.toLowerCase();
79
+ return Object.prototype.hasOwnProperty.call(EVM_DANGEROUS_ADDRESSES, key) ? EVM_DANGEROUS_ADDRESSES[key] : undefined;
74
80
  };
75
81
  /** True iff `address` is a known EVM burn / dead address. */
76
82
  export const isEvmBurnAddress = (address) => getEvmDangerousReason(address) !== undefined;
77
- /** Return the chain-specific dangerous-address reason, if one applies. */
83
+ /**
84
+ * Return the chain-specific dangerous-address reason, if one applies.
85
+ *
86
+ * Prototype-safe: all map lookups go through `Object.prototype.hasOwnProperty`
87
+ * so that a crafted input like `__proto__` never produces a false-positive
88
+ * throw on an otherwise-valid chain.
89
+ *
90
+ * Chain-alias normalization: lowercase so that canonical enum values
91
+ * (`'Ripple'`, `'Bitcoin-Cash'`) and common aliases (`'xrp'`, `'bitcoincash'`)
92
+ * both resolve. Only the lookup key is normalised; the address is kept verbatim
93
+ * (non-EVM burn lists are case-sensitive base58/b58 strings).
94
+ */
78
95
  export const getChainDangerousReason = (chain, address) => {
79
96
  const normalizedChain = chain.trim().toLowerCase();
80
97
  const destination = address.trim();
98
+ const safeGet = (map, key) => Object.prototype.hasOwnProperty.call(map, key) ? map[key] : undefined;
81
99
  if (normalizedChain === 'solana') {
82
- return SOLANA_DANGEROUS_ADDRESSES[destination];
100
+ return safeGet(SOLANA_DANGEROUS_ADDRESSES, destination);
83
101
  }
84
102
  if (UTXO_CHAINS.has(normalizedChain)) {
85
- return UTXO_DANGEROUS_ADDRESSES[destination];
103
+ return safeGet(UTXO_DANGEROUS_ADDRESSES, destination);
86
104
  }
87
- if (normalizedChain === 'ripple') {
88
- return XRP_DANGEROUS_ADDRESSES[destination];
105
+ // Accept both canonical enum ('Ripple') and common API alias ('xrp').
106
+ if (normalizedChain === 'ripple' || normalizedChain === 'xrp') {
107
+ return safeGet(XRP_DANGEROUS_ADDRESSES, destination);
89
108
  }
90
109
  return undefined;
91
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dangerousAddresses.js","sourceRoot":"","sources":["../../../../../packages/core/chain/security/dangerousAddresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,4CAA4C,EAC1C,4EAA4E;IAC9E,4CAA4C,EAAE,oEAAoE;IAClH,4CAA4C,EAAE,+CAA+C;CAC9F,CAAA;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,kCAAkC,EAAE,6DAA6D;IACjG,2CAA2C,EAAE,oDAAoD;IACjG,2CAA2C,EAAE,mDAAmD;IAChG,6CAA6C,EAC3C,4EAA4E;CAC/E,CAAA;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,6BAA6B,EAAE,+CAA+C;IAC9E,oCAAoC,EAAE,wDAAwD;CAC/F,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,2BAA2B,EAAE,uEAAuE;IACpG,0BAA0B,EACxB,iGAAiG;CACpG,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEjG;;qBAEqB;AACrB,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAsB,EAAE;IAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IACnD,OAAO,uBAAuB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAA;AAE1G,0EAA0E;AAC1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAE,OAAe,EAAsB,EAAE;IAC5F,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAElC,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAQ,EAAE;IAChE,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,SAAS,MAAM,GAAG,CAAC,CAAA;IAC1F,CAAC;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,WAAmB;IACtE,wBAAwB,CAAC,WAAW,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,WAAW,SAAS,MAAM,GAAG,CAAC,CAAA;IAC9F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"dangerousAddresses.js","sourceRoot":"","sources":["../../../../../packages/core/chain/security/dangerousAddresses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getNativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAIzE,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE7E,KAAK,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACtE,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,yBAAyB,CAAA;CAClD,CAAA;AASD,eAAO,MAAM,0CAA0C,MAAM,CAAA;AAsF7D,eAAO,MAAM,kBAAkB,GAAU,oHAUtC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CAiGnD,CAAA"}
1
+ {"version":3,"file":"getNativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAIzE,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE7E,KAAK,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACtE,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,yBAAyB,CAAA;CAClD,CAAA;AASD,eAAO,MAAM,0CAA0C,MAAM,CAAA;AAiG7D,eAAO,MAAM,kBAAkB,GAAU,oHAUtC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CAiGnD,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { toChainAmount } from '@vultisig/core-chain/amount/toChainAmount';
2
2
  import { Chain } from '@vultisig/core-chain/Chain';
3
+ import { isChainOfKind } from '@vultisig/core-chain/ChainKind';
3
4
  import { isInError } from '@vultisig/lib-utils/error/isInError';
4
5
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
5
6
  import { chainFeeCoin } from '../../../coin/chainFeeCoin.js';
@@ -35,7 +36,7 @@ const requestNativeSwapQuote = async ({ swapChain, swapBaseUrl, fromAsset, toAss
35
36
  const url = `${swapBaseUrl}?${params.toString()}`;
36
37
  return queryUrl(url);
37
38
  };
38
- const assertOkQuote = (result, from) => {
39
+ const assertOkQuote = (result, from, to, destination) => {
39
40
  if ('error' in result) {
40
41
  if (isInError(result.error, 'not enough asset to pay for fees')) {
41
42
  const { ticker } = chainFeeCoin[from.chain];
@@ -43,6 +44,11 @@ const assertOkQuote = (result, from) => {
43
44
  }
44
45
  throw new Error(result.error);
45
46
  }
47
+ const memoDestination = typeof result.memo === 'string' ? result.memo.split(':')[2] : undefined;
48
+ const normalizeDestination = (value) => (isChainOfKind(to.chain, 'evm') ? value.toLowerCase() : value);
49
+ if (!memoDestination || normalizeDestination(memoDestination) !== normalizeDestination(destination)) {
50
+ throw new Error(`Native swap quote destination mismatch: requested "${destination}", but executable memo routes to "${memoDestination ?? ''}".`);
51
+ }
46
52
  return result;
47
53
  };
48
54
  // Cardano is enabled as a MayaChain source at the enabled-chains/quote level
@@ -83,7 +89,7 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
83
89
  nativeAffiliateConfig,
84
90
  });
85
91
  return {
86
- ...assertOkQuote(result, from),
92
+ ...assertOkQuote(result, from, to, destination),
87
93
  swapChain,
88
94
  liquidity_tolerance_bps: slippageToleranceBps,
89
95
  };
@@ -101,7 +107,7 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
101
107
  referral,
102
108
  nativeAffiliateConfig,
103
109
  });
104
- const rapid = assertOkQuote(rapidResult, from);
110
+ const rapid = assertOkQuote(rapidResult, from, to, destination);
105
111
  const totalBps = rapid.fees.total_bps;
106
112
  if (totalBps === undefined || totalBps <= THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS) {
107
113
  return { ...rapid, swapChain, liquidity_tolerance_bps: slippageToleranceBps };
@@ -125,7 +131,7 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
125
131
  referral,
126
132
  nativeAffiliateConfig,
127
133
  });
128
- streaming = assertOkQuote(streamingRes, from);
134
+ streaming = assertOkQuote(streamingRes, from, to, destination);
129
135
  }
130
136
  catch (error) {
131
137
  console.warn('[thorchain] streaming quote failed after elevated rapid slippage; using rapid quote', error);
@@ -1 +1 @@
1
- {"version":3,"file":"getNativeSwapQuote.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getNativeSwapQuote.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "2.31.0",
3
+ "version": "2.31.1",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -2247,7 +2247,7 @@
2247
2247
  "long": "^5.3.2",
2248
2248
  "ripple-address-codec": "^5.0.1",
2249
2249
  "tiny-secp256k1": "^2.2.4",
2250
- "viem": "^2.53.1",
2250
+ "viem": "^2.55.10",
2251
2251
  "xrpl": "^5.0.0"
2252
2252
  }
2253
2253
  }