@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.
Files changed (149) hide show
  1. package/dist/{chunk-OPIHF55A.cjs → chunk-67AB7TWG.cjs} +3 -3
  2. package/dist/{chunk-ODH26VGS.js → chunk-6TUZ5CU7.js} +2 -2
  3. package/dist/chunk-A6Q4Z5TO.js +31 -0
  4. package/dist/chunk-A6Q4Z5TO.js.map +1 -0
  5. package/dist/chunk-AUCL5NPW.cjs +31 -0
  6. package/dist/chunk-AUCL5NPW.cjs.map +1 -0
  7. package/dist/{chunk-VWRC3IFZ.cjs → chunk-COLJFFZF.cjs} +3 -3
  8. package/dist/{chunk-657ZCQSH.cjs → chunk-DVONA2BZ.cjs} +3 -3
  9. package/dist/{chunk-BJIMCGIQ.js → chunk-GN7OANUR.js} +2 -2
  10. package/dist/{chunk-RWS44QDX.js → chunk-HVI7FCLP.js} +2 -2
  11. package/dist/{chunk-CIZ2K2TA.cjs → chunk-MDV3M7FD.cjs} +13 -8
  12. package/dist/chunk-MDV3M7FD.cjs.map +1 -0
  13. package/dist/{chunk-YB66RCZP.js → chunk-MWRMO6JC.js} +2 -2
  14. package/dist/chunk-MWRMO6JC.js.map +1 -0
  15. package/dist/{chunk-U2D3L4DZ.cjs → chunk-NX473NO2.cjs} +3 -3
  16. package/dist/{chunk-CYUTXV7Z.js → chunk-QB4KFTCT.js} +2 -2
  17. package/dist/{chunk-46UDUOKJ.cjs → chunk-RTC2AZ6A.cjs} +2 -2
  18. package/dist/chunk-RTC2AZ6A.cjs.map +1 -0
  19. package/dist/{chunk-IVNGVLGR.cjs → chunk-SMCUFLHP.cjs} +3 -3
  20. package/dist/{chunk-5JAEV6YP.js → chunk-XJYLJQA5.js} +11 -6
  21. package/dist/chunk-XJYLJQA5.js.map +1 -0
  22. package/dist/{chunk-E3BR6DXY.js → chunk-Y4UEFDMP.js} +2 -2
  23. package/dist/{chunk-GZRGZKN6.js → chunk-YO7ZZF32.js} +2 -2
  24. package/dist/{chunk-2LTCJUPK.cjs → chunk-ZOHRCGGI.cjs} +3 -3
  25. package/dist/components/CrossmintNFTCollectionView.cjs +3 -3
  26. package/dist/components/CrossmintNFTCollectionView.js +2 -2
  27. package/dist/components/CrossmintNFTDetail.cjs +3 -3
  28. package/dist/components/CrossmintNFTDetail.js +2 -2
  29. package/dist/components/auth/AuthForm.cjs +3 -3
  30. package/dist/components/auth/AuthForm.js +3 -3
  31. package/dist/components/auth/AuthFormDialog.cjs +3 -3
  32. package/dist/components/auth/AuthFormDialog.js +3 -3
  33. package/dist/components/auth/EmbeddedAuthForm.cjs +3 -3
  34. package/dist/components/auth/EmbeddedAuthForm.js +3 -3
  35. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +3 -3
  36. package/dist/components/auth/methods/email/EmailAuthFlow.js +3 -3
  37. package/dist/components/auth/methods/email/EmailOTPInput.cjs +3 -3
  38. package/dist/components/auth/methods/email/EmailOTPInput.js +3 -3
  39. package/dist/components/auth/methods/email/EmailSignIn.cjs +3 -3
  40. package/dist/components/auth/methods/email/EmailSignIn.js +3 -3
  41. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +3 -3
  42. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +3 -3
  43. package/dist/components/auth/methods/google/GoogleSignIn.cjs +3 -3
  44. package/dist/components/auth/methods/google/GoogleSignIn.js +3 -3
  45. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +3 -3
  46. package/dist/components/auth/methods/web3/Web3AuthFlow.js +3 -3
  47. package/dist/components/auth/methods/web3/Web3AuthWrapper.cjs +3 -3
  48. package/dist/components/auth/methods/web3/Web3AuthWrapper.js +3 -3
  49. package/dist/components/auth/methods/web3/Web3Connectors.cjs +3 -3
  50. package/dist/components/auth/methods/web3/Web3Connectors.js +3 -3
  51. package/dist/components/auth/methods/web3/Web3SignIn.cjs +3 -3
  52. package/dist/components/auth/methods/web3/Web3SignIn.js +3 -3
  53. package/dist/components/common/Divider.cjs +3 -3
  54. package/dist/components/common/Divider.js +3 -3
  55. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +6 -11
  56. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +5 -10
  57. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +5 -10
  58. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +4 -9
  59. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +130 -7
  60. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +1 -1
  61. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +130 -7
  62. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +1 -1
  63. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs +65 -3
  64. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs.map +1 -1
  65. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.d.cts +2 -2
  66. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.d.ts +2 -2
  67. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js +65 -3
  68. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js.map +1 -1
  69. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs +2 -4
  70. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js +1 -3
  71. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs +48 -4
  72. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs.map +1 -1
  73. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.d.cts +2 -2
  74. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.d.ts +2 -2
  75. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js +47 -3
  76. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js.map +1 -1
  77. package/dist/components/embed/v3/index.cjs +6 -11
  78. package/dist/components/embed/v3/index.js +5 -10
  79. package/dist/components/hosted/CrossmintPayButton.cjs +3 -3
  80. package/dist/components/hosted/CrossmintPayButton.js +2 -2
  81. package/dist/components/hosted/index.cjs +3 -3
  82. package/dist/components/hosted/index.js +2 -2
  83. package/dist/components/index.cjs +9 -14
  84. package/dist/components/index.js +8 -13
  85. package/dist/consts/version.cjs +2 -2
  86. package/dist/consts/version.js +1 -1
  87. package/dist/hooks/index.cjs +4 -4
  88. package/dist/hooks/index.js +3 -3
  89. package/dist/hooks/useAuth.cjs +3 -3
  90. package/dist/hooks/useAuth.js +3 -3
  91. package/dist/hooks/useCrossmintAuth.cjs +3 -3
  92. package/dist/hooks/useCrossmintAuth.js +3 -3
  93. package/dist/hooks/useCrossmintCheckout.cjs +4 -4
  94. package/dist/hooks/useCrossmintCheckout.js +3 -3
  95. package/dist/hooks/useOAuthWindowListener.cjs +3 -3
  96. package/dist/hooks/useOAuthWindowListener.js +3 -3
  97. package/dist/hooks/useWallet.cjs +3 -3
  98. package/dist/hooks/useWallet.js +3 -3
  99. package/dist/index.cjs +9 -14
  100. package/dist/index.cjs.map +1 -1
  101. package/dist/index.js +8 -13
  102. package/dist/index.js.map +1 -1
  103. package/dist/providers/CrossmintAuthProvider.cjs +3 -3
  104. package/dist/providers/CrossmintAuthProvider.js +3 -3
  105. package/dist/providers/CrossmintWalletProvider.cjs +3 -3
  106. package/dist/providers/CrossmintWalletProvider.js +3 -3
  107. package/dist/providers/auth/AuthFormProvider.cjs +3 -3
  108. package/dist/providers/auth/AuthFormProvider.js +3 -3
  109. package/dist/providers/index.cjs +3 -3
  110. package/dist/providers/index.js +3 -3
  111. package/dist/utils/createCrossmintApiClient.cjs +3 -3
  112. package/dist/utils/createCrossmintApiClient.js +2 -2
  113. package/package.json +4 -6
  114. package/src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx +8 -2
  115. package/src/components/embed/v3/crypto/utils/handleEvmTransaction.ts +20 -7
  116. package/src/components/embed/v3/crypto/utils/handleSendTransaction.ts +12 -14
  117. package/src/components/embed/v3/crypto/utils/handleSolanaTransaction.ts +7 -4
  118. package/dist/chunk-2QB7GW4K.cjs +0 -64
  119. package/dist/chunk-2QB7GW4K.cjs.map +0 -1
  120. package/dist/chunk-46UDUOKJ.cjs.map +0 -1
  121. package/dist/chunk-5JAEV6YP.js.map +0 -1
  122. package/dist/chunk-5VZNJ4VT.js +0 -36
  123. package/dist/chunk-5VZNJ4VT.js.map +0 -1
  124. package/dist/chunk-BYRVAFBZ.cjs +0 -52
  125. package/dist/chunk-BYRVAFBZ.cjs.map +0 -1
  126. package/dist/chunk-CIZ2K2TA.cjs.map +0 -1
  127. package/dist/chunk-FH7TEEZR.js +0 -52
  128. package/dist/chunk-FH7TEEZR.js.map +0 -1
  129. package/dist/chunk-LKO5WR7D.js +0 -64
  130. package/dist/chunk-LKO5WR7D.js.map +0 -1
  131. package/dist/chunk-REUYMHNW.cjs +0 -136
  132. package/dist/chunk-REUYMHNW.cjs.map +0 -1
  133. package/dist/chunk-UC3GWTEN.js +0 -136
  134. package/dist/chunk-UC3GWTEN.js.map +0 -1
  135. package/dist/chunk-UCQ5VAPT.cjs +0 -36
  136. package/dist/chunk-UCQ5VAPT.cjs.map +0 -1
  137. package/dist/chunk-YB66RCZP.js.map +0 -1
  138. /package/dist/{chunk-OPIHF55A.cjs.map → chunk-67AB7TWG.cjs.map} +0 -0
  139. /package/dist/{chunk-ODH26VGS.js.map → chunk-6TUZ5CU7.js.map} +0 -0
  140. /package/dist/{chunk-VWRC3IFZ.cjs.map → chunk-COLJFFZF.cjs.map} +0 -0
  141. /package/dist/{chunk-657ZCQSH.cjs.map → chunk-DVONA2BZ.cjs.map} +0 -0
  142. /package/dist/{chunk-BJIMCGIQ.js.map → chunk-GN7OANUR.js.map} +0 -0
  143. /package/dist/{chunk-RWS44QDX.js.map → chunk-HVI7FCLP.js.map} +0 -0
  144. /package/dist/{chunk-U2D3L4DZ.cjs.map → chunk-NX473NO2.cjs.map} +0 -0
  145. /package/dist/{chunk-CYUTXV7Z.js.map → chunk-QB4KFTCT.js.map} +0 -0
  146. /package/dist/{chunk-IVNGVLGR.cjs.map → chunk-SMCUFLHP.cjs.map} +0 -0
  147. /package/dist/{chunk-E3BR6DXY.js.map → chunk-Y4UEFDMP.js.map} +0 -0
  148. /package/dist/{chunk-GZRGZKN6.js.map → chunk-YO7ZZF32.js.map} +0 -0
  149. /package/dist/{chunk-2LTCJUPK.cjs.map → chunk-ZOHRCGGI.cjs.map} +0 -0
@@ -1,11 +1,134 @@
1
1
  import {
2
- CryptoWalletConnectionHandler
3
- } from "../../../../chunk-UC3GWTEN.js";
4
- import "../../../../chunk-5VZNJ4VT.js";
5
- import "../../../../chunk-LKO5WR7D.js";
6
- import "../../../../chunk-FH7TEEZR.js";
7
- import "../../../../chunk-RZT2J42J.js";
8
- import "../../../../chunk-CRTRMMJ7.js";
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 _chunk2QB7GW4Kcjs = require('../../../../../chunk-2QB7GW4K.cjs');
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
- exports.handleEvmTransaction = _chunk2QB7GW4Kcjs.handleEvmTransaction;
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 { EthereumWallet } from '@dynamic-labs/ethereum-core';
3
+ import { Wallet } from '@dynamic-labs/sdk-react-core';
4
4
 
5
5
  declare function handleEvmTransaction({ primaryWallet, chain, serializedTransaction, iframeClient, }: {
6
- primaryWallet: EthereumWallet;
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 { EthereumWallet } from '@dynamic-labs/ethereum-core';
3
+ import { Wallet } from '@dynamic-labs/sdk-react-core';
4
4
 
5
5
  declare function handleEvmTransaction({ primaryWallet, chain, serializedTransaction, iframeClient, }: {
6
- primaryWallet: EthereumWallet;
6
+ primaryWallet: Wallet;
7
7
  chain: BlockchainIncludingTestnet;
8
8
  serializedTransaction: string;
9
9
  iframeClient: EmbeddedCheckoutV3IFrameEmitter;
@@ -1,7 +1,69 @@
1
1
  import {
2
- handleEvmTransaction
3
- } from "../../../../../chunk-LKO5WR7D.js";
4
- import "../../../../../chunk-CRTRMMJ7.js";
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 _chunkUCQ5VAPTcjs = require('../../../../../chunk-UCQ5VAPT.cjs');
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 = _chunkUCQ5VAPTcjs.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-5VZNJ4VT.js";
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 _chunkBYRVAFBZcjs = require('../../../../../chunk-BYRVAFBZ.cjs');
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
- exports.handleSolanaTransaction = _chunkBYRVAFBZcjs.handleSolanaTransaction;
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 { SolanaWallet } from '@dynamic-labs/solana-core';
2
+ import { Wallet } from '@dynamic-labs/sdk-react-core';
3
3
 
4
4
  declare function handleSolanaTransaction({ primaryWallet, serializedTransaction, iframeClient, }: {
5
- primaryWallet: SolanaWallet;
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 { SolanaWallet } from '@dynamic-labs/solana-core';
2
+ import { Wallet } from '@dynamic-labs/sdk-react-core';
3
3
 
4
4
  declare function handleSolanaTransaction({ primaryWallet, serializedTransaction, iframeClient, }: {
5
- primaryWallet: SolanaWallet;
5
+ primaryWallet: Wallet;
6
6
  serializedTransaction: string;
7
7
  iframeClient: EmbeddedCheckoutV3IFrameEmitter;
8
8
  }): Promise<void>;
@@ -1,7 +1,51 @@
1
1
  import {
2
- handleSolanaTransaction
3
- } from "../../../../../chunk-FH7TEEZR.js";
4
- import "../../../../../chunk-CRTRMMJ7.js";
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 _chunkU2D3L4DZcjs = require('../../../chunk-U2D3L4DZ.cjs');
5
- require('../../../chunk-CIZ2K2TA.cjs');
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-OPIHF55A.cjs');
37
- require('../../../chunk-VWRC3IFZ.cjs');
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-46UDUOKJ.cjs');
35
+ require('../../../chunk-RTC2AZ6A.cjs');
41
36
  require('../../../chunk-4DAZAO6Y.cjs');
42
37
 
43
38
 
44
- exports.CrossmintEmbeddedCheckout_Alpha = _chunkU2D3L4DZcjs.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-CYUTXV7Z.js";
5
- import "../../../chunk-5JAEV6YP.js";
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-ODH26VGS.js";
37
- import "../../../chunk-BJIMCGIQ.js";
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-YB66RCZP.js";
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 _chunkIVNGVLGRcjs = require('../../chunk-IVNGVLGR.cjs');
3
+ var _chunkSMCUFLHPcjs = require('../../chunk-SMCUFLHP.cjs');
4
4
  require('../../chunk-Q3M4UH5U.cjs');
5
5
  require('../../chunk-KLWDDALZ.cjs');
6
- require('../../chunk-46UDUOKJ.cjs');
6
+ require('../../chunk-RTC2AZ6A.cjs');
7
7
  require('../../chunk-4DAZAO6Y.cjs');
8
8
 
9
9
 
10
- exports.CrossmintPayButton = _chunkIVNGVLGRcjs.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-E3BR6DXY.js";
3
+ } from "../../chunk-Y4UEFDMP.js";
4
4
  import "../../chunk-ATHR4S2P.js";
5
5
  import "../../chunk-L3FKENHU.js";
6
- import "../../chunk-YB66RCZP.js";
6
+ import "../../chunk-MWRMO6JC.js";
7
7
  import "../../chunk-CRTRMMJ7.js";
8
8
  export {
9
9
  CrossmintPayButton