@turnkey/react-wallet-kit 1.3.2 → 1.4.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/dist/components/design/Svg.d.ts.map +1 -1
- package/dist/components/design/Svg.js +0 -2
- package/dist/components/design/Svg.js.map +1 -1
- package/dist/components/design/Svg.mjs +0 -2
- package/dist/components/design/Svg.mjs.map +1 -1
- package/dist/components/verify/Verify.d.ts +9 -0
- package/dist/components/verify/Verify.d.ts.map +1 -0
- package/dist/components/verify/Verify.js +121 -0
- package/dist/components/verify/Verify.js.map +1 -0
- package/dist/components/verify/Verify.mjs +149 -0
- package/dist/components/verify/Verify.mjs.map +1 -0
- package/dist/providers/client/Provider.d.ts.map +1 -1
- package/dist/providers/client/Provider.js +83 -14
- package/dist/providers/client/Provider.js.map +1 -1
- package/dist/providers/client/Provider.mjs +823 -714
- package/dist/providers/client/Provider.mjs.map +1 -1
- package/dist/providers/client/Types.d.ts +16 -1
- package/dist/providers/client/Types.d.ts.map +1 -1
- package/dist/providers/client/Types.js.map +1 -1
- package/dist/providers/client/Types.mjs.map +1 -1
- package/dist/providers/modal/Provider.d.ts +1 -0
- package/dist/providers/modal/Provider.d.ts.map +1 -1
- package/dist/providers/modal/Provider.js.map +1 -1
- package/dist/providers/modal/Provider.mjs.map +1 -1
- package/dist/providers/modal/Root.d.ts.map +1 -1
- package/dist/providers/modal/Root.js +4 -2
- package/dist/providers/modal/Root.js.map +1 -1
- package/dist/providers/modal/Root.mjs +4 -2
- package/dist/providers/modal/Root.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/base.d.ts +2 -0
- package/dist/types/base.d.ts.map +1 -1
- package/dist/types/base.js.map +1 -1
- package/dist/types/base.mjs.map +1 -1
- package/dist/types/method-types.d.ts +7 -1
- package/dist/types/method-types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Svg.d.ts","sourceRoot":"","sources":["../../../src/components/design/Svg.tsx"],"names":[],"mappings":";AAAA,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Svg.d.ts","sourceRoot":"","sources":["../../../src/components/design/Svg.tsx"],"names":[],"mappings":";AAAA,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,2CAoC1C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,2CA2B3C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,2CA8FzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Svg.js","sources":["../../../src/components/design/Svg.tsx"],"sourcesContent":[null],"names":["TurnkeyLogo","props","_jsxs","
|
|
1
|
+
{"version":3,"file":"Svg.js","sources":["../../../src/components/design/Svg.tsx"],"sourcesContent":[null],"names":["TurnkeyLogo","props","_jsxs","viewBox","fill","xmlns","children","clipPath","_jsx","fillRule","clipRule","d","id","width","height","transform","EthereumLogo","xmlSpace","x","y","className","style","SolanaLogo","x1","x2","y1","y2","gradientTransform","gradientUnits","offset","stopColor"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Svg.mjs","sources":["../../../src/components/design/Svg.tsx"],"sourcesContent":[null],"names":["TurnkeyLogo","props","_jsxs","
|
|
1
|
+
{"version":3,"file":"Svg.mjs","sources":["../../../src/components/design/Svg.tsx"],"sourcesContent":[null],"names":["TurnkeyLogo","props","_jsxs","_objectSpread","viewBox","fill","xmlns","children","clipPath","_jsx","fillRule","clipRule","d","id","width","height","transform","EthereumLogo","xmlSpace","x","y","className","style","SolanaLogo","x1","x2","y1","y2","gradientTransform","gradientUnits","offset","stopColor"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HandleVerifyAppProofsParams } from "../../types/method-types";
|
|
2
|
+
type VerifyPageProps = HandleVerifyAppProofsParams & {
|
|
3
|
+
onSuccess?: () => void;
|
|
4
|
+
onError?: (error: any) => void;
|
|
5
|
+
successPageDuration?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function VerifyPage(props: VerifyPageProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=Verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Verify.d.ts","sourceRoot":"","sources":["../../../src/components/verify/Verify.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAG5E,KAAK,eAAe,GAAG,2BAA2B,GAAG;IACnD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAkHhD"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var clsx = require('clsx');
|
|
5
|
+
var Hook = require('../../providers/modal/Hook.js');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var react$1 = require('@headlessui/react');
|
|
8
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
9
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
10
|
+
var Hook$1 = require('../../providers/client/Hook.js');
|
|
11
|
+
var Spinners = require('../design/Spinners.js');
|
|
12
|
+
|
|
13
|
+
function VerifyPage(props) {
|
|
14
|
+
const {
|
|
15
|
+
onSuccess,
|
|
16
|
+
onError,
|
|
17
|
+
successPageDuration
|
|
18
|
+
} = props;
|
|
19
|
+
const {
|
|
20
|
+
isMobile,
|
|
21
|
+
closeModal
|
|
22
|
+
} = Hook.useModal();
|
|
23
|
+
const {
|
|
24
|
+
verifyAppProofs
|
|
25
|
+
} = Hook$1.useTurnkey();
|
|
26
|
+
const hasRun = react.useRef(false);
|
|
27
|
+
const [hasCompleted, setHasCompleted] = react.useState(false);
|
|
28
|
+
const [isTextPinging, setIsTextPinging] = react.useState(false);
|
|
29
|
+
// Run verification once
|
|
30
|
+
react.useEffect(() => {
|
|
31
|
+
if (hasRun.current) return;
|
|
32
|
+
hasRun.current = true;
|
|
33
|
+
const closeTimeoutRef = {
|
|
34
|
+
current: undefined
|
|
35
|
+
};
|
|
36
|
+
const runAction = async () => {
|
|
37
|
+
try {
|
|
38
|
+
await new Promise(resolve => setTimeout(resolve, 300)); // slight delay to allow modal animation to complete. The verifyAppProofs call can sometimes freeze the UI while it runs
|
|
39
|
+
await verifyAppProofs({
|
|
40
|
+
...props
|
|
41
|
+
});
|
|
42
|
+
setHasCompleted(true);
|
|
43
|
+
if (!successPageDuration || successPageDuration === 0) {
|
|
44
|
+
onSuccess?.();
|
|
45
|
+
closeModal();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
setTimeout(() => setIsTextPinging(true), 500);
|
|
49
|
+
setTimeout(() => setIsTextPinging(false), 1500);
|
|
50
|
+
closeTimeoutRef.current = setTimeout(() => {
|
|
51
|
+
onSuccess?.();
|
|
52
|
+
closeModal();
|
|
53
|
+
}, successPageDuration);
|
|
54
|
+
} catch (err) {
|
|
55
|
+
onError?.(err);
|
|
56
|
+
closeModal();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
runAction();
|
|
60
|
+
return () => {
|
|
61
|
+
if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current);
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
return jsxRuntime.jsxs("div", {
|
|
65
|
+
className: clsx("flex flex-col items-center justify-center py-5 transition-all duration-300", isMobile ? "w-full" : "w-72"),
|
|
66
|
+
children: [!hasCompleted && jsxRuntime.jsxs("div", {
|
|
67
|
+
className: "size-full absolute text-center text-lg font-semibold flex flex-row items-center justify-center gap-2",
|
|
68
|
+
children: [jsxRuntime.jsx(Spinners.Spinner, {
|
|
69
|
+
strokeWidth: 2,
|
|
70
|
+
className: "h-full"
|
|
71
|
+
}), jsxRuntime.jsx("span", {
|
|
72
|
+
className: "animate-pulse",
|
|
73
|
+
children: "Verifying..."
|
|
74
|
+
})]
|
|
75
|
+
}), jsxRuntime.jsx("div", {
|
|
76
|
+
className: "relative flex flex-col items-center justify-center size-[88px] overflow-hidden",
|
|
77
|
+
children: jsxRuntime.jsx(react$1.Transition, {
|
|
78
|
+
as: "div",
|
|
79
|
+
show: hasCompleted,
|
|
80
|
+
enter: "transition-all duration-600 ease-in-out",
|
|
81
|
+
enterFrom: "opacity-0 scale-40",
|
|
82
|
+
enterTo: "opacity-100 scale-100",
|
|
83
|
+
className: " absolute size-full flex flex-col items-center justify-center",
|
|
84
|
+
children: jsxRuntime.jsx("div", {
|
|
85
|
+
className: "size-full border-2 border-primary-light dark:border-primary-dark text-primary-light dark:text-primary-dark rounded-full flex flex-col items-center justify-center box-border",
|
|
86
|
+
children: jsxRuntime.jsxs(react$1.TransitionChild, {
|
|
87
|
+
as: "div",
|
|
88
|
+
enter: "transition-all duration-200 delay-300 ease-out",
|
|
89
|
+
enterFrom: "opacity-0 scale-60",
|
|
90
|
+
enterTo: "opacity-100 scale-100",
|
|
91
|
+
className: "relative flex flex-col items-center justify-center",
|
|
92
|
+
children: [jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
93
|
+
icon: freeSolidSvgIcons.faCheck,
|
|
94
|
+
size: "2x"
|
|
95
|
+
}), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
96
|
+
className: "absolute animate-ping",
|
|
97
|
+
icon: freeSolidSvgIcons.faCheck,
|
|
98
|
+
size: "2x"
|
|
99
|
+
})]
|
|
100
|
+
})
|
|
101
|
+
})
|
|
102
|
+
})
|
|
103
|
+
}), jsxRuntime.jsxs(react$1.Transition, {
|
|
104
|
+
as: "div",
|
|
105
|
+
show: hasCompleted,
|
|
106
|
+
className: "w-full text-center text-lg font-semibold flex flex-col items-center justify-center mt-2 relative",
|
|
107
|
+
enter: "transition-all ease-out duration-200 delay-200",
|
|
108
|
+
enterFrom: "opacity-0 -translate-y-2",
|
|
109
|
+
enterTo: "opacity-100 translate-y-0",
|
|
110
|
+
children: [jsxRuntime.jsx("span", {
|
|
111
|
+
children: "Verified!"
|
|
112
|
+
}), isTextPinging && jsxRuntime.jsx("span", {
|
|
113
|
+
className: "absolute animate-ping text-icon-text-light dark:text-icon-text-dark",
|
|
114
|
+
children: "Verified!"
|
|
115
|
+
})]
|
|
116
|
+
})]
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
exports.VerifyPage = VerifyPage;
|
|
121
|
+
//# sourceMappingURL=Verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Verify.js","sources":["../../../src/components/verify/Verify.tsx"],"sourcesContent":[null],"names":["VerifyPage","props","onSuccess","onError","successPageDuration","isMobile","closeModal","useModal","verifyAppProofs","useTurnkey","hasRun","useRef","hasCompleted","setHasCompleted","useState","isTextPinging","setIsTextPinging","useEffect","current","closeTimeoutRef","undefined","runAction","Promise","resolve","setTimeout","err","clearTimeout","_jsxs","className","clsx","children","_jsx","Spinner","strokeWidth","Transition","as","show","enter","enterFrom","enterTo","TransitionChild","FontAwesomeIcon","icon","faCheck","size"],"mappings":";;;;;;;;;;;;AAgBM,SAAUA,UAAUA,CAACC,KAAsB,EAAA;EAC/C,MAAM;IAAEC,SAAS;IAAEC,OAAO;AAAEC,IAAAA;AAAmB,GAAE,GAAGH,KAAK;EAEzD,MAAM;IAAEI,QAAQ;AAAEC,IAAAA;GAAY,GAAGC,aAAQ,EAAE;EAC3C,MAAM;AAAEC,IAAAA;GAAiB,GAAGC,iBAAU,EAAE;AAExC,EAAA,MAAMC,MAAM,GAAGC,YAAM,CAAC,KAAK,CAAC;EAE5B,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGF,cAAQ,CAAC,KAAK,CAAC;AAEzD;AACAG,EAAAA,eAAS,CAAC,MAAK;IACb,IAAIP,MAAM,CAACQ,OAAO,EAAE;IACpBR,MAAM,CAACQ,OAAO,GAAG,IAAI;AAErB,IAAA,MAAMC,eAAe,GAAG;AACtBD,MAAAA,OAAO,EAAEE;KACV;AAED,IAAA,MAAMC,SAAS,GAAG,YAAW;MAC3B,IAAI;AACF,QAAA,MAAM,IAAIC,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACzD,QAAA,MAAMf,eAAe,CAAC;UAAE,GAAGP;AAAK,SAAE,CAAC;QACnCY,eAAe,CAAC,IAAI,CAAC;AAErB,QAAA,IAAI,CAACT,mBAAmB,IAAIA,mBAAmB,KAAK,CAAC,EAAE;AACrDF,UAAAA,SAAS,IAAI;AACbI,UAAAA,UAAU,EAAE;AACZ,UAAA;AACF,QAAA;QAEAkB,UAAU,CAAC,MAAMR,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAC7CQ,UAAU,CAAC,MAAMR,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;AAE/CG,QAAAA,eAAe,CAACD,OAAO,GAAGM,UAAU,CAAC,MAAK;AACxCtB,UAAAA,SAAS,IAAI;AACbI,UAAAA,UAAU,EAAE;QACd,CAAC,EAAEF,mBAAmB,CAAC;MACzB,CAAC,CAAC,OAAOqB,GAAG,EAAE;QACZtB,OAAO,GAAGsB,GAAG,CAAC;AACdnB,QAAAA,UAAU,EAAE;AACd,MAAA;IACF,CAAC;AAEDe,IAAAA,SAAS,EAAE;AAEX,IAAA,OAAO,MAAK;MACV,IAAIF,eAAe,CAACD,OAAO,EAAEQ,YAAY,CAACP,eAAe,CAACD,OAAO,CAAC;IACpE,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OACES,eAAA,CAAA,KAAA,EAAA;IACEC,SAAS,EAAEC,IAAI,CACb,4EAA4E,EAC5ExB,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;eAEA,CAACO,YAAY,IACZe;AAAKC,MAAAA,SAAS,EAAC,sGAAsG;AAAAE,MAAAA,QAAA,EAAA,CACnHC,cAAA,CAACC,gBAAO,EAAA;AAACC,QAAAA,WAAW,EAAE,CAAC;AAAEL,QAAAA,SAAS,EAAC;QAAW,EAC9CG,cAAA,CAAA,MAAA,EAAA;AAAMH,QAAAA,SAAS,EAAC,eAAe;AAAAE,QAAAA,QAAA,EAAA;AAAA,OAAA,CAAoB;AAAA,KAAA,CAEtD,EAGDC,cAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,gFAAgF;gBAC7FG,cAAA,CAACG,kBAAU;AACTC,QAAAA,EAAE,EAAC,KAAK;AACRC,QAAAA,IAAI,EAAExB,YAAY;AAClByB,QAAAA,KAAK,EAAC,yCAAyC;AAC/CC,QAAAA,SAAS,EAAC,oBAAoB;AAC9BC,QAAAA,OAAO,EAAC,uBAAuB;AAC/BX,QAAAA,SAAS,EAAC,+DAA+D;AAAAE,QAAAA,QAAA,EAEzEC,cAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,8KAA8K;oBAC3LD,eAAA,CAACa,uBAAe;AACdL,YAAAA,EAAE,EAAC,KAAK;AACRE,YAAAA,KAAK,EAAC,gDAAgD;AACtDC,YAAAA,SAAS,EAAC,oBAAoB;AAC9BC,YAAAA,OAAO,EAAC,uBAAuB;AAC/BX,YAAAA,SAAS,EAAC,oDAAoD;uBAE9DG,cAAA,CAACU,gCAAe;AAACC,cAAAA,IAAI,EAAEC,yBAAO;AAAEC,cAAAA,IAAI,EAAC;cAAO,EAC5Cb,cAAA,CAACU,gCAAe,EAAA;AACdb,cAAAA,SAAS,EAAC,uBAAuB;AACjCc,cAAAA,IAAI,EAAEC,yBAAO;AACbC,cAAAA,IAAI,EAAC;AAAI,aAAA,CACT;WAAA;SACc;OACd;MAEJ,EAGNjB,eAAA,CAACO,kBAAU,EAAA;AACTC,MAAAA,EAAE,EAAC,KAAK;AACRC,MAAAA,IAAI,EAAExB,YAAY;AAClBgB,MAAAA,SAAS,EAAC,kGAAkG;AAC5GS,MAAAA,KAAK,EAAC,gDAAgD;AACtDC,MAAAA,SAAS,EAAC,0BAA0B;AACpCC,MAAAA,OAAO,EAAC,2BAA2B;AAAAT,MAAAA,QAAA,EAAA,CAEnCC,cAAA,CAAA,MAAA,EAAA;AAAAD,QAAAA,QAAA,EAAA;AAAA,OAAA,CAAsB,EAErBf,aAAa,IACZgB,cAAA,CAAA,MAAA,EAAA;AAAMH,QAAAA,SAAS,EAAC,qEAAqE;AAAAE,QAAAA,QAAA,EAAA;AAAA,OAAA,CAGtF;AAAA,KAAA,CACU;AAAA,GAAA,CACT;AAEV;;;;"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
5
|
+
import { useRef, useState, useEffect } from 'react';
|
|
6
|
+
import { Transition, TransitionChild } from '@headlessui/react';
|
|
7
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
8
|
+
import { faCheck } from '@fortawesome/free-solid-svg-icons';
|
|
9
|
+
import { useTurnkey } from '../../providers/client/Hook.mjs';
|
|
10
|
+
import { Spinner } from '../design/Spinners.mjs';
|
|
11
|
+
|
|
12
|
+
function VerifyPage(props) {
|
|
13
|
+
var onSuccess = props.onSuccess,
|
|
14
|
+
onError = props.onError,
|
|
15
|
+
successPageDuration = props.successPageDuration;
|
|
16
|
+
var _useModal = useModal(),
|
|
17
|
+
isMobile = _useModal.isMobile,
|
|
18
|
+
closeModal = _useModal.closeModal;
|
|
19
|
+
var _useTurnkey = useTurnkey(),
|
|
20
|
+
verifyAppProofs = _useTurnkey.verifyAppProofs;
|
|
21
|
+
var hasRun = useRef(false);
|
|
22
|
+
var _useState = useState(false),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
hasCompleted = _useState2[0],
|
|
25
|
+
setHasCompleted = _useState2[1];
|
|
26
|
+
var _useState3 = useState(false),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
+
isTextPinging = _useState4[0],
|
|
29
|
+
setIsTextPinging = _useState4[1];
|
|
30
|
+
// Run verification once
|
|
31
|
+
useEffect(function () {
|
|
32
|
+
if (hasRun.current) return;
|
|
33
|
+
hasRun.current = true;
|
|
34
|
+
var closeTimeoutRef = {
|
|
35
|
+
current: undefined
|
|
36
|
+
};
|
|
37
|
+
var runAction = /*#__PURE__*/function () {
|
|
38
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
39
|
+
var _t;
|
|
40
|
+
return _regenerator().w(function (_context) {
|
|
41
|
+
while (1) switch (_context.p = _context.n) {
|
|
42
|
+
case 0:
|
|
43
|
+
_context.p = 0;
|
|
44
|
+
_context.n = 1;
|
|
45
|
+
return new Promise(function (resolve) {
|
|
46
|
+
return setTimeout(resolve, 300);
|
|
47
|
+
});
|
|
48
|
+
case 1:
|
|
49
|
+
_context.n = 2;
|
|
50
|
+
return verifyAppProofs(_objectSpread2({}, props));
|
|
51
|
+
case 2:
|
|
52
|
+
setHasCompleted(true);
|
|
53
|
+
if (!(!successPageDuration || successPageDuration === 0)) {
|
|
54
|
+
_context.n = 3;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
58
|
+
closeModal();
|
|
59
|
+
return _context.a(2);
|
|
60
|
+
case 3:
|
|
61
|
+
setTimeout(function () {
|
|
62
|
+
return setIsTextPinging(true);
|
|
63
|
+
}, 500);
|
|
64
|
+
setTimeout(function () {
|
|
65
|
+
return setIsTextPinging(false);
|
|
66
|
+
}, 1500);
|
|
67
|
+
closeTimeoutRef.current = setTimeout(function () {
|
|
68
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
69
|
+
closeModal();
|
|
70
|
+
}, successPageDuration);
|
|
71
|
+
_context.n = 5;
|
|
72
|
+
break;
|
|
73
|
+
case 4:
|
|
74
|
+
_context.p = 4;
|
|
75
|
+
_t = _context.v;
|
|
76
|
+
onError === null || onError === void 0 ? void 0 : onError(_t);
|
|
77
|
+
closeModal();
|
|
78
|
+
case 5:
|
|
79
|
+
return _context.a(2);
|
|
80
|
+
}
|
|
81
|
+
}, _callee, null, [[0, 4]]);
|
|
82
|
+
}));
|
|
83
|
+
return function runAction() {
|
|
84
|
+
return _ref.apply(this, arguments);
|
|
85
|
+
};
|
|
86
|
+
}();
|
|
87
|
+
runAction();
|
|
88
|
+
return function () {
|
|
89
|
+
if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current);
|
|
90
|
+
};
|
|
91
|
+
}, []);
|
|
92
|
+
return jsxs("div", {
|
|
93
|
+
className: clsx("flex flex-col items-center justify-center py-5 transition-all duration-300", isMobile ? "w-full" : "w-72"),
|
|
94
|
+
children: [!hasCompleted && jsxs("div", {
|
|
95
|
+
className: "size-full absolute text-center text-lg font-semibold flex flex-row items-center justify-center gap-2",
|
|
96
|
+
children: [jsx(Spinner, {
|
|
97
|
+
strokeWidth: 2,
|
|
98
|
+
className: "h-full"
|
|
99
|
+
}), jsx("span", {
|
|
100
|
+
className: "animate-pulse",
|
|
101
|
+
children: "Verifying..."
|
|
102
|
+
})]
|
|
103
|
+
}), jsx("div", {
|
|
104
|
+
className: "relative flex flex-col items-center justify-center size-[88px] overflow-hidden",
|
|
105
|
+
children: jsx(Transition, {
|
|
106
|
+
as: "div",
|
|
107
|
+
show: hasCompleted,
|
|
108
|
+
enter: "transition-all duration-600 ease-in-out",
|
|
109
|
+
enterFrom: "opacity-0 scale-40",
|
|
110
|
+
enterTo: "opacity-100 scale-100",
|
|
111
|
+
className: " absolute size-full flex flex-col items-center justify-center",
|
|
112
|
+
children: jsx("div", {
|
|
113
|
+
className: "size-full border-2 border-primary-light dark:border-primary-dark text-primary-light dark:text-primary-dark rounded-full flex flex-col items-center justify-center box-border",
|
|
114
|
+
children: jsxs(TransitionChild, {
|
|
115
|
+
as: "div",
|
|
116
|
+
enter: "transition-all duration-200 delay-300 ease-out",
|
|
117
|
+
enterFrom: "opacity-0 scale-60",
|
|
118
|
+
enterTo: "opacity-100 scale-100",
|
|
119
|
+
className: "relative flex flex-col items-center justify-center",
|
|
120
|
+
children: [jsx(FontAwesomeIcon, {
|
|
121
|
+
icon: faCheck,
|
|
122
|
+
size: "2x"
|
|
123
|
+
}), jsx(FontAwesomeIcon, {
|
|
124
|
+
className: "absolute animate-ping",
|
|
125
|
+
icon: faCheck,
|
|
126
|
+
size: "2x"
|
|
127
|
+
})]
|
|
128
|
+
})
|
|
129
|
+
})
|
|
130
|
+
})
|
|
131
|
+
}), jsxs(Transition, {
|
|
132
|
+
as: "div",
|
|
133
|
+
show: hasCompleted,
|
|
134
|
+
className: "w-full text-center text-lg font-semibold flex flex-col items-center justify-center mt-2 relative",
|
|
135
|
+
enter: "transition-all ease-out duration-200 delay-200",
|
|
136
|
+
enterFrom: "opacity-0 -translate-y-2",
|
|
137
|
+
enterTo: "opacity-100 translate-y-0",
|
|
138
|
+
children: [jsx("span", {
|
|
139
|
+
children: "Verified!"
|
|
140
|
+
}), isTextPinging && jsx("span", {
|
|
141
|
+
className: "absolute animate-ping text-icon-text-light dark:text-icon-text-dark",
|
|
142
|
+
children: "Verified!"
|
|
143
|
+
})]
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export { VerifyPage };
|
|
149
|
+
//# sourceMappingURL=Verify.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Verify.mjs","sources":["../../../src/components/verify/Verify.tsx"],"sourcesContent":[null],"names":["VerifyPage","props","onSuccess","onError","successPageDuration","_useModal","useModal","isMobile","closeModal","_useTurnkey","useTurnkey","verifyAppProofs","hasRun","useRef","_useState","useState","_useState2","_slicedToArray","hasCompleted","setHasCompleted","_useState3","_useState4","isTextPinging","setIsTextPinging","useEffect","current","closeTimeoutRef","undefined","runAction","_ref","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","p","n","Promise","resolve","setTimeout","_objectSpread","a","v","apply","arguments","clearTimeout","_jsxs","className","clsx","children","_jsx","Spinner","strokeWidth","Transition","as","show","enter","enterFrom","enterTo","TransitionChild","FontAwesomeIcon","icon","faCheck","size"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/providers/client/Provider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/providers/client/Provider.tsx"],"names":[],"mappings":"AAqGA,OAAO,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAqB5E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAM3B,MAAM,kBAAkB,CAAC;AAwD1B;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAysKxD,CAAC"}
|
|
@@ -29,6 +29,7 @@ var Types = require('./Types.js');
|
|
|
29
29
|
var OTP = require('../../components/auth/OTP.js');
|
|
30
30
|
var RemoveEmail = require('../../components/user/RemoveEmail.js');
|
|
31
31
|
var RemovePhoneNumber = require('../../components/user/RemovePhoneNumber.js');
|
|
32
|
+
var Verify = require('../../components/verify/Verify.js');
|
|
32
33
|
|
|
33
34
|
/**
|
|
34
35
|
* Provides Turnkey client authentication, session management, wallet operations, and user profile management
|
|
@@ -762,7 +763,8 @@ const ClientProvider = ({
|
|
|
762
763
|
const {
|
|
763
764
|
method,
|
|
764
765
|
action,
|
|
765
|
-
identifier
|
|
766
|
+
identifier,
|
|
767
|
+
appProofs
|
|
766
768
|
} = params;
|
|
767
769
|
try {
|
|
768
770
|
const sessionKey = await getActiveSessionKey();
|
|
@@ -780,6 +782,12 @@ const ClientProvider = ({
|
|
|
780
782
|
setAllSessions(allSessions);
|
|
781
783
|
await refreshWallets();
|
|
782
784
|
await refreshUser();
|
|
785
|
+
if (masterConfig?.auth?.verifyWalletOnSignup === true && appProofs && appProofs.length > 0 && action === sdkTypes.AuthAction.SIGNUP) {
|
|
786
|
+
// On signup, if we have appProofs, verify them
|
|
787
|
+
await handleVerifyAppProofs({
|
|
788
|
+
appProofs
|
|
789
|
+
});
|
|
790
|
+
}
|
|
783
791
|
callbacks?.onAuthenticationSuccess?.({
|
|
784
792
|
session,
|
|
785
793
|
method,
|
|
@@ -869,7 +877,8 @@ const ClientProvider = ({
|
|
|
869
877
|
await handlePostAuth({
|
|
870
878
|
method: base.AuthMethod.Passkey,
|
|
871
879
|
action: sdkTypes.AuthAction.LOGIN,
|
|
872
|
-
identifier: res.credentialId
|
|
880
|
+
identifier: res.credentialId,
|
|
881
|
+
appProofs: res.appProofs
|
|
873
882
|
});
|
|
874
883
|
}
|
|
875
884
|
return res;
|
|
@@ -908,7 +917,8 @@ const ClientProvider = ({
|
|
|
908
917
|
await handlePostAuth({
|
|
909
918
|
method: base.AuthMethod.Passkey,
|
|
910
919
|
action: sdkTypes.AuthAction.SIGNUP,
|
|
911
|
-
identifier: res.credentialId
|
|
920
|
+
identifier: res.credentialId,
|
|
921
|
+
appProofs: res.appProofs
|
|
912
922
|
});
|
|
913
923
|
}
|
|
914
924
|
return res;
|
|
@@ -966,7 +976,7 @@ const ClientProvider = ({
|
|
|
966
976
|
...params,
|
|
967
977
|
walletProviders
|
|
968
978
|
});
|
|
969
|
-
}, [client, callbacks]);
|
|
979
|
+
}, [client, callbacks, walletProviders]);
|
|
970
980
|
const buildWalletLoginRequest = react.useCallback(async params => {
|
|
971
981
|
if (!client) {
|
|
972
982
|
throw new sdkTypes.TurnkeyError("Client is not initialized.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
@@ -990,7 +1000,8 @@ const ClientProvider = ({
|
|
|
990
1000
|
await handlePostAuth({
|
|
991
1001
|
method: base.AuthMethod.Wallet,
|
|
992
1002
|
action: sdkTypes.AuthAction.LOGIN,
|
|
993
|
-
identifier: res.address
|
|
1003
|
+
identifier: res.address,
|
|
1004
|
+
appProofs: res.appProofs
|
|
994
1005
|
});
|
|
995
1006
|
}
|
|
996
1007
|
return res;
|
|
@@ -1019,7 +1030,8 @@ const ClientProvider = ({
|
|
|
1019
1030
|
await handlePostAuth({
|
|
1020
1031
|
method: base.AuthMethod.Wallet,
|
|
1021
1032
|
action: sdkTypes.AuthAction.SIGNUP,
|
|
1022
|
-
identifier: res.address
|
|
1033
|
+
identifier: res.address,
|
|
1034
|
+
appProofs: res.appProofs
|
|
1023
1035
|
});
|
|
1024
1036
|
}
|
|
1025
1037
|
return res;
|
|
@@ -1048,7 +1060,8 @@ const ClientProvider = ({
|
|
|
1048
1060
|
await handlePostAuth({
|
|
1049
1061
|
method: base.AuthMethod.Wallet,
|
|
1050
1062
|
action: res.action,
|
|
1051
|
-
identifier: res.address
|
|
1063
|
+
identifier: res.address,
|
|
1064
|
+
appProofs: res.appProofs
|
|
1052
1065
|
});
|
|
1053
1066
|
}
|
|
1054
1067
|
return res;
|
|
@@ -1074,7 +1087,8 @@ const ClientProvider = ({
|
|
|
1074
1087
|
await handlePostAuth({
|
|
1075
1088
|
method: base.AuthMethod.Otp,
|
|
1076
1089
|
action: sdkTypes.AuthAction.LOGIN,
|
|
1077
|
-
identifier: params.verificationToken
|
|
1090
|
+
identifier: params.verificationToken,
|
|
1091
|
+
appProofs: res.appProofs
|
|
1078
1092
|
});
|
|
1079
1093
|
}
|
|
1080
1094
|
return res;
|
|
@@ -1106,7 +1120,8 @@ const ClientProvider = ({
|
|
|
1106
1120
|
await handlePostAuth({
|
|
1107
1121
|
method: base.AuthMethod.Otp,
|
|
1108
1122
|
action: sdkTypes.AuthAction.SIGNUP,
|
|
1109
|
-
identifier: params.verificationToken
|
|
1123
|
+
identifier: params.verificationToken,
|
|
1124
|
+
appProofs: res.appProofs
|
|
1110
1125
|
});
|
|
1111
1126
|
}
|
|
1112
1127
|
return res;
|
|
@@ -1138,7 +1153,8 @@ const ClientProvider = ({
|
|
|
1138
1153
|
await handlePostAuth({
|
|
1139
1154
|
method: base.AuthMethod.Otp,
|
|
1140
1155
|
action: res.action,
|
|
1141
|
-
identifier: res.verificationToken
|
|
1156
|
+
identifier: res.verificationToken,
|
|
1157
|
+
appProofs: res.appProofs
|
|
1142
1158
|
});
|
|
1143
1159
|
}
|
|
1144
1160
|
return res;
|
|
@@ -1152,7 +1168,8 @@ const ClientProvider = ({
|
|
|
1152
1168
|
await handlePostAuth({
|
|
1153
1169
|
method: base.AuthMethod.Oauth,
|
|
1154
1170
|
action: sdkTypes.AuthAction.LOGIN,
|
|
1155
|
-
identifier: params.oidcToken
|
|
1171
|
+
identifier: params.oidcToken,
|
|
1172
|
+
appProofs: res.appProofs
|
|
1156
1173
|
});
|
|
1157
1174
|
}
|
|
1158
1175
|
return res;
|
|
@@ -1177,7 +1194,8 @@ const ClientProvider = ({
|
|
|
1177
1194
|
await handlePostAuth({
|
|
1178
1195
|
method: base.AuthMethod.Oauth,
|
|
1179
1196
|
action: sdkTypes.AuthAction.SIGNUP,
|
|
1180
|
-
identifier: params.oidcToken
|
|
1197
|
+
identifier: params.oidcToken,
|
|
1198
|
+
appProofs: res.appProofs
|
|
1181
1199
|
});
|
|
1182
1200
|
}
|
|
1183
1201
|
return res;
|
|
@@ -1202,7 +1220,8 @@ const ClientProvider = ({
|
|
|
1202
1220
|
await handlePostAuth({
|
|
1203
1221
|
method: base.AuthMethod.Oauth,
|
|
1204
1222
|
action: res.action,
|
|
1205
|
-
identifier: params.oidcToken
|
|
1223
|
+
identifier: params.oidcToken,
|
|
1224
|
+
appProofs: res.appProofs
|
|
1206
1225
|
});
|
|
1207
1226
|
}
|
|
1208
1227
|
return res;
|
|
@@ -1628,6 +1647,10 @@ const ClientProvider = ({
|
|
|
1628
1647
|
if (!client) throw new sdkTypes.TurnkeyError("Client is not initialized.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
1629
1648
|
return utils.withTurnkeyErrorHandling(() => client.fetchBootProofForAppProof(params), () => logout(), callbacks, "Failed to fetch or create delegated access user");
|
|
1630
1649
|
}, [client, callbacks]);
|
|
1650
|
+
const verifyAppProofs = react.useCallback(async params => {
|
|
1651
|
+
if (!client) throw new sdkTypes.TurnkeyError("Client is not initialized.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
1652
|
+
return utils.withTurnkeyErrorHandling(() => client.verifyAppProofs(params), () => logout(), callbacks, "Failed to verify app proofs");
|
|
1653
|
+
}, [client, callbacks]);
|
|
1631
1654
|
const refreshWallets = react.useCallback(async params => {
|
|
1632
1655
|
if (!masterConfig?.autoRefreshManagedState) return [];
|
|
1633
1656
|
const {
|
|
@@ -3417,6 +3440,50 @@ const ClientProvider = ({
|
|
|
3417
3440
|
throw new sdkTypes.TurnkeyError("Failed to remove user phone number.", sdkTypes.TurnkeyErrorCodes.UPDATE_USER_PHONE_NUMBER_ERROR, error);
|
|
3418
3441
|
}
|
|
3419
3442
|
}, [pushPage, masterConfig, client, session, user]);
|
|
3443
|
+
const handleVerifyAppProofs = react.useCallback(async params => {
|
|
3444
|
+
const {
|
|
3445
|
+
appProofs,
|
|
3446
|
+
successPageDuration = 3000,
|
|
3447
|
+
stampWith
|
|
3448
|
+
} = params || {};
|
|
3449
|
+
const s = await getSession();
|
|
3450
|
+
const organizationId = params?.organizationId || s?.organizationId;
|
|
3451
|
+
if (!organizationId) {
|
|
3452
|
+
throw new sdkTypes.TurnkeyError("A session or passed in organization ID is required.", sdkTypes.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
3453
|
+
}
|
|
3454
|
+
try {
|
|
3455
|
+
return new Promise((resolve, reject) => {
|
|
3456
|
+
pushPage({
|
|
3457
|
+
key: "Verify app proofs",
|
|
3458
|
+
showTurnkeyBranding: false,
|
|
3459
|
+
content: jsxRuntime.jsx(Verify.VerifyPage, {
|
|
3460
|
+
appProofs: appProofs,
|
|
3461
|
+
onSuccess: () => {
|
|
3462
|
+
resolve();
|
|
3463
|
+
},
|
|
3464
|
+
onError: error => {
|
|
3465
|
+
reject(error);
|
|
3466
|
+
},
|
|
3467
|
+
successPageDuration: successPageDuration,
|
|
3468
|
+
...(stampWith && {
|
|
3469
|
+
stampWith
|
|
3470
|
+
}),
|
|
3471
|
+
...(organizationId !== undefined && {
|
|
3472
|
+
organizationId
|
|
3473
|
+
})
|
|
3474
|
+
}),
|
|
3475
|
+
showTitle: false,
|
|
3476
|
+
preventBack: true,
|
|
3477
|
+
onClose: () => reject(new sdkTypes.TurnkeyError("User canceled the verify app proofs process.", sdkTypes.TurnkeyErrorCodes.USER_CANCELED))
|
|
3478
|
+
});
|
|
3479
|
+
});
|
|
3480
|
+
} catch (error) {
|
|
3481
|
+
if (error instanceof sdkTypes.TurnkeyError) {
|
|
3482
|
+
throw error;
|
|
3483
|
+
}
|
|
3484
|
+
throw new sdkTypes.TurnkeyError("Failed to verify app proofs.", sdkTypes.TurnkeyErrorCodes.VERIFY_APP_PROOFS_ERROR, error);
|
|
3485
|
+
}
|
|
3486
|
+
}, [pushPage, client]);
|
|
3420
3487
|
react.useEffect(() => {
|
|
3421
3488
|
if (proxyAuthConfigRef.current) return;
|
|
3422
3489
|
// Only fetch the proxy auth config once. Use that to build the master config.
|
|
@@ -3584,6 +3651,7 @@ const ClientProvider = ({
|
|
|
3584
3651
|
createApiKeyPair,
|
|
3585
3652
|
getProxyAuthConfig,
|
|
3586
3653
|
fetchBootProofForAppProof,
|
|
3654
|
+
verifyAppProofs,
|
|
3587
3655
|
handleLogin,
|
|
3588
3656
|
handleGoogleOauth,
|
|
3589
3657
|
handleXOauth,
|
|
@@ -3607,7 +3675,8 @@ const ClientProvider = ({
|
|
|
3607
3675
|
handleSignMessage,
|
|
3608
3676
|
handleConnectExternalWallet,
|
|
3609
3677
|
handleRemoveUserEmail,
|
|
3610
|
-
handleRemoveUserPhoneNumber
|
|
3678
|
+
handleRemoveUserPhoneNumber,
|
|
3679
|
+
handleVerifyAppProofs
|
|
3611
3680
|
},
|
|
3612
3681
|
children: children
|
|
3613
3682
|
});
|