@dynamic-labs/sdk-react-core 0.18.0 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +26 -10
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +9 -9
  5. package/src/index.cjs +2 -0
  6. package/src/index.js +1 -0
  7. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.cjs +4 -2
  8. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.d.ts +2 -1
  9. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.js +4 -2
  10. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +2 -2
  11. package/src/lib/components/OTPVerificationView/OTPVerificationView.d.ts +1 -0
  12. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +2 -2
  13. package/src/lib/components/Typography/Typography.cjs +1 -0
  14. package/src/lib/components/Typography/Typography.js +1 -0
  15. package/src/lib/components/Typography/Typography.types.d.ts +1 -1
  16. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -1
  17. package/src/lib/context/DynamicContext/DynamicContext.js +2 -1
  18. package/src/lib/data/api.cjs +17 -1
  19. package/src/lib/data/api.d.ts +2 -1
  20. package/src/lib/data/api.js +17 -2
  21. package/src/lib/styles/index.shadow.cjs +1 -1
  22. package/src/lib/styles/index.shadow.js +1 -1
  23. package/src/lib/utils/functions/digestSHA256/digestSHA256.cjs +11 -0
  24. package/src/lib/utils/functions/digestSHA256/digestSHA256.d.ts +1 -0
  25. package/src/lib/utils/functions/digestSHA256/digestSHA256.js +7 -0
  26. package/src/lib/utils/functions/digestSHA256/index.d.ts +1 -0
  27. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.cjs +14 -0
  28. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.d.ts +1 -0
  29. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.js +10 -0
  30. package/src/lib/utils/functions/encodeBase64URL/index.d.ts +1 -0
  31. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.cjs +33 -0
  32. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.d.ts +1 -0
  33. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.js +29 -0
  34. package/src/lib/utils/functions/getRedirectURIOrigin/index.d.ts +1 -0
  35. package/src/lib/utils/functions/index.d.ts +5 -0
  36. package/src/lib/utils/functions/randomString/index.d.ts +1 -0
  37. package/src/lib/utils/functions/randomString/randomString.cjs +14 -0
  38. package/src/lib/utils/functions/randomString/randomString.d.ts +1 -0
  39. package/src/lib/utils/functions/randomString/randomString.js +10 -0
  40. package/src/lib/utils/functions/stringifyURIQuery/index.d.ts +1 -0
  41. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.cjs +13 -0
  42. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.d.ts +1 -0
  43. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.js +9 -0
  44. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +90 -23
  45. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +92 -25
  46. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +9 -3
  47. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +9 -3
  48. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +1 -1
  49. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +1 -1
  50. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.cjs +4 -1
  51. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.js +4 -1
  52. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs +13 -0
  53. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.d.ts +2 -0
  54. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.js +9 -0
  55. package/src/lib/widgets/OAuthIFrameContainer/index.d.ts +1 -0
  56. package/src/lib/widgets/index.d.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,20 @@
1
1
 
2
+ ### [0.18.2](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.1...v0.18.2) (2023-08-15)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * fix twitter linking ([#2918](https://github.com/dynamic-labs/DynamicAuth/issues/2918)) ([#3002](https://github.com/dynamic-labs/DynamicAuth/issues/3002)) ([e75a6bb](https://github.com/dynamic-labs/DynamicAuth/commit/e75a6bbe4a3751bf246ccffa0fe728c68d16441e))
8
+ * use ETH currency symbol for STARK chains ([#3005](https://github.com/dynamic-labs/DynamicAuth/issues/3005)) ([#3007](https://github.com/dynamic-labs/DynamicAuth/issues/3007)) ([1f4bca8](https://github.com/dynamic-labs/DynamicAuth/commit/1f4bca86ce68e37e33543d5b1cf11421d48c0aa6))
9
+
10
+ ### [0.18.1](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0...v0.18.1) (2023-08-15)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * captcha: complete sign in with magic and blocto ([#2967](https://github.com/dynamic-labs/DynamicAuth/issues/2967)) ([#2983](https://github.com/dynamic-labs/DynamicAuth/issues/2983)) ([495b9ad](https://github.com/dynamic-labs/DynamicAuth/commit/495b9adfed3bf131cceed3f8788caaa1443d8a1a))
16
+ * sync wagmi correctly in connect-only mode ([#2990](https://github.com/dynamic-labs/DynamicAuth/issues/2990)) ([#2994](https://github.com/dynamic-labs/DynamicAuth/issues/2994)) ([d4d6450](https://github.com/dynamic-labs/DynamicAuth/commit/d4d6450247246b81702fa8bed3cc0abdd51846f3))
17
+
2
18
  ## [0.18.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-beta.32...v0.18.0) (2023-08-13)
3
19
 
4
20
 
@@ -10,18 +26,18 @@
10
26
 
11
27
  ### Bug Fixes
12
28
 
13
- * account already exist message not displaying automatically ([#2896](https://github.com/dynamic-labs/DynamicAuth/issues/2896)) ([#2906](https://github.com/dynamic-labs/DynamicAuth/issues/2906)) ([5e7478a](https://github.com/dynamic-labs/DynamicAuth/commit/5e7478acd864451a7cf7e8e62845cca7ef5439c6))
29
+ * fix issues with mergeUserAccountsView ([#2945](https://github.com/dynamic-labs/DynamicAuth/issues/2945)) ([2c6265e](https://github.com/dynamic-labs/DynamicAuth/commit/2c6265e3e709edb9ff1af6e6c139b85418e46d76))
30
+ * fix connecting with cool wallet ([#2949](https://github.com/dynamic-labs/DynamicAuth/issues/2949)) ([ab22303](https://github.com/dynamic-labs/DynamicAuth/commit/ab22303294123c2a914a65f0d2c15481740647bb))
31
+ * fix email update when user is authenticated ([#2932](https://github.com/dynamic-labs/DynamicAuth/issues/2932)) ([db33ba1](https://github.com/dynamic-labs/DynamicAuth/commit/db33ba14c317469958ce314a3822b706e20b07d0))
32
+ * fix gas estimate in transaction confirmation ([#2938](https://github.com/dynamic-labs/DynamicAuth/issues/2938)) ([02d0f46](https://github.com/dynamic-labs/DynamicAuth/commit/02d0f46127e94e83b4decbaaf6a45dbae135c89d))
33
+ * fix gas estimate for transactions ([#2947](https://github.com/dynamic-labs/DynamicAuth/issues/2947)) ([ad35a72](https://github.com/dynamic-labs/DynamicAuth/commit/ad35a722df6abd54b98ea491661ff4ec3e602621))
34
+ * fix key to distinguish wallet and wallet group ([#2922](https://github.com/dynamic-labs/DynamicAuth/issues/2922)) ([f40c07c](https://github.com/dynamic-labs/DynamicAuth/commit/f40c07c65915775e99a1dbb8d07bb23824a92915)), closes [#2909](https://github.com/dynamic-labs/DynamicAuth/issues/2909)
35
+ * automatically display account already exist message ([#2896](https://github.com/dynamic-labs/DynamicAuth/issues/2896)) ([#2906](https://github.com/dynamic-labs/DynamicAuth/issues/2906)) ([5e7478a](https://github.com/dynamic-labs/DynamicAuth/commit/5e7478acd864451a7cf7e8e62845cca7ef5439c6))
14
36
  * don't let user update email if it's tied to an embedded wallet ([#2903](https://github.com/dynamic-labs/DynamicAuth/issues/2903)) ([33c52b5](https://github.com/dynamic-labs/DynamicAuth/commit/33c52b50a880a34b4161a700b8b1805c9b01527d)), closes [#2883](https://github.com/dynamic-labs/DynamicAuth/issues/2883)
15
- * **GVTY-195:** issues with mergeUserAccountsView ([#2945](https://github.com/dynamic-labs/DynamicAuth/issues/2945)) ([2c6265e](https://github.com/dynamic-labs/DynamicAuth/commit/2c6265e3e709edb9ff1af6e6c139b85418e46d76))
16
- * **Magic:** improve gas estimate for transactions ([#2947](https://github.com/dynamic-labs/DynamicAuth/issues/2947)) ([ad35a72](https://github.com/dynamic-labs/DynamicAuth/commit/ad35a722df6abd54b98ea491661ff4ec3e602621))
17
- * missing enable isVerificationInProgress ([#2926](https://github.com/dynamic-labs/DynamicAuth/issues/2926)) ([98f54fd](https://github.com/dynamic-labs/DynamicAuth/commit/98f54fd1345713dfaf0ef837502dfaca3709d633))
18
- * **networks:** merge custom network after API networks ([#2949](https://github.com/dynamic-labs/DynamicAuth/issues/2949)) ([ab22303](https://github.com/dynamic-labs/DynamicAuth/commit/ab22303294123c2a914a65f0d2c15481740647bb))
19
- * onBeforeConnectSuccessConfirmation is being called multiple time ([#2965](https://github.com/dynamic-labs/DynamicAuth/issues/2965)) ([a276968](https://github.com/dynamic-labs/DynamicAuth/commit/a2769689bc82350dfb8123e1fe8a4e92a60b262c))
20
- * **QNTM-249:** broken email update when user is authenticated ([#2932](https://github.com/dynamic-labs/DynamicAuth/issues/2932)) ([db33ba1](https://github.com/dynamic-labs/DynamicAuth/commit/db33ba14c317469958ce314a3822b706e20b07d0))
37
+ * fix isVerificationInProgress flag ([#2926](https://github.com/dynamic-labs/DynamicAuth/issues/2926)) ([98f54fd](https://github.com/dynamic-labs/DynamicAuth/commit/98f54fd1345713dfaf0ef837502dfaca3709d633))
38
+ * de-duplicate onBeforeConnectSuccessConfirmation callback invocations ([#2965](https://github.com/dynamic-labs/DynamicAuth/issues/2965)) ([a276968](https://github.com/dynamic-labs/DynamicAuth/commit/a2769689bc82350dfb8123e1fe8a4e92a60b262c))
21
39
  * reformat social sign-in text ([#2956](https://github.com/dynamic-labs/DynamicAuth/issues/2956)) ([#2961](https://github.com/dynamic-labs/DynamicAuth/issues/2961)) ([f8d2222](https://github.com/dynamic-labs/DynamicAuth/commit/f8d2222d102f5335f95ec917cbb63bf9b55eff0b))
22
- * **transaction:** improve gas estimate in transaction confirmation ([#2938](https://github.com/dynamic-labs/DynamicAuth/issues/2938)) ([02d0f46](https://github.com/dynamic-labs/DynamicAuth/commit/02d0f46127e94e83b4decbaaf6a45dbae135c89d))
23
- * useSyncPrimaryWallet overrides views with "wallet-locked-view" ([#2921](https://github.com/dynamic-labs/DynamicAuth/issues/2921)) ([aa8c369](https://github.com/dynamic-labs/DynamicAuth/commit/aa8c369d2a713eb57ecc99b16a6b62d465789370))
24
- * **wallet-list:** update key to distinguish wallet and wallet group ([#2922](https://github.com/dynamic-labs/DynamicAuth/issues/2922)) ([f40c07c](https://github.com/dynamic-labs/DynamicAuth/commit/f40c07c65915775e99a1dbb8d07bb23824a92915)), closes [#2909](https://github.com/dynamic-labs/DynamicAuth/issues/2909)
40
+ * stop overriding views ([#2921](https://github.com/dynamic-labs/DynamicAuth/issues/2921)) ([aa8c369](https://github.com/dynamic-labs/DynamicAuth/commit/aa8c369d2a713eb57ecc99b16a6b62d465789370))
25
41
 
26
42
  ## [0.18.0-beta.32](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-beta.31...v0.18.0-beta.32) (2023-08-09)
27
43
 
package/package.cjs CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "0.18.0";
5
+ var version = "0.18.2";
6
6
  var dependencies = {
7
7
  "react-focus-lock": "2.9.2",
8
8
  "@dynamic-labs/iconic": "0.1.23",
9
- "@dynamic-labs/sdk-api": "0.0.256",
9
+ "@dynamic-labs/sdk-api": "0.0.260",
10
10
  "@hcaptcha/react-hcaptcha": "1.4.4",
11
11
  "country-list": "2.3.0",
12
12
  yup: "0.32.11",
package/package.js CHANGED
@@ -1,8 +1,8 @@
1
- var version = "0.18.0";
1
+ var version = "0.18.2";
2
2
  var dependencies = {
3
3
  "react-focus-lock": "2.9.2",
4
4
  "@dynamic-labs/iconic": "0.1.23",
5
- "@dynamic-labs/sdk-api": "0.0.256",
5
+ "@dynamic-labs/sdk-api": "0.0.260",
6
6
  "@hcaptcha/react-hcaptcha": "1.4.4",
7
7
  "country-list": "2.3.0",
8
8
  yup: "0.32.11",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "0.18.0",
3
+ "version": "0.18.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -9,20 +9,20 @@
9
9
  "dependencies": {
10
10
  "react-focus-lock": "2.9.2",
11
11
  "@dynamic-labs/iconic": "0.1.23",
12
- "@dynamic-labs/sdk-api": "0.0.256",
12
+ "@dynamic-labs/sdk-api": "0.0.260",
13
13
  "@hcaptcha/react-hcaptcha": "1.4.4",
14
14
  "country-list": "2.3.0",
15
15
  "yup": "0.32.11",
16
16
  "formik": "2.2.9",
17
17
  "qrcode": "1.5.1",
18
18
  "ethers": "5.7.2",
19
- "@dynamic-labs/logger": "0.18.0",
20
- "@dynamic-labs/multi-wallet": "0.18.0",
21
- "@dynamic-labs/rpc-providers": "0.18.0",
22
- "@dynamic-labs/types": "0.18.0",
23
- "@dynamic-labs/utils": "0.18.0",
24
- "@dynamic-labs/wallet-book": "0.18.0",
25
- "@dynamic-labs/wallet-connector-core": "0.18.0",
19
+ "@dynamic-labs/logger": "0.18.2",
20
+ "@dynamic-labs/multi-wallet": "0.18.2",
21
+ "@dynamic-labs/rpc-providers": "0.18.2",
22
+ "@dynamic-labs/types": "0.18.2",
23
+ "@dynamic-labs/utils": "0.18.2",
24
+ "@dynamic-labs/wallet-book": "0.18.2",
25
+ "@dynamic-labs/wallet-connector-core": "0.18.2",
26
26
  "eventemitter3": "5.0.1"
27
27
  },
28
28
  "devDependencies": {
package/src/index.cjs CHANGED
@@ -14,6 +14,7 @@ var DynamicNav = require('./lib/widgets/DynamicWidget/components/DynamicNav/Dyna
14
14
  var DynamicUserProfile = require('./lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs');
15
15
  var FundingWidget = require('./lib/widgets/FundingWidget/FundingWidget.cjs');
16
16
  var DynamicBridgeWidget = require('./lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs');
17
+ var OAuthIFrameContainer = require('./lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs');
17
18
  require('react/jsx-runtime');
18
19
  require('react');
19
20
  var classNames = require('./lib/utils/functions/classNames/classNames.cjs');
@@ -147,6 +148,7 @@ exports.DynamicNav = DynamicNav.ShadowedDynamicNav;
147
148
  exports.DynamicUserProfile = DynamicUserProfile.ShadowedDynamicUserProfile;
148
149
  exports.FundingWidget = FundingWidget.FundingWidget;
149
150
  exports.DynamicBridgeWidget = DynamicBridgeWidget.DynamicBridgeWidget;
151
+ exports.OAuthIFrameContainer = OAuthIFrameContainer.OAuthIFrameContainer;
150
152
  exports.classNames = classNames.classNames;
151
153
  exports.decodeJwt = decodeJwt.decodeJwt;
152
154
  exports.validateType = validateType.validateType;
package/src/index.js CHANGED
@@ -10,6 +10,7 @@ export { ShadowedDynamicNav as DynamicNav } from './lib/widgets/DynamicWidget/co
10
10
  export { ShadowedDynamicUserProfile as DynamicUserProfile } from './lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js';
11
11
  export { FundingWidget } from './lib/widgets/FundingWidget/FundingWidget.js';
12
12
  export { DynamicBridgeWidget } from './lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js';
13
+ export { OAuthIFrameContainer } from './lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.js';
13
14
  import 'react/jsx-runtime';
14
15
  import 'react';
15
16
  export { classNames } from './lib/utils/functions/classNames/classNames.js';
@@ -13,9 +13,11 @@ var VerticalDrawerTransition = require('../Transition/VerticalDrawerTransition/V
13
13
 
14
14
  const typographyColor = {
15
15
  error: 'error-1',
16
+ success: 'green-1',
16
17
  };
17
- const ModalHeaderBanner = ({ message, type = 'error', }) => (jsxRuntime.jsx(AnimatePresence.AnimatePresence, Object.assign({ animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, { style: { width: '100%' } }) }, { children: Boolean(message) && (jsxRuntime.jsx("div", Object.assign({ className: classNames.classNames('modal-header-banner', {
18
+ const ModalHeaderBanner = ({ message, type = 'error', disableTruncate = false, }) => (jsxRuntime.jsx(AnimatePresence.AnimatePresence, Object.assign({ animationComponent: jsxRuntime.jsx(VerticalDrawerTransition.VerticalDrawerTransition, { style: { width: '100%' } }) }, { children: Boolean(message) && (jsxRuntime.jsx("div", Object.assign({ className: classNames.classNames('modal-header-banner', {
18
19
  'modal-header-banner__error': type === 'error',
19
- }) }, { children: jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', color: typographyColor[type], truncate: true }, { children: message })) }))) })));
20
+ 'modal-header-banner__success': type === 'success',
21
+ }) }, { children: jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', color: typographyColor[type], truncate: disableTruncate === false }, { children: message })) }))) })));
20
22
 
21
23
  exports.ModalHeaderBanner = ModalHeaderBanner;
@@ -1,8 +1,9 @@
1
1
  import { FC } from 'react';
2
- type ModalHeaderBannerType = 'error';
2
+ type ModalHeaderBannerType = 'error' | 'success';
3
3
  export type ModalHeaderBannerProps = {
4
4
  message?: string;
5
5
  type?: ModalHeaderBannerType;
6
+ disableTruncate?: boolean;
6
7
  };
7
8
  export declare const ModalHeaderBanner: FC<ModalHeaderBannerProps>;
8
9
  export {};
@@ -9,9 +9,11 @@ import { VerticalDrawerTransition } from '../Transition/VerticalDrawerTransition
9
9
 
10
10
  const typographyColor = {
11
11
  error: 'error-1',
12
+ success: 'green-1',
12
13
  };
13
- const ModalHeaderBanner = ({ message, type = 'error', }) => (jsx(AnimatePresence, Object.assign({ animationComponent: jsx(VerticalDrawerTransition, { style: { width: '100%' } }) }, { children: Boolean(message) && (jsx("div", Object.assign({ className: classNames('modal-header-banner', {
14
+ const ModalHeaderBanner = ({ message, type = 'error', disableTruncate = false, }) => (jsx(AnimatePresence, Object.assign({ animationComponent: jsx(VerticalDrawerTransition, { style: { width: '100%' } }) }, { children: Boolean(message) && (jsx("div", Object.assign({ className: classNames('modal-header-banner', {
14
15
  'modal-header-banner__error': type === 'error',
15
- }) }, { children: jsx(Typography, Object.assign({ variant: 'body_small', color: typographyColor[type], truncate: true }, { children: message })) }))) })));
16
+ 'modal-header-banner__success': type === 'success',
17
+ }) }, { children: jsx(Typography, Object.assign({ variant: 'body_small', color: typographyColor[type], truncate: disableTruncate === false }, { children: message })) }))) })));
16
18
 
17
19
  export { ModalHeaderBanner };
@@ -55,10 +55,10 @@ require('yup');
55
55
  require('../InlineWidget/InlineWidget.cjs');
56
56
  require('../MenuList/Dropdown/Dropdown.cjs');
57
57
 
58
- const OTPVerificationView = ({ onClickBack, onClickEditEmail, isLoading, email, onPinComplete, isValid, error, onPinChange, onClickClose, displayPoweredByDynamic = false, }) => {
58
+ const OTPVerificationView = ({ onClickBack, onClickEditEmail, isLoading, email, onPinComplete, isValid, error, onPinChange, onClickClose, displayPoweredByDynamic = false, successBannerText, }) => {
59
59
  const backButton = onClickBack && (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ type: 'button', onClick: onClickBack, "data-testid": 'back-button' }, { children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) })));
60
60
  const closeButton = (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ onClick: onClickClose, type: 'button', "data-testid": 'close-button' }, { children: jsxRuntime.jsx(close.ReactComponent, {}) })));
61
- return (jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view' }, { children: [jsxRuntime.jsx(ModalHeaderBanner.ModalHeaderBanner, { type: 'error', message: error === null || error === void 0 ? void 0 : error.message }), jsxRuntime.jsx(ModalHeader.ModalHeader, Object.assign({ alignContent: 'bottom', leading: onClickBack && backButton, trailing: onClickClose && closeButton }, { children: jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view__status-header' }, { children: [isValid && (jsxRuntime.jsx(IconWithStatus.IconWithStatus, { Icon: iconic.SignInWithEmailIcon, iconSize: 50, InnerIcon: check.ReactComponent })), !isValid && (jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: iconic.SignInWithEmailIcon, iconSize: 80, isSpinning: isLoading }))] })) })), jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'title', color: 'primary', className: 'otp-verification-view__title' }, { children: isValid ? 'Verification code confirmed' : 'Confirm verification code' })), jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view__body' }, { children: [isValid && (jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Hang tight while we get things ready for you" }))), !isValid && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view__email-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail.shortenEmail(email) })), onClickEditEmail && (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ onClick: onClickEditEmail, "data-testid": 'otp-verification-view__edit-button' }, { children: jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'text-tertiary' }, { children: jsxRuntime.jsx(pencilAltIcon.ReactComponent, {}) })) })))] }))] }))] })), jsxRuntime.jsx(PinField.PinField, { initialValue: Array(6).join('.').split('.'), isLoading: isLoading, handleComplete: onPinComplete, isValidated: isValid, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: onPinChange }), jsxRuntime.jsx("div", Object.assign({ className: 'otp-verification-view__footer' }, { children: displayPoweredByDynamic && jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {}) }))] })));
61
+ return (jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view' }, { children: [successBannerText && (jsxRuntime.jsx(ModalHeaderBanner.ModalHeaderBanner, { type: 'success', message: successBannerText, disableTruncate: true })), jsxRuntime.jsx(ModalHeaderBanner.ModalHeaderBanner, { type: 'error', message: error === null || error === void 0 ? void 0 : error.message }), jsxRuntime.jsx(ModalHeader.ModalHeader, Object.assign({ alignContent: 'bottom', leading: onClickBack && backButton, trailing: onClickClose && closeButton }, { children: jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view__status-header' }, { children: [isValid && (jsxRuntime.jsx(IconWithStatus.IconWithStatus, { Icon: iconic.SignInWithEmailIcon, iconSize: 50, InnerIcon: check.ReactComponent })), !isValid && (jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: iconic.SignInWithEmailIcon, iconSize: 80, isSpinning: isLoading }))] })) })), jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'title', color: 'primary', className: 'otp-verification-view__title' }, { children: isValid ? 'Verification code confirmed' : 'Confirm verification code' })), jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view__body' }, { children: [isValid && (jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Hang tight while we get things ready for you" }))), !isValid && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsxRuntime.jsxs("div", Object.assign({ className: 'otp-verification-view__email-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail.shortenEmail(email) })), onClickEditEmail && (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ onClick: onClickEditEmail, "data-testid": 'otp-verification-view__edit-button' }, { children: jsxRuntime.jsx(Icon.Icon, Object.assign({ color: 'text-tertiary' }, { children: jsxRuntime.jsx(pencilAltIcon.ReactComponent, {}) })) })))] }))] }))] })), jsxRuntime.jsx(PinField.PinField, { initialValue: Array(6).join('.').split('.'), isLoading: isLoading, handleComplete: onPinComplete, isValidated: isValid, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: onPinChange }), jsxRuntime.jsx("div", Object.assign({ className: 'otp-verification-view__footer' }, { children: displayPoweredByDynamic && jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {}) }))] })));
62
62
  };
63
63
 
64
64
  exports.OTPVerificationView = OTPVerificationView;
@@ -10,6 +10,7 @@ type OtpVerificationLayoutProps = {
10
10
  onClickEditEmail?: MouseEventHandler<HTMLButtonElement>;
11
11
  onPinChange?: (value: string) => void;
12
12
  onPinComplete: (value: string) => void;
13
+ successBannerText?: string;
13
14
  };
14
15
  export declare const OTPVerificationView: FC<OtpVerificationLayoutProps>;
15
16
  export {};
@@ -51,10 +51,10 @@ import 'yup';
51
51
  import '../InlineWidget/InlineWidget.js';
52
52
  import '../MenuList/Dropdown/Dropdown.js';
53
53
 
54
- const OTPVerificationView = ({ onClickBack, onClickEditEmail, isLoading, email, onPinComplete, isValid, error, onPinChange, onClickClose, displayPoweredByDynamic = false, }) => {
54
+ const OTPVerificationView = ({ onClickBack, onClickEditEmail, isLoading, email, onPinComplete, isValid, error, onPinChange, onClickClose, displayPoweredByDynamic = false, successBannerText, }) => {
55
55
  const backButton = onClickBack && (jsx(IconButton, Object.assign({ type: 'button', onClick: onClickBack, "data-testid": 'back-button' }, { children: jsx(SvgChevronLeft, {}) })));
56
56
  const closeButton = (jsx(IconButton, Object.assign({ onClick: onClickClose, type: 'button', "data-testid": 'close-button' }, { children: jsx(SvgClose, {}) })));
57
- return (jsxs("div", Object.assign({ className: 'otp-verification-view' }, { children: [jsx(ModalHeaderBanner, { type: 'error', message: error === null || error === void 0 ? void 0 : error.message }), jsx(ModalHeader, Object.assign({ alignContent: 'bottom', leading: onClickBack && backButton, trailing: onClickClose && closeButton }, { children: jsxs("div", Object.assign({ className: 'otp-verification-view__status-header' }, { children: [isValid && (jsx(IconWithStatus, { Icon: SignInWithEmailIcon, iconSize: 50, InnerIcon: SvgCheck })), !isValid && (jsx(IconWithSpinner, { Icon: SignInWithEmailIcon, iconSize: 80, isSpinning: isLoading }))] })) })), jsx(Typography, Object.assign({ weight: 'medium', variant: 'title', color: 'primary', className: 'otp-verification-view__title' }, { children: isValid ? 'Verification code confirmed' : 'Confirm verification code' })), jsxs("div", Object.assign({ className: 'otp-verification-view__body' }, { children: [isValid && (jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Hang tight while we get things ready for you" }))), !isValid && (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsxs("div", Object.assign({ className: 'otp-verification-view__email-container' }, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail(email) })), onClickEditEmail && (jsx(IconButton, Object.assign({ onClick: onClickEditEmail, "data-testid": 'otp-verification-view__edit-button' }, { children: jsx(Icon, Object.assign({ color: 'text-tertiary' }, { children: jsx(SvgPencilAltIcon, {}) })) })))] }))] }))] })), jsx(PinField, { initialValue: Array(6).join('.').split('.'), isLoading: isLoading, handleComplete: onPinComplete, isValidated: isValid, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: onPinChange }), jsx("div", Object.assign({ className: 'otp-verification-view__footer' }, { children: displayPoweredByDynamic && jsx(PoweredByDynamic, {}) }))] })));
57
+ return (jsxs("div", Object.assign({ className: 'otp-verification-view' }, { children: [successBannerText && (jsx(ModalHeaderBanner, { type: 'success', message: successBannerText, disableTruncate: true })), jsx(ModalHeaderBanner, { type: 'error', message: error === null || error === void 0 ? void 0 : error.message }), jsx(ModalHeader, Object.assign({ alignContent: 'bottom', leading: onClickBack && backButton, trailing: onClickClose && closeButton }, { children: jsxs("div", Object.assign({ className: 'otp-verification-view__status-header' }, { children: [isValid && (jsx(IconWithStatus, { Icon: SignInWithEmailIcon, iconSize: 50, InnerIcon: SvgCheck })), !isValid && (jsx(IconWithSpinner, { Icon: SignInWithEmailIcon, iconSize: 80, isSpinning: isLoading }))] })) })), jsx(Typography, Object.assign({ weight: 'medium', variant: 'title', color: 'primary', className: 'otp-verification-view__title' }, { children: isValid ? 'Verification code confirmed' : 'Confirm verification code' })), jsxs("div", Object.assign({ className: 'otp-verification-view__body' }, { children: [isValid && (jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Hang tight while we get things ready for you" }))), !isValid && (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsxs("div", Object.assign({ className: 'otp-verification-view__email-container' }, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail(email) })), onClickEditEmail && (jsx(IconButton, Object.assign({ onClick: onClickEditEmail, "data-testid": 'otp-verification-view__edit-button' }, { children: jsx(Icon, Object.assign({ color: 'text-tertiary' }, { children: jsx(SvgPencilAltIcon, {}) })) })))] }))] }))] })), jsx(PinField, { initialValue: Array(6).join('.').split('.'), isLoading: isLoading, handleComplete: onPinComplete, isValidated: isValid, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: onPinChange }), jsx("div", Object.assign({ className: 'otp-verification-view__footer' }, { children: displayPoweredByDynamic && jsx(PoweredByDynamic, {}) }))] })));
58
58
  };
59
59
 
60
60
  export { OTPVerificationView };
@@ -29,6 +29,7 @@ const Typography = (_a) => {
29
29
  'brand-primary': 'typography--brand-primary',
30
30
  'error-1': 'typography--dynamic-error-1',
31
31
  'error-2': 'typography--dynamic-error-2',
32
+ 'green-1': 'typography--connection-green-1',
32
33
  link: 'typography--link',
33
34
  primary: 'typography--primary',
34
35
  secondary: 'typography--secondary',
@@ -25,6 +25,7 @@ const Typography = (_a) => {
25
25
  'brand-primary': 'typography--brand-primary',
26
26
  'error-1': 'typography--dynamic-error-1',
27
27
  'error-2': 'typography--dynamic-error-2',
28
+ 'green-1': 'typography--connection-green-1',
28
29
  link: 'typography--link',
29
30
  primary: 'typography--primary',
30
31
  secondary: 'typography--secondary',
@@ -1,7 +1,7 @@
1
1
  import { ComponentPropsWithoutRef, ElementType, ReactElement } from 'react';
2
2
  export type TypographyTag = ElementType;
3
3
  export type TypographyVariant = 'title' | 'body_normal' | 'body_small' | 'body_mini' | 'button_primary' | 'button_secondary' | 'button_tertiary' | 'numbers_big' | 'numbers_medium' | 'numbers_small';
4
- export type TypographyColor = 'primary' | 'secondary' | 'brand-primary' | 'tertiary' | 'link' | 'error-1' | 'error-2' | 'tooltip';
4
+ export type TypographyColor = 'primary' | 'secondary' | 'brand-primary' | 'tertiary' | 'link' | 'error-1' | 'error-2' | 'tooltip' | 'green-1';
5
5
  export type TypographyWeight = 'regular' | 'medium' | 'bold';
6
6
  export type TypographyTransform = 'uppercase';
7
7
  export type TypographyProps<TAG extends ElementType = 'p'> = {
@@ -79,6 +79,7 @@ require('../../views/CollectUserDataView/fieldsConfig.cjs');
79
79
  require('../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
80
80
  var FundingWidget = require('../../widgets/FundingWidget/FundingWidget.cjs');
81
81
  var DynamicBridgeWidgetContext = require('../../widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.cjs');
82
+ var OAuthIFrameContainer = require('../../widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs');
82
83
  var EmailVerificationContext = require('../EmailVerificationContext/EmailVerificationContext.cjs');
83
84
  var FundingContext = require('../FundingContext/FundingContext.cjs');
84
85
  var SendBalanceContext = require('../SendBalanceContext/SendBalanceContext.cjs');
@@ -673,7 +674,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
673
674
  isBridgeFlow,
674
675
  isFullyConnected,
675
676
  loginWithEmail,
676
- }) }, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, Object.assign({ canSync: didConnectedStateLoad }, { children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsxs(WalletGroupContext.WalletGroupContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) })) }) })) }) })) })) })));
677
+ }) }, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, Object.assign({ canSync: didConnectedStateLoad }, { children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsxs(WalletGroupContext.WalletGroupContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(OAuthIFrameContainer.OAuthIFrameContainer, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) })) }) })) }) })) })) })));
677
678
  };
678
679
 
679
680
  exports.DynamicContext = DynamicContext;
@@ -75,6 +75,7 @@ import '../../views/CollectUserDataView/fieldsConfig.js';
75
75
  import '../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
76
76
  import { FundingWidget } from '../../widgets/FundingWidget/FundingWidget.js';
77
77
  import { DynamicBridgeWidgetContextProvider } from '../../widgets/DynamicBridgeWidget/context/DynamicBridgeWidgetContext/DynamicBridgeWidgetContext.js';
78
+ import { OAuthIFrameContainer } from '../../widgets/OAuthIFrameContainer/OAuthIFrameContainer.js';
78
79
  import { EmailVerificationContextProvider } from '../EmailVerificationContext/EmailVerificationContext.js';
79
80
  import { FundingContextProvider } from '../FundingContext/FundingContext.js';
80
81
  import { SendBalanceContextProvider } from '../SendBalanceContext/SendBalanceContext.js';
@@ -669,7 +670,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
669
670
  isBridgeFlow,
670
671
  isFullyConnected,
671
672
  loginWithEmail,
672
- }) }, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, Object.assign({ canSync: didConnectedStateLoad }, { children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(ErrorContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(CaptchaContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsxs(WalletGroupContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) })) }) })) }) })) })) })));
673
+ }) }, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, Object.assign({ canSync: didConnectedStateLoad }, { children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(ErrorContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(CaptchaContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsxs(WalletGroupContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(OAuthIFrameContainer, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) })) }) })) }) })) })) })));
673
674
  };
674
675
 
675
676
  export { DynamicContext, DynamicContextProvider, PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID };
@@ -339,9 +339,24 @@ const updateUserProfileFields = (jwt, environmentId, fields) => _tslib.__awaiter
339
339
  throw e;
340
340
  }
341
341
  });
342
- const verifyOAuth = (environmentId, providerType, { code }, userJwt) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
342
+ const getOauthLoginUrl = (environmentId, providerType, userJwt) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
343
+ try {
344
+ const { url } = yield sdkApi(userJwt).oauthLoginUrl({
345
+ environmentId,
346
+ providerType,
347
+ });
348
+ return url;
349
+ }
350
+ catch (e) {
351
+ logger.logger.error(e);
352
+ return undefined;
353
+ }
354
+ });
355
+ const verifyOAuth = (environmentId, providerType, { code, codeVerifier, state }, userJwt) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
343
356
  const oauthRequest = {
344
357
  code,
358
+ codeVerifier,
359
+ state,
345
360
  };
346
361
  try {
347
362
  const { jwt } = yield sdkApi(userJwt).oauthVerify({
@@ -419,6 +434,7 @@ exports.fetchNetworkSettings = fetchNetworkSettings;
419
434
  exports.fetchNonce = fetchNonce;
420
435
  exports.fetchProjectSettings = fetchProjectSettings;
421
436
  exports.getEmailProvider = getEmailProvider;
437
+ exports.getOauthLoginUrl = getOauthLoginUrl;
422
438
  exports.getOnrampProviders = getOnrampProviders;
423
439
  exports.linkWallet = linkWallet;
424
440
  exports.mapAuthModeTypeToEnum = mapAuthModeTypeToEnum;
@@ -50,7 +50,8 @@ export declare const verifyWallet: (environmentId: string, { messageToSign, sign
50
50
  export declare const fetchNetworkSettings: (environmentId: string) => Promise<NetworkConfigurationResponse[] | undefined>;
51
51
  export declare const fetchProjectSettings: (environmentId: string) => Promise<ProjectSettings | undefined>;
52
52
  export declare const updateUserProfileFields: (jwt: string | undefined, environmentId: string, fields: UserFields) => Promise<UpdateSelfResponse>;
53
- export declare const verifyOAuth: (environmentId: string, providerType: ProviderEnum, { code }: OauthRequest, userJwt: string) => Promise<string | undefined>;
53
+ export declare const getOauthLoginUrl: (environmentId: string, providerType: ProviderEnum, userJwt: string) => Promise<string | undefined>;
54
+ export declare const verifyOAuth: (environmentId: string, providerType: ProviderEnum, { code, codeVerifier, state }: OauthRequest, userJwt: string) => Promise<string | undefined>;
54
55
  export declare const unlinkOAuth: ({ environmentId, verifiedCrentialId, }: {
55
56
  environmentId: string;
56
57
  verifiedCrentialId: string;
@@ -335,9 +335,24 @@ const updateUserProfileFields = (jwt, environmentId, fields) => __awaiter(void 0
335
335
  throw e;
336
336
  }
337
337
  });
338
- const verifyOAuth = (environmentId, providerType, { code }, userJwt) => __awaiter(void 0, void 0, void 0, function* () {
338
+ const getOauthLoginUrl = (environmentId, providerType, userJwt) => __awaiter(void 0, void 0, void 0, function* () {
339
+ try {
340
+ const { url } = yield sdkApi(userJwt).oauthLoginUrl({
341
+ environmentId,
342
+ providerType,
343
+ });
344
+ return url;
345
+ }
346
+ catch (e) {
347
+ logger.error(e);
348
+ return undefined;
349
+ }
350
+ });
351
+ const verifyOAuth = (environmentId, providerType, { code, codeVerifier, state }, userJwt) => __awaiter(void 0, void 0, void 0, function* () {
339
352
  const oauthRequest = {
340
353
  code,
354
+ codeVerifier,
355
+ state,
341
356
  };
342
357
  try {
343
358
  const { jwt } = yield sdkApi(userJwt).oauthVerify({
@@ -409,4 +424,4 @@ const mergeUserAccounts = (userJwt, environmentId) => __awaiter(void 0, void 0,
409
424
  }
410
425
  });
411
426
 
412
- export { createEmailVerification, createVisit, fetchNetworkSettings, fetchNonce, fetchProjectSettings, getEmailProvider, getOnrampProviders, linkWallet, mapAuthModeTypeToEnum, mapChainToChainEnum, mapProviderToProviderEnum, mergeUserAccounts, retryEmailVerification, revokeSession, sendDynamicProps, signInWithEmailVerification, transferWallet, unlinkOAuth, unlinkWallet, updateUserProfileFields, verifyEmail, verifyOAuth, verifyWallet };
427
+ export { createEmailVerification, createVisit, fetchNetworkSettings, fetchNonce, fetchProjectSettings, getEmailProvider, getOauthLoginUrl, getOnrampProviders, linkWallet, mapAuthModeTypeToEnum, mapChainToChainEnum, mapProviderToProviderEnum, mergeUserAccounts, retryEmailVerification, revokeSession, sendDynamicProps, signInWithEmailVerification, transferWallet, unlinkOAuth, unlinkWallet, updateUserProfileFields, verifyEmail, verifyOAuth, verifyWallet };