@vultisig/core-chain 2.4.1 → 2.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +58 -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/coin/price/resolveTokenPriceId.d.ts +24 -0
  6. package/dist/coin/price/resolveTokenPriceId.d.ts.map +1 -0
  7. package/dist/coin/price/resolveTokenPriceId.js +31 -0
  8. package/dist/coin/price/resolveTokenPriceId.js.map +1 -0
  9. package/dist/swap/NoSwapRoutesError.d.ts +2 -1
  10. package/dist/swap/NoSwapRoutesError.d.ts.map +1 -1
  11. package/dist/swap/NoSwapRoutesError.js +3 -2
  12. package/dist/swap/NoSwapRoutesError.js.map +1 -1
  13. package/dist/swap/SwapError.d.ts +18 -0
  14. package/dist/swap/SwapError.d.ts.map +1 -0
  15. package/dist/swap/SwapError.js +22 -0
  16. package/dist/swap/SwapError.js.map +1 -0
  17. package/dist/swap/general/GeneralSwapProvider.d.ts +1 -1
  18. package/dist/swap/general/GeneralSwapProvider.d.ts.map +1 -1
  19. package/dist/swap/general/GeneralSwapProvider.js +2 -1
  20. package/dist/swap/general/GeneralSwapProvider.js.map +1 -1
  21. package/dist/swap/general/GeneralSwapQuote.d.ts +24 -0
  22. package/dist/swap/general/GeneralSwapQuote.d.ts.map +1 -1
  23. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.d.ts +9 -0
  24. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.d.ts.map +1 -0
  25. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.js +11 -0
  26. package/dist/swap/general/cowswap/api/getCowSwapOrderStatus.js.map +1 -0
  27. package/dist/swap/general/cowswap/api/getCowSwapQuote.d.ts +14 -0
  28. package/dist/swap/general/cowswap/api/getCowSwapQuote.d.ts.map +1 -0
  29. package/dist/swap/general/cowswap/api/getCowSwapQuote.js +51 -0
  30. package/dist/swap/general/cowswap/api/getCowSwapQuote.js.map +1 -0
  31. package/dist/swap/general/cowswap/api/submitCowSwapOrder.d.ts +12 -0
  32. package/dist/swap/general/cowswap/api/submitCowSwapOrder.d.ts.map +1 -0
  33. package/dist/swap/general/cowswap/api/submitCowSwapOrder.js +17 -0
  34. package/dist/swap/general/cowswap/api/submitCowSwapOrder.js.map +1 -0
  35. package/dist/swap/general/cowswap/config.d.ts +18 -0
  36. package/dist/swap/general/cowswap/config.d.ts.map +1 -0
  37. package/dist/swap/general/cowswap/config.js +83 -0
  38. package/dist/swap/general/cowswap/config.js.map +1 -0
  39. package/dist/swap/general/cowswap/permit/buildEip2612Permit.d.ts +39 -0
  40. package/dist/swap/general/cowswap/permit/buildEip2612Permit.d.ts.map +1 -0
  41. package/dist/swap/general/cowswap/permit/buildEip2612Permit.js +32 -0
  42. package/dist/swap/general/cowswap/permit/buildEip2612Permit.js.map +1 -0
  43. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.d.ts +31 -0
  44. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.d.ts.map +1 -0
  45. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.js +45 -0
  46. package/dist/swap/general/cowswap/sign/buildCowSwapOrder.js.map +1 -0
  47. package/dist/swap/general/cowswap/sign/buildEip712Domain.d.ts +9 -0
  48. package/dist/swap/general/cowswap/sign/buildEip712Domain.d.ts.map +1 -0
  49. package/dist/swap/general/cowswap/sign/buildEip712Domain.js +11 -0
  50. package/dist/swap/general/cowswap/sign/buildEip712Domain.js.map +1 -0
  51. package/dist/swap/general/cowswap/types.d.ts +31 -0
  52. package/dist/swap/general/cowswap/types.d.ts.map +1 -0
  53. package/dist/swap/general/cowswap/types.js +2 -0
  54. package/dist/swap/general/cowswap/types.js.map +1 -0
  55. package/dist/swap/general/lifi/api/getLifiSwapQuote.d.ts +11 -1
  56. package/dist/swap/general/lifi/api/getLifiSwapQuote.d.ts.map +1 -1
  57. package/dist/swap/general/lifi/api/getLifiSwapQuote.js +34 -2
  58. package/dist/swap/general/lifi/api/getLifiSwapQuote.js.map +1 -1
  59. package/dist/swap/keysign/getSwapDestinationAddress.d.ts.map +1 -1
  60. package/dist/swap/keysign/getSwapDestinationAddress.js +8 -0
  61. package/dist/swap/keysign/getSwapDestinationAddress.js.map +1 -1
  62. package/dist/swap/native/api/getNativeSwapQuote.d.ts.map +1 -1
  63. package/dist/swap/native/api/getNativeSwapQuote.js +1 -2
  64. package/dist/swap/native/api/getNativeSwapQuote.js.map +1 -1
  65. package/dist/swap/quote/findSwapQuote.d.ts +1 -1
  66. package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
  67. package/dist/swap/quote/findSwapQuote.js +35 -5
  68. package/dist/swap/quote/findSwapQuote.js.map +1 -1
  69. package/package.json +51 -2
@@ -0,0 +1,83 @@
1
+ import { EvmChain } from '@vultisig/core-chain/Chain';
2
+ export const cowSwapSupportedChains = [EvmChain.Ethereum, EvmChain.Arbitrum, EvmChain.Base, EvmChain.Avalanche];
3
+ // CowSwap GPv2 contract addresses — same across all supported EVM chains.
4
+ export const COW_SETTLEMENT_ADDRESS = '0x9008D19f58AAbD9eD0D60971565AA8510560ab41';
5
+ export const COW_VAULT_RELAYER_ADDRESS = '0xC92E8bdf79f0507f65a392b0ab4667716BFE0110';
6
+ export const cowSwapChainConfig = {
7
+ [EvmChain.Ethereum]: {
8
+ apiBase: 'https://api.cow.fi/mainnet',
9
+ settlementContract: COW_SETTLEMENT_ADDRESS,
10
+ vaultRelayer: COW_VAULT_RELAYER_ADDRESS,
11
+ chainId: 1,
12
+ },
13
+ [EvmChain.Arbitrum]: {
14
+ apiBase: 'https://api.cow.fi/arbitrum_one',
15
+ settlementContract: COW_SETTLEMENT_ADDRESS,
16
+ vaultRelayer: COW_VAULT_RELAYER_ADDRESS,
17
+ chainId: 42161,
18
+ },
19
+ [EvmChain.Base]: {
20
+ apiBase: 'https://api.cow.fi/base',
21
+ settlementContract: COW_SETTLEMENT_ADDRESS,
22
+ vaultRelayer: COW_VAULT_RELAYER_ADDRESS,
23
+ chainId: 8453,
24
+ },
25
+ [EvmChain.Avalanche]: {
26
+ apiBase: 'https://api.cow.fi/avalanche',
27
+ settlementContract: COW_SETTLEMENT_ADDRESS,
28
+ vaultRelayer: COW_VAULT_RELAYER_ADDRESS,
29
+ chainId: 43114,
30
+ },
31
+ };
32
+ // Static allowlist of EIP-2612 permit-supporting tokens per chain.
33
+ // Tradeoff: an RPC-probe approach would be fully dynamic but requires an extra
34
+ // call per token per quote. Static list covers the vast majority of common
35
+ // pairs (USDC/USDT on all v1 chains) at zero overhead. Track additions
36
+ // as a follow-up when new permit tokens need support.
37
+ //
38
+ // IMPORTANT: every entry MUST implement the canonical EIP-2612 Permit struct
39
+ // (`owner,spender,value,nonce,deadline`). Tokens with a non-EIP-2612 permit, or
40
+ // no permit at all, are deliberately EXCLUDED — flagging them `permitRequired`
41
+ // would have Phase 2 build an EIP-2612 signature the token can't honor, and the
42
+ // CowSwap order would fail at settlement. On-chain `PERMIT_TYPEHASH()` /
43
+ // `DOMAIN_SEPARATOR()` verified 2026-05-28:
44
+ // - Ethereum DAI (0x6B17…) — Maker-style permit (holder,spender,nonce,expiry,
45
+ // allowed); typehash 0xea2aa0a1…, NOT EIP-2612. EXCLUDED.
46
+ // - Ethereum USDT (0xdAC1…) — no EIP-2612 permit (DOMAIN_SEPARATOR reverts).
47
+ // EXCLUDED.
48
+ // - Base DAI (0x50c5…) / Avalanche DAI.e (0xd586…) — bridged tokens with no
49
+ // EIP-2612 permit (DOMAIN_SEPARATOR reverts). EXCLUDED.
50
+ // - Arbitrum DAI (0xDA10…) — genuine EIP-2612 permit. KEPT.
51
+ export const KNOWN_PERMIT_TOKENS = {
52
+ // Ethereum
53
+ 1: [
54
+ '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC
55
+ ],
56
+ // Arbitrum
57
+ 42161: [
58
+ '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', // USDC.e
59
+ '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', // USDC native
60
+ '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', // USDT
61
+ '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', // DAI (EIP-2612 on Arbitrum)
62
+ ],
63
+ // Base
64
+ 8453: [
65
+ '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
66
+ ],
67
+ // Avalanche
68
+ 43114: [
69
+ '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', // USDC
70
+ '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7', // USDT
71
+ ],
72
+ };
73
+ export const COWSWAP_APP_CODE = 'vultisig';
74
+ export const COWSWAP_APP_VERSION = '0.1.0';
75
+ // CowSwap partner fee BPS for affiliate revenue.
76
+ // Phase 2 (mcp-ts) will wire the consumer-level affiliateBps through.
77
+ // Phase 1 uses a fixed default matching the vultisig-0 baseline.
78
+ export const COWSWAP_DEFAULT_AFFILIATE_BPS = 50;
79
+ // Vultisig fee recipient address for CowSwap partner fees.
80
+ export const COWSWAP_FEE_RECIPIENT = '0x8E247a480449c84a5fDD25974A8501f3EFa4ABb9';
81
+ // Order validity window in seconds (15 minutes).
82
+ export const COWSWAP_VALID_TO_SECONDS = 15 * 60;
83
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/cowswap/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAU,CAAA;AAIxH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,4CAA4C,CAAA;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG,4CAA4C,CAAA;AASrF,MAAM,CAAC,MAAM,kBAAkB,GAAsD;IACnF,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACnB,OAAO,EAAE,4BAA4B;QACrC,kBAAkB,EAAE,sBAAsB;QAC1C,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,CAAC;KACX;IACD,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACnB,OAAO,EAAE,iCAAiC;QAC1C,kBAAkB,EAAE,sBAAsB;QAC1C,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,KAAK;KACf;IACD,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACf,OAAO,EAAE,yBAAyB;QAClC,kBAAkB,EAAE,sBAAsB;QAC1C,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,IAAI;KACd;IACD,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACpB,OAAO,EAAE,8BAA8B;QACvC,kBAAkB,EAAE,sBAAsB;QAC1C,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,KAAK;KACf;CACF,CAAA;AAED,mEAAmE;AACnE,+EAA+E;AAC/E,2EAA2E;AAC3E,uEAAuE;AACvE,sDAAsD;AACtD,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,yEAAyE;AACzE,4CAA4C;AAC5C,gFAAgF;AAChF,8DAA8D;AAC9D,+EAA+E;AAC/E,gBAAgB;AAChB,8EAA8E;AAC9E,4DAA4D;AAC5D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAA6B;IAC3D,WAAW;IACX,CAAC,EAAE;QACD,4CAA4C,EAAE,OAAO;KACtD;IACD,WAAW;IACX,KAAK,EAAE;QACL,4CAA4C,EAAE,SAAS;QACvD,4CAA4C,EAAE,cAAc;QAC5D,4CAA4C,EAAE,OAAO;QACrD,4CAA4C,EAAE,6BAA6B;KAC5E;IACD,OAAO;IACP,IAAI,EAAE;QACJ,4CAA4C,EAAE,OAAO;KACtD;IACD,YAAY;IACZ,KAAK,EAAE;QACL,4CAA4C,EAAE,OAAO;QACrD,4CAA4C,EAAE,OAAO;KACtD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAA;AAE1C,iDAAiD;AACjD,sEAAsE;AACtE,iEAAiE;AACjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAA;AAE/C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,4CAA4C,CAAA;AAEjF,iDAAiD;AACjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,CAAA"}
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSwapDestinationAddress.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,KAAK,8BAA8B,GAAG;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,qBAAqB,8BAA8B,KAAG,MAa5F,CAAA"}
1
+ {"version":3,"file":"getSwapDestinationAddress.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAInE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,KAAK,8BAA8B,GAAG;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,qBAAqB,8BAA8B,KAAG,MAoB5F,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { isFeeCoin } from '@vultisig/core-chain/coin/utils/isFeeCoin';
2
+ import { COW_VAULT_RELAYER_ADDRESS } from '@vultisig/core-chain/swap/general/cowswap/config';
2
3
  import { isOneOf } from '@vultisig/lib-utils/array/isOneOf';
3
4
  import { matchRecordUnion } from '@vultisig/lib-utils/matchRecordUnion';
4
5
  import { EvmChain } from '../../Chain.js';
@@ -7,6 +8,13 @@ export const getSwapDestinationAddress = ({ quote, fromCoin }) => matchRecordUni
7
8
  evm: ({ to }) => to,
8
9
  solana: () => '',
9
10
  transfer: ({ to }) => to,
11
+ // CowSwap orders are settled by the solver network. The destination
12
+ // address used for ERC-20 allowance checks (build.ts spender) must be
13
+ // the GPv2VaultRelayer contract — NOT the settlement contract or empty
14
+ // string. An empty spender would propagate to getErc20Allowance and
15
+ // produce an invalid-address call. Same relayer address across all
16
+ // supported EVM chains.
17
+ cowswap_order: () => COW_VAULT_RELAYER_ADDRESS,
10
18
  }),
11
19
  native: quote => {
12
20
  const isErc20 = isOneOf(fromCoin.chain, Object.values(EvmChain)) && !isFeeCoin(fromCoin);
@@ -1 +1 @@
1
- {"version":3,"file":"getSwapDestinationAddress.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAkC,EAAU,EAAE,CACvG,gBAAgB,CAA0B,KAAK,CAAC,KAAK,EAAE;IACrD,OAAO,EAAE,KAAK,CAAC,EAAE,CACf,gBAAgB,CAAwB,KAAK,CAAC,EAAE,EAAE;QAChD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;KACzB,CAAC;IACJ,MAAM,EAAE,KAAK,CAAC,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAExF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAA;IAC7E,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"getSwapDestinationAddress.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/keysign/getSwapDestinationAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAG5F,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAkC,EAAU,EAAE,CACvG,gBAAgB,CAA0B,KAAK,CAAC,KAAK,EAAE;IACrD,OAAO,EAAE,KAAK,CAAC,EAAE,CACf,gBAAgB,CAAwB,KAAK,CAAC,EAAE,EAAE;QAChD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QACxB,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,mEAAmE;QACnE,wBAAwB;QACxB,aAAa,EAAE,GAAG,EAAE,CAAC,yBAAyB;KAC/C,CAAC;IACJ,MAAM,EAAE,KAAK,CAAC,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAExF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAA;IAC7E,CAAC;CACF,CAAC,CAAA"}
@@ -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;AAKzE,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,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,yBAAyB,CAAA;CAClD,CAAA;AAuED,eAAO,MAAM,kBAAkB,GAAU,8FAStC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CAoFnD,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;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,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qBAAqB,CAAC,EAAE,yBAAyB,CAAA;CAClD,CAAA;AAuED,eAAO,MAAM,kBAAkB,GAAU,8FAStC,uBAAuB,KAAG,OAAO,CAAC,eAAe,CAoFnD,CAAA"}
@@ -2,7 +2,6 @@ import { toChainAmount } from '@vultisig/core-chain/amount/toChainAmount';
2
2
  import { Chain } from '@vultisig/core-chain/Chain';
3
3
  import { isInError } from '@vultisig/lib-utils/error/isInError';
4
4
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
5
- import { t } from 'i18next';
6
5
  import { chainFeeCoin } from '../../../coin/chainFeeCoin.js';
7
6
  import { toNativeSwapAsset } from '../asset/toNativeSwapAsset.js';
8
7
  import { nativeSwapApiBaseUrl, nativeSwapStreamingInterval, THORCHAIN_STREAMING_SLIPPAGE_THRESHOLD_BPS, } from '../NativeSwapChain.js';
@@ -33,7 +32,7 @@ const assertOkQuote = (result, from) => {
33
32
  if ('error' in result) {
34
33
  if (isInError(result.error, 'not enough asset to pay for fees')) {
35
34
  const { ticker } = chainFeeCoin[from.chain];
36
- throw new Error(t('not_enough_asset_to_cover_gas_fees', { asset: ticker }));
35
+ throw new Error(`Not enough ${ticker} to cover gas fees.`);
37
36
  }
38
37
  throw new Error(result.error);
39
38
  }
@@ -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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"}
@@ -21,7 +21,7 @@ export type FindSwapQuoteInput = Record<TransferDirection, AccountCoin> & {
21
21
  vultDiscountTier?: VultDiscountTier | null;
22
22
  affiliateConfig?: SwapAffiliateConfig;
23
23
  };
24
- type SwapQuoteProviderName = 'KyberSwap' | '1inch' | 'LiFi' | 'SwapKit' | 'THORChain' | 'MayaChain';
24
+ type SwapQuoteProviderName = 'CowSwap' | 'KyberSwap' | '1inch' | 'LiFi' | 'SwapKit' | 'THORChain' | 'MayaChain';
25
25
  /**
26
26
  * Declared preference order for AGGREGATOR ties — when two aggregators return
27
27
  * identical `outputAmount`, the earlier entry wins. This makes the tie-break
@@ -1 +1 @@
1
- {"version":3,"file":"findSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAI3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAG7F,OAAO,EAEL,sBAAsB,EACvB,MAAM,mEAAmE,CAAA;AAO1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAA;AAU1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;8CAI8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,KAAK,CAAC,EAAE,4BAA4B,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED,KAAK,qBAAqB,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAA;AA+CnG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,qBAAqB,EAK5D,CAAA;AAkFV,eAAO,MAAM,aAAa,GAAU,oEAOjC,kBAAkB,KAAG,OAAO,CAAC,SAAS,CA4PxC,CAAA"}
1
+ {"version":3,"file":"findSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAM3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAG7F,OAAO,EAEL,sBAAsB,EACvB,MAAM,mEAAmE,CAAA;AAO1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAA;AAW1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;8CAI8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,KAAK,CAAC,EAAE,4BAA4B,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED,KAAK,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAA;AA2D/G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,qBAAqB,EAQ5D,CAAA;AAkFV,eAAO,MAAM,aAAa,GAAU,oEAOjC,kBAAkB,KAAG,OAAO,CAAC,SAAS,CAkRxC,CAAA"}