@turnkey/react-wallet-kit 1.0.0-beta.5 → 1.0.0

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 (123) hide show
  1. package/README.MD +5 -2
  2. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +49 -1
  3. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -1
  4. package/dist/components/auth/Email.d.ts.map +1 -1
  5. package/dist/components/auth/Email.js +3 -0
  6. package/dist/components/auth/Email.js.map +1 -1
  7. package/dist/components/auth/Email.mjs +3 -0
  8. package/dist/components/auth/Email.mjs.map +1 -1
  9. package/dist/components/auth/OAuth.d.ts.map +1 -1
  10. package/dist/components/auth/OAuth.js +1 -0
  11. package/dist/components/auth/OAuth.js.map +1 -1
  12. package/dist/components/auth/OAuth.mjs +1 -0
  13. package/dist/components/auth/OAuth.mjs.map +1 -1
  14. package/dist/components/auth/OTP.d.ts +1 -0
  15. package/dist/components/auth/OTP.d.ts.map +1 -1
  16. package/dist/components/auth/OTP.js +5 -1
  17. package/dist/components/auth/OTP.js.map +1 -1
  18. package/dist/components/auth/OTP.mjs +6 -3
  19. package/dist/components/auth/OTP.mjs.map +1 -1
  20. package/dist/components/auth/Passkey.d.ts.map +1 -1
  21. package/dist/components/auth/Passkey.js +2 -0
  22. package/dist/components/auth/Passkey.js.map +1 -1
  23. package/dist/components/auth/Passkey.mjs +2 -0
  24. package/dist/components/auth/Passkey.mjs.map +1 -1
  25. package/dist/components/auth/Wallet.d.ts +4 -4
  26. package/dist/components/auth/Wallet.d.ts.map +1 -1
  27. package/dist/components/auth/Wallet.js +72 -50
  28. package/dist/components/auth/Wallet.js.map +1 -1
  29. package/dist/components/auth/Wallet.mjs +78 -57
  30. package/dist/components/auth/Wallet.mjs.map +1 -1
  31. package/dist/components/auth/index.d.ts +5 -1
  32. package/dist/components/auth/index.d.ts.map +1 -1
  33. package/dist/components/auth/index.js +100 -14
  34. package/dist/components/auth/index.js.map +1 -1
  35. package/dist/components/auth/index.mjs +187 -84
  36. package/dist/components/auth/index.mjs.map +1 -1
  37. package/dist/components/design/Buttons.d.ts +2 -0
  38. package/dist/components/design/Buttons.d.ts.map +1 -1
  39. package/dist/components/design/Buttons.js +8 -2
  40. package/dist/components/design/Buttons.js.map +1 -1
  41. package/dist/components/design/Buttons.mjs +9 -3
  42. package/dist/components/design/Buttons.mjs.map +1 -1
  43. package/dist/components/export/Export.d.ts +2 -1
  44. package/dist/components/export/Export.d.ts.map +1 -1
  45. package/dist/components/export/Export.js +8 -6
  46. package/dist/components/export/Export.js.map +1 -1
  47. package/dist/components/export/Export.mjs +8 -6
  48. package/dist/components/export/Export.mjs.map +1 -1
  49. package/dist/components/export/ExportWarning.d.ts +2 -1
  50. package/dist/components/export/ExportWarning.d.ts.map +1 -1
  51. package/dist/components/export/ExportWarning.js +4 -2
  52. package/dist/components/export/ExportWarning.js.map +1 -1
  53. package/dist/components/export/ExportWarning.mjs +4 -2
  54. package/dist/components/export/ExportWarning.mjs.map +1 -1
  55. package/dist/components/import/Import.d.ts +7 -3
  56. package/dist/components/import/Import.d.ts.map +1 -1
  57. package/dist/components/import/Import.js +77 -37
  58. package/dist/components/import/Import.js.map +1 -1
  59. package/dist/components/import/Import.mjs +120 -55
  60. package/dist/components/import/Import.mjs.map +1 -1
  61. package/dist/components/sign/Message.d.ts.map +1 -1
  62. package/dist/components/sign/Message.js +1 -0
  63. package/dist/components/sign/Message.js.map +1 -1
  64. package/dist/components/sign/Message.mjs +1 -0
  65. package/dist/components/sign/Message.mjs.map +1 -1
  66. package/dist/components/user/ConnectWallet.d.ts +8 -0
  67. package/dist/components/user/ConnectWallet.d.ts.map +1 -0
  68. package/dist/components/user/{LinkWallet.js → ConnectWallet.js} +18 -18
  69. package/dist/components/user/ConnectWallet.js.map +1 -0
  70. package/dist/components/user/{LinkWallet.mjs → ConnectWallet.mjs} +25 -25
  71. package/dist/components/user/ConnectWallet.mjs.map +1 -0
  72. package/dist/components/user/RemovePasskey.d.ts.map +1 -1
  73. package/dist/components/user/RemovePasskey.js +1 -0
  74. package/dist/components/user/RemovePasskey.js.map +1 -1
  75. package/dist/components/user/RemovePasskey.mjs +1 -0
  76. package/dist/components/user/RemovePasskey.mjs.map +1 -1
  77. package/dist/index.js +13 -0
  78. package/dist/index.js.map +1 -1
  79. package/dist/index.mjs +2 -1
  80. package/dist/index.mjs.map +1 -1
  81. package/dist/providers/client/Provider.d.ts +3 -3
  82. package/dist/providers/client/Provider.d.ts.map +1 -1
  83. package/dist/providers/client/Provider.js +760 -149
  84. package/dist/providers/client/Provider.js.map +1 -1
  85. package/dist/providers/client/Provider.mjs +2474 -1624
  86. package/dist/providers/client/Provider.mjs.map +1 -1
  87. package/dist/providers/client/Types.d.ts +116 -11
  88. package/dist/providers/client/Types.d.ts.map +1 -1
  89. package/dist/providers/client/Types.js.map +1 -1
  90. package/dist/providers/client/Types.mjs.map +1 -1
  91. package/dist/providers/modal/Provider.js +1 -1
  92. package/dist/providers/modal/Provider.mjs +1 -1
  93. package/dist/styles.css +1 -1
  94. package/dist/tests/timers-test.d.ts +2 -0
  95. package/dist/tests/timers-test.d.ts.map +1 -0
  96. package/dist/tests/utils-test.d.ts +2 -0
  97. package/dist/tests/utils-test.d.ts.map +1 -0
  98. package/dist/types/base.d.ts +31 -3
  99. package/dist/types/base.d.ts.map +1 -1
  100. package/dist/types/base.js +23 -0
  101. package/dist/types/base.js.map +1 -1
  102. package/dist/types/base.mjs +19 -1
  103. package/dist/types/base.mjs.map +1 -1
  104. package/dist/utils/timers.d.ts +73 -0
  105. package/dist/utils/timers.d.ts.map +1 -0
  106. package/dist/utils/timers.js +133 -0
  107. package/dist/utils/timers.js.map +1 -0
  108. package/dist/utils/timers.mjs +142 -0
  109. package/dist/utils/timers.mjs.map +1 -0
  110. package/dist/{utils.d.ts → utils/utils.d.ts} +8 -3
  111. package/dist/utils/utils.d.ts.map +1 -0
  112. package/dist/{utils.js → utils/utils.js} +12 -3
  113. package/dist/utils/utils.js.map +1 -0
  114. package/dist/{utils.mjs → utils/utils.mjs} +12 -5
  115. package/dist/utils/utils.mjs.map +1 -0
  116. package/package.json +6 -5
  117. package/dist/components/user/LinkWallet.d.ts +0 -8
  118. package/dist/components/user/LinkWallet.d.ts.map +0 -1
  119. package/dist/components/user/LinkWallet.js.map +0 -1
  120. package/dist/components/user/LinkWallet.mjs.map +0 -1
  121. package/dist/utils.d.ts.map +0 -1
  122. package/dist/utils.js.map +0 -1
  123. package/dist/utils.mjs.map +0 -1
@@ -11,6 +11,7 @@ var react$1 = require('@headlessui/react');
11
11
  var core = require('@turnkey/core');
12
12
  var Success = require('../design/Success.js');
13
13
  var clsx = require('clsx');
14
+ var base = require('../../types/base.js');
14
15
 
15
16
  const TurnkeyImportIframeContainerId = "turnkey-import-iframe-container-id";
16
17
  const TurnkeyIframeElementId = "turnkey-default-iframe-element-id";
@@ -20,20 +21,27 @@ const iconBackgroundLight = "#e5e7eb";
20
21
  const iconBackgroundDark = "#333336";
21
22
  const iconTextLight = "#828282";
22
23
  const iconTextDark = "#a3a3a5";
23
- function ImportComponent(params) {
24
+ function ImportComponent(props) {
24
25
  const {
26
+ importType,
27
+ curve = "CURVE_SECP256K1",
28
+ addressFormats = ["ADDRESS_FORMAT_ETHEREUM"],
25
29
  onSuccess,
26
30
  onError,
27
31
  defaultWalletAccounts,
28
32
  successPageDuration,
29
33
  stampWith
30
- } = params;
34
+ } = props;
31
35
  const {
32
36
  config,
33
37
  session,
34
38
  importWallet,
39
+ importPrivateKey,
35
40
  httpClient
36
41
  } = Hook.useTurnkey();
42
+ if (!config) {
43
+ throw new sdkTypes.TurnkeyError("Turnkey SDK is not properly configured. Please check your configuration.", sdkTypes.TurnkeyErrorCodes.CONFIG_NOT_INITIALIZED);
44
+ }
37
45
  const [walletName, setWalletName] = react.useState("");
38
46
  const [isLoading, setIsLoading] = react.useState(false);
39
47
  const [error, setError] = react.useState(null);
@@ -42,7 +50,6 @@ function ImportComponent(params) {
42
50
  setShaking(true);
43
51
  setTimeout(() => setShaking(false), 250);
44
52
  };
45
- const apiBaseUrl = config?.apiBaseUrl;
46
53
  const importIframeUrl = config?.importIframeUrl;
47
54
  const {
48
55
  closeModal,
@@ -50,9 +57,8 @@ function ImportComponent(params) {
50
57
  isMobile
51
58
  } = Hook$1.useModal();
52
59
  const [importIframeClient, setImportIframeClient] = react.useState(null);
53
- if (!apiBaseUrl) {
54
- throw new sdkTypes.TurnkeyError("API base URL is not configured. Please set it in the Turnkey configuration.");
55
- }
60
+ const subtitle = importType === base.ImportType.Wallet ? "Enter your seed phrase. Seed phrases are typically 12-24 words." : importType === base.ImportType.PrivateKey ? "Enter your private key." : "";
61
+ const placeholder = importType === base.ImportType.Wallet ? "Enter your wallet name" : importType === base.ImportType.PrivateKey ? "Enter your private key name" : "";
56
62
  react.useEffect(() => {
57
63
  const initIframe = async () => {
58
64
  try {
@@ -114,42 +120,73 @@ function ImportComponent(params) {
114
120
  if (!importIframeClient) {
115
121
  throw new sdkTypes.TurnkeyError("Import iframe client not initialized", sdkTypes.TurnkeyErrorCodes.INTERNAL_ERROR);
116
122
  }
117
- const initResult = await httpClient?.initImportWallet({
118
- organizationId: session?.organizationId,
119
- userId: session?.userId
120
- });
121
- if (!initResult || !initResult.importBundle) {
122
- throw new sdkTypes.TurnkeyError("Failed to retrieve import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
123
- }
124
- const injected = await importIframeClient.injectImportBundle(initResult.importBundle, session?.organizationId, session?.userId);
125
- if (!injected) {
126
- throw new sdkTypes.TurnkeyError("Failed to inject import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
127
- }
128
- const encryptedBundle = await importIframeClient.extractWalletEncryptedBundle();
129
- if (!encryptedBundle || encryptedBundle.trim() === "") {
130
- throw new sdkTypes.TurnkeyError("Encrypted bundle is empty", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
131
- }
132
- let accounts = [];
133
- if (Array.isArray(defaultWalletAccounts) && defaultWalletAccounts.length > 0 && defaultWalletAccounts[0]?.addressFormat === undefined) {
134
- accounts = core.generateWalletAccountsFromAddressFormat({
135
- addresses: defaultWalletAccounts
136
- });
137
- } else if (Array.isArray(defaultWalletAccounts)) {
138
- accounts = defaultWalletAccounts;
123
+ let response;
124
+ switch (importType) {
125
+ case base.ImportType.Wallet:
126
+ const initWalletResult = await httpClient?.initImportWallet({
127
+ organizationId: session?.organizationId,
128
+ userId: session?.userId
129
+ });
130
+ if (!initWalletResult || !initWalletResult.importBundle) {
131
+ throw new sdkTypes.TurnkeyError("Failed to retrieve import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
132
+ }
133
+ const injectedWallet = await importIframeClient.injectImportBundle(initWalletResult.importBundle, session?.organizationId, session?.userId);
134
+ if (!injectedWallet) {
135
+ throw new sdkTypes.TurnkeyError("Failed to inject import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
136
+ }
137
+ const encryptedWalletBundle = await importIframeClient.extractWalletEncryptedBundle();
138
+ if (!encryptedWalletBundle || encryptedWalletBundle.trim() === "") {
139
+ throw new sdkTypes.TurnkeyError("Encrypted bundle is empty", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
140
+ }
141
+ let accounts = [];
142
+ if (Array.isArray(defaultWalletAccounts) && defaultWalletAccounts.length > 0 && defaultWalletAccounts[0]?.addressFormat === undefined) {
143
+ accounts = core.generateWalletAccountsFromAddressFormat({
144
+ addresses: defaultWalletAccounts
145
+ });
146
+ } else if (Array.isArray(defaultWalletAccounts)) {
147
+ accounts = defaultWalletAccounts;
148
+ }
149
+ response = await importWallet({
150
+ walletName: walletName,
151
+ accounts,
152
+ encryptedBundle: encryptedWalletBundle,
153
+ stampWith
154
+ });
155
+ break;
156
+ case base.ImportType.PrivateKey:
157
+ const initPrivateKeyResult = await httpClient?.initImportPrivateKey({
158
+ organizationId: session?.organizationId,
159
+ userId: session?.userId
160
+ });
161
+ if (!initPrivateKeyResult || !initPrivateKeyResult.importBundle) {
162
+ throw new sdkTypes.TurnkeyError("Failed to retrieve import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
163
+ }
164
+ const injectedKey = await importIframeClient.injectImportBundle(initPrivateKeyResult.importBundle, session?.organizationId, session?.userId);
165
+ if (!injectedKey) {
166
+ throw new sdkTypes.TurnkeyError("Failed to inject import bundle", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
167
+ }
168
+ const encryptedKeyBundle = await importIframeClient.extractKeyEncryptedBundle(curve === "CURVE_ED25519" ? iframeStamper.KeyFormat.Solana : iframeStamper.KeyFormat.Hexadecimal);
169
+ if (!encryptedKeyBundle || encryptedKeyBundle.trim() === "") {
170
+ throw new sdkTypes.TurnkeyError("Encrypted bundle is empty", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
171
+ }
172
+ response = await importPrivateKey({
173
+ addressFormats,
174
+ curve,
175
+ privateKeyName: walletName,
176
+ encryptedBundle: encryptedKeyBundle,
177
+ stampWith
178
+ });
179
+ break;
180
+ default:
181
+ throw new sdkTypes.TurnkeyError("Invalid import type", sdkTypes.TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
139
182
  }
140
- const response = await importWallet({
141
- walletName: walletName,
142
- accounts,
143
- encryptedBundle,
144
- stampWith
145
- });
146
183
  if (response) {
147
184
  onSuccess(response);
148
185
  if (successPageDuration && successPageDuration !== 0) {
149
186
  pushPage({
150
187
  key: "success",
151
188
  content: jsxRuntime.jsx(Success.SuccessPage, {
152
- text: "Wallet imported successfully!",
189
+ text: importType === base.ImportType.Wallet ? "Wallet imported successfully!" : importType === base.ImportType.PrivateKey ? "Private key imported successfully!" : "Success!",
153
190
  duration: successPageDuration,
154
191
  onComplete: () => {
155
192
  handleImportModalClose();
@@ -181,7 +218,7 @@ function ImportComponent(params) {
181
218
  className: clsx("flex flex-col items-center pt-4", isMobile ? "w-full" : "w-[21rem]"),
182
219
  children: [jsxRuntime.jsx("p", {
183
220
  className: "text-sm text-icon-text-light dark:text-icon-text-dark",
184
- children: "Enter your seed phrase. Seed phrases are typically 12-24 words."
221
+ children: subtitle
185
222
  }), jsxRuntime.jsx("div", {
186
223
  id: TurnkeyImportIframeContainerId,
187
224
  style: {
@@ -200,17 +237,20 @@ function ImportComponent(params) {
200
237
  className: `transition-all ${shaking ? "animate-shake" : ""}`
201
238
  }), jsxRuntime.jsx(react$1.Input, {
202
239
  type: "text",
203
- placeholder: "Enter your wallet name",
240
+ "data-testid": "import-wallet-name-input",
241
+ placeholder: placeholder,
204
242
  value: walletName,
205
243
  onChange: e => setWalletName(e.target.value),
206
244
  className: "placeholder:text-icon-text-light dark:placeholder:text-icon-text-dark w-full my-2 py-3 px-3 rounded-md text-inherit bg-icon-background-light dark:bg-icon-background-dark border border-modal-background-dark/20 dark:border-modal-background-light/20 focus:outline-primary-light focus:dark:outline-primary-dark focus:outline-[1px] focus:outline-offset-0 box-border"
207
245
  }), jsxRuntime.jsx(Buttons.ActionButton, {
246
+ name: "import-button",
208
247
  loading: isLoading,
209
248
  spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
210
249
  onClick: handleImport,
211
250
  className: "bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark",
212
251
  children: "Import"
213
252
  }), jsxRuntime.jsxs("p", {
253
+ "data-testid": "import-error-message",
214
254
  className: clsx("text-sm text-red-500 transition-opacity delay-75 line-clamp-2 w-full", error ? "opacity-100 pointer-events-auto mt-2" : "opacity-0 pointer-events-none absolute"),
215
255
  children: [error?.message, ":", " ", error?.cause instanceof sdkTypes.TurnkeyError ? error?.cause.message : error?.cause?.toString() || "Unknown error"]
216
256
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"Import.js","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["TurnkeyImportIframeContainerId","TurnkeyIframeElementId","TurnkeyIframeClassNames","iconBackgroundLight","iconBackgroundDark","iconTextLight","iconTextDark","ImportComponent","params","onSuccess","onError","defaultWalletAccounts","successPageDuration","stampWith","config","session","importWallet","httpClient","useTurnkey","walletName","setWalletName","useState","isLoading","setIsLoading","error","setError","shaking","setShaking","shakeInput","setTimeout","apiBaseUrl","importIframeUrl","closeModal","pushPage","isMobile","useModal","importIframeClient","setImportIframeClient","TurnkeyError","useEffect","initIframe","newImportIframeClient","IframeStamper","iframeUrl","iframeElementId","iframeContainer","document","getElementById","init","applySettings","styles","fontSize","backgroundColor","ui","darkMode","colors","dark","iconBackground","light","color","iconText","TurnkeyErrorCodes","INTERNAL_ERROR","existingIframe","iframeElement","className","handleImportModalClose","reapplyIframeStyles","remove","handleImport","initResult","initImportWallet","organizationId","userId","importBundle","IMPORT_WALLET_ERROR","injected","injectImportBundle","encryptedBundle","extractWalletEncryptedBundle","trim","accounts","Array","isArray","length","addressFormat","undefined","generateWalletAccountsFromAddressFormat","addresses","response","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","clear","_jsxs","clsx","children","id","style","height","overflow","display","width","boxSizing","padding","borderStyle","borderWidth","borderRadius","borderColor","Input","type","placeholder","value","onChange","e","target","ActionButton","loading","spinnerClassName","onClick","message","cause","toString"],"mappings":"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"}
1
+ {"version":3,"file":"Import.js","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["TurnkeyImportIframeContainerId","TurnkeyIframeElementId","TurnkeyIframeClassNames","iconBackgroundLight","iconBackgroundDark","iconTextLight","iconTextDark","ImportComponent","props","importType","curve","addressFormats","onSuccess","onError","defaultWalletAccounts","successPageDuration","stampWith","config","session","importWallet","importPrivateKey","httpClient","useTurnkey","TurnkeyError","TurnkeyErrorCodes","CONFIG_NOT_INITIALIZED","walletName","setWalletName","useState","isLoading","setIsLoading","error","setError","shaking","setShaking","shakeInput","setTimeout","importIframeUrl","closeModal","pushPage","isMobile","useModal","importIframeClient","setImportIframeClient","subtitle","ImportType","Wallet","PrivateKey","placeholder","useEffect","initIframe","newImportIframeClient","IframeStamper","iframeUrl","iframeElementId","iframeContainer","document","getElementById","init","applySettings","styles","fontSize","backgroundColor","ui","darkMode","colors","dark","iconBackground","light","color","iconText","INTERNAL_ERROR","existingIframe","iframeElement","className","handleImportModalClose","reapplyIframeStyles","remove","handleImport","response","initWalletResult","initImportWallet","organizationId","userId","importBundle","IMPORT_WALLET_ERROR","injectedWallet","injectImportBundle","encryptedWalletBundle","extractWalletEncryptedBundle","trim","accounts","Array","isArray","length","addressFormat","undefined","generateWalletAccountsFromAddressFormat","addresses","encryptedBundle","initPrivateKeyResult","initImportPrivateKey","injectedKey","encryptedKeyBundle","extractKeyEncryptedBundle","KeyFormat","Solana","Hexadecimal","privateKeyName","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","clear","_jsxs","clsx","children","id","style","height","overflow","display","width","boxSizing","padding","borderStyle","borderWidth","borderRadius","borderColor","Input","type","value","onChange","e","target","ActionButton","name","loading","spinnerClassName","onClick","message","cause","toString"],"mappings":"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"}
@@ -3,13 +3,14 @@ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useEffect } from 'react';
4
4
  import { useModal } from '../../providers/modal/Hook.mjs';
5
5
  import { useTurnkey } from '../../providers/client/Hook.mjs';
6
- import { IframeStamper } from '@turnkey/iframe-stamper';
6
+ import { IframeStamper, KeyFormat } from '@turnkey/iframe-stamper';
7
7
  import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
8
8
  import { ActionButton } from '../design/Buttons.mjs';
9
9
  import { Input } from '@headlessui/react';
10
10
  import { generateWalletAccountsFromAddressFormat } from '@turnkey/core';
11
11
  import { SuccessPage } from '../design/Success.mjs';
12
12
  import clsx from 'clsx';
13
+ import { ImportType } from '../../types/base.mjs';
13
14
 
14
15
  var TurnkeyImportIframeContainerId = "turnkey-import-iframe-container-id";
15
16
  var TurnkeyIframeElementId = "turnkey-default-iframe-element-id";
@@ -19,18 +20,27 @@ var iconBackgroundLight = "#e5e7eb";
19
20
  var iconBackgroundDark = "#333336";
20
21
  var iconTextLight = "#828282";
21
22
  var iconTextDark = "#a3a3a5";
22
- function ImportComponent(params) {
23
+ function ImportComponent(props) {
23
24
  var _config$ui11, _config$ui12, _config$ui12$colors, _config$ui12$colors$d, _config$ui13, _config$ui13$colors, _config$ui13$colors$l, _config$ui14, _config$ui15, _config$ui15$colors, _config$ui15$colors$d, _config$ui16, _config$ui16$colors, _config$ui16$colors$l, _error$cause;
24
- var onSuccess = params.onSuccess,
25
- onError = params.onError,
26
- defaultWalletAccounts = params.defaultWalletAccounts,
27
- successPageDuration = params.successPageDuration,
28
- stampWith = params.stampWith;
25
+ var importType = props.importType,
26
+ _props$curve = props.curve,
27
+ curve = _props$curve === void 0 ? "CURVE_SECP256K1" : _props$curve,
28
+ _props$addressFormats = props.addressFormats,
29
+ addressFormats = _props$addressFormats === void 0 ? ["ADDRESS_FORMAT_ETHEREUM"] : _props$addressFormats,
30
+ onSuccess = props.onSuccess,
31
+ onError = props.onError,
32
+ defaultWalletAccounts = props.defaultWalletAccounts,
33
+ successPageDuration = props.successPageDuration,
34
+ stampWith = props.stampWith;
29
35
  var _useTurnkey = useTurnkey(),
30
36
  config = _useTurnkey.config,
31
37
  session = _useTurnkey.session,
32
38
  importWallet = _useTurnkey.importWallet,
39
+ importPrivateKey = _useTurnkey.importPrivateKey,
33
40
  httpClient = _useTurnkey.httpClient;
41
+ if (!config) {
42
+ throw new TurnkeyError("Turnkey SDK is not properly configured. Please check your configuration.", TurnkeyErrorCodes.CONFIG_NOT_INITIALIZED);
43
+ }
34
44
  var _useState = useState(""),
35
45
  _useState2 = _slicedToArray(_useState, 2),
36
46
  walletName = _useState2[0],
@@ -53,7 +63,6 @@ function ImportComponent(params) {
53
63
  return setShaking(false);
54
64
  }, 250);
55
65
  };
56
- var apiBaseUrl = config === null || config === void 0 ? void 0 : config.apiBaseUrl;
57
66
  var importIframeUrl = config === null || config === void 0 ? void 0 : config.importIframeUrl;
58
67
  var _useModal = useModal(),
59
68
  closeModal = _useModal.closeModal,
@@ -63,9 +72,8 @@ function ImportComponent(params) {
63
72
  _useState0 = _slicedToArray(_useState9, 2),
64
73
  importIframeClient = _useState0[0],
65
74
  setImportIframeClient = _useState0[1];
66
- if (!apiBaseUrl) {
67
- throw new TurnkeyError("API base URL is not configured. Please set it in the Turnkey configuration.");
68
- }
75
+ var subtitle = importType === ImportType.Wallet ? "Enter your seed phrase. Seed phrases are typically 12-24 words." : importType === ImportType.PrivateKey ? "Enter your private key." : "";
76
+ var placeholder = importType === ImportType.Wallet ? "Enter your wallet name" : importType === ImportType.PrivateKey ? "Enter your private key name" : "";
69
77
  useEffect(function () {
70
78
  var initIframe = /*#__PURE__*/function () {
71
79
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -162,7 +170,8 @@ function ImportComponent(params) {
162
170
  }
163
171
  function _handleImport() {
164
172
  _handleImport = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
165
- var _defaultWalletAccount, initResult, injected, encryptedBundle, accounts, response;
173
+ var _defaultWalletAccount;
174
+ var response, initWalletResult, injectedWallet, encryptedWalletBundle, accounts, initPrivateKeyResult, injectedKey, encryptedKeyBundle;
166
175
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
167
176
  while (1) switch (_context3.prev = _context3.next) {
168
177
  case 0:
@@ -174,39 +183,43 @@ function ImportComponent(params) {
174
183
  }
175
184
  throw new TurnkeyError("Import iframe client not initialized", TurnkeyErrorCodes.INTERNAL_ERROR);
176
185
  case 4:
177
- _context3.next = 6;
186
+ _context3.t0 = importType;
187
+ _context3.next = _context3.t0 === ImportType.Wallet ? 7 : _context3.t0 === ImportType.PrivateKey ? 28 : 47;
188
+ break;
189
+ case 7:
190
+ _context3.next = 9;
178
191
  return httpClient === null || httpClient === void 0 ? void 0 : httpClient.initImportWallet({
179
192
  organizationId: session === null || session === void 0 ? void 0 : session.organizationId,
180
193
  userId: session === null || session === void 0 ? void 0 : session.userId
181
194
  });
182
- case 6:
183
- initResult = _context3.sent;
184
- if (!(!initResult || !initResult.importBundle)) {
185
- _context3.next = 9;
195
+ case 9:
196
+ initWalletResult = _context3.sent;
197
+ if (!(!initWalletResult || !initWalletResult.importBundle)) {
198
+ _context3.next = 12;
186
199
  break;
187
200
  }
188
201
  throw new TurnkeyError("Failed to retrieve import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
189
- case 9:
190
- _context3.next = 11;
191
- return importIframeClient.injectImportBundle(initResult.importBundle, session === null || session === void 0 ? void 0 : session.organizationId, session === null || session === void 0 ? void 0 : session.userId);
192
- case 11:
193
- injected = _context3.sent;
194
- if (injected) {
195
- _context3.next = 14;
202
+ case 12:
203
+ _context3.next = 14;
204
+ return importIframeClient.injectImportBundle(initWalletResult.importBundle, session === null || session === void 0 ? void 0 : session.organizationId, session === null || session === void 0 ? void 0 : session.userId);
205
+ case 14:
206
+ injectedWallet = _context3.sent;
207
+ if (injectedWallet) {
208
+ _context3.next = 17;
196
209
  break;
197
210
  }
198
211
  throw new TurnkeyError("Failed to inject import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
199
- case 14:
200
- _context3.next = 16;
212
+ case 17:
213
+ _context3.next = 19;
201
214
  return importIframeClient.extractWalletEncryptedBundle();
202
- case 16:
203
- encryptedBundle = _context3.sent;
204
- if (!(!encryptedBundle || encryptedBundle.trim() === "")) {
205
- _context3.next = 19;
215
+ case 19:
216
+ encryptedWalletBundle = _context3.sent;
217
+ if (!(!encryptedWalletBundle || encryptedWalletBundle.trim() === "")) {
218
+ _context3.next = 22;
206
219
  break;
207
220
  }
208
221
  throw new TurnkeyError("Encrypted bundle is empty", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
209
- case 19:
222
+ case 22:
210
223
  accounts = [];
211
224
  if (Array.isArray(defaultWalletAccounts) && defaultWalletAccounts.length > 0 && ((_defaultWalletAccount = defaultWalletAccounts[0]) === null || _defaultWalletAccount === void 0 ? void 0 : _defaultWalletAccount.addressFormat) === undefined) {
212
225
  accounts = generateWalletAccountsFromAddressFormat({
@@ -215,17 +228,66 @@ function ImportComponent(params) {
215
228
  } else if (Array.isArray(defaultWalletAccounts)) {
216
229
  accounts = defaultWalletAccounts;
217
230
  }
218
- _context3.next = 23;
231
+ _context3.next = 26;
219
232
  return importWallet({
220
233
  walletName: walletName,
221
234
  accounts: accounts,
222
- encryptedBundle: encryptedBundle,
235
+ encryptedBundle: encryptedWalletBundle,
236
+ stampWith: stampWith
237
+ });
238
+ case 26:
239
+ response = _context3.sent;
240
+ return _context3.abrupt("break", 48);
241
+ case 28:
242
+ _context3.next = 30;
243
+ return httpClient === null || httpClient === void 0 ? void 0 : httpClient.initImportPrivateKey({
244
+ organizationId: session === null || session === void 0 ? void 0 : session.organizationId,
245
+ userId: session === null || session === void 0 ? void 0 : session.userId
246
+ });
247
+ case 30:
248
+ initPrivateKeyResult = _context3.sent;
249
+ if (!(!initPrivateKeyResult || !initPrivateKeyResult.importBundle)) {
250
+ _context3.next = 33;
251
+ break;
252
+ }
253
+ throw new TurnkeyError("Failed to retrieve import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
254
+ case 33:
255
+ _context3.next = 35;
256
+ return importIframeClient.injectImportBundle(initPrivateKeyResult.importBundle, session === null || session === void 0 ? void 0 : session.organizationId, session === null || session === void 0 ? void 0 : session.userId);
257
+ case 35:
258
+ injectedKey = _context3.sent;
259
+ if (injectedKey) {
260
+ _context3.next = 38;
261
+ break;
262
+ }
263
+ throw new TurnkeyError("Failed to inject import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
264
+ case 38:
265
+ _context3.next = 40;
266
+ return importIframeClient.extractKeyEncryptedBundle(curve === "CURVE_ED25519" ? KeyFormat.Solana : KeyFormat.Hexadecimal);
267
+ case 40:
268
+ encryptedKeyBundle = _context3.sent;
269
+ if (!(!encryptedKeyBundle || encryptedKeyBundle.trim() === "")) {
270
+ _context3.next = 43;
271
+ break;
272
+ }
273
+ throw new TurnkeyError("Encrypted bundle is empty", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
274
+ case 43:
275
+ _context3.next = 45;
276
+ return importPrivateKey({
277
+ addressFormats: addressFormats,
278
+ curve: curve,
279
+ privateKeyName: walletName,
280
+ encryptedBundle: encryptedKeyBundle,
223
281
  stampWith: stampWith
224
282
  });
225
- case 23:
283
+ case 45:
226
284
  response = _context3.sent;
285
+ return _context3.abrupt("break", 48);
286
+ case 47:
287
+ throw new TurnkeyError("Invalid import type", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
288
+ case 48:
227
289
  if (!response) {
228
- _context3.next = 30;
290
+ _context3.next = 54;
229
291
  break;
230
292
  }
231
293
  onSuccess(response);
@@ -233,7 +295,7 @@ function ImportComponent(params) {
233
295
  pushPage({
234
296
  key: "success",
235
297
  content: jsx(SuccessPage, {
236
- text: "Wallet imported successfully!",
298
+ text: importType === ImportType.Wallet ? "Wallet imported successfully!" : importType === ImportType.PrivateKey ? "Private key imported successfully!" : "Success!",
237
299
  duration: successPageDuration,
238
300
  onComplete: function onComplete() {
239
301
  handleImportModalClose();
@@ -248,32 +310,32 @@ function ImportComponent(params) {
248
310
  closeModal();
249
311
  }
250
312
  handleImportModalClose();
251
- _context3.next = 33;
313
+ _context3.next = 57;
252
314
  break;
253
- case 30:
254
- _context3.next = 32;
315
+ case 54:
316
+ _context3.next = 56;
255
317
  return importIframeClient.clear();
256
- case 32:
318
+ case 56:
257
319
  throw new TurnkeyError("Failed to import wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
258
- case 33:
259
- _context3.next = 41;
320
+ case 57:
321
+ _context3.next = 65;
260
322
  break;
261
- case 35:
262
- _context3.prev = 35;
263
- _context3.t0 = _context3["catch"](1);
323
+ case 59:
324
+ _context3.prev = 59;
325
+ _context3.t1 = _context3["catch"](1);
264
326
  shakeInput();
265
- setError(_context3.t0 instanceof TurnkeyError ? _context3.t0 : new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t0));
266
- if (_context3.t0 instanceof TurnkeyError) onError(_context3.t0);
267
- throw new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t0);
268
- case 41:
269
- _context3.prev = 41;
327
+ setError(_context3.t1 instanceof TurnkeyError ? _context3.t1 : new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t1));
328
+ if (_context3.t1 instanceof TurnkeyError) onError(_context3.t1);
329
+ throw new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t1);
330
+ case 65:
331
+ _context3.prev = 65;
270
332
  setIsLoading(false);
271
- return _context3.finish(41);
272
- case 44:
333
+ return _context3.finish(65);
334
+ case 68:
273
335
  case "end":
274
336
  return _context3.stop();
275
337
  }
276
- }, _callee3, null, [[1, 35, 41, 44]]);
338
+ }, _callee3, null, [[1, 59, 65, 68]]);
277
339
  }));
278
340
  return _handleImport.apply(this, arguments);
279
341
  }
@@ -281,7 +343,7 @@ function ImportComponent(params) {
281
343
  className: clsx("flex flex-col items-center pt-4", isMobile ? "w-full" : "w-[21rem]"),
282
344
  children: [jsx("p", {
283
345
  className: "text-sm text-icon-text-light dark:text-icon-text-dark",
284
- children: "Enter your seed phrase. Seed phrases are typically 12-24 words."
346
+ children: subtitle
285
347
  }), jsx("div", {
286
348
  id: TurnkeyImportIframeContainerId,
287
349
  style: {
@@ -300,19 +362,22 @@ function ImportComponent(params) {
300
362
  className: "transition-all ".concat(shaking ? "animate-shake" : "")
301
363
  }), jsx(Input, {
302
364
  type: "text",
303
- placeholder: "Enter your wallet name",
365
+ "data-testid": "import-wallet-name-input",
366
+ placeholder: placeholder,
304
367
  value: walletName,
305
368
  onChange: function onChange(e) {
306
369
  return setWalletName(e.target.value);
307
370
  },
308
371
  className: "placeholder:text-icon-text-light dark:placeholder:text-icon-text-dark w-full my-2 py-3 px-3 rounded-md text-inherit bg-icon-background-light dark:bg-icon-background-dark border border-modal-background-dark/20 dark:border-modal-background-light/20 focus:outline-primary-light focus:dark:outline-primary-dark focus:outline-[1px] focus:outline-offset-0 box-border"
309
372
  }), jsx(ActionButton, {
373
+ name: "import-button",
310
374
  loading: isLoading,
311
375
  spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
312
376
  onClick: handleImport,
313
377
  className: "bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark",
314
378
  children: "Import"
315
379
  }), jsxs("p", {
380
+ "data-testid": "import-error-message",
316
381
  className: clsx("text-sm text-red-500 transition-opacity delay-75 line-clamp-2 w-full", error ? "opacity-100 pointer-events-auto mt-2" : "opacity-0 pointer-events-none absolute"),
317
382
  children: [error === null || error === void 0 ? void 0 : error.message, ":", " ", (error === null || error === void 0 ? void 0 : error.cause) instanceof TurnkeyError ? error === null || error === void 0 ? void 0 : error.cause.message : (error === null || error === void 0 ? void 0 : (_error$cause = error.cause) === null || _error$cause === void 0 ? void 0 : _error$cause.toString()) || "Unknown error"]
318
383
  })]