@0xsquid/react-hooks 6.4.0-beta.2 → 6.4.1-beta.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 (53) hide show
  1. package/dist/core/abis/ics20.json +128 -0
  2. package/dist/core/externalLinks.d.ts +1 -1
  3. package/dist/core/externalLinks.js +1 -1
  4. package/dist/core/externalLinks.js.map +1 -1
  5. package/dist/core/types/error.d.ts +0 -5
  6. package/dist/core/types/error.js.map +1 -1
  7. package/dist/core/wagmiConfig.js +27 -16
  8. package/dist/core/wagmiConfig.js.map +1 -1
  9. package/dist/hooks/onramp/useFiatToCrypto.d.ts +1 -1
  10. package/dist/hooks/onramp/useFiatToCrypto.js +18 -22
  11. package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
  12. package/dist/hooks/swap/useSwap.d.ts +0 -1
  13. package/dist/hooks/swap/useSwap.js +0 -2
  14. package/dist/hooks/swap/useSwap.js.map +1 -1
  15. package/dist/hooks/transaction/useApproval.js +74 -20
  16. package/dist/hooks/transaction/useApproval.js.map +1 -1
  17. package/dist/hooks/transaction/{useAllowance.d.ts → useErc20Allowance.d.ts} +8 -7
  18. package/dist/hooks/transaction/{useAllowance.js → useErc20Allowance.js} +12 -16
  19. package/dist/hooks/transaction/useErc20Allowance.js.map +1 -0
  20. package/dist/hooks/transaction/useExecuteTransaction.js +5 -1
  21. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  22. package/dist/hooks/transaction/useGetRoute.js +27 -10
  23. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  24. package/dist/hooks/transaction/useIcs20Allowance.d.ts +88 -0
  25. package/dist/hooks/transaction/useIcs20Allowance.js +40 -0
  26. package/dist/hooks/transaction/useIcs20Allowance.js.map +1 -0
  27. package/dist/hooks/user/useHistory.js +0 -1
  28. package/dist/hooks/user/useHistory.js.map +1 -1
  29. package/dist/hooks/user/useUserParams.d.ts +0 -1
  30. package/dist/hooks/user/useUserParams.js +1 -2
  31. package/dist/hooks/user/useUserParams.js.map +1 -1
  32. package/dist/hooks/wallet/useMultiChainWallet.d.ts +2 -13
  33. package/dist/hooks/wallet/useMultiChainWallet.js +2 -2
  34. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  35. package/dist/services/external/baseAdapter.d.ts +1 -1
  36. package/dist/services/external/baseAdapter.js +3 -15
  37. package/dist/services/external/baseAdapter.js.map +1 -1
  38. package/dist/services/external/revolutClientAdapter.js +10 -15
  39. package/dist/services/external/revolutClientAdapter.js.map +1 -1
  40. package/dist/services/internal/assetsService.d.ts +10 -1
  41. package/dist/services/internal/assetsService.js +97 -9
  42. package/dist/services/internal/assetsService.js.map +1 -1
  43. package/dist/services/internal/evmService.d.ts +2 -0
  44. package/dist/services/internal/evmService.js +6 -0
  45. package/dist/services/internal/evmService.js.map +1 -1
  46. package/dist/services/internal/fiatToCryptoService.d.ts +13 -1
  47. package/dist/services/internal/fiatToCryptoService.js +32 -0
  48. package/dist/services/internal/fiatToCryptoService.js.map +1 -1
  49. package/dist/services/internal/walletService.d.ts +0 -2
  50. package/dist/services/internal/walletService.js +1 -25
  51. package/dist/services/internal/walletService.js.map +1 -1
  52. package/package.json +2 -2
  53. package/dist/hooks/transaction/useAllowance.js.map +0 -1
@@ -0,0 +1,128 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "address",
6
+ "name": "grantee",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "address",
11
+ "name": "granter",
12
+ "type": "address"
13
+ }
14
+ ],
15
+ "name": "allowance",
16
+ "outputs": [
17
+ {
18
+ "components": [
19
+ {
20
+ "internalType": "string",
21
+ "name": "sourcePort",
22
+ "type": "string"
23
+ },
24
+ {
25
+ "internalType": "string",
26
+ "name": "sourceChannel",
27
+ "type": "string"
28
+ },
29
+ {
30
+ "components": [
31
+ {
32
+ "internalType": "string",
33
+ "name": "denom",
34
+ "type": "string"
35
+ },
36
+ {
37
+ "internalType": "uint256",
38
+ "name": "amount",
39
+ "type": "uint256"
40
+ }
41
+ ],
42
+ "internalType": "struct Coin[]",
43
+ "name": "spendLimit",
44
+ "type": "tuple[]"
45
+ },
46
+ {
47
+ "internalType": "string[]",
48
+ "name": "allowList",
49
+ "type": "string[]"
50
+ },
51
+ {
52
+ "internalType": "string[]",
53
+ "name": "allowedPacketData",
54
+ "type": "string[]"
55
+ }
56
+ ],
57
+ "internalType": "struct ICS20Allocation[]",
58
+ "name": "allocations",
59
+ "type": "tuple[]"
60
+ }
61
+ ],
62
+ "stateMutability": "view",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "address",
69
+ "name": "grantee",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "components": [
74
+ {
75
+ "internalType": "string",
76
+ "name": "sourcePort",
77
+ "type": "string"
78
+ },
79
+ {
80
+ "internalType": "string",
81
+ "name": "sourceChannel",
82
+ "type": "string"
83
+ },
84
+ {
85
+ "components": [
86
+ {
87
+ "internalType": "string",
88
+ "name": "denom",
89
+ "type": "string"
90
+ },
91
+ {
92
+ "internalType": "uint256",
93
+ "name": "amount",
94
+ "type": "uint256"
95
+ }
96
+ ],
97
+ "internalType": "struct Coin[]",
98
+ "name": "spendLimit",
99
+ "type": "tuple[]"
100
+ },
101
+ {
102
+ "internalType": "string[]",
103
+ "name": "allowList",
104
+ "type": "string[]"
105
+ },
106
+ {
107
+ "internalType": "string[]",
108
+ "name": "allowedPacketData",
109
+ "type": "string[]"
110
+ }
111
+ ],
112
+ "internalType": "struct ICS20Allocation[]",
113
+ "name": "allocations",
114
+ "type": "tuple[]"
115
+ }
116
+ ],
117
+ "name": "approve",
118
+ "outputs": [
119
+ {
120
+ "internalType": "bool",
121
+ "name": "approved",
122
+ "type": "bool"
123
+ }
124
+ ],
125
+ "stateMutability": "nonpayable",
126
+ "type": "function"
127
+ }
128
+ ]
@@ -1,6 +1,6 @@
1
1
  export declare const squidMainLink = "https://www.squidrouter.com/";
2
2
  export declare const squidDocLink = "https://docs.widget.squidrouter.com/";
3
- export declare const squidApiBaseUrl = "https://apiplus.squidrouter.com";
3
+ export declare const squidApiBaseUrl = "https://v2.api.squidrouter.com";
4
4
  export declare const squidDiscordLink = "https://discord.gg/squidrouter";
5
5
  export declare const squidSupportLink = "https://support.squidrouter.com";
6
6
  export declare const squidHelpLink: string;
@@ -1,7 +1,7 @@
1
1
  // Squid Links
2
2
  export const squidMainLink = "https://www.squidrouter.com/";
3
3
  export const squidDocLink = "https://docs.widget.squidrouter.com/";
4
- export const squidApiBaseUrl = "https://apiplus.squidrouter.com";
4
+ export const squidApiBaseUrl = "https://v2.api.squidrouter.com";
5
5
  export const squidDiscordLink = "https://discord.gg/squidrouter";
6
6
  export const squidSupportLink = "https://support.squidrouter.com";
7
7
  export const squidHelpLink = `${squidDocLink}troubleshooting#additional-support`;
@@ -1 +1 @@
1
- {"version":3,"file":"externalLinks.js","sourceRoot":"","sources":["../../src/core/externalLinks.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,YAAY,oCAAoC,CAAC;AACjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,YAAY,6BAA6B,CAAC;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,YAAY,mDAAmD,CAAC;AAC1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY,2CAA2C,CAAC;AAC3G,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY,sBAAsB,CAAC;AAE5E,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAC7B,uEAAuE,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,gGAAgG,CAAC;AAEnG,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,oEAAoE;CAC3E,CAAC"}
1
+ {"version":3,"file":"externalLinks.js","sourceRoot":"","sources":["../../src/core/externalLinks.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,YAAY,oCAAoC,CAAC;AACjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,YAAY,6BAA6B,CAAC;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,YAAY,mDAAmD,CAAC;AAC1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,YAAY,2CAA2C,CAAC;AAC3G,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,YAAY,sBAAsB,CAAC;AAE5E,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAC7B,uEAAuE,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,gGAAgG,CAAC;AAEnG,cAAc;AACd,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,oEAAoE;CAC3E,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { TransactionResponse } from "@ethersproject/providers";
2
1
  export declare enum TransactionErrorType {
3
2
  REJECTED_BY_USER = 0,
4
3
  CALL_EXCEPTION = 1,
@@ -9,10 +8,6 @@ export type TransactionErrorWithMessage = {
9
8
  type: TransactionErrorType;
10
9
  message: string;
11
10
  };
12
- export interface TransactionReplacedError extends Error {
13
- code: string;
14
- replacement: TransactionResponse;
15
- }
16
11
  export interface TransactionError {
17
12
  reason: string;
18
13
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/core/types/error.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,uFAAgB,CAAA;IAChB,mFAAc,CAAA;IACd,qEAAO,CAAA;IACP,qEAAO,CAAA;AACT,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAyCD,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,uDAA+B,CAAA;AACjC,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/core/types/error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,uFAAgB,CAAA;IAChB,mFAAc,CAAA;IACd,qEAAO,CAAA;IACP,qEAAO,CAAA;AACT,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAoCD,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,uDAA+B,CAAA;AACjC,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B"}
@@ -3,30 +3,41 @@ import { BrowserProvider, JsonRpcSigner } from "ethers";
3
3
  import { defineChain, } from "viem";
4
4
  import { createConfig, http } from "wagmi";
5
5
  import { injected, safe } from "wagmi/connectors";
6
+ import { CHAIN_RPC_MAPPING } from "./constants";
6
7
  export const createWagmiConfig = (squidChains) => {
7
8
  const filteredEvmChains = squidChains.filter((chain) => chain.chainType === ChainType.EVM);
8
9
  if (filteredEvmChains.length === 0) {
9
10
  throw new Error("At least one chain is required");
10
11
  }
11
- const wagmiChains = filteredEvmChains.map((chain) => defineChain({
12
- id: Number(chain.chainId),
13
- name: chain.networkName,
14
- nativeCurrency: {
15
- name: chain.nativeCurrency.name,
16
- symbol: chain.nativeCurrency.symbol,
17
- decimals: chain.nativeCurrency.decimals,
18
- },
19
- rpcUrls: {
20
- default: {
21
- http: [chain.rpc],
12
+ const wagmiChains = filteredEvmChains.map((chain) => {
13
+ let rpc = chain.rpc;
14
+ const chainId = chain.chainId;
15
+ if (CHAIN_RPC_MAPPING.hasOwnProperty(chainId)) {
16
+ rpc = CHAIN_RPC_MAPPING[chainId];
17
+ }
18
+ return defineChain({
19
+ id: Number(chain.chainId),
20
+ name: chain.networkName,
21
+ nativeCurrency: {
22
+ name: chain.nativeCurrency.name,
23
+ symbol: chain.nativeCurrency.symbol,
24
+ decimals: chain.nativeCurrency.decimals,
22
25
  },
23
- },
24
- }));
26
+ rpcUrls: {
27
+ public: {
28
+ http: [rpc],
29
+ },
30
+ default: {
31
+ http: [rpc],
32
+ },
33
+ },
34
+ });
35
+ });
25
36
  return createConfig({
26
37
  chains: wagmiChains,
27
- transports: Object.fromEntries(filteredEvmChains.map((chain) => [
28
- Number(chain.chainId),
29
- http(chain.rpc ?? ""),
38
+ transports: Object.fromEntries(wagmiChains.map((chain) => [
39
+ chain.id,
40
+ http(chain.rpcUrls.public.http[0] ?? ""),
30
41
  ])),
31
42
  connectors: [
32
43
  injected(),
@@ -1 +1 @@
1
- {"version":3,"file":"wagmiConfig.js","sourceRoot":"","sources":["../../src/core/wagmiConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,WAAW,GAKZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAU,YAAY,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAAU,EAAE;IACpE,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAC1C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CAC7C,CAAC;IAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACnD;IACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAgB,EAAE,EAAE,CAC7D,WAAW,CAAC;QACV,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACzB,IAAI,EAAE,KAAK,CAAC,WAAW;QACvB,cAAc,EAAE;YACd,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI;YAC/B,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;YACnC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;SACxC;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;aAClB;SACF;KACF,CAAC,CACQ,CAAC;IACb,OAAO,YAAY,CAAC;QAClB,MAAM,EAAE,WAAkC;QAC1C,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;SACtB,CAAC,CACH;QAED,UAAU,EAAE;YACV,QAAQ,EAAE;YACV,IAAI,CAAC;gBACH,cAAc,EAAE,CAAC,kBAAkB,CAAC;aACrC,CAAC;SACH;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,wBAAwB;AACxB,uCAAuC;AACvC,MAAM,UAAU,cAAc,CAAC,MAAyC;IACtE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7C,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;QACpC,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO;KAClD,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"wagmiConfig.js","sourceRoot":"","sources":["../../src/core/wagmiConfig.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export declare const useFiatTransactions: (provider?: FiatToCryptoProvider) => {
49
49
  * Hook to get currency details based on denomination
50
50
  * @param currencyCode - The currency code (e.g., "USD", "EUR")
51
51
  * @param provider - The fiat-to-crypto provider
52
- * @returns Currency details including symbol and denomination
52
+ * @returns Currency details including symbol and denomination & min/max limits
53
53
  */
54
54
  export declare const useCurrencyDetails: (currencyCode?: string, provider?: FiatToCryptoProvider) => FiatCurrencyEnhanced | undefined;
55
55
  /**
@@ -1,9 +1,7 @@
1
1
  import { useMutation, useQueries, useQuery } from "@tanstack/react-query";
2
- import { countries } from "countries-list";
3
- import getSymbolFromCurrency from "currency-symbol-map";
4
2
  import { useMemo } from "react";
5
3
  import { keys } from "../../core/queries/queries-keys";
6
- import { FiatToCryptoService } from "../../services/internal/fiatToCryptoService";
4
+ import { FiatToCryptoService, getCountryData, getCurrencyData, } from "../../services/internal/fiatToCryptoService";
7
5
  import { isWalletAddressValid } from "../../services/internal/walletService";
8
6
  import { useSquidChains } from "../chains/useSquidChains";
9
7
  import { useFiatTransactionStore } from "../store/useFiatTransactionStore";
@@ -13,6 +11,13 @@ const TX_STATUS_CONSTANTS = {
13
11
  RETRY_DELAY: 60_000,
14
12
  REFETCH_INTERVAL: 30_000, // Check every 30 seconds
15
13
  };
14
+ /**
15
+ * Final transaction statuses that indicate the transaction has reached a terminal state
16
+ */
17
+ const FINAL_TRANSACTION_STATUSES = [
18
+ "completed",
19
+ "failed",
20
+ ];
16
21
  /**
17
22
  * Hook to fetch quote for fiat to crypto conversion
18
23
  * @param provider - The fiat-to-crypto provider (e.g., Revolut, Onramper)
@@ -98,7 +103,7 @@ export const useFiatOnRampTxStatus = (provider, transactionId, walletAddress) =>
98
103
  retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
99
104
  retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
100
105
  refetchInterval: (data) => {
101
- if (data?.status === "completed" || data?.status === "failed") {
106
+ if (data?.status && FINAL_TRANSACTION_STATUSES.includes(data.status)) {
102
107
  return false;
103
108
  }
104
109
  return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
@@ -118,14 +123,15 @@ export const useFiatTransactions = (provider) => {
118
123
  const queries = useQueries({
119
124
  queries: provider
120
125
  ? transactions
121
- .filter((tx) => !["completed", "failed"].includes(tx.status))
126
+ .filter((tx) => !FINAL_TRANSACTION_STATUSES.includes(tx.status))
122
127
  .map((tx) => ({
123
128
  queryKey: keys().fiatToCryptoStatus(tx.orderId),
124
129
  queryFn: () => provider.getTransactionStatus(tx.orderId, tx.toAddress),
125
130
  retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
126
131
  retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
127
132
  refetchInterval: (data) => {
128
- if (data?.status === "completed" || data?.status === "failed") {
133
+ if (data?.status &&
134
+ FINAL_TRANSACTION_STATUSES.includes(data.status)) {
129
135
  return false;
130
136
  }
131
137
  return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
@@ -150,7 +156,7 @@ export const useFiatTransactions = (provider) => {
150
156
  * Hook to get currency details based on denomination
151
157
  * @param currencyCode - The currency code (e.g., "USD", "EUR")
152
158
  * @param provider - The fiat-to-crypto provider
153
- * @returns Currency details including symbol and denomination
159
+ * @returns Currency details including symbol and denomination & min/max limits
154
160
  */
155
161
  export const useCurrencyDetails = (currencyCode, provider) => {
156
162
  const { data: config } = useGetOnRampConfig(provider);
@@ -158,10 +164,11 @@ export const useCurrencyDetails = (currencyCode, provider) => {
158
164
  return useMemo(() => {
159
165
  if (!currencyCode)
160
166
  return undefined;
167
+ const currencyData = getCurrencyData(currencyCode);
168
+ if (!currencyData)
169
+ return undefined;
161
170
  return {
162
- denomination: currencyCode,
163
- symbol: getSymbolFromCurrency(currencyCode) ?? "",
164
- // Optional: Add min/max limits if available from current provider
171
+ ...currencyData,
165
172
  minLimit: currency?.minLimit,
166
173
  maxLimit: currency?.maxLimit,
167
174
  };
@@ -176,18 +183,7 @@ export const useCountryDetails = (countryCode) => {
176
183
  return useMemo(() => {
177
184
  if (!countryCode)
178
185
  return undefined;
179
- const countryCodeUpper = countryCode.toUpperCase();
180
- const countryCodeLower = countryCode.toLowerCase();
181
- const countryData = countries[countryCodeUpper];
182
- if (!countryData)
183
- return undefined;
184
- return {
185
- ...countryData,
186
- code: countryCodeUpper,
187
- flagUrl: countryCodeLower
188
- ? `https://flagcdn.com/w40/${countryCodeLower}.png`
189
- : "",
190
- };
186
+ return getCountryData(countryCode);
191
187
  }, [countryCode]);
192
188
  };
193
189
  //# sourceMappingURL=useFiatToCrypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ export declare const useSwap: () => {
15
15
  toChain: import("@0xsquid/squid-types").ChainData | undefined;
16
16
  destinationAddress: FullAddressData;
17
17
  isSameChain: boolean;
18
- expressSupportedForThisRoute: boolean;
19
18
  fromTokens: import("../../core").Token[];
20
19
  toTokens: import("../../core").Token[];
21
20
  };
@@ -130,7 +130,6 @@ export const useSwap = () => {
130
130
  swapRoute?.fromTokenAddress,
131
131
  disabledChains,
132
132
  ]);
133
- const expressSupportedForThisRoute = toChain?.chainType !== ChainType.COSMOS;
134
133
  /**
135
134
  * Init default chain ids and default token addresses
136
135
  * Based on config & available tokens
@@ -203,7 +202,6 @@ export const useSwap = () => {
203
202
  toChain,
204
203
  destinationAddress: destinationAddressWithEns,
205
204
  isSameChain,
206
- expressSupportedForThisRoute,
207
205
  fromTokens,
208
206
  toTokens,
209
207
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSwap.js","sourceRoot":"","sources":["../../../src/hooks/swap/useSwap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSwap.js","sourceRoot":"","sources":["../../../src/hooks/swap/useSwap.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,17 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
2
2
  import { useAccount, usePublicClient, useSwitchChain, useWalletClient, } from "wagmi";
3
3
  import { getPrefixKey, keys, QueryKeys } from "../../core/queries/queries-keys";
4
4
  import { ChainType, } from "@0xsquid/squid-types";
5
- import { nativeEvmTokenAddress } from "../../core/constants";
6
- import { isProblematicConnector, sleep } from "../../services";
5
+ import { ethers } from "ethers";
6
+ import ics20Abi from "../../core/abis/ics20.json";
7
+ import { CHAIN_IDS, nativeEvmTokenAddress } from "../../core/constants";
8
+ import { isEvmosChain, isProblematicConnector, sleep } from "../../services";
7
9
  import { useSquidChains } from "../chains/useSquidChains";
8
10
  import { useSquidStore } from "../store/useSquidStore";
9
11
  import { useSwap } from "../swap/useSwap";
10
12
  import { useMultiChainWallet } from "../wallet/useMultiChainWallet";
11
13
  import { useSigner } from "../wallet/useSigner";
12
- import { useERC20Allowance } from "./useAllowance";
14
+ import { useErc20Allowance } from "./useErc20Allowance";
15
+ import { useIcs20Allowance } from "./useIcs20Allowance";
13
16
  export const useApproval = ({ squidRoute, }) => {
14
17
  const { data: walletClient } = useWalletClient();
15
18
  const publicClient = usePublicClient();
@@ -21,14 +24,31 @@ export const useApproval = ({ squidRoute, }) => {
21
24
  const { fromChain, fromToken, fromPrice } = useSwap();
22
25
  const { switchChainAsync } = useSwitchChain();
23
26
  const { connectedAddress: { address: sourceUserAddress }, } = useMultiChainWallet(fromChain);
24
- const { hasAllowance, query: allowanceQuery, allowanceInWei, } = useERC20Allowance({
27
+ const isSrcChainEvmos = isEvmosChain(fromChain);
28
+ const { hasAllowance: hasErc20Allowance, query: erc20AllowanceQuery, allowanceInWei: erc20AllowanceInWei, } = useErc20Allowance({
25
29
  tokenAddress: fromToken?.address,
26
30
  ownerAddress: sourceUserAddress,
27
31
  spenderAddress: squidRoute?.transactionRequest
28
32
  ?.target,
29
33
  amount: BigInt(squidRoute?.params.fromAmount ?? "0"),
30
34
  chainId: Number(fromChain?.chainId),
35
+ enabled: !isSrcChainEvmos,
31
36
  });
37
+ const { hasAllowance: hasIcs20Allowance, query: ics20AllowanceQuery, allowanceInWei: ics20AllowanceInWei, } = useIcs20Allowance({
38
+ ownerAddress: sourceUserAddress,
39
+ targetAddress: squidRoute?.transactionRequest
40
+ ?.target,
41
+ amount: BigInt(squidRoute?.params.fromAmount ?? "0"),
42
+ chainId: Number(fromChain?.chainId),
43
+ enabled: isSrcChainEvmos,
44
+ });
45
+ const hasAllowance = isSrcChainEvmos ? hasIcs20Allowance : hasErc20Allowance;
46
+ const allowanceInWei = isSrcChainEvmos
47
+ ? ics20AllowanceInWei
48
+ : erc20AllowanceInWei;
49
+ const allowanceQuery = isSrcChainEvmos
50
+ ? ics20AllowanceQuery
51
+ : erc20AllowanceQuery;
32
52
  /**
33
53
  * Checking if spending tokens is allowed for this source address
34
54
  * On Success: storing the transaction
@@ -36,12 +56,11 @@ export const useApproval = ({ squidRoute, }) => {
36
56
  * @returns {boolean} approved
37
57
  */
38
58
  const routeApproved = useQuery(keys().routeApproved(squidRoute, allowanceInWei), async () => {
39
- // There's no approval needed for cosmos chains
40
- // Tokens can be spent without approval
41
- if (getChainType(squidRoute?.params.fromChain) === ChainType.COSMOS) {
42
- return true;
59
+ // Approval is only needed for EVM chains
60
+ if (getChainType(squidRoute?.params.fromChain) === ChainType.EVM) {
61
+ return hasAllowance;
43
62
  }
44
- return hasAllowance;
63
+ return true;
45
64
  }, {
46
65
  enabled: !!squidRoute && !!sourceUserAddress && allowanceQuery?.isSuccess,
47
66
  });
@@ -59,7 +78,7 @@ export const useApproval = ({ squidRoute, }) => {
59
78
  const approveSpecificTokenToZero = async (token) => {
60
79
  if (walletClient &&
61
80
  token.symbol.toLowerCase() === "usdt" &&
62
- token.chainId === "1" &&
81
+ token.chainId === CHAIN_IDS.ETHEREUM &&
63
82
  fromToken) {
64
83
  const fromChainRouterAddress = fromChain?.squidContracts.squidRouter;
65
84
  const allowance = await publicClient?.readContract({
@@ -116,7 +135,7 @@ export const useApproval = ({ squidRoute, }) => {
116
135
  if (fromToken?.address === nativeEvmTokenAddress) {
117
136
  return true;
118
137
  }
119
- if (!!squidRoute && walletClient && fromToken && evmSigner) {
138
+ if (!!squidRoute && walletClient && fromToken && evmSigner && squid) {
120
139
  await approveSpecificTokenToZero(fromToken);
121
140
  try {
122
141
  // If needed, we can switch the chain here
@@ -126,14 +145,49 @@ export const useApproval = ({ squidRoute, }) => {
126
145
  catch (error) {
127
146
  console.error("Error switching network:", error);
128
147
  }
129
- const approveTx = await squid?.approveRoute({
130
- route: squidRoute,
131
- signer: evmSigner,
132
- // For security reasons, we don't want to allow infinite approvals in our frontends
133
- executionSettings: {
134
- infiniteApproval: false,
135
- },
136
- });
148
+ let approveTx;
149
+ if (isSrcChainEvmos) {
150
+ const channel = squidRoute.estimate.actions[0].data
151
+ .ibcChannel;
152
+ const ics20Interface = new ethers.Interface(ics20Abi);
153
+ const approveData = ics20Interface.encodeFunctionData("approve", [
154
+ squidRoute.params.fromAddress,
155
+ [
156
+ {
157
+ sourcePort: "transfer",
158
+ sourceChannel: channel,
159
+ spendLimit: [
160
+ {
161
+ denom: squidRoute.estimate.actions[0].fromToken
162
+ .originalAddress,
163
+ amount: squidRoute.params.fromAmount,
164
+ },
165
+ ],
166
+ allowList: [],
167
+ allowedPacketData: ["*"],
168
+ },
169
+ ],
170
+ ]);
171
+ approveTx = await evmSigner.sendTransaction({
172
+ to: squidRoute.transactionRequest.target,
173
+ data: approveData,
174
+ value: "0",
175
+ gasLimit: squidRoute.transactionRequest
176
+ .gasLimit,
177
+ gasPrice: squidRoute.transactionRequest
178
+ .gasPrice,
179
+ });
180
+ }
181
+ else {
182
+ approveTx = await squid.approveRoute({
183
+ route: squidRoute,
184
+ signer: evmSigner,
185
+ // For security reasons, we don't want to allow infinite approvals in our frontends
186
+ executionSettings: {
187
+ infiniteApproval: false,
188
+ },
189
+ });
190
+ }
137
191
  if (isProblematicConnector(activeConnector)) {
138
192
  await sleep(3_000);
139
193
  }
@@ -155,7 +209,7 @@ export const useApproval = ({ squidRoute, }) => {
155
209
  // This is to ensure we're using the latest expiry timestamp
156
210
  if (squidRoute) {
157
211
  queryClient.refetchQueries({
158
- queryKey: keys().transaction(squidRoute.params.fromChain, squidRoute.params.toChain, squidRoute.params.toToken, squidRoute.params.fromToken, fromPrice, squidRoute.params.slippage, squidRoute.params.receiveGasOnDestination, squidRoute.params.fromAddress, squidRoute.params.bypassGuardrails, squidRoute.params.toAddress, squidRoute.params.fallbackAddresses?.[0].address, squidRoute.params.quoteOnly, getChainType(squidRoute.params.fromChain)),
212
+ queryKey: keys().transaction(squidRoute.params.fromChain, squidRoute.params.toChain, squidRoute.params.toToken, squidRoute.params.fromToken, fromPrice, squidRoute.params.slippage, squidRoute.params.receiveGasOnDestination, squidRoute.params.fromAddress, squidRoute.params.bypassGuardrails, squidRoute.params.toAddress, squidRoute.params.fallbackAddresses?.[0]?.address, squidRoute.params.quoteOnly, getChainType(squidRoute.params.fromChain)),
159
213
  });
160
214
  }
161
215
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"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"}