@0xsquid/react-hooks 2.1.10 → 3.0.0-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.
- package/dist/core/constants.js +97 -143
- package/dist/core/constants.js.map +1 -1
- package/dist/core/types/error.d.ts +1 -2
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/wallet.d.ts +1 -1
- package/dist/core/wagmiConfig.d.ts +7 -0
- package/dist/core/wagmiConfig.js +52 -0
- package/dist/core/wagmiConfig.js.map +1 -0
- package/dist/hooks/tokens/useBalance.d.ts +4 -14
- package/dist/hooks/tokens/useBalance.js +32 -54
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +1 -2
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/transaction/useApproval.js +57 -39
- package/dist/hooks/transaction/useApproval.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.d.ts +13 -15
- package/dist/hooks/transaction/useEstimate.js +21 -144
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -2
- package/dist/hooks/transaction/useExecuteTransaction.js +13 -9
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.js +4 -5
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/wallet/useAddToken.js +9 -7
- package/dist/hooks/wallet/useAddToken.js.map +1 -1
- package/dist/hooks/wallet/useGnosisContext.js +1 -2
- package/dist/hooks/wallet/useGnosisContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +11 -11
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +8 -0
- package/dist/hooks/wallet/useSigner.js +21 -0
- package/dist/hooks/wallet/useSigner.js.map +1 -0
- package/dist/hooks/wallet/useWallet.d.ts +1 -1
- package/dist/hooks/wallet/useWallet.js +1 -1
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/provider/index.js +18 -61
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/ens.js +2 -2
- package/dist/services/external/ens.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +0 -6
- package/dist/services/external/rpcService.js +10 -61
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/secretService.js +3 -3
- package/dist/services/external/secretService.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +2 -0
- package/dist/services/internal/assetsService.js +2 -0
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/estimateService.d.ts +125 -0
- package/dist/services/internal/estimateService.js +201 -0
- package/dist/services/internal/estimateService.js.map +1 -0
- package/dist/services/internal/numberService.d.ts +17 -2
- package/dist/services/internal/numberService.js +52 -5
- package/dist/services/internal/numberService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +2 -2
- package/dist/services/internal/walletService.js +21 -14
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/estimateService.test.d.ts +1 -0
- package/dist/tests/estimateService.test.js +92 -0
- package/dist/tests/estimateService.test.js.map +1 -0
- package/dist/tests/walletService.test.js +18 -0
- package/dist/tests/walletService.test.js.map +1 -1
- package/package.json +14 -14
- package/dist/connectors/ExodusConnector.d.ts +0 -4
- package/dist/connectors/ExodusConnector.js +0 -6
- package/dist/connectors/ExodusConnector.js.map +0 -1
- package/dist/connectors/LedgerLiveConnector.d.ts +0 -40
- package/dist/connectors/LedgerLiveConnector.js +0 -177
- package/dist/connectors/LedgerLiveConnector.js.map +0 -1
- package/dist/contracts/typechain/factories/ERC20__factory.d.ts +0 -56
- package/dist/contracts/typechain/factories/ERC20__factory.js +0 -324
- package/dist/contracts/typechain/factories/ERC20__factory.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { StargateClient } from "@cosmjs/stargate";
|
|
2
|
-
import { formatUnits } from "ethers/lib/utils.js";
|
|
3
2
|
import { nativeEvmTokenAddress } from "../../core/constants";
|
|
4
3
|
import { multicallAbi, multicallAddress } from "../../core/multicall3";
|
|
5
|
-
import { ethers } from "ethers";
|
|
6
|
-
import {
|
|
4
|
+
import { ethers, Interface, JsonRpcProvider } from "ethers";
|
|
5
|
+
import { erc20Abi } from "viem";
|
|
6
|
+
import { formatBNToReadable } from "../internal/numberService";
|
|
7
7
|
const isTokenNative = (token) => token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
|
|
8
8
|
const getTokenAddressForMultiCall = (t) => {
|
|
9
9
|
return isTokenNative(t)
|
|
@@ -12,9 +12,9 @@ const getTokenAddressForMultiCall = (t) => {
|
|
|
12
12
|
};
|
|
13
13
|
const getTokenBalanceCall = (token, userAddress) => {
|
|
14
14
|
const address = getTokenAddressForMultiCall(token);
|
|
15
|
-
const abi = isTokenNative(token) ? multicallAbi :
|
|
15
|
+
const abi = isTokenNative(token) ? multicallAbi : erc20Abi;
|
|
16
16
|
const method = isTokenNative(token) ? "getEthBalance" : "balanceOf";
|
|
17
|
-
const iface = new
|
|
17
|
+
const iface = new Interface(abi);
|
|
18
18
|
const callData = iface.encodeFunctionData(method, [userAddress]);
|
|
19
19
|
return [address, callData];
|
|
20
20
|
};
|
|
@@ -27,12 +27,10 @@ const getTokenBalanceCall = (token, userAddress) => {
|
|
|
27
27
|
*/
|
|
28
28
|
const executeMulticall = async (multicall, calls, tokens) => {
|
|
29
29
|
try {
|
|
30
|
-
|
|
31
|
-
// This way, if we fail to retrieve the balance of a token, we can still retrieve the rest
|
|
32
|
-
const results = await multicall.callStatic.tryAggregate(false, calls);
|
|
30
|
+
const results = await multicall.tryAggregate.staticCall(false, calls);
|
|
33
31
|
const tokenWithResult = tokens.map((token, index) => ({
|
|
34
32
|
token,
|
|
35
|
-
result: results[index],
|
|
33
|
+
result: { success: results[index][0], returnData: results[index][1] },
|
|
36
34
|
}));
|
|
37
35
|
return tokenWithResult;
|
|
38
36
|
}
|
|
@@ -59,7 +57,7 @@ const formatBalanceForTokens = (results) => {
|
|
|
59
57
|
try {
|
|
60
58
|
return {
|
|
61
59
|
...token,
|
|
62
|
-
balance:
|
|
60
|
+
balance: formatBNToReadable(BigInt(result.returnData), token.decimals),
|
|
63
61
|
};
|
|
64
62
|
}
|
|
65
63
|
catch (error) {
|
|
@@ -74,7 +72,7 @@ const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
|
|
|
74
72
|
// Create providers for each chain
|
|
75
73
|
const providers = {};
|
|
76
74
|
chains.forEach((chain) => {
|
|
77
|
-
providers[chain.chainId] = new
|
|
75
|
+
providers[chain.chainId] = new JsonRpcProvider(chain.rpc);
|
|
78
76
|
});
|
|
79
77
|
const fetchBalancesForChain = async (chain) => {
|
|
80
78
|
const tokensForChain = tokens.filter((t) => t.chainId === chain.chainId);
|
|
@@ -98,55 +96,6 @@ const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
|
|
|
98
96
|
return allResults.flat();
|
|
99
97
|
};
|
|
100
98
|
export { getTokensSupportingMultiCall };
|
|
101
|
-
// type FetchBalanceResult = {
|
|
102
|
-
// decimals: number;
|
|
103
|
-
// formatted: string;
|
|
104
|
-
// symbol: string;
|
|
105
|
-
// value: BigNumber;
|
|
106
|
-
// };
|
|
107
|
-
/**
|
|
108
|
-
* Some chains don't support multicall, so we need to fetch them with Promise.all & fetchBalance
|
|
109
|
-
* @param tokens
|
|
110
|
-
* @param userAddress
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
//TODO: Keep this for later if new evm without multicall
|
|
114
|
-
// const getTokensWithoutMultiCall = async (
|
|
115
|
-
// tokens: Token[],
|
|
116
|
-
// userAddress: ContractAddress
|
|
117
|
-
// ): Promise<TokenWithBalance[]> => {
|
|
118
|
-
// const balances = (await Promise.all(
|
|
119
|
-
// tokens.map(async (t) => {
|
|
120
|
-
// let balance: FetchBalanceResult | undefined;
|
|
121
|
-
// try {
|
|
122
|
-
// if (t.address.toLowerCase() === nativeEvmTokenAddress) {
|
|
123
|
-
// balance = await fetchBalance({
|
|
124
|
-
// address: userAddress,
|
|
125
|
-
// chainId: +t.chainId,
|
|
126
|
-
// });
|
|
127
|
-
// } else {
|
|
128
|
-
// balance = await fetchBalance({
|
|
129
|
-
// address: userAddress,
|
|
130
|
-
// chainId: +t.chainId,
|
|
131
|
-
// token: t.address as ContractAddress,
|
|
132
|
-
// });
|
|
133
|
-
// }
|
|
134
|
-
// return balance;
|
|
135
|
-
// } catch (error) {
|
|
136
|
-
// return {
|
|
137
|
-
// decimals: t.decimals,
|
|
138
|
-
// formatted: "0",
|
|
139
|
-
// symbol: t.symbol,
|
|
140
|
-
// value: constants.Zero,
|
|
141
|
-
// };
|
|
142
|
-
// }
|
|
143
|
-
// })
|
|
144
|
-
// )) as FetchBalanceResult[];
|
|
145
|
-
// return tokens.map((t, i) => ({
|
|
146
|
-
// ...t,
|
|
147
|
-
// balance: utils.formatUnits(balances[i].value, t.decimals),
|
|
148
|
-
// }));
|
|
149
|
-
// };
|
|
150
99
|
export const getAllEvmTokensBalance = async (evmTokens, userAddress, chains) => {
|
|
151
100
|
const tokensMulticall = await getTokensSupportingMultiCall(evmTokens, userAddress, chains);
|
|
152
101
|
return tokensMulticall;
|
|
@@ -221,7 +170,7 @@ export const getAllCosmosBalancesForChain = async ({ rpc, address, tokens, }) =>
|
|
|
221
170
|
return {
|
|
222
171
|
...t,
|
|
223
172
|
balance: balanceCoin
|
|
224
|
-
?
|
|
173
|
+
? formatBNToReadable(BigInt(balanceCoin?.amount), t?.decimals)
|
|
225
174
|
: "0",
|
|
226
175
|
};
|
|
227
176
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcService.js","sourceRoot":"","sources":["../../../src/services/external/rpcService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rpcService.js","sourceRoot":"","sources":["../../../src/services/external/rpcService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StargateClient } from "@cosmjs/stargate";
|
|
2
|
-
import { formatUnits } from "ethers/lib/utils.js";
|
|
3
2
|
import { SecretNetworkClient } from "secretjs";
|
|
4
3
|
import { SECRET_CHAIN_ID } from "../../core/constants";
|
|
4
|
+
import { formatBNToReadable } from "../internal/numberService";
|
|
5
5
|
/**
|
|
6
6
|
* Fetch secret network token balance
|
|
7
7
|
* Using the permit signature, see permit function for more details
|
|
@@ -113,7 +113,7 @@ export const fetchAllSecretBalances = async (chainData, userAddress, secretToken
|
|
|
113
113
|
}, permit));
|
|
114
114
|
return {
|
|
115
115
|
...token,
|
|
116
|
-
balance:
|
|
116
|
+
balance: formatBNToReadable(BigInt(result.balance.amount), token?.decimals),
|
|
117
117
|
};
|
|
118
118
|
}));
|
|
119
119
|
// Use Stargate getBalance for SCRT
|
|
@@ -122,7 +122,7 @@ export const fetchAllSecretBalances = async (chainData, userAddress, secretToken
|
|
|
122
122
|
const publicTokenBalance = await stargateClient.getBalance(userAddress, "uscrt");
|
|
123
123
|
const publicTokenWithBalance = {
|
|
124
124
|
...nativeSecretToken,
|
|
125
|
-
balance:
|
|
125
|
+
balance: formatBNToReadable(BigInt(publicTokenBalance.amount), nativeSecretToken?.decimals ?? 18),
|
|
126
126
|
};
|
|
127
127
|
return [...privateTokens, publicTokenWithBalance];
|
|
128
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretService.js","sourceRoot":"","sources":["../../../src/services/external/secretService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"secretService.js","sourceRoot":"","sources":["../../../src/services/external/secretService.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,3 +64,5 @@ export declare const getNewSwapParamsFromInput: ({ inputParams, initialSwapRoute
|
|
|
64
64
|
fbAddress: string | undefined;
|
|
65
65
|
};
|
|
66
66
|
export declare const sortAllTokens: (tokenA: Pick<Token, "address" | "symbol" | "chainId">, tokenB: Pick<Token, "address" | "symbol" | "chainId">) => number;
|
|
67
|
+
export declare const findToken: (tokens: any[], chainId?: string, address?: string) => any;
|
|
68
|
+
export declare const findNativeToken: (tokens: any[], chain: any) => any;
|
|
@@ -210,4 +210,6 @@ export const sortAllTokens = (tokenA, tokenB) => {
|
|
|
210
210
|
}
|
|
211
211
|
return tokenA.symbol.localeCompare(tokenB.symbol);
|
|
212
212
|
};
|
|
213
|
+
export const findToken = (tokens, chainId, address) => tokens.find((t) => t.chainId === chainId && t.address === address);
|
|
214
|
+
export const findNativeToken = (tokens, chain) => tokens.find((t) => t.symbol === chain?.nativeCurrency.symbol && t.chainId == chain?.chainId);
|
|
213
215
|
//# sourceMappingURL=assetsService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetsService.js","sourceRoot":"","sources":["../../../src/services/internal/assetsService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assetsService.js","sourceRoot":"","sources":["../../../src/services/internal/assetsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { RouteResponse } from "@0xsquid/sdk/dist/types";
|
|
2
|
+
import type { ChainData, FeeCost, GasCost, Token } from "@0xsquid/squid-types";
|
|
3
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
4
|
+
export type PartialFeeCost = Pick<FeeCost, "amount"> & {
|
|
5
|
+
token?: Pick<FeeCost["token"], "decimals">;
|
|
6
|
+
};
|
|
7
|
+
export declare const formatAmount: (amountInWei: string | undefined, decimals: number | undefined) => string;
|
|
8
|
+
export declare const parseToAmountUSD: (toAmountUSD: string | undefined) => number;
|
|
9
|
+
export declare const calculateExpectedGasRefundCost: (firstFeeCost: PartialFeeCost | undefined, fromChainType?: ChainType) => bigint;
|
|
10
|
+
export declare const calculateTotalNativeFees: ({ expressFeeCost, firstFeeCost, firstGasCost, sameTokenBetweenFees, }: {
|
|
11
|
+
expressFeeCost: FeeCost | undefined;
|
|
12
|
+
firstFeeCost: FeeCost | undefined;
|
|
13
|
+
firstGasCost: GasCost | undefined;
|
|
14
|
+
sameTokenBetweenFees: boolean;
|
|
15
|
+
}) => bigint;
|
|
16
|
+
export declare const isFromBalanceEnoughToSwap: ({ isFromTokenNative, fromAmount, fromTokenDecimals, totalFeesInNativeTokenPlusRatio, nativeTokenBalanceFromChainWei, sourceChainNativeTokenDecimals, }: {
|
|
17
|
+
isFromTokenNative: boolean;
|
|
18
|
+
fromAmount: string | undefined;
|
|
19
|
+
fromTokenDecimals: number | undefined;
|
|
20
|
+
totalFeesInNativeTokenPlusRatio: bigint;
|
|
21
|
+
nativeTokenBalanceFromChainWei: bigint;
|
|
22
|
+
sourceChainNativeTokenDecimals: number | undefined;
|
|
23
|
+
}) => boolean;
|
|
24
|
+
export declare const calculateMinAmountValueWarnMsg: ({ isFromTokenNative, nativeTokenBalanceFromChainWei, sourceChainNativeTokenDecimals, totalFeesInNativeTokenPlusRatio, }: {
|
|
25
|
+
isFromTokenNative: boolean;
|
|
26
|
+
nativeTokenBalanceFromChainWei: bigint;
|
|
27
|
+
sourceChainNativeTokenDecimals: number | undefined;
|
|
28
|
+
totalFeesInNativeTokenPlusRatio: bigint;
|
|
29
|
+
}) => string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Calculates the estimate results based on the provided Squid route and additional parameters.
|
|
32
|
+
*
|
|
33
|
+
* @param {RouteResponse} squidRoute - The Squid route response containing estimate information.
|
|
34
|
+
* @param {any[]} tokens - An array of token objects.
|
|
35
|
+
* @param {ChainData} fromChain - The source chain object.
|
|
36
|
+
* @param {boolean} collectFees - Flag indicating whether to collect fees.
|
|
37
|
+
* @param {string} nativeTokenBalanceFromChain - The native token balance on the source chain.
|
|
38
|
+
* @param {boolean} expressActivatedUI - Flag indicating whether express mode is activated in the UI.
|
|
39
|
+
* @returns {Object} An object containing various estimate results and calculations.
|
|
40
|
+
*/
|
|
41
|
+
export declare const formatEstimatedRouteDuration: ({ estimatedRouteDuration, isSingleChainRoute, }: {
|
|
42
|
+
estimatedRouteDuration?: number | undefined;
|
|
43
|
+
isSingleChainRoute: boolean;
|
|
44
|
+
fromChain?: ChainData | undefined;
|
|
45
|
+
expressActivatedUI?: boolean | undefined;
|
|
46
|
+
}) => {
|
|
47
|
+
seconds: number;
|
|
48
|
+
format: (sTemplate?: string, mTemplate?: string, hTemplate?: string) => string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Calculates and formats various estimate results based on the provided Squid route and additional parameters.
|
|
52
|
+
*
|
|
53
|
+
* @param {RouteResponse["route"]} squidRoute - The Squid route containing estimate information.
|
|
54
|
+
* @param {Token[]} tokens - An array of token objects.
|
|
55
|
+
* @param {ChainData} fromChain - The source chain object.
|
|
56
|
+
* @param {ChainData} toChain - The destination chain object.
|
|
57
|
+
* @param {boolean} collectFees - Flag indicating whether to collect fees.
|
|
58
|
+
* @param {string} nativeTokenBalanceFromChain - The native token balance on the source chain.
|
|
59
|
+
* @param {boolean} expressActivatedUI - Flag indicating whether express mode is activated in the UI.
|
|
60
|
+
* @returns {Object} An object containing various estimate results and calculations, including token information,
|
|
61
|
+
* amounts, fees, gas costs, and other relevant data for the transaction.
|
|
62
|
+
*/
|
|
63
|
+
export declare const calculateEstimateResults: ({ squidRoute, tokens, fromChain, toChain, collectFees, nativeTokenBalanceFromChainWei, expressActivatedUI, }: {
|
|
64
|
+
squidRoute: RouteResponse["route"] | undefined;
|
|
65
|
+
tokens: Token[];
|
|
66
|
+
fromChain?: ChainData | undefined;
|
|
67
|
+
toChain?: ChainData | undefined;
|
|
68
|
+
collectFees: boolean;
|
|
69
|
+
nativeTokenBalanceFromChainWei: bigint;
|
|
70
|
+
expressActivatedUI?: boolean | undefined;
|
|
71
|
+
}) => {
|
|
72
|
+
fromToken: any;
|
|
73
|
+
fromAmount: string | undefined;
|
|
74
|
+
fromAmountFormatted: string;
|
|
75
|
+
sourceChainNativeToken: any;
|
|
76
|
+
destChainNativeToken: any;
|
|
77
|
+
toAmountUSD: string | undefined;
|
|
78
|
+
toAmountUSDFloat: number;
|
|
79
|
+
exchangeRate: string;
|
|
80
|
+
toAmountMinUSD: string;
|
|
81
|
+
toAmountMin: string;
|
|
82
|
+
toAmount: string;
|
|
83
|
+
allFeeCosts: FeeCost[];
|
|
84
|
+
allGasCosts: GasCost[];
|
|
85
|
+
firstFeeCost: FeeCost | undefined;
|
|
86
|
+
firstGasCost: GasCost | undefined;
|
|
87
|
+
expressFeeCost: FeeCost | undefined;
|
|
88
|
+
integratorFeeCost: FeeCost | undefined;
|
|
89
|
+
expectedGasRefundCost: bigint;
|
|
90
|
+
expectedGasRefundCostUSD: string;
|
|
91
|
+
sameTokenBetweenFees: boolean;
|
|
92
|
+
isFromTokenNative: boolean;
|
|
93
|
+
totalNativeFees: bigint;
|
|
94
|
+
totalFeesInNativeTokenPlusRatio: bigint;
|
|
95
|
+
fromBalanceEnoughToSwap: boolean;
|
|
96
|
+
minAmountValueWarnMsg: string | undefined;
|
|
97
|
+
estimatedRouteDuration: {
|
|
98
|
+
seconds: number;
|
|
99
|
+
format: (sTemplate?: string, mTemplate?: string, hTemplate?: string) => string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Calculates the total estimate with refund for a transaction.
|
|
104
|
+
*
|
|
105
|
+
* @param firstFeeCost - The initial fee cost of the transaction.
|
|
106
|
+
* @param expressFeeCost - The express fee cost, if applicable.
|
|
107
|
+
* @param expectedGasRefundCost - The expected gas refund cost as a bigint.
|
|
108
|
+
* @param getUSDValue - A function to convert an amount to its USD value.
|
|
109
|
+
* @returns An object containing the total amount, total amount in USD, and the fee token.
|
|
110
|
+
*/
|
|
111
|
+
export declare const calculateTotalWithRefundEstimate: (firstFeeCost: FeeCost | undefined, expressFeeCost: FeeCost | undefined, expectedGasRefundCost: bigint, getUSDValue: (amount: string) => string) => {
|
|
112
|
+
totalAmount: string;
|
|
113
|
+
totalAmountUSD: number;
|
|
114
|
+
feeToken: Token | undefined;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Calculates the proposed gas amount for the destination chain.
|
|
118
|
+
*
|
|
119
|
+
* @param destChainNativeToken - The symbol of the native token for the destination chain.
|
|
120
|
+
* @returns An object containing the proposed gas amount value and the currency symbol.
|
|
121
|
+
*/
|
|
122
|
+
export declare const getProposedGasDestinationAmount: (destChainNativeToken: string | undefined) => {
|
|
123
|
+
value: number;
|
|
124
|
+
currency: string | undefined;
|
|
125
|
+
};
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
+
import { convertTokenAmountToUSD, findNativeToken, findToken, formatSeconds, } from "..";
|
|
3
|
+
import { gasRefundMultiplier } from "../../core/constants";
|
|
4
|
+
import { formatBNToReadable, formatUnitsRounded, parseToBigInt, } from "./numberService";
|
|
5
|
+
export const formatAmount = (amountInWei, decimals) => (amountInWei ? formatBNToReadable(amountInWei, decimals) : "");
|
|
6
|
+
export const parseToAmountUSD = (toAmountUSD) => toAmountUSD ? parseFloat(toAmountUSD.replace(/,/g, "")) : 0;
|
|
7
|
+
export const calculateExpectedGasRefundCost = (firstFeeCost, fromChainType) => {
|
|
8
|
+
if (fromChainType !== ChainType.EVM) {
|
|
9
|
+
return 0n;
|
|
10
|
+
}
|
|
11
|
+
const amount = BigInt(firstFeeCost?.amount ?? "0");
|
|
12
|
+
const refundMultiplier = BigInt(gasRefundMultiplier);
|
|
13
|
+
return (amount * refundMultiplier) / BigInt(100);
|
|
14
|
+
};
|
|
15
|
+
export const calculateTotalNativeFees = ({ expressFeeCost, firstFeeCost, firstGasCost, sameTokenBetweenFees, }) => parseToBigInt(expressFeeCost?.amount ?? "0", expressFeeCost?.token.decimals ?? 0) +
|
|
16
|
+
(sameTokenBetweenFees
|
|
17
|
+
? parseToBigInt(firstFeeCost?.amount ?? "0", firstFeeCost?.token.decimals ?? 0) +
|
|
18
|
+
parseToBigInt(firstGasCost?.amount ?? "0", firstGasCost?.token.decimals ?? 0)
|
|
19
|
+
: parseToBigInt(firstGasCost?.amount ?? "0", firstGasCost?.token.decimals ?? 0));
|
|
20
|
+
export const isFromBalanceEnoughToSwap = ({ isFromTokenNative, fromAmount, fromTokenDecimals, totalFeesInNativeTokenPlusRatio, nativeTokenBalanceFromChainWei, sourceChainNativeTokenDecimals, }) => isFromTokenNative
|
|
21
|
+
? parseToBigInt(fromAmount ?? "0", fromTokenDecimals) +
|
|
22
|
+
totalFeesInNativeTokenPlusRatio <=
|
|
23
|
+
parseToBigInt(nativeTokenBalanceFromChainWei.toString(), sourceChainNativeTokenDecimals)
|
|
24
|
+
: totalFeesInNativeTokenPlusRatio <=
|
|
25
|
+
parseToBigInt(nativeTokenBalanceFromChainWei.toString(), sourceChainNativeTokenDecimals);
|
|
26
|
+
export const calculateMinAmountValueWarnMsg = ({ isFromTokenNative, nativeTokenBalanceFromChainWei, sourceChainNativeTokenDecimals, totalFeesInNativeTokenPlusRatio, }) => isFromTokenNative
|
|
27
|
+
? (() => {
|
|
28
|
+
const minAmount = nativeTokenBalanceFromChainWei - totalFeesInNativeTokenPlusRatio;
|
|
29
|
+
return minAmount > 0n
|
|
30
|
+
? formatBNToReadable(minAmount, sourceChainNativeTokenDecimals)
|
|
31
|
+
: "0";
|
|
32
|
+
})()
|
|
33
|
+
: undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Calculates the estimate results based on the provided Squid route and additional parameters.
|
|
36
|
+
*
|
|
37
|
+
* @param {RouteResponse} squidRoute - The Squid route response containing estimate information.
|
|
38
|
+
* @param {any[]} tokens - An array of token objects.
|
|
39
|
+
* @param {ChainData} fromChain - The source chain object.
|
|
40
|
+
* @param {boolean} collectFees - Flag indicating whether to collect fees.
|
|
41
|
+
* @param {string} nativeTokenBalanceFromChain - The native token balance on the source chain.
|
|
42
|
+
* @param {boolean} expressActivatedUI - Flag indicating whether express mode is activated in the UI.
|
|
43
|
+
* @returns {Object} An object containing various estimate results and calculations.
|
|
44
|
+
*/
|
|
45
|
+
export const formatEstimatedRouteDuration = ({ estimatedRouteDuration, isSingleChainRoute, }) => {
|
|
46
|
+
const fallbackDuration = 20;
|
|
47
|
+
let durationInSeconds = fallbackDuration;
|
|
48
|
+
if (estimatedRouteDuration) {
|
|
49
|
+
durationInSeconds = estimatedRouteDuration;
|
|
50
|
+
}
|
|
51
|
+
else if (isSingleChainRoute) {
|
|
52
|
+
durationInSeconds = 1;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
durationInSeconds = fallbackDuration;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
seconds: durationInSeconds,
|
|
59
|
+
format: (sTemplate = "s", mTemplate = "m", hTemplate = "h") => formatSeconds(durationInSeconds, sTemplate, mTemplate, hTemplate),
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Calculates and formats various estimate results based on the provided Squid route and additional parameters.
|
|
64
|
+
*
|
|
65
|
+
* @param {RouteResponse["route"]} squidRoute - The Squid route containing estimate information.
|
|
66
|
+
* @param {Token[]} tokens - An array of token objects.
|
|
67
|
+
* @param {ChainData} fromChain - The source chain object.
|
|
68
|
+
* @param {ChainData} toChain - The destination chain object.
|
|
69
|
+
* @param {boolean} collectFees - Flag indicating whether to collect fees.
|
|
70
|
+
* @param {string} nativeTokenBalanceFromChain - The native token balance on the source chain.
|
|
71
|
+
* @param {boolean} expressActivatedUI - Flag indicating whether express mode is activated in the UI.
|
|
72
|
+
* @returns {Object} An object containing various estimate results and calculations, including token information,
|
|
73
|
+
* amounts, fees, gas costs, and other relevant data for the transaction.
|
|
74
|
+
*/
|
|
75
|
+
export const calculateEstimateResults = ({ squidRoute, tokens, fromChain, toChain, collectFees, nativeTokenBalanceFromChainWei, expressActivatedUI, }) => {
|
|
76
|
+
const fromToken = findToken(tokens, squidRoute?.params.fromChain, squidRoute?.params.fromToken);
|
|
77
|
+
const fromAmount = squidRoute?.estimate?.fromAmount;
|
|
78
|
+
const fromAmountFormatted = formatAmount(fromAmount, fromToken?.decimals);
|
|
79
|
+
const sourceChainNativeToken = findNativeToken(tokens, fromChain);
|
|
80
|
+
const destChainNativeToken = findNativeToken(tokens, toChain);
|
|
81
|
+
const toAmountUSD = squidRoute?.estimate?.toAmountUSD;
|
|
82
|
+
const toAmountUSDFloat = parseToAmountUSD(toAmountUSD);
|
|
83
|
+
const exchangeRate = squidRoute?.estimate.exchangeRate ?? "0";
|
|
84
|
+
const toAmountMinUSD = squidRoute?.estimate.toAmountMinUSD ?? "0";
|
|
85
|
+
const toAmountMin = formatBNToReadable(squidRoute?.estimate.toAmountMin ?? "0", squidRoute?.estimate.toToken.decimals);
|
|
86
|
+
const toAmount = formatUnitsRounded((squidRoute?.estimate.toAmount ?? "0").toString(), squidRoute?.estimate.toToken.decimals, 14);
|
|
87
|
+
const estimate = squidRoute?.estimate;
|
|
88
|
+
const allFeeCosts = estimate?.feeCosts ?? [];
|
|
89
|
+
const allGasCosts = estimate?.gasCosts ?? [];
|
|
90
|
+
const firstFeeCost = allFeeCosts.length > 0 ? allFeeCosts[0] : undefined;
|
|
91
|
+
const firstGasCost = allGasCosts.length > 0 ? allGasCosts[0] : undefined;
|
|
92
|
+
const expressFeeCost = allFeeCosts.find((f) => f.name === "Boost fee");
|
|
93
|
+
const integratorFeeCost = allFeeCosts.length > 0 && collectFees
|
|
94
|
+
? allFeeCosts.find((f) => f.name === "Integrator fee")
|
|
95
|
+
: undefined;
|
|
96
|
+
const expectedGasRefundCost = calculateExpectedGasRefundCost(firstFeeCost, fromChain?.chainType);
|
|
97
|
+
const expectedGasRefundCostUSD = convertTokenAmountToUSD(formatBNToReadable(expectedGasRefundCost, firstFeeCost?.token.decimals ?? 18), firstFeeCost?.token.usdPrice ?? "0");
|
|
98
|
+
const sameTokenBetweenFees = firstFeeCost?.token.address === firstGasCost?.token.address &&
|
|
99
|
+
firstFeeCost?.token.chainId === firstGasCost?.token.chainId;
|
|
100
|
+
const isFromTokenNative = fromToken?.symbol === fromChain?.nativeCurrency.symbol;
|
|
101
|
+
const totalNativeFees = calculateTotalNativeFees({
|
|
102
|
+
expressFeeCost,
|
|
103
|
+
firstFeeCost,
|
|
104
|
+
firstGasCost,
|
|
105
|
+
sameTokenBetweenFees,
|
|
106
|
+
});
|
|
107
|
+
const totalFeesInNativeTokenPlusRatio = (totalNativeFees * 105n) / 100n;
|
|
108
|
+
const fromBalanceEnoughToSwap = isFromBalanceEnoughToSwap({
|
|
109
|
+
isFromTokenNative,
|
|
110
|
+
fromAmount,
|
|
111
|
+
fromTokenDecimals: fromToken?.decimals,
|
|
112
|
+
totalFeesInNativeTokenPlusRatio,
|
|
113
|
+
nativeTokenBalanceFromChainWei,
|
|
114
|
+
sourceChainNativeTokenDecimals: sourceChainNativeToken?.decimals,
|
|
115
|
+
});
|
|
116
|
+
const minAmountValueWarnMsg = calculateMinAmountValueWarnMsg({
|
|
117
|
+
isFromTokenNative,
|
|
118
|
+
nativeTokenBalanceFromChainWei,
|
|
119
|
+
sourceChainNativeTokenDecimals: sourceChainNativeToken?.decimals,
|
|
120
|
+
totalFeesInNativeTokenPlusRatio,
|
|
121
|
+
});
|
|
122
|
+
const isSingleChainRoute = fromChain?.chainId === toChain?.chainId;
|
|
123
|
+
const estimatedRouteDuration = formatEstimatedRouteDuration({
|
|
124
|
+
estimatedRouteDuration: squidRoute?.estimate?.estimatedRouteDuration,
|
|
125
|
+
isSingleChainRoute,
|
|
126
|
+
fromChain,
|
|
127
|
+
expressActivatedUI,
|
|
128
|
+
});
|
|
129
|
+
return {
|
|
130
|
+
fromToken,
|
|
131
|
+
fromAmount,
|
|
132
|
+
fromAmountFormatted,
|
|
133
|
+
sourceChainNativeToken,
|
|
134
|
+
destChainNativeToken,
|
|
135
|
+
toAmountUSD,
|
|
136
|
+
toAmountUSDFloat,
|
|
137
|
+
exchangeRate,
|
|
138
|
+
toAmountMinUSD,
|
|
139
|
+
toAmountMin,
|
|
140
|
+
toAmount,
|
|
141
|
+
allFeeCosts,
|
|
142
|
+
allGasCosts,
|
|
143
|
+
firstFeeCost,
|
|
144
|
+
firstGasCost,
|
|
145
|
+
expressFeeCost,
|
|
146
|
+
integratorFeeCost,
|
|
147
|
+
expectedGasRefundCost,
|
|
148
|
+
expectedGasRefundCostUSD,
|
|
149
|
+
sameTokenBetweenFees,
|
|
150
|
+
isFromTokenNative,
|
|
151
|
+
totalNativeFees,
|
|
152
|
+
totalFeesInNativeTokenPlusRatio,
|
|
153
|
+
fromBalanceEnoughToSwap,
|
|
154
|
+
minAmountValueWarnMsg,
|
|
155
|
+
estimatedRouteDuration,
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Calculates the total estimate with refund for a transaction.
|
|
160
|
+
*
|
|
161
|
+
* @param firstFeeCost - The initial fee cost of the transaction.
|
|
162
|
+
* @param expressFeeCost - The express fee cost, if applicable.
|
|
163
|
+
* @param expectedGasRefundCost - The expected gas refund cost as a bigint.
|
|
164
|
+
* @param getUSDValue - A function to convert an amount to its USD value.
|
|
165
|
+
* @returns An object containing the total amount, total amount in USD, and the fee token.
|
|
166
|
+
*/
|
|
167
|
+
export const calculateTotalWithRefundEstimate = (firstFeeCost, expressFeeCost, expectedGasRefundCost, getUSDValue) => {
|
|
168
|
+
const firstFee = BigInt(firstFeeCost?.amount ?? "0");
|
|
169
|
+
const expressFee = BigInt(expressFeeCost?.amount ?? "0");
|
|
170
|
+
const totalBnbAmount = firstFee + expressFee - expectedGasRefundCost;
|
|
171
|
+
const totalAmount = formatBNToReadable(totalBnbAmount, firstFeeCost?.token?.decimals ?? 18);
|
|
172
|
+
const formattedRefundCost = formatBNToReadable(expectedGasRefundCost, firstFeeCost?.token.decimals ?? 18);
|
|
173
|
+
const formattedRefundCostUSD = getUSDValue(formattedRefundCost);
|
|
174
|
+
const totalAmountUSD = +(firstFeeCost?.amountUsd ?? 0) +
|
|
175
|
+
+(expressFeeCost?.amountUsd ?? 0) -
|
|
176
|
+
+(formattedRefundCostUSD ?? 0);
|
|
177
|
+
return { totalAmount, totalAmountUSD, feeToken: firstFeeCost?.token };
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* Calculates the proposed gas amount for the destination chain.
|
|
181
|
+
*
|
|
182
|
+
* @param destChainNativeToken - The symbol of the native token for the destination chain.
|
|
183
|
+
* @returns An object containing the proposed gas amount value and the currency symbol.
|
|
184
|
+
*/
|
|
185
|
+
export const getProposedGasDestinationAmount = (destChainNativeToken) => {
|
|
186
|
+
const gasAmounts = {
|
|
187
|
+
GLMR: 5.289,
|
|
188
|
+
ETH: 0.0009,
|
|
189
|
+
AVAX: 0.115,
|
|
190
|
+
BNB: 0.00425,
|
|
191
|
+
FTM: 4.45,
|
|
192
|
+
CELO: 3.052,
|
|
193
|
+
KAVA: 2.339,
|
|
194
|
+
MATIC: 1.795,
|
|
195
|
+
};
|
|
196
|
+
return {
|
|
197
|
+
value: gasAmounts[destChainNativeToken ?? ""] ?? 0,
|
|
198
|
+
currency: destChainNativeToken,
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=estimateService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimateService.js","sourceRoot":"","sources":["../../../src/services/internal/estimateService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Parses a value to a bigint
|
|
3
|
+
* @param value - The value to parse
|
|
4
|
+
* @param decimals - The number of decimals
|
|
5
|
+
* @returns The parsed bigint
|
|
6
|
+
* @throws Error if parsing fails
|
|
7
|
+
*/
|
|
8
|
+
export declare const parseToBigInt: (value: string, decimals?: number) => bigint;
|
|
9
|
+
/**
|
|
10
|
+
* Formats a value to a readable string
|
|
11
|
+
* @param value - The value to format (bigint or string)
|
|
12
|
+
* @param decimals - The number of decimals
|
|
13
|
+
* @returns The formatted string
|
|
14
|
+
* @throws Error if formatting fails
|
|
15
|
+
*/
|
|
16
|
+
export declare const formatBNToReadable: (value: bigint | string, decimals?: number) => string;
|
|
2
17
|
export declare const roundNumericValue: (value?: string, precision?: number, useComaEvery3Digits?: boolean, significantFigures?: number) => string;
|
|
3
|
-
export declare function formatUnitsRounded(value:
|
|
18
|
+
export declare function formatUnitsRounded(value: string, decimals?: string | number, maxDecimalDigits?: number): string;
|
|
4
19
|
/**
|
|
5
20
|
* Formats a number to the en-US number format
|
|
6
21
|
*
|