@crossmint/client-sdk-react-ui 1.10.0 → 1.10.2
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/{chunk-OPIHF55A.cjs → chunk-67AB7TWG.cjs} +3 -3
- package/dist/{chunk-ODH26VGS.js → chunk-6TUZ5CU7.js} +2 -2
- package/dist/chunk-A6Q4Z5TO.js +31 -0
- package/dist/chunk-A6Q4Z5TO.js.map +1 -0
- package/dist/chunk-AUCL5NPW.cjs +31 -0
- package/dist/chunk-AUCL5NPW.cjs.map +1 -0
- package/dist/{chunk-VWRC3IFZ.cjs → chunk-COLJFFZF.cjs} +3 -3
- package/dist/{chunk-657ZCQSH.cjs → chunk-DVONA2BZ.cjs} +3 -3
- package/dist/{chunk-BJIMCGIQ.js → chunk-GN7OANUR.js} +2 -2
- package/dist/{chunk-RWS44QDX.js → chunk-HVI7FCLP.js} +2 -2
- package/dist/{chunk-CIZ2K2TA.cjs → chunk-MDV3M7FD.cjs} +13 -8
- package/dist/chunk-MDV3M7FD.cjs.map +1 -0
- package/dist/{chunk-YB66RCZP.js → chunk-MWRMO6JC.js} +2 -2
- package/dist/chunk-MWRMO6JC.js.map +1 -0
- package/dist/{chunk-U2D3L4DZ.cjs → chunk-NX473NO2.cjs} +3 -3
- package/dist/{chunk-CYUTXV7Z.js → chunk-QB4KFTCT.js} +2 -2
- package/dist/{chunk-46UDUOKJ.cjs → chunk-RTC2AZ6A.cjs} +2 -2
- package/dist/chunk-RTC2AZ6A.cjs.map +1 -0
- package/dist/{chunk-IVNGVLGR.cjs → chunk-SMCUFLHP.cjs} +3 -3
- package/dist/{chunk-5JAEV6YP.js → chunk-XJYLJQA5.js} +11 -6
- package/dist/chunk-XJYLJQA5.js.map +1 -0
- package/dist/{chunk-E3BR6DXY.js → chunk-Y4UEFDMP.js} +2 -2
- package/dist/{chunk-GZRGZKN6.js → chunk-YO7ZZF32.js} +2 -2
- package/dist/{chunk-2LTCJUPK.cjs → chunk-ZOHRCGGI.cjs} +3 -3
- package/dist/components/CrossmintNFTCollectionView.cjs +3 -3
- package/dist/components/CrossmintNFTCollectionView.js +2 -2
- package/dist/components/CrossmintNFTDetail.cjs +3 -3
- package/dist/components/CrossmintNFTDetail.js +2 -2
- package/dist/components/auth/AuthForm.cjs +3 -3
- package/dist/components/auth/AuthForm.js +3 -3
- package/dist/components/auth/AuthFormDialog.cjs +3 -3
- package/dist/components/auth/AuthFormDialog.js +3 -3
- package/dist/components/auth/EmbeddedAuthForm.cjs +3 -3
- package/dist/components/auth/EmbeddedAuthForm.js +3 -3
- package/dist/components/auth/methods/email/EmailAuthFlow.cjs +3 -3
- package/dist/components/auth/methods/email/EmailAuthFlow.js +3 -3
- package/dist/components/auth/methods/email/EmailOTPInput.cjs +3 -3
- package/dist/components/auth/methods/email/EmailOTPInput.js +3 -3
- package/dist/components/auth/methods/email/EmailSignIn.cjs +3 -3
- package/dist/components/auth/methods/email/EmailSignIn.js +3 -3
- package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +3 -3
- package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +3 -3
- package/dist/components/auth/methods/google/GoogleSignIn.cjs +3 -3
- package/dist/components/auth/methods/google/GoogleSignIn.js +3 -3
- package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +3 -3
- package/dist/components/auth/methods/web3/Web3AuthFlow.js +3 -3
- package/dist/components/auth/methods/web3/Web3AuthWrapper.cjs +3 -3
- package/dist/components/auth/methods/web3/Web3AuthWrapper.js +3 -3
- package/dist/components/auth/methods/web3/Web3Connectors.cjs +3 -3
- package/dist/components/auth/methods/web3/Web3Connectors.js +3 -3
- package/dist/components/auth/methods/web3/Web3SignIn.cjs +3 -3
- package/dist/components/auth/methods/web3/Web3SignIn.js +3 -3
- package/dist/components/common/Divider.cjs +3 -3
- package/dist/components/common/Divider.js +3 -3
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +6 -11
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +5 -10
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +5 -10
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +4 -9
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +130 -7
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +1 -1
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +130 -7
- package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +1 -1
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs +65 -3
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs.map +1 -1
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.d.cts +2 -2
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.d.ts +2 -2
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js +65 -3
- package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js.map +1 -1
- package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs +2 -4
- package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js +1 -3
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs +48 -4
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs.map +1 -1
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.d.cts +2 -2
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.d.ts +2 -2
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js +47 -3
- package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js.map +1 -1
- package/dist/components/embed/v3/index.cjs +6 -11
- package/dist/components/embed/v3/index.js +5 -10
- package/dist/components/hosted/CrossmintPayButton.cjs +3 -3
- package/dist/components/hosted/CrossmintPayButton.js +2 -2
- package/dist/components/hosted/index.cjs +3 -3
- package/dist/components/hosted/index.js +2 -2
- package/dist/components/index.cjs +9 -14
- package/dist/components/index.js +8 -13
- package/dist/consts/version.cjs +2 -2
- package/dist/consts/version.js +1 -1
- package/dist/hooks/index.cjs +4 -4
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/useAuth.cjs +3 -3
- package/dist/hooks/useAuth.js +3 -3
- package/dist/hooks/useCrossmintAuth.cjs +3 -3
- package/dist/hooks/useCrossmintAuth.js +3 -3
- package/dist/hooks/useCrossmintCheckout.cjs +4 -4
- package/dist/hooks/useCrossmintCheckout.js +3 -3
- package/dist/hooks/useOAuthWindowListener.cjs +3 -3
- package/dist/hooks/useOAuthWindowListener.js +3 -3
- package/dist/hooks/useWallet.cjs +3 -3
- package/dist/hooks/useWallet.js +3 -3
- package/dist/index.cjs +9 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +8 -13
- package/dist/index.js.map +1 -1
- package/dist/providers/CrossmintAuthProvider.cjs +3 -3
- package/dist/providers/CrossmintAuthProvider.js +3 -3
- package/dist/providers/CrossmintWalletProvider.cjs +3 -3
- package/dist/providers/CrossmintWalletProvider.js +3 -3
- package/dist/providers/auth/AuthFormProvider.cjs +3 -3
- package/dist/providers/auth/AuthFormProvider.js +3 -3
- package/dist/providers/index.cjs +3 -3
- package/dist/providers/index.js +3 -3
- package/dist/utils/createCrossmintApiClient.cjs +3 -3
- package/dist/utils/createCrossmintApiClient.js +2 -2
- package/package.json +4 -6
- package/src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx +8 -2
- package/src/components/embed/v3/crypto/utils/handleEvmTransaction.ts +20 -7
- package/src/components/embed/v3/crypto/utils/handleSendTransaction.ts +12 -14
- package/src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts +7 -4
- package/dist/chunk-2QB7GW4K.cjs +0 -64
- package/dist/chunk-2QB7GW4K.cjs.map +0 -1
- package/dist/chunk-46UDUOKJ.cjs.map +0 -1
- package/dist/chunk-5JAEV6YP.js.map +0 -1
- package/dist/chunk-5VZNJ4VT.js +0 -36
- package/dist/chunk-5VZNJ4VT.js.map +0 -1
- package/dist/chunk-BYRVAFBZ.cjs +0 -52
- package/dist/chunk-BYRVAFBZ.cjs.map +0 -1
- package/dist/chunk-CIZ2K2TA.cjs.map +0 -1
- package/dist/chunk-FH7TEEZR.js +0 -52
- package/dist/chunk-FH7TEEZR.js.map +0 -1
- package/dist/chunk-LKO5WR7D.js +0 -64
- package/dist/chunk-LKO5WR7D.js.map +0 -1
- package/dist/chunk-REUYMHNW.cjs +0 -136
- package/dist/chunk-REUYMHNW.cjs.map +0 -1
- package/dist/chunk-UC3GWTEN.js +0 -136
- package/dist/chunk-UC3GWTEN.js.map +0 -1
- package/dist/chunk-UCQ5VAPT.cjs +0 -36
- package/dist/chunk-UCQ5VAPT.cjs.map +0 -1
- package/dist/chunk-YB66RCZP.js.map +0 -1
- /package/dist/{chunk-OPIHF55A.cjs.map → chunk-67AB7TWG.cjs.map} +0 -0
- /package/dist/{chunk-ODH26VGS.js.map → chunk-6TUZ5CU7.js.map} +0 -0
- /package/dist/{chunk-VWRC3IFZ.cjs.map → chunk-COLJFFZF.cjs.map} +0 -0
- /package/dist/{chunk-657ZCQSH.cjs.map → chunk-DVONA2BZ.cjs.map} +0 -0
- /package/dist/{chunk-BJIMCGIQ.js.map → chunk-GN7OANUR.js.map} +0 -0
- /package/dist/{chunk-RWS44QDX.js.map → chunk-HVI7FCLP.js.map} +0 -0
- /package/dist/{chunk-U2D3L4DZ.cjs.map → chunk-NX473NO2.cjs.map} +0 -0
- /package/dist/{chunk-CYUTXV7Z.js.map → chunk-QB4KFTCT.js.map} +0 -0
- /package/dist/{chunk-IVNGVLGR.cjs.map → chunk-SMCUFLHP.cjs.map} +0 -0
- /package/dist/{chunk-E3BR6DXY.js.map → chunk-Y4UEFDMP.js.map} +0 -0
- /package/dist/{chunk-GZRGZKN6.js.map → chunk-YO7ZZF32.js.map} +0 -0
- /package/dist/{chunk-2LTCJUPK.cjs.map → chunk-ZOHRCGGI.cjs.map} +0 -0
package/dist/providers/index.cjs
CHANGED
|
@@ -28,11 +28,11 @@ require('../chunk-URKPLEPV.cjs');
|
|
|
28
28
|
require('../chunk-HPOZ6I54.cjs');
|
|
29
29
|
require('../chunk-YE55IKBP.cjs');
|
|
30
30
|
require('../chunk-ENCR5SUW.cjs');
|
|
31
|
-
require('../chunk-
|
|
32
|
-
require('../chunk-
|
|
31
|
+
require('../chunk-67AB7TWG.cjs');
|
|
32
|
+
require('../chunk-COLJFFZF.cjs');
|
|
33
33
|
require('../chunk-KEKBOJCF.cjs');
|
|
34
34
|
require('../chunk-A2JCJ2OV.cjs');
|
|
35
|
-
require('../chunk-
|
|
35
|
+
require('../chunk-RTC2AZ6A.cjs');
|
|
36
36
|
require('../chunk-4DAZAO6Y.cjs');
|
|
37
37
|
|
|
38
38
|
|
package/dist/providers/index.js
CHANGED
|
@@ -28,11 +28,11 @@ import "../chunk-I63FQCIV.js";
|
|
|
28
28
|
import "../chunk-ZIHCLVCD.js";
|
|
29
29
|
import "../chunk-H4F7UVPT.js";
|
|
30
30
|
import "../chunk-YWVQCHQF.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-6TUZ5CU7.js";
|
|
32
|
+
import "../chunk-GN7OANUR.js";
|
|
33
33
|
import "../chunk-3J6CUUWT.js";
|
|
34
34
|
import "../chunk-AUEQQ4D3.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-MWRMO6JC.js";
|
|
36
36
|
import "../chunk-CRTRMMJ7.js";
|
|
37
37
|
export {
|
|
38
38
|
AuthContext,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var _chunkCOLJFFZFcjs = require('../chunk-COLJFFZF.cjs');
|
|
4
|
+
require('../chunk-RTC2AZ6A.cjs');
|
|
5
5
|
require('../chunk-4DAZAO6Y.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.createCrossmintApiClient =
|
|
8
|
+
exports.createCrossmintApiClient = _chunkCOLJFFZFcjs.createCrossmintApiClient;
|
|
9
9
|
//# sourceMappingURL=createCrossmintApiClient.cjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-ui",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.2",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -19,11 +19,9 @@
|
|
|
19
19
|
"LICENSE"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@dynamic-labs/ethereum": "
|
|
23
|
-
"@dynamic-labs/
|
|
24
|
-
"@dynamic-labs/
|
|
25
|
-
"@dynamic-labs/solana": "3.4.4",
|
|
26
|
-
"@dynamic-labs/solana-core": "3.4.4",
|
|
22
|
+
"@dynamic-labs/ethereum": "2.6.3",
|
|
23
|
+
"@dynamic-labs/sdk-react-core": "2.6.3",
|
|
24
|
+
"@dynamic-labs/solana": "2.6.3",
|
|
27
25
|
"@ethersproject/transactions": "5.7.0",
|
|
28
26
|
"@farcaster/auth-kit": "0.6.0",
|
|
29
27
|
"@headlessui/react": "2.1.5",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCrossmint } from "@/hooks";
|
|
2
|
-
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { lazy, useEffect, useRef, useState } from "react";
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
type CrossmintEmbeddedCheckoutV3Props,
|
|
@@ -7,9 +7,15 @@ import {
|
|
|
7
7
|
crossmintEmbeddedCheckoutV3Service,
|
|
8
8
|
} from "@crossmint/client-sdk-base";
|
|
9
9
|
|
|
10
|
-
import { CryptoWalletConnectionHandler } from "./crypto/CryptoWalletConnectionHandler";
|
|
11
10
|
import { createCrossmintApiClient } from "@/utils/createCrossmintApiClient";
|
|
12
11
|
|
|
12
|
+
const CryptoWalletConnectionHandler = lazy(() =>
|
|
13
|
+
// @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile
|
|
14
|
+
import("./crypto/CryptoWalletConnectionHandler").then((mod) => ({
|
|
15
|
+
default: mod.CryptoWalletConnectionHandler,
|
|
16
|
+
}))
|
|
17
|
+
);
|
|
18
|
+
|
|
13
19
|
export function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props) {
|
|
14
20
|
const [iframeClient, setIframeClient] = useState<EmbeddedCheckoutV3IFrameEmitter | null>(null);
|
|
15
21
|
const [height, setHeight] = useState(0);
|
|
@@ -4,8 +4,15 @@ import {
|
|
|
4
4
|
blockchainToChainId,
|
|
5
5
|
type EVMBlockchainIncludingTestnet,
|
|
6
6
|
} from "@crossmint/common-sdk-base";
|
|
7
|
-
import type {
|
|
8
|
-
import {
|
|
7
|
+
import type { Wallet } from "@dynamic-labs/sdk-react-core";
|
|
8
|
+
import {
|
|
9
|
+
type Chain,
|
|
10
|
+
type Account,
|
|
11
|
+
type WalletClient,
|
|
12
|
+
type TransactionSerializableEIP1559,
|
|
13
|
+
type Transport,
|
|
14
|
+
parseTransaction,
|
|
15
|
+
} from "viem";
|
|
9
16
|
|
|
10
17
|
export async function handleEvmTransaction({
|
|
11
18
|
primaryWallet,
|
|
@@ -13,24 +20,30 @@ export async function handleEvmTransaction({
|
|
|
13
20
|
serializedTransaction,
|
|
14
21
|
iframeClient,
|
|
15
22
|
}: {
|
|
16
|
-
primaryWallet:
|
|
23
|
+
primaryWallet: Wallet;
|
|
17
24
|
chain: BlockchainIncludingTestnet;
|
|
18
25
|
serializedTransaction: string;
|
|
19
26
|
iframeClient: EmbeddedCheckoutV3IFrameEmitter;
|
|
20
27
|
}) {
|
|
28
|
+
const { connector } = primaryWallet;
|
|
29
|
+
const chainId = blockchainToChainId(chain as EVMBlockchainIncludingTestnet);
|
|
30
|
+
|
|
21
31
|
try {
|
|
22
|
-
await
|
|
32
|
+
await connector.switchNetwork({ networkChainId: chainId });
|
|
23
33
|
} catch (error) {
|
|
24
|
-
console.error(
|
|
34
|
+
console.error(`[CryptoWalletConnectionHandler] failed to switch network to ${chainId}`, error);
|
|
25
35
|
iframeClient.send("crypto:send-transaction:failed", {
|
|
26
36
|
error: (error as Error).message,
|
|
27
37
|
});
|
|
28
38
|
return;
|
|
29
39
|
}
|
|
30
40
|
|
|
31
|
-
let walletClient:
|
|
41
|
+
let walletClient: WalletClient<Transport, Chain, Account> | undefined;
|
|
32
42
|
try {
|
|
33
|
-
walletClient =
|
|
43
|
+
walletClient = connector.getWalletClient<WalletClient<Transport, Chain, Account> | undefined>(String(chainId));
|
|
44
|
+
if (!walletClient) {
|
|
45
|
+
throw new Error(`connector.getWalletClient(${chainId}) returned undefined`);
|
|
46
|
+
}
|
|
34
47
|
} catch (error) {
|
|
35
48
|
console.error("[CryptoWalletConnectionHandler] failed to get wallet client", error);
|
|
36
49
|
iframeClient.send("crypto:send-transaction:failed", {
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import type { Wallet } from "@dynamic-labs/sdk-react-core";
|
|
2
|
-
|
|
3
2
|
import type { BlockchainIncludingTestnet } from "@crossmint/common-sdk-base";
|
|
4
|
-
|
|
5
|
-
import { handleEvmTransaction } from "./handleEvmTransaction";
|
|
6
|
-
|
|
7
|
-
import { isSolanaWallet } from "@dynamic-labs/solana";
|
|
8
|
-
import { handleSolanaTransaction } from "./handleSolanaTransaction";
|
|
9
|
-
import { isEthereumWallet } from "@dynamic-labs/ethereum";
|
|
10
3
|
import type { EmbeddedCheckoutV3IFrameEmitter } from "@crossmint/client-sdk-base";
|
|
11
4
|
|
|
12
5
|
export async function handleSendTransaction(
|
|
@@ -20,12 +13,17 @@ export async function handleSendTransaction(
|
|
|
20
13
|
serializedTransaction,
|
|
21
14
|
iframeClient,
|
|
22
15
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
|
|
17
|
+
switch (primaryWallet.chain) {
|
|
18
|
+
case "EVM":
|
|
19
|
+
// @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile
|
|
20
|
+
const { handleEvmTransaction } = await import("./handleEvmTransaction");
|
|
21
|
+
return await handleEvmTransaction({ ...commonParams, primaryWallet });
|
|
22
|
+
case "SOL":
|
|
23
|
+
// @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile
|
|
24
|
+
const { handleSolanaTransaction } = await import("./handleSolanaTransaction");
|
|
25
|
+
return await handleSolanaTransaction({ ...commonParams, primaryWallet });
|
|
26
|
+
default:
|
|
27
|
+
throw new Error(`Connected wallet is on an unsupported chain: ${primaryWallet.chain}`);
|
|
30
28
|
}
|
|
31
29
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { EmbeddedCheckoutV3IFrameEmitter } from "@crossmint/client-sdk-base";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Wallet } from "@dynamic-labs/sdk-react-core";
|
|
3
|
+
import type { ISolana } from "@dynamic-labs/solana";
|
|
3
4
|
import { Transaction } from "@solana/web3.js";
|
|
4
5
|
import base58 from "bs58";
|
|
5
6
|
|
|
@@ -8,15 +9,17 @@ export async function handleSolanaTransaction({
|
|
|
8
9
|
serializedTransaction,
|
|
9
10
|
iframeClient,
|
|
10
11
|
}: {
|
|
11
|
-
primaryWallet:
|
|
12
|
+
primaryWallet: Wallet;
|
|
12
13
|
serializedTransaction: string;
|
|
13
14
|
iframeClient: EmbeddedCheckoutV3IFrameEmitter;
|
|
14
15
|
}) {
|
|
15
16
|
// TODO: Handle switch network
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
const { connector } = primaryWallet;
|
|
19
|
+
|
|
20
|
+
let signer: ISolana;
|
|
18
21
|
try {
|
|
19
|
-
signer = await
|
|
22
|
+
signer = await connector.getSigner<ISolana>();
|
|
20
23
|
} catch (error) {
|
|
21
24
|
console.error("[CryptoWalletConnectionHandler] failed to get signer", error);
|
|
22
25
|
iframeClient.send("crypto:send-transaction:failed", {
|
package/dist/chunk-2QB7GW4K.cjs
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
|
|
4
|
-
|
|
5
|
-
// src/components/embed/v3/crypto/utils/handleEvmTransaction.ts
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
9
|
-
var _viem = require('viem');
|
|
10
|
-
function handleEvmTransaction(_0) {
|
|
11
|
-
return _chunk4DAZAO6Ycjs.__async.call(void 0, this, arguments, function* ({
|
|
12
|
-
primaryWallet,
|
|
13
|
-
chain,
|
|
14
|
-
serializedTransaction,
|
|
15
|
-
iframeClient
|
|
16
|
-
}) {
|
|
17
|
-
try {
|
|
18
|
-
yield primaryWallet.switchNetwork(_commonsdkbase.blockchainToChainId.call(void 0, chain));
|
|
19
|
-
} catch (error) {
|
|
20
|
-
console.error("[CryptoWalletConnectionHandler] failed to switch network", error);
|
|
21
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
22
|
-
error: error.message
|
|
23
|
-
});
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
let walletClient;
|
|
27
|
-
try {
|
|
28
|
-
walletClient = yield primaryWallet.getWalletClient();
|
|
29
|
-
} catch (error) {
|
|
30
|
-
console.error("[CryptoWalletConnectionHandler] failed to get wallet client", error);
|
|
31
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
32
|
-
error: error.message
|
|
33
|
-
});
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
let parsedTransaction;
|
|
37
|
-
try {
|
|
38
|
-
parsedTransaction = _viem.parseTransaction.call(void 0, serializedTransaction);
|
|
39
|
-
} catch (error) {
|
|
40
|
-
console.error("[CryptoWalletConnectionHandler] failed to parse transaction", error);
|
|
41
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
42
|
-
error: error.message
|
|
43
|
-
});
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
const txId = yield walletClient.sendTransaction(parsedTransaction);
|
|
48
|
-
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
49
|
-
iframeClient.send("crypto:send-transaction:success", {
|
|
50
|
-
txId
|
|
51
|
-
});
|
|
52
|
-
} catch (error) {
|
|
53
|
-
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
54
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
55
|
-
error: error.message
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
exports.handleEvmTransaction = handleEvmTransaction;
|
|
64
|
-
//# sourceMappingURL=chunk-2QB7GW4K.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleEvmTransaction.ts"],"names":[],"mappings":";;;;;AACA;AAAA,EAEI;AAAA,OAEG;AAEP,SAAS,wBAA6D;AAEtE,SAAsB,qBAAqB,IAUxC;AAAA,6CAVwC;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAKG;AACC,QAAI;AACA,YAAM,cAAc,cAAc,oBAAoB,KAAsC,CAAC;AAAA,IACjG,SAAS,OAAO;AACZ,cAAQ,MAAM,4DAA4D,KAAK;AAC/E,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,qBAAe,MAAM,cAAc,gBAAgB;AAAA,IACvD,SAAS,OAAO;AACZ,cAAQ,MAAM,+DAA+D,KAAK;AAClF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,0BAAoB,iBAAiB,qBAAsC;AAAA,IAC/E,SAAS,OAAO;AACZ,cAAQ,MAAM,+DAA+D,KAAK;AAClF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACA,YAAM,OAAO,MAAM,aAAa,gBAAgB,iBAAiB;AACjE,cAAQ,IAAI,wCAAwC,IAAI;AACxD,mBAAa,KAAK,mCAAmC;AAAA,QACjD;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAO;AACZ,cAAQ,MAAM,8DAA8D,KAAK;AACjF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AAAA,IACL;AAAA,EACJ;AAAA","sourcesContent":["import type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\nimport {\n type BlockchainIncludingTestnet,\n blockchainToChainId,\n type EVMBlockchainIncludingTestnet,\n} from \"@crossmint/common-sdk-base\";\nimport type { EthereumWallet } from \"@dynamic-labs/ethereum-core\";\nimport { parseTransaction, type TransactionSerializableEIP1559 } from \"viem\";\n\nexport async function handleEvmTransaction({\n primaryWallet,\n chain,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: EthereumWallet;\n chain: BlockchainIncludingTestnet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n try {\n await primaryWallet.switchNetwork(blockchainToChainId(chain as EVMBlockchainIncludingTestnet));\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to switch network\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n let walletClient: Awaited<ReturnType<typeof primaryWallet.getWalletClient>>;\n try {\n walletClient = await primaryWallet.getWalletClient();\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to get wallet client\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n let parsedTransaction: TransactionSerializableEIP1559;\n try {\n parsedTransaction = parseTransaction(serializedTransaction as `0x${string}`) as TransactionSerializableEIP1559;\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to parse transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n try {\n const txId = await walletClient.sendTransaction(parsedTransaction);\n console.log(\"[CryptoWalletConnectionHandler] txId\", txId);\n iframeClient.send(\"crypto:send-transaction:success\", {\n txId,\n });\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to send transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/consts/version.ts"],"names":[],"mappings":";AAEI,cAAW;;;ACAR,IAAM,cAAc","sourcesContent":["{\n \"name\": \"@crossmint/client-sdk-react-ui\",\n \"version\": \"1.10.0\",\n \"repository\": \"https://github.com/Crossmint/crossmint-sdk\",\n \"license\": \"Apache-2.0\",\n \"author\": \"Paella Labs Inc\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\"dist\", \"src\", \"LICENSE\"],\n \"scripts\": {\n \"build\": \"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup\",\n \"dev\": \"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch\",\n \"test:vitest\": \"vitest run\"\n },\n \"dependencies\": {\n \"@crossmint/client-sdk-auth\": \"workspace:*\",\n \"@crossmint/client-sdk-base\": \"workspace:*\",\n \"@crossmint/client-sdk-smart-wallet\": \"workspace:*\",\n \"@crossmint/client-sdk-window\": \"workspace:*\",\n \"@crossmint/common-sdk-auth\": \"workspace:*\",\n \"@crossmint/common-sdk-base\": \"workspace:*\",\n \"@dynamic-labs/ethereum\": \"3.4.4\",\n \"@dynamic-labs/ethereum-core\": \"3.4.4\",\n \"@dynamic-labs/sdk-react-core\": \"3.4.4\",\n \"@dynamic-labs/solana\": \"3.4.4\",\n \"@dynamic-labs/solana-core\": \"3.4.4\",\n \"@ethersproject/transactions\": \"5.7.0\",\n \"@farcaster/auth-kit\": \"0.6.0\",\n \"@headlessui/react\": \"2.1.5\",\n \"@radix-ui/react-dialog\": \"1.1.2\",\n \"@radix-ui/react-visually-hidden\": \"1.1.0\",\n \"@solana/web3.js\": \"1.95.1\",\n \"@tanstack/react-query\": \"5.51.18\",\n \"@twind/core\": \"1.1.3\",\n \"@twind/preset-tailwind\": \"1.1.4\",\n \"@wagmi/connectors\": \"5.3.3\",\n \"bs58\": \"5.0.0\",\n \"clsx\": \"2.1.1\",\n \"color\": \"4.2.3\",\n \"input-otp\": \"1.2.4\",\n \"lodash.isequal\": \"4.5.0\",\n \"react-jss\": \"10.10.0\",\n \"tailwind-merge\": \"2.4.0\",\n \"tailwindcss\": \"3.4.10\",\n \"viem\": \"2.17.5\",\n \"wagmi\": \"2.12.25\",\n \"zod\": \"3.22.4\"\n },\n \"devDependencies\": {\n \"@testing-library/react\": \"^16.0.1\",\n \"@types/color\": \"4.2.0\",\n \"@types/lodash.isequal\": \"4.5.6\",\n \"@types/react\": \"^18.3.0\",\n \"@types/react-dom\": \"^18.3.0\",\n \"react\": \"^18.3.0\",\n \"react-dom\": \"^18.3.0\"\n },\n \"peerDependencies\": {\n \"react\": \">=17.0.2\",\n \"react-dom\": \">=17.0.2\"\n }\n}\n","import { version } from \"../../package.json\";\n\nexport const LIB_VERSION = version;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx"],"sourcesContent":["import { useCrossmint } from \"@/hooks\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n type CrossmintEmbeddedCheckoutV3Props,\n type EmbeddedCheckoutV3IFrameEmitter,\n crossmintEmbeddedCheckoutV3Service,\n} from \"@crossmint/client-sdk-base\";\n\nimport { CryptoWalletConnectionHandler } from \"./crypto/CryptoWalletConnectionHandler\";\nimport { createCrossmintApiClient } from \"@/utils/createCrossmintApiClient\";\n\nexport function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props) {\n const [iframeClient, setIframeClient] = useState<EmbeddedCheckoutV3IFrameEmitter | null>(null);\n const [height, setHeight] = useState(0);\n\n const { crossmint } = useCrossmint();\n const apiClient = createCrossmintApiClient(crossmint, {\n usageOrigin: \"client\",\n });\n const embedV3Service = crossmintEmbeddedCheckoutV3Service({ apiClient });\n\n const ref = useRef<HTMLIFrameElement>(null);\n\n useEffect(() => {\n const iframe = ref.current;\n if (!iframe || iframeClient) {\n return;\n }\n setIframeClient(embedV3Service.iframe.createClient(iframe));\n }, [ref.current, iframeClient]);\n\n useEffect(() => {\n if (iframeClient == null) {\n return;\n }\n iframeClient.on(\"ui:height.changed\", (data) => setHeight(data.height));\n\n return () => {\n iframeClient.off(\"ui:height.changed\");\n };\n }, [iframeClient]);\n\n return (\n <>\n <iframe\n ref={ref}\n src={embedV3Service.iframe.getUrl(props)}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n backgroundColor: \"transparent\",\n }}\n />\n {props.payment.crypto.enabled ? (\n <CryptoWalletConnectionHandler\n iframeClient={iframeClient}\n apiKeyEnvironment={apiClient[\"parsedAPIKey\"].environment}\n />\n ) : null}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;AACA,SAAS,WAAW,QAAQ,gBAAgB;AAE5C;AAAA,EAGI;AAAA,OACG;AAqCC,mBACI,KADJ;AAhCD,SAAS,yBAAyB,OAAyC;AAC9E,QAAM,CAAC,cAAc,eAAe,IAAI,SAAiD,IAAI;AAC7F,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,CAAC;AAEtC,QAAM,EAAE,UAAU,IAAI,aAAa;AACnC,QAAM,YAAY,yBAAyB,WAAW;AAAA,IAClD,aAAa;AAAA,EACjB,CAAC;AACD,QAAM,iBAAiB,mCAAmC,EAAE,UAAU,CAAC;AAEvE,QAAM,MAAM,OAA0B,IAAI;AAE1C,YAAU,MAAM;AACZ,UAAM,SAAS,IAAI;AACnB,QAAI,CAAC,UAAU,cAAc;AACzB;AAAA,IACJ;AACA,oBAAgB,eAAe,OAAO,aAAa,MAAM,CAAC;AAAA,EAC9D,GAAG,CAAC,IAAI,SAAS,YAAY,CAAC;AAE9B,YAAU,MAAM;AACZ,QAAI,gBAAgB,MAAM;AACtB;AAAA,IACJ;AACA,iBAAa,GAAG,qBAAqB,CAAC,SAAS,UAAU,KAAK,MAAM,CAAC;AAErE,WAAO,MAAM;AACT,mBAAa,IAAI,mBAAmB;AAAA,IACxC;AAAA,EACJ,GAAG,CAAC,YAAY,CAAC;AAEjB,SACI,iCACI;AAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,KAAK,eAAe,OAAO,OAAO,KAAK;AAAA,QACvC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAO;AAAA,UACH,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,GAAG,MAAM;AAAA,UACjB,iBAAiB;AAAA,QACrB;AAAA;AAAA,IACJ;AAAA,IACC,MAAM,QAAQ,OAAO,UAClB;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,mBAAmB,UAAU,cAAc,EAAE;AAAA;AAAA,IACjD,IACA;AAAA,KACR;AAER;","names":[]}
|
package/dist/chunk-5VZNJ4VT.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
handleEvmTransaction
|
|
3
|
-
} from "./chunk-LKO5WR7D.js";
|
|
4
|
-
import {
|
|
5
|
-
handleSolanaTransaction
|
|
6
|
-
} from "./chunk-FH7TEEZR.js";
|
|
7
|
-
import {
|
|
8
|
-
__async,
|
|
9
|
-
__spreadProps,
|
|
10
|
-
__spreadValues
|
|
11
|
-
} from "./chunk-CRTRMMJ7.js";
|
|
12
|
-
|
|
13
|
-
// src/components/embed/v3/crypto/utils/handleSendTransaction.ts
|
|
14
|
-
import { isSolanaWallet } from "@dynamic-labs/solana";
|
|
15
|
-
import { isEthereumWallet } from "@dynamic-labs/ethereum";
|
|
16
|
-
function handleSendTransaction(primaryWallet, chain, serializedTransaction, iframeClient) {
|
|
17
|
-
return __async(this, null, function* () {
|
|
18
|
-
const commonParams = {
|
|
19
|
-
chain,
|
|
20
|
-
serializedTransaction,
|
|
21
|
-
iframeClient
|
|
22
|
-
};
|
|
23
|
-
if (isSolanaWallet(primaryWallet)) {
|
|
24
|
-
return yield handleSolanaTransaction(__spreadProps(__spreadValues({}, commonParams), {
|
|
25
|
-
primaryWallet
|
|
26
|
-
}));
|
|
27
|
-
} else if (isEthereumWallet(primaryWallet)) {
|
|
28
|
-
return yield handleEvmTransaction(__spreadProps(__spreadValues({}, commonParams), { primaryWallet }));
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export {
|
|
34
|
-
handleSendTransaction
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=chunk-5VZNJ4VT.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleSendTransaction.ts"],"sourcesContent":["import type { Wallet } from \"@dynamic-labs/sdk-react-core\";\n\nimport type { BlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport { handleEvmTransaction } from \"./handleEvmTransaction\";\n\nimport { isSolanaWallet } from \"@dynamic-labs/solana\";\nimport { handleSolanaTransaction } from \"./handleSolanaTransaction\";\nimport { isEthereumWallet } from \"@dynamic-labs/ethereum\";\nimport type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\n\nexport async function handleSendTransaction(\n primaryWallet: Wallet,\n chain: BlockchainIncludingTestnet,\n serializedTransaction: string,\n iframeClient: EmbeddedCheckoutV3IFrameEmitter\n) {\n const commonParams = {\n chain,\n serializedTransaction,\n iframeClient,\n };\n if (isSolanaWallet(primaryWallet)) {\n return await handleSolanaTransaction({\n ...commonParams,\n primaryWallet,\n });\n } else if (isEthereumWallet(primaryWallet)) {\n return await handleEvmTransaction({ ...commonParams, primaryWallet });\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAMA,SAAS,sBAAsB;AAE/B,SAAS,wBAAwB;AAGjC,SAAsB,sBAClB,eACA,OACA,uBACA,cACF;AAAA;AACE,UAAM,eAAe;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,QAAI,eAAe,aAAa,GAAG;AAC/B,aAAO,MAAM,wBAAwB,iCAC9B,eAD8B;AAAA,QAEjC;AAAA,MACJ,EAAC;AAAA,IACL,WAAW,iBAAiB,aAAa,GAAG;AACxC,aAAO,MAAM,qBAAqB,iCAAK,eAAL,EAAmB,cAAc,EAAC;AAAA,IACxE;AAAA,EACJ;AAAA;","names":[]}
|
package/dist/chunk-BYRVAFBZ.cjs
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
-
|
|
3
|
-
var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
|
|
4
|
-
|
|
5
|
-
// src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts
|
|
6
|
-
var _web3js = require('@solana/web3.js');
|
|
7
|
-
var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);
|
|
8
|
-
function handleSolanaTransaction(_0) {
|
|
9
|
-
return _chunk4DAZAO6Ycjs.__async.call(void 0, this, arguments, function* ({
|
|
10
|
-
primaryWallet,
|
|
11
|
-
serializedTransaction,
|
|
12
|
-
iframeClient
|
|
13
|
-
}) {
|
|
14
|
-
let signer;
|
|
15
|
-
try {
|
|
16
|
-
signer = yield primaryWallet.getSigner();
|
|
17
|
-
} catch (error) {
|
|
18
|
-
console.error("[CryptoWalletConnectionHandler] failed to get signer", error);
|
|
19
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
20
|
-
error: "Failed to get signer"
|
|
21
|
-
});
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
let deserializedTransaction;
|
|
25
|
-
try {
|
|
26
|
-
deserializedTransaction = _web3js.Transaction.from(_bs582.default.decode(serializedTransaction));
|
|
27
|
-
} catch (error) {
|
|
28
|
-
console.error("[CryptoWalletConnectionHandler] failed to deserialize transaction", error);
|
|
29
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
30
|
-
error: "Failed to deserialize transaction"
|
|
31
|
-
});
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
const { signature: txId } = yield signer.signAndSendTransaction(deserializedTransaction);
|
|
36
|
-
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
37
|
-
iframeClient.send("crypto:send-transaction:success", {
|
|
38
|
-
txId
|
|
39
|
-
});
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
42
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
43
|
-
error: error.message
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
exports.handleSolanaTransaction = handleSolanaTransaction;
|
|
52
|
-
//# sourceMappingURL=chunk-BYRVAFBZ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts"],"names":[],"mappings":";;;;;AAEA,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AAEnB,SAAsB,wBAAwB,IAQ3C;AAAA,6CAR2C;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAIG;AAGC,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,cAAc,UAAU;AAAA,IAC3C,SAAS,OAAO;AACZ,cAAQ,MAAM,wDAAwD,KAAK;AAC3E,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAO;AAAA,MACX,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,gCAA0B,YAAY,KAAK,OAAO,OAAO,qBAAqB,CAAC;AAAA,IACnF,SAAS,OAAO;AACZ,cAAQ,MAAM,qEAAqE,KAAK;AACxF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAO;AAAA,MACX,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACA,YAAM,EAAE,WAAW,KAAK,IAAI,MAAM,OAAO,uBAAuB,uBAAuB;AACvF,cAAQ,IAAI,wCAAwC,IAAI;AACxD,mBAAa,KAAK,mCAAmC;AAAA,QACjD;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAO;AACZ,cAAQ,MAAM,8DAA8D,KAAK;AACjF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AAAA,IACL;AAAA,EACJ;AAAA","sourcesContent":["import type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\nimport type { SolanaWallet } from \"@dynamic-labs/solana-core\";\nimport { Transaction } from \"@solana/web3.js\";\nimport base58 from \"bs58\";\n\nexport async function handleSolanaTransaction({\n primaryWallet,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: SolanaWallet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n // TODO: Handle switch network\n\n let signer: Awaited<ReturnType<typeof primaryWallet.getSigner>>;\n try {\n signer = await primaryWallet.getSigner();\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to get signer\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: \"Failed to get signer\",\n });\n return;\n }\n\n let deserializedTransaction: Transaction;\n try {\n deserializedTransaction = Transaction.from(base58.decode(serializedTransaction));\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to deserialize transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: \"Failed to deserialize transaction\",\n });\n return;\n }\n\n try {\n const { signature: txId } = await signer.signAndSendTransaction(deserializedTransaction);\n console.log(\"[CryptoWalletConnectionHandler] txId\", txId);\n iframeClient.send(\"crypto:send-transaction:success\", {\n txId,\n });\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to send transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,SAAS,WAAW,QAAQ,gBAAgB;AAE5C;AAAA,EAGI;AAAA,OACG;AAqCC,mBACI,KADJ;AAhCD,SAAS,yBAAyB,OAAyC;AAC9E,QAAM,CAAC,cAAc,eAAe,IAAI,SAAiD,IAAI;AAC7F,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,CAAC;AAEtC,QAAM,EAAE,UAAU,IAAI,aAAa;AACnC,QAAM,YAAY,yBAAyB,WAAW;AAAA,IAClD,aAAa;AAAA,EACjB,CAAC;AACD,QAAM,iBAAiB,mCAAmC,EAAE,UAAU,CAAC;AAEvE,QAAM,MAAM,OAA0B,IAAI;AAE1C,YAAU,MAAM;AACZ,UAAM,SAAS,IAAI;AACnB,QAAI,CAAC,UAAU,cAAc;AACzB;AAAA,IACJ;AACA,oBAAgB,eAAe,OAAO,aAAa,MAAM,CAAC;AAAA,EAC9D,GAAG,CAAC,IAAI,SAAS,YAAY,CAAC;AAE9B,YAAU,MAAM;AACZ,QAAI,gBAAgB,MAAM;AACtB;AAAA,IACJ;AACA,iBAAa,GAAG,qBAAqB,CAAC,SAAS,UAAU,KAAK,MAAM,CAAC;AAErE,WAAO,MAAM;AACT,mBAAa,IAAI,mBAAmB;AAAA,IACxC;AAAA,EACJ,GAAG,CAAC,YAAY,CAAC;AAEjB,SACI,iCACI;AAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,KAAK,eAAe,OAAO,OAAO,KAAK;AAAA,QACvC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAO;AAAA,UACH,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,GAAG,MAAM;AAAA,UACjB,iBAAiB;AAAA,QACrB;AAAA;AAAA,IACJ;AAAA,IACC,MAAM,QAAQ,OAAO,UAClB;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,mBAAmB,UAAU,cAAc,EAAE;AAAA;AAAA,IACjD,IACA;AAAA,KACR;AAER","sourcesContent":["import { useCrossmint } from \"@/hooks\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n type CrossmintEmbeddedCheckoutV3Props,\n type EmbeddedCheckoutV3IFrameEmitter,\n crossmintEmbeddedCheckoutV3Service,\n} from \"@crossmint/client-sdk-base\";\n\nimport { CryptoWalletConnectionHandler } from \"./crypto/CryptoWalletConnectionHandler\";\nimport { createCrossmintApiClient } from \"@/utils/createCrossmintApiClient\";\n\nexport function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props) {\n const [iframeClient, setIframeClient] = useState<EmbeddedCheckoutV3IFrameEmitter | null>(null);\n const [height, setHeight] = useState(0);\n\n const { crossmint } = useCrossmint();\n const apiClient = createCrossmintApiClient(crossmint, {\n usageOrigin: \"client\",\n });\n const embedV3Service = crossmintEmbeddedCheckoutV3Service({ apiClient });\n\n const ref = useRef<HTMLIFrameElement>(null);\n\n useEffect(() => {\n const iframe = ref.current;\n if (!iframe || iframeClient) {\n return;\n }\n setIframeClient(embedV3Service.iframe.createClient(iframe));\n }, [ref.current, iframeClient]);\n\n useEffect(() => {\n if (iframeClient == null) {\n return;\n }\n iframeClient.on(\"ui:height.changed\", (data) => setHeight(data.height));\n\n return () => {\n iframeClient.off(\"ui:height.changed\");\n };\n }, [iframeClient]);\n\n return (\n <>\n <iframe\n ref={ref}\n src={embedV3Service.iframe.getUrl(props)}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n backgroundColor: \"transparent\",\n }}\n />\n {props.payment.crypto.enabled ? (\n <CryptoWalletConnectionHandler\n iframeClient={iframeClient}\n apiKeyEnvironment={apiClient[\"parsedAPIKey\"].environment}\n />\n ) : null}\n </>\n );\n}\n"]}
|
package/dist/chunk-FH7TEEZR.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__async
|
|
3
|
-
} from "./chunk-CRTRMMJ7.js";
|
|
4
|
-
|
|
5
|
-
// src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts
|
|
6
|
-
import { Transaction } from "@solana/web3.js";
|
|
7
|
-
import base58 from "bs58";
|
|
8
|
-
function handleSolanaTransaction(_0) {
|
|
9
|
-
return __async(this, arguments, function* ({
|
|
10
|
-
primaryWallet,
|
|
11
|
-
serializedTransaction,
|
|
12
|
-
iframeClient
|
|
13
|
-
}) {
|
|
14
|
-
let signer;
|
|
15
|
-
try {
|
|
16
|
-
signer = yield primaryWallet.getSigner();
|
|
17
|
-
} catch (error) {
|
|
18
|
-
console.error("[CryptoWalletConnectionHandler] failed to get signer", error);
|
|
19
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
20
|
-
error: "Failed to get signer"
|
|
21
|
-
});
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
let deserializedTransaction;
|
|
25
|
-
try {
|
|
26
|
-
deserializedTransaction = Transaction.from(base58.decode(serializedTransaction));
|
|
27
|
-
} catch (error) {
|
|
28
|
-
console.error("[CryptoWalletConnectionHandler] failed to deserialize transaction", error);
|
|
29
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
30
|
-
error: "Failed to deserialize transaction"
|
|
31
|
-
});
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
const { signature: txId } = yield signer.signAndSendTransaction(deserializedTransaction);
|
|
36
|
-
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
37
|
-
iframeClient.send("crypto:send-transaction:success", {
|
|
38
|
-
txId
|
|
39
|
-
});
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
42
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
43
|
-
error: error.message
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export {
|
|
50
|
-
handleSolanaTransaction
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=chunk-FH7TEEZR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts"],"sourcesContent":["import type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\nimport type { SolanaWallet } from \"@dynamic-labs/solana-core\";\nimport { Transaction } from \"@solana/web3.js\";\nimport base58 from \"bs58\";\n\nexport async function handleSolanaTransaction({\n primaryWallet,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: SolanaWallet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n // TODO: Handle switch network\n\n let signer: Awaited<ReturnType<typeof primaryWallet.getSigner>>;\n try {\n signer = await primaryWallet.getSigner();\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to get signer\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: \"Failed to get signer\",\n });\n return;\n }\n\n let deserializedTransaction: Transaction;\n try {\n deserializedTransaction = Transaction.from(base58.decode(serializedTransaction));\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to deserialize transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: \"Failed to deserialize transaction\",\n });\n return;\n }\n\n try {\n const { signature: txId } = await signer.signAndSendTransaction(deserializedTransaction);\n console.log(\"[CryptoWalletConnectionHandler] txId\", txId);\n iframeClient.send(\"crypto:send-transaction:success\", {\n txId,\n });\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to send transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n }\n}\n"],"mappings":";;;;;AAEA,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AAEnB,SAAsB,wBAAwB,IAQ3C;AAAA,6CAR2C;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAIG;AAGC,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,cAAc,UAAU;AAAA,IAC3C,SAAS,OAAO;AACZ,cAAQ,MAAM,wDAAwD,KAAK;AAC3E,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAO;AAAA,MACX,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,gCAA0B,YAAY,KAAK,OAAO,OAAO,qBAAqB,CAAC;AAAA,IACnF,SAAS,OAAO;AACZ,cAAQ,MAAM,qEAAqE,KAAK;AACxF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAO;AAAA,MACX,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACA,YAAM,EAAE,WAAW,KAAK,IAAI,MAAM,OAAO,uBAAuB,uBAAuB;AACvF,cAAQ,IAAI,wCAAwC,IAAI;AACxD,mBAAa,KAAK,mCAAmC;AAAA,QACjD;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAO;AACZ,cAAQ,MAAM,8DAA8D,KAAK;AACjF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AAAA,IACL;AAAA,EACJ;AAAA;","names":[]}
|
package/dist/chunk-LKO5WR7D.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__async
|
|
3
|
-
} from "./chunk-CRTRMMJ7.js";
|
|
4
|
-
|
|
5
|
-
// src/components/embed/v3/crypto/utils/handleEvmTransaction.ts
|
|
6
|
-
import {
|
|
7
|
-
blockchainToChainId
|
|
8
|
-
} from "@crossmint/common-sdk-base";
|
|
9
|
-
import { parseTransaction } from "viem";
|
|
10
|
-
function handleEvmTransaction(_0) {
|
|
11
|
-
return __async(this, arguments, function* ({
|
|
12
|
-
primaryWallet,
|
|
13
|
-
chain,
|
|
14
|
-
serializedTransaction,
|
|
15
|
-
iframeClient
|
|
16
|
-
}) {
|
|
17
|
-
try {
|
|
18
|
-
yield primaryWallet.switchNetwork(blockchainToChainId(chain));
|
|
19
|
-
} catch (error) {
|
|
20
|
-
console.error("[CryptoWalletConnectionHandler] failed to switch network", error);
|
|
21
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
22
|
-
error: error.message
|
|
23
|
-
});
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
let walletClient;
|
|
27
|
-
try {
|
|
28
|
-
walletClient = yield primaryWallet.getWalletClient();
|
|
29
|
-
} catch (error) {
|
|
30
|
-
console.error("[CryptoWalletConnectionHandler] failed to get wallet client", error);
|
|
31
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
32
|
-
error: error.message
|
|
33
|
-
});
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
let parsedTransaction;
|
|
37
|
-
try {
|
|
38
|
-
parsedTransaction = parseTransaction(serializedTransaction);
|
|
39
|
-
} catch (error) {
|
|
40
|
-
console.error("[CryptoWalletConnectionHandler] failed to parse transaction", error);
|
|
41
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
42
|
-
error: error.message
|
|
43
|
-
});
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
const txId = yield walletClient.sendTransaction(parsedTransaction);
|
|
48
|
-
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
49
|
-
iframeClient.send("crypto:send-transaction:success", {
|
|
50
|
-
txId
|
|
51
|
-
});
|
|
52
|
-
} catch (error) {
|
|
53
|
-
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
54
|
-
iframeClient.send("crypto:send-transaction:failed", {
|
|
55
|
-
error: error.message
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export {
|
|
62
|
-
handleEvmTransaction
|
|
63
|
-
};
|
|
64
|
-
//# sourceMappingURL=chunk-LKO5WR7D.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleEvmTransaction.ts"],"sourcesContent":["import type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\nimport {\n type BlockchainIncludingTestnet,\n blockchainToChainId,\n type EVMBlockchainIncludingTestnet,\n} from \"@crossmint/common-sdk-base\";\nimport type { EthereumWallet } from \"@dynamic-labs/ethereum-core\";\nimport { parseTransaction, type TransactionSerializableEIP1559 } from \"viem\";\n\nexport async function handleEvmTransaction({\n primaryWallet,\n chain,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: EthereumWallet;\n chain: BlockchainIncludingTestnet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n try {\n await primaryWallet.switchNetwork(blockchainToChainId(chain as EVMBlockchainIncludingTestnet));\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to switch network\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n let walletClient: Awaited<ReturnType<typeof primaryWallet.getWalletClient>>;\n try {\n walletClient = await primaryWallet.getWalletClient();\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to get wallet client\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n let parsedTransaction: TransactionSerializableEIP1559;\n try {\n parsedTransaction = parseTransaction(serializedTransaction as `0x${string}`) as TransactionSerializableEIP1559;\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to parse transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n try {\n const txId = await walletClient.sendTransaction(parsedTransaction);\n console.log(\"[CryptoWalletConnectionHandler] txId\", txId);\n iframeClient.send(\"crypto:send-transaction:success\", {\n txId,\n });\n } catch (error) {\n console.error(\"[CryptoWalletConnectionHandler] failed to send transaction\", error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n }\n}\n"],"mappings":";;;;;AACA;AAAA,EAEI;AAAA,OAEG;AAEP,SAAS,wBAA6D;AAEtE,SAAsB,qBAAqB,IAUxC;AAAA,6CAVwC;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAKG;AACC,QAAI;AACA,YAAM,cAAc,cAAc,oBAAoB,KAAsC,CAAC;AAAA,IACjG,SAAS,OAAO;AACZ,cAAQ,MAAM,4DAA4D,KAAK;AAC/E,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,qBAAe,MAAM,cAAc,gBAAgB;AAAA,IACvD,SAAS,OAAO;AACZ,cAAQ,MAAM,+DAA+D,KAAK;AAClF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,0BAAoB,iBAAiB,qBAAsC;AAAA,IAC/E,SAAS,OAAO;AACZ,cAAQ,MAAM,+DAA+D,KAAK;AAClF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACA,YAAM,OAAO,MAAM,aAAa,gBAAgB,iBAAiB;AACjE,cAAQ,IAAI,wCAAwC,IAAI;AACxD,mBAAa,KAAK,mCAAmC;AAAA,QACjD;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAO;AACZ,cAAQ,MAAM,8DAA8D,KAAK;AACjF,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AAAA,IACL;AAAA,EACJ;AAAA;","names":[]}
|