thirdweb 5.87.3 → 5.88.0-nightly-e50d77d28fd866efdfce706b73320541d260728d-20250208000322
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/implementations.js +3 -0
- package/dist/cjs/contract/deployment/zksync/implementations.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 +4 -14
- 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 -223
- 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/FiatStatusScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
- 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 +19 -16
- 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/SwapStatusScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js.map +1 -1
- 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/version.js.map +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/implementations.js +3 -0
- package/dist/esm/contract/deployment/zksync/implementations.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 +4 -14
- 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 -223
- 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/FiatStatusScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +1 -1
- 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 +19 -16
- 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/SwapStatusScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapStatusScreen.js.map +1 -1
- 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/version.js.map +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/implementations.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/SwapStatusScreen.d.ts.map +1 -1
- 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/version.d.ts.map +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 +2 -2
- package/src/client/client.test.ts +2 -2
- package/src/client/client.ts +2 -1
- package/src/contract/deployment/zksync/implementations.ts +3 -0
- package/src/contract/deployment/zksync/zkDeployContract.ts +5 -2
- package/src/pay/buyWithCrypto/getQuote.ts +6 -15
- 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 -556
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.tsx +307 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.tsx +3 -5
- 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 +22 -19
- 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/SwapStatusScreen.tsx +3 -5
- 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 +1 @@
|
|
1
|
-
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/zksync/implementations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAA2C;IAC5E,CAAC,GAAG,CAAC,EAAE;QACL,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,GAAG,CAAC,EAAE;QACL,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,GAAG,CAAC,EAAE;QACL,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,KAAK,CAAC,EAAE;QACP,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,KAAK,CAAC,EAAE;QACP,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,MAAM,CAAC,EAAE;QACR,aAAa,EAAE,4CAA4C;KAC5D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,CAAC,GAAG,CAAC,EAAE,4CAA4C;IACnD,CAAC,GAAG,CAAC,EAAE,4CAA4C;IACnD,CAAC,KAAK,CAAC,EAAE,4CAA4C;IACrD,CAAC,KAAK,CAAC,EAAE,4CAA4C;IACrD,CAAC,MAAM,CAAC,EAAE,4CAA4C;IACtD,CAAC,IAAI,CAAC,EAAE,4CAA4C;CACrD,CAAC"}
|
1
|
+
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/zksync/implementations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAA2C;IAC5E,CAAC,GAAG,CAAC,EAAE;QACL,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,GAAG,CAAC,EAAE;QACL,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,GAAG,CAAC,EAAE;QACL,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,KAAK,CAAC,EAAE;QACP,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,KAAK,CAAC,EAAE;QACP,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,MAAM,CAAC,EAAE;QACR,aAAa,EAAE,4CAA4C;KAC5D;IACD,CAAC,IAAI,CAAC,EAAE;QACN,aAAa,EAAE,4CAA4C;KAC5D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,CAAC,GAAG,CAAC,EAAE,4CAA4C;IACnD,CAAC,GAAG,CAAC,EAAE,4CAA4C;IACnD,CAAC,KAAK,CAAC,EAAE,4CAA4C;IACrD,CAAC,KAAK,CAAC,EAAE,4CAA4C;IACrD,CAAC,MAAM,CAAC,EAAE,4CAA4C;IACtD,CAAC,IAAI,CAAC,EAAE,4CAA4C;CACrD,CAAC"}
|
@@ -5,18 +5,20 @@ import { sendAndConfirmTransaction } from "../../../transaction/actions/send-and
|
|
5
5
|
import { prepareTransaction } from "../../../transaction/prepare-transaction.js";
|
6
6
|
import { normalizeFunctionParams } from "../../../utils/abi/normalizeFunctionParams.js";
|
7
7
|
import { CONTRACT_DEPLOYER_ADDRESS } from "../../../utils/any-evm/zksync/constants.js";
|
8
|
+
import { ensureBytecodePrefix } from "../../../utils/bytecode/prefix.js";
|
8
9
|
import { zkDeployContractDeterministic } from "./zkDeployDeterministic.js";
|
9
10
|
/**
|
10
11
|
* @internal
|
11
12
|
*/
|
12
13
|
export async function zkDeployContract(options) {
|
14
|
+
const bytecode = ensureBytecodePrefix(options.bytecode);
|
13
15
|
if (options.salt !== undefined) {
|
14
16
|
// if a salt is provided, use the deterministic deployer
|
15
17
|
return zkDeployContractDeterministic(options);
|
16
18
|
}
|
17
19
|
const data = encodeDeployData({
|
18
20
|
abi: options.abi,
|
19
|
-
bytecode
|
21
|
+
bytecode,
|
20
22
|
deploymentType: options.deploymentType ?? "create",
|
21
23
|
args: normalizeFunctionParams(options.abi.find((abi) => abi.type === "constructor"), options.params),
|
22
24
|
});
|
@@ -28,7 +30,7 @@ export async function zkDeployContract(options) {
|
|
28
30
|
to: CONTRACT_DEPLOYER_ADDRESS,
|
29
31
|
data,
|
30
32
|
eip712: {
|
31
|
-
factoryDeps: [
|
33
|
+
factoryDeps: [bytecode],
|
32
34
|
// TODO (zksync): allow passing in a paymaster
|
33
35
|
},
|
34
36
|
}),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"zkDeployContract.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/zksync/zkDeployContract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sFAAsF,CAAC;AAC7H,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;
|
1
|
+
{"version":3,"file":"zkDeployContract.js","sourceRoot":"","sources":["../../../../../src/contract/deployment/zksync/zkDeployContract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sFAAsF,CAAC;AAC7H,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAMC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,wDAAwD;QACxD,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ;QACR,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,QAAQ;QAClD,IAAI,EAAE,uBAAuB,CAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,EACrD,OAAO,CAAC,MAAM,CACf;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;QAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,kBAAkB,CAAC;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,yBAAyB;YAC7B,IAAI;YACJ,MAAM,EAAE;gBACN,WAAW,EAAE,CAAC,QAAQ,CAAC;gBACvB,8CAA8C;aAC/C;SACF,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,CAAC,qBAAqB,EAAE,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;IAExD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
@@ -1,6 +1,4 @@
|
|
1
1
|
import { getCachedChain } from "../../chains/utils.js";
|
2
|
-
import { getContract } from "../../contract/contract.js";
|
3
|
-
import { approve } from "../../extensions/erc20/write/approve.js";
|
4
2
|
import { getClientFetch } from "../../utils/fetch.js";
|
5
3
|
import { stringify } from "../../utils/json.js";
|
6
4
|
import { getPayBuyWithCryptoQuoteEndpoint } from "../utils/definitions.js";
|
@@ -64,6 +62,8 @@ export async function getBuyWithCryptoQuote(params) {
|
|
64
62
|
}
|
65
63
|
const data = (await response.json())
|
66
64
|
.result;
|
65
|
+
// check if the fromAddress already has approval for the given amount
|
66
|
+
const approvalData = data.approval;
|
67
67
|
const swapRoute = {
|
68
68
|
transactionRequest: {
|
69
69
|
chain: getCachedChain(data.transactionRequest.chainId),
|
@@ -72,19 +72,9 @@ export async function getBuyWithCryptoQuote(params) {
|
|
72
72
|
to: data.transactionRequest.to,
|
73
73
|
value: BigInt(data.transactionRequest.value),
|
74
74
|
gas: BigInt(data.transactionRequest.gasLimit),
|
75
|
-
gasPrice:
|
75
|
+
gasPrice: undefined, // ignore gas price returned by the quote, we handle it ourselves
|
76
76
|
},
|
77
|
-
|
78
|
-
? approve({
|
79
|
-
contract: getContract({
|
80
|
-
client: params.client,
|
81
|
-
address: data.approval.tokenAddress,
|
82
|
-
chain: getCachedChain(data.approval.chainId),
|
83
|
-
}),
|
84
|
-
spender: data.approval?.spenderAddress,
|
85
|
-
amountWei: BigInt(data.approval.amountWei),
|
86
|
-
})
|
87
|
-
: undefined,
|
77
|
+
approvalData,
|
88
78
|
swapDetails: {
|
89
79
|
fromAddress: data.fromAddress,
|
90
80
|
toAddress: data.toAddress,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../../src/pay/buyWithCrypto/getQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../../src/pay/buyWithCrypto/getQuote.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,4 @@
|
|
1
1
|
import { getCachedChain } from "../../chains/utils.js";
|
2
|
-
import { getContract } from "../../contract/contract.js";
|
3
|
-
import { approve } from "../../extensions/erc20/write/approve.js";
|
4
2
|
import { getClientFetch } from "../../utils/fetch.js";
|
5
3
|
import { stringify } from "../../utils/json.js";
|
6
4
|
import { getPayBuyWithCryptoTransferEndpoint } from "../utils/definitions.js";
|
@@ -65,17 +63,7 @@ export async function getBuyWithCryptoTransfer(params) {
|
|
65
63
|
value: BigInt(data.transactionRequest.value),
|
66
64
|
gas: BigInt(data.transactionRequest.gasLimit),
|
67
65
|
},
|
68
|
-
|
69
|
-
? approve({
|
70
|
-
contract: getContract({
|
71
|
-
client: params.client,
|
72
|
-
address: data.approval.tokenAddress,
|
73
|
-
chain: getCachedChain(data.approval.chainId),
|
74
|
-
}),
|
75
|
-
spender: data.approval.spenderAddress,
|
76
|
-
amountWei: BigInt(data.approval.amountWei),
|
77
|
-
})
|
78
|
-
: undefined,
|
66
|
+
approvalData: data.approval,
|
79
67
|
fromAddress: data.fromAddress,
|
80
68
|
toAddress: data.toAddress,
|
81
69
|
paymentToken: data.paymentToken,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getTransfer.js","sourceRoot":"","sources":["../../../../src/pay/buyWithCrypto/getTransfer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"getTransfer.js","sourceRoot":"","sources":["../../../../src/pay/buyWithCrypto/getTransfer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAqF9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAsC;IAEtC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,mCAAmC,EAAE,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,SAAS,CAAC;gBACd,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAkC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAE3E,MAAM,QAAQ,GAA0B;YACtC,kBAAkB,EAAE;gBAClB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACtD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAY;gBAC1C,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAa;gBACzC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC5C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aAC9C;YACD,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../../src/pay/buyWithFiat/getQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../../src/pay/buyWithFiat/getQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAmPzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,8BAA8B,EAAE,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,SAAS,CAAC;gBACd,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACtC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;aAC5C,CAAC;SACH,CAAC,CAAC;QAEH,oEAAoE;QACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export
|
1
|
+
export const FiatProviders = ["COINBASE", "STRIPE", "TRANSAK", "KADO"];
|
2
2
|
//# sourceMappingURL=commonTypes.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../../../src/pay/utils/commonTypes.ts"],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../../../src/pay/utils/commonTypes.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export const LAST_AUTH_PROVIDER_STORAGE_KEY = "lastAuthProvider";
|
2
|
+
export const PREFERRED_FIAT_PROVIDER_STORAGE_KEY = "preferredFiatProvider";
|
2
3
|
export async function setLastAuthProvider(authProvider, storage) {
|
3
4
|
await storage.setItem(LAST_AUTH_PROVIDER_STORAGE_KEY, authProvider);
|
4
5
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/storage.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../src/react/core/utils/storage.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAC;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,uBAAuB,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAAsC,EACtC,OAAqB;IAErB,MAAM,OAAO,CAAC,OAAO,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAqB;IAC7D,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAErD,CAAC;AACX,CAAC"}
|
@@ -1,24 +1,17 @@
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useQueryClient } from "@tanstack/react-query";
|
3
3
|
import { useCallback, useMemo, useState } from "react";
|
4
4
|
import { NATIVE_TOKEN_ADDRESS } from "../../../../../../constants/addresses.js";
|
5
|
-
import {
|
6
|
-
import { formatNumber } from "../../../../../../utils/formatNumber.js";
|
7
|
-
import { spacing, } from "../../../../../core/design-system/index.js";
|
8
|
-
import { useWalletBalance } from "../../../../../core/hooks/others/useWalletBalance.js";
|
9
|
-
import { useBuyWithCryptoQuote } from "../../../../../core/hooks/pay/useBuyWithCryptoQuote.js";
|
10
|
-
import { useBuyWithFiatQuote } from "../../../../../core/hooks/pay/useBuyWithFiatQuote.js";
|
5
|
+
import { fontSize, spacing, } from "../../../../../core/design-system/index.js";
|
11
6
|
import { useActiveAccount } from "../../../../../core/hooks/wallets/useActiveAccount.js";
|
12
7
|
import { invalidateWalletBalance } from "../../../../../core/providers/invalidateWalletBalance.js";
|
13
8
|
import { ErrorState } from "../../../../wallets/shared/ErrorState.js";
|
14
9
|
import { LoadingScreen } from "../../../../wallets/shared/LoadingScreen.js";
|
15
10
|
import { ChainName } from "../../../components/ChainName.js";
|
16
|
-
import { Drawer, DrawerOverlay, useDrawer, } from "../../../components/Drawer.js";
|
17
11
|
import { Spacer } from "../../../components/Spacer.js";
|
18
|
-
import { Spinner } from "../../../components/Spinner.js";
|
19
|
-
import { SwitchNetworkButton } from "../../../components/SwitchNetwork.js";
|
20
12
|
import { Container, Line, ModalHeader } from "../../../components/basic.js";
|
21
13
|
import { Button } from "../../../components/buttons.js";
|
14
|
+
import { Input } from "../../../components/formElements.js";
|
22
15
|
import { Text } from "../../../components/text.js";
|
23
16
|
import { TokenSymbol } from "../../../components/token/TokenSymbol.js";
|
24
17
|
import { ConnectButton } from "../../ConnectButton.js";
|
@@ -27,22 +20,18 @@ import { TokenSelector } from "../TokenSelector.js";
|
|
27
20
|
import { WalletSwitcherConnectionScreen } from "../WalletSwitcherConnectionScreen.js";
|
28
21
|
import { isNativeToken } from "../nativeToken.js";
|
29
22
|
import { DirectPaymentModeScreen } from "./DirectPaymentModeScreen.js";
|
30
|
-
import { EstimatedTimeAndFees } from "./EstimatedTimeAndFees.js";
|
31
23
|
import { PayTokenIcon } from "./PayTokenIcon.js";
|
32
|
-
import { PayWithCreditCard } from "./PayWIthCreditCard.js";
|
33
24
|
import { TransactionModeScreen } from "./TransactionModeScreen.js";
|
34
25
|
import { CurrencySelection } from "./fiat/CurrencySelection.js";
|
35
26
|
import { FiatFlow } from "./fiat/FiatFlow.js";
|
27
|
+
import { FiatScreenContent } from "./fiat/FiatScreenContent.js";
|
36
28
|
import { useEnabledPaymentMethods, } from "./main/useEnabledPaymentMethods.js";
|
37
29
|
import { useFiatCurrencySelectionStates, useFromTokenSelectionStates, useToTokenSelectionStates, } from "./main/useUISelectionStates.js";
|
38
|
-
import { openOnrampPopup } from "./openOnRamppopup.js";
|
39
30
|
import { BuyTokenInput } from "./swap/BuyTokenInput.js";
|
40
|
-
import { FiatFees, SwapFees } from "./swap/Fees.js";
|
41
|
-
import { PayWithCryptoQuoteInfo } from "./swap/PayWithCrypto.js";
|
42
31
|
import { PaymentSelectionScreen } from "./swap/PaymentSelectionScreen.js";
|
43
32
|
import { SwapFlow } from "./swap/SwapFlow.js";
|
33
|
+
import { SwapScreenContent } from "./swap/SwapScreenContent.js";
|
44
34
|
import { TransferFlow } from "./swap/TransferFlow.js";
|
45
|
-
import { addPendingTx } from "./swap/pendingSwapTx.js";
|
46
35
|
import { useBuySupportedDestinations, useBuySupportedSources, } from "./swap/useSwapSupportedChains.js";
|
47
36
|
import { usePayerSetup } from "./usePayerSetup.js";
|
48
37
|
/**
|
@@ -156,7 +145,7 @@ function BuyScreenContent(props) {
|
|
156
145
|
setScreen({
|
157
146
|
id: "buy-with-crypto",
|
158
147
|
});
|
159
|
-
}, onSuccess: onSwapSuccess }));
|
148
|
+
}, onSuccess: onSwapSuccess, approvalAmount: screen.approvalAmount }));
|
160
149
|
}
|
161
150
|
if (screen.id === "fiat-flow" && payer) {
|
162
151
|
return (_jsx(FiatFlow, { title: props.title, transactionMode: payOptions.mode === "transaction", quote: screen.quote, onBack: () => {
|
@@ -235,7 +224,7 @@ function BuyScreenContent(props) {
|
|
235
224
|
return (_jsx(Container, { animate: "fadein", children: _jsxs("div", { children: [screen.id === "main" && (_jsx(MainScreen, { title: props.title, payerAccount: payer?.account, client: client, onSelectBuyToken: () => setScreen({ id: "select-to-token", backScreen: screen }), payOptions: payOptions, setTokenAmount: setTokenAmount, setToChain: setToChain, setToToken: setToToken, setFromChain: setFromChain, setFromToken: setFromToken, toChain: toChain, toToken: toToken, tokenAmount: tokenAmount, connectOptions: props.connectOptions, setScreen: setScreen, supportedDestinations: supportedDestinations, onBack: props.onBack, theme: props.theme, hasEditedAmount: hasEditedAmount, setHasEditedAmount: setHasEditedAmount, enabledPaymentMethods: enabledPaymentMethods })), (screen.id === "select-payment-method" ||
|
236
225
|
screen.id === "buy-with-crypto" ||
|
237
226
|
screen.id === "buy-with-fiat") &&
|
238
|
-
payer && (_jsxs(TokenSelectedLayout, { title: props.title, selectedChain: toChain, selectedToken: toToken, tokenAmount: tokenAmount, client: client, onBack: () => {
|
227
|
+
payer && (_jsxs(TokenSelectedLayout, { title: props.title, selectedChain: toChain, selectedToken: toToken, tokenAmount: tokenAmount, setTokenAmount: setTokenAmount, client: client, onBack: () => {
|
239
228
|
if (enabledPaymentMethods.buyWithCryptoEnabled &&
|
240
229
|
screen.id === "buy-with-fiat") {
|
241
230
|
setScreen({ id: "select-payment-method" });
|
@@ -289,9 +278,50 @@ function BuyScreenContent(props) {
|
|
289
278
|
}, payer: payer, setTokenAmount: setTokenAmount, setHasEditedAmount: setHasEditedAmount }))] }))] }) }));
|
290
279
|
}
|
291
280
|
function SelectedTokenInfo(props) {
|
281
|
+
const getWidth = () => {
|
282
|
+
let chars = props.tokenAmount.replace(".", "").length;
|
283
|
+
const hasDot = props.tokenAmount.includes(".");
|
284
|
+
if (hasDot) {
|
285
|
+
chars += 0.3;
|
286
|
+
}
|
287
|
+
return `calc(${`${Math.max(1, chars)}ch + 2px`})`;
|
288
|
+
};
|
292
289
|
return (_jsx("div", { children: _jsxs(Container, { flex: "row", gap: "sm", center: "y", style: {
|
293
290
|
justifyContent: "space-between",
|
294
|
-
}, children: [_jsxs(Container, { flex: "row", gap: "xs", center: "y", children: [_jsx(
|
291
|
+
}, children: [_jsxs(Container, { flex: "row", gap: "xs", center: "y", children: [_jsx(Input, { variant: "outline", pattern: "^[0-9]*[.,]?[0-9]*$", inputMode: "decimal", tabIndex: -1, placeholder: "0", type: "text", "data-placeholder": props.tokenAmount === "", value: props.tokenAmount || "0", disabled: false, onClick: (e) => {
|
292
|
+
// put cursor at the end of the input
|
293
|
+
if (props.tokenAmount === "") {
|
294
|
+
e.currentTarget.setSelectionRange(e.currentTarget.value.length, e.currentTarget.value.length);
|
295
|
+
}
|
296
|
+
}, onChange: (e) => {
|
297
|
+
let value = e.target.value;
|
298
|
+
if (value.startsWith(".")) {
|
299
|
+
value = `0${value}`;
|
300
|
+
}
|
301
|
+
if (value.length > 10) {
|
302
|
+
return;
|
303
|
+
}
|
304
|
+
const numValue = Number(value);
|
305
|
+
if (Number.isNaN(numValue)) {
|
306
|
+
return;
|
307
|
+
}
|
308
|
+
if (value.startsWith("0") && !value.startsWith("0.")) {
|
309
|
+
props.setTokenAmount(value.slice(1));
|
310
|
+
}
|
311
|
+
else {
|
312
|
+
props.setTokenAmount(value);
|
313
|
+
}
|
314
|
+
}, style: {
|
315
|
+
border: "none",
|
316
|
+
fontSize: fontSize.lg,
|
317
|
+
boxShadow: "none",
|
318
|
+
borderRadius: "0",
|
319
|
+
padding: "0",
|
320
|
+
paddingBlock: "2px",
|
321
|
+
fontWeight: 600,
|
322
|
+
textAlign: "left",
|
323
|
+
width: getWidth(),
|
324
|
+
} }), _jsxs(Container, { flex: "row", gap: "xxs", center: "y", children: [_jsx(TokenSymbol, { token: props.selectedToken, chain: props.selectedChain, size: "md", color: "secondaryText" }), _jsx(PayTokenIcon, { chain: props.selectedChain, client: props.client, size: "sm", token: props.selectedToken })] })] }), _jsx(ChainName, { chain: props.selectedChain, client: props.client, size: "sm", short: true })] }) }));
|
295
325
|
}
|
296
326
|
function MainScreen(props) {
|
297
327
|
const { setTokenAmount, setToChain, setToToken, setFromChain, setFromToken, payerAccount, client, tokenAmount, payOptions, toToken, toChain, supportedDestinations, enabledPaymentMethods, } = props;
|
@@ -351,210 +381,7 @@ function MainScreen(props) {
|
|
351
381
|
function TokenSelectedLayout(props) {
|
352
382
|
return (_jsxs(Container, { children: [_jsx(Container, { p: "lg", children: _jsx(ModalHeader, { title: props.title, onBack: props.onBack }) }), _jsxs(Container, { px: "lg", style: {
|
353
383
|
paddingBottom: spacing.lg,
|
354
|
-
}, children: [_jsx(Spacer, { y: "xs" }), _jsx(SelectedTokenInfo, { selectedToken: props.selectedToken, selectedChain: props.selectedChain, tokenAmount: props.tokenAmount, client: props.client }), _jsx(Spacer, { y: "md" }), _jsx(Line, {}), _jsx(Spacer, { y: "lg" }), _jsx(Text, { size: "sm", children: " Pay with " }), _jsx(Spacer, { y: "sm" }), props.children] })] }));
|
355
|
-
}
|
356
|
-
function SwapScreenContent(props) {
|
357
|
-
const { setScreen, payer, client, toChain, tokenAmount, toToken, fromChain, fromToken, payOptions, disableTokenSelection, } = props;
|
358
|
-
const defaultRecipientAddress = props.payOptions?.paymentInfo?.sellerAddress;
|
359
|
-
const receiverAddress = defaultRecipientAddress || props.activeAccount.address;
|
360
|
-
const { drawerRef, drawerOverlayRef, isOpen, setIsOpen } = useDrawer();
|
361
|
-
const [drawerScreen, setDrawerScreen] = useState("fees");
|
362
|
-
const fromTokenBalanceQuery = useWalletBalance({
|
363
|
-
address: payer.account.address,
|
364
|
-
chain: fromChain,
|
365
|
-
tokenAddress: isNativeToken(fromToken) ? undefined : fromToken.address,
|
366
|
-
client,
|
367
|
-
});
|
368
|
-
const fromTokenId = isNativeToken(fromToken)
|
369
|
-
? NATIVE_TOKEN_ADDRESS
|
370
|
-
: fromToken.address.toLowerCase();
|
371
|
-
const toTokenId = isNativeToken(toToken)
|
372
|
-
? NATIVE_TOKEN_ADDRESS
|
373
|
-
: toToken.address.toLowerCase();
|
374
|
-
const swapRequired = !!tokenAmount &&
|
375
|
-
!(fromChain.id === toChain.id && fromTokenId === toTokenId);
|
376
|
-
const quoteParams = swapRequired
|
377
|
-
? {
|
378
|
-
// wallets
|
379
|
-
fromAddress: payer.account.address,
|
380
|
-
toAddress: receiverAddress,
|
381
|
-
// from
|
382
|
-
fromChainId: fromChain.id,
|
383
|
-
fromTokenAddress: isNativeToken(fromToken)
|
384
|
-
? NATIVE_TOKEN_ADDRESS
|
385
|
-
: fromToken.address,
|
386
|
-
// to
|
387
|
-
toChainId: toChain.id,
|
388
|
-
toTokenAddress: isNativeToken(toToken)
|
389
|
-
? NATIVE_TOKEN_ADDRESS
|
390
|
-
: toToken.address,
|
391
|
-
toAmount: tokenAmount,
|
392
|
-
client,
|
393
|
-
purchaseData: payOptions.purchaseData,
|
394
|
-
}
|
395
|
-
: undefined;
|
396
|
-
const quoteQuery = useBuyWithCryptoQuote(quoteParams, {
|
397
|
-
// refetch every 30 seconds
|
398
|
-
staleTime: 30 * 1000,
|
399
|
-
refetchInterval: 30 * 1000,
|
400
|
-
gcTime: 30 * 1000,
|
401
|
-
});
|
402
|
-
const sourceTokenAmount = swapRequired
|
403
|
-
? quoteQuery.data?.swapDetails.fromAmount
|
404
|
-
: tokenAmount;
|
405
|
-
const isNotEnoughBalance = !!sourceTokenAmount &&
|
406
|
-
!!fromTokenBalanceQuery.data &&
|
407
|
-
Number(fromTokenBalanceQuery.data.displayValue) < Number(sourceTokenAmount);
|
408
|
-
const disableContinue = (swapRequired && !quoteQuery.data) || isNotEnoughBalance;
|
409
|
-
const switchChainRequired = props.payer.wallet.getChain()?.id !== fromChain.id;
|
410
|
-
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
411
|
-
function getErrorMessage(err) {
|
412
|
-
const defaultMessage = "Unable to get price quote";
|
413
|
-
try {
|
414
|
-
if (err.error.code === "MINIMUM_PURCHASE_AMOUNT") {
|
415
|
-
const obj = err.error;
|
416
|
-
const minAmountToken = obj.data.minimumAmountEth;
|
417
|
-
return {
|
418
|
-
minAmount: formatNumber(Number(minAmountToken), 6),
|
419
|
-
};
|
420
|
-
}
|
421
|
-
}
|
422
|
-
catch { }
|
423
|
-
return {
|
424
|
-
msg: [defaultMessage],
|
425
|
-
};
|
426
|
-
}
|
427
|
-
const errorMsg = !quoteQuery.isLoading && quoteQuery.error
|
428
|
-
? getErrorMessage(quoteQuery.error)
|
429
|
-
: undefined;
|
430
|
-
function showSwapFlow() {
|
431
|
-
if ((props.payOptions.mode === "direct_payment" ||
|
432
|
-
props.payOptions.mode === "fund_wallet") &&
|
433
|
-
!isNotEnoughBalance &&
|
434
|
-
!swapRequired) {
|
435
|
-
// same currency, just direct transfer
|
436
|
-
setScreen({
|
437
|
-
id: "transfer-flow",
|
438
|
-
});
|
439
|
-
}
|
440
|
-
else if (props.payOptions.mode === "transaction" &&
|
441
|
-
!isNotEnoughBalance &&
|
442
|
-
!swapRequired) {
|
443
|
-
if (payer.account.address !== receiverAddress) {
|
444
|
-
// needs transfer from another wallet before executing the transaction
|
445
|
-
setScreen({
|
446
|
-
id: "transfer-flow",
|
447
|
-
});
|
448
|
-
}
|
449
|
-
else {
|
450
|
-
// has enough balance to just do the transaction directly
|
451
|
-
props.onDone();
|
452
|
-
}
|
453
|
-
return;
|
454
|
-
}
|
455
|
-
if (!quoteQuery.data) {
|
456
|
-
return;
|
457
|
-
}
|
458
|
-
setScreen({
|
459
|
-
id: "swap-flow",
|
460
|
-
quote: quoteQuery.data,
|
461
|
-
});
|
462
|
-
}
|
463
|
-
function showFees() {
|
464
|
-
if (!quoteQuery.data) {
|
465
|
-
return;
|
466
|
-
}
|
467
|
-
setIsOpen(true);
|
468
|
-
setDrawerScreen("fees");
|
469
|
-
}
|
470
|
-
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 && (_jsxs("div", { children: [errorMsg.minAmount && (_jsxs(Text, { color: "danger", size: "sm", center: true, multiline: true, children: ["Minimum amount is ", errorMsg.minAmount, " ", _jsx(TokenSymbol, { token: toToken, chain: toChain, size: "sm", inline: true, color: "danger" })] })), errorMsg.msg?.map((msg) => (_jsx(Text, { color: "danger", size: "sm", center: true, multiline: true, children: msg }, msg)))] })), !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?.minAmount ? (_jsx(Button, { variant: "accent", fullWidth: true, onClick: () => {
|
471
|
-
props.setTokenAmount(String(errorMsg.minAmount));
|
472
|
-
props.setHasEditedAmount(true);
|
473
|
-
}, children: "Set Minimum" })) : switchChainRequired &&
|
474
|
-
!quoteQuery.isLoading &&
|
475
|
-
!isNotEnoughBalance &&
|
476
|
-
!quoteQuery.error ? (_jsx(SwitchNetworkButton, { variant: "accent", fullWidth: true, switchChain: async () => {
|
477
|
-
await props.payer.wallet.switchChain(fromChain);
|
478
|
-
} })) : (_jsx(Button, { variant: disableContinue ? "outline" : "accent", fullWidth: true, "data-disabled": disableContinue, disabled: disableContinue, onClick: async () => {
|
479
|
-
if (!disableContinue) {
|
480
|
-
showSwapFlow();
|
481
|
-
}
|
482
|
-
}, gap: "xs", children: quoteQuery.isLoading ? (_jsxs(_Fragment, { children: ["Getting price quote", _jsx(Spinner, { size: "sm", color: "accentText" })] })) : ("Continue") }))] }));
|
483
|
-
}
|
484
|
-
function FiatScreenContent(props) {
|
485
|
-
const { toToken, tokenAmount, payer, client, setScreen, toChain, showCurrencySelector, selectedCurrency, } = props;
|
486
|
-
const defaultRecipientAddress = props.payOptions?.paymentInfo?.sellerAddress;
|
487
|
-
const receiverAddress = defaultRecipientAddress || props.payer.account.address;
|
488
|
-
const { drawerRef, drawerOverlayRef, isOpen, setIsOpen } = useDrawer();
|
489
|
-
const [drawerScreen, setDrawerScreen] = useState("fees");
|
490
|
-
const buyWithFiatOptions = props.payOptions.buyWithFiat;
|
491
|
-
const fiatQuoteQuery = useBuyWithFiatQuote(buyWithFiatOptions !== false && tokenAmount
|
492
|
-
? {
|
493
|
-
fromCurrencySymbol: selectedCurrency.shorthand,
|
494
|
-
toChainId: toChain.id,
|
495
|
-
toAddress: receiverAddress,
|
496
|
-
toTokenAddress: isNativeToken(toToken)
|
497
|
-
? NATIVE_TOKEN_ADDRESS
|
498
|
-
: toToken.address,
|
499
|
-
toAmount: tokenAmount,
|
500
|
-
client,
|
501
|
-
isTestMode: buyWithFiatOptions?.testMode,
|
502
|
-
purchaseData: props.payOptions.purchaseData,
|
503
|
-
fromAddress: payer.account.address,
|
504
|
-
preferredProvider: buyWithFiatOptions?.preferredProvider,
|
505
|
-
}
|
506
|
-
: undefined);
|
507
|
-
function handleSubmit() {
|
508
|
-
if (!fiatQuoteQuery.data) {
|
509
|
-
return;
|
510
|
-
}
|
511
|
-
const hasTwoSteps = isSwapRequiredPostOnramp(fiatQuoteQuery.data);
|
512
|
-
let openedWindow = null;
|
513
|
-
if (!hasTwoSteps) {
|
514
|
-
openedWindow = openOnrampPopup(fiatQuoteQuery.data.onRampLink, typeof props.theme === "string" ? props.theme : props.theme.type);
|
515
|
-
addPendingTx({
|
516
|
-
type: "fiat",
|
517
|
-
intentId: fiatQuoteQuery.data.intentId,
|
518
|
-
});
|
519
|
-
}
|
520
|
-
setScreen({
|
521
|
-
id: "fiat-flow",
|
522
|
-
quote: fiatQuoteQuery.data,
|
523
|
-
openedWindow,
|
524
|
-
});
|
525
|
-
}
|
526
|
-
function showFees() {
|
527
|
-
if (!fiatQuoteQuery.data) {
|
528
|
-
return;
|
529
|
-
}
|
530
|
-
setDrawerScreen("fees");
|
531
|
-
setIsOpen(true);
|
532
|
-
}
|
533
|
-
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
534
|
-
function getErrorMessage(err) {
|
535
|
-
const defaultMessage = "Unable to get price quote";
|
536
|
-
try {
|
537
|
-
if (err.error.code === "MINIMUM_PURCHASE_AMOUNT") {
|
538
|
-
const obj = err.error;
|
539
|
-
const minAmountToken = obj.data.minimumAmountEth;
|
540
|
-
return {
|
541
|
-
minAmount: formatNumber(Number(minAmountToken), 6),
|
542
|
-
};
|
543
|
-
}
|
544
|
-
}
|
545
|
-
catch { }
|
546
|
-
return {
|
547
|
-
msg: [defaultMessage],
|
548
|
-
};
|
549
|
-
}
|
550
|
-
const disableSubmit = !fiatQuoteQuery.data;
|
551
|
-
const errorMsg = !fiatQuoteQuery.isLoading && fiatQuoteQuery.error
|
552
|
-
? getErrorMessage(fiatQuoteQuery.error)
|
553
|
-
: undefined;
|
554
|
-
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" && fiatQuoteQuery.data && (_jsxs("div", { children: [_jsx(Text, { size: "lg", color: "primaryText", children: "Fees" }), _jsx(Spacer, { y: "lg" }), _jsx(FiatFees, { quote: fiatQuoteQuery.data })] })) })] })), _jsxs("div", { children: [_jsx(PayWithCreditCard, { isLoading: fiatQuoteQuery.isLoading, value: fiatQuoteQuery.data?.fromCurrencyWithFees.amount, client: client, currency: selectedCurrency, onSelectCurrency: showCurrencySelector }), _jsx(EstimatedTimeAndFees, { quoteIsLoading: fiatQuoteQuery.isLoading, estimatedSeconds: fiatQuoteQuery.data?.estimatedDurationSeconds, onViewFees: showFees }), _jsx(Spacer, { y: "md" })] }), errorMsg && (_jsxs("div", { children: [errorMsg.minAmount && (_jsxs(Text, { color: "danger", size: "sm", center: true, multiline: true, children: ["Minimum amount is ", errorMsg.minAmount, " ", _jsx(TokenSymbol, { token: toToken, chain: toChain, size: "sm", inline: true, color: "danger" })] })), errorMsg.msg?.map((msg) => (_jsx(Text, { color: "danger", size: "sm", center: true, multiline: true, children: msg }, msg)))] })), errorMsg?.minAmount ? (_jsx(Button, { variant: "accent", fullWidth: true, onClick: () => {
|
555
|
-
props.setTokenAmount(String(errorMsg.minAmount));
|
556
|
-
props.setHasEditedAmount(true);
|
557
|
-
}, children: "Set Minimum" })) : (_jsx(Button, { variant: disableSubmit ? "outline" : "accent", "data-disabled": disableSubmit, disabled: disableSubmit, fullWidth: true, onClick: handleSubmit, gap: "xs", children: fiatQuoteQuery.isLoading ? (_jsxs(_Fragment, { children: ["Getting price quote", _jsx(Spinner, { size: "sm", color: "accentText" })] })) : ("Continue") }))] }));
|
384
|
+
}, children: [_jsx(Spacer, { y: "xs" }), _jsx(SelectedTokenInfo, { selectedToken: props.selectedToken, selectedChain: props.selectedChain, tokenAmount: props.tokenAmount, setTokenAmount: props.setTokenAmount, client: props.client }), _jsx(Spacer, { y: "md" }), _jsx(Line, {}), _jsx(Spacer, { y: "lg" }), _jsx(Text, { size: "sm", children: " Pay with " }), _jsx(Spacer, { y: "sm" }), props.children] })] }));
|
558
385
|
}
|
559
386
|
function createSupportedTokens(data, payOptions, supportedTokensOverrides) {
|
560
387
|
const tokens = {};
|