@vultisig/core-chain 1.4.3 → 1.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 1.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#320](https://github.com/vultisig/vultisig-sdk/pull/320) [`c33d1f0`](https://github.com/vultisig/vultisig-sdk/commit/c33d1f02b6740ef1c7db16cdc1f7290ec7b2f1f5) Thanks [@rcoderdev](https://github.com/rcoderdev)! - feat(chain): THORChain rapid quote with streaming fallback above 3% fee bps
8
+
9
+ THORChain swap quotes now request rapid (`streaming_interval=0`) first. When `fees.total_bps` exceeds 300, a second streaming quote is fetched (`interval=1`, optional `streaming_quantity` from `max_streaming_quantity`); the better `expected_amount_out` wins, with silent fallback to rapid on errors. `THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS` disables the extra fetch when set to `Number.MAX_SAFE_INTEGER`. Keysign payload reads THOR streaming fields from the quote memo so they match the selected route.
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [[`a52980c`](https://github.com/vultisig/vultisig-sdk/commit/a52980c490633da7d7ae36128bc491f8ca3ff565)]:
14
+ - @vultisig/lib-utils@0.10.1
15
+
3
16
  ## 1.4.3
4
17
 
5
18
  ### Patch Changes
@@ -1,6 +1,12 @@
1
1
  export declare const nativeSwapChains: readonly ["THORChain", "MayaChain"];
2
2
  export type NativeSwapChain = (typeof nativeSwapChains)[number];
3
+ /** THORChain rapid swap (`streaming_interval=0`). Streaming retry uses interval `1`. */
3
4
  export declare const nativeSwapStreamingInterval: Record<NativeSwapChain, number>;
5
+ /**
6
+ * THORChain-only: when a rapid quote's `fees.total_bps` exceeds this, fetch a streaming quote and pick the better outcome.
7
+ * Set to `Number.MAX_SAFE_INTEGER` to disable streaming fallback without removing code.
8
+ */
9
+ export declare const THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS = 300;
4
10
  export declare const nativeSwapApiBaseUrl: Record<NativeSwapChain, string>;
5
11
  export declare const nativeSwapEnabledChainsRecord: {
6
12
  readonly THORChain: readonly ["Avalanche", import("@vultisig/core-chain/Chain").UtxoChain.BitcoinCash, "BSC", import("@vultisig/core-chain/Chain").UtxoChain.Bitcoin, import("@vultisig/core-chain/Chain").UtxoChain.Dogecoin, "Ethereum", "Cosmos", import("@vultisig/core-chain/Chain").UtxoChain.Litecoin, "THORChain", import("@vultisig/core-chain/Chain").OtherChain.Ripple, "Base", import("@vultisig/core-chain/Chain").OtherChain.Solana, import("@vultisig/core-chain/Chain").OtherChain.Tron, "Noble"];
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSwapChain.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,qCAA8C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGvE,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGhE,CAAA;AAmBD,eAAO,MAAM,6BAA6B;;;CAYhC,CAAA;AAEV,KAAK,sBAAsB,GACzB,CAAC,OAAO,6BAA6B,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE,eAAO,MAAM,uBAAuB,EAE/B,sBAAsB,EAAE,CAAA;AAE7B,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAoBrE,CAAA;AAED,KAAK,qBAAqB,GACtB,sBAAsB,GACtB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,eAAe,EACf,qBAAqB,CAItB,CAAA"}
1
+ {"version":3,"file":"NativeSwapChain.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,qCAA8C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGvE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0CAA0C,MAAM,CAAA;AAE7D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAGhE,CAAA;AAmBD,eAAO,MAAM,6BAA6B;;;CAYhC,CAAA;AAEV,KAAK,sBAAsB,GACzB,CAAC,OAAO,6BAA6B,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE,eAAO,MAAM,uBAAuB,EAE/B,sBAAsB,EAAE,CAAA;AAE7B,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAoBrE,CAAA;AAED,KAAK,qBAAqB,GACtB,sBAAsB,GACtB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,eAAe,EACf,qBAAqB,CAItB,CAAA"}
@@ -2,10 +2,16 @@ import { Chain } from '@vultisig/core-chain/Chain';
2
2
  import { cosmosRpcUrl } from '@vultisig/core-chain/chains/cosmos/cosmosRpcUrl';
3
3
  import { withoutDuplicates } from '@vultisig/lib-utils/array/withoutDuplicates';
4
4
  export const nativeSwapChains = [Chain.THORChain, Chain.MayaChain];
5
+ /** THORChain rapid swap (`streaming_interval=0`). Streaming retry uses interval `1`. */
5
6
  export const nativeSwapStreamingInterval = {
6
- [Chain.THORChain]: 1,
7
+ [Chain.THORChain]: 0,
7
8
  [Chain.MayaChain]: 3,
8
9
  };
10
+ /**
11
+ * THORChain-only: when a rapid quote's `fees.total_bps` exceeds this, fetch a streaming quote and pick the better outcome.
12
+ * Set to `Number.MAX_SAFE_INTEGER` to disable streaming fallback without removing code.
13
+ */
14
+ export const THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS = 300;
9
15
  export const nativeSwapApiBaseUrl = {
10
16
  [Chain.THORChain]: `${cosmosRpcUrl[Chain.THORChain]}/thorchain`,
11
17
  [Chain.MayaChain]: `${cosmosRpcUrl[Chain.MayaChain]}/mayachain`,
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSwapChain.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeSwapChain.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapChain.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export type NativeSwapQuote = {
13
13
  outbound_delay_blocks: number;
14
14
  outbound_delay_seconds: number;
15
15
  recommended_min_amount_in: string;
16
+ max_streaming_quantity?: number;
16
17
  slippage_bps?: number;
17
18
  total_swap_seconds?: number;
18
19
  warning: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,eAAe,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,yBAAyB,EAAE,MAAM,CAAA;IACjC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"NativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/native/NativeSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,eAAe,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getNativeSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAKzE,OAAO,EAEL,eAAe,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,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,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAQD,eAAO,MAAM,kBAAkB,GAAU,uEAQtC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CA4CnD,CAAA"}
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;AAKzE,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,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,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AA0ED,eAAO,MAAM,kBAAkB,GAAU,uEAQtC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CA6FnD,CAAA"}
@@ -1,23 +1,24 @@
1
1
  import { toChainAmount } from '@vultisig/core-chain/amount/toChainAmount';
2
+ import { Chain } from '@vultisig/core-chain/Chain';
2
3
  import { isInError } from '@vultisig/lib-utils/error/isInError';
3
4
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
4
5
  import { t } from 'i18next';
5
6
  import { chainFeeCoin } from '../../../coin/chainFeeCoin.js';
6
7
  import { toNativeSwapAsset } from '../asset/toNativeSwapAsset.js';
7
- import { nativeSwapApiBaseUrl, nativeSwapStreamingInterval, } from '../NativeSwapChain.js';
8
+ import { nativeSwapApiBaseUrl, nativeSwapStreamingInterval, THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS, } from '../NativeSwapChain.js';
8
9
  import { getNativeSwapDecimals } from '../utils/getNativeSwapDecimals.js';
9
10
  import { buildAffiliateParams } from './affiliate.js';
10
- export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amount, affiliateBps, referral, }) => {
11
- const [fromAsset, toAsset] = [from, to].map(asset => toNativeSwapAsset(asset));
12
- const fromDecimals = getNativeSwapDecimals(from);
13
- const chainAmount = toChainAmount(amount, fromDecimals);
14
- const swapBaseUrl = `${nativeSwapApiBaseUrl[swapChain]}/quote/swap`;
11
+ const THORCHAIN_STREAMING_SWAP_INTERVAL = 1;
12
+ const requestNativeSwapQuote = async ({ swapChain, swapBaseUrl, fromAsset, toAsset, chainAmount, destination, streamingInterval, streamingQuantity, affiliateBps, referral, from, }) => {
15
13
  const params = new URLSearchParams({
16
14
  from_asset: fromAsset,
17
15
  to_asset: toAsset,
18
16
  amount: chainAmount.toString(),
19
17
  destination,
20
- streaming_interval: String(nativeSwapStreamingInterval[swapChain]),
18
+ streaming_interval: String(streamingInterval),
19
+ ...(streamingQuantity !== undefined
20
+ ? { streaming_quantity: String(streamingQuantity) }
21
+ : {}),
21
22
  ...(affiliateBps !== undefined
22
23
  ? buildAffiliateParams({
23
24
  swapChain,
@@ -27,7 +28,9 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
27
28
  : {}),
28
29
  });
29
30
  const url = `${swapBaseUrl}?${params.toString()}`;
30
- const result = await queryUrl(url);
31
+ return queryUrl(url);
32
+ };
33
+ const assertOkQuote = (result, from) => {
31
34
  if ('error' in result) {
32
35
  if (isInError(result.error, 'not enough asset to pay for fees')) {
33
36
  const { ticker } = chainFeeCoin[from.chain];
@@ -35,9 +38,82 @@ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amo
35
38
  }
36
39
  throw new Error(result.error);
37
40
  }
38
- return {
39
- ...result,
41
+ return result;
42
+ };
43
+ export const getNativeSwapQuote = async ({ swapChain, destination, from, to, amount, affiliateBps, referral, }) => {
44
+ const [fromAsset, toAsset] = [from, to].map(asset => toNativeSwapAsset(asset));
45
+ const fromDecimals = getNativeSwapDecimals(from);
46
+ const chainAmount = toChainAmount(amount, fromDecimals);
47
+ const swapBaseUrl = `${nativeSwapApiBaseUrl[swapChain]}/quote/swap`;
48
+ if (swapChain !== Chain.THORChain) {
49
+ const result = await requestNativeSwapQuote({
50
+ swapChain,
51
+ swapBaseUrl,
52
+ fromAsset,
53
+ toAsset,
54
+ chainAmount,
55
+ destination,
56
+ streamingInterval: nativeSwapStreamingInterval[swapChain],
57
+ affiliateBps,
58
+ referral,
59
+ from,
60
+ });
61
+ return {
62
+ ...assertOkQuote(result, from),
63
+ swapChain,
64
+ };
65
+ }
66
+ const rapidResult = await requestNativeSwapQuote({
40
67
  swapChain,
41
- };
68
+ swapBaseUrl,
69
+ fromAsset,
70
+ toAsset,
71
+ chainAmount,
72
+ destination,
73
+ streamingInterval: nativeSwapStreamingInterval[swapChain],
74
+ affiliateBps,
75
+ referral,
76
+ from,
77
+ });
78
+ const rapid = assertOkQuote(rapidResult, from);
79
+ const totalBps = rapid.fees.total_bps;
80
+ if (totalBps === undefined ||
81
+ totalBps <= THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS) {
82
+ return { ...rapid, swapChain };
83
+ }
84
+ const streamingQuantity = rapid.max_streaming_quantity !== undefined &&
85
+ rapid.max_streaming_quantity > 0
86
+ ? rapid.max_streaming_quantity
87
+ : undefined;
88
+ let streaming;
89
+ try {
90
+ const streamingRes = await requestNativeSwapQuote({
91
+ swapChain,
92
+ swapBaseUrl,
93
+ fromAsset,
94
+ toAsset,
95
+ chainAmount,
96
+ destination,
97
+ streamingInterval: THORCHAIN_STREAMING_SWAP_INTERVAL,
98
+ streamingQuantity,
99
+ affiliateBps,
100
+ referral,
101
+ from,
102
+ });
103
+ streaming = assertOkQuote(streamingRes, from);
104
+ }
105
+ catch (error) {
106
+ console.warn('[thorchain] streaming quote failed after elevated rapid slippage; using rapid quote', error);
107
+ return { ...rapid, swapChain };
108
+ }
109
+ try {
110
+ if (BigInt(streaming.expected_amount_out) > BigInt(rapid.expected_amount_out)) {
111
+ return { ...streaming, swapChain };
112
+ }
113
+ }
114
+ catch {
115
+ return { ...rapid, swapChain };
116
+ }
117
+ return { ...rapid, swapChain };
42
118
  };
43
119
  //# sourceMappingURL=getNativeSwapQuote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNativeSwapQuote.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,SAAS,CAAA;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EACL,oBAAoB,EAEpB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAgBlD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,SAAS,EACT,WAAW,EACX,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAY,EACZ,QAAQ,GACgB,EAA4B,EAAE;IACtD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IAE9E,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAEhD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAEvD,MAAM,WAAW,GAAG,GAAG,oBAAoB,CAAC,SAAS,CAAC,aAAa,CAAA;IAEnE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;QAC9B,WAAW;QACX,kBAAkB,EAAE,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAClE,GAAG,CAAC,YAAY,KAAK,SAAS;YAC5B,CAAC,CAAC,oBAAoB,CAAC;gBACnB,SAAS;gBACT,QAAQ;gBACR,YAAY;aACb,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;IAEjD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAE3B,GAAG,CAAC,CAAA;IAEN,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,kCAAkC,CAAC,EAAE,CAAC;YAChE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3C,MAAM,IAAI,KAAK,CACb,CAAC,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAC3D,CAAA;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getNativeSwapQuote.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/api/getNativeSwapQuote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * THORChain swap memos append `:<liquidity_tolerance>/<streaming_interval>/<streaming_quantity>`
3
+ * for streaming swaps. Rapid swaps omit this suffix.
4
+ */
5
+ export declare const parseThorchainSwapMemoStreaming: (memo: string) => {
6
+ streamingInterval: string;
7
+ streamingQuantity: string;
8
+ };
9
+ //# sourceMappingURL=parseThorchainSwapMemoStreaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseThorchainSwapMemoStreaming.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/utils/parseThorchainSwapMemoStreaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAC1C,MAAM,MAAM,KACX;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAYxD,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * THORChain swap memos append `:<liquidity_tolerance>/<streaming_interval>/<streaming_quantity>`
3
+ * for streaming swaps. Rapid swaps omit this suffix.
4
+ */
5
+ export const parseThorchainSwapMemoStreaming = (memo) => {
6
+ const segments = memo.split(':');
7
+ for (let i = segments.length - 1; i >= 0; i -= 1) {
8
+ const triple = /^(\d+)\/(\d+)\/(\d+)$/.exec(segments[i]);
9
+ if (triple) {
10
+ return {
11
+ streamingInterval: triple[2],
12
+ streamingQuantity: triple[3],
13
+ };
14
+ }
15
+ }
16
+ return { streamingInterval: '0', streamingQuantity: '0' };
17
+ };
18
+ //# sourceMappingURL=parseThorchainSwapMemoStreaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseThorchainSwapMemoStreaming.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/utils/parseThorchainSwapMemoStreaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,IAAY,EAC8C,EAAE;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC5B,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;aAC7B,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAA;AAC3D,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "1.4.3",
3
+ "version": "1.5.0",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1350,6 +1350,11 @@
1350
1350
  "import": "./dist/swap/native/utils/getNativeSwapDecimals.js",
1351
1351
  "default": "./dist/swap/native/utils/getNativeSwapDecimals.js"
1352
1352
  },
1353
+ "./swap/native/utils/parseThorchainSwapMemoStreaming": {
1354
+ "types": "./dist/swap/native/utils/parseThorchainSwapMemoStreaming.d.ts",
1355
+ "import": "./dist/swap/native/utils/parseThorchainSwapMemoStreaming.js",
1356
+ "default": "./dist/swap/native/utils/parseThorchainSwapMemoStreaming.js"
1357
+ },
1353
1358
  "./swap/NoSwapRoutesError": {
1354
1359
  "types": "./dist/swap/NoSwapRoutesError.d.ts",
1355
1360
  "import": "./dist/swap/NoSwapRoutesError.js",
@@ -1682,7 +1687,7 @@
1682
1687
  "@ton/crypto": "^3.3.0",
1683
1688
  "@trustwallet/wallet-core": "^4.6.0",
1684
1689
  "@vultisig/core-config": "0.9.1",
1685
- "@vultisig/lib-utils": "0.10.0",
1690
+ "@vultisig/lib-utils": "0.10.1",
1686
1691
  "bip32": "^5.0.1",
1687
1692
  "bitcoinjs-lib": "^7.0.1",
1688
1693
  "bs58": "^6.0.0",