@vultisig/core-chain 2.5.0 → 2.7.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/chains/cosmos/account/getCosmosAccountInfo.d.ts.map +1 -1
  3. package/dist/chains/cosmos/account/getCosmosAccountInfo.js +41 -5
  4. package/dist/chains/cosmos/account/getCosmosAccountInfo.js.map +1 -1
  5. package/dist/swap/NoSwapRoutesError.d.ts +2 -1
  6. package/dist/swap/NoSwapRoutesError.d.ts.map +1 -1
  7. package/dist/swap/NoSwapRoutesError.js +3 -2
  8. package/dist/swap/NoSwapRoutesError.js.map +1 -1
  9. package/dist/swap/SwapError.d.ts +18 -0
  10. package/dist/swap/SwapError.d.ts.map +1 -0
  11. package/dist/swap/SwapError.js +22 -0
  12. package/dist/swap/SwapError.js.map +1 -0
  13. package/dist/swap/general/GeneralSwapProvider.d.ts +1 -1
  14. package/dist/swap/general/GeneralSwapProvider.d.ts.map +1 -1
  15. package/dist/swap/general/GeneralSwapProvider.js +2 -1
  16. package/dist/swap/general/GeneralSwapProvider.js.map +1 -1
  17. package/dist/swap/general/GeneralSwapQuote.d.ts +34 -0
  18. package/dist/swap/general/GeneralSwapQuote.d.ts.map +1 -1
  19. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.d.ts +9 -0
  20. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.d.ts.map +1 -0
  21. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.js +11 -0
  22. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.js.map +1 -0
  23. package/dist/swap/general/cowswap/api/getCowSwapQuote.d.ts +14 -0
  24. package/dist/swap/general/cowswap/api/getCowSwapQuote.d.ts.map +1 -0
  25. package/dist/swap/general/cowswap/api/getCowSwapQuote.js +51 -0
  26. package/dist/swap/general/cowswap/api/getCowSwapQuote.js.map +1 -0
  27. package/dist/swap/general/cowswap/api/submitCowSwapOrder.d.ts +12 -0
  28. package/dist/swap/general/cowswap/api/submitCowSwapOrder.d.ts.map +1 -0
  29. package/dist/swap/general/cowswap/api/submitCowSwapOrder.js +17 -0
  30. package/dist/swap/general/cowswap/api/submitCowSwapOrder.js.map +1 -0
  31. package/dist/swap/general/cowswap/config.d.ts +18 -0
  32. package/dist/swap/general/cowswap/config.d.ts.map +1 -0
  33. package/dist/swap/general/cowswap/config.js +83 -0
  34. package/dist/swap/general/cowswap/config.js.map +1 -0
  35. package/dist/swap/general/cowswap/permit/buildEip2612Permit.d.ts +39 -0
  36. package/dist/swap/general/cowswap/permit/buildEip2612Permit.d.ts.map +1 -0
  37. package/dist/swap/general/cowswap/permit/buildEip2612Permit.js +32 -0
  38. package/dist/swap/general/cowswap/permit/buildEip2612Permit.js.map +1 -0
  39. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.d.ts +31 -0
  40. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.d.ts.map +1 -0
  41. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.js +45 -0
  42. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.js.map +1 -0
  43. package/dist/swap/general/cowswap/sign/buildEip712Domain.d.ts +9 -0
  44. package/dist/swap/general/cowswap/sign/buildEip712Domain.d.ts.map +1 -0
  45. package/dist/swap/general/cowswap/sign/buildEip712Domain.js +11 -0
  46. package/dist/swap/general/cowswap/sign/buildEip712Domain.js.map +1 -0
  47. package/dist/swap/general/cowswap/types.d.ts +31 -0
  48. package/dist/swap/general/cowswap/types.d.ts.map +1 -0
  49. package/dist/swap/general/cowswap/types.js +2 -0
  50. package/dist/swap/general/cowswap/types.js.map +1 -0
  51. package/dist/swap/general/lifi/api/getLifiSwapQuote.d.ts +11 -1
  52. package/dist/swap/general/lifi/api/getLifiSwapQuote.d.ts.map +1 -1
  53. package/dist/swap/general/lifi/api/getLifiSwapQuote.js +34 -2
  54. package/dist/swap/general/lifi/api/getLifiSwapQuote.js.map +1 -1
  55. package/dist/swap/general/swapkit/SwapKitErrors.d.ts +17 -0
  56. package/dist/swap/general/swapkit/SwapKitErrors.d.ts.map +1 -0
  57. package/dist/swap/general/swapkit/SwapKitErrors.js +22 -0
  58. package/dist/swap/general/swapkit/SwapKitErrors.js.map +1 -0
  59. package/dist/swap/general/swapkit/SwapKitProviders.d.ts +38 -0
  60. package/dist/swap/general/swapkit/SwapKitProviders.d.ts.map +1 -0
  61. package/dist/swap/general/swapkit/SwapKitProviders.js +134 -0
  62. package/dist/swap/general/swapkit/SwapKitProviders.js.map +1 -0
  63. package/dist/swap/general/swapkit/api/getSwapKitQuote.d.ts.map +1 -1
  64. package/dist/swap/general/swapkit/api/getSwapKitQuote.js +19 -5
  65. package/dist/swap/general/swapkit/api/getSwapKitQuote.js.map +1 -1
  66. package/dist/swap/keysign/getSwapDestinationAddress.d.ts.map +1 -1
  67. package/dist/swap/keysign/getSwapDestinationAddress.js +8 -0
  68. package/dist/swap/keysign/getSwapDestinationAddress.js.map +1 -1
  69. package/dist/swap/native/api/getNativeSwapQuote.d.ts.map +1 -1
  70. package/dist/swap/native/api/getNativeSwapQuote.js +1 -2
  71. package/dist/swap/native/api/getNativeSwapQuote.js.map +1 -1
  72. package/dist/swap/quote/findSwapQuote.d.ts +1 -1
  73. package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
  74. package/dist/swap/quote/findSwapQuote.js +31 -5
  75. package/dist/swap/quote/findSwapQuote.js.map +1 -1
  76. package/dist/swap/utils/getSwapExplorerUrl/index.d.ts +35 -0
  77. package/dist/swap/utils/getSwapExplorerUrl/index.d.ts.map +1 -0
  78. package/dist/swap/utils/getSwapExplorerUrl/index.js +53 -0
  79. package/dist/swap/utils/getSwapExplorerUrl/index.js.map +1 -0
  80. package/package.json +61 -2
@@ -0,0 +1,39 @@
1
+ export type Eip2612PermitMessage = {
2
+ owner: string;
3
+ spender: string;
4
+ value: string;
5
+ nonce: bigint;
6
+ deadline: bigint;
7
+ };
8
+ export type Eip2612PermitDomain = {
9
+ name: string;
10
+ version: string;
11
+ chainId: number;
12
+ verifyingContract: string;
13
+ };
14
+ export type Eip2612PermitTypedData = {
15
+ primaryType: 'Permit';
16
+ domain: Eip2612PermitDomain;
17
+ types: {
18
+ Permit: Array<{
19
+ name: string;
20
+ type: string;
21
+ }>;
22
+ };
23
+ message: Eip2612PermitMessage;
24
+ };
25
+ export type BuildEip2612PermitInput = {
26
+ tokenAddress: string;
27
+ tokenName: string;
28
+ chainId: number;
29
+ owner: string;
30
+ spender: string;
31
+ value: bigint;
32
+ nonce: bigint;
33
+ deadline: bigint;
34
+ };
35
+ /** Build EIP-2612 Permit typed data for a known-permit-token.
36
+ * The token must be in KNOWN_PERMIT_TOKENS for the chain — callers are
37
+ * responsible for checking eligibility before calling this function. */
38
+ export declare function buildEip2612Permit({ tokenAddress, tokenName, chainId, owner, spender, value, nonce, deadline, }: BuildEip2612PermitInput): Eip2612PermitTypedData;
39
+ //# sourceMappingURL=buildEip2612Permit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEip2612Permit.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/cowswap/permit/buildEip2612Permit.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IAEb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,QAAQ,CAAA;IACrB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,KAAK,EAAE;QACL,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAC9C,CAAA;IACD,OAAO,EAAE,oBAAoB,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IAGb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAUD;;wEAEwE;AACxE,wBAAgB,kBAAkB,CAAC,EACjC,YAAY,EACZ,SAAS,EACT,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,uBAAuB,GAAG,sBAAsB,CAoBlD"}
@@ -0,0 +1,32 @@
1
+ const PERMIT_TYPES = [
2
+ { name: 'owner', type: 'address' },
3
+ { name: 'spender', type: 'address' },
4
+ { name: 'value', type: 'uint256' },
5
+ { name: 'nonce', type: 'uint256' },
6
+ { name: 'deadline', type: 'uint256' },
7
+ ];
8
+ /** Build EIP-2612 Permit typed data for a known-permit-token.
9
+ * The token must be in KNOWN_PERMIT_TOKENS for the chain — callers are
10
+ * responsible for checking eligibility before calling this function. */
11
+ export function buildEip2612Permit({ tokenAddress, tokenName, chainId, owner, spender, value, nonce, deadline, }) {
12
+ return {
13
+ primaryType: 'Permit',
14
+ domain: {
15
+ name: tokenName,
16
+ version: '1',
17
+ chainId,
18
+ verifyingContract: tokenAddress,
19
+ },
20
+ types: {
21
+ Permit: PERMIT_TYPES,
22
+ },
23
+ message: {
24
+ owner: owner.toLowerCase(),
25
+ spender: spender.toLowerCase(),
26
+ value: value.toString(),
27
+ nonce,
28
+ deadline,
29
+ },
30
+ };
31
+ }
32
+ //# sourceMappingURL=buildEip2612Permit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEip2612Permit.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/cowswap/permit/buildEip2612Permit.ts"],"names":[],"mappings":"AAsCA,MAAM,YAAY,GAAG;IACnB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;CACtC,CAAA;AAED;;wEAEwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,EACjC,YAAY,EACZ,SAAS,EACT,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,GACgB;IACxB,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;YACZ,OAAO;YACP,iBAAiB,EAAE,YAAY;SAChC;QACD,KAAK,EAAE;YACL,MAAM,EAAE,YAAY;SACrB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;YAC1B,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YAC9B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YACvB,KAAK;YACL,QAAQ;SACT;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { CowSwapOrderKind, CowSwapQuoteApiResponse } from '../types.js';
2
+ export type CowSwapTokenBalance = 'erc20' | 'external' | 'internal';
3
+ export type CowSwapOrder = {
4
+ sellToken: string;
5
+ buyToken: string;
6
+ receiver: string;
7
+ sellAmount: string;
8
+ buyAmount: string;
9
+ validTo: number;
10
+ appData: string;
11
+ appDataHash: string;
12
+ feeAmount: string;
13
+ kind: CowSwapOrderKind;
14
+ partiallyFillable: boolean;
15
+ sellTokenBalance: CowSwapTokenBalance;
16
+ buyTokenBalance: CowSwapTokenBalance;
17
+ };
18
+ export type BuildCowSwapOrderInput = {
19
+ quoteResponse: CowSwapQuoteApiResponse;
20
+ receiver: string;
21
+ affiliateBps?: number;
22
+ };
23
+ /** Canonical appData JSON for a given affiliate configuration. */
24
+ export declare function buildCowSwapAppData(affiliateBps: number, feeRecipient: string): string;
25
+ /** Compute keccak256 of an arbitrary string. Uses viem's battle-tested
26
+ * implementation rather than a hand-rolled one. Returns a 0x-prefixed
27
+ * 32-byte hex string. */
28
+ export declare function keccak256Hex(input: string): string;
29
+ /** Build a CowSwap Order struct from a quote API response. */
30
+ export declare function buildCowSwapOrder({ quoteResponse, receiver, affiliateBps }: BuildCowSwapOrderInput): CowSwapOrder;
31
+ //# sourceMappingURL=buildCowSwapOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCowSwapOrder.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/cowswap/sign/buildCowSwapOrder.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEpE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;AAEnE,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,gBAAgB,EAAE,mBAAmB,CAAA;IACrC,eAAe,EAAE,mBAAmB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,uBAAuB,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAWtF;AAED;;yBAEyB;AACzB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,sBAAsB,GAAG,YAAY,CAuBjH"}
@@ -0,0 +1,45 @@
1
+ import { keccak256, stringToHex } from 'viem';
2
+ import { COWSWAP_APP_CODE, COWSWAP_APP_VERSION, COWSWAP_DEFAULT_AFFILIATE_BPS, COWSWAP_FEE_RECIPIENT, COWSWAP_VALID_TO_SECONDS, } from '../config.js';
3
+ /** Canonical appData JSON for a given affiliate configuration. */
4
+ export function buildCowSwapAppData(affiliateBps, feeRecipient) {
5
+ return JSON.stringify({
6
+ appCode: COWSWAP_APP_CODE,
7
+ version: COWSWAP_APP_VERSION,
8
+ metadata: {
9
+ partnerFee: {
10
+ bps: affiliateBps,
11
+ recipient: feeRecipient.toLowerCase(),
12
+ },
13
+ },
14
+ });
15
+ }
16
+ /** Compute keccak256 of an arbitrary string. Uses viem's battle-tested
17
+ * implementation rather than a hand-rolled one. Returns a 0x-prefixed
18
+ * 32-byte hex string. */
19
+ export function keccak256Hex(input) {
20
+ return keccak256(stringToHex(input));
21
+ }
22
+ /** Build a CowSwap Order struct from a quote API response. */
23
+ export function buildCowSwapOrder({ quoteResponse, receiver, affiliateBps }) {
24
+ const bps = affiliateBps ?? COWSWAP_DEFAULT_AFFILIATE_BPS;
25
+ const appData = buildCowSwapAppData(bps, COWSWAP_FEE_RECIPIENT);
26
+ const appDataHash = keccak256Hex(appData);
27
+ const validTo = Math.floor(Date.now() / 1000) + COWSWAP_VALID_TO_SECONDS;
28
+ const { quote } = quoteResponse;
29
+ return {
30
+ sellToken: quote.sellToken,
31
+ buyToken: quote.buyToken,
32
+ receiver,
33
+ sellAmount: quote.sellAmount,
34
+ buyAmount: quote.buyAmount,
35
+ validTo,
36
+ appData,
37
+ appDataHash,
38
+ feeAmount: quote.feeAmount,
39
+ kind: quote.kind,
40
+ partiallyFillable: quote.partiallyFillable,
41
+ sellTokenBalance: 'erc20',
42
+ buyTokenBalance: 'erc20',
43
+ };
44
+ }
45
+ //# sourceMappingURL=buildCowSwapOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCowSwapOrder.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/cowswap/sign/buildCowSwapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAE7C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,WAAW,CAAA;AA2BlB,kEAAkE;AAClE,MAAM,UAAU,mBAAmB,CAAC,YAAoB,EAAE,YAAoB;IAC5E,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE;YACR,UAAU,EAAE;gBACV,GAAG,EAAE,YAAY;gBACjB,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE;aACtC;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;yBAEyB;AACzB,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAA0B;IACjG,MAAM,GAAG,GAAG,YAAY,IAAI,6BAA6B,CAAA;IACzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,wBAAwB,CAAA;IAExE,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAA;IAE/B,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ;QACR,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO;QACP,OAAO;QACP,WAAW;QACX,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,gBAAgB,EAAE,OAAO;QACzB,eAAe,EAAE,OAAO;KACzB,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type Eip712Domain = {
2
+ name: string;
3
+ version: string;
4
+ chainId: number;
5
+ verifyingContract: string;
6
+ };
7
+ /** Build the EIP-712 domain separator for CowSwap GPv2. */
8
+ export declare function buildEip712Domain(chainId: number): Eip712Domain;
9
+ //# sourceMappingURL=buildEip712Domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEip712Domain.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/cowswap/sign/buildEip712Domain.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAO/D"}
@@ -0,0 +1,11 @@
1
+ import { COW_SETTLEMENT_ADDRESS } from '../config.js';
2
+ /** Build the EIP-712 domain separator for CowSwap GPv2. */
3
+ export function buildEip712Domain(chainId) {
4
+ return {
5
+ name: 'Gnosis Protocol',
6
+ version: 'v2',
7
+ chainId,
8
+ verifyingContract: COW_SETTLEMENT_ADDRESS,
9
+ };
10
+ }
11
+ //# sourceMappingURL=buildEip712Domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEip712Domain.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/cowswap/sign/buildEip712Domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AASlD,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,IAAI;QACb,OAAO;QACP,iBAAiB,EAAE,sBAAsB;KAC1C,CAAA;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ export type CowSwapOrderKind = 'sell' | 'buy';
2
+ /** Raw CowSwap quote object returned by POST /api/v1/quote */
3
+ export type CowSwapQuoteObject = {
4
+ sellToken: string;
5
+ buyToken: string;
6
+ receiver: string;
7
+ sellAmount: string;
8
+ buyAmount: string;
9
+ validTo: number;
10
+ appData: string;
11
+ feeAmount: string;
12
+ kind: CowSwapOrderKind;
13
+ partiallyFillable: boolean;
14
+ sellTokenBalance: string;
15
+ buyTokenBalance: string;
16
+ };
17
+ /** Full response envelope from POST /api/v1/quote */
18
+ export type CowSwapQuoteApiResponse = {
19
+ quote: CowSwapQuoteObject;
20
+ from: string;
21
+ expiration: string;
22
+ id: number;
23
+ };
24
+ /** Status returned by GET /api/v1/orders/{uid} */
25
+ export type CowSwapOrderStatus = 'open' | 'filled' | 'cancelled' | 'expired';
26
+ export type CowSwapOrderStatusResponse = {
27
+ status: CowSwapOrderStatus;
28
+ txHash?: string;
29
+ executedBuyAmount?: string;
30
+ };
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/cowswap/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,CAAA;AAE7C,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,qDAAqD;AACrD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,kBAAkB,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;AAE5E,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/cowswap/types.ts"],"names":[],"mappings":""}
@@ -2,10 +2,20 @@ import { LifiSwapEnabledChain } from '@vultisig/core-chain/swap/general/lifi/Lif
2
2
  import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
3
3
  import { AccountCoinKey } from '../../../../coin/AccountCoin.js';
4
4
  import { GeneralSwapQuote } from '../../GeneralSwapQuote.js';
5
- type Input = Record<TransferDirection, AccountCoinKey<LifiSwapEnabledChain>> & {
5
+ type Input = Record<TransferDirection, AccountCoinKey<LifiSwapEnabledChain> & {
6
+ ticker?: string;
7
+ }> & {
6
8
  amount: bigint;
7
9
  affiliateBps?: number;
8
10
  };
11
+ /** @internal exported for unit tests only */
12
+ export declare const STABLE_TICKERS: ReadonlySet<string>;
13
+ /** @internal exported for unit tests only */
14
+ export declare const isStablePair: (from: {
15
+ ticker?: string;
16
+ }, to: {
17
+ ticker?: string;
18
+ }) => boolean;
9
19
  export declare const getLifiSwapQuote: ({ amount, affiliateBps, ...transfer }: Input) => Promise<GeneralSwapQuote>;
10
20
  export {};
11
21
  //# sourceMappingURL=getLifiSwapQuote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLifiSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAuFD,eAAO,MAAM,gBAAgB,GAAU,uCAAuC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA4J7G,CAAA"}
1
+ {"version":3,"file":"getLifiSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IACnG,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAKD,6CAA6C;AAC7C,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAa7C,CAAA;AAKF,6CAA6C;AAC7C,eAAO,MAAM,YAAY,GAAI,MAAM;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OACxB,CAAA;AA+F1D,eAAO,MAAM,gBAAgB,GAAU,uCAAuC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAgK7G,CAAA"}
@@ -9,6 +9,27 @@ import { match } from '@vultisig/lib-utils/match';
9
9
  import { memoize } from '@vultisig/lib-utils/memoize';
10
10
  import { mirrorRecord } from '@vultisig/lib-utils/record/mirrorRecord';
11
11
  import { injectSolanaAtaIfMissing } from './injectSolanaAtaIfMissing.js';
12
+ // Stable-pair detection: tickers that commonly trade within a tight peg.
13
+ // DAI is included because on most DEXs DAI/USDC depth is comparable to
14
+ // USDC/USDT and the 0.3% ceiling is still safe headroom for MPC latency.
15
+ /** @internal exported for unit tests only */
16
+ export const STABLE_TICKERS = new Set([
17
+ 'USDC',
18
+ 'USDT',
19
+ 'DAI',
20
+ 'BUSD',
21
+ 'TUSD',
22
+ 'FRAX',
23
+ 'USDP',
24
+ 'GUSD',
25
+ 'LUSD',
26
+ 'USDD',
27
+ 'FDUSD',
28
+ 'PYUSD',
29
+ ]);
30
+ const isStableTicker = (ticker) => ticker !== undefined && STABLE_TICKERS.has(ticker.toUpperCase());
31
+ /** @internal exported for unit tests only */
32
+ export const isStablePair = (from, to) => isStableTicker(from.ticker) && isStableTicker(to.ticker);
12
33
  const setupLifi = memoize(() => {
13
34
  createConfig({
14
35
  integrator: lifiConfig.integratorName,
@@ -57,7 +78,15 @@ const setupLifi = memoize(() => {
57
78
  // through the resolver, tracked at vultisig/vultisig-sdk#NEW — TODO
58
79
  // open) lands as a clean diff rather than reshaping the function
59
80
  // body. Codex Round 1b review feedback (vultisig-sdk#513 r1).
81
+ //
82
+ // Two tiers (vultisig-sdk#524):
83
+ // - stable pairs (USDC/USDT/DAI/...): 0.3% — well above typical
84
+ // concentrated-liquidity spread (0.02-0.05%) but avoids the 1%
85
+ // MEV surface on tight-peg operations.
86
+ // - volatile pairs: 1% — covers MPC ceremony latency (30-90s) where
87
+ // price can move >0.5% on thin pairs. See full rationale above.
60
88
  const DEFAULT_LIFI_SLIPPAGE_TOLERANCE = 0.01;
89
+ const STABLE_PAIR_LIFI_SLIPPAGE_TOLERANCE = 0.003;
61
90
  // Combined affiliate + slippage ceiling. Defensive guard so a high
62
91
  // affiliateBps + the 1% slippage don't silently combine into a >3%
63
92
  // effective cost on the user without anyone noticing. Logged-only,
@@ -95,12 +124,15 @@ export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) =>
95
124
  const [fromChain, toChain] = [transfer.from, transfer.to].map(({ chain }) => lifiSwapChainId[chain]);
96
125
  const [fromToken, toToken] = [transfer.from, transfer.to].map(({ id, chain }) => id ?? chainFeeCoin[chain].ticker);
97
126
  const [fromAddress, toAddress] = [transfer.from, transfer.to].map(({ address }) => address);
127
+ const slippage = isStablePair(transfer.from, transfer.to)
128
+ ? STABLE_PAIR_LIFI_SLIPPAGE_TOLERANCE
129
+ : DEFAULT_LIFI_SLIPPAGE_TOLERANCE;
98
130
  // Defensive: log when affiliate + slippage combined cost crosses the
99
131
  // 3% ceiling. Today affiliateBps is typically 0 and slippage is 1%,
100
132
  // so 100bps total — well under the ceiling — but a future bump to
101
133
  // affiliateBps shouldn't silently combine into a >3% effective cost
102
134
  // on the user without anyone noticing. NeOMakinG #513 r1.
103
- const combinedCostBps = (affiliateBps ?? 0) + DEFAULT_LIFI_SLIPPAGE_TOLERANCE * 10000;
135
+ const combinedCostBps = (affiliateBps ?? 0) + slippage * 10000;
104
136
  if (combinedCostBps > MAX_COMBINED_COST_BPS) {
105
137
  console.warn(`[getLifiSwapQuote] affiliate + slippage combined cost exceeds ${MAX_COMBINED_COST_BPS}bps: ${combinedCostBps}bps`);
106
138
  }
@@ -113,7 +145,7 @@ export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) =>
113
145
  fromAddress,
114
146
  toAddress,
115
147
  fee: affiliateBps ? affiliateBps / 10000 : undefined,
116
- slippage: DEFAULT_LIFI_SLIPPAGE_TOLERANCE,
148
+ slippage,
117
149
  });
118
150
  const { transactionRequest, estimate } = quote;
119
151
  const chainKind = getChainKind(transfer.from.chain);
@@ -1 +1 @@
1
- {"version":3,"file":"getLifiSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getLifiSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAmB,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAwB,MAAM,8DAA8D,CAAA;AACpH,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAKtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAOrE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACR,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,MAA0B,EAAW,EAAE,CAC7D,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;AAElE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,EAAuB,EAAW,EAAE,CAC1F,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;AAE1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;IAC7B,YAAY,CAAC;QACX,UAAU,EAAE,UAAU,CAAC,cAAc;KACtC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,+DAA+D;AAC/D,oEAAoE;AACpE,gEAAgE;AAChE,oEAAoE;AACpE,kEAAkE;AAClE,iEAAiE;AACjE,6DAA6D;AAC7D,kEAAkE;AAClE,8DAA8D;AAC9D,yDAAyD;AACzD,iEAAiE;AACjE,gEAAgE;AAChE,kEAAkE;AAClE,8DAA8D;AAC9D,+DAA+D;AAC/D,oDAAoD;AACpD,EAAE;AACF,iEAAiE;AACjE,iEAAiE;AACjE,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,mEAAmE;AACnE,8DAA8D;AAC9D,oDAAoD;AACpD,EAAE;AACF,2DAA2D;AAC3D,kEAAkE;AAClE,sEAAsE;AACtE,mEAAmE;AACnE,qEAAqE;AACrE,mEAAmE;AACnE,iEAAiE;AACjE,gEAAgE;AAChE,mEAAmE;AACnE,gEAAgE;AAChE,mEAAmE;AACnE,EAAE;AACF,6DAA6D;AAC7D,iEAAiE;AACjE,oEAAoE;AACpE,iEAAiE;AACjE,8DAA8D;AAC9D,EAAE;AACF,gCAAgC;AAChC,gEAAgE;AAChE,iEAAiE;AACjE,yCAAyC;AACzC,oEAAoE;AACpE,kEAAkE;AAClE,MAAM,+BAA+B,GAAG,IAAI,CAAA;AAC5C,MAAM,mCAAmC,GAAG,KAAK,CAAA;AAEjD,mEAAmE;AACnE,mEAAmE;AACnE,mEAAmE;AACnE,mEAAmE;AACnE,0BAA0B;AAC1B,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEjC,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,yEAAyE;AACzE,4DAA4D;AAC5D,EAAE;AACF,2EAA2E;AAC3E,qEAAqE;AACrE,8DAA8D;AAC9D,uEAAuE;AACvE,wEAAwE;AACxE,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,QAA8B,EAAwB,EAAE;IACrG,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAA;IACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wCAAwC,OAAO,4CAA4C,QAAQ,EAAE,CAAC,CAAA;QACnH,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAS,EAA6B,EAAE;IAChH,SAAS,EAAE,CAAA;IAEX,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;IAClH,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;IAE3F,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,mCAAmC;QACrC,CAAC,CAAC,+BAA+B,CAAA;IAEnC,qEAAqE;IACrE,oEAAoE;IACpE,kEAAkE;IAClE,oEAAoE;IACpE,0DAA0D;IAC1D,MAAM,eAAe,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAA;IAC9D,IAAI,eAAe,GAAG,qBAAqB,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CACV,iEAAiE,qBAAqB,QAAQ,eAAe,KAAK,CACnH,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC7B,WAAW;QACX,SAAS;QACT,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAE9C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAA;IAE/E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,8DAA8D;IAC9D,IAAI,SAAS,KAAK,QAAQ,IAAI,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QACjF,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;QACvC,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3F,MAAM,cAAc,GAClB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QAE7G,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QACnH,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,+EAA+E;QAC/E,8EAA8E;QAC9E,gFAAgF;QAEhF,wFAAwF;QACxF,kFAAkF;QAClF,iFAAiF;QACjF,gHAAgH;QAChH,mFAAmF;QACnF,kFAAkF;QAClF,2EAA2E;QAC3E,uDAAuD;QACvD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAE7E,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,QAAQ;YAC5B,QAAQ,EAAE,OAAO;YACjB,EAAE,EAAE;gBACF,MAAM,EAAE;oBACN,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa;oBACrD,OAAO,EAAE;wBACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;wBAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;wBACtE,EAAE,EAAE,cAAc;qBACnB;iBACF;aACF;SACF,CAAA;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,QAAQ;QAC5B,QAAQ,EAAE,OAAO;QACjB,EAAE,EAAE,KAAK,CAAgE,SAAS,EAAE;YAClF,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;gBACvC,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;gBAE9C,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;gBAEtC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE3F,MAAM,cAAc,GAClB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;gBAE7G,OAAO;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;wBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;wBACrC,OAAO,EAAE;4BACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;4BAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;4BAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;4BACtE,EAAE,EAAE,cAAc;yBACnB;qBACF;iBACF,CAAA;YACH,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,0DAA0D;gBAC1D,mEAAmE;gBACnE,kEAAkE;gBAClE,mEAAmE;gBACnE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,yDAAyD;gBACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC1E,+DAA+D;gBAC/D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,+CAA+C;gBAC/C,MAAM,cAAc,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;gBAC3D,MAAM,cAAc,GAClB,OAAO;oBACP,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;wBACzE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;gBACzC,OAAO;oBACL,GAAG,EAAE;wBACH,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;wBAC3B,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC;wBACvB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;wBAChD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;wBACjD,GAAG,CAAC,OAAO;4BACT,CAAC,CAAC;gCACE,YAAY,EAAE;oCACZ,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oCAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;oCAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oCACtE,EAAE,EAAE,cAAc;iCACnB;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF,CAAA;YACH,CAAC;SACF,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ /** No SwapKit provider returned an eligible route for the requested swap. */
3
+ export declare class SwapKitNoEligibleRoutesError extends Error {
4
+ constructor();
5
+ }
6
+ /**
7
+ * The SwapKit pair is structurally supported (per the cached `/providers`
8
+ * snapshot) but no route was returned — i.e. the amount is below the provider
9
+ * minimum. Synthetic: never decoded from a SwapKit response, only raised by
10
+ * `getSwapKitQuote` after the pair cross-check. Mirrors vultisig-ios #4418.
11
+ */
12
+ export declare class SwapKitAmountBelowMinimumError extends Error {
13
+ readonly fromChain: Chain;
14
+ readonly toChain: Chain;
15
+ constructor(fromChain: Chain, toChain: Chain);
16
+ }
17
+ //# sourceMappingURL=SwapKitErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwapKitErrors.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAElD,6EAA6E;AAC7E,qBAAa,4BAA6B,SAAQ,KAAK;;CAItD;AAED;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IAErD,QAAQ,CAAC,SAAS,EAAE,KAAK;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK;gBADd,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,KAAK;CAI1B"}
@@ -0,0 +1,22 @@
1
+ /** No SwapKit provider returned an eligible route for the requested swap. */
2
+ export class SwapKitNoEligibleRoutesError extends Error {
3
+ constructor() {
4
+ super('SwapKit returned no eligible routes.');
5
+ }
6
+ }
7
+ /**
8
+ * The SwapKit pair is structurally supported (per the cached `/providers`
9
+ * snapshot) but no route was returned — i.e. the amount is below the provider
10
+ * minimum. Synthetic: never decoded from a SwapKit response, only raised by
11
+ * `getSwapKitQuote` after the pair cross-check. Mirrors vultisig-ios #4418.
12
+ */
13
+ export class SwapKitAmountBelowMinimumError extends Error {
14
+ fromChain;
15
+ toChain;
16
+ constructor(fromChain, toChain) {
17
+ super(`SwapKit amount below provider minimum for ${fromChain} -> ${toChain}.`);
18
+ this.fromChain = fromChain;
19
+ this.toChain = toChain;
20
+ }
21
+ }
22
+ //# sourceMappingURL=SwapKitErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwapKitErrors.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitErrors.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD;QACE,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAC/C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAE5C;IACA;IAFX,YACW,SAAgB,EAChB,OAAc;QAEvB,KAAK,CAAC,6CAA6C,SAAS,OAAO,OAAO,GAAG,CAAC,CAAA;QAHrE,cAAS,GAAT,SAAS,CAAO;QAChB,YAAO,GAAP,OAAO,CAAO;IAGzB,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import { SwapKitEnabledChain, SwapKitSourceChain } from '@vultisig/core-chain/swap/general/swapkit/SwapKitEnabledChains';
2
+ /**
3
+ * Providers handled by the dedicated native THORChain/MayaChain path, never via
4
+ * SwapKit aggregation. Filtered out of both route selection and the pair-support
5
+ * cross-check so a native-only provider can't make a pair look SwapKit-routable.
6
+ */
7
+ export declare const swapKitExcludedProviders: Set<string>;
8
+ export declare const normalizeSwapKitProvider: (provider: string) => string;
9
+ export type SwapKitProviderInfo = {
10
+ provider: string;
11
+ enabledChainIds: string[];
12
+ };
13
+ /** Test-only: clear the in-memory `/providers` snapshot. */
14
+ export declare const resetSwapKitProvidersCache: () => void;
15
+ /**
16
+ * Fetches and caches SwapKit's `/providers` snapshot. The snapshot rarely changes
17
+ * and is only needed on the unhappy path, so a coarse TTL is enough. On any
18
+ * failure returns an empty list, which callers treat as "unknown" (fail-open).
19
+ */
20
+ export declare const getSwapKitProviders: () => Promise<SwapKitProviderInfo[]>;
21
+ /**
22
+ * SwapKit collapses "amount below provider minimum" and "pair not supported" into
23
+ * the same `noRoutesFound` 404, so the envelope alone can't disambiguate them.
24
+ * Cross-check the cached `/providers` snapshot: if a single non-excluded provider
25
+ * enables BOTH chains, the pair is structurally supported, so a no-route result
26
+ * must be amount-related. Mirrors vultisig-ios #4418.
27
+ *
28
+ * Intersection on a SINGLE provider (not a union across providers): a provider
29
+ * that enables both chains is far likelier to actually route between them than
30
+ * two providers each covering one side. Fails open (returns `true`) when the
31
+ * snapshot is unavailable — degrading to "amount too small" beats a misleading
32
+ * "no route" message.
33
+ */
34
+ export declare const isSwapKitPairSupported: ({ from, to, }: {
35
+ from: SwapKitSourceChain;
36
+ to: SwapKitEnabledChain;
37
+ }) => Promise<boolean>;
38
+ //# sourceMappingURL=SwapKitProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwapKitProviders.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitProviders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAGxH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,aAKnC,CAAA;AAEF,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,MACN,CAAA;AAiCtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAiBD,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,YAEtC,CAAA;AAwBD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,mBAAmB,EAAE,CAsCzE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAU,eAG1C;IACD,IAAI,EAAE,kBAAkB,CAAA;IACxB,EAAE,EAAE,mBAAmB,CAAA;CACxB,KAAG,OAAO,CAAC,OAAO,CAelB,CAAA"}
@@ -0,0 +1,134 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { getSwapKitConfig } from '@vultisig/core-chain/swap/general/swapkit/config';
3
+ import { attempt } from '@vultisig/lib-utils/attempt';
4
+ /**
5
+ * Providers handled by the dedicated native THORChain/MayaChain path, never via
6
+ * SwapKit aggregation. Filtered out of both route selection and the pair-support
7
+ * cross-check so a native-only provider can't make a pair look SwapKit-routable.
8
+ */
9
+ export const swapKitExcludedProviders = new Set([
10
+ 'THORCHAIN',
11
+ 'THORCHAIN_STREAMING',
12
+ 'MAYACHAIN',
13
+ 'MAYACHAIN_STREAMING',
14
+ ]);
15
+ export const normalizeSwapKitProvider = (provider) => provider.trim().toUpperCase().replace(/[-\s]/g, '_');
16
+ /**
17
+ * Chain → SwapKit `enabledChainIds` token as returned by `/providers`. EVM chains
18
+ * use their numeric EVM chain id; non-EVM chains use SwapKit's named id. This is a
19
+ * DISTINCT id-space from `swapKitChainId` (the asset-prefix used in `/v3/quote`).
20
+ */
21
+ const swapKitProviderChainId = {
22
+ [Chain.Ethereum]: '1',
23
+ [Chain.Arbitrum]: '42161',
24
+ [Chain.Avalanche]: '43114',
25
+ [Chain.Base]: '8453',
26
+ [Chain.BSC]: '56',
27
+ [Chain.Optimism]: '10',
28
+ [Chain.Polygon]: '137',
29
+ [Chain.Solana]: 'solana',
30
+ [Chain.Bitcoin]: 'bitcoin',
31
+ [Chain.BitcoinCash]: 'bitcoincash',
32
+ [Chain.Dogecoin]: 'dogecoin',
33
+ [Chain.Litecoin]: 'litecoin',
34
+ [Chain.Ripple]: 'ripple',
35
+ [Chain.Ton]: 'ton',
36
+ [Chain.Tron]: '728126428',
37
+ [Chain.Zcash]: 'zcash',
38
+ [Chain.Cardano]: 'cardano',
39
+ [Chain.Cosmos]: 'cosmos',
40
+ [Chain.Dash]: 'dash',
41
+ [Chain.Kujira]: 'kaiyo-1',
42
+ [Chain.MayaChain]: 'mayachain-mainnet-v1',
43
+ [Chain.Sui]: 'sui',
44
+ [Chain.THORChain]: 'thorchain-1',
45
+ };
46
+ const PROVIDERS_CACHE_TTL_MS = 10 * 60 * 1000;
47
+ // Short timeout so a stalled /providers call fails open fast instead of dragging
48
+ // out the no-route classification path (the outer findSwapQuote per-fetcher
49
+ // timeout would also catch it, but much later).
50
+ const PROVIDERS_FETCH_TIMEOUT_MS = 5_000;
51
+ let providersCache = null;
52
+ /** Test-only: clear the in-memory `/providers` snapshot. */
53
+ export const resetSwapKitProvidersCache = () => {
54
+ providersCache = null;
55
+ };
56
+ const parseProviders = (data) => {
57
+ const list = Array.isArray(data) ? data : [];
58
+ return list.flatMap(entry => {
59
+ if (typeof entry !== 'object' || entry === null) {
60
+ return [];
61
+ }
62
+ const { provider, enabledChainIds } = entry;
63
+ if (typeof provider !== 'string' || !Array.isArray(enabledChainIds)) {
64
+ return [];
65
+ }
66
+ return [
67
+ {
68
+ provider,
69
+ enabledChainIds: enabledChainIds.filter((id) => typeof id === 'string'),
70
+ },
71
+ ];
72
+ });
73
+ };
74
+ /**
75
+ * Fetches and caches SwapKit's `/providers` snapshot. The snapshot rarely changes
76
+ * and is only needed on the unhappy path, so a coarse TTL is enough. On any
77
+ * failure returns an empty list, which callers treat as "unknown" (fail-open).
78
+ */
79
+ export const getSwapKitProviders = async () => {
80
+ const { apiKey, baseUrl } = getSwapKitConfig();
81
+ if (providersCache &&
82
+ providersCache.baseUrl === baseUrl &&
83
+ Date.now() - providersCache.fetchedAt < PROVIDERS_CACHE_TTL_MS) {
84
+ return providersCache.providers;
85
+ }
86
+ const trimmedApiKey = apiKey?.trim();
87
+ const result = await attempt(async () => {
88
+ const controller = new AbortController();
89
+ const timeoutId = setTimeout(() => controller.abort(), PROVIDERS_FETCH_TIMEOUT_MS);
90
+ try {
91
+ const response = await fetch(`${baseUrl.replace(/\/$/, '')}/providers`, {
92
+ headers: trimmedApiKey ? { 'x-api-key': trimmedApiKey } : {},
93
+ signal: controller.signal,
94
+ });
95
+ if (!response.ok) {
96
+ throw new Error(`SwapKit providers request failed (${response.status})`);
97
+ }
98
+ return parseProviders(await response.json());
99
+ }
100
+ finally {
101
+ clearTimeout(timeoutId);
102
+ }
103
+ });
104
+ if ('error' in result) {
105
+ return [];
106
+ }
107
+ providersCache = { baseUrl, providers: result.data, fetchedAt: Date.now() };
108
+ return result.data;
109
+ };
110
+ /**
111
+ * SwapKit collapses "amount below provider minimum" and "pair not supported" into
112
+ * the same `noRoutesFound` 404, so the envelope alone can't disambiguate them.
113
+ * Cross-check the cached `/providers` snapshot: if a single non-excluded provider
114
+ * enables BOTH chains, the pair is structurally supported, so a no-route result
115
+ * must be amount-related. Mirrors vultisig-ios #4418.
116
+ *
117
+ * Intersection on a SINGLE provider (not a union across providers): a provider
118
+ * that enables both chains is far likelier to actually route between them than
119
+ * two providers each covering one side. Fails open (returns `true`) when the
120
+ * snapshot is unavailable — degrading to "amount too small" beats a misleading
121
+ * "no route" message.
122
+ */
123
+ export const isSwapKitPairSupported = async ({ from, to, }) => {
124
+ const providers = await getSwapKitProviders();
125
+ if (providers.length === 0) {
126
+ return true;
127
+ }
128
+ const fromId = swapKitProviderChainId[from];
129
+ const toId = swapKitProviderChainId[to];
130
+ return providers.some(({ provider, enabledChainIds }) => !swapKitExcludedProviders.has(normalizeSwapKitProvider(provider)) &&
131
+ enabledChainIds.includes(fromId) &&
132
+ enabledChainIds.includes(toId));
133
+ };
134
+ //# sourceMappingURL=SwapKitProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwapKitProviders.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/swapkit/SwapKitProviders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSwapKitQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oDAAoD,CAAA;AAEpG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAGxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAoqBD,eAAO,MAAM,eAAe,GAAU,+CAMnC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA2BlC,CAAA"}
1
+ {"version":3,"file":"getSwapKitQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oDAAoD,CAAA;AAEpG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAYxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAgqBD,eAAO,MAAM,eAAe,GAAU,+CAMnC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA0ClC,CAAA"}