@turnkey/react-wallet-kit 1.0.0-beta.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.
- package/LICENSE +201 -0
- package/README.MD +112 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +420 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
- package/dist/components/auth/Action.d.ts +10 -0
- package/dist/components/auth/Action.d.ts.map +1 -0
- package/dist/components/auth/Action.js +76 -0
- package/dist/components/auth/Action.js.map +1 -0
- package/dist/components/auth/Action.mjs +97 -0
- package/dist/components/auth/Action.mjs.map +1 -0
- package/dist/components/auth/Email.d.ts +6 -0
- package/dist/components/auth/Email.d.ts.map +1 -0
- package/dist/components/auth/Email.js +73 -0
- package/dist/components/auth/Email.js.map +1 -0
- package/dist/components/auth/Email.mjs +95 -0
- package/dist/components/auth/Email.mjs.map +1 -0
- package/dist/components/auth/OAuth.d.ts +10 -0
- package/dist/components/auth/OAuth.d.ts.map +1 -0
- package/dist/components/auth/OAuth.js +42 -0
- package/dist/components/auth/OAuth.js.map +1 -0
- package/dist/components/auth/OAuth.mjs +46 -0
- package/dist/components/auth/OAuth.mjs.map +1 -0
- package/dist/components/auth/OTP.d.ts +19 -0
- package/dist/components/auth/OTP.d.ts.map +1 -0
- package/dist/components/auth/OTP.js +204 -0
- package/dist/components/auth/OTP.js.map +1 -0
- package/dist/components/auth/OTP.mjs +288 -0
- package/dist/components/auth/OTP.mjs.map +1 -0
- package/dist/components/auth/OrSeparator.d.ts +2 -0
- package/dist/components/auth/OrSeparator.d.ts.map +1 -0
- package/dist/components/auth/OrSeparator.js +20 -0
- package/dist/components/auth/OrSeparator.js.map +1 -0
- package/dist/components/auth/OrSeparator.mjs +18 -0
- package/dist/components/auth/OrSeparator.mjs.map +1 -0
- package/dist/components/auth/Passkey.d.ts +7 -0
- package/dist/components/auth/Passkey.d.ts.map +1 -0
- package/dist/components/auth/Passkey.js +26 -0
- package/dist/components/auth/Passkey.js.map +1 -0
- package/dist/components/auth/Passkey.mjs +22 -0
- package/dist/components/auth/Passkey.mjs.map +1 -0
- package/dist/components/auth/Phone.d.ts +6 -0
- package/dist/components/auth/Phone.d.ts.map +1 -0
- package/dist/components/auth/Phone.js +67 -0
- package/dist/components/auth/Phone.js.map +1 -0
- package/dist/components/auth/Phone.mjs +93 -0
- package/dist/components/auth/Phone.mjs.map +1 -0
- package/dist/components/auth/Wallet.d.ts +30 -0
- package/dist/components/auth/Wallet.d.ts.map +1 -0
- package/dist/components/auth/Wallet.js +408 -0
- package/dist/components/auth/Wallet.js.map +1 -0
- package/dist/components/auth/Wallet.mjs +509 -0
- package/dist/components/auth/Wallet.mjs.map +1 -0
- package/dist/components/auth/index.d.ts +2 -0
- package/dist/components/auth/index.d.ts.map +1 -0
- package/dist/components/auth/index.js +327 -0
- package/dist/components/auth/index.js.map +1 -0
- package/dist/components/auth/index.mjs +540 -0
- package/dist/components/auth/index.mjs.map +1 -0
- package/dist/components/design/Buttons.d.ts +26 -0
- package/dist/components/design/Buttons.d.ts.map +1 -0
- package/dist/components/design/Buttons.js +79 -0
- package/dist/components/design/Buttons.js.map +1 -0
- package/dist/components/design/Buttons.mjs +71 -0
- package/dist/components/design/Buttons.mjs.map +1 -0
- package/dist/components/design/Failure.d.ts +9 -0
- package/dist/components/design/Failure.d.ts.map +1 -0
- package/dist/components/design/Failure.js +33 -0
- package/dist/components/design/Failure.js.map +1 -0
- package/dist/components/design/Failure.mjs +34 -0
- package/dist/components/design/Failure.mjs.map +1 -0
- package/dist/components/design/Inputs.d.ts +9 -0
- package/dist/components/design/Inputs.d.ts.map +1 -0
- package/dist/components/design/Inputs.js +113 -0
- package/dist/components/design/Inputs.js.map +1 -0
- package/dist/components/design/Inputs.mjs +108 -0
- package/dist/components/design/Inputs.mjs.map +1 -0
- package/dist/components/design/Lottie/Dynamic.d.ts +2 -0
- package/dist/components/design/Lottie/Dynamic.d.ts.map +1 -0
- package/dist/components/design/Lottie/Dynamic.js +9 -0
- package/dist/components/design/Lottie/Dynamic.js.map +1 -0
- package/dist/components/design/Lottie/Dynamic.mjs +27 -0
- package/dist/components/design/Lottie/Dynamic.mjs.map +1 -0
- package/dist/components/design/Lottie/Wrapper.d.ts +8 -0
- package/dist/components/design/Lottie/Wrapper.d.ts.map +1 -0
- package/dist/components/design/Lottie/Wrapper.js +26 -0
- package/dist/components/design/Lottie/Wrapper.js.map +1 -0
- package/dist/components/design/Lottie/Wrapper.mjs +43 -0
- package/dist/components/design/Lottie/Wrapper.mjs.map +1 -0
- package/dist/components/design/Spinners.d.ts +9 -0
- package/dist/components/design/Spinners.d.ts.map +1 -0
- package/dist/components/design/Spinners.js +38 -0
- package/dist/components/design/Spinners.js.map +1 -0
- package/dist/components/design/Spinners.mjs +37 -0
- package/dist/components/design/Spinners.mjs.map +1 -0
- package/dist/components/design/Success.d.ts +8 -0
- package/dist/components/design/Success.d.ts.map +1 -0
- package/dist/components/design/Success.js +82 -0
- package/dist/components/design/Success.js.map +1 -0
- package/dist/components/design/Success.mjs +86 -0
- package/dist/components/design/Success.mjs.map +1 -0
- package/dist/components/design/Svg.d.ts +10 -0
- package/dist/components/design/Svg.d.ts.map +1 -0
- package/dist/components/design/Svg.js +156 -0
- package/dist/components/design/Svg.js.map +1 -0
- package/dist/components/design/Svg.mjs +153 -0
- package/dist/components/design/Svg.mjs.map +1 -0
- package/dist/components/export/Export.d.ts +9 -0
- package/dist/components/export/Export.d.ts.map +1 -0
- package/dist/components/export/Export.js +140 -0
- package/dist/components/export/Export.js.map +1 -0
- package/dist/components/export/Export.mjs +178 -0
- package/dist/components/export/Export.mjs.map +1 -0
- package/dist/components/export/ExportWarning.d.ts +12 -0
- package/dist/components/export/ExportWarning.d.ts.map +1 -0
- package/dist/components/export/ExportWarning.js +87 -0
- package/dist/components/export/ExportWarning.js.map +1 -0
- package/dist/components/export/ExportWarning.mjs +113 -0
- package/dist/components/export/ExportWarning.mjs.map +1 -0
- package/dist/components/import/Import.d.ts +14 -0
- package/dist/components/import/Import.d.ts.map +1 -0
- package/dist/components/import/Import.js +226 -0
- package/dist/components/import/Import.js.map +1 -0
- package/dist/components/import/Import.mjs +328 -0
- package/dist/components/import/Import.mjs.map +1 -0
- package/dist/components/sign/Message.d.ts +17 -0
- package/dist/components/sign/Message.d.ts.map +1 -0
- package/dist/components/sign/Message.js +127 -0
- package/dist/components/sign/Message.js.map +1 -0
- package/dist/components/sign/Message.mjs +145 -0
- package/dist/components/sign/Message.mjs.map +1 -0
- package/dist/components/user/LinkWallet.d.ts +8 -0
- package/dist/components/user/LinkWallet.d.ts.map +1 -0
- package/dist/components/user/LinkWallet.js +102 -0
- package/dist/components/user/LinkWallet.js.map +1 -0
- package/dist/components/user/LinkWallet.mjs +162 -0
- package/dist/components/user/LinkWallet.mjs.map +1 -0
- package/dist/components/user/RemoveEmail.d.ts +11 -0
- package/dist/components/user/RemoveEmail.d.ts.map +1 -0
- package/dist/components/user/RemoveEmail.js +101 -0
- package/dist/components/user/RemoveEmail.js.map +1 -0
- package/dist/components/user/RemoveEmail.mjs +122 -0
- package/dist/components/user/RemoveEmail.mjs.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.d.ts +11 -0
- package/dist/components/user/RemoveOAuthProvider.d.ts.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.js +106 -0
- package/dist/components/user/RemoveOAuthProvider.js.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.mjs +129 -0
- package/dist/components/user/RemoveOAuthProvider.mjs.map +1 -0
- package/dist/components/user/RemovePasskey.d.ts +11 -0
- package/dist/components/user/RemovePasskey.d.ts.map +1 -0
- package/dist/components/user/RemovePasskey.js +109 -0
- package/dist/components/user/RemovePasskey.js.map +1 -0
- package/dist/components/user/RemovePasskey.mjs +132 -0
- package/dist/components/user/RemovePasskey.mjs.map +1 -0
- package/dist/components/user/RemovePhoneNumber.d.ts +11 -0
- package/dist/components/user/RemovePhoneNumber.d.ts.map +1 -0
- package/dist/components/user/RemovePhoneNumber.js +101 -0
- package/dist/components/user/RemovePhoneNumber.js.map +1 -0
- package/dist/components/user/RemovePhoneNumber.mjs +122 -0
- package/dist/components/user/RemovePhoneNumber.mjs.map +1 -0
- package/dist/components/user/UpdateEmail.d.ts +8 -0
- package/dist/components/user/UpdateEmail.d.ts.map +1 -0
- package/dist/components/user/UpdateEmail.js +139 -0
- package/dist/components/user/UpdateEmail.js.map +1 -0
- package/dist/components/user/UpdateEmail.mjs +186 -0
- package/dist/components/user/UpdateEmail.mjs.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.d.ts +8 -0
- package/dist/components/user/UpdatePhoneNumber.d.ts.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.js +136 -0
- package/dist/components/user/UpdatePhoneNumber.js.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.mjs +187 -0
- package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -0
- package/dist/components/user/UpdateUserName.d.ts +11 -0
- package/dist/components/user/UpdateUserName.d.ts.map +1 -0
- package/dist/components/user/UpdateUserName.js +112 -0
- package/dist/components/user/UpdateUserName.js.map +1 -0
- package/dist/components/user/UpdateUserName.mjs +139 -0
- package/dist/components/user/UpdateUserName.mjs.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6 -0
- package/dist/index.mjs.map +1 -0
- package/dist/providers/TurnkeyProvider.d.ts +8 -0
- package/dist/providers/TurnkeyProvider.d.ts.map +1 -0
- package/dist/providers/TurnkeyProvider.js +35 -0
- package/dist/providers/TurnkeyProvider.js.map +1 -0
- package/dist/providers/TurnkeyProvider.mjs +33 -0
- package/dist/providers/TurnkeyProvider.mjs.map +1 -0
- package/dist/providers/client/Hook.d.ts +3 -0
- package/dist/providers/client/Hook.d.ts.map +1 -0
- package/dist/providers/client/Hook.js +14 -0
- package/dist/providers/client/Hook.js.map +1 -0
- package/dist/providers/client/Hook.mjs +12 -0
- package/dist/providers/client/Hook.mjs.map +1 -0
- package/dist/providers/client/Provider.d.ts +39 -0
- package/dist/providers/client/Provider.d.ts.map +1 -0
- package/dist/providers/client/Provider.js +2489 -0
- package/dist/providers/client/Provider.js.map +1 -0
- package/dist/providers/client/Provider.mjs +4744 -0
- package/dist/providers/client/Provider.mjs.map +1 -0
- package/dist/providers/client/Types.d.ts +524 -0
- package/dist/providers/client/Types.d.ts.map +1 -0
- package/dist/providers/client/Types.js +9 -0
- package/dist/providers/client/Types.js.map +1 -0
- package/dist/providers/client/Types.mjs +7 -0
- package/dist/providers/client/Types.mjs.map +1 -0
- package/dist/providers/index.d.ts +5 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/modal/Hook.d.ts +3 -0
- package/dist/providers/modal/Hook.d.ts.map +1 -0
- package/dist/providers/modal/Hook.js +14 -0
- package/dist/providers/modal/Hook.js.map +1 -0
- package/dist/providers/modal/Hook.mjs +12 -0
- package/dist/providers/modal/Hook.mjs.map +1 -0
- package/dist/providers/modal/Provider.d.ts +21 -0
- package/dist/providers/modal/Provider.d.ts.map +1 -0
- package/dist/providers/modal/Provider.js +37 -0
- package/dist/providers/modal/Provider.js.map +1 -0
- package/dist/providers/modal/Provider.mjs +48 -0
- package/dist/providers/modal/Provider.mjs.map +1 -0
- package/dist/providers/modal/Root.d.ts +7 -0
- package/dist/providers/modal/Root.d.ts.map +1 -0
- package/dist/providers/modal/Root.js +258 -0
- package/dist/providers/modal/Root.js.map +1 -0
- package/dist/providers/modal/Root.mjs +263 -0
- package/dist/providers/modal/Root.mjs.map +1 -0
- package/dist/providers/theme/Overrides.d.ts +18 -0
- package/dist/providers/theme/Overrides.d.ts.map +1 -0
- package/dist/providers/theme/Overrides.js +35 -0
- package/dist/providers/theme/Overrides.js.map +1 -0
- package/dist/providers/theme/Overrides.mjs +37 -0
- package/dist/providers/theme/Overrides.mjs.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/types/base.d.ts +79 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +19 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/base.mjs +19 -0
- package/dist/types/base.mjs.map +1 -0
- package/dist/utils.d.ts +72 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +211 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +307 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
5
|
+
import { useTurnkey } from '../../providers/client/Hook.mjs';
|
|
6
|
+
import { IframeStamper } from '@turnkey/iframe-stamper';
|
|
7
|
+
import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
|
|
8
|
+
import { ActionButton } from '../design/Buttons.mjs';
|
|
9
|
+
import { Input } from '@headlessui/react';
|
|
10
|
+
import { generateWalletAccountsFromAddressFormat } from '@turnkey/core';
|
|
11
|
+
import { SuccessPage } from '../design/Success.mjs';
|
|
12
|
+
import clsx from 'clsx';
|
|
13
|
+
|
|
14
|
+
var ExportType;
|
|
15
|
+
(function (ExportType) {
|
|
16
|
+
ExportType["Wallet"] = "WALLET";
|
|
17
|
+
ExportType["PrivateKey"] = "PRIVATE_KEY";
|
|
18
|
+
})(ExportType || (ExportType = {}));
|
|
19
|
+
var TurnkeyImportIframeContainerId = "turnkey-import-iframe-container-id";
|
|
20
|
+
var TurnkeyIframeElementId = "turnkey-default-iframe-element-id";
|
|
21
|
+
var TurnkeyIframeClassNames = "w-full h-full overflow-hidden border-none !text-base bg-icon-background-light dark:bg-icon-background-dark";
|
|
22
|
+
// IMPORTANT: These colors need to match --icon-text-light, --icon-background-light, --icon-background-dark and --icon-text-dark in index.css
|
|
23
|
+
var iconBackgroundLight = "#e5e7eb";
|
|
24
|
+
var iconBackgroundDark = "#333336";
|
|
25
|
+
var iconTextLight = "#828282";
|
|
26
|
+
var iconTextDark = "#a3a3a5";
|
|
27
|
+
function ImportComponent(params) {
|
|
28
|
+
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;
|
|
29
|
+
var onSuccess = params.onSuccess,
|
|
30
|
+
onError = params.onError,
|
|
31
|
+
defaultWalletAccounts = params.defaultWalletAccounts,
|
|
32
|
+
successPageDuration = params.successPageDuration,
|
|
33
|
+
stampWith = params.stampWith;
|
|
34
|
+
var _useTurnkey = useTurnkey(),
|
|
35
|
+
config = _useTurnkey.config,
|
|
36
|
+
session = _useTurnkey.session,
|
|
37
|
+
importWallet = _useTurnkey.importWallet,
|
|
38
|
+
httpClient = _useTurnkey.httpClient;
|
|
39
|
+
var _useState = useState(""),
|
|
40
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
41
|
+
walletName = _useState2[0],
|
|
42
|
+
setWalletName = _useState2[1];
|
|
43
|
+
var _useState3 = useState(false),
|
|
44
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
45
|
+
isLoading = _useState4[0],
|
|
46
|
+
setIsLoading = _useState4[1];
|
|
47
|
+
var _useState5 = useState(null),
|
|
48
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
49
|
+
error = _useState6[0],
|
|
50
|
+
setError = _useState6[1];
|
|
51
|
+
var _useState7 = useState(false),
|
|
52
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
53
|
+
shaking = _useState8[0],
|
|
54
|
+
setShaking = _useState8[1];
|
|
55
|
+
var shakeInput = function shakeInput() {
|
|
56
|
+
setShaking(true);
|
|
57
|
+
setTimeout(function () {
|
|
58
|
+
return setShaking(false);
|
|
59
|
+
}, 250);
|
|
60
|
+
};
|
|
61
|
+
var apiBaseUrl = config === null || config === void 0 ? void 0 : config.apiBaseUrl;
|
|
62
|
+
var importIframeUrl = config === null || config === void 0 ? void 0 : config.importIframeUrl;
|
|
63
|
+
var _useModal = useModal(),
|
|
64
|
+
closeModal = _useModal.closeModal,
|
|
65
|
+
pushPage = _useModal.pushPage,
|
|
66
|
+
isMobile = _useModal.isMobile;
|
|
67
|
+
var _useState9 = useState(null),
|
|
68
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
69
|
+
importIframeClient = _useState0[0],
|
|
70
|
+
setImportIframeClient = _useState0[1];
|
|
71
|
+
if (!apiBaseUrl) {
|
|
72
|
+
throw new TurnkeyError("API base URL is not configured. Please set it in the Turnkey configuration.");
|
|
73
|
+
}
|
|
74
|
+
useEffect(function () {
|
|
75
|
+
var initIframe = /*#__PURE__*/function () {
|
|
76
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
77
|
+
var _config$ui, _config$ui2, _config$ui2$colors, _config$ui2$colors$da, _config$ui3, _config$ui3$colors, _config$ui3$colors$li, _config$ui4, _config$ui5, _config$ui5$colors, _config$ui5$colors$da, _config$ui6, _config$ui6$colors, _config$ui6$colors$li, newImportIframeClient;
|
|
78
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
79
|
+
while (1) switch (_context.prev = _context.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
_context.prev = 0;
|
|
82
|
+
newImportIframeClient = new IframeStamper({
|
|
83
|
+
iframeUrl: importIframeUrl,
|
|
84
|
+
iframeElementId: TurnkeyIframeElementId,
|
|
85
|
+
iframeContainer: document.getElementById(TurnkeyImportIframeContainerId)
|
|
86
|
+
});
|
|
87
|
+
_context.next = 4;
|
|
88
|
+
return newImportIframeClient.init();
|
|
89
|
+
case 4:
|
|
90
|
+
_context.next = 6;
|
|
91
|
+
return newImportIframeClient.applySettings({
|
|
92
|
+
styles: {
|
|
93
|
+
fontSize: "16px",
|
|
94
|
+
// IMPORTANT: These colors need to match --icon-text-light and --icon-text-dark in index.css
|
|
95
|
+
backgroundColor: config !== null && config !== void 0 && (_config$ui = config.ui) !== null && _config$ui !== void 0 && _config$ui.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui2 = config.ui) === null || _config$ui2 === void 0 ? void 0 : (_config$ui2$colors = _config$ui2.colors) === null || _config$ui2$colors === void 0 ? void 0 : (_config$ui2$colors$da = _config$ui2$colors.dark) === null || _config$ui2$colors$da === void 0 ? void 0 : _config$ui2$colors$da.iconBackground) || iconBackgroundDark : (config === null || config === void 0 ? void 0 : (_config$ui3 = config.ui) === null || _config$ui3 === void 0 ? void 0 : (_config$ui3$colors = _config$ui3.colors) === null || _config$ui3$colors === void 0 ? void 0 : (_config$ui3$colors$li = _config$ui3$colors.light) === null || _config$ui3$colors$li === void 0 ? void 0 : _config$ui3$colors$li.iconBackground) || iconBackgroundLight,
|
|
96
|
+
color: config !== null && config !== void 0 && (_config$ui4 = config.ui) !== null && _config$ui4 !== void 0 && _config$ui4.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui5 = config.ui) === null || _config$ui5 === void 0 ? void 0 : (_config$ui5$colors = _config$ui5.colors) === null || _config$ui5$colors === void 0 ? void 0 : (_config$ui5$colors$da = _config$ui5$colors.dark) === null || _config$ui5$colors$da === void 0 ? void 0 : _config$ui5$colors$da.iconText) || iconTextDark : (config === null || config === void 0 ? void 0 : (_config$ui6 = config.ui) === null || _config$ui6 === void 0 ? void 0 : (_config$ui6$colors = _config$ui6.colors) === null || _config$ui6$colors === void 0 ? void 0 : (_config$ui6$colors$li = _config$ui6$colors.light) === null || _config$ui6$colors$li === void 0 ? void 0 : _config$ui6$colors$li.iconText) || iconTextLight
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
case 6:
|
|
100
|
+
setImportIframeClient(newImportIframeClient);
|
|
101
|
+
_context.next = 12;
|
|
102
|
+
break;
|
|
103
|
+
case 9:
|
|
104
|
+
_context.prev = 9;
|
|
105
|
+
_context.t0 = _context["catch"](0);
|
|
106
|
+
throw new TurnkeyError("Error initializing IframeStamper", TurnkeyErrorCodes.INTERNAL_ERROR, _context.t0);
|
|
107
|
+
case 12:
|
|
108
|
+
case "end":
|
|
109
|
+
return _context.stop();
|
|
110
|
+
}
|
|
111
|
+
}, _callee, null, [[0, 9]]);
|
|
112
|
+
}));
|
|
113
|
+
return function initIframe() {
|
|
114
|
+
return _ref.apply(this, arguments);
|
|
115
|
+
};
|
|
116
|
+
}();
|
|
117
|
+
var existingIframe = document.getElementById(TurnkeyIframeElementId);
|
|
118
|
+
if (!existingIframe) {
|
|
119
|
+
initIframe();
|
|
120
|
+
}
|
|
121
|
+
var iframeElement = document.getElementById(TurnkeyIframeElementId);
|
|
122
|
+
if (iframeElement) {
|
|
123
|
+
iframeElement.className = TurnkeyIframeClassNames;
|
|
124
|
+
}
|
|
125
|
+
return function () {
|
|
126
|
+
handleImportModalClose();
|
|
127
|
+
};
|
|
128
|
+
}, []);
|
|
129
|
+
useEffect(function () {
|
|
130
|
+
var reapplyIframeStyles = /*#__PURE__*/function () {
|
|
131
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
132
|
+
var _config$ui7, _config$ui8, _config$ui8$colors, _config$ui8$colors$da, _config$ui9, _config$ui9$colors, _config$ui9$colors$li, _config$ui0, _config$ui1, _config$ui1$colors, _config$ui1$colors$da, _config$ui10, _config$ui10$colors, _config$ui10$colors$l;
|
|
133
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
134
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
135
|
+
case 0:
|
|
136
|
+
_context2.next = 2;
|
|
137
|
+
return importIframeClient === null || importIframeClient === void 0 ? void 0 : importIframeClient.applySettings({
|
|
138
|
+
styles: {
|
|
139
|
+
fontSize: "16px",
|
|
140
|
+
backgroundColor: config !== null && config !== void 0 && (_config$ui7 = config.ui) !== null && _config$ui7 !== void 0 && _config$ui7.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui8 = config.ui) === null || _config$ui8 === void 0 ? void 0 : (_config$ui8$colors = _config$ui8.colors) === null || _config$ui8$colors === void 0 ? void 0 : (_config$ui8$colors$da = _config$ui8$colors.dark) === null || _config$ui8$colors$da === void 0 ? void 0 : _config$ui8$colors$da.iconBackground) || iconBackgroundDark : (config === null || config === void 0 ? void 0 : (_config$ui9 = config.ui) === null || _config$ui9 === void 0 ? void 0 : (_config$ui9$colors = _config$ui9.colors) === null || _config$ui9$colors === void 0 ? void 0 : (_config$ui9$colors$li = _config$ui9$colors.light) === null || _config$ui9$colors$li === void 0 ? void 0 : _config$ui9$colors$li.iconBackground) || iconBackgroundLight,
|
|
141
|
+
color: config !== null && config !== void 0 && (_config$ui0 = config.ui) !== null && _config$ui0 !== void 0 && _config$ui0.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui1 = config.ui) === null || _config$ui1 === void 0 ? void 0 : (_config$ui1$colors = _config$ui1.colors) === null || _config$ui1$colors === void 0 ? void 0 : (_config$ui1$colors$da = _config$ui1$colors.dark) === null || _config$ui1$colors$da === void 0 ? void 0 : _config$ui1$colors$da.iconText) || iconTextDark : (config === null || config === void 0 ? void 0 : (_config$ui10 = config.ui) === null || _config$ui10 === void 0 ? void 0 : (_config$ui10$colors = _config$ui10.colors) === null || _config$ui10$colors === void 0 ? void 0 : (_config$ui10$colors$l = _config$ui10$colors.light) === null || _config$ui10$colors$l === void 0 ? void 0 : _config$ui10$colors$l.iconText) || iconTextLight
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
case 2:
|
|
145
|
+
case "end":
|
|
146
|
+
return _context2.stop();
|
|
147
|
+
}
|
|
148
|
+
}, _callee2);
|
|
149
|
+
}));
|
|
150
|
+
return function reapplyIframeStyles() {
|
|
151
|
+
return _ref2.apply(this, arguments);
|
|
152
|
+
};
|
|
153
|
+
}();
|
|
154
|
+
reapplyIframeStyles();
|
|
155
|
+
}, [config.ui]);
|
|
156
|
+
function handleImportModalClose() {
|
|
157
|
+
if (importIframeClient) {
|
|
158
|
+
setImportIframeClient(null);
|
|
159
|
+
var existingIframe = document.getElementById(TurnkeyIframeElementId);
|
|
160
|
+
if (existingIframe) {
|
|
161
|
+
existingIframe.remove();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function handleImport() {
|
|
166
|
+
return _handleImport.apply(this, arguments);
|
|
167
|
+
}
|
|
168
|
+
function _handleImport() {
|
|
169
|
+
_handleImport = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
170
|
+
var _defaultWalletAccount, initResult, injected, encryptedBundle, accounts, response;
|
|
171
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
172
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
173
|
+
case 0:
|
|
174
|
+
setIsLoading(true);
|
|
175
|
+
_context3.prev = 1;
|
|
176
|
+
if (importIframeClient) {
|
|
177
|
+
_context3.next = 4;
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
throw new TurnkeyError("Import iframe client not initialized", TurnkeyErrorCodes.INTERNAL_ERROR);
|
|
181
|
+
case 4:
|
|
182
|
+
_context3.next = 6;
|
|
183
|
+
return httpClient === null || httpClient === void 0 ? void 0 : httpClient.initImportWallet({
|
|
184
|
+
organizationId: session === null || session === void 0 ? void 0 : session.organizationId,
|
|
185
|
+
userId: session === null || session === void 0 ? void 0 : session.userId
|
|
186
|
+
});
|
|
187
|
+
case 6:
|
|
188
|
+
initResult = _context3.sent;
|
|
189
|
+
if (!(!initResult || !initResult.importBundle)) {
|
|
190
|
+
_context3.next = 9;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
throw new TurnkeyError("Failed to retrieve import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
|
|
194
|
+
case 9:
|
|
195
|
+
_context3.next = 11;
|
|
196
|
+
return importIframeClient.injectImportBundle(initResult.importBundle, session === null || session === void 0 ? void 0 : session.organizationId, session === null || session === void 0 ? void 0 : session.userId);
|
|
197
|
+
case 11:
|
|
198
|
+
injected = _context3.sent;
|
|
199
|
+
if (injected) {
|
|
200
|
+
_context3.next = 14;
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
throw new TurnkeyError("Failed to inject import bundle", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
|
|
204
|
+
case 14:
|
|
205
|
+
_context3.next = 16;
|
|
206
|
+
return importIframeClient.extractWalletEncryptedBundle();
|
|
207
|
+
case 16:
|
|
208
|
+
encryptedBundle = _context3.sent;
|
|
209
|
+
if (!(!encryptedBundle || encryptedBundle.trim() === "")) {
|
|
210
|
+
_context3.next = 19;
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
throw new TurnkeyError("Encrypted bundle is empty", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
|
|
214
|
+
case 19:
|
|
215
|
+
accounts = [];
|
|
216
|
+
if (Array.isArray(defaultWalletAccounts) && defaultWalletAccounts.length > 0 && ((_defaultWalletAccount = defaultWalletAccounts[0]) === null || _defaultWalletAccount === void 0 ? void 0 : _defaultWalletAccount.addressFormat) === undefined) {
|
|
217
|
+
accounts = generateWalletAccountsFromAddressFormat({
|
|
218
|
+
addresses: defaultWalletAccounts
|
|
219
|
+
});
|
|
220
|
+
} else if (Array.isArray(defaultWalletAccounts)) {
|
|
221
|
+
accounts = defaultWalletAccounts;
|
|
222
|
+
}
|
|
223
|
+
_context3.next = 23;
|
|
224
|
+
return importWallet({
|
|
225
|
+
walletName: walletName,
|
|
226
|
+
accounts: accounts,
|
|
227
|
+
encryptedBundle: encryptedBundle,
|
|
228
|
+
stampWith: stampWith
|
|
229
|
+
});
|
|
230
|
+
case 23:
|
|
231
|
+
response = _context3.sent;
|
|
232
|
+
if (!response) {
|
|
233
|
+
_context3.next = 30;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
onSuccess(response);
|
|
237
|
+
if (successPageDuration && successPageDuration !== 0) {
|
|
238
|
+
pushPage({
|
|
239
|
+
key: "success",
|
|
240
|
+
content: jsx(SuccessPage, {
|
|
241
|
+
text: "Wallet imported successfully!",
|
|
242
|
+
duration: successPageDuration,
|
|
243
|
+
onComplete: function onComplete() {
|
|
244
|
+
handleImportModalClose();
|
|
245
|
+
closeModal();
|
|
246
|
+
}
|
|
247
|
+
}),
|
|
248
|
+
preventBack: true,
|
|
249
|
+
showTitle: false
|
|
250
|
+
});
|
|
251
|
+
} else {
|
|
252
|
+
handleImportModalClose();
|
|
253
|
+
closeModal();
|
|
254
|
+
}
|
|
255
|
+
handleImportModalClose();
|
|
256
|
+
_context3.next = 33;
|
|
257
|
+
break;
|
|
258
|
+
case 30:
|
|
259
|
+
_context3.next = 32;
|
|
260
|
+
return importIframeClient.clear();
|
|
261
|
+
case 32:
|
|
262
|
+
throw new TurnkeyError("Failed to import wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR);
|
|
263
|
+
case 33:
|
|
264
|
+
_context3.next = 41;
|
|
265
|
+
break;
|
|
266
|
+
case 35:
|
|
267
|
+
_context3.prev = 35;
|
|
268
|
+
_context3.t0 = _context3["catch"](1);
|
|
269
|
+
shakeInput();
|
|
270
|
+
setError(_context3.t0 instanceof TurnkeyError ? _context3.t0 : new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t0));
|
|
271
|
+
if (_context3.t0 instanceof TurnkeyError) onError(_context3.t0);
|
|
272
|
+
throw new TurnkeyError("Error importing wallet", TurnkeyErrorCodes.IMPORT_WALLET_ERROR, _context3.t0);
|
|
273
|
+
case 41:
|
|
274
|
+
_context3.prev = 41;
|
|
275
|
+
setIsLoading(false);
|
|
276
|
+
return _context3.finish(41);
|
|
277
|
+
case 44:
|
|
278
|
+
case "end":
|
|
279
|
+
return _context3.stop();
|
|
280
|
+
}
|
|
281
|
+
}, _callee3, null, [[1, 35, 41, 44]]);
|
|
282
|
+
}));
|
|
283
|
+
return _handleImport.apply(this, arguments);
|
|
284
|
+
}
|
|
285
|
+
return jsxs("div", {
|
|
286
|
+
className: clsx("flex flex-col items-center pt-4", isMobile ? "w-full" : "w-[21rem]"),
|
|
287
|
+
children: [jsx("p", {
|
|
288
|
+
className: "text-sm text-icon-text-light dark:text-icon-text-dark",
|
|
289
|
+
children: "Enter your seed phrase. Seed phrases are typically 12-24 words."
|
|
290
|
+
}), jsx("div", {
|
|
291
|
+
id: TurnkeyImportIframeContainerId,
|
|
292
|
+
style: {
|
|
293
|
+
height: "100%",
|
|
294
|
+
overflow: "hidden",
|
|
295
|
+
display: "block",
|
|
296
|
+
backgroundColor: config !== null && config !== void 0 && (_config$ui11 = config.ui) !== null && _config$ui11 !== void 0 && _config$ui11.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui12 = config.ui) === null || _config$ui12 === void 0 ? void 0 : (_config$ui12$colors = _config$ui12.colors) === null || _config$ui12$colors === void 0 ? void 0 : (_config$ui12$colors$d = _config$ui12$colors.dark) === null || _config$ui12$colors$d === void 0 ? void 0 : _config$ui12$colors$d.iconBackground) || iconBackgroundDark : (config === null || config === void 0 ? void 0 : (_config$ui13 = config.ui) === null || _config$ui13 === void 0 ? void 0 : (_config$ui13$colors = _config$ui13.colors) === null || _config$ui13$colors === void 0 ? void 0 : (_config$ui13$colors$l = _config$ui13$colors.light) === null || _config$ui13$colors$l === void 0 ? void 0 : _config$ui13$colors$l.iconBackground) || iconBackgroundLight,
|
|
297
|
+
width: "100%",
|
|
298
|
+
boxSizing: "border-box",
|
|
299
|
+
padding: "5px",
|
|
300
|
+
borderStyle: "solid",
|
|
301
|
+
borderWidth: "1px",
|
|
302
|
+
borderRadius: "8px",
|
|
303
|
+
borderColor: config !== null && config !== void 0 && (_config$ui14 = config.ui) !== null && _config$ui14 !== void 0 && _config$ui14.darkMode ? (config === null || config === void 0 ? void 0 : (_config$ui15 = config.ui) === null || _config$ui15 === void 0 ? void 0 : (_config$ui15$colors = _config$ui15.colors) === null || _config$ui15$colors === void 0 ? void 0 : (_config$ui15$colors$d = _config$ui15$colors.dark) === null || _config$ui15$colors$d === void 0 ? void 0 : _config$ui15$colors$d.iconText) || iconTextDark : (config === null || config === void 0 ? void 0 : (_config$ui16 = config.ui) === null || _config$ui16 === void 0 ? void 0 : (_config$ui16$colors = _config$ui16.colors) === null || _config$ui16$colors === void 0 ? void 0 : (_config$ui16$colors$l = _config$ui16$colors.light) === null || _config$ui16$colors$l === void 0 ? void 0 : _config$ui16$colors$l.iconText) || iconTextLight
|
|
304
|
+
},
|
|
305
|
+
className: "transition-all ".concat(shaking ? "animate-shake" : "")
|
|
306
|
+
}), jsx(Input, {
|
|
307
|
+
type: "text",
|
|
308
|
+
placeholder: "Enter your wallet name",
|
|
309
|
+
value: walletName,
|
|
310
|
+
onChange: function onChange(e) {
|
|
311
|
+
return setWalletName(e.target.value);
|
|
312
|
+
},
|
|
313
|
+
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"
|
|
314
|
+
}), jsx(ActionButton, {
|
|
315
|
+
loading: isLoading,
|
|
316
|
+
spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
|
|
317
|
+
onClick: handleImport,
|
|
318
|
+
className: "bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark",
|
|
319
|
+
children: "Import"
|
|
320
|
+
}), jsxs("p", {
|
|
321
|
+
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"),
|
|
322
|
+
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"]
|
|
323
|
+
})]
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export { ExportType, ImportComponent };
|
|
328
|
+
//# sourceMappingURL=Import.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Import.mjs","sources":["../../../src/components/import/Import.tsx"],"sourcesContent":[null],"names":["ExportType","TurnkeyImportIframeContainerId","TurnkeyIframeElementId","TurnkeyIframeClassNames","iconBackgroundLight","iconBackgroundDark","iconTextLight","iconTextDark","ImportComponent","params","_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","onSuccess","onError","defaultWalletAccounts","successPageDuration","stampWith","_useTurnkey","useTurnkey","config","session","importWallet","httpClient","_useState","useState","_useState2","_slicedToArray","walletName","setWalletName","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","error","setError","_useState7","_useState8","shaking","setShaking","shakeInput","setTimeout","apiBaseUrl","importIframeUrl","_useModal","useModal","closeModal","pushPage","isMobile","_useState9","_useState0","importIframeClient","setImportIframeClient","TurnkeyError","useEffect","initIframe","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_config$ui","_config$ui2","_config$ui2$colors","_config$ui2$colors$da","_config$ui3","_config$ui3$colors","_config$ui3$colors$li","_config$ui4","_config$ui5","_config$ui5$colors","_config$ui5$colors$da","_config$ui6","_config$ui6$colors","_config$ui6$colors$li","newImportIframeClient","wrap","_callee$","_context","prev","next","IframeStamper","iframeUrl","iframeElementId","iframeContainer","document","getElementById","init","applySettings","styles","fontSize","backgroundColor","ui","darkMode","colors","dark","iconBackground","light","color","iconText","t0","TurnkeyErrorCodes","INTERNAL_ERROR","stop","apply","arguments","existingIframe","iframeElement","className","handleImportModalClose","reapplyIframeStyles","_ref2","_callee2","_config$ui7","_config$ui8","_config$ui8$colors","_config$ui8$colors$da","_config$ui9","_config$ui9$colors","_config$ui9$colors$li","_config$ui0","_config$ui1","_config$ui1$colors","_config$ui1$colors$da","_config$ui10","_config$ui10$colors","_config$ui10$colors$l","_callee2$","_context2","remove","handleImport","_handleImport","_callee3","_defaultWalletAccount","initResult","injected","encryptedBundle","accounts","response","_callee3$","_context3","initImportWallet","organizationId","userId","sent","importBundle","IMPORT_WALLET_ERROR","injectImportBundle","extractWalletEncryptedBundle","trim","Array","isArray","length","addressFormat","undefined","generateWalletAccountsFromAddressFormat","addresses","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","clear","finish","_jsxs","clsx","children","id","style","height","overflow","display","width","boxSizing","padding","borderStyle","borderWidth","borderRadius","borderColor","concat","Input","type","placeholder","value","onChange","e","target","ActionButton","loading","spinnerClassName","onClick","message","cause","toString"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type StamperType, type WalletAccount } from "@turnkey/core";
|
|
2
|
+
import { type v1HashFunction, type v1PayloadEncoding, type v1SignRawPayloadResult } from "@turnkey/sdk-types";
|
|
3
|
+
interface SignMessageModalProps {
|
|
4
|
+
message: string;
|
|
5
|
+
walletAccount: WalletAccount;
|
|
6
|
+
subText?: string | undefined;
|
|
7
|
+
stampWith?: StamperType | undefined;
|
|
8
|
+
successPageDuration?: number | undefined;
|
|
9
|
+
onSuccess: (result: v1SignRawPayloadResult) => void;
|
|
10
|
+
onError: (error: any) => void;
|
|
11
|
+
encoding?: v1PayloadEncoding;
|
|
12
|
+
hashFunction?: v1HashFunction;
|
|
13
|
+
addEthereumPrefix?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function SignMessageModal(props: SignMessageModalProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=Message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/components/sign/Message.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAU5B,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CA4H5D"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react$1 = require('@headlessui/react');
|
|
5
|
+
var core = require('@turnkey/core');
|
|
6
|
+
var sdkTypes = require('@turnkey/sdk-types');
|
|
7
|
+
var Buttons = require('../design/Buttons.js');
|
|
8
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
9
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
10
|
+
var react = require('react');
|
|
11
|
+
var Hook$1 = require('../../providers/modal/Hook.js');
|
|
12
|
+
var Hook = require('../../providers/client/Hook.js');
|
|
13
|
+
var Success = require('../design/Success.js');
|
|
14
|
+
var clsx = require('clsx');
|
|
15
|
+
|
|
16
|
+
function SignMessageModal(props) {
|
|
17
|
+
const {
|
|
18
|
+
message,
|
|
19
|
+
walletAccount,
|
|
20
|
+
subText = "Use your wallet to sign this message",
|
|
21
|
+
stampWith,
|
|
22
|
+
successPageDuration,
|
|
23
|
+
onSuccess,
|
|
24
|
+
onError
|
|
25
|
+
} = props;
|
|
26
|
+
const {
|
|
27
|
+
signMessage
|
|
28
|
+
} = Hook.useTurnkey();
|
|
29
|
+
const {
|
|
30
|
+
pushPage,
|
|
31
|
+
closeModal,
|
|
32
|
+
isMobile
|
|
33
|
+
} = Hook$1.useModal();
|
|
34
|
+
const [loading, setLoading] = react.useState(false);
|
|
35
|
+
const textareaRef = react.useRef(null);
|
|
36
|
+
react.useEffect(() => {
|
|
37
|
+
const textarea = textareaRef.current;
|
|
38
|
+
if (textarea) {
|
|
39
|
+
textarea.style.height = "auto"; // reset height
|
|
40
|
+
textarea.style.height = `${Math.min(textarea.scrollHeight, 288)}px`; // max-h-72 = 288px
|
|
41
|
+
}
|
|
42
|
+
}, [message]);
|
|
43
|
+
const handleSign = async () => {
|
|
44
|
+
try {
|
|
45
|
+
setLoading(true);
|
|
46
|
+
const result = await signMessage({
|
|
47
|
+
message,
|
|
48
|
+
walletAccount,
|
|
49
|
+
...(props?.encoding && {
|
|
50
|
+
encoding: props.encoding
|
|
51
|
+
}),
|
|
52
|
+
...(props?.hashFunction && {
|
|
53
|
+
hashFunction: props.hashFunction
|
|
54
|
+
}),
|
|
55
|
+
...(props?.addEthereumPrefix && {
|
|
56
|
+
addEthereumPrefix: props.addEthereumPrefix
|
|
57
|
+
}),
|
|
58
|
+
...(stampWith && {
|
|
59
|
+
stampWith
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
handleSuccess(result);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
if (error instanceof sdkTypes.TurnkeyError) onError(error);else {
|
|
65
|
+
const tkError = new sdkTypes.TurnkeyError("Failed to sign message", sdkTypes.TurnkeyErrorCodes.SIGN_MESSAGE_ERROR);
|
|
66
|
+
onError(tkError);
|
|
67
|
+
}
|
|
68
|
+
} finally {
|
|
69
|
+
setLoading(false);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const handleSuccess = result => {
|
|
73
|
+
onSuccess(result); // Run the success callback first before showing the success page.
|
|
74
|
+
if (!successPageDuration) {
|
|
75
|
+
closeModal();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
pushPage({
|
|
79
|
+
key: "success",
|
|
80
|
+
content: jsxRuntime.jsx(Success.SuccessPage, {
|
|
81
|
+
text: "Message signed successfully!",
|
|
82
|
+
duration: successPageDuration,
|
|
83
|
+
onComplete: () => {
|
|
84
|
+
closeModal();
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
preventBack: true,
|
|
88
|
+
showTitle: false
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
return jsxRuntime.jsxs("div", {
|
|
92
|
+
className: clsx("flex flex-col items-center", isMobile ? "w-full py-4" : "w-80 p-4"),
|
|
93
|
+
children: [jsxRuntime.jsx("p", {
|
|
94
|
+
className: "mt-3 text-sm text-icon-text-light/70 dark:text-icon-text-dark/70",
|
|
95
|
+
children: subText
|
|
96
|
+
}), jsxRuntime.jsxs("div", {
|
|
97
|
+
className: "w-full flex flex-row items-center mt-1 gap-1.5 text-sm text-icon-text-light/70 dark:text-icon-text-dark/70",
|
|
98
|
+
children: [jsxRuntime.jsx("div", {
|
|
99
|
+
className: "flex items-center justify-center w-7 h-7 rounded-full bg-icon-background-light dark:bg-icon-background-dark text-icon-text-light dark:text-icon-text-dark",
|
|
100
|
+
children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
101
|
+
icon: freeSolidSvgIcons.faWallet
|
|
102
|
+
})
|
|
103
|
+
}), walletAccount.address?.length > 8 ? `${walletAccount.address.slice(0, 4)}...${walletAccount.address.slice(-4)}` : walletAccount.address, walletAccount.source === core.WalletSource.Connected && jsxRuntime.jsx("div", {
|
|
104
|
+
className: "rounded-full py-1 px-2 flex border border-primary-light/50 dark:border-primary-dark/50 text-primary-light dark:text-primary-dark text-xs font-medium",
|
|
105
|
+
children: "External"
|
|
106
|
+
})]
|
|
107
|
+
}), jsxRuntime.jsx("div", {
|
|
108
|
+
className: "w-full flex flex-col mt-2 px-3 space-y-2",
|
|
109
|
+
children: jsxRuntime.jsx(react$1.Textarea, {
|
|
110
|
+
ref: textareaRef,
|
|
111
|
+
className: "p-2 min-h-12 max-h-72 rounded-md tk-scrollbar border border-modal-background-dark/10 dark:border-modal-background-light/10 bg-icon-background-light dark:bg-icon-background-dark text-icon-text-light dark:text-icon-text-dark focus:outline-none resize-none overflow-y-auto",
|
|
112
|
+
value: message,
|
|
113
|
+
readOnly: true
|
|
114
|
+
})
|
|
115
|
+
}), jsxRuntime.jsx(Buttons.ActionButton, {
|
|
116
|
+
onClick: handleSign,
|
|
117
|
+
spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
|
|
118
|
+
loading: loading,
|
|
119
|
+
loadingText: walletAccount.source === core.WalletSource.Connected ? "Check your external wallet!" : "Signing...",
|
|
120
|
+
className: "mt-4 bg-primary-light dark:bg-primary-dark text-primary-text-light dark:text-primary-text-dark w-full",
|
|
121
|
+
children: "Sign"
|
|
122
|
+
})]
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
exports.SignMessageModal = SignMessageModal;
|
|
127
|
+
//# sourceMappingURL=Message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.js","sources":["../../../src/components/sign/Message.tsx"],"sourcesContent":[null],"names":["SignMessageModal","props","message","walletAccount","subText","stampWith","successPageDuration","onSuccess","onError","signMessage","useTurnkey","pushPage","closeModal","isMobile","useModal","loading","setLoading","useState","textareaRef","useRef","useEffect","textarea","current","style","height","Math","min","scrollHeight","handleSign","result","encoding","hashFunction","addEthereumPrefix","handleSuccess","error","TurnkeyError","tkError","TurnkeyErrorCodes","SIGN_MESSAGE_ERROR","key","content","_jsx","SuccessPage","text","duration","onComplete","preventBack","showTitle","_jsxs","className","clsx","children","FontAwesomeIcon","icon","faWallet","address","length","slice","source","WalletSource","Connected","Textarea","ref","value","readOnly","ActionButton","onClick","spinnerClassName","loadingText"],"mappings":"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"}
|