@turnkey/sdk-react 3.0.0 → 3.0.1
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/CHANGELOG.md +13 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +470 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
- package/dist/components/auth/Apple.js +78 -64
- package/dist/components/auth/Apple.js.map +1 -1
- package/dist/components/auth/Apple.mjs +85 -64
- package/dist/components/auth/Apple.mjs.map +1 -1
- package/dist/components/auth/Auth.d.ts +3 -0
- package/dist/components/auth/Auth.d.ts.map +1 -1
- package/dist/components/auth/Auth.js +507 -259
- package/dist/components/auth/Auth.js.map +1 -1
- package/dist/components/auth/Auth.mjs +725 -229
- package/dist/components/auth/Auth.mjs.map +1 -1
- package/dist/components/auth/Facebook.js +78 -63
- package/dist/components/auth/Facebook.js.map +1 -1
- package/dist/components/auth/Facebook.mjs +121 -54
- package/dist/components/auth/Facebook.mjs.map +1 -1
- package/dist/components/auth/Google.js +63 -47
- package/dist/components/auth/Google.js.map +1 -1
- package/dist/components/auth/Google.mjs +70 -39
- package/dist/components/auth/Google.mjs.map +1 -1
- package/dist/components/auth/OtpVerification.js +106 -51
- package/dist/components/auth/OtpVerification.js.map +1 -1
- package/dist/components/auth/OtpVerification.mjs +151 -41
- package/dist/components/auth/OtpVerification.mjs.map +1 -1
- package/dist/components/auth/PhoneInput.d.ts.map +1 -1
- package/dist/components/auth/PhoneInput.js +138 -69
- package/dist/components/auth/PhoneInput.js.map +1 -1
- package/dist/components/auth/PhoneInput.mjs +141 -70
- package/dist/components/auth/PhoneInput.mjs.map +1 -1
- package/dist/components/auth/TurnkeyThemeProvider.js +26 -17
- package/dist/components/auth/TurnkeyThemeProvider.js.map +1 -1
- package/dist/components/auth/TurnkeyThemeProvider.mjs +33 -18
- package/dist/components/auth/TurnkeyThemeProvider.mjs.map +1 -1
- package/dist/components/auth/constants.js +26 -26
- package/dist/components/auth/constants.js.map +1 -1
- package/dist/components/auth/constants.mjs +34 -34
- package/dist/components/auth/constants.mjs.map +1 -1
- package/dist/components/auth/facebookUtils.js +23 -21
- package/dist/components/auth/facebookUtils.js.map +1 -1
- package/dist/components/auth/facebookUtils.mjs +65 -23
- package/dist/components/auth/facebookUtils.mjs.map +1 -1
- package/dist/components/auth/otp.js +84 -71
- package/dist/components/auth/otp.js.map +1 -1
- package/dist/components/auth/otp.mjs +96 -70
- package/dist/components/auth/otp.mjs.map +1 -1
- package/dist/components/auth/utils.js +3 -3
- package/dist/components/auth/utils.js.map +1 -1
- package/dist/components/auth/utils.mjs +3 -3
- package/dist/components/auth/utils.mjs.map +1 -1
- package/dist/components/export/Export.js +181 -99
- package/dist/components/export/Export.js.map +1 -1
- package/dist/components/export/Export.mjs +257 -89
- package/dist/components/export/Export.mjs.map +1 -1
- package/dist/components/import/Import.js +185 -132
- package/dist/components/import/Import.js.map +1 -1
- package/dist/components/import/Import.mjs +264 -120
- package/dist/components/import/Import.mjs.map +1 -1
- package/dist/contexts/TurnkeyContext.d.ts.map +1 -1
- package/dist/contexts/TurnkeyContext.js +113 -93
- package/dist/contexts/TurnkeyContext.js.map +1 -1
- package/dist/contexts/TurnkeyContext.mjs +191 -92
- package/dist/contexts/TurnkeyContext.mjs.map +1 -1
- package/dist/hooks/use-session.js +16 -13
- package/dist/hooks/use-session.js.map +1 -1
- package/dist/hooks/use-session.mjs +18 -13
- package/dist/hooks/use-session.mjs.map +1 -1
- package/dist/hooks/use-turnkey.js +5 -5
- package/dist/hooks/use-turnkey.js.map +1 -1
- package/dist/hooks/use-turnkey.mjs +6 -6
- package/dist/hooks/use-turnkey.mjs.map +1 -1
- package/package.json +8 -8
|
@@ -9,140 +9,193 @@ var Import_module = require('./Import.module.css.js');
|
|
|
9
9
|
var turnkey = require('../../assets/turnkey.svg.js');
|
|
10
10
|
var _import = require('../../assets/import.svg.js');
|
|
11
11
|
|
|
12
|
-
const Import = ({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
console.error("Error initializing IframeStamper:", error);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
const handleCloseModal = () => {
|
|
43
|
-
if (importIframeClient) {
|
|
44
|
-
setImportIframeClient(null);
|
|
45
|
-
const existingIframe = document.getElementById(TurnkeyIframeElementId);
|
|
46
|
-
if (existingIframe) {
|
|
47
|
-
existingIframe.remove();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
setIsModalOpen(false);
|
|
51
|
-
};
|
|
52
|
-
const handleImport = async () => {
|
|
12
|
+
const Import = ({
|
|
13
|
+
onHandleImportSuccess,
|
|
14
|
+
onError
|
|
15
|
+
}) => {
|
|
16
|
+
const {
|
|
17
|
+
authIframeClient,
|
|
18
|
+
turnkey: turnkey$1
|
|
19
|
+
} = useTurnkey.useTurnkey();
|
|
20
|
+
const [importIframeClient, setImportIframeClient] = React.useState(null);
|
|
21
|
+
const [isModalOpen, setIsModalOpen] = React.useState(false);
|
|
22
|
+
const [walletName, setWalletName] = React.useState("");
|
|
23
|
+
const TurnkeyImportIframeContainerId = "turnkey-import-iframe-container-id";
|
|
24
|
+
const TurnkeyIframeElementId = "turnkey-default-iframe-element-id";
|
|
25
|
+
const handleOpenModal = async () => {
|
|
26
|
+
setIsModalOpen(true);
|
|
27
|
+
requestAnimationFrame(async () => {
|
|
28
|
+
const iframeContainer = document.getElementById(TurnkeyImportIframeContainerId);
|
|
29
|
+
if (!iframeContainer) {
|
|
30
|
+
console.error("Iframe container not found.");
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const existingIframe = document.getElementById(TurnkeyIframeElementId);
|
|
34
|
+
if (!existingIframe) {
|
|
53
35
|
try {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
62
|
-
const injected = await importIframeClient.injectImportBundle(initResult.importBundle, whoami.organizationId, whoami.userId);
|
|
63
|
-
if (!injected) {
|
|
64
|
-
throw new Error("Failed to inject import bundle");
|
|
65
|
-
}
|
|
66
|
-
const encryptedBundle = await importIframeClient.extractWalletEncryptedBundle();
|
|
67
|
-
if (!encryptedBundle || encryptedBundle.trim() === "") {
|
|
68
|
-
throw new Error("Encrypted wallet bundle is empty or invalid");
|
|
69
|
-
}
|
|
70
|
-
const response = await authIframeClient?.importWallet({
|
|
71
|
-
organizationId: whoami.organizationId,
|
|
72
|
-
userId: whoami.userId,
|
|
73
|
-
walletName: walletName,
|
|
74
|
-
encryptedBundle,
|
|
75
|
-
accounts: [...sdkBrowser.DEFAULT_ETHEREUM_ACCOUNTS, ...sdkBrowser.DEFAULT_SOLANA_ACCOUNTS],
|
|
76
|
-
});
|
|
77
|
-
if (response?.walletId) {
|
|
78
|
-
handleCloseModal();
|
|
79
|
-
onHandleImportSuccess();
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
throw new Error("Failed to import wallet");
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
console.error("Error during wallet import:", error);
|
|
87
|
-
onError("Failed to import wallet");
|
|
36
|
+
const newImportIframeClient = await turnkey$1?.iframeClient({
|
|
37
|
+
iframeContainer: document.getElementById(TurnkeyImportIframeContainerId),
|
|
38
|
+
iframeUrl: process.env.NEXT_PUBLIC_IMPORT_IFRAME_URL
|
|
39
|
+
});
|
|
40
|
+
setImportIframeClient(newImportIframeClient);
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error("Error initializing IframeStamper:", error);
|
|
88
43
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const handleCloseModal = () => {
|
|
48
|
+
if (importIframeClient) {
|
|
49
|
+
setImportIframeClient(null);
|
|
50
|
+
const existingIframe = document.getElementById(TurnkeyIframeElementId);
|
|
51
|
+
if (existingIframe) {
|
|
52
|
+
existingIframe.remove();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
setIsModalOpen(false);
|
|
56
|
+
};
|
|
57
|
+
const handleImport = async () => {
|
|
58
|
+
try {
|
|
59
|
+
const whoami = await authIframeClient.getWhoami();
|
|
60
|
+
if (!importIframeClient) {
|
|
61
|
+
throw new Error("Import iframe client not initialized");
|
|
62
|
+
}
|
|
63
|
+
const initResult = await authIframeClient.initImportWallet({
|
|
64
|
+
organizationId: whoami.organizationId,
|
|
65
|
+
userId: whoami.userId
|
|
66
|
+
});
|
|
67
|
+
const injected = await importIframeClient.injectImportBundle(initResult.importBundle, whoami.organizationId, whoami.userId);
|
|
68
|
+
if (!injected) {
|
|
69
|
+
throw new Error("Failed to inject import bundle");
|
|
70
|
+
}
|
|
71
|
+
const encryptedBundle = await importIframeClient.extractWalletEncryptedBundle();
|
|
72
|
+
if (!encryptedBundle || encryptedBundle.trim() === "") {
|
|
73
|
+
throw new Error("Encrypted wallet bundle is empty or invalid");
|
|
74
|
+
}
|
|
75
|
+
const response = await authIframeClient?.importWallet({
|
|
76
|
+
organizationId: whoami.organizationId,
|
|
77
|
+
userId: whoami.userId,
|
|
78
|
+
walletName: walletName,
|
|
79
|
+
encryptedBundle,
|
|
80
|
+
accounts: [...sdkBrowser.DEFAULT_ETHEREUM_ACCOUNTS, ...sdkBrowser.DEFAULT_SOLANA_ACCOUNTS]
|
|
81
|
+
});
|
|
82
|
+
if (response?.walletId) {
|
|
83
|
+
handleCloseModal();
|
|
84
|
+
onHandleImportSuccess();
|
|
85
|
+
} else {
|
|
86
|
+
throw new Error("Failed to import wallet");
|
|
87
|
+
}
|
|
88
|
+
} catch (error) {
|
|
89
|
+
console.error("Error during wallet import:", error);
|
|
90
|
+
onError("Failed to import wallet");
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
94
|
+
children: [jsxRuntime.jsxs("button", {
|
|
95
|
+
className: Import_module.importButton,
|
|
96
|
+
onClick: handleOpenModal,
|
|
97
|
+
children: [jsxRuntime.jsx("img", {
|
|
98
|
+
src: _import
|
|
99
|
+
}), "Import wallet"]
|
|
100
|
+
}), jsxRuntime.jsx(material.Modal, {
|
|
101
|
+
open: isModalOpen,
|
|
102
|
+
onClose: handleCloseModal,
|
|
103
|
+
children: jsxRuntime.jsxs(material.Box, {
|
|
104
|
+
sx: {
|
|
105
|
+
position: "absolute",
|
|
106
|
+
top: "50%",
|
|
107
|
+
left: "50%",
|
|
108
|
+
transform: "translate(-50%, -50%)",
|
|
109
|
+
bgcolor: "var(--card-bg)",
|
|
110
|
+
boxShadow: 24,
|
|
111
|
+
p: 4,
|
|
112
|
+
borderRadius: 2,
|
|
113
|
+
width: "366px"
|
|
114
|
+
},
|
|
115
|
+
children: [jsxRuntime.jsx("div", {
|
|
116
|
+
onClick: handleCloseModal,
|
|
117
|
+
style: {
|
|
118
|
+
position: "absolute",
|
|
119
|
+
top: "16px",
|
|
120
|
+
right: "16px",
|
|
121
|
+
background: "none",
|
|
122
|
+
border: "none",
|
|
123
|
+
fontSize: "20px",
|
|
124
|
+
fontWeight: "bold",
|
|
125
|
+
cursor: "pointer",
|
|
126
|
+
color: "var(--text-primary)"
|
|
127
|
+
},
|
|
128
|
+
children: "\u00D7"
|
|
129
|
+
}), jsxRuntime.jsx("div", {
|
|
130
|
+
className: Import_module.importModalTitle,
|
|
131
|
+
children: "Import wallet"
|
|
132
|
+
}), jsxRuntime.jsx(material.Typography, {
|
|
133
|
+
variant: "subtitle2",
|
|
134
|
+
sx: {
|
|
135
|
+
color: "var(--text-primary)",
|
|
136
|
+
mb: 2
|
|
137
|
+
},
|
|
138
|
+
children: "Enter your seed phrase. Seed phrases are typically 12-24 words."
|
|
139
|
+
}), jsxRuntime.jsx("div", {
|
|
140
|
+
id: TurnkeyImportIframeContainerId,
|
|
141
|
+
style: {
|
|
142
|
+
height: "100%",
|
|
143
|
+
overflow: "hidden",
|
|
144
|
+
display: "block",
|
|
145
|
+
backgroundColor: "#ffffff",
|
|
146
|
+
width: "100%",
|
|
147
|
+
boxSizing: "border-box",
|
|
148
|
+
padding: "5px",
|
|
149
|
+
borderStyle: "solid",
|
|
150
|
+
borderWidth: "1px",
|
|
151
|
+
borderRadius: "8px",
|
|
152
|
+
borderColor: "rgba(216, 219, 227, 1)"
|
|
153
|
+
}
|
|
154
|
+
}), jsxRuntime.jsx(material.TextField, {
|
|
155
|
+
type: "walletName",
|
|
156
|
+
placeholder: "Wallet name",
|
|
157
|
+
value: walletName,
|
|
158
|
+
onChange: e => setWalletName(e.target.value),
|
|
159
|
+
fullWidth: true,
|
|
160
|
+
style: {
|
|
161
|
+
marginTop: "12px",
|
|
162
|
+
marginBottom: "12px"
|
|
163
|
+
},
|
|
164
|
+
sx: {
|
|
165
|
+
"& .MuiOutlinedInput-root": {
|
|
166
|
+
"& fieldset": {
|
|
167
|
+
borderColor: "var(--input-border)"
|
|
168
|
+
},
|
|
169
|
+
"&:hover fieldset": {
|
|
170
|
+
borderColor: "var(--input-hover-border)"
|
|
171
|
+
},
|
|
172
|
+
"&.Mui-focused fieldset": {
|
|
173
|
+
borderColor: "var(--input-focus-border)",
|
|
174
|
+
border: "1px solid"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"& .MuiInputBase-input": {
|
|
178
|
+
padding: "12px"
|
|
179
|
+
},
|
|
180
|
+
backgroundColor: "white"
|
|
181
|
+
},
|
|
182
|
+
variant: "outlined"
|
|
183
|
+
}), jsxRuntime.jsx("button", {
|
|
184
|
+
onClick: handleImport,
|
|
185
|
+
className: Import_module.importButton,
|
|
186
|
+
children: "Import"
|
|
187
|
+
}), jsxRuntime.jsxs("div", {
|
|
188
|
+
onClick: () => window.location.href = "https://www.turnkey.com/",
|
|
189
|
+
className: Import_module.poweredBy,
|
|
190
|
+
children: [jsxRuntime.jsx("span", {
|
|
191
|
+
children: "Secured by"
|
|
192
|
+
}), jsxRuntime.jsx("img", {
|
|
193
|
+
src: turnkey
|
|
194
|
+
})]
|
|
195
|
+
})]
|
|
196
|
+
})
|
|
197
|
+
})]
|
|
198
|
+
});
|
|
146
199
|
};
|
|
147
200
|
|
|
148
201
|
module.exports = Import;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Import.js","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["turnkey","useTurnkey","useState","DEFAULT_ETHEREUM_ACCOUNTS","DEFAULT_SOLANA_ACCOUNTS","_jsxs","_Fragment","styles","_jsx","importIcon","Modal","Box","Typography","TextField","turnkeyIcon"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Import.js","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["Import","onHandleImportSuccess","onError","authIframeClient","turnkey","useTurnkey","importIframeClient","setImportIframeClient","useState","isModalOpen","setIsModalOpen","walletName","setWalletName","TurnkeyImportIframeContainerId","TurnkeyIframeElementId","handleOpenModal","requestAnimationFrame","iframeContainer","document","getElementById","console","error","existingIframe","newImportIframeClient","iframeClient","iframeUrl","process","env","NEXT_PUBLIC_IMPORT_IFRAME_URL","handleCloseModal","remove","handleImport","whoami","getWhoami","Error","initResult","initImportWallet","organizationId","userId","injected","injectImportBundle","importBundle","encryptedBundle","extractWalletEncryptedBundle","trim","response","importWallet","accounts","DEFAULT_ETHEREUM_ACCOUNTS","DEFAULT_SOLANA_ACCOUNTS","walletId","_jsxs","_Fragment","children","className","styles","importButton","onClick","_jsx","src","importIcon","Modal","open","onClose","Box","sx","position","top","left","transform","bgcolor","boxShadow","p","borderRadius","width","style","right","background","border","fontSize","fontWeight","cursor","color","importModalTitle","Typography","variant","mb","id","height","overflow","display","backgroundColor","boxSizing","padding","borderStyle","borderWidth","borderColor","TextField","type","placeholder","value","onChange","e","target","fullWidth","marginTop","marginBottom","window","location","href","poweredBy","turnkeyIcon"],"mappings":"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"}
|