@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
|
@@ -1,11 +1,134 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../../../../chunk-
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
|
|
2
|
+
handleSendTransaction
|
|
3
|
+
} from "../../../../chunk-A6Q4Z5TO.js";
|
|
4
|
+
import {
|
|
5
|
+
DynamicContextProviderWrapper
|
|
6
|
+
} from "../../../../chunk-RZT2J42J.js";
|
|
7
|
+
import {
|
|
8
|
+
__async,
|
|
9
|
+
__spreadValues
|
|
10
|
+
} from "../../../../chunk-CRTRMMJ7.js";
|
|
11
|
+
|
|
12
|
+
// src/components/embed/v3/crypto/CryptoWalletConnectionHandler.tsx
|
|
13
|
+
import {
|
|
14
|
+
chainIdToBlockchain
|
|
15
|
+
} from "@crossmint/common-sdk-base";
|
|
16
|
+
import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";
|
|
17
|
+
import { useDynamicContext } from "@dynamic-labs/sdk-react-core";
|
|
18
|
+
import { SolanaWalletConnectors } from "@dynamic-labs/solana";
|
|
19
|
+
import { useEffect } from "react";
|
|
20
|
+
import { jsx } from "react/jsx-runtime";
|
|
21
|
+
function CryptoWalletConnectionHandler(props) {
|
|
22
|
+
const { iframeClient, apiKeyEnvironment } = props;
|
|
23
|
+
return /* @__PURE__ */ jsx(
|
|
24
|
+
DynamicContextProviderWrapper,
|
|
25
|
+
{
|
|
26
|
+
apiKeyEnvironment,
|
|
27
|
+
settings: {
|
|
28
|
+
walletConnectors: [EthereumWalletConnectors, SolanaWalletConnectors],
|
|
29
|
+
events: {
|
|
30
|
+
onAuthFlowCancel() {
|
|
31
|
+
console.log("[CryptoWalletConnectionHandler] onAuthFlowCancel");
|
|
32
|
+
iframeClient == null ? void 0 : iframeClient.send("crypto:connect-wallet.failed", {
|
|
33
|
+
error: "cancelled"
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
onAuthFlowClose() {
|
|
37
|
+
console.log("[CryptoWalletConnectionHandler] onAuthFlowClose");
|
|
38
|
+
},
|
|
39
|
+
onAuthFailure(data, reason) {
|
|
40
|
+
console.error("[CryptoWalletConnectionHandler] onAuthFailure", data, reason);
|
|
41
|
+
},
|
|
42
|
+
onAuthSuccess(data) {
|
|
43
|
+
console.log("[CryptoWalletConnectionHandler] onAuthSuccess", data);
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
handlers: {
|
|
47
|
+
handleConnectedWallet: (wallet) => __async(this, null, function* () {
|
|
48
|
+
var _a;
|
|
49
|
+
console.log("[CryptoWalletConnectionHandler] handleConnectedWallet", wallet);
|
|
50
|
+
const address = wallet.address;
|
|
51
|
+
if (!address) {
|
|
52
|
+
console.error("[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing");
|
|
53
|
+
iframeClient == null ? void 0 : iframeClient.send("crypto:connect-wallet.failed", {
|
|
54
|
+
error: "address is missing"
|
|
55
|
+
});
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
const chain = yield dynamicChainToCrossmintChain(wallet);
|
|
59
|
+
iframeClient == null ? void 0 : iframeClient.send("crypto:connect-wallet.success", {
|
|
60
|
+
address,
|
|
61
|
+
chain,
|
|
62
|
+
walletProviderKey: (_a = wallet.connector) == null ? void 0 : _a.key
|
|
63
|
+
});
|
|
64
|
+
return true;
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
children: /* @__PURE__ */ jsx(_CryptoWalletConnectionHandler, __spreadValues({}, props))
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
function _CryptoWalletConnectionHandler({ iframeClient }) {
|
|
73
|
+
const { setShowAuthFlow, primaryWallet, handleLogOut } = useDynamicContext();
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
if (iframeClient == null) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const showAuthFlowListener = iframeClient.on("crypto:connect-wallet.show", (_0) => __async(this, [_0], function* ({ show }) {
|
|
79
|
+
yield handleLogOut();
|
|
80
|
+
setShowAuthFlow(show);
|
|
81
|
+
}));
|
|
82
|
+
return () => {
|
|
83
|
+
iframeClient.off(showAuthFlowListener);
|
|
84
|
+
};
|
|
85
|
+
}, [iframeClient, handleLogOut, setShowAuthFlow]);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (iframeClient == null) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const signTransactionListener = iframeClient.on(
|
|
91
|
+
"crypto:send-transaction",
|
|
92
|
+
(_0) => __async(this, [_0], function* ({ chain, serializedTransaction }) {
|
|
93
|
+
if (primaryWallet == null) {
|
|
94
|
+
console.error("[CryptoWalletConnectionHandler] signTransaction: primaryWallet is missing");
|
|
95
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
96
|
+
error: "primaryWallet is missing"
|
|
97
|
+
});
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
yield handleSendTransaction(
|
|
101
|
+
primaryWallet,
|
|
102
|
+
chain,
|
|
103
|
+
serializedTransaction,
|
|
104
|
+
iframeClient
|
|
105
|
+
);
|
|
106
|
+
})
|
|
107
|
+
);
|
|
108
|
+
return () => {
|
|
109
|
+
iframeClient.off(signTransactionListener);
|
|
110
|
+
};
|
|
111
|
+
}, [iframeClient, primaryWallet]);
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
function dynamicChainToCrossmintChain(wallet) {
|
|
115
|
+
return __async(this, null, function* () {
|
|
116
|
+
var _a;
|
|
117
|
+
const chain = wallet.chain;
|
|
118
|
+
if (chain === "SOL") {
|
|
119
|
+
return "solana";
|
|
120
|
+
}
|
|
121
|
+
const chainId = yield (_a = wallet.connector) == null ? void 0 : _a.getNetwork();
|
|
122
|
+
if (typeof chainId !== "number") {
|
|
123
|
+
throw new Error("chainId is not a number");
|
|
124
|
+
}
|
|
125
|
+
const chainFromChainId = chainIdToBlockchain(chainId);
|
|
126
|
+
if (!chainFromChainId) {
|
|
127
|
+
throw new Error(`ChainId ${chainId} is not supported`);
|
|
128
|
+
}
|
|
129
|
+
return chainFromChainId;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
9
132
|
export {
|
|
10
133
|
CryptoWalletConnectionHandler
|
|
11
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/embed/v3/crypto/CryptoWalletConnectionHandler.tsx"],"sourcesContent":["import DynamicContextProviderWrapper from \"@/components/dynamic-xyz/DynamicContextProviderWrapper\";\nimport type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\nimport {\n type APIKeyEnvironmentPrefix,\n type BlockchainIncludingTestnet,\n chainIdToBlockchain,\n} from \"@crossmint/common-sdk-base\";\nimport { EthereumWalletConnectors } from \"@dynamic-labs/ethereum\";\nimport { type HandleConnectedWallet, useDynamicContext } from \"@dynamic-labs/sdk-react-core\";\nimport { SolanaWalletConnectors } from \"@dynamic-labs/solana\";\nimport { useEffect } from \"react\";\nimport { handleSendTransaction } from \"./utils/handleSendTransaction\";\n\nexport function CryptoWalletConnectionHandler(props: {\n iframeClient: EmbeddedCheckoutV3IFrameEmitter | null;\n apiKeyEnvironment: APIKeyEnvironmentPrefix;\n}) {\n const { iframeClient, apiKeyEnvironment } = props;\n\n return (\n <DynamicContextProviderWrapper\n apiKeyEnvironment={apiKeyEnvironment}\n settings={{\n walletConnectors: [EthereumWalletConnectors, SolanaWalletConnectors],\n events: {\n onAuthFlowCancel() {\n console.log(\"[CryptoWalletConnectionHandler] onAuthFlowCancel\");\n iframeClient?.send(\"crypto:connect-wallet.failed\", {\n error: \"cancelled\",\n });\n },\n onAuthFlowClose() {\n console.log(\"[CryptoWalletConnectionHandler] onAuthFlowClose\");\n },\n onAuthFailure(data, reason) {\n console.error(\"[CryptoWalletConnectionHandler] onAuthFailure\", data, reason);\n },\n onAuthSuccess(data) {\n console.log(\"[CryptoWalletConnectionHandler] onAuthSuccess\", data);\n },\n },\n handlers: {\n handleConnectedWallet: async (wallet) => {\n console.log(\"[CryptoWalletConnectionHandler] handleConnectedWallet\", wallet);\n\n const address = wallet.address;\n if (!address) {\n console.error(\"[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing\");\n iframeClient?.send(\"crypto:connect-wallet.failed\", {\n error: \"address is missing\",\n });\n return false;\n }\n\n const chain = await dynamicChainToCrossmintChain(wallet);\n\n iframeClient?.send(\"crypto:connect-wallet.success\", {\n address,\n chain,\n walletProviderKey: wallet.connector?.key,\n });\n\n return true;\n },\n },\n }}\n >\n <_CryptoWalletConnectionHandler {...props} />\n </DynamicContextProviderWrapper>\n );\n}\n\nfunction _CryptoWalletConnectionHandler({ iframeClient }: Parameters<typeof CryptoWalletConnectionHandler>[0]) {\n const { setShowAuthFlow, primaryWallet, handleLogOut } = useDynamicContext();\n\n useEffect(() => {\n if (iframeClient == null) {\n return;\n }\n const showAuthFlowListener = iframeClient.on(\"crypto:connect-wallet.show\", async ({ show }) => {\n await handleLogOut();\n setShowAuthFlow(show);\n });\n\n return () => {\n iframeClient.off(showAuthFlowListener);\n };\n }, [iframeClient, handleLogOut, setShowAuthFlow]);\n\n useEffect(() => {\n if (iframeClient == null) {\n return;\n }\n const signTransactionListener = iframeClient.on(\n \"crypto:send-transaction\",\n async ({ chain, serializedTransaction }) => {\n if (primaryWallet == null) {\n console.error(\"[CryptoWalletConnectionHandler] signTransaction: primaryWallet is missing\");\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: \"primaryWallet is missing\",\n });\n return;\n }\n\n await handleSendTransaction(\n primaryWallet,\n chain as BlockchainIncludingTestnet,\n serializedTransaction,\n iframeClient\n );\n }\n );\n\n return () => {\n iframeClient.off(signTransactionListener);\n };\n }, [iframeClient, primaryWallet]);\n\n return null;\n}\n\nasync function dynamicChainToCrossmintChain(\n wallet: Parameters<HandleConnectedWallet>[0]\n): Promise<BlockchainIncludingTestnet> {\n const chain = wallet.chain;\n if (chain === \"SOL\") {\n return \"solana\";\n }\n const chainId = await wallet.connector?.getNetwork();\n if (typeof chainId !== \"number\") {\n throw new Error(\"chainId is not a number\");\n }\n const chainFromChainId = chainIdToBlockchain(chainId);\n if (!chainFromChainId) {\n throw new Error(`ChainId ${chainId} is not supported`);\n }\n return chainFromChainId as BlockchainIncludingTestnet;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,8 +1,70 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../../../../chunk-4DAZAO6Y.cjs');
|
|
3
|
+
var _chunk4DAZAO6Ycjs = require('../../../../../chunk-4DAZAO6Y.cjs');
|
|
5
4
|
|
|
5
|
+
// src/components/embed/v3/crypto/utils/handleEvmTransaction.ts
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _viem = require('viem');
|
|
12
|
+
function handleEvmTransaction(_0) {
|
|
13
|
+
return _chunk4DAZAO6Ycjs.__async.call(void 0, this, arguments, function* ({
|
|
14
|
+
primaryWallet,
|
|
15
|
+
chain,
|
|
16
|
+
serializedTransaction,
|
|
17
|
+
iframeClient
|
|
18
|
+
}) {
|
|
19
|
+
const { connector } = primaryWallet;
|
|
20
|
+
const chainId = _commonsdkbase.blockchainToChainId.call(void 0, chain);
|
|
21
|
+
try {
|
|
22
|
+
yield connector.switchNetwork({ networkChainId: chainId });
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error(`[CryptoWalletConnectionHandler] failed to switch network to ${chainId}`, error);
|
|
25
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
26
|
+
error: error.message
|
|
27
|
+
});
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
let walletClient;
|
|
31
|
+
try {
|
|
32
|
+
walletClient = connector.getWalletClient(String(chainId));
|
|
33
|
+
if (!walletClient) {
|
|
34
|
+
throw new Error(`connector.getWalletClient(${chainId}) returned undefined`);
|
|
35
|
+
}
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error("[CryptoWalletConnectionHandler] failed to get wallet client", error);
|
|
38
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
39
|
+
error: error.message
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
let parsedTransaction;
|
|
44
|
+
try {
|
|
45
|
+
parsedTransaction = _viem.parseTransaction.call(void 0, serializedTransaction);
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.error("[CryptoWalletConnectionHandler] failed to parse transaction", error);
|
|
48
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
49
|
+
error: error.message
|
|
50
|
+
});
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
const txId = yield walletClient.sendTransaction(parsedTransaction);
|
|
55
|
+
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
56
|
+
iframeClient.send("crypto:send-transaction:success", {
|
|
57
|
+
txId
|
|
58
|
+
});
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
61
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
62
|
+
error: error.message
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
exports.handleEvmTransaction = handleEvmTransaction;
|
|
8
70
|
//# sourceMappingURL=handleEvmTransaction.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/embed/v3/crypto/utils/handleEvmTransaction.ts"],"names":[],"mappings":";;;;;AACA;AAAA,EAEI;AAAA,OAEG;AAEP;AAAA,EAMI;AAAA,OACG;AAEP,SAAsB,qBAAqB,IAUxC;AAAA,6CAVwC;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAKG;AACC,UAAM,EAAE,UAAU,IAAI;AACtB,UAAM,UAAU,oBAAoB,KAAsC;AAE1E,QAAI;AACA,YAAM,UAAU,cAAc,EAAE,gBAAgB,QAAQ,CAAC;AAAA,IAC7D,SAAS,OAAO;AACZ,cAAQ,MAAM,+DAA+D,OAAO,IAAI,KAAK;AAC7F,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,qBAAe,UAAU,gBAAqE,OAAO,OAAO,CAAC;AAC7G,UAAI,CAAC,cAAc;AACf,cAAM,IAAI,MAAM,6BAA6B,OAAO,sBAAsB;AAAA,MAC9E;AAAA,IACJ,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 { Wallet } from \"@dynamic-labs/sdk-react-core\";\nimport {\n type Chain,\n type Account,\n type WalletClient,\n type TransactionSerializableEIP1559,\n type Transport,\n parseTransaction,\n} from \"viem\";\n\nexport async function handleEvmTransaction({\n primaryWallet,\n chain,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: Wallet;\n chain: BlockchainIncludingTestnet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n const { connector } = primaryWallet;\n const chainId = blockchainToChainId(chain as EVMBlockchainIncludingTestnet);\n\n try {\n await connector.switchNetwork({ networkChainId: chainId });\n } catch (error) {\n console.error(`[CryptoWalletConnectionHandler] failed to switch network to ${chainId}`, error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n let walletClient: WalletClient<Transport, Chain, Account> | undefined;\n try {\n walletClient = connector.getWalletClient<WalletClient<Transport, Chain, Account> | undefined>(String(chainId));\n if (!walletClient) {\n throw new Error(`connector.getWalletClient(${chainId}) returned undefined`);\n }\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,9 +1,9 @@
|
|
|
1
1
|
import { EmbeddedCheckoutV3IFrameEmitter } from '@crossmint/client-sdk-base';
|
|
2
2
|
import { BlockchainIncludingTestnet } from '@crossmint/common-sdk-base';
|
|
3
|
-
import {
|
|
3
|
+
import { Wallet } from '@dynamic-labs/sdk-react-core';
|
|
4
4
|
|
|
5
5
|
declare function handleEvmTransaction({ primaryWallet, chain, serializedTransaction, iframeClient, }: {
|
|
6
|
-
primaryWallet:
|
|
6
|
+
primaryWallet: Wallet;
|
|
7
7
|
chain: BlockchainIncludingTestnet;
|
|
8
8
|
serializedTransaction: string;
|
|
9
9
|
iframeClient: EmbeddedCheckoutV3IFrameEmitter;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EmbeddedCheckoutV3IFrameEmitter } from '@crossmint/client-sdk-base';
|
|
2
2
|
import { BlockchainIncludingTestnet } from '@crossmint/common-sdk-base';
|
|
3
|
-
import {
|
|
3
|
+
import { Wallet } from '@dynamic-labs/sdk-react-core';
|
|
4
4
|
|
|
5
5
|
declare function handleEvmTransaction({ primaryWallet, chain, serializedTransaction, iframeClient, }: {
|
|
6
|
-
primaryWallet:
|
|
6
|
+
primaryWallet: Wallet;
|
|
7
7
|
chain: BlockchainIncludingTestnet;
|
|
8
8
|
serializedTransaction: string;
|
|
9
9
|
iframeClient: EmbeddedCheckoutV3IFrameEmitter;
|
|
@@ -1,7 +1,69 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../../../../../chunk-
|
|
4
|
-
|
|
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 {
|
|
10
|
+
parseTransaction
|
|
11
|
+
} from "viem";
|
|
12
|
+
function handleEvmTransaction(_0) {
|
|
13
|
+
return __async(this, arguments, function* ({
|
|
14
|
+
primaryWallet,
|
|
15
|
+
chain,
|
|
16
|
+
serializedTransaction,
|
|
17
|
+
iframeClient
|
|
18
|
+
}) {
|
|
19
|
+
const { connector } = primaryWallet;
|
|
20
|
+
const chainId = blockchainToChainId(chain);
|
|
21
|
+
try {
|
|
22
|
+
yield connector.switchNetwork({ networkChainId: chainId });
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error(`[CryptoWalletConnectionHandler] failed to switch network to ${chainId}`, error);
|
|
25
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
26
|
+
error: error.message
|
|
27
|
+
});
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
let walletClient;
|
|
31
|
+
try {
|
|
32
|
+
walletClient = connector.getWalletClient(String(chainId));
|
|
33
|
+
if (!walletClient) {
|
|
34
|
+
throw new Error(`connector.getWalletClient(${chainId}) returned undefined`);
|
|
35
|
+
}
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error("[CryptoWalletConnectionHandler] failed to get wallet client", error);
|
|
38
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
39
|
+
error: error.message
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
let parsedTransaction;
|
|
44
|
+
try {
|
|
45
|
+
parsedTransaction = parseTransaction(serializedTransaction);
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.error("[CryptoWalletConnectionHandler] failed to parse transaction", error);
|
|
48
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
49
|
+
error: error.message
|
|
50
|
+
});
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
const txId = yield walletClient.sendTransaction(parsedTransaction);
|
|
55
|
+
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
56
|
+
iframeClient.send("crypto:send-transaction:success", {
|
|
57
|
+
txId
|
|
58
|
+
});
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
61
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
62
|
+
error: error.message
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
5
67
|
export {
|
|
6
68
|
handleEvmTransaction
|
|
7
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
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 { Wallet } from \"@dynamic-labs/sdk-react-core\";\nimport {\n type Chain,\n type Account,\n type WalletClient,\n type TransactionSerializableEIP1559,\n type Transport,\n parseTransaction,\n} from \"viem\";\n\nexport async function handleEvmTransaction({\n primaryWallet,\n chain,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: Wallet;\n chain: BlockchainIncludingTestnet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n const { connector } = primaryWallet;\n const chainId = blockchainToChainId(chain as EVMBlockchainIncludingTestnet);\n\n try {\n await connector.switchNetwork({ networkChainId: chainId });\n } catch (error) {\n console.error(`[CryptoWalletConnectionHandler] failed to switch network to ${chainId}`, error);\n iframeClient.send(\"crypto:send-transaction:failed\", {\n error: (error as Error).message,\n });\n return;\n }\n\n let walletClient: WalletClient<Transport, Chain, Account> | undefined;\n try {\n walletClient = connector.getWalletClient<WalletClient<Transport, Chain, Account> | undefined>(String(chainId));\n if (!walletClient) {\n throw new Error(`connector.getWalletClient(${chainId}) returned undefined`);\n }\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;AAAA,EAMI;AAAA,OACG;AAEP,SAAsB,qBAAqB,IAUxC;AAAA,6CAVwC;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAKG;AACC,UAAM,EAAE,UAAU,IAAI;AACtB,UAAM,UAAU,oBAAoB,KAAsC;AAE1E,QAAI;AACA,YAAM,UAAU,cAAc,EAAE,gBAAgB,QAAQ,CAAC;AAAA,IAC7D,SAAS,OAAO;AACZ,cAAQ,MAAM,+DAA+D,OAAO,IAAI,KAAK;AAC7F,mBAAa,KAAK,kCAAkC;AAAA,QAChD,OAAQ,MAAgB;AAAA,MAC5B,CAAC;AACD;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,qBAAe,UAAU,gBAAqE,OAAO,OAAO,CAAC;AAC7G,UAAI,CAAC,cAAc;AACf,cAAM,IAAI,MAAM,6BAA6B,OAAO,sBAAsB;AAAA,MAC9E;AAAA,IACJ,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":[]}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../../../../chunk-2QB7GW4K.cjs');
|
|
5
|
-
require('../../../../../chunk-BYRVAFBZ.cjs');
|
|
3
|
+
var _chunkAUCL5NPWcjs = require('../../../../../chunk-AUCL5NPW.cjs');
|
|
6
4
|
require('../../../../../chunk-4DAZAO6Y.cjs');
|
|
7
5
|
|
|
8
6
|
|
|
9
|
-
exports.handleSendTransaction =
|
|
7
|
+
exports.handleSendTransaction = _chunkAUCL5NPWcjs.handleSendTransaction;
|
|
10
8
|
//# sourceMappingURL=handleSendTransaction.cjs.map
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleSendTransaction
|
|
3
|
-
} from "../../../../../chunk-
|
|
4
|
-
import "../../../../../chunk-LKO5WR7D.js";
|
|
5
|
-
import "../../../../../chunk-FH7TEEZR.js";
|
|
3
|
+
} from "../../../../../chunk-A6Q4Z5TO.js";
|
|
6
4
|
import "../../../../../chunk-CRTRMMJ7.js";
|
|
7
5
|
export {
|
|
8
6
|
handleSendTransaction
|
|
@@ -1,8 +1,52 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../../../../chunk-4DAZAO6Y.cjs');
|
|
3
|
+
var _chunk4DAZAO6Ycjs = require('../../../../../chunk-4DAZAO6Y.cjs');
|
|
5
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
|
+
const { connector } = primaryWallet;
|
|
15
|
+
let signer;
|
|
16
|
+
try {
|
|
17
|
+
signer = yield connector.getSigner();
|
|
18
|
+
} catch (error) {
|
|
19
|
+
console.error("[CryptoWalletConnectionHandler] failed to get signer", error);
|
|
20
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
21
|
+
error: "Failed to get signer"
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let deserializedTransaction;
|
|
26
|
+
try {
|
|
27
|
+
deserializedTransaction = _web3js.Transaction.from(_bs582.default.decode(serializedTransaction));
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.error("[CryptoWalletConnectionHandler] failed to deserialize transaction", error);
|
|
30
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
31
|
+
error: "Failed to deserialize transaction"
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const { signature: txId } = yield signer.signAndSendTransaction(deserializedTransaction);
|
|
37
|
+
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
38
|
+
iframeClient.send("crypto:send-transaction:success", {
|
|
39
|
+
txId
|
|
40
|
+
});
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
43
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
44
|
+
error: error.message
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
6
49
|
|
|
7
|
-
|
|
50
|
+
|
|
51
|
+
exports.handleSolanaTransaction = handleSolanaTransaction;
|
|
8
52
|
//# sourceMappingURL=handleSolanaTransaction.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts"],"names":[],"mappings":";;;;;AAGA,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AAEnB,SAAsB,wBAAwB,IAQ3C;AAAA,6CAR2C;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAIG;AAGC,UAAM,EAAE,UAAU,IAAI;AAEtB,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,UAAU,UAAmB;AAAA,IAChD,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 { Wallet } from \"@dynamic-labs/sdk-react-core\";\nimport type { ISolana } from \"@dynamic-labs/solana\";\nimport { Transaction } from \"@solana/web3.js\";\nimport base58 from \"bs58\";\n\nexport async function handleSolanaTransaction({\n primaryWallet,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: Wallet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n // TODO: Handle switch network\n\n const { connector } = primaryWallet;\n\n let signer: ISolana;\n try {\n signer = await connector.getSigner<ISolana>();\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,8 +1,8 @@
|
|
|
1
1
|
import { EmbeddedCheckoutV3IFrameEmitter } from '@crossmint/client-sdk-base';
|
|
2
|
-
import {
|
|
2
|
+
import { Wallet } from '@dynamic-labs/sdk-react-core';
|
|
3
3
|
|
|
4
4
|
declare function handleSolanaTransaction({ primaryWallet, serializedTransaction, iframeClient, }: {
|
|
5
|
-
primaryWallet:
|
|
5
|
+
primaryWallet: Wallet;
|
|
6
6
|
serializedTransaction: string;
|
|
7
7
|
iframeClient: EmbeddedCheckoutV3IFrameEmitter;
|
|
8
8
|
}): Promise<void>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EmbeddedCheckoutV3IFrameEmitter } from '@crossmint/client-sdk-base';
|
|
2
|
-
import {
|
|
2
|
+
import { Wallet } from '@dynamic-labs/sdk-react-core';
|
|
3
3
|
|
|
4
4
|
declare function handleSolanaTransaction({ primaryWallet, serializedTransaction, iframeClient, }: {
|
|
5
|
-
primaryWallet:
|
|
5
|
+
primaryWallet: Wallet;
|
|
6
6
|
serializedTransaction: string;
|
|
7
7
|
iframeClient: EmbeddedCheckoutV3IFrameEmitter;
|
|
8
8
|
}): Promise<void>;
|
|
@@ -1,7 +1,51 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../../../../../chunk-
|
|
4
|
-
|
|
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
|
+
const { connector } = primaryWallet;
|
|
15
|
+
let signer;
|
|
16
|
+
try {
|
|
17
|
+
signer = yield connector.getSigner();
|
|
18
|
+
} catch (error) {
|
|
19
|
+
console.error("[CryptoWalletConnectionHandler] failed to get signer", error);
|
|
20
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
21
|
+
error: "Failed to get signer"
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let deserializedTransaction;
|
|
26
|
+
try {
|
|
27
|
+
deserializedTransaction = Transaction.from(base58.decode(serializedTransaction));
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.error("[CryptoWalletConnectionHandler] failed to deserialize transaction", error);
|
|
30
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
31
|
+
error: "Failed to deserialize transaction"
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const { signature: txId } = yield signer.signAndSendTransaction(deserializedTransaction);
|
|
37
|
+
console.log("[CryptoWalletConnectionHandler] txId", txId);
|
|
38
|
+
iframeClient.send("crypto:send-transaction:success", {
|
|
39
|
+
txId
|
|
40
|
+
});
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error("[CryptoWalletConnectionHandler] failed to send transaction", error);
|
|
43
|
+
iframeClient.send("crypto:send-transaction:failed", {
|
|
44
|
+
error: error.message
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
5
49
|
export {
|
|
6
50
|
handleSolanaTransaction
|
|
7
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts"],"sourcesContent":["import type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\nimport type { Wallet } from \"@dynamic-labs/sdk-react-core\";\nimport type { ISolana } from \"@dynamic-labs/solana\";\nimport { Transaction } from \"@solana/web3.js\";\nimport base58 from \"bs58\";\n\nexport async function handleSolanaTransaction({\n primaryWallet,\n serializedTransaction,\n iframeClient,\n}: {\n primaryWallet: Wallet;\n serializedTransaction: string;\n iframeClient: EmbeddedCheckoutV3IFrameEmitter;\n}) {\n // TODO: Handle switch network\n\n const { connector } = primaryWallet;\n\n let signer: ISolana;\n try {\n signer = await connector.getSigner<ISolana>();\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":";;;;;AAGA,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AAEnB,SAAsB,wBAAwB,IAQ3C;AAAA,6CAR2C;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAIG;AAGC,UAAM,EAAE,UAAU,IAAI;AAEtB,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,UAAU,UAAmB;AAAA,IAChD,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":[]}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-SZA3XDJ5.cjs');
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../../../chunk-
|
|
6
|
-
require('../../../chunk-REUYMHNW.cjs');
|
|
7
|
-
require('../../../chunk-UCQ5VAPT.cjs');
|
|
8
|
-
require('../../../chunk-2QB7GW4K.cjs');
|
|
9
|
-
require('../../../chunk-BYRVAFBZ.cjs');
|
|
10
|
-
require('../../../chunk-UQAKJ4T7.cjs');
|
|
4
|
+
var _chunkNX473NO2cjs = require('../../../chunk-NX473NO2.cjs');
|
|
5
|
+
require('../../../chunk-MDV3M7FD.cjs');
|
|
11
6
|
require('../../../chunk-FOCUIKYH.cjs');
|
|
12
7
|
require('../../../chunk-DJ32OEWG.cjs');
|
|
13
8
|
require('../../../chunk-ZCYU7QA6.cjs');
|
|
@@ -33,13 +28,13 @@ require('../../../chunk-URKPLEPV.cjs');
|
|
|
33
28
|
require('../../../chunk-HPOZ6I54.cjs');
|
|
34
29
|
require('../../../chunk-YE55IKBP.cjs');
|
|
35
30
|
require('../../../chunk-ENCR5SUW.cjs');
|
|
36
|
-
require('../../../chunk-
|
|
37
|
-
require('../../../chunk-
|
|
31
|
+
require('../../../chunk-67AB7TWG.cjs');
|
|
32
|
+
require('../../../chunk-COLJFFZF.cjs');
|
|
38
33
|
require('../../../chunk-KEKBOJCF.cjs');
|
|
39
34
|
require('../../../chunk-A2JCJ2OV.cjs');
|
|
40
|
-
require('../../../chunk-
|
|
35
|
+
require('../../../chunk-RTC2AZ6A.cjs');
|
|
41
36
|
require('../../../chunk-4DAZAO6Y.cjs');
|
|
42
37
|
|
|
43
38
|
|
|
44
|
-
exports.CrossmintEmbeddedCheckout_Alpha =
|
|
39
|
+
exports.CrossmintEmbeddedCheckout_Alpha = _chunkNX473NO2cjs.CrossmintEmbeddedCheckout_Alpha;
|
|
45
40
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import "../../../chunk-XXJ7LQ44.js";
|
|
2
2
|
import {
|
|
3
3
|
CrossmintEmbeddedCheckout_Alpha
|
|
4
|
-
} from "../../../chunk-
|
|
5
|
-
import "../../../chunk-
|
|
6
|
-
import "../../../chunk-UC3GWTEN.js";
|
|
7
|
-
import "../../../chunk-5VZNJ4VT.js";
|
|
8
|
-
import "../../../chunk-LKO5WR7D.js";
|
|
9
|
-
import "../../../chunk-FH7TEEZR.js";
|
|
10
|
-
import "../../../chunk-RZT2J42J.js";
|
|
4
|
+
} from "../../../chunk-QB4KFTCT.js";
|
|
5
|
+
import "../../../chunk-XJYLJQA5.js";
|
|
11
6
|
import "../../../chunk-CUODMU27.js";
|
|
12
7
|
import "../../../chunk-WK5RAFJ3.js";
|
|
13
8
|
import "../../../chunk-6DNBJVR5.js";
|
|
@@ -33,11 +28,11 @@ import "../../../chunk-I63FQCIV.js";
|
|
|
33
28
|
import "../../../chunk-ZIHCLVCD.js";
|
|
34
29
|
import "../../../chunk-H4F7UVPT.js";
|
|
35
30
|
import "../../../chunk-YWVQCHQF.js";
|
|
36
|
-
import "../../../chunk-
|
|
37
|
-
import "../../../chunk-
|
|
31
|
+
import "../../../chunk-6TUZ5CU7.js";
|
|
32
|
+
import "../../../chunk-GN7OANUR.js";
|
|
38
33
|
import "../../../chunk-3J6CUUWT.js";
|
|
39
34
|
import "../../../chunk-AUEQQ4D3.js";
|
|
40
|
-
import "../../../chunk-
|
|
35
|
+
import "../../../chunk-MWRMO6JC.js";
|
|
41
36
|
import "../../../chunk-CRTRMMJ7.js";
|
|
42
37
|
export {
|
|
43
38
|
CrossmintEmbeddedCheckout_Alpha
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkSMCUFLHPcjs = require('../../chunk-SMCUFLHP.cjs');
|
|
4
4
|
require('../../chunk-Q3M4UH5U.cjs');
|
|
5
5
|
require('../../chunk-KLWDDALZ.cjs');
|
|
6
|
-
require('../../chunk-
|
|
6
|
+
require('../../chunk-RTC2AZ6A.cjs');
|
|
7
7
|
require('../../chunk-4DAZAO6Y.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.CrossmintPayButton =
|
|
10
|
+
exports.CrossmintPayButton = _chunkSMCUFLHPcjs.CrossmintPayButton;
|
|
11
11
|
//# sourceMappingURL=CrossmintPayButton.cjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CrossmintPayButton
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-Y4UEFDMP.js";
|
|
4
4
|
import "../../chunk-ATHR4S2P.js";
|
|
5
5
|
import "../../chunk-L3FKENHU.js";
|
|
6
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-MWRMO6JC.js";
|
|
7
7
|
import "../../chunk-CRTRMMJ7.js";
|
|
8
8
|
export {
|
|
9
9
|
CrossmintPayButton
|