@0xsquid/react-hooks 7.1.3-evmos-beta.0 → 7.1.3-evmos-beta.1
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/hooks/transaction/useApproval.js +15 -12
- package/dist/hooks/transaction/useApproval.js.map +1 -1
- package/dist/hooks/transaction/useIcs20Allowance.d.ts +0 -1
- package/dist/hooks/transaction/useIcs20Allowance.js +11 -5
- package/dist/hooks/transaction/useIcs20Allowance.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,13 +18,17 @@ export const useApproval = ({ squidRoute, }) => {
|
|
|
18
18
|
const publicClient = usePublicClient();
|
|
19
19
|
const queryClient = useQueryClient();
|
|
20
20
|
const squid = useSquidStore((state) => state.squid);
|
|
21
|
-
const { fromChain, fromToken, fromPrice } = useSwap();
|
|
21
|
+
const { fromChain, fromToken, fromPrice, isSameChain } = useSwap();
|
|
22
22
|
const { evmSigner } = useSigner({ chain: fromChain });
|
|
23
23
|
const { connector: activeConnector } = useAccount();
|
|
24
24
|
const { getChainType } = useSquidChains();
|
|
25
25
|
const { switchChainAsync } = useSwitchChain();
|
|
26
26
|
const { connectedAddress: { address: sourceUserAddress }, } = useMultiChainWallet(fromChain);
|
|
27
27
|
const isSrcChainEvmos = isEvmosChain(fromChain);
|
|
28
|
+
const isSagaSameChainSwap = isSameChain &&
|
|
29
|
+
fromChain?.chainId.toString() === CHAIN_IDS.SAGA_EVM.toString();
|
|
30
|
+
// Use ICS20 for Evmos chains, except for SAGA same chain swaps
|
|
31
|
+
const useIcs20 = isSrcChainEvmos && !isSagaSameChainSwap;
|
|
28
32
|
const { hasAllowance: hasErc20Allowance, query: erc20AllowanceQuery, allowanceInWei: erc20AllowanceInWei, } = useErc20Allowance({
|
|
29
33
|
tokenAddress: fromToken?.address,
|
|
30
34
|
ownerAddress: sourceUserAddress,
|
|
@@ -32,7 +36,7 @@ export const useApproval = ({ squidRoute, }) => {
|
|
|
32
36
|
?.target,
|
|
33
37
|
amount: BigInt(squidRoute?.params.fromAmount ?? "0"),
|
|
34
38
|
chainId: Number(fromChain?.chainId),
|
|
35
|
-
enabled: !
|
|
39
|
+
enabled: !useIcs20,
|
|
36
40
|
});
|
|
37
41
|
const { hasAllowance: hasIcs20Allowance, query: ics20AllowanceQuery, allowanceInWei: ics20AllowanceInWei, } = useIcs20Allowance({
|
|
38
42
|
ownerAddress: sourceUserAddress,
|
|
@@ -40,15 +44,11 @@ export const useApproval = ({ squidRoute, }) => {
|
|
|
40
44
|
?.target,
|
|
41
45
|
amount: BigInt(squidRoute?.params.fromAmount ?? "0"),
|
|
42
46
|
chainId: Number(fromChain?.chainId),
|
|
43
|
-
enabled:
|
|
47
|
+
enabled: useIcs20,
|
|
44
48
|
});
|
|
45
|
-
const hasAllowance =
|
|
46
|
-
const allowanceInWei =
|
|
47
|
-
|
|
48
|
-
: erc20AllowanceInWei;
|
|
49
|
-
const allowanceQuery = isSrcChainEvmos
|
|
50
|
-
? ics20AllowanceQuery
|
|
51
|
-
: erc20AllowanceQuery;
|
|
49
|
+
const hasAllowance = useIcs20 ? hasIcs20Allowance : hasErc20Allowance;
|
|
50
|
+
const allowanceInWei = useIcs20 ? ics20AllowanceInWei : erc20AllowanceInWei;
|
|
51
|
+
const allowanceQuery = useIcs20 ? ics20AllowanceQuery : erc20AllowanceQuery;
|
|
52
52
|
/**
|
|
53
53
|
* Checking if spending tokens is allowed for this source address
|
|
54
54
|
* On Success: storing the transaction
|
|
@@ -62,7 +62,10 @@ export const useApproval = ({ squidRoute, }) => {
|
|
|
62
62
|
}
|
|
63
63
|
return true;
|
|
64
64
|
}, {
|
|
65
|
-
enabled: !!squidRoute &&
|
|
65
|
+
enabled: !!squidRoute &&
|
|
66
|
+
!!sourceUserAddress &&
|
|
67
|
+
!allowanceQuery?.isLoading &&
|
|
68
|
+
allowanceQuery?.isFetched,
|
|
66
69
|
});
|
|
67
70
|
// USDT has a very specific way of handling approvals
|
|
68
71
|
// ```
|
|
@@ -146,7 +149,7 @@ export const useApproval = ({ squidRoute, }) => {
|
|
|
146
149
|
console.error("Error switching network:", error);
|
|
147
150
|
}
|
|
148
151
|
let approveTx;
|
|
149
|
-
if (
|
|
152
|
+
if (useIcs20) {
|
|
150
153
|
const channel = squidRoute.estimate.actions[0].data
|
|
151
154
|
.ibcChannel;
|
|
152
155
|
const ics20Interface = new ethers.Interface(ics20Abi);
|
|
@@ -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,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useApproval.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useApproval.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import ics20Abi from "../../core/abis/ics20.json";
|
|
|
3
3
|
import { parseEvmAddress } from "../../services";
|
|
4
4
|
/**
|
|
5
5
|
* ICS20 is similar to ERC20 but the ABI is different
|
|
6
|
-
*
|
|
7
6
|
* https://docs.evmos.org/develop/smart-contracts/evm-extensions/ibc-transfer
|
|
8
7
|
* https://github.com/evmos/extensions/blob/main/precompiles/abi/ics20.json
|
|
9
8
|
*/
|
|
@@ -15,8 +14,8 @@ export function useIcs20Allowance({ targetAddress, ownerAddress, amount = BigInt
|
|
|
15
14
|
address: parsedTargetAddress,
|
|
16
15
|
functionName: "allowance",
|
|
17
16
|
chainId,
|
|
18
|
-
args: parsedOwnerAddress
|
|
19
|
-
? [parsedOwnerAddress, parsedOwnerAddress]
|
|
17
|
+
args: parsedOwnerAddress && parsedTargetAddress
|
|
18
|
+
? [parsedOwnerAddress, parsedOwnerAddress] // ICS20: (grantee, granter)
|
|
20
19
|
: undefined,
|
|
21
20
|
query: {
|
|
22
21
|
enabled: enabled && Boolean(parsedTargetAddress && parsedOwnerAddress),
|
|
@@ -28,8 +27,15 @@ export function useIcs20Allowance({ targetAddress, ownerAddress, amount = BigInt
|
|
|
28
27
|
error: new Error("Invalid or missing address"),
|
|
29
28
|
};
|
|
30
29
|
}
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
// Handle ICS20 format
|
|
31
|
+
let allowanceInWei;
|
|
32
|
+
if (query.data) {
|
|
33
|
+
const ics20Data = query.data;
|
|
34
|
+
allowanceInWei = ics20Data?.[0]?.spendLimit?.[0]?.amount ?? BigInt(0);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
allowanceInWei = BigInt(0);
|
|
38
|
+
}
|
|
33
39
|
const hasAllowance = allowanceInWei >= amount;
|
|
34
40
|
return {
|
|
35
41
|
query,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIcs20Allowance.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useIcs20Allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAuBjD
|
|
1
|
+
{"version":3,"file":"useIcs20Allowance.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useIcs20Allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAuBjD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,aAAa,EACb,YAAY,EACZ,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAClB,OAAO,EACP,OAAO,GAAG,IAAI,GACO;IACrB,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,eAAe,CAAC;QAC5B,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,mBAAmB;QAC5B,YAAY,EAAE,WAAW;QACzB,OAAO;QACP,IAAI,EACF,kBAAkB,IAAI,mBAAmB;YACvC,CAAC,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,4BAA4B;YACvE,CAAC,CAAC,SAAS;QACf,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,mBAAmB,IAAI,kBAAkB,CAAC;SACvE;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,IAAI,CAAC,kBAAkB,EAAE;QAC/C,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC;SAC/C,CAAC;KACH;IAED,sBAAsB;IACtB,IAAI,cAAsB,CAAC;IAE3B,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,MAAM,SAAS,GAAG,KAAK,CAAC,IAA8B,CAAC;QACvD,cAAc,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;KACvE;SAAM;QACL,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KAC5B;IAED,MAAM,YAAY,GAAG,cAAc,IAAI,MAAM,CAAC;IAE9C,OAAO;QACL,KAAK;QACL,YAAY;QACZ,cAAc;KACf,CAAC;AACJ,CAAC"}
|