@0xsquid/react-hooks 6.4.1-beta.3 → 6.4.1-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/client/index.d.ts +12 -0
- package/dist/core/client/index.js +30 -0
- package/dist/core/client/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/helpers.d.ts +15 -0
- package/dist/core/connectors/bitcoin/helpers.js +6 -1
- package/dist/core/connectors/bitcoin/helpers.js.map +1 -1
- package/dist/core/constants.d.ts +1 -3
- package/dist/core/constants.js +6 -3
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/providers/SolanaProvider.d.ts +0 -2
- package/dist/core/providers/SolanaProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +10 -25
- package/dist/core/queries/queries-keys.js +29 -80
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +4 -4
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/history.d.ts +82 -0
- package/dist/core/types/history.js +7 -0
- package/dist/core/types/history.js.map +1 -0
- package/dist/core/types/index.d.ts +4 -2
- package/dist/core/types/index.js +2 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/onramps/onramp.d.ts +0 -15
- package/dist/core/types/transaction.d.ts +10 -32
- package/dist/core/types/transaction.js +6 -0
- package/dist/core/types/transaction.js.map +1 -1
- package/dist/core/wagmiConfig.js +2 -8
- package/dist/core/wagmiConfig.js.map +1 -1
- package/dist/hooks/client/useClient.js +2 -2
- package/dist/hooks/cosmos/useCosmos.d.ts +9 -0
- package/dist/hooks/cosmos/useCosmos.js +25 -18
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.d.ts +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.js +7 -11
- package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -1
- package/dist/hooks/index.d.ts +7 -2
- package/dist/hooks/index.js +7 -2
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +10 -10
- package/dist/hooks/onramp/useFiatToCrypto.js +30 -47
- package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
- package/dist/hooks/solana/useSolana.d.ts +2 -1
- package/dist/hooks/solana/useSolana.js +4 -2
- package/dist/hooks/solana/useSolana.js.map +1 -1
- package/dist/hooks/store/useHistoryStore.d.ts +33 -13
- package/dist/hooks/store/useHistoryStore.js +120 -32
- package/dist/hooks/store/useHistoryStore.js.map +1 -1
- package/dist/hooks/store/useSendTransactionStore.d.ts +20 -0
- package/dist/hooks/store/useSendTransactionStore.js +21 -0
- package/dist/hooks/store/useSendTransactionStore.js.map +1 -0
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.d.ts +27 -0
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +57 -0
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +1 -0
- package/dist/hooks/transaction/send/useSendTransaction.d.ts +13 -0
- package/dist/hooks/transaction/send/useSendTransaction.js +155 -0
- package/dist/hooks/transaction/send/useSendTransaction.js.map +1 -0
- package/dist/hooks/transaction/send/useSendTransactionGas.d.ts +5 -0
- package/dist/hooks/transaction/send/useSendTransactionGas.js +67 -0
- package/dist/hooks/transaction/send/useSendTransactionGas.js.map +1 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.d.ts +34 -3
- package/dist/hooks/transaction/useAllTransactionsStatus.js +130 -61
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -1
- package/dist/hooks/transaction/useApproval.js +2 -2
- package/dist/hooks/transaction/useApproval.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.d.ts +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +40 -43
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useSendTransactionStatus.d.ts +11 -0
- package/dist/hooks/transaction/useSendTransactionStatus.js +53 -0
- package/dist/hooks/transaction/useSendTransactionStatus.js.map +1 -0
- package/dist/hooks/transaction/useSwapTransactionStatus.d.ts +15 -0
- package/dist/hooks/transaction/{useSingleTransaction.js → useSwapTransactionStatus.js} +40 -17
- package/dist/hooks/transaction/useSwapTransactionStatus.js.map +1 -0
- package/dist/hooks/user/useHistory.d.ts +11 -9
- package/dist/hooks/user/useHistory.js +39 -47
- package/dist/hooks/user/useHistory.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -0
- package/dist/hooks/wallet/useMultiChainWallet.js +18 -0
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +7 -7
- package/dist/hooks/wallet/useSigner.js +37 -13
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/services/internal/errorService.d.ts +3 -7
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/estimateService.js +3 -3
- package/dist/services/internal/estimateService.js.map +1 -1
- package/dist/services/internal/numberService.d.ts +1 -1
- package/dist/services/internal/numberService.js.map +1 -1
- package/dist/services/internal/sendTransaction.d.ts +35 -0
- package/dist/services/internal/sendTransaction.js +66 -0
- package/dist/services/internal/sendTransaction.js.map +1 -0
- package/dist/services/internal/sendTransactionStatus.d.ts +6 -0
- package/dist/services/internal/sendTransactionStatus.js +90 -0
- package/dist/services/internal/sendTransactionStatus.js.map +1 -0
- package/dist/services/internal/transactionService.d.ts +8 -36
- package/dist/services/internal/transactionService.js +27 -26
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/transactionStatusService.d.ts +16 -5
- package/dist/services/internal/transactionStatusService.js +78 -5
- package/dist/services/internal/transactionStatusService.js.map +1 -1
- package/dist/tests/transactionService.test.js +18 -18
- package/dist/tests/transactionService.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/hooks/store/useFiatTransactionStore.d.ts +0 -20
- package/dist/hooks/store/useFiatTransactionStore.js +0 -38
- package/dist/hooks/store/useFiatTransactionStore.js.map +0 -1
- package/dist/hooks/transaction/useSingleTransaction.d.ts +0 -10
- package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { Interface } from "ethers";
|
|
4
|
+
import { erc20Abi } from "viem";
|
|
5
|
+
import { getClient } from "../../../core/client";
|
|
6
|
+
import { getFeeRate } from "../../../core/connectors/bitcoin/helpers";
|
|
7
|
+
import { nativeEvmTokenAddress } from "../../../core/constants";
|
|
8
|
+
import { keys } from "../../../core/queries/queries-keys";
|
|
9
|
+
export function useSendTransactionGas({ chain, token, }) {
|
|
10
|
+
return useQuery({
|
|
11
|
+
queryKey: keys().sendTransactionGas(chain?.chainId, token?.address),
|
|
12
|
+
queryFn: async () => {
|
|
13
|
+
if (!chain || !token)
|
|
14
|
+
throw new Error("Missing params");
|
|
15
|
+
switch (chain.chainType) {
|
|
16
|
+
case ChainType.EVM: {
|
|
17
|
+
const client = await getClient(chain);
|
|
18
|
+
const feeData = await client.getFeeData();
|
|
19
|
+
if (!feeData.maxFeePerGas)
|
|
20
|
+
return BigInt(0);
|
|
21
|
+
const dummyAddress = "0x1111111111111111111111111111111111111111";
|
|
22
|
+
if (token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase()) {
|
|
23
|
+
const gas = await client.estimateGas({
|
|
24
|
+
from: dummyAddress,
|
|
25
|
+
to: dummyAddress,
|
|
26
|
+
value: 1,
|
|
27
|
+
chainId: chain.chainId,
|
|
28
|
+
});
|
|
29
|
+
return gas * feeData.maxFeePerGas;
|
|
30
|
+
}
|
|
31
|
+
const erc20Interface = new Interface(erc20Abi);
|
|
32
|
+
const data = erc20Interface.encodeFunctionData("transfer", [
|
|
33
|
+
dummyAddress,
|
|
34
|
+
1,
|
|
35
|
+
]);
|
|
36
|
+
const gas = await client.estimateGas({
|
|
37
|
+
from: dummyAddress,
|
|
38
|
+
to: token.address,
|
|
39
|
+
data,
|
|
40
|
+
chainId: chain.chainId,
|
|
41
|
+
});
|
|
42
|
+
return gas * feeData.maxFeePerGas;
|
|
43
|
+
}
|
|
44
|
+
case ChainType.COSMOS: {
|
|
45
|
+
// TODO: get gas estimation from backend
|
|
46
|
+
return BigInt(0);
|
|
47
|
+
}
|
|
48
|
+
case ChainType.SOLANA: {
|
|
49
|
+
// TODO: get gas estimation from backend
|
|
50
|
+
return BigInt(5000);
|
|
51
|
+
}
|
|
52
|
+
case ChainType.BTC: {
|
|
53
|
+
const feeRate = await getFeeRate();
|
|
54
|
+
// average vBytes for a segwit tx (2 inputs, 2 outputs)
|
|
55
|
+
const vBytes = 378;
|
|
56
|
+
const feeSats = feeRate * vBytes;
|
|
57
|
+
// TODO: get gas estimation from backend?
|
|
58
|
+
return BigInt(feeSats);
|
|
59
|
+
}
|
|
60
|
+
default:
|
|
61
|
+
throw new Error(`Gas estimation not implemented for chain type ${chain.chainType}`);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
enabled: !!chain && !!token,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=useSendTransactionGas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSendTransactionGas.js","sourceRoot":"","sources":["../../../../src/hooks/transaction/send/useSendTransactionGas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useAllTransactionsStatus: ({ enabled }: {
|
|
1
|
+
import { SendTransactionStatus } from "../../core/types/transaction";
|
|
2
|
+
export declare const useAllTransactionsStatus: ({ enabled, }: {
|
|
3
3
|
enabled: boolean;
|
|
4
|
-
}) =>
|
|
4
|
+
}) => {
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isError: boolean;
|
|
7
|
+
data: ((import("@0xsquid/squid-types").ApiBasicResponse & {
|
|
8
|
+
id: string;
|
|
9
|
+
status: string;
|
|
10
|
+
gasStatus: string;
|
|
11
|
+
isGMPTransaction?: boolean | undefined;
|
|
12
|
+
axelarTransactionUrl: string;
|
|
13
|
+
fromChain?: {
|
|
14
|
+
transactionId: string;
|
|
15
|
+
blockNumber: string;
|
|
16
|
+
callEventStatus: string;
|
|
17
|
+
callEventLog: any[];
|
|
18
|
+
chainData?: any;
|
|
19
|
+
transactionUrl?: string | undefined;
|
|
20
|
+
destinationAddress?: string | undefined;
|
|
21
|
+
} | undefined;
|
|
22
|
+
toChain?: {
|
|
23
|
+
transactionId: string;
|
|
24
|
+
blockNumber: string;
|
|
25
|
+
callEventStatus: string;
|
|
26
|
+
callEventLog: any[];
|
|
27
|
+
chainData?: any;
|
|
28
|
+
transactionUrl?: string | undefined;
|
|
29
|
+
destinationAddress?: string | undefined;
|
|
30
|
+
} | undefined;
|
|
31
|
+
timeSpent?: {} | Record<string, number> | undefined;
|
|
32
|
+
squidTransactionStatus?: import("@0xsquid/squid-types").SquidTransactionStatus | undefined;
|
|
33
|
+
routeStatus?: any[] | undefined;
|
|
34
|
+
} & SendTransactionStatus) | undefined)[];
|
|
35
|
+
};
|
|
@@ -1,70 +1,139 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useQueries } from "@tanstack/react-query";
|
|
2
2
|
import { keys } from "../../core/queries/queries-keys";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { HistoryTxType } from "../../core/types/history";
|
|
4
|
+
// import {
|
|
5
|
+
// FiatToCryptoProvider,
|
|
6
|
+
// OnRampTransactionStatus,
|
|
7
|
+
// } from "../../core/types/onramps/onramp";
|
|
8
|
+
import { fetchSwapTransactionStatus, getSendTxStatusRefetchInterval, getSwapTxStatusRefetchInterval, getTransactionEndStatus, } from "../../services";
|
|
9
|
+
import { getSendTransactionStatus } from "../../services/internal/sendTransactionStatus";
|
|
10
|
+
import { useSquidChains } from "../chains/useSquidChains";
|
|
11
|
+
// import {
|
|
12
|
+
// FINAL_TRANSACTION_STATUSES,
|
|
13
|
+
// TX_STATUS_CONSTANTS,
|
|
14
|
+
// } from "../onramp/useFiatToCrypto";
|
|
15
|
+
import { SendTransactionStatus } from "../../core/types/transaction";
|
|
16
|
+
import { useHistoryStore } from "../store/useHistoryStore";
|
|
5
17
|
import { useConfigStore, useTransactionStore } from "../store/useSquidStore";
|
|
6
18
|
import { useHistory } from "../user/useHistory";
|
|
7
|
-
export const useAllTransactionsStatus = ({ enabled
|
|
8
|
-
|
|
19
|
+
export const useAllTransactionsStatus = ({ enabled,
|
|
20
|
+
// fiatToCryptoProvider,
|
|
21
|
+
}) => {
|
|
22
|
+
const { pendingTransactions, replaceSwapTransactionStatus } = useHistory();
|
|
23
|
+
const replaceTransactionStatus = useHistoryStore((state) => state.replaceTransactionStatus);
|
|
9
24
|
const config = useConfigStore((state) => state.config);
|
|
10
25
|
const requestId = useTransactionStore((state) => state.currentRequestId);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
const { findChain } = useSquidChains();
|
|
27
|
+
const statusQueries = pendingTransactions.map(({ txType, data }) => {
|
|
28
|
+
switch (txType) {
|
|
29
|
+
case HistoryTxType.SWAP: {
|
|
30
|
+
return {
|
|
31
|
+
queryKey: keys().swapTransactionStatus(data.transactionId),
|
|
32
|
+
queryFn: async () => {
|
|
33
|
+
return fetchSwapTransactionStatus({
|
|
34
|
+
transaction: {
|
|
35
|
+
...data,
|
|
36
|
+
transactionId: data.transactionIdForStatus ?? data.transactionId,
|
|
37
|
+
},
|
|
38
|
+
apiUrl: config.apiUrl,
|
|
39
|
+
integratorId: config.integratorId,
|
|
40
|
+
currentRequestId: requestId,
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
enabled: true,
|
|
44
|
+
retry: 4,
|
|
45
|
+
retryDelay: getSwapTxStatusRefetchInterval(data),
|
|
46
|
+
refetchInterval: 5000,
|
|
47
|
+
onSuccess: (statusResponse) => {
|
|
48
|
+
if (!statusResponse)
|
|
49
|
+
return;
|
|
50
|
+
const endStatus = getTransactionEndStatus({
|
|
51
|
+
statusResponse,
|
|
52
|
+
});
|
|
53
|
+
if (!endStatus)
|
|
54
|
+
return;
|
|
55
|
+
replaceSwapTransactionStatus({
|
|
56
|
+
transactionId: data.transactionId,
|
|
57
|
+
statusResponse,
|
|
58
|
+
status: endStatus,
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
};
|
|
33
62
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
case HistoryTxType.BUY:
|
|
64
|
+
// TODO: enable fiat on ramp tx status
|
|
65
|
+
return {};
|
|
66
|
+
// return {
|
|
67
|
+
// queryFn: () =>
|
|
68
|
+
// fiatToCryptoProvider.getTransactionStatus(
|
|
69
|
+
// tx.orderId,
|
|
70
|
+
// tx.toAddress
|
|
71
|
+
// ),
|
|
72
|
+
// queryKey: keys().fiatToCryptoStatus(tx.orderId),
|
|
73
|
+
// retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
|
|
74
|
+
// retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
|
|
75
|
+
// refetchInterval: (
|
|
76
|
+
// data: OnRampTransactionStatus | undefined
|
|
77
|
+
// ) => {
|
|
78
|
+
// if (
|
|
79
|
+
// data?.status &&
|
|
80
|
+
// FINAL_TRANSACTION_STATUSES.includes(data.status)
|
|
81
|
+
// ) {
|
|
82
|
+
// return false;
|
|
83
|
+
// }
|
|
84
|
+
// return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
|
|
85
|
+
// },
|
|
86
|
+
// onSuccess: (data: OnRampTransactionStatus) => {
|
|
87
|
+
// replaceTransactionStatus({
|
|
88
|
+
// orderId: tx.orderId,
|
|
89
|
+
// status: data.status,
|
|
90
|
+
// transactionHash: data.transactionHash,
|
|
91
|
+
// txType: HistoryTxType.BUY,
|
|
92
|
+
// });
|
|
93
|
+
// },
|
|
94
|
+
// onError: () => {
|
|
95
|
+
// replaceTransactionStatus({
|
|
96
|
+
// txType: HistoryTxType.BUY,
|
|
97
|
+
// orderId: tx.orderId,
|
|
98
|
+
// status: "failed",
|
|
99
|
+
// transactionHash: undefined,
|
|
100
|
+
// });
|
|
101
|
+
// },
|
|
102
|
+
// enabled: true,
|
|
103
|
+
// };
|
|
104
|
+
case HistoryTxType.SEND:
|
|
105
|
+
return {
|
|
106
|
+
queryKey: keys().sendTransactionStatus(data.hash, data.token.chainId),
|
|
107
|
+
queryFn: async () => {
|
|
108
|
+
const chain = findChain(data.token.chainId);
|
|
109
|
+
if (!chain) {
|
|
110
|
+
throw new Error(`Could not find chain ${data.token.chainId} for tx status`);
|
|
111
|
+
}
|
|
112
|
+
return getSendTransactionStatus({
|
|
113
|
+
chain,
|
|
114
|
+
txHash: data.hash,
|
|
115
|
+
});
|
|
116
|
+
},
|
|
117
|
+
refetchInterval: getSendTxStatusRefetchInterval(data.token.type),
|
|
118
|
+
onSuccess: (status) => {
|
|
119
|
+
if (status !== SendTransactionStatus.ONGOING) {
|
|
120
|
+
replaceTransactionStatus({
|
|
121
|
+
txType: HistoryTxType.SEND,
|
|
122
|
+
status,
|
|
123
|
+
hash: data.hash,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
const queries = useQueries({
|
|
131
|
+
queries: enabled && config.apiUrl ? statusQueries : [],
|
|
68
132
|
});
|
|
133
|
+
return {
|
|
134
|
+
isLoading: queries.some((q) => q.isLoading),
|
|
135
|
+
isError: queries.some((q) => q.isError),
|
|
136
|
+
data: queries.map((q) => q.data).filter(Boolean),
|
|
137
|
+
};
|
|
69
138
|
};
|
|
70
139
|
//# sourceMappingURL=useAllTransactionsStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAllTransactionsStatus.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useAllTransactionsStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useAllTransactionsStatus.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useAllTransactionsStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,10 @@ export const useApproval = ({ squidRoute, }) => {
|
|
|
18
18
|
const publicClient = usePublicClient();
|
|
19
19
|
const queryClient = useQueryClient();
|
|
20
20
|
const squid = useSquidStore((state) => state.squid);
|
|
21
|
-
const {
|
|
21
|
+
const { fromChain, fromToken, fromPrice } = useSwap();
|
|
22
|
+
const { evmSigner } = useSigner({ chain: fromChain });
|
|
22
23
|
const { connector: activeConnector } = useAccount();
|
|
23
24
|
const { getChainType } = useSquidChains();
|
|
24
|
-
const { fromChain, fromToken, fromPrice } = useSwap();
|
|
25
25
|
const { switchChainAsync } = useSwitchChain();
|
|
26
26
|
const { connectedAddress: { address: sourceUserAddress }, } = useMultiChainWallet(fromChain);
|
|
27
27
|
const isSrcChainEvmos = isEvmosChain(fromChain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGhF,OAAO,EACL,SAAS,GAIV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,GAGX,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ export declare const useEstimate: (squidRoute?: RouteResponse["route"]) => {
|
|
|
47
47
|
minAmountValueWarnMsg: string | undefined;
|
|
48
48
|
estimatedRouteDuration: {
|
|
49
49
|
seconds: number;
|
|
50
|
-
format: (sTemplate?: string, mTemplate?: string, hTemplate?: string) => string;
|
|
50
|
+
format: (sTemplate?: string | undefined, mTemplate?: string | undefined, hTemplate?: string | undefined) => string;
|
|
51
51
|
};
|
|
52
52
|
};
|
|
53
53
|
export {};
|
|
@@ -6,7 +6,7 @@ export declare const useExecuteTransaction: (squidRoute?: RouteResponse["route"]
|
|
|
6
6
|
fromPrice: string | undefined;
|
|
7
7
|
toChain: import("@0xsquid/squid-types").ChainData | undefined;
|
|
8
8
|
fromChain: import("@0xsquid/squid-types").ChainData | undefined;
|
|
9
|
-
signerReady: boolean;
|
|
10
9
|
isLoading: boolean;
|
|
11
10
|
error: unknown;
|
|
11
|
+
isSignerReady: boolean;
|
|
12
12
|
};
|
|
@@ -19,16 +19,19 @@ import { useGnosisContext } from "../../hooks/wallet/useGnosisContext";
|
|
|
19
19
|
import { useMultiChainWallet } from "../../hooks/wallet/useMultiChainWallet";
|
|
20
20
|
import { executeSolanaSwap, executeSolanaTransfer, getCosmosSigningClient, getTransactionError, handleTransactionErrorEvents, isProblematicConnector, } from "../../services";
|
|
21
21
|
import { WidgetEvents } from "../../services/internal/eventService";
|
|
22
|
-
import {
|
|
22
|
+
import { useSolanaConnection } from "../solana/useSolana";
|
|
23
23
|
import { useDepositAddressStore } from "../store/useDepositAddressStore";
|
|
24
24
|
import { useSquidTokens } from "../tokens/useSquidTokens";
|
|
25
25
|
import { useHistory } from "../user/useHistory";
|
|
26
26
|
import { useSigner } from "../wallet/useSigner";
|
|
27
27
|
import { useWallet } from "../wallet/useWallet";
|
|
28
28
|
export const useExecuteTransaction = (squidRoute) => {
|
|
29
|
-
const {
|
|
29
|
+
const { fromChain, toChain, fromToken, toToken, isSameChain } = useSwap();
|
|
30
|
+
const { evmSigner, cosmosSigner, solanaSigner, bitcoinSigner, isSignerReady, } = useSigner({
|
|
31
|
+
chain: fromChain,
|
|
32
|
+
});
|
|
30
33
|
const { findToken } = useSquidTokens();
|
|
31
|
-
const
|
|
34
|
+
const solanaConnection = useSolanaConnection();
|
|
32
35
|
const { findChain } = useSquidChains();
|
|
33
36
|
const queryClient = useQueryClient();
|
|
34
37
|
const { connectedWalletsByChainType } = useWallet();
|
|
@@ -37,35 +40,14 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
37
40
|
const setTransactionStoreState = useTransactionStore((state) => state.setTransactionState);
|
|
38
41
|
const fromPrice = useTransactionStore((state) => state.fromPrice);
|
|
39
42
|
const { connector: activeConnector } = useAccount();
|
|
40
|
-
const { fromChain, toChain, fromToken, toToken, isSameChain } = useSwap();
|
|
41
43
|
const { getGnosisTransactionHash } = useGnosisContext();
|
|
42
|
-
const {
|
|
44
|
+
const { addSwapTransaction, replaceSwapTransactionNonce, replaceSwapTransactionStatus, } = useHistory();
|
|
43
45
|
const { connectedAddress: { address: sourceUserAddress }, changeNetworkIfNeeded, } = useMultiChainWallet(fromChain);
|
|
44
46
|
const connectedSourceWallet = useMemo(() => {
|
|
45
47
|
return fromChain?.chainType
|
|
46
48
|
? connectedWalletsByChainType[fromChain.chainType]
|
|
47
49
|
: undefined;
|
|
48
50
|
}, [fromChain?.chainType, connectedWalletsByChainType]);
|
|
49
|
-
const signerReady = useMemo(() => {
|
|
50
|
-
if (!fromChain?.chainType)
|
|
51
|
-
return false;
|
|
52
|
-
switch (fromChain.chainType) {
|
|
53
|
-
case ChainType.EVM:
|
|
54
|
-
return isEvmSignerReady;
|
|
55
|
-
case ChainType.COSMOS:
|
|
56
|
-
return cosmosSigner !== undefined;
|
|
57
|
-
case ChainType.BTC:
|
|
58
|
-
return bitcoinSigner !== undefined;
|
|
59
|
-
case ChainType.SOLANA:
|
|
60
|
-
return isSolanaSignerReady;
|
|
61
|
-
}
|
|
62
|
-
}, [
|
|
63
|
-
fromChain?.chainType,
|
|
64
|
-
isEvmSignerReady,
|
|
65
|
-
cosmosSigner,
|
|
66
|
-
bitcoinSigner,
|
|
67
|
-
isSolanaSignerReady,
|
|
68
|
-
]);
|
|
69
51
|
/**
|
|
70
52
|
* Set the transaction state in the store
|
|
71
53
|
* This is useful to access the latest transaction from any hook
|
|
@@ -112,7 +94,6 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
112
94
|
}, [cosmosSigner, fromChain]);
|
|
113
95
|
const resetQueriesAfterTxSigned = () => {
|
|
114
96
|
queryClient.refetchQueries(getPrefixKey(QueryKeys.Balance));
|
|
115
|
-
queryClient.refetchQueries(getPrefixKey(QueryKeys.NativeBalanceBigNumber));
|
|
116
97
|
queryClient.invalidateQueries(getPrefixKey(QueryKeys.Transaction));
|
|
117
98
|
};
|
|
118
99
|
const dispatchSignatureRequestEvent = useCallback((route) => {
|
|
@@ -170,7 +151,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
170
151
|
id,
|
|
171
152
|
});
|
|
172
153
|
if (txParams) {
|
|
173
|
-
|
|
154
|
+
addSwapTransaction({
|
|
174
155
|
...txParams,
|
|
175
156
|
params: route.params,
|
|
176
157
|
estimate: route.estimate,
|
|
@@ -208,7 +189,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
208
189
|
id,
|
|
209
190
|
});
|
|
210
191
|
if (txParams) {
|
|
211
|
-
|
|
192
|
+
replaceSwapTransactionNonce(newNonce, sourceUserAddress, {
|
|
212
193
|
...txParams,
|
|
213
194
|
params: route.params,
|
|
214
195
|
estimate: route.estimate,
|
|
@@ -239,7 +220,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
239
220
|
else {
|
|
240
221
|
throw error;
|
|
241
222
|
}
|
|
242
|
-
}, [
|
|
223
|
+
}, [replaceSwapTransactionNonce, setTransactionState, sourceUserAddress]);
|
|
243
224
|
const swapQueryEvm = useMutation(async ({ id, route }) => {
|
|
244
225
|
await changeNetworkIfNeeded.mutateAsync();
|
|
245
226
|
if (!route || !squid || !evmSigner) {
|
|
@@ -272,7 +253,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
272
253
|
id,
|
|
273
254
|
});
|
|
274
255
|
if (txParams) {
|
|
275
|
-
|
|
256
|
+
addSwapTransaction({
|
|
276
257
|
...txParams,
|
|
277
258
|
params: route.params,
|
|
278
259
|
estimate: route.estimate,
|
|
@@ -323,7 +304,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
323
304
|
amount: BigInt(route.params.fromAmount),
|
|
324
305
|
target: depositData.depositAddress,
|
|
325
306
|
signer: solanaSigner,
|
|
326
|
-
connection,
|
|
307
|
+
connection: solanaConnection,
|
|
327
308
|
sourceToken: findToken(route.params.fromToken, route?.params?.fromChain),
|
|
328
309
|
onSigned: (txHash) => {
|
|
329
310
|
WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
|
|
@@ -337,7 +318,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
337
318
|
id,
|
|
338
319
|
});
|
|
339
320
|
if (txParams) {
|
|
340
|
-
|
|
321
|
+
addSwapTransaction({
|
|
341
322
|
...txParams,
|
|
342
323
|
params: route.params,
|
|
343
324
|
estimate: route.estimate,
|
|
@@ -350,7 +331,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
350
331
|
const signature = await executeSolanaSwap({
|
|
351
332
|
route,
|
|
352
333
|
signer: solanaSigner,
|
|
353
|
-
connection,
|
|
334
|
+
connection: solanaConnection,
|
|
354
335
|
onSigned: (txHash) => {
|
|
355
336
|
WidgetEvents.getInstance().dispatchSwapExecuteCall(route, txHash);
|
|
356
337
|
const txParams = setTransactionState({
|
|
@@ -363,7 +344,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
363
344
|
id,
|
|
364
345
|
});
|
|
365
346
|
if (txParams) {
|
|
366
|
-
|
|
347
|
+
addSwapTransaction({
|
|
367
348
|
...txParams,
|
|
368
349
|
params: route.params,
|
|
369
350
|
estimate: route.estimate,
|
|
@@ -391,14 +372,22 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
391
372
|
});
|
|
392
373
|
if (currentTx?.transactionId &&
|
|
393
374
|
errorObject.type === TransactionErrorType.CALL_EXCEPTION) {
|
|
394
|
-
|
|
375
|
+
replaceSwapTransactionStatus({
|
|
376
|
+
transactionId: currentTx.transactionId,
|
|
377
|
+
statusResponse: currentTx.statusResponse,
|
|
378
|
+
status: TransactionStatus.ERROR,
|
|
379
|
+
});
|
|
395
380
|
}
|
|
396
381
|
},
|
|
397
382
|
onSuccess: (_data, variables) => {
|
|
398
383
|
const currentTx = getTransaction(variables.id);
|
|
399
384
|
queryClient.invalidateQueries(getPrefixKey(QueryKeys.Balances));
|
|
400
385
|
if (isSameChain && currentTx?.transactionId) {
|
|
401
|
-
|
|
386
|
+
replaceSwapTransactionStatus({
|
|
387
|
+
transactionId: currentTx.transactionId,
|
|
388
|
+
statusResponse: currentTx.statusResponse,
|
|
389
|
+
status: TransactionStatus.SUCCESS,
|
|
390
|
+
});
|
|
402
391
|
}
|
|
403
392
|
setTransactionStoreState(variables.id, {
|
|
404
393
|
...currentTx,
|
|
@@ -441,7 +430,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
441
430
|
id,
|
|
442
431
|
});
|
|
443
432
|
if (txParams) {
|
|
444
|
-
|
|
433
|
+
addSwapTransaction({
|
|
445
434
|
...txParams,
|
|
446
435
|
params: route.params,
|
|
447
436
|
estimate: route.estimate,
|
|
@@ -457,7 +446,11 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
457
446
|
const currentTx = getTransaction(id);
|
|
458
447
|
queryClient.invalidateQueries(getPrefixKey(QueryKeys.Balances));
|
|
459
448
|
if (isSameChain && currentTx?.transactionId) {
|
|
460
|
-
|
|
449
|
+
replaceSwapTransactionStatus({
|
|
450
|
+
transactionId: currentTx.transactionId,
|
|
451
|
+
statusResponse: currentTx.statusResponse,
|
|
452
|
+
status: TransactionStatus.SUCCESS,
|
|
453
|
+
});
|
|
461
454
|
}
|
|
462
455
|
setTransactionStoreState(id, {
|
|
463
456
|
...currentTx,
|
|
@@ -470,7 +463,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
470
463
|
getTransaction,
|
|
471
464
|
isSameChain,
|
|
472
465
|
queryClient,
|
|
473
|
-
|
|
466
|
+
replaceSwapTransactionStatus,
|
|
474
467
|
setTransactionStoreState,
|
|
475
468
|
]);
|
|
476
469
|
const handleTransactionError = useCallback((error, id) => {
|
|
@@ -490,9 +483,13 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
490
483
|
});
|
|
491
484
|
if (currentTx?.transactionId &&
|
|
492
485
|
errorObject.type === TransactionErrorType.CALL_EXCEPTION) {
|
|
493
|
-
|
|
486
|
+
replaceSwapTransactionStatus({
|
|
487
|
+
transactionId: currentTx?.transactionId,
|
|
488
|
+
statusResponse: currentTx?.statusResponse,
|
|
489
|
+
status: TransactionStatus.ERROR,
|
|
490
|
+
});
|
|
494
491
|
}
|
|
495
|
-
}, [getTransaction,
|
|
492
|
+
}, [getTransaction, replaceSwapTransactionStatus, setTransactionStoreState]);
|
|
496
493
|
const swapQuery = useMutation(async ({ id }) => {
|
|
497
494
|
if (!squidRoute)
|
|
498
495
|
throw new Error("route is required");
|
|
@@ -540,7 +537,7 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
540
537
|
dispatchPreSwapEvent(squidRoute);
|
|
541
538
|
}
|
|
542
539
|
return swapQuery.mutate({ id: transactionId });
|
|
543
|
-
}, [swapQuery, squidRoute, dispatchPreSwapEvent]);
|
|
540
|
+
}, [swapQuery.mutate, squidRoute, dispatchPreSwapEvent]);
|
|
544
541
|
return {
|
|
545
542
|
executeSwap,
|
|
546
543
|
fromToken,
|
|
@@ -548,9 +545,9 @@ export const useExecuteTransaction = (squidRoute) => {
|
|
|
548
545
|
fromPrice,
|
|
549
546
|
toChain,
|
|
550
547
|
fromChain,
|
|
551
|
-
signerReady,
|
|
552
548
|
isLoading: swapQuery.isLoading,
|
|
553
549
|
error: swapQuery.error,
|
|
550
|
+
isSignerReady,
|
|
554
551
|
};
|
|
555
552
|
};
|
|
556
553
|
//# sourceMappingURL=useExecuteTransaction.js.map
|