thirdweb 5.87.4 → 5.88.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/cjs/client/client.js +2 -1
- package/dist/cjs/client/client.js.map +1 -1
- package/dist/cjs/contract/deployment/zksync/zkDeployContract.js +4 -2
- package/dist/cjs/contract/deployment/zksync/zkDeployContract.js.map +1 -1
- package/dist/cjs/pay/buyWithCrypto/getQuote.js +1 -24
- package/dist/cjs/pay/buyWithCrypto/getQuote.js.map +1 -1
- package/dist/cjs/pay/buyWithCrypto/getTransfer.js +1 -13
- package/dist/cjs/pay/buyWithCrypto/getTransfer.js.map +1 -1
- package/dist/cjs/pay/buyWithFiat/getQuote.js.map +1 -1
- package/dist/cjs/pay/utils/commonTypes.js +2 -0
- package/dist/cjs/pay/utils/commonTypes.js.map +1 -1
- package/dist/cjs/react/core/utils/storage.js +2 -1
- package/dist/cjs/react/core/utils/storage.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +50 -200
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js +111 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +30 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.js +24 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js +2 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +18 -6
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js +37 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js +165 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +33 -6
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/nativeToken.js +8 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/nativeToken.js.map +1 -1
- package/dist/cjs/react/web/utils/errors.js +16 -0
- package/dist/cjs/react/web/utils/errors.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/smart/index.js +27 -0
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/types.js.map +1 -1
- package/dist/esm/client/client.js +2 -1
- package/dist/esm/client/client.js.map +1 -1
- package/dist/esm/contract/deployment/zksync/zkDeployContract.js +4 -2
- package/dist/esm/contract/deployment/zksync/zkDeployContract.js.map +1 -1
- package/dist/esm/pay/buyWithCrypto/getQuote.js +1 -24
- package/dist/esm/pay/buyWithCrypto/getQuote.js.map +1 -1
- package/dist/esm/pay/buyWithCrypto/getTransfer.js +1 -13
- package/dist/esm/pay/buyWithCrypto/getTransfer.js.map +1 -1
- package/dist/esm/pay/buyWithFiat/getQuote.js.map +1 -1
- package/dist/esm/pay/utils/commonTypes.js +1 -1
- package/dist/esm/pay/utils/commonTypes.js.map +1 -1
- package/dist/esm/react/core/utils/storage.js +1 -0
- package/dist/esm/react/core/utils/storage.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +50 -200
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js +108 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js +30 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.js +21 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js +2 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +18 -6
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js +34 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js +162 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js +33 -6
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/nativeToken.js +7 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/nativeToken.js.map +1 -1
- package/dist/esm/react/web/utils/errors.js +12 -0
- package/dist/esm/react/web/utils/errors.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/smart/index.js +27 -0
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/types.js.map +1 -1
- package/dist/types/client/client.d.ts.map +1 -1
- package/dist/types/contract/deployment/zksync/zkDeployContract.d.ts.map +1 -1
- package/dist/types/pay/buyWithCrypto/getQuote.d.ts +2 -2
- package/dist/types/pay/buyWithCrypto/getQuote.d.ts.map +1 -1
- package/dist/types/pay/buyWithCrypto/getTransfer.d.ts +2 -2
- package/dist/types/pay/buyWithCrypto/getTransfer.d.ts.map +1 -1
- package/dist/types/pay/buyWithFiat/getQuote.d.ts +4 -0
- package/dist/types/pay/buyWithFiat/getQuote.d.ts.map +1 -1
- package/dist/types/pay/utils/commonTypes.d.ts +2 -1
- package/dist/types/pay/utils/commonTypes.d.ts.map +1 -1
- package/dist/types/react/core/utils/storage.d.ts +1 -0
- package/dist/types/react/core/utils/storage.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.d.ts +25 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.d.ts +9 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.d.ts +11 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.d.ts +31 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/nativeToken.d.ts +2 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/nativeToken.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/text.d.ts +1 -1
- package/dist/types/react/web/ui/components/text.d.ts.map +1 -1
- package/dist/types/react/web/utils/errors.d.ts +14 -0
- package/dist/types/react/web/utils/errors.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/types.d.ts +5 -0
- package/dist/types/wallets/smart/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/client.test.ts +2 -2
- package/src/client/client.ts +2 -1
- package/src/contract/deployment/zksync/zkDeployContract.ts +5 -2
- package/src/pay/buyWithCrypto/getQuote.ts +2 -27
- package/src/pay/buyWithCrypto/getTransfer.ts +2 -14
- package/src/pay/buyWithFiat/getQuote.ts +5 -0
- package/src/pay/utils/commonTypes.ts +3 -1
- package/src/react/core/utils/storage.ts +1 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +70 -531
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.tsx +307 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.tsx +33 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.tsx +57 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +1 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.tsx +12 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +21 -6
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.tsx +51 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.tsx +2 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.tsx +353 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TransferConfirmationScreen.tsx +43 -6
- package/src/react/web/ui/ConnectWallet/screens/nativeToken.ts +8 -0
- package/src/react/web/ui/components/text.tsx +1 -1
- package/src/react/web/utils/errors.ts +22 -0
- package/src/version.ts +1 -1
- package/src/wallets/smart/index.ts +28 -0
- package/src/wallets/smart/smart-wallet-integration.test.ts +25 -0
- package/src/wallets/smart/types.ts +5 -0
@@ -1,6 +1,9 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useQuery } from "@tanstack/react-query";
|
3
3
|
import { useEffect, useState } from "react";
|
4
|
+
import { getCachedChain } from "../../../../../../../chains/utils.js";
|
5
|
+
import { getContract } from "../../../../../../../contract/contract.js";
|
6
|
+
import { allowance } from "../../../../../../../extensions/erc20/__generated__/IERC20/read/allowance.js";
|
4
7
|
import { getPostOnRampQuote } from "../../../../../../../pay/buyWithFiat/getPostOnRampQuote.js";
|
5
8
|
import { iconSize } from "../../../../../../core/design-system/index.js";
|
6
9
|
import { Spacer } from "../../../../components/Spacer.js";
|
@@ -24,16 +27,41 @@ export function PostOnRampSwap(props) {
|
|
24
27
|
enabled: !lockedOnRampQuote,
|
25
28
|
refetchOnWindowFocus: false,
|
26
29
|
});
|
30
|
+
const allowanceQuery = useQuery({
|
31
|
+
queryKey: [
|
32
|
+
"allowance",
|
33
|
+
props.payer.account.address,
|
34
|
+
postOnRampQuoteQuery.data?.approvalData,
|
35
|
+
],
|
36
|
+
queryFn: () => {
|
37
|
+
if (!postOnRampQuoteQuery.data?.approvalData) {
|
38
|
+
return null;
|
39
|
+
}
|
40
|
+
return allowance({
|
41
|
+
contract: getContract({
|
42
|
+
client: props.client,
|
43
|
+
address: postOnRampQuoteQuery.data.swapDetails.fromToken.tokenAddress,
|
44
|
+
chain: getCachedChain(postOnRampQuoteQuery.data.swapDetails.fromToken.chainId),
|
45
|
+
}),
|
46
|
+
spender: postOnRampQuoteQuery.data.approvalData.spenderAddress,
|
47
|
+
owner: props.payer.account.address,
|
48
|
+
});
|
49
|
+
},
|
50
|
+
enabled: !!postOnRampQuoteQuery.data?.approvalData,
|
51
|
+
refetchOnMount: true,
|
52
|
+
});
|
27
53
|
useEffect(() => {
|
28
54
|
if (postOnRampQuoteQuery.data &&
|
29
55
|
!lockedOnRampQuote &&
|
30
|
-
!postOnRampQuoteQuery.isRefetching
|
56
|
+
!postOnRampQuoteQuery.isRefetching &&
|
57
|
+
!allowanceQuery.isLoading) {
|
31
58
|
setLockedOnRampQuote(postOnRampQuoteQuery.data);
|
32
59
|
}
|
33
60
|
}, [
|
34
61
|
postOnRampQuoteQuery.data,
|
35
62
|
lockedOnRampQuote,
|
36
63
|
postOnRampQuoteQuery.isRefetching,
|
64
|
+
allowanceQuery.isLoading,
|
37
65
|
]);
|
38
66
|
if (postOnRampQuoteQuery.isError) {
|
39
67
|
return (_jsxs(Container, { fullHeight: true, children: [_jsx(Container, { p: "lg", children: _jsx(ModalHeader, { title: props.title, onBack: props.onBack }) }), _jsxs(Container, { style: {
|
@@ -50,6 +78,6 @@ export function PostOnRampSwap(props) {
|
|
50
78
|
return (_jsx(SwapFlow, { title: props.title, payer: props.payer, buyWithCryptoQuote: lockedOnRampQuote, client: props.client, onBack: props.onBack, isFiatFlow: true, onDone: props.onDone, onTryAgain: () => {
|
51
79
|
setLockedOnRampQuote(undefined);
|
52
80
|
postOnRampQuoteQuery.refetch();
|
53
|
-
}, transactionMode: props.transactionMode, isEmbed: props.isEmbed, onSuccess: props.onSuccess }));
|
81
|
+
}, transactionMode: props.transactionMode, isEmbed: props.isEmbed, onSuccess: props.onSuccess, approvalAmount: allowanceQuery.data ?? undefined }));
|
54
82
|
}
|
55
83
|
//# sourceMappingURL=PostOnRampSwap.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PostOnRampSwap.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"PostOnRampSwap.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/fiat/PostOnRampSwap.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { FiatProviders, } from "../../../../../../../pay/utils/commonTypes.js";
|
3
|
+
import { Container } from "../../../../components/basic.js";
|
4
|
+
import { Button } from "../../../../components/buttons.js";
|
5
|
+
import { Link } from "../../../../components/text.js";
|
6
|
+
/**
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
export function Providers(props) {
|
10
|
+
return (_jsx(Container, { expand: true, flex: "column", gap: "sm", style: {
|
11
|
+
alignItems: "flex-start",
|
12
|
+
}, children: FiatProviders.map((provider) => {
|
13
|
+
return (_jsx(Container, { flex: "row", expand: true, style: {
|
14
|
+
justifyContent: "space-between",
|
15
|
+
}, children: _jsx(Button, { fullWidth: true, onClick: () => props.onSelect(provider), variant: "link", children: _jsx(Link, { color: props.preferredProvider === provider
|
16
|
+
? "primaryText"
|
17
|
+
: "secondaryText", size: "sm", hoverColor: "primaryText", children: provider.charAt(0).toUpperCase() +
|
18
|
+
provider.slice(1).toLowerCase() }) }) }, provider));
|
19
|
+
}) }));
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=Providers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Providers.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/fiat/Providers.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,aAAa,GACd,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAGzB;IACC,OAAO,CACL,KAAC,SAAS,IACR,MAAM,QACN,IAAI,EAAC,QAAQ,EACb,GAAG,EAAC,IAAI,EACR,KAAK,EAAE;YACL,UAAU,EAAE,YAAY;SACzB,YAEA,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,OAAO,CACL,KAAC,SAAS,IAER,IAAI,EAAC,KAAK,EACV,MAAM,QACN,KAAK,EAAE;oBACL,cAAc,EAAE,eAAe;iBAChC,YAED,KAAC,MAAM,IACL,SAAS,QACT,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvC,OAAO,EAAE,MAAM,YAEf,KAAC,IAAI,IACH,KAAK,EACH,KAAK,CAAC,iBAAiB,KAAK,QAAQ;4BAClC,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,eAAe,EAErB,IAAI,EAAC,IAAI,EACT,UAAU,EAAC,aAAa,YAEvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;4BAC/B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAC5B,GACA,IAxBJ,QAAQ,CAyBH,CACb,CAAC;QACJ,CAAC,CAAC,GACQ,CACb,CAAC;AACJ,CAAC"}
|
@@ -13,6 +13,7 @@ import { Input } from "../../../../components/formElements.js";
|
|
13
13
|
import { Text } from "../../../../components/text.js";
|
14
14
|
import { TokenSymbol } from "../../../../components/token/TokenSymbol.js";
|
15
15
|
import { getBuyTokenAmountFontSize } from "../utils.js";
|
16
|
+
import { FiatValue } from "./FiatValue.js";
|
16
17
|
/**
|
17
18
|
* @internal
|
18
19
|
*/
|
@@ -61,7 +62,7 @@ export function BuyTokenInput(props) {
|
|
61
62
|
textAlign: "right",
|
62
63
|
width: getWidth(),
|
63
64
|
maxWidth: "calc(100% - 100px)",
|
64
|
-
} }), _jsx(TokenSymbol, { token: props.token, chain: props.chain, size: "lg", color: "secondaryText" })] }) }), !props.hideTokenSelector && (_jsxs(_Fragment, { children: [_jsx(Spacer, { y: "
|
65
|
+
} }), _jsx(TokenSymbol, { token: props.token, chain: props.chain, size: "lg", color: "secondaryText" })] }) }), _jsx(Container, { flex: "row", center: "both", children: _jsx(FiatValue, { tokenAmount: props.value, token: props.token, chain: props.chain, client: props.client, size: "md" }) }), !props.hideTokenSelector && (_jsxs(_Fragment, { children: [_jsx(Spacer, { y: "md" }), _jsx(Container, { flex: "row", center: "x", children: _jsxs(TokenButton, { variant: "secondary", fullWidth: true, style: {
|
65
66
|
fontSize: fontSize.sm,
|
66
67
|
}, gap: "xxs", onClick: props.onSelectToken, disabled: props.freezeChainAndToken, children: [_jsxs(Container, { flex: "row", center: "y", gap: "sm", children: [_jsx(TokenIcon, { token: props.token, chain: props.chain, size: "md", client: props.client }), _jsxs(Container, { flex: "column", style: {
|
67
68
|
gap: "4px",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BuyTokenInput.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAC7F,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"BuyTokenInput.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/BuyTokenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAC7F,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAU7B;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,IAAI,GAAG,CAAC;QACf,CAAC;QACD,OAAO,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC;IACpD,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,SAAS,eAIR,cACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;gBAClD,CAAC,YAED,MAAC,SAAS,IACR,IAAI,EAAC,KAAK,EACV,MAAM,EAAC,MAAM,EACb,GAAG,EAAC,IAAI,EACR,KAAK,EAAE;wBACL,QAAQ,EAAE,QAAQ;qBACnB,aAED,KAAC,KAAK,IACJ,OAAO,EAAC,SAAS,EACjB,OAAO,EAAC,qBAAqB,EAC7B,SAAS,EAAC,SAAS,EACnB,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,MAAM,sBACO,KAAK,CAAC,KAAK,KAAK,EAAE,EACpC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,EACzB,QAAQ,EAAE,KAAK,CAAC,YAAY,EAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gCACb,qCAAqC;gCACrC,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oCACvB,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAC/B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAC5B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAC7B,CAAC;gCACJ,CAAC;4BACH,CAAC,EACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gCACd,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCAE3B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oCAC1B,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gCACtB,CAAC;gCAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gCAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oCAC3B,OAAO;gCACT,CAAC;gCAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oCACrD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjC,CAAC;qCAAM,CAAC;oCACN,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCACxB,CAAC;4BACH,CAAC,EACD,KAAK,EAAE;gCACL,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC;gCAChD,SAAS,EAAE,MAAM;gCACjB,YAAY,EAAE,GAAG;gCACjB,OAAO,EAAE,GAAG;gCACZ,YAAY,EAAE,KAAK;gCACnB,UAAU,EAAE,GAAG;gCACf,SAAS,EAAE,OAAO;gCAClB,KAAK,EAAE,QAAQ,EAAE;gCACjB,QAAQ,EAAE,oBAAoB;6BAC/B,GACD,EACF,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,eAAe,GACrB,IACQ,GACR,EAEN,KAAC,SAAS,IAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,YACjC,KAAC,SAAS,IACR,WAAW,EAAE,KAAK,CAAC,KAAK,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAC,IAAI,GACT,GACQ,EAEX,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAC3B,8BACE,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EAGjB,KAAC,SAAS,IAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,YAC9B,MAAC,WAAW,IACV,OAAO,EAAC,WAAW,EACnB,SAAS,QACT,KAAK,EAAE;gCACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;6BACtB,EACD,GAAG,EAAC,KAAK,EACT,OAAO,EAAE,KAAK,CAAC,aAAa,EAC5B,QAAQ,EAAE,KAAK,CAAC,mBAAmB,aAEnC,MAAC,SAAS,IAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,aACvC,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,IAAI,EACT,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,EAEF,MAAC,SAAS,IACR,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gDACL,GAAG,EAAE,KAAK;6CACX,aAGD,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,IAAI,GACT,EAGD,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,eAAe,YAClC,IAAI,GACA,CACR,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAI,CAC/C,IACS,IACF,EAEZ,KAAC,eAAe,IACd,KAAK,EAAE,QAAQ,CAAC,EAAE,EAClB,MAAM,EAAE,QAAQ,CAAC,EAAE,EACnB,KAAK,EAAE;wCACL,UAAU,EAAE,MAAM;qCACnB,GACD,IACU,GACJ,IACX,CACJ,IACS,CACb,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;IACtD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACnC,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;QAC/C,cAAc,EAAE,YAAY;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,OAAO,CAAC,EAAE;KACpB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
@@ -2,6 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
2
2
|
import { CrossCircledIcon } from "@radix-ui/react-icons";
|
3
3
|
import { useState } from "react";
|
4
4
|
import { trackPayEvent } from "../../../../../../../analytics/track/pay.js";
|
5
|
+
import { getContract } from "../../../../../../../contract/contract.js";
|
6
|
+
import { approve } from "../../../../../../../extensions/erc20/write/approve.js";
|
5
7
|
import { sendTransaction } from "../../../../../../../transaction/actions/send-transaction.js";
|
6
8
|
import { waitForReceipt } from "../../../../../../../transaction/actions/wait-for-tx-receipt.js";
|
7
9
|
import { shortenAddress } from "../../../../../../../utils/address.js";
|
@@ -27,20 +29,22 @@ import { addPendingTx } from "./pendingSwapTx.js";
|
|
27
29
|
* @internal
|
28
30
|
*/
|
29
31
|
export function SwapConfirmationScreen(props) {
|
30
|
-
const
|
31
|
-
|
32
|
+
const needsApproval = props.quote.approvalData &&
|
33
|
+
props.preApprovedAmount !== undefined &&
|
34
|
+
props.preApprovedAmount < BigInt(props.quote.approvalData.amountWei);
|
35
|
+
const initialStep = needsApproval ? "approval" : "swap";
|
32
36
|
const [step, setStep] = useState(initialStep);
|
33
37
|
const [status, setStatus] = useState("idle");
|
34
38
|
const receiver = props.quote.swapDetails.toAddress;
|
35
39
|
const sender = props.quote.swapDetails.fromAddress;
|
36
40
|
const isDifferentRecipient = receiver.toLowerCase() !== sender.toLowerCase();
|
37
41
|
const ensName = useEnsName({ client: props.client, address: receiver });
|
38
|
-
return (_jsxs(Container, { p: "lg", children: [_jsx(ModalHeader, { title: props.title, onBack: props.onBack }), props.isFiatFlow ? (_jsxs(_Fragment, { children: [_jsx(Spacer, { y: "lg" }), _jsx(StepBar, { steps: 2, currentStep: 2 }), _jsx(Spacer, { y: "sm" }), _jsxs(Text, { size: "xs", children: ["Step 2 of 2 - Converting ", props.fromTokenSymbol, " to", " ", props.toTokenSymbol] }), _jsx(Spacer, { y: "md" })] })) : (_jsx(Spacer, { y: "lg" })), _jsx(ConfirmItem, { label: "Pay", children: _jsx(RenderTokenInfo, { chain: props.fromChain, amount: String(formatNumber(Number(props.fromAmount), 6)), symbol: props.fromTokenSymbol || "", token: props.fromToken, client: props.client }) }), !isDifferentRecipient && (_jsx(ConfirmItem, { label: "Receive", children: _jsx(RenderTokenInfo, { chain: props.toChain, amount: String(formatNumber(Number(props.toAmount), 6)), symbol: props.toTokenSymbol, token: props.toToken, client: props.client }) })), _jsx(ConfirmItem, { label: "Fees", children: _jsx(SwapFeesRightAligned, { quote: props.quote }) }), _jsx(ConfirmItem, { label: "Time", children: _jsxs(Text, { size: "sm", color: "primaryText", children: ["~", formatSeconds(props.quote.swapDetails.estimated.durationSeconds || 0)] }) }), isDifferentRecipient && (_jsx(ConfirmItem, { label: "Receiver", children: _jsx(Text, { color: "primaryText", size: "sm", children: ensName.data || shortenAddress(receiver) }) })), _jsx(Spacer, { y: "xl" }),
|
42
|
+
return (_jsxs(Container, { p: "lg", children: [_jsx(ModalHeader, { title: props.title, onBack: props.onBack }), props.isFiatFlow ? (_jsxs(_Fragment, { children: [_jsx(Spacer, { y: "lg" }), _jsx(StepBar, { steps: 2, currentStep: 2 }), _jsx(Spacer, { y: "sm" }), _jsxs(Text, { size: "xs", children: ["Step 2 of 2 - Converting ", props.fromTokenSymbol, " to", " ", props.toTokenSymbol] }), _jsx(Spacer, { y: "md" })] })) : (_jsx(Spacer, { y: "lg" })), _jsx(ConfirmItem, { label: "Pay", children: _jsx(RenderTokenInfo, { chain: props.fromChain, amount: String(formatNumber(Number(props.fromAmount), 6)), symbol: props.fromTokenSymbol || "", token: props.fromToken, client: props.client }) }), !isDifferentRecipient && (_jsx(ConfirmItem, { label: "Receive", children: _jsx(RenderTokenInfo, { chain: props.toChain, amount: String(formatNumber(Number(props.toAmount), 6)), symbol: props.toTokenSymbol, token: props.toToken, client: props.client }) })), _jsx(ConfirmItem, { label: "Fees", children: _jsx(SwapFeesRightAligned, { quote: props.quote }) }), _jsx(ConfirmItem, { label: "Time", children: _jsxs(Text, { size: "sm", color: "primaryText", children: ["~", formatSeconds(props.quote.swapDetails.estimated.durationSeconds || 0)] }) }), isDifferentRecipient && (_jsx(ConfirmItem, { label: "Receiver", children: _jsx(Text, { color: "primaryText", size: "sm", children: ensName.data || shortenAddress(receiver) }) })), _jsx(Spacer, { y: "xl" }), needsApproval && (_jsxs(_Fragment, { children: [_jsx(Spacer, { y: "sm" }), _jsxs(Container, { gap: "sm", flex: "row", style: {
|
39
43
|
justifyContent: "space-between",
|
40
44
|
}, center: "y", color: "accentText", children: [_jsx(Step, { isDone: step === "swap", isActive: step === "approval", label: step === "approval" ? "Approve" : "Approved" }), _jsx(ConnectorLine, {}), _jsx(Step, { isDone: false, label: "Confirm", isActive: step === "swap" })] }), _jsx(Spacer, { y: "lg" })] })), status === "error" && (_jsxs(_Fragment, { children: [_jsxs(Container, { flex: "row", gap: "xs", center: "both", color: "danger", children: [_jsx(CrossCircledIcon, { width: iconSize.sm, height: iconSize.sm }), _jsx(Text, { color: "danger", size: "sm", children: step === "approval" ? "Failed to Approve" : "Failed to Confirm" })] }), _jsx(Spacer, { y: "md" })] })), props.payer.chain.id !== props.fromChain.id ? (_jsx(SwitchNetworkButton, { fullWidth: true, variant: "accent", switchChain: async () => {
|
41
45
|
await props.payer.wallet.switchChain(props.fromChain);
|
42
46
|
} })) : (_jsxs(Button, { variant: "accent", fullWidth: true, disabled: status === "pending", onClick: async () => {
|
43
|
-
if (step === "approval" && props.quote.
|
47
|
+
if (step === "approval" && props.quote.approvalData) {
|
44
48
|
try {
|
45
49
|
setStatus("pending");
|
46
50
|
trackPayEvent({
|
@@ -55,12 +59,20 @@ export function SwapConfirmationScreen(props) {
|
|
55
59
|
chainId: props.quote.swapDetails.fromToken.chainId,
|
56
60
|
dstChainId: props.quote.swapDetails.toToken.chainId,
|
57
61
|
});
|
62
|
+
const transaction = approve({
|
63
|
+
contract: getContract({
|
64
|
+
client: props.client,
|
65
|
+
address: props.quote.swapDetails.fromToken.tokenAddress,
|
66
|
+
chain: props.fromChain,
|
67
|
+
}),
|
68
|
+
spender: props.quote.approvalData.spenderAddress,
|
69
|
+
amountWei: BigInt(props.quote.approvalData.amountWei),
|
70
|
+
});
|
58
71
|
const tx = await sendTransaction({
|
59
72
|
account: props.payer.account,
|
60
|
-
transaction
|
73
|
+
transaction,
|
61
74
|
});
|
62
75
|
await waitForReceipt({ ...tx, maxBlocksWaitTime: 50 });
|
63
|
-
// props.onQuoteFinalized(props.quote);
|
64
76
|
trackPayEvent({
|
65
77
|
event: "swap_approval_success",
|
66
78
|
client: props.client,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConfirmationScreen.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAI5E,OAAO,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAC7F,OAAO,EACL,QAAQ,EACR,QAAQ,GACT,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAiBtC;IACC,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC9D,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAsB,WAAW,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAElC,MAAM,CAAC,CAAC;IAEV,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;IACnD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;IAE7E,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,OAAO,CACL,MAAC,SAAS,IAAC,CAAC,EAAC,IAAI,aACf,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,EAExD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAClB,8BACE,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EACjB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAI,EACrC,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EACjB,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,0CACa,KAAK,CAAC,eAAe,SAAK,GAAG,EACtD,KAAK,CAAC,aAAa,IACf,EACP,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,IAChB,CACJ,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,CAClB,EAGD,KAAC,WAAW,IAAC,KAAK,EAAC,KAAK,YACtB,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EACzD,MAAM,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE,EACnC,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,GACU,EAGb,CAAC,oBAAoB,IAAI,CACxB,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YAC1B,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EACvD,MAAM,EAAE,KAAK,CAAC,aAAa,EAC3B,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,GACU,CACf,EAGD,KAAC,WAAW,IAAC,KAAK,EAAC,MAAM,YACvB,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,GAChC,EAGd,KAAC,WAAW,IAAC,KAAK,EAAC,MAAM,YACvB,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,aAAa,kBAEhC,aAAa,CACZ,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,CACvD,IACI,GACK,EAGb,oBAAoB,IAAI,CACvB,KAAC,WAAW,IAAC,KAAK,EAAC,UAAU,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,YAChC,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,GACpC,GACK,CACf,EAED,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EAGhB,kBAAkB,IAAI,CACrB,8BACE,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EACjB,MAAC,SAAS,IACR,GAAG,EAAC,IAAI,EACR,IAAI,EAAC,KAAK,EACV,KAAK,EAAE;4BACL,cAAc,EAAE,eAAe;yBAChC,EACD,MAAM,EAAC,GAAG,EACV,KAAK,EAAC,YAAY,aAElB,KAAC,IAAI,IACH,MAAM,EAAE,IAAI,KAAK,MAAM,EACvB,QAAQ,EAAE,IAAI,KAAK,UAAU,EAC7B,KAAK,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GACnD,EACF,KAAC,aAAa,KAAG,EACjB,KAAC,IAAI,IAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,GAAI,IACxD,EACZ,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,IAChB,CACJ,EAEA,MAAM,KAAK,OAAO,IAAI,CACrB,8BACE,MAAC,SAAS,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,aACzD,KAAC,gBAAgB,IAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAI,EAC7D,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,YAC3B,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,GAC3D,IACG,EAEZ,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,IAChB,CACJ,EAEA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7C,KAAC,mBAAmB,IAClB,SAAS,QACT,OAAO,EAAC,QAAQ,EAChB,WAAW,EAAE,KAAK,IAAI,EAAE;oBACtB,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxD,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,MAAC,MAAM,IACL,OAAO,EAAC,QAAQ,EAChB,SAAS,QACT,QAAQ,EAAE,MAAM,KAAK,SAAS,EAC9B,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAChD,IAAI,CAAC;4BACH,SAAS,CAAC,SAAS,CAAC,CAAC;4BAErB,aAAa,CAAC;gCACZ,KAAK,EAAE,sBAAsB;gCAC7B,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gCAC1C,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gCACjC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY;gCACzD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa;gCACjD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY;gCACrD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW;gCAC7C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO;gCAClD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO;6BACpD,CAAC,CAAC;4BAEH,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC;gCAC/B,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gCAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;6BAClC,CAAC,CAAC;4BAEH,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;4BACvD,uCAAuC;4BAEvC,aAAa,CAAC;gCACZ,KAAK,EAAE,uBAAuB;gCAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gCAC1C,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gCACjC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY;gCACzD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa;gCACjD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY;gCACrD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW;gCAC7C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO;gCAClD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO;6BACpD,CAAC,CAAC;4BAEH,OAAO,CAAC,MAAM,CAAC,CAAC;4BAChB,SAAS,CAAC,MAAM,CAAC,CAAC;wBACpB,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjB,SAAS,CAAC,OAAO,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;oBAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;wBACpB,SAAS,CAAC,SAAS,CAAC,CAAC;wBACrB,IAAI,CAAC;4BACH,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC;4BAE1C,aAAa,CAAC;gCACZ,KAAK,EAAE,uBAAuB;gCAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gCAC1C,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gCACjC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY;gCACzD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa;gCACjD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY;gCACrD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW;gCAC7C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO;gCAClD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO;6BACpD,CAAC,CAAC;4BAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;gCACpC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gCAC5B,WAAW,EAAE,EAAE;6BAChB,CAAC,CAAC;4BAEH,MAAM,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;4BAE5D,aAAa,CAAC;gCACZ,KAAK,EAAE,wBAAwB;gCAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;gCAC1C,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gCACjC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY;gCACzD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa;gCACjD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY;gCACrD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW;gCAC7C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO;gCAClD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO;6BACpD,CAAC,CAAC;4BAEH,yDAAyD;4BACzD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gCACtB,YAAY,CAAC;oCACX,IAAI,EAAE,MAAM;oCACZ,MAAM,EAAE,OAAO,CAAC,eAAe;iCAChC,CAAC,CAAC;4BACL,CAAC;4BAED,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC/C,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjB,SAAS,CAAC,OAAO,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,CAAC,EACD,GAAG,EAAC,IAAI,aAEP,IAAI,KAAK,UAAU;wBAClB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,EACjD,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,EACpE,MAAM,KAAK,SAAS,IAAI,CACvB,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,kBAAkB,GAAG,CAC/C,IACM,CACV,IACS,CACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE;IAC1D,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO;QACL,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACpC,IAAI,EAAE,CAAC;KACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,KAMxB;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,CACL,MAAC,SAAS,IACR,IAAI,EAAC,QAAQ,EACb,GAAG,EAAC,KAAK,EACT,KAAK,EAAE;YACL,UAAU,EAAE,UAAU;SACvB,aAED,MAAC,SAAS,IAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,aACvC,MAAC,IAAI,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,aAChC,KAAK,CAAC,MAAM,OAAG,KAAK,CAAC,MAAM,IACvB,EACP,KAAC,YAAY,IACX,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,IAAI,EACT,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,IACQ,EAEX,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,IAAI,GAAQ,CAC9B,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAI,CAChD,IACS,CACb,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAGpB;IACC,OAAO,CACL,8BACE,MAAC,SAAS,IACR,IAAI,EAAC,KAAK,EACV,GAAG,EAAC,IAAI,EACR,EAAE,EAAC,IAAI,EACP,KAAK,EAAE;oBACL,cAAc,EAAE,eAAe;iBAChC,aAED,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,eAAe,YAClC,KAAK,CAAC,KAAK,GACP,EACN,KAAK,CAAC,QAAQ,IACL,EACZ,KAAC,IAAI,KAAG,IACP,CACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAE7B;IACC,OAAO,CACL,KAAC,SAAS,IACR,IAAI,EAAC,QAAQ,EACb,GAAG,EAAC,IAAI,EACR,KAAK,EAAE;YACL,UAAU,EAAE,UAAU;SACvB,YAEA,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CACL,MAAC,SAAS,IAER,IAAI,EAAC,KAAK,EACV,GAAG,EAAC,KAAK,aAET,MAAC,IAAI,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,aAChC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAC1B,SAAS,OAAG,GAAG,CAAC,KAAK,CAAC,MAAM,IACxB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,mBAChC,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SACnC,KAVF,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,EAAE,CAWxD,CACb,CAAC;QACJ,CAAC,CAAC,GACQ,CACb,CAAC;AACJ,CAAC"}
|
1
|
+
{"version":3,"file":"ConfirmationScreen.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
3
|
+
import { convertCryptoToFiat } from "../../../../../../../pay/convert/cryptoToFiat.js";
|
4
|
+
import { formatNumber } from "../../../../../../../utils/formatNumber.js";
|
5
|
+
import { fontSize } from "../../../../../../core/design-system/index.js";
|
6
|
+
import { Skeleton } from "../../../../components/Skeleton.js";
|
7
|
+
import { Text } from "../../../../components/text.js";
|
8
|
+
import { useDebouncedValue } from "../../../../hooks/useDebouncedValue.js";
|
9
|
+
import { getTokenAddress } from "../../nativeToken.js";
|
10
|
+
export function FiatValue(props) {
|
11
|
+
const deferredTokenAmount = useDebouncedValue(props.tokenAmount, 500);
|
12
|
+
const cryptoToFiatQuery = useQuery({
|
13
|
+
queryKey: [
|
14
|
+
"cryptoToFiat",
|
15
|
+
props.chain.id,
|
16
|
+
getTokenAddress(props.token),
|
17
|
+
deferredTokenAmount,
|
18
|
+
],
|
19
|
+
queryFn: () => convertCryptoToFiat({
|
20
|
+
client: props.client,
|
21
|
+
chain: props.chain,
|
22
|
+
fromTokenAddress: getTokenAddress(props.token),
|
23
|
+
fromAmount: Number(deferredTokenAmount),
|
24
|
+
to: "USD",
|
25
|
+
}),
|
26
|
+
});
|
27
|
+
if (cryptoToFiatQuery.isLoading) {
|
28
|
+
return _jsx(Skeleton, { width: "50px", height: fontSize.lg });
|
29
|
+
}
|
30
|
+
return (_jsx(Text, { ...props, children: cryptoToFiatQuery.data?.result
|
31
|
+
? `$${formatNumber(cryptoToFiatQuery.data.result, 2)}`
|
32
|
+
: "$0.00" }));
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=FiatValue.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"FiatValue.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,SAAS,CACvB,KAKa;IAEb,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,QAAQ,CAAC;QACjC,QAAQ,EAAE;YACR,cAAc;YACd,KAAK,CAAC,KAAK,CAAC,EAAE;YACd,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5B,mBAAmB;SACpB;QACD,OAAO,EAAE,GAAG,EAAE,CACZ,mBAAmB,CAAC;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9C,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC;YACvC,EAAE,EAAE,KAAK;SACV,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAI,CAAC;IAC1D,CAAC;IAED,OAAO,CACL,KAAC,IAAI,OAAK,KAAK,YACZ,iBAAiB,CAAC,IAAI,EAAE,MAAM;YAC7B,CAAC,CAAC,IAAI,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;YACtD,CAAC,CAAC,OAAO,GACN,CACR,CAAC;AACJ,CAAC"}
|
@@ -41,6 +41,6 @@ export function SwapFlow(props) {
|
|
41
41
|
if (swapTxHash) {
|
42
42
|
return (_jsx(SwapStatusScreen, { title: props.title, onBack: props.onBack, onTryAgain: props.onTryAgain, swapTxHash: swapTxHash, client: props.client, onDone: props.onDone, transactionMode: props.transactionMode, isEmbed: props.isEmbed, quote: quote, onSuccess: props.onSuccess }));
|
43
43
|
}
|
44
|
-
return (_jsx(SwapConfirmationScreen, { title: props.title, setSwapTxHash: setSwapTxHash, toChain: toChain, toAmount: toAmount, toTokenSymbol: toTokenSymbol, fromChain: fromChain, toToken: toToken, fromAmount: fromAmount, fromToken: fromToken, fromTokenSymbol: fromTokenSymbol, client: props.client, onBack: props.onBack, onTryAgain: props.onTryAgain, quote: quote, isFiatFlow: props.isFiatFlow, payer: props.payer }));
|
44
|
+
return (_jsx(SwapConfirmationScreen, { title: props.title, setSwapTxHash: setSwapTxHash, toChain: toChain, toAmount: toAmount, toTokenSymbol: toTokenSymbol, fromChain: fromChain, toToken: toToken, fromAmount: fromAmount, fromToken: fromToken, fromTokenSymbol: fromTokenSymbol, client: props.client, onBack: props.onBack, onTryAgain: props.onTryAgain, quote: quote, isFiatFlow: props.isFiatFlow, payer: props.payer, preApprovedAmount: props.approvalAmount }));
|
45
45
|
}
|
46
46
|
//# sourceMappingURL=SwapFlow.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SwapFlow.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAInF,OAAO,EAA2B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"SwapFlow.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapFlow.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,162 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
3
|
+
import { useState } from "react";
|
4
|
+
import { getCachedChain } from "../../../../../../../chains/utils.js";
|
5
|
+
import { NATIVE_TOKEN_ADDRESS } from "../../../../../../../constants/addresses.js";
|
6
|
+
import { getContract } from "../../../../../../../contract/contract.js";
|
7
|
+
import { allowance } from "../../../../../../../extensions/erc20/__generated__/IERC20/read/allowance.js";
|
8
|
+
import { formatNumber } from "../../../../../../../utils/formatNumber.js";
|
9
|
+
import { useWalletBalance } from "../../../../../../core/hooks/others/useWalletBalance.js";
|
10
|
+
import { useBuyWithCryptoQuote } from "../../../../../../core/hooks/pay/useBuyWithCryptoQuote.js";
|
11
|
+
import { defaultMessage, getErrorMessage, } from "../../../../../utils/errors.js";
|
12
|
+
import { Drawer, DrawerOverlay, useDrawer, } from "../../../../components/Drawer.js";
|
13
|
+
import { Spacer } from "../../../../components/Spacer.js";
|
14
|
+
import { Spinner } from "../../../../components/Spinner.js";
|
15
|
+
import { SwitchNetworkButton } from "../../../../components/SwitchNetwork.js";
|
16
|
+
import { Container } from "../../../../components/basic.js";
|
17
|
+
import { Button } from "../../../../components/buttons.js";
|
18
|
+
import { Text } from "../../../../components/text.js";
|
19
|
+
import { TokenSymbol } from "../../../../components/token/TokenSymbol.js";
|
20
|
+
import { isNativeToken } from "../../nativeToken.js";
|
21
|
+
import { EstimatedTimeAndFees } from "../EstimatedTimeAndFees.js";
|
22
|
+
import { SwapFees } from "./Fees.js";
|
23
|
+
import { PayWithCryptoQuoteInfo } from "./PayWithCrypto.js";
|
24
|
+
export function SwapScreenContent(props) {
|
25
|
+
const { setScreen, payer, client, toChain, tokenAmount, toToken, fromChain, fromToken, payOptions, disableTokenSelection, } = props;
|
26
|
+
const defaultRecipientAddress = props.payOptions?.paymentInfo?.sellerAddress;
|
27
|
+
const receiverAddress = defaultRecipientAddress || props.activeAccount.address;
|
28
|
+
const { drawerRef, drawerOverlayRef, isOpen, setIsOpen } = useDrawer();
|
29
|
+
const [drawerScreen, setDrawerScreen] = useState("fees");
|
30
|
+
const fromTokenBalanceQuery = useWalletBalance({
|
31
|
+
address: payer.account.address,
|
32
|
+
chain: fromChain,
|
33
|
+
tokenAddress: isNativeToken(fromToken) ? undefined : fromToken.address,
|
34
|
+
client,
|
35
|
+
});
|
36
|
+
const fromTokenId = isNativeToken(fromToken)
|
37
|
+
? NATIVE_TOKEN_ADDRESS
|
38
|
+
: fromToken.address.toLowerCase();
|
39
|
+
const toTokenId = isNativeToken(toToken)
|
40
|
+
? NATIVE_TOKEN_ADDRESS
|
41
|
+
: toToken.address.toLowerCase();
|
42
|
+
const swapRequired = !!tokenAmount &&
|
43
|
+
!(fromChain.id === toChain.id && fromTokenId === toTokenId);
|
44
|
+
const quoteParams = swapRequired
|
45
|
+
? {
|
46
|
+
// wallets
|
47
|
+
fromAddress: payer.account.address,
|
48
|
+
toAddress: receiverAddress,
|
49
|
+
// from
|
50
|
+
fromChainId: fromChain.id,
|
51
|
+
fromTokenAddress: isNativeToken(fromToken)
|
52
|
+
? NATIVE_TOKEN_ADDRESS
|
53
|
+
: fromToken.address,
|
54
|
+
// to
|
55
|
+
toChainId: toChain.id,
|
56
|
+
toTokenAddress: isNativeToken(toToken)
|
57
|
+
? NATIVE_TOKEN_ADDRESS
|
58
|
+
: toToken.address,
|
59
|
+
toAmount: tokenAmount,
|
60
|
+
client,
|
61
|
+
purchaseData: payOptions.purchaseData,
|
62
|
+
}
|
63
|
+
: undefined;
|
64
|
+
const quoteQuery = useBuyWithCryptoQuote(quoteParams, {
|
65
|
+
// refetch every 30 seconds
|
66
|
+
staleTime: 30 * 1000,
|
67
|
+
refetchInterval: 30 * 1000,
|
68
|
+
gcTime: 30 * 1000,
|
69
|
+
});
|
70
|
+
const allowanceQuery = useQuery({
|
71
|
+
queryKey: [
|
72
|
+
"allowance",
|
73
|
+
payer.account.address,
|
74
|
+
quoteQuery.data?.approvalData,
|
75
|
+
],
|
76
|
+
queryFn: () => {
|
77
|
+
if (!quoteQuery.data?.approvalData) {
|
78
|
+
return null;
|
79
|
+
}
|
80
|
+
return allowance({
|
81
|
+
contract: getContract({
|
82
|
+
client: props.client,
|
83
|
+
address: quoteQuery.data.swapDetails.fromToken.tokenAddress,
|
84
|
+
chain: getCachedChain(quoteQuery.data.swapDetails.fromToken.chainId),
|
85
|
+
}),
|
86
|
+
spender: quoteQuery.data.approvalData.spenderAddress,
|
87
|
+
owner: props.payer.account.address,
|
88
|
+
});
|
89
|
+
},
|
90
|
+
enabled: !!quoteQuery.data?.approvalData,
|
91
|
+
refetchOnMount: true,
|
92
|
+
});
|
93
|
+
const sourceTokenAmount = swapRequired
|
94
|
+
? quoteQuery.data?.swapDetails.fromAmount
|
95
|
+
: tokenAmount;
|
96
|
+
const isNotEnoughBalance = !!sourceTokenAmount &&
|
97
|
+
!!fromTokenBalanceQuery.data &&
|
98
|
+
Number(fromTokenBalanceQuery.data.displayValue) < Number(sourceTokenAmount);
|
99
|
+
const disableContinue = (swapRequired && !quoteQuery.data) ||
|
100
|
+
isNotEnoughBalance ||
|
101
|
+
allowanceQuery.isLoading;
|
102
|
+
const switchChainRequired = props.payer.wallet.getChain()?.id !== fromChain.id;
|
103
|
+
const errorMsg = !quoteQuery.isLoading && quoteQuery.error
|
104
|
+
? getErrorMessage(quoteQuery.error)
|
105
|
+
: undefined;
|
106
|
+
function showSwapFlow() {
|
107
|
+
if ((props.payOptions.mode === "direct_payment" ||
|
108
|
+
props.payOptions.mode === "fund_wallet") &&
|
109
|
+
!isNotEnoughBalance &&
|
110
|
+
!swapRequired) {
|
111
|
+
// same currency, just direct transfer
|
112
|
+
setScreen({
|
113
|
+
id: "transfer-flow",
|
114
|
+
});
|
115
|
+
}
|
116
|
+
else if (props.payOptions.mode === "transaction" &&
|
117
|
+
!isNotEnoughBalance &&
|
118
|
+
!swapRequired) {
|
119
|
+
if (payer.account.address !== receiverAddress) {
|
120
|
+
// needs transfer from another wallet before executing the transaction
|
121
|
+
setScreen({
|
122
|
+
id: "transfer-flow",
|
123
|
+
});
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
// has enough balance to just do the transaction directly
|
127
|
+
props.onDone();
|
128
|
+
}
|
129
|
+
return;
|
130
|
+
}
|
131
|
+
if (!quoteQuery.data) {
|
132
|
+
return;
|
133
|
+
}
|
134
|
+
setScreen({
|
135
|
+
id: "swap-flow",
|
136
|
+
quote: quoteQuery.data,
|
137
|
+
approvalAmount: allowanceQuery.data ?? undefined,
|
138
|
+
});
|
139
|
+
}
|
140
|
+
function showFees() {
|
141
|
+
if (!quoteQuery.data) {
|
142
|
+
return;
|
143
|
+
}
|
144
|
+
setIsOpen(true);
|
145
|
+
setDrawerScreen("fees");
|
146
|
+
}
|
147
|
+
return (_jsxs(Container, { flex: "column", gap: "md", animate: "fadein", children: [isOpen && (_jsxs(_Fragment, { children: [_jsx(DrawerOverlay, { ref: drawerOverlayRef }), _jsx(Drawer, { ref: drawerRef, close: () => setIsOpen(false), children: drawerScreen === "fees" && quoteQuery.data && (_jsxs("div", { children: [_jsx(Text, { size: "lg", color: "primaryText", children: "Fees" }), _jsx(Spacer, { y: "lg" }), _jsx(SwapFees, { quote: quoteQuery.data })] })) })] })), _jsxs("div", { children: [_jsx(PayWithCryptoQuoteInfo, { value: sourceTokenAmount || "", chain: fromChain, token: fromToken, isLoading: quoteQuery.isLoading && !sourceTokenAmount, client: client, freezeChainAndTokenSelection: disableTokenSelection, payerAccount: props.payer.account, swapRequired: swapRequired }), swapRequired && (_jsx(EstimatedTimeAndFees, { quoteIsLoading: quoteQuery.isLoading, estimatedSeconds: quoteQuery.data?.swapDetails.estimated.durationSeconds, onViewFees: showFees })), _jsx(Spacer, { y: "md" })] }), errorMsg && (_jsx("div", { children: errorMsg.data?.minimumAmountEth ? (_jsxs(Text, { color: "danger", size: "sm", center: true, multiline: true, children: ["Minimum amount is", " ", formatNumber(Number(errorMsg.data.minimumAmountEth), 6), " ", _jsx(TokenSymbol, { token: toToken, chain: toChain, size: "sm", inline: true, color: "danger" })] })) : (_jsx(Text, { color: "danger", size: "sm", center: true, multiline: true, children: errorMsg.message || defaultMessage })) })), !errorMsg && isNotEnoughBalance && (_jsxs("div", { children: [_jsx(Text, { color: "danger", size: "sm", center: true, multiline: true, children: "Not enough funds." }), _jsx(Text, { color: "danger", size: "sm", center: true, multiline: true, children: "Try a different wallet or token." })] })), errorMsg?.data?.minimumAmountEth ? (_jsx(Button, { variant: "accent", fullWidth: true, onClick: () => {
|
148
|
+
props.setTokenAmount(formatNumber(Number(errorMsg.data?.minimumAmountEth), 6).toString());
|
149
|
+
props.setHasEditedAmount(true);
|
150
|
+
}, children: "Set Minimum" })) : switchChainRequired &&
|
151
|
+
!quoteQuery.isLoading &&
|
152
|
+
!allowanceQuery.isLoading &&
|
153
|
+
!isNotEnoughBalance &&
|
154
|
+
!quoteQuery.error ? (_jsx(SwitchNetworkButton, { variant: "accent", fullWidth: true, switchChain: async () => {
|
155
|
+
await props.payer.wallet.switchChain(fromChain);
|
156
|
+
} })) : (_jsx(Button, { variant: disableContinue ? "outline" : "accent", fullWidth: true, "data-disabled": disableContinue, disabled: disableContinue, onClick: async () => {
|
157
|
+
if (!disableContinue) {
|
158
|
+
showSwapFlow();
|
159
|
+
}
|
160
|
+
}, gap: "xs", children: quoteQuery.isLoading ? (_jsxs(_Fragment, { children: ["Getting price quote", _jsx(Spinner, { size: "sm", color: "accentText" })] })) : ("Continue") }))] }));
|
161
|
+
}
|
162
|
+
//# sourceMappingURL=SwapScreenContent.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SwapScreenContent.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapScreenContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,8EAA8E,CAAC;AAEzG,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EACL,cAAc,EACd,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,MAAM,EACN,aAAa,EACb,SAAS,GACV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAA2B,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAAC,KAoBjC;IACC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,qBAAqB,GACtB,GAAG,KAAK,CAAC;IAEV,MAAM,uBAAuB,GAC3B,KAAK,CAAC,UACP,EAAE,WAAW,EAAE,aAAa,CAAC;IAC9B,MAAM,eAAe,GACnB,uBAAuB,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;IACzD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;IACvE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAE9C,MAAM,CAAC,CAAC;IAEV,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;QAC7C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;QACtE,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;QAC1C,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,YAAY,GAChB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC;IAC9D,MAAM,WAAW,GAA4C,YAAY;QACvE,CAAC,CAAC;YACE,UAAU;YACV,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAClC,SAAS,EAAE,eAAe;YAC1B,OAAO;YACP,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC;gBACxC,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,SAAS,CAAC,OAAO;YACrB,KAAK;YACL,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC;gBACpC,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,OAAO,CAAC,OAAO;YACnB,QAAQ,EAAE,WAAW;YACrB,MAAM;YACN,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE;QACpD,2BAA2B;QAC3B,SAAS,EAAE,EAAE,GAAG,IAAI;QACpB,eAAe,EAAE,EAAE,GAAG,IAAI;QAC1B,MAAM,EAAE,EAAE,GAAG,IAAI;KAClB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,QAAQ,CAAC;QAC9B,QAAQ,EAAE;YACR,WAAW;YACX,KAAK,CAAC,OAAO,CAAC,OAAO;YACrB,UAAU,CAAC,IAAI,EAAE,YAAY;SAC9B;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,SAAS,CAAC;gBACf,QAAQ,EAAE,WAAW,CAAC;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY;oBAC3D,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;iBACrE,CAAC;gBACF,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc;gBACpD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY;QACxC,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,YAAY;QACpC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU;QACzC,CAAC,CAAC,WAAW,CAAC;IAEhB,MAAM,kBAAkB,GACtB,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,qBAAqB,CAAC,IAAI;QAC5B,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE9E,MAAM,eAAe,GACnB,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAClC,kBAAkB;QAClB,cAAc,CAAC,SAAS,CAAC;IAC3B,MAAM,mBAAmB,GACvB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;IAErD,MAAM,QAAQ,GACZ,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK;QACvC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAEhB,SAAS,YAAY;QACnB,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAgB;YACzC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;YAC1C,CAAC,kBAAkB;YACnB,CAAC,YAAY,EACb,CAAC;YACD,sCAAsC;YACtC,SAAS,CAAC;gBACR,EAAE,EAAE,eAAe;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,IACL,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,aAAa;YACvC,CAAC,kBAAkB;YACnB,CAAC,YAAY,EACb,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC9C,sEAAsE;gBACtE,SAAS,CAAC;oBACR,EAAE,EAAE,eAAe;iBACpB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,yDAAyD;gBACzD,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;YAED,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,SAAS,CAAC;YACR,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,UAAU,CAAC,IAAI;YACtB,cAAc,EAAE,cAAc,CAAC,IAAI,IAAI,SAAS;SACjD,CAAC,CAAC;IACL,CAAC;IAED,SAAS,QAAQ;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CACL,MAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,aAC/C,MAAM,IAAI,CACT,8BACE,KAAC,aAAa,IAAC,GAAG,EAAE,gBAAgB,GAAI,EACxC,KAAC,MAAM,IAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YAClD,YAAY,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,IAAI,CAC7C,0BACE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,aAAa,qBAE5B,EACP,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EACjB,KAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,CAAC,IAAI,GAAI,IAChC,CACP,GACM,IACR,CACJ,EAGD,0BACE,KAAC,sBAAsB,IACrB,KAAK,EAAE,iBAAiB,IAAI,EAAE,EAC9B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,CAAC,iBAAiB,EACrD,MAAM,EAAE,MAAM,EACd,4BAA4B,EAAE,qBAAqB,EACnD,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EACjC,YAAY,EAAE,YAAY,GAC1B,EACD,YAAY,IAAI,CACf,KAAC,oBAAoB,IACnB,cAAc,EAAE,UAAU,CAAC,SAAS,EACpC,gBAAgB,EACd,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,eAAe,EAExD,UAAU,EAAE,QAAQ,GACpB,CACH,EACD,KAAC,MAAM,IAAC,CAAC,EAAC,IAAI,GAAG,IACb,EAGL,QAAQ,IAAI,CACX,wBACG,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CACjC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,QAAC,SAAS,wCAC3B,GAAG,EACpB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAC7D,KAAC,WAAW,IACV,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,IAAI,EAAC,IAAI,EACT,MAAM,QACN,KAAK,EAAC,QAAQ,GACd,IACG,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,QAAC,SAAS,kBAC5C,QAAQ,CAAC,OAAO,IAAI,cAAc,GAC9B,CACR,GACG,CACP,EAEA,CAAC,QAAQ,IAAI,kBAAkB,IAAI,CAClC,0BACE,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,QAAC,SAAS,wCAExC,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,QAAC,SAAS,uDAExC,IACH,CACP,EAGA,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAClC,KAAC,MAAM,IACL,OAAO,EAAC,QAAQ,EAChB,SAAS,QACT,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,cAAc,CAClB,YAAY,CACV,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,EACvC,CAAC,CACF,CAAC,QAAQ,EAAE,CACb,CAAC;oBACF,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,4BAGM,CACV,CAAC,CAAC,CAAC,mBAAmB;gBACrB,CAAC,UAAU,CAAC,SAAS;gBACrB,CAAC,cAAc,CAAC,SAAS;gBACzB,CAAC,kBAAkB;gBACnB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CACpB,KAAC,mBAAmB,IAClB,OAAO,EAAC,QAAQ,EAChB,SAAS,QACT,WAAW,EAAE,KAAK,IAAI,EAAE;oBACtB,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAClD,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IACL,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAC/C,SAAS,yBACM,eAAe,EAC9B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,YAAY,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC,EACD,GAAG,EAAC,IAAI,YAEP,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,qDAEE,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,YAAY,GAAG,IACvC,CACJ,CAAC,CAAC,CAAC,CACF,UAAU,CACX,GACM,CACV,IACS,CACb,CAAC;AACJ,CAAC"}
|
@@ -1,8 +1,11 @@
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { CheckCircledIcon } from "@radix-ui/react-icons";
|
3
3
|
import { useState } from "react";
|
4
|
+
import { getCachedChain } from "../../../../../../../chains/utils.js";
|
4
5
|
import { NATIVE_TOKEN_ADDRESS } from "../../../../../../../constants/addresses.js";
|
5
6
|
import { getContract } from "../../../../../../../contract/contract.js";
|
7
|
+
import { allowance } from "../../../../../../../extensions/erc20/__generated__/IERC20/read/allowance.js";
|
8
|
+
import { approve } from "../../../../../../../extensions/erc20/write/approve.js";
|
6
9
|
import { transfer } from "../../../../../../../extensions/erc20/write/transfer.js";
|
7
10
|
import { getBuyWithCryptoTransfer } from "../../../../../../../pay/buyWithCrypto/getTransfer.js";
|
8
11
|
import { sendAndConfirmTransaction } from "../../../../../../../transaction/actions/send-and-confirm-transaction.js";
|
@@ -85,13 +88,37 @@ export function TransferConfirmationScreen(props) {
|
|
85
88
|
amount: tokenAmount,
|
86
89
|
purchaseData: payOptions?.purchaseData,
|
87
90
|
});
|
88
|
-
if (transferResponse.
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
91
|
+
if (transferResponse.approvalData) {
|
92
|
+
// check allowance
|
93
|
+
const prevAllowance = await allowance({
|
94
|
+
contract: getContract({
|
95
|
+
client: client,
|
96
|
+
address: transferResponse.approvalData.tokenAddress,
|
97
|
+
chain: getCachedChain(transferResponse.approvalData.chainId),
|
98
|
+
}),
|
99
|
+
spender: transferResponse.approvalData
|
100
|
+
.spenderAddress,
|
101
|
+
owner: payer.account.address,
|
94
102
|
});
|
103
|
+
if (prevAllowance <
|
104
|
+
BigInt(transferResponse.approvalData.amountWei)) {
|
105
|
+
setStep("approve");
|
106
|
+
const transaction = approve({
|
107
|
+
contract: getContract({
|
108
|
+
client: client,
|
109
|
+
address: transferResponse.approvalData.tokenAddress,
|
110
|
+
chain: getCachedChain(transferResponse.approvalData.chainId),
|
111
|
+
}),
|
112
|
+
spender: transferResponse.approvalData
|
113
|
+
.spenderAddress,
|
114
|
+
amountWei: BigInt(transferResponse.approvalData.amountWei),
|
115
|
+
});
|
116
|
+
// approve the transfer
|
117
|
+
await sendAndConfirmTransaction({
|
118
|
+
account: props.payer.account,
|
119
|
+
transaction,
|
120
|
+
});
|
121
|
+
}
|
95
122
|
}
|
96
123
|
setStep("transfer");
|
97
124
|
// execute the transfer
|