@privy-io/react-auth 2.0.1 → 2.0.2-beta-20250114201156

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 (155) hide show
  1. package/dist/cjs/client.js +1 -1
  2. package/dist/cjs/components/ModalFooter.js +2 -2
  3. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordForm.js +1 -1
  4. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordSaved.js +1 -1
  5. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/CreateWalletPassword.js +1 -1
  6. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/SaveWalletPassword.js +1 -1
  7. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/SetWalletPasswordComplete.js +1 -1
  8. package/dist/cjs/config.js +1 -1
  9. package/dist/cjs/connectors/embeddedProvider.js +1 -1
  10. package/dist/cjs/connectors/index.js +1 -1
  11. package/dist/cjs/constants.js +1 -1
  12. package/dist/cjs/embedded-wallets/solana/provider.js +1 -1
  13. package/dist/cjs/hooks/privy-provider.js +1 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/privy-components/user-pill/UserMenu.js +1 -1
  16. package/dist/cjs/privy-provider-CjsU1Mr4.js +3 -0
  17. package/dist/cjs/screens/AccountTransferScreen/EmbeddedWalletInfoView.js +1 -1
  18. package/dist/cjs/screens/AccountTransferScreen/LinkConflictScreen.js +1 -1
  19. package/dist/cjs/screens/AffirmativeConsentScreen.js +1 -1
  20. package/dist/cjs/screens/AwaitingPasswordlessCodeScreen.js +1 -1
  21. package/dist/cjs/screens/CaptchaScreen.js +1 -1
  22. package/dist/cjs/screens/ConnectOnlyAuthenticatedScreen.js +1 -1
  23. package/dist/cjs/screens/ConnectOnlyLandingScreen.js +1 -1
  24. package/dist/cjs/screens/ConnectOnlyStatusScreen.js +1 -1
  25. package/dist/cjs/screens/ConnectionStatusScreen.js +1 -1
  26. package/dist/cjs/screens/CrossAppAuthScreen.js +1 -1
  27. package/dist/cjs/screens/DelegatedActionsConsentScreen.js +1 -1
  28. package/dist/cjs/screens/DelegatedActionsRevokeScreen.js +1 -1
  29. package/dist/cjs/screens/EmbeddedWalletCreatedScreen.js +1 -1
  30. package/dist/cjs/screens/EmbeddedWalletKeyExportScreen.js +1 -1
  31. package/dist/cjs/screens/EmbeddedWalletPasswordUpdateSplashScreen.js +1 -1
  32. package/dist/cjs/screens/FarcasterConnectStatusScreen.js +1 -1
  33. package/dist/cjs/screens/FarcasterSignerStatusScreen.js +1 -1
  34. package/dist/cjs/screens/Funding/AwaitingEvmToSolBridgingScreen.js +1 -1
  35. package/dist/cjs/screens/Funding/AwaitingExternalSolanaTransferScreen.js +1 -1
  36. package/dist/cjs/screens/Funding/AwaitingExternalTransferScreen.js +1 -1
  37. package/dist/cjs/screens/Funding/AwaitingSolToEvmBridgingScreen.js +1 -1
  38. package/dist/cjs/screens/Funding/BridgeNetworkSelectionView.js +1 -1
  39. package/dist/cjs/screens/Funding/CoinbaseOnrampStatusScreen.js +1 -1
  40. package/dist/cjs/screens/Funding/FundingEditAmountScreen.js +1 -1
  41. package/dist/cjs/screens/Funding/FundingMethodSelectionScreen.js +1 -1
  42. package/dist/cjs/screens/Funding/ManualTransferScreen.js +1 -1
  43. package/dist/cjs/screens/Funding/MoonpayStatusScreen.js +1 -1
  44. package/dist/cjs/screens/Funding/TransferFromWalletScreen.js +1 -1
  45. package/dist/cjs/screens/Funding/TransferOrBridgeLoadingScreen.js +1 -1
  46. package/dist/cjs/screens/Funding/styles.js +1 -1
  47. package/dist/cjs/screens/InAppBrowserLoginNotPossible.js +1 -1
  48. package/dist/cjs/screens/InstallPhantomScreen.js +1 -1
  49. package/dist/cjs/screens/LandingScreen/CustomLandingScreenView.js +1 -1
  50. package/dist/cjs/screens/LandingScreen/LandingScreenView.js +1 -1
  51. package/dist/cjs/screens/LinkPasskeyScreen.js +1 -1
  52. package/dist/cjs/screens/LinkWalletScreen.js +1 -1
  53. package/dist/cjs/screens/LoginFailedScreen.js +1 -1
  54. package/dist/cjs/screens/MfaScreens/EnrollLandingScreen.js +1 -1
  55. package/dist/cjs/screens/MfaScreens/EnrollPasskey.js +1 -1
  56. package/dist/cjs/screens/MfaScreens/EnrollTotp.js +1 -1
  57. package/dist/cjs/screens/MfaScreens/MfaEnrollmentFlowScreen.js +1 -1
  58. package/dist/cjs/screens/MfaScreens/MfaVerifyFlowScreen.js +1 -1
  59. package/dist/cjs/screens/MfaScreens/VerifyWithPasskey.js +1 -1
  60. package/dist/cjs/screens/OAuthStatusScreen.js +1 -1
  61. package/dist/cjs/screens/PasskeySelectSignupOrLogin.js +1 -1
  62. package/dist/cjs/screens/PasskeyStatusScreen.js +1 -1
  63. package/dist/cjs/screens/PhantomInterstitialScreen.js +1 -1
  64. package/dist/cjs/screens/Recovery/PasswordRecoveryScreen.js +1 -1
  65. package/dist/cjs/screens/Recovery/RecoveryOAuthStatusScreen.js +1 -1
  66. package/dist/cjs/screens/Recovery/RecoverySelectionScreen.js +1 -1
  67. package/dist/cjs/screens/Recovery/SetAutomaticRecoveryScreen.js +1 -1
  68. package/dist/cjs/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.js +1 -1
  69. package/dist/cjs/screens/SendTransactionScreen/SendTransactionScreenView.js +1 -1
  70. package/dist/cjs/screens/SendTransactionScreen/TransactionErrorView.js +1 -1
  71. package/dist/cjs/screens/SendTransactionScreen/TransactionReceiptView.js +1 -1
  72. package/dist/cjs/screens/SignRequestScreen.js +1 -1
  73. package/dist/cjs/screens/TelegramAuthScreen.js +1 -1
  74. package/dist/cjs/screens/UpdateEmailScreen.js +1 -1
  75. package/dist/cjs/screens/UserLimitReachedScreen.js +1 -1
  76. package/dist/cjs/session.js +1 -1
  77. package/dist/esm/client.mjs +1 -1
  78. package/dist/esm/components/ModalFooter.mjs +2 -2
  79. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordForm.mjs +1 -1
  80. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordSaved.mjs +1 -1
  81. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/CreateWalletPassword.mjs +1 -1
  82. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/SaveWalletPassword.mjs +1 -1
  83. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/SetWalletPasswordComplete.mjs +1 -1
  84. package/dist/esm/config.mjs +1 -1
  85. package/dist/esm/connectors/embeddedProvider.mjs +1 -1
  86. package/dist/esm/connectors/index.mjs +1 -1
  87. package/dist/esm/constants.mjs +1 -1
  88. package/dist/esm/embedded-wallets/solana/provider.mjs +1 -1
  89. package/dist/esm/hooks/privy-provider.mjs +1 -1
  90. package/dist/esm/index.mjs +1 -1
  91. package/dist/esm/privy-components/user-pill/UserMenu.mjs +1 -1
  92. package/dist/esm/privy-provider-BUvuLRa8.mjs +3 -0
  93. package/dist/esm/screens/AccountTransferScreen/EmbeddedWalletInfoView.mjs +1 -1
  94. package/dist/esm/screens/AccountTransferScreen/LinkConflictScreen.mjs +1 -1
  95. package/dist/esm/screens/AffirmativeConsentScreen.mjs +1 -1
  96. package/dist/esm/screens/AwaitingPasswordlessCodeScreen.mjs +1 -1
  97. package/dist/esm/screens/CaptchaScreen.mjs +1 -1
  98. package/dist/esm/screens/ConnectOnlyAuthenticatedScreen.mjs +1 -1
  99. package/dist/esm/screens/ConnectOnlyLandingScreen.mjs +1 -1
  100. package/dist/esm/screens/ConnectOnlyStatusScreen.mjs +1 -1
  101. package/dist/esm/screens/ConnectionStatusScreen.mjs +1 -1
  102. package/dist/esm/screens/CrossAppAuthScreen.mjs +1 -1
  103. package/dist/esm/screens/DelegatedActionsConsentScreen.mjs +1 -1
  104. package/dist/esm/screens/DelegatedActionsRevokeScreen.mjs +1 -1
  105. package/dist/esm/screens/EmbeddedWalletCreatedScreen.mjs +1 -1
  106. package/dist/esm/screens/EmbeddedWalletKeyExportScreen.mjs +1 -1
  107. package/dist/esm/screens/EmbeddedWalletPasswordUpdateSplashScreen.mjs +1 -1
  108. package/dist/esm/screens/FarcasterConnectStatusScreen.mjs +1 -1
  109. package/dist/esm/screens/FarcasterSignerStatusScreen.mjs +1 -1
  110. package/dist/esm/screens/Funding/AwaitingEvmToSolBridgingScreen.mjs +1 -1
  111. package/dist/esm/screens/Funding/AwaitingExternalSolanaTransferScreen.mjs +1 -1
  112. package/dist/esm/screens/Funding/AwaitingExternalTransferScreen.mjs +1 -1
  113. package/dist/esm/screens/Funding/AwaitingSolToEvmBridgingScreen.mjs +1 -1
  114. package/dist/esm/screens/Funding/BridgeNetworkSelectionView.mjs +1 -1
  115. package/dist/esm/screens/Funding/CoinbaseOnrampStatusScreen.mjs +1 -1
  116. package/dist/esm/screens/Funding/FundingEditAmountScreen.mjs +1 -1
  117. package/dist/esm/screens/Funding/FundingMethodSelectionScreen.mjs +1 -1
  118. package/dist/esm/screens/Funding/ManualTransferScreen.mjs +1 -1
  119. package/dist/esm/screens/Funding/MoonpayStatusScreen.mjs +1 -1
  120. package/dist/esm/screens/Funding/TransferFromWalletScreen.mjs +1 -1
  121. package/dist/esm/screens/Funding/TransferOrBridgeLoadingScreen.mjs +1 -1
  122. package/dist/esm/screens/Funding/styles.mjs +1 -1
  123. package/dist/esm/screens/InAppBrowserLoginNotPossible.mjs +1 -1
  124. package/dist/esm/screens/InstallPhantomScreen.mjs +1 -1
  125. package/dist/esm/screens/LandingScreen/CustomLandingScreenView.mjs +1 -1
  126. package/dist/esm/screens/LandingScreen/LandingScreenView.mjs +1 -1
  127. package/dist/esm/screens/LinkPasskeyScreen.mjs +1 -1
  128. package/dist/esm/screens/LinkWalletScreen.mjs +1 -1
  129. package/dist/esm/screens/LoginFailedScreen.mjs +1 -1
  130. package/dist/esm/screens/MfaScreens/EnrollLandingScreen.mjs +1 -1
  131. package/dist/esm/screens/MfaScreens/EnrollPasskey.mjs +1 -1
  132. package/dist/esm/screens/MfaScreens/EnrollTotp.mjs +1 -1
  133. package/dist/esm/screens/MfaScreens/MfaEnrollmentFlowScreen.mjs +1 -1
  134. package/dist/esm/screens/MfaScreens/MfaVerifyFlowScreen.mjs +1 -1
  135. package/dist/esm/screens/MfaScreens/VerifyWithPasskey.mjs +1 -1
  136. package/dist/esm/screens/OAuthStatusScreen.mjs +1 -1
  137. package/dist/esm/screens/PasskeySelectSignupOrLogin.mjs +1 -1
  138. package/dist/esm/screens/PasskeyStatusScreen.mjs +1 -1
  139. package/dist/esm/screens/PhantomInterstitialScreen.mjs +1 -1
  140. package/dist/esm/screens/Recovery/PasswordRecoveryScreen.mjs +1 -1
  141. package/dist/esm/screens/Recovery/RecoveryOAuthStatusScreen.mjs +1 -1
  142. package/dist/esm/screens/Recovery/RecoverySelectionScreen.mjs +1 -1
  143. package/dist/esm/screens/Recovery/SetAutomaticRecoveryScreen.mjs +1 -1
  144. package/dist/esm/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.mjs +1 -1
  145. package/dist/esm/screens/SendTransactionScreen/SendTransactionScreenView.mjs +1 -1
  146. package/dist/esm/screens/SendTransactionScreen/TransactionErrorView.mjs +1 -1
  147. package/dist/esm/screens/SendTransactionScreen/TransactionReceiptView.mjs +1 -1
  148. package/dist/esm/screens/SignRequestScreen.mjs +1 -1
  149. package/dist/esm/screens/TelegramAuthScreen.mjs +1 -1
  150. package/dist/esm/screens/UpdateEmailScreen.mjs +1 -1
  151. package/dist/esm/screens/UserLimitReachedScreen.mjs +1 -1
  152. package/dist/esm/session.mjs +1 -1
  153. package/package.json +3 -3
  154. package/dist/cjs/privy-provider-CpJ88X4F.js +0 -3
  155. package/dist/esm/privy-provider-B3m8Pe2u.mjs +0 -3
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/CheckCircleIcon";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import{useState as i}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{CopytoClipboardButton as s}from"../../components/CopyToClipboard.mjs";import{CenteredItemWithPadding as m,CenteredItem as a}from"../../components/Layouts.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as d,errorIndicatesMfaVerificationFailed as j,errorIndicatesMfaTimeout as u,errorIndicatesMfaCanceled as f}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as g}from"../../hooks/useMfaEnrollment.mjs";import{AddTotpProviderQr as v}from"../../svg/qr-codes.mjs";import{Title as b,SubTitle as C,BottomSection as k,IconWrapper as w,Container as x}from"./StyledComponents.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/coinbase-wallet.mjs";const I=({onComplete:I,onClose:E,onReset:S,totpInfo:P})=>{let[A,F]=i("enroll"),[M,T]=i(!1),{submitEnrollmentWithTotp:z}=g(),{data:Q}=y();function R(){Q?.mfaEnrollmentFlow?.onSuccess(),I()}/*#__PURE__*/return o(e,"enroll"===A?{children:[/*#__PURE__*/r(l,{backFn:S,onClose:E},"header"),/*#__PURE__*/r(b,{children:"Scan QR code"}),/*#__PURE__*/r(C,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/r(m,{children:/*#__PURE__*/r(v,{authUrl:P.authUrl,size:200})}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/r(a,{children:/*#__PURE__*/r(s,{itemName:"secret",text:P.secret})}),/*#__PURE__*/r(c,{onClick:function(){F("verify")},children:"Continue"})]}),/*#__PURE__*/r(p,{})]}:M?{children:[/*#__PURE__*/r(l,{onClose:R},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(t,{})}),/*#__PURE__*/r(b,{children:"Authenticator app verification added"}),/*#__PURE__*/r(C,{children:"From now on, you'll enter the verification code generated by your authenticator app whenever you use your Privy wallet."}),/*#__PURE__*/r(k,{children:/*#__PURE__*/r(c,{onClick:R,children:"Done"})}),/*#__PURE__*/r(p,{})]}:{children:[/*#__PURE__*/r(l,{backFn:function(){"verify"===A?F("enroll"):S()},onClose:E},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(n,{})}),/*#__PURE__*/r(b,{children:"Enter enrollment code"}),/*#__PURE__*/r(x,{children:/*#__PURE__*/r(h,{onChange:async function(o){try{if(!o)return;await z({mfaCode:o}),T(!0)}catch(o){if(d(o))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(j(o))throw Error("The code you entered is not valid");if(u(o))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw f(o)?Error("Verification canceled"):Error("Unknown error")}}})}),/*#__PURE__*/o(C,{children:["To continue, enter the 6-digit code generated from your ",/*#__PURE__*/r("strong",{children:"authenticator app"})]}),/*#__PURE__*/r(p,{})]})};export{I as EnrollTotp};
1
+ import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/CheckCircleIcon";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import{useState as i}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{CopytoClipboardButton as s}from"../../components/CopyToClipboard.mjs";import{CenteredItemWithPadding as m,CenteredItem as a}from"../../components/Layouts.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as d,errorIndicatesMfaVerificationFailed as j,errorIndicatesMfaTimeout as u,errorIndicatesMfaCanceled as f}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as g}from"../../hooks/useMfaEnrollment.mjs";import{AddTotpProviderQr as v}from"../../svg/qr-codes.mjs";import{Title as b,SubTitle as C,BottomSection as k,IconWrapper as w,Container as x}from"./StyledComponents.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/coinbase-wallet.mjs";const I=({onComplete:I,onClose:E,onReset:S,totpInfo:P})=>{let[A,F]=i("enroll"),[M,T]=i(!1),{submitEnrollmentWithTotp:z}=g(),{data:Q}=y();function R(){Q?.mfaEnrollmentFlow?.onSuccess(),I()}/*#__PURE__*/return o(e,"enroll"===A?{children:[/*#__PURE__*/r(l,{backFn:S,onClose:E},"header"),/*#__PURE__*/r(b,{children:"Scan QR code"}),/*#__PURE__*/r(C,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/r(m,{children:/*#__PURE__*/r(v,{authUrl:P.authUrl,size:200})}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/r(a,{children:/*#__PURE__*/r(s,{itemName:"secret",text:P.secret})}),/*#__PURE__*/r(c,{onClick:function(){F("verify")},children:"Continue"})]}),/*#__PURE__*/r(p,{})]}:M?{children:[/*#__PURE__*/r(l,{onClose:R},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(t,{})}),/*#__PURE__*/r(b,{children:"Authenticator app verification added"}),/*#__PURE__*/r(C,{children:"From now on, you'll enter the verification code generated by your authenticator app whenever you use your Privy wallet."}),/*#__PURE__*/r(k,{children:/*#__PURE__*/r(c,{onClick:R,children:"Done"})}),/*#__PURE__*/r(p,{})]}:{children:[/*#__PURE__*/r(l,{backFn:function(){"verify"===A?F("enroll"):S()},onClose:E},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(n,{})}),/*#__PURE__*/r(b,{children:"Enter enrollment code"}),/*#__PURE__*/r(x,{children:/*#__PURE__*/r(h,{onChange:async function(o){try{if(!o)return;await z({mfaCode:o}),T(!0)}catch(o){if(d(o))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(j(o))throw Error("The code you entered is not valid");if(u(o))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw f(o)?Error("Verification canceled"):Error("Unknown error")}}})}),/*#__PURE__*/o(C,{children:["To continue, enter the 6-digit code generated from your ",/*#__PURE__*/r("strong",{children:"authenticator app"})]}),/*#__PURE__*/r(p,{})]})};export{I as EnrollTotp};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as n}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import i from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/IdentificationIcon";import{useState as c,useEffect as m}from"react";import{PrimaryButton as a,SecondaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{useMfa as y}from"../../hooks/useMfa.mjs";import{useMfaEnrollment as k}from"../../hooks/useMfaEnrollment.mjs";import{MfaShieldIcon as g}from"../../svg/mfa-shield.mjs";import{EnrollLandingScreen as C}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as v}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as b}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as w,IconWrapper as S,Title as A,SubTitle as x,BottomSection as P,List as E,ListItem as R,ListItemIcon as T}from"./StyledComponents.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../LandingScreen/styles.mjs";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../ErrorScreen.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@privy-io/js-sdk-core";import"../../components/ConnectPhoneForm.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/PinInput.mjs";import"react-device-detect";import"../../components/CopyToClipboard.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../components/Layouts.mjs";import"../../svg/qr-codes.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../svg/coinbase-wallet.mjs";const F=()=>{let{user:F,enrollInMfa:L}=f(),[B,W]=c(null),{unenrollWithSms:q,unenrollWithTotp:z,unenrollWithPasskey:D}=k(),{app:H,ready:O,data:Y,onUserCloseViaDialogOrKeybindRef:Q}=j(),{closePrivyModal:K}=u(),{promptMfa:N}=y(),{initEnrollmentWithTotp:U}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{K({shouldCallAuthOnSuccess:!0}),L(!1),setTimeout((()=>{W(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);Q.current=_;let so=F?.mfaMethods.includes("sms"),co=!!F?.phone,mo=F?.mfaMethods.includes("totp"),ao=F?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=F?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){W(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!O||!F||!H/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(w,{children:/*#__PURE__*/n(p,{})}),/*#__PURE__*/n(h,{})]});if("sms"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove SMS verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await q()}catch(o){W(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/n(h,{})]});if("totp"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await z()}catch(o){W(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Are you sure you want to remove passkey verification?"}),/*#__PURE__*/n(x,{children:"This will disable any passkeys you have set up for verification. You’ll still be able to login with your passkeys if you’ve set up passkey login."}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await D()}catch(o){W(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]});if(0===Y.mfaEnrollmentFlow.mfaMethods.length&&!lo)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Add more security"}),/*#__PURE__*/o(x,{children:[H?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{onClick:_,children:"Close"})}),/*#__PURE__*/n(h,{})]});let uo=!lo&&!V;return uo?/*#__PURE__*/o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Transaction Protection"}),/*#__PURE__*/n(x,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",H?.name," wallet."]}),/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(a,{onClick:()=>X(!0),children:"Continue"}),/*#__PURE__*/n(l,{onClick:_,children:"Not now"})]}),/*#__PURE__*/n(h,{})]}):"sms"===G?/*#__PURE__*/n(M,{onComplete:_,onReset:ho,onClose:_}):"totp"===G&&Z?/*#__PURE__*/n(b,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(v,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(C,{showIntro:uo,userMfaMethods:F.mfaMethods,appMfaMethods:H.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await N().catch(io),"totp"===o?(J(o),$(null),void U().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:async o=>{await N().catch(io),W(o)}})};export{F as MfaEnrollmentFlowScreen};
1
+ import{jsxs as o,Fragment as e,jsx as n}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import i from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/IdentificationIcon";import{useState as c,useEffect as m}from"react";import{PrimaryButton as a,SecondaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{useMfa as y}from"../../hooks/useMfa.mjs";import{useMfaEnrollment as k}from"../../hooks/useMfaEnrollment.mjs";import{MfaShieldIcon as g}from"../../svg/mfa-shield.mjs";import{EnrollLandingScreen as C}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as v}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as b}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as w,IconWrapper as S,Title as A,SubTitle as x,BottomSection as P,List as E,ListItem as R,ListItemIcon as T}from"./StyledComponents.mjs";import"styled-components";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../LandingScreen/styles.mjs";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../ErrorScreen.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@privy-io/js-sdk-core";import"../../components/ConnectPhoneForm.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/PinInput.mjs";import"react-device-detect";import"../../components/CopyToClipboard.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../components/Layouts.mjs";import"../../svg/qr-codes.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../svg/coinbase-wallet.mjs";const F=()=>{let{user:F,enrollInMfa:L}=f(),[B,W]=c(null),{unenrollWithSms:q,unenrollWithTotp:z,unenrollWithPasskey:D}=k(),{app:H,ready:O,data:Y,onUserCloseViaDialogOrKeybindRef:Q}=j(),{closePrivyModal:K}=u(),{promptMfa:N}=y(),{initEnrollmentWithTotp:U}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{K({shouldCallAuthOnSuccess:!0}),L(!1),setTimeout((()=>{W(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);Q.current=_;let so=F?.mfaMethods.includes("sms"),co=!!F?.phone,mo=F?.mfaMethods.includes("totp"),ao=F?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=F?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){W(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!O||!F||!H/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(w,{children:/*#__PURE__*/n(p,{})}),/*#__PURE__*/n(h,{})]});if("sms"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove SMS verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await q()}catch(o){W(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/n(h,{})]});if("totp"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await z()}catch(o){W(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Are you sure you want to remove passkey verification?"}),/*#__PURE__*/n(x,{children:"This will disable any passkeys you have set up for verification. You’ll still be able to login with your passkeys if you’ve set up passkey login."}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await D()}catch(o){W(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]});if(0===Y.mfaEnrollmentFlow.mfaMethods.length&&!lo)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Add more security"}),/*#__PURE__*/o(x,{children:[H?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{onClick:_,children:"Close"})}),/*#__PURE__*/n(h,{})]});let uo=!lo&&!V;return uo?/*#__PURE__*/o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Transaction Protection"}),/*#__PURE__*/n(x,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",H?.name," wallet."]}),/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(a,{onClick:()=>X(!0),children:"Continue"}),/*#__PURE__*/n(l,{onClick:_,children:"Not now"})]}),/*#__PURE__*/n(h,{})]}):"sms"===G?/*#__PURE__*/n(M,{onComplete:_,onReset:ho,onClose:_}):"totp"===G&&Z?/*#__PURE__*/n(b,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(v,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(C,{showIntro:uo,userMfaMethods:F.mfaMethods,appMfaMethods:H.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await N().catch(io),"totp"===o?(J(o),$(null),void U().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:async o=>{await N().catch(io),W(o)}})};export{F as MfaEnrollmentFlowScreen};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import r from"@heroicons/react/24/outline/FingerPrintIcon";import i from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useEffect as m,useRef as a}from"react";import{SecondaryButton as l}from"../../components/Button.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{TransactionDetailsWrapper as u}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import{errorIndicatesMaxMfaRetries as j,errorIndicatesMfaVerificationFailed as f,errorIndicatesMfaTimeout as y}from"../../embedded-wallets/errors.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as k}from"../../hooks/modal-context.mjs";import{usePrivyContext as b}from"../../hooks/privy-context.mjs";import{useMfa as C}from"../../hooks/useMfa.mjs";import{LoginMethodButton as w}from"../LandingScreen/styles.mjs";import{IconWrapper as v,Title as S,SubTitle as M,MethodList as x,Container as I,PrimaryTextButton as T}from"./StyledComponents.mjs";import{VerifyWithPasskey as A}from"./VerifyWithPasskey.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"viem";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/CalendarIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/layout/StackedContainer.mjs";import"../../svg/face-id.mjs";const P=({open:l,onClose:h})=>{let{user:u}=b(),[g,k]=c(u?.mfaMethods[0]??null),{init:I,cancel:T,submit:P}=C(),[B,D]=c(!1),[L,V]=c(!1),[z,W]=c(null),[F,G]=c(null);m((()=>{k(u?.mfaMethods[0]??null)}),[u?.mfaMethods]);let H=a(!1);m((()=>{!H.current&&g&&l&&(H.current=!0,R(g).finally((()=>{H.current=!1})))}),[l]);let N=o=>j(o)?(D(!0),Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.")):f(o)?(D(!1),Error("The code you entered is not valid")):y(o)?(D(!0),Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.")):(console.error(o),D(!1),Error("Something went wrong."));async function O(o){G(null);try{if(!o||!g)return;await P(g,o),V(!0),D(!1),h()}catch(o){throw N(o)}}async function R(o){if("passkey"!==o)try{k(o),await I(o)}catch(o){console.error(o)}else try{k(o);let e=await I(o);if(!e)throw Error("something went wrong");W(e),await P(o,e),V(!0),D(!1),h()}catch(o){G(N(o))}}let Y=()=>{k(null),G(null),T(),h()};return l&&u?"passkey"===g?/*#__PURE__*/o(A,{account:u.linkedAccounts.filter((o=>"passkey"===o.type&&o.enrolledInMfa)).sort(((o,e)=>e.firstVerifiedAt.valueOf()-o.firstVerifiedAt.valueOf()))[0],selectedMethod:g,submitSuccess:L,hasBlockingError:B,error:F,onClose:Y,onBack:()=>{k(null),G(null)},handleSubmit:()=>O(z).catch(G)}):g?/*#__PURE__*/o(E,{submitSuccess:L,hasBlockingError:B,handleSubmitCode:O,selectedMethod:g,onClose:Y,onBack:u.mfaMethods.length>1?()=>k(null):void 0}):/*#__PURE__*/e(t,{children:[/*#__PURE__*/o(d,{onClose:Y},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(s,{})}),/*#__PURE__*/o(S,{children:"Verify your identity"}),/*#__PURE__*/o(M,{children:"Choose a verification method"}),/*#__PURE__*/e(x,{children:[u.mfaMethods.includes("totp")&&/*#__PURE__*/e(w,{onClick:()=>R("totp"),children:[/*#__PURE__*/o(n,{}),"Authenticator App"]},"totp"),u.mfaMethods.includes("sms")&&/*#__PURE__*/e(w,{onClick:()=>R("sms"),children:[/*#__PURE__*/o(i,{}),"SMS"]},"sms"),u.mfaMethods.includes("passkey")&&/*#__PURE__*/e(w,{onClick:()=>R("passkey"),children:[/*#__PURE__*/o(r,{}),"Passkey"]},"passkey")]}),/*#__PURE__*/o(p,{})]}):null};let E=({selectedMethod:r,submitSuccess:s,hasBlockingError:c,onClose:m,onBack:a,handleSubmitCode:j})=>{let{app:f}=k(),{pendingTransaction:y}=g();switch(r){case"sms":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(i,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code sent to your ",/*#__PURE__*/o("strong",{children:"mobile device"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});case"totp":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(n,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code generated from your"," ",/*#__PURE__*/o("strong",{children:"authenticator app"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});default:return null}};export{P as MfaVerifyFlowScreen};
1
+ import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import r from"@heroicons/react/24/outline/FingerPrintIcon";import i from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useEffect as m,useRef as a}from"react";import{SecondaryButton as l}from"../../components/Button.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{TransactionDetailsWrapper as u}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import{errorIndicatesMaxMfaRetries as j,errorIndicatesMfaVerificationFailed as f,errorIndicatesMfaTimeout as y}from"../../embedded-wallets/errors.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as k}from"../../hooks/modal-context.mjs";import{usePrivyContext as b}from"../../hooks/privy-context.mjs";import{useMfa as C}from"../../hooks/useMfa.mjs";import{LoginMethodButton as w}from"../LandingScreen/styles.mjs";import{IconWrapper as v,Title as S,SubTitle as M,MethodList as x,Container as I,PrimaryTextButton as T}from"./StyledComponents.mjs";import{VerifyWithPasskey as A}from"./VerifyWithPasskey.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"react-device-detect";import"viem";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/CalendarIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/layout/StackedContainer.mjs";import"../../svg/face-id.mjs";const P=({open:l,onClose:h})=>{let{user:u}=b(),[g,k]=c(u?.mfaMethods[0]??null),{init:I,cancel:T,submit:P}=C(),[B,D]=c(!1),[L,V]=c(!1),[z,W]=c(null),[F,G]=c(null);m((()=>{k(u?.mfaMethods[0]??null)}),[u?.mfaMethods]);let H=a(!1);m((()=>{!H.current&&g&&l&&(H.current=!0,R(g).finally((()=>{H.current=!1})))}),[l]);let N=o=>j(o)?(D(!0),Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.")):f(o)?(D(!1),Error("The code you entered is not valid")):y(o)?(D(!0),Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.")):(console.error(o),D(!1),Error("Something went wrong."));async function O(o){G(null);try{if(!o||!g)return;await P(g,o),V(!0),D(!1),h()}catch(o){throw N(o)}}async function R(o){if("passkey"!==o)try{k(o),await I(o)}catch(o){console.error(o)}else try{k(o);let e=await I(o);if(!e)throw Error("something went wrong");W(e),await P(o,e),V(!0),D(!1),h()}catch(o){G(N(o))}}let Y=()=>{k(null),G(null),T(),h()};return l&&u?"passkey"===g?/*#__PURE__*/o(A,{account:u.linkedAccounts.filter((o=>"passkey"===o.type&&o.enrolledInMfa)).sort(((o,e)=>e.firstVerifiedAt.valueOf()-o.firstVerifiedAt.valueOf()))[0],selectedMethod:g,submitSuccess:L,hasBlockingError:B,error:F,onClose:Y,onBack:()=>{k(null),G(null)},handleSubmit:()=>O(z).catch(G)}):g?/*#__PURE__*/o(E,{submitSuccess:L,hasBlockingError:B,handleSubmitCode:O,selectedMethod:g,onClose:Y,onBack:u.mfaMethods.length>1?()=>k(null):void 0}):/*#__PURE__*/e(t,{children:[/*#__PURE__*/o(d,{onClose:Y},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(s,{})}),/*#__PURE__*/o(S,{children:"Verify your identity"}),/*#__PURE__*/o(M,{children:"Choose a verification method"}),/*#__PURE__*/e(x,{children:[u.mfaMethods.includes("totp")&&/*#__PURE__*/e(w,{onClick:()=>R("totp"),children:[/*#__PURE__*/o(n,{}),"Authenticator App"]},"totp"),u.mfaMethods.includes("sms")&&/*#__PURE__*/e(w,{onClick:()=>R("sms"),children:[/*#__PURE__*/o(i,{}),"SMS"]},"sms"),u.mfaMethods.includes("passkey")&&/*#__PURE__*/e(w,{onClick:()=>R("passkey"),children:[/*#__PURE__*/o(r,{}),"Passkey"]},"passkey")]}),/*#__PURE__*/o(p,{})]}):null};let E=({selectedMethod:r,submitSuccess:s,hasBlockingError:c,onClose:m,onBack:a,handleSubmitCode:j})=>{let{app:f}=k(),{pendingTransaction:y}=g();switch(r){case"sms":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(i,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code sent to your ",/*#__PURE__*/o("strong",{children:"mobile device"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});case"totp":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(n,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code generated from your"," ",/*#__PURE__*/o("strong",{children:"authenticator app"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});default:return null}};export{P as MfaVerifyFlowScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CalendarIcon";import e from"@heroicons/react/24/outline/ExclamationTriangleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import{PrimaryButton as s}from"../../components/Button.mjs";import{ConnectionLoader as m}from"../../components/Loader.mjs";import{ModalFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{TransactionDetailsWrapper as p}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import l from"../../components/layout/StackedContainer.mjs";import{usePrivyInternal as h}from"../../hooks/internal-context.mjs";import{FaceId as d}from"../../svg/face-id.mjs";import{Title as j,List as u,ListItem as f,ListItemIcon as g,Container as y,ErrorMessage as b,PrimaryTextButton as k}from"./StyledComponents.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"viem";import"../../hooks/privy-context.mjs";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const T=({hasBlockingError:T,error:v,onClose:C,onBack:w,handleSubmit:x,account:I,submitSuccess:S})=>{let{pendingTransaction:A}=h();/*#__PURE__*/return o(i,{children:[/*#__PURE__*/t(a,{onClose:C},"header"),/*#__PURE__*/t(l,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/t(m,{success:S,fail:!!v}),/*#__PURE__*/t(v?e:d,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/t(j,{style:{marginTop:"1rem"},children:"Verifying with passkey"}),/*#__PURE__*/o(u,{children:[/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(r,{})}),"Approve this action using your touch, face, PIN, or hardware key."]}),/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(n,{})}),"You last added a passkey on"," ",I?.firstVerifiedAt?.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}),"."]})]}),A&&/*#__PURE__*/t(y,{children:/*#__PURE__*/t(p,{pendingTransaction:A})}),v&&/*#__PURE__*/o(i,{children:[/*#__PURE__*/t(b,{style:{marginTop:"1.25rem"},children:v.message}),/*#__PURE__*/t(s,{disabled:T,onClick:x,style:{marginTop:"1.25rem"},children:"Try again"})]}),w&&/*#__PURE__*/t(k,{style:{marginTop:"1rem"},onClick:w,children:"Choose another method"}),/*#__PURE__*/t(c,{})]})};export{T as VerifyWithPasskey};
1
+ import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CalendarIcon";import e from"@heroicons/react/24/outline/ExclamationTriangleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import{PrimaryButton as s}from"../../components/Button.mjs";import{ConnectionLoader as m}from"../../components/Loader.mjs";import{ModalFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{TransactionDetailsWrapper as p}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import l from"../../components/layout/StackedContainer.mjs";import{usePrivyInternal as h}from"../../hooks/internal-context.mjs";import{FaceId as d}from"../../svg/face-id.mjs";import{Title as j,List as u,ListItem as f,ListItemIcon as g,Container as y,ErrorMessage as b,PrimaryTextButton as k}from"./StyledComponents.mjs";import"styled-components";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"viem";import"../../hooks/privy-context.mjs";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const T=({hasBlockingError:T,error:v,onClose:C,onBack:w,handleSubmit:x,account:I,submitSuccess:S})=>{let{pendingTransaction:A}=h();/*#__PURE__*/return o(i,{children:[/*#__PURE__*/t(a,{onClose:C},"header"),/*#__PURE__*/t(l,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/t(m,{success:S,fail:!!v}),/*#__PURE__*/t(v?e:d,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/t(j,{style:{marginTop:"1rem"},children:"Verifying with passkey"}),/*#__PURE__*/o(u,{children:[/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(r,{})}),"Approve this action using your touch, face, PIN, or hardware key."]}),/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(n,{})}),"You last added a passkey on"," ",I?.firstVerifiedAt?.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}),"."]})]}),A&&/*#__PURE__*/t(y,{children:/*#__PURE__*/t(p,{pendingTransaction:A})}),v&&/*#__PURE__*/o(i,{children:[/*#__PURE__*/t(b,{style:{marginTop:"1.25rem"},children:v.message}),/*#__PURE__*/t(s,{disabled:T,onClick:x,style:{marginTop:"1.25rem"},children:"Try again"})]}),w&&/*#__PURE__*/t(k,{style:{marginTop:"1rem"},onClick:w,children:"Choose another method"}),/*#__PURE__*/t(c,{})]})};export{T as VerifyWithPasskey};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import{useState as r,useEffect as i}from"react";import{styled as n}from"styled-components";import{getDisplayForProvider as s}from"../auth-flows/oauth/getDisplayForProvider.mjs";import{shouldProceedtoEmbeddedWalletCreationFlow as m}from"../client/user.mjs";import{SoftCtaButton as c}from"../components/Button.mjs";import{RefactorSpacerTop as a,FixedGappedContainer as l,RefactorSpacerBottom as p}from"../components/Layouts.mjs";import{ConnectionLoader as d}from"../components/Loader.mjs";import{ModalFooter as h}from"../components/ModalFooter.mjs";import{ModalHeader as u}from"../components/ModalHeader.mjs";import j from"../components/layout/StackedContainer.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as f}from"../constants.mjs";import{PrivyErrorCode as g,PrivyUserLimitReachedError as E}from"../errors.mjs";import{usePrivyInternal as v}from"../hooks/internal-context.mjs";import{usePrivyModal as y}from"../hooks/modal-context.mjs";import{usePrivyContext as C}from"../hooks/privy-context.mjs";import{ModalScreen as A}from"./index.mjs";import{getOAuthErrorMessage as T}from"../auth-flows/oauth/getOAuthErrorMessage.mjs";import{stripUrlOAuthParamsAndRemoveStateCode as S}from"../auth-flows/oauth/stripUrlOAuthParamsAndRemoveStateCode.mjs";import"../svg/apple.mjs";import"../svg/discord.mjs";import"../svg/github.mjs";import"../svg/globe.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../svg/google.mjs";import"../svg/instagram.mjs";import"../svg/linkedin.mjs";import"../svg/spotify.mjs";import"../svg/tiktok.mjs";import"../svg/twitter.mjs";import"viem/utils";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"ofetch";import"../components/PrefetchedImage.mjs";import"../lib/capitalizeFirstLetter.mjs";import"../storage.mjs";const _=()=>{let{authenticated:n,logout:_,ready:N,user:R}=C(),{app:I,setModalData:O,navigate:L,resetNavigation:x}=y(),{getAuthMeta:k,initLoginWithOAuth:U,loginWithOAuth:w,updateWallets:M,setReadyToTrue:D,closePrivyModal:F,createAnalyticsEvent:W}=v(),[z,H]=r(!1),[P,J]=r(void 0),B=k()?.provider||"google",{name:Q,component:V}=s(B);i((()=>{w(B).then((()=>{H(!0),D(!0)})).catch((o=>{if(D(!1),o?.privyErrorCode===g.ALLOWLIST_REJECTED)return J(void 0),x(),void L(A.ALLOWLIST_REJECTION_SCREEN);if(o?.privyErrorCode===g.USER_LIMIT_REACHED)return console.error(new E(o).toString()),J(void 0),x(),void L(A.USER_LIMIT_REACHED_SCREEN);if(o?.privyErrorCode===g.USER_DOES_NOT_EXIST)return J(void 0),x(),void L(A.ACCOUNT_NOT_FOUND_SCREEN);if(o?.privyErrorCode===g.ACCOUNT_TRANSFER_REQUIRED&&o.data?.data?.nonce)return J(void 0),x(),O({accountTransfer:{nonce:o.data?.data?.nonce,account:o.data?.data?.subject,displayName:o.data?.data?.account?.displayName,linkMethod:k()?.provider,embeddedWalletAddress:o.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:o.data?.data?.otherUser?.oAuthUserInfo}}),void L(A.LINK_CONFLICT_SCREEN);let{retryable:t,detail:e}=T(o,B);J({retryable:t,detail:e,message:"Authentication failed"})})).finally((()=>{S()}))}),[Q,B]),i((()=>{if(N&&n&&z&&R){if(I?.legal.requireUsersAcceptTerms&&!R.hasAcceptedTerms){let o=setTimeout((()=>{L(A.AFFIRMATIVE_CONSENT_SCREEN)}),f);return()=>clearTimeout(o)}if(m(R,I?.embeddedWallets?.createOnLogin)){let o=setTimeout((()=>{O({createWallet:{onSuccess:()=>{},onFailure:o=>{console.error(o),W({eventName:"embedded_wallet_creation_failure_logout",payload:{error:o,provider:B,screen:"OAuthStatusScreen"}}),_()},callAuthOnSuccessOnClose:!0}}),L(A.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),f);return()=>clearTimeout(o)}{let o=setTimeout((()=>F({shouldCallAuthOnSuccess:!0,isSuccess:!0})),f);return M(),()=>clearTimeout(o)}}}),[N,n,z,R]);let X=z?`Successfully connected with ${Q}`:P?P.message:`Verifying connection to ${Q}`,$="";return $=z?"You’re good to go!":P?P.detail:"Just a few moments more",/*#__PURE__*/o(t,{children:[/*#__PURE__*/e(u,{}),/*#__PURE__*/e(a,{}),/*#__PURE__*/o(b,{children:[/*#__PURE__*/e(j,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/e(d,{success:z,fail:!!P}),/*#__PURE__*/e(V,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/o(l,{children:[/*#__PURE__*/e("h3",{children:X}),/*#__PURE__*/e("p",{children:$})]}),P&&P?.retryable?/*#__PURE__*/e(c,{onClick:()=>{S(),U(B),J(void 0)},disabled:!z&&!P?.retryable,children:"Retry"}):null]}),/*#__PURE__*/e(p,{}),/*#__PURE__*/e(h,{})]})};let b=/*#__PURE__*/n.div.withConfig({displayName:"ConnectContainer",componentId:"sc-aa7588ca-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;margin-left:27px;margin-right:27px;gap:24px;"]);export{_ as OAuthStatusScreen};
1
+ import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import{useState as r,useEffect as i}from"react";import{styled as n}from"styled-components";import{getDisplayForProvider as s}from"../auth-flows/oauth/getDisplayForProvider.mjs";import{shouldProceedtoEmbeddedWalletCreationFlow as m}from"../client/user.mjs";import{SoftCtaButton as c}from"../components/Button.mjs";import{RefactorSpacerTop as a,FixedGappedContainer as l,RefactorSpacerBottom as p}from"../components/Layouts.mjs";import{ConnectionLoader as d}from"../components/Loader.mjs";import{ModalFooter as h}from"../components/ModalFooter.mjs";import{ModalHeader as u}from"../components/ModalHeader.mjs";import j from"../components/layout/StackedContainer.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as f}from"../constants.mjs";import{PrivyErrorCode as g,PrivyUserLimitReachedError as E}from"../errors.mjs";import{usePrivyInternal as v}from"../hooks/internal-context.mjs";import{usePrivyModal as y}from"../hooks/modal-context.mjs";import{usePrivyContext as C}from"../hooks/privy-context.mjs";import{ModalScreen as A}from"./index.mjs";import{getOAuthErrorMessage as T}from"../auth-flows/oauth/getOAuthErrorMessage.mjs";import{stripUrlOAuthParamsAndRemoveStateCode as S}from"../auth-flows/oauth/stripUrlOAuthParamsAndRemoveStateCode.mjs";import"../svg/apple.mjs";import"../svg/discord.mjs";import"../svg/github.mjs";import"../svg/globe.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"../svg/google.mjs";import"../svg/instagram.mjs";import"../svg/linkedin.mjs";import"../svg/spotify.mjs";import"../svg/tiktok.mjs";import"../svg/twitter.mjs";import"viem/utils";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"ofetch";import"../components/PrefetchedImage.mjs";import"../lib/capitalizeFirstLetter.mjs";import"../storage.mjs";const _=()=>{let{authenticated:n,logout:_,ready:N,user:R}=C(),{app:I,setModalData:O,navigate:L,resetNavigation:x}=y(),{getAuthMeta:k,initLoginWithOAuth:U,loginWithOAuth:w,updateWallets:M,setReadyToTrue:D,closePrivyModal:F,createAnalyticsEvent:W}=v(),[z,H]=r(!1),[P,J]=r(void 0),B=k()?.provider||"google",{name:Q,component:V}=s(B);i((()=>{w(B).then((()=>{H(!0),D(!0)})).catch((o=>{if(D(!1),o?.privyErrorCode===g.ALLOWLIST_REJECTED)return J(void 0),x(),void L(A.ALLOWLIST_REJECTION_SCREEN);if(o?.privyErrorCode===g.USER_LIMIT_REACHED)return console.error(new E(o).toString()),J(void 0),x(),void L(A.USER_LIMIT_REACHED_SCREEN);if(o?.privyErrorCode===g.USER_DOES_NOT_EXIST)return J(void 0),x(),void L(A.ACCOUNT_NOT_FOUND_SCREEN);if(o?.privyErrorCode===g.ACCOUNT_TRANSFER_REQUIRED&&o.data?.data?.nonce)return J(void 0),x(),O({accountTransfer:{nonce:o.data?.data?.nonce,account:o.data?.data?.subject,displayName:o.data?.data?.account?.displayName,linkMethod:k()?.provider,embeddedWalletAddress:o.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:o.data?.data?.otherUser?.oAuthUserInfo}}),void L(A.LINK_CONFLICT_SCREEN);let{retryable:t,detail:e}=T(o,B);J({retryable:t,detail:e,message:"Authentication failed"})})).finally((()=>{S()}))}),[Q,B]),i((()=>{if(N&&n&&z&&R){if(I?.legal.requireUsersAcceptTerms&&!R.hasAcceptedTerms){let o=setTimeout((()=>{L(A.AFFIRMATIVE_CONSENT_SCREEN)}),f);return()=>clearTimeout(o)}if(m(R,I?.embeddedWallets?.createOnLogin)){let o=setTimeout((()=>{O({createWallet:{onSuccess:()=>{},onFailure:o=>{console.error(o),W({eventName:"embedded_wallet_creation_failure_logout",payload:{error:o,provider:B,screen:"OAuthStatusScreen"}}),_()},callAuthOnSuccessOnClose:!0}}),L(A.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),f);return()=>clearTimeout(o)}{let o=setTimeout((()=>F({shouldCallAuthOnSuccess:!0,isSuccess:!0})),f);return M(),()=>clearTimeout(o)}}}),[N,n,z,R]);let X=z?`Successfully connected with ${Q}`:P?P.message:`Verifying connection to ${Q}`,$="";return $=z?"You’re good to go!":P?P.detail:"Just a few moments more",/*#__PURE__*/o(t,{children:[/*#__PURE__*/e(u,{}),/*#__PURE__*/e(a,{}),/*#__PURE__*/o(b,{children:[/*#__PURE__*/e(j,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/e(d,{success:z,fail:!!P}),/*#__PURE__*/e(V,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/o(l,{children:[/*#__PURE__*/e("h3",{children:X}),/*#__PURE__*/e("p",{children:$})]}),P&&P?.retryable?/*#__PURE__*/e(c,{onClick:()=>{S(),U(B),J(void 0)},disabled:!z&&!P?.retryable,children:"Retry"}):null]}),/*#__PURE__*/e(p,{}),/*#__PURE__*/e(h,{})]})};let b=/*#__PURE__*/n.div.withConfig({displayName:"ConnectContainer",componentId:"sc-aa7588ca-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;margin-left:27px;margin-right:27px;gap:24px;"]);export{_ as OAuthStatusScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as i}from"react/jsx-runtime";import{ModalScreen as n}from"./index.mjs";import{styled as r}from"styled-components";import{PrimaryButton as s}from"../components/Button.mjs";import{BlobbyFooter as e}from"../components/ModalFooter.mjs";import{ModalHeader as c}from"../components/ModalHeader.mjs";import{useCaptcha as a}from"../hooks/captcha-context.mjs";import{usePrivyInternal as m}from"../hooks/internal-context.mjs";import{usePrivyModal as p}from"../hooks/modal-context.mjs";import{FaceId as l}from"../svg/face-id.mjs";import{FingerPrint as h}from"../svg/fingerprint.mjs";import{AppLogoContainer as j,Title as d,SubTitle as u,BottomSection as g,PrimaryTextButton as y}from"./MfaScreens/StyledComponents.mjs";import"../components/Loader.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"react";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"../errors.mjs";import"ofetch";import"../utils/index.mjs";import"../connectors/get-legacy-injected-providers.mjs";import"../connectors/is-wallet-installed.mjs";import"../utils/eth/getPublicClient.mjs";import"viem";import"../components/PrefetchedImage.mjs";const f=()=>{let{enabled:r,token:f}=a(),{lastScreen:k,currentScreen:v,navigateBack:A,navigate:E,setModalData:w}=p(),{initSignupWithPasskey:I,initLoginWithPasskey:C}=m();/*#__PURE__*/return o(t,{children:[/*#__PURE__*/i(c,{backFn:k&&v!==k?A:void 0}),/*#__PURE__*/i(j,{children:/*#__PURE__*/o(S,{children:[/*#__PURE__*/i(l,{}),/*#__PURE__*/i(h,{})]})}),/*#__PURE__*/i(d,{children:"Log in or create a new account?"}),/*#__PURE__*/i(u,{children:"Create a new account with a passkey or use a passkey to log in to an existing account."}),/*#__PURE__*/o(g,{children:[/*#__PURE__*/i(s,{onClick:async()=>{r&&!f?(w({passkeyAuthModalData:{passkeySignupFlow:!0},captchaModalData:{callback:o=>I({captchaToken:o,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:n.AWAITING_PASSKEY_SYSTEM_DIALOGUE,onErrorNavigateTo:n.ERROR_SCREEN}}),E(n.CAPTCHA_SCREEN)):(await I({withPrivyUi:!0}),w({passkeyAuthModalData:{passkeySignupFlow:!0}}),E(n.AWAITING_PASSKEY_SYSTEM_DIALOGUE))},children:"Create new account"}),/*#__PURE__*/i(y,{onClick:async()=>{r&&!f?(w({passkeyAuthModalData:{passkeySignupFlow:!1},captchaModalData:{callback:o=>C({captchaToken:o,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:n.AWAITING_PASSKEY_SYSTEM_DIALOGUE,onErrorNavigateTo:n.ERROR_SCREEN}}),E(n.CAPTCHA_SCREEN)):(await C({withPrivyUi:!0}),w({passkeyAuthModalData:{passkeySignupFlow:!1}}),E(n.AWAITING_PASSKEY_SYSTEM_DIALOGUE))},children:"Log in with a passkey"})]}),/*#__PURE__*/i(e,{})]})},S=/*#__PURE__*/r.div.withConfig({displayName:"DoubleIconWrapper",componentId:"sc-fd7f30b7-0"})(["display:flex;align-items:center;justify-content:center;width:180px;height:90px;border-radius:50%;svg + svg{margin-left:12px;}> svg{z-index:2;color:var(--privy-color-accent);stroke:var(--privy-color-accent);fill:var(--privy-color-accent);}"]);export{S as DoubleIconWrapper,f as PasskeySelectSignupOrLogin};
1
+ import{jsxs as o,Fragment as t,jsx as i}from"react/jsx-runtime";import{ModalScreen as n}from"./index.mjs";import{styled as r}from"styled-components";import{PrimaryButton as s}from"../components/Button.mjs";import{BlobbyFooter as e}from"../components/ModalFooter.mjs";import{ModalHeader as c}from"../components/ModalHeader.mjs";import{useCaptcha as a}from"../hooks/captcha-context.mjs";import{usePrivyInternal as m}from"../hooks/internal-context.mjs";import{usePrivyModal as p}from"../hooks/modal-context.mjs";import{FaceId as l}from"../svg/face-id.mjs";import{FingerPrint as h}from"../svg/fingerprint.mjs";import{AppLogoContainer as j,Title as d,SubTitle as u,BottomSection as g,PrimaryTextButton as y}from"./MfaScreens/StyledComponents.mjs";import"../components/Loader.mjs";import"../configuration/context.mjs";import"react";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"../errors.mjs";import"ofetch";import"../utils/index.mjs";import"../connectors/get-legacy-injected-providers.mjs";import"../connectors/is-wallet-installed.mjs";import"../utils/eth/getPublicClient.mjs";import"viem";import"../components/PrefetchedImage.mjs";const f=()=>{let{enabled:r,token:f}=a(),{lastScreen:k,currentScreen:v,navigateBack:A,navigate:E,setModalData:w}=p(),{initSignupWithPasskey:I,initLoginWithPasskey:C}=m();/*#__PURE__*/return o(t,{children:[/*#__PURE__*/i(c,{backFn:k&&v!==k?A:void 0}),/*#__PURE__*/i(j,{children:/*#__PURE__*/o(S,{children:[/*#__PURE__*/i(l,{}),/*#__PURE__*/i(h,{})]})}),/*#__PURE__*/i(d,{children:"Log in or create a new account?"}),/*#__PURE__*/i(u,{children:"Create a new account with a passkey or use a passkey to log in to an existing account."}),/*#__PURE__*/o(g,{children:[/*#__PURE__*/i(s,{onClick:async()=>{r&&!f?(w({passkeyAuthModalData:{passkeySignupFlow:!0},captchaModalData:{callback:o=>I({captchaToken:o,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:n.AWAITING_PASSKEY_SYSTEM_DIALOGUE,onErrorNavigateTo:n.ERROR_SCREEN}}),E(n.CAPTCHA_SCREEN)):(await I({withPrivyUi:!0}),w({passkeyAuthModalData:{passkeySignupFlow:!0}}),E(n.AWAITING_PASSKEY_SYSTEM_DIALOGUE))},children:"Create new account"}),/*#__PURE__*/i(y,{onClick:async()=>{r&&!f?(w({passkeyAuthModalData:{passkeySignupFlow:!1},captchaModalData:{callback:o=>C({captchaToken:o,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:n.AWAITING_PASSKEY_SYSTEM_DIALOGUE,onErrorNavigateTo:n.ERROR_SCREEN}}),E(n.CAPTCHA_SCREEN)):(await C({withPrivyUi:!0}),w({passkeyAuthModalData:{passkeySignupFlow:!1}}),E(n.AWAITING_PASSKEY_SYSTEM_DIALOGUE))},children:"Log in with a passkey"})]}),/*#__PURE__*/i(e,{})]})},S=/*#__PURE__*/r.div.withConfig({displayName:"DoubleIconWrapper",componentId:"sc-fd7f30b7-0"})(["display:flex;align-items:center;justify-content:center;width:180px;height:90px;border-radius:50%;svg + svg{margin-left:12px;}> svg{z-index:2;color:var(--privy-color-accent);stroke:var(--privy-color-accent);fill:var(--privy-color-accent);}"]);export{S as DoubleIconWrapper,f as PasskeySelectSignupOrLogin};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as r,jsx as t}from"react/jsx-runtime";import{useState as e,useRef as n,useEffect as s}from"react";import{styled as i}from"styled-components";import{PrimaryButton as c}from"../components/Button.mjs";import{FixedGappedContainer as a}from"../components/Layouts.mjs";import{ConnectionLoader as m}from"../components/Loader.mjs";import{ModalFooter as p}from"../components/ModalFooter.mjs";import{ModalHeader as l}from"../components/ModalHeader.mjs";import h from"../components/layout/StackedContainer.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as u}from"../constants.mjs";import{PrivyError as d,PrivyErrorCode as j}from"../errors.mjs";import{usePrivyInternal as f}from"../hooks/internal-context.mjs";import{usePrivyModal as y}from"../hooks/modal-context.mjs";import{FingerPrint as g}from"../svg/fingerprint.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"ofetch";import"../components/PrefetchedImage.mjs";import"./index.mjs";const k=()=>{let{lastScreen:i,currentScreen:k,navigateBack:w,data:x}=y(),{loginWithPasskey:b,signupWithPasskey:C,closePrivyModal:S}=f(),{passkeySignupFlow:A}=x?.passkeyAuthModalData??{},[I,P]=e("loading"),[E,M]=e(null),T=n([]);s((()=>()=>{T.current.forEach((o=>clearTimeout(o))),T.current=[]}),[]);let L=async()=>{P("loading");try{A?await C():await b(),P("success")}catch(o){M(o),P("error")}};return s((()=>{var o;"success"===I&&(o=setTimeout((()=>{S({shouldCallAuthOnSuccess:!0,isSuccess:!0})}),u),T.current=[o,...T.current])}),[I]),s((()=>{L()}),[]),/*#__PURE__*/o(r,{children:[/*#__PURE__*/t(l,{backFn:i&&k!==i?w:void 0}),/*#__PURE__*/o(v,{children:[/*#__PURE__*/t(h,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/t(m,{success:"success"===I,fail:"error"===I}),/*#__PURE__*/t(g,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/o(a,{children:[/*#__PURE__*/t("h3",{children:(()=>{switch(I){case"loading":return"Waiting for passkey";case"success":return"Success";case"error":return"Something went wrong"}})()}),/*#__PURE__*/t("p",{style:{whiteSpace:"pre-wrap"},children:(()=>{switch(I){case"loading":return A?"Please follow prompts to register your passkey.":"Please follow prompts to verify your passkey.\nYou will have to sign up with another method first to register a passkey for your account.";case"success":return"You've successfully logged in with your passkey.";case"error":if(E instanceof d){if(E.privyErrorCode===j.CANNOT_LINK_MORE_OF_TYPE)return"Cannot link more passkeys to account.";if(E.privyErrorCode===j.PASSKEY_NOT_ALLOWED)return"Passkey request timed out or rejected by user.\nYou will have to sign up with another method first to register a passkey for your account."}return"An unknown error occurred.\nYou will have to sign up with another method first to register a passkey for your account."}})()})]}),(()=>{switch(I){case"loading":case"success":/*#__PURE__*/return t(c,{onClick:()=>{},disabled:!0,children:"Continue"});case"error":/*#__PURE__*/return t(c,{onClick:L,disabled:!1,children:"Retry"})}})()]}),/*#__PURE__*/t(p,{})]})};let v=/*#__PURE__*/i.div.withConfig({displayName:"Container",componentId:"sc-aab4a512-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%;"]);const w=/*#__PURE__*/i.div.withConfig({displayName:"DoubleIconWrapper",componentId:"sc-aab4a512-1"})(["display:flex;align-items:center;justify-content:center;width:180px;height:90px;border-radius:50%;svg + svg{margin-left:12px;}> svg{z-index:2;color:var(--privy-color-accent) !important;stroke:var(--privy-color-accent) !important;fill:var(--privy-color-accent) !important;}"]);export{w as DoubleIconWrapper,k as PasskeyStatusScreen};
1
+ import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import{ModalScreen as t}from"./index.mjs";import{useState as s,useRef as n,useEffect as i}from"react";import{styled as c}from"styled-components";import{shouldProceedtoEmbeddedWalletCreationFlow as a}from"../client/user.mjs";import{PrimaryButton as m}from"../components/Button.mjs";import{FixedGappedContainer as p}from"../components/Layouts.mjs";import{ConnectionLoader as l}from"../components/Loader.mjs";import{ModalFooter as u}from"../components/ModalFooter.mjs";import{ModalHeader as h}from"../components/ModalHeader.mjs";import d from"../components/layout/StackedContainer.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as f}from"../constants.mjs";import{PrivyError as j,PrivyErrorCode as y}from"../errors.mjs";import{usePrivyInternal as g}from"../hooks/internal-context.mjs";import{usePrivyModal as v}from"../hooks/modal-context.mjs";import{usePrivyContext as k}from"../hooks/privy-context.mjs";import{FingerPrint as w}from"../svg/fingerprint.mjs";import"viem/utils";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"ofetch";import"../components/PrefetchedImage.mjs";const C=()=>{let{app:c,lastScreen:C,currentScreen:x,navigateBack:A,data:E,setModalData:b,navigate:_}=v(),{loginWithPasskey:T,signupWithPasskey:N,closePrivyModal:O,createAnalyticsEvent:I}=g(),{user:M,logout:P}=k(),{passkeySignupFlow:L}=E?.passkeyAuthModalData??{},F=f-500,[W,D]=s("loading"),[R,Y]=s(null),z=n([]),B=o=>{z.current=[o,...z.current]};i((()=>()=>{z.current.forEach((o=>clearTimeout(o))),z.current=[]}),[]);let q=async()=>{D("loading");try{L?await N():await T(),D("success")}catch(o){Y(o),D("error")}};return i((()=>{if("success"===W&&M){if(c?.legal.requireUsersAcceptTerms&&!M.hasAcceptedTerms)return void B(setTimeout((()=>{_(t.AFFIRMATIVE_CONSENT_SCREEN)}),F));if(!a(M,c?.embeddedWallets?.createOnLogin))return void B(setTimeout((()=>{O({shouldCallAuthOnSuccess:!0,isSuccess:!0})}),f));B(setTimeout((()=>{b({createWallet:{onSuccess:()=>{},onFailure:o=>{console.error(o),I({eventName:"embedded_wallet_creation_failure_logout",payload:{error:o,screen:"PasskeyStatusScreen"}}),P()},callAuthOnSuccessOnClose:!0}}),_(t.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),F))}}),[M,W]),i((()=>{q()}),[]),/*#__PURE__*/o(e,{children:[/*#__PURE__*/r(h,{backFn:C&&x!==C?A:void 0}),/*#__PURE__*/o(S,{children:[/*#__PURE__*/r(d,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/r(l,{success:"success"===W,fail:"error"===W}),/*#__PURE__*/r(w,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/o(p,{children:[/*#__PURE__*/r("h3",{children:(()=>{switch(W){case"loading":return"Waiting for passkey";case"success":return"Success";case"error":return"Something went wrong"}})()}),/*#__PURE__*/r("p",{style:{whiteSpace:"pre-wrap"},children:(()=>{switch(W){case"loading":return L?"Please follow prompts to register your passkey.":"Please follow prompts to verify your passkey.\nYou will have to sign up with another method first to register a passkey for your account.";case"success":return"You've successfully logged in with your passkey.";case"error":if(R instanceof j){if(R.privyErrorCode===y.CANNOT_LINK_MORE_OF_TYPE)return"Cannot link more passkeys to account.";if(R.privyErrorCode===y.PASSKEY_NOT_ALLOWED)return"Passkey request timed out or rejected by user.\nYou will have to sign up with another method first to register a passkey for your account."}return"An unknown error occurred.\nYou will have to sign up with another method first to register a passkey for your account."}})()})]}),(()=>{switch(W){case"loading":case"success":/*#__PURE__*/return r(m,{onClick:()=>{},disabled:!0,children:"Continue"});case"error":/*#__PURE__*/return r(m,{onClick:q,disabled:!1,children:"Retry"})}})()]}),/*#__PURE__*/r(u,{})]})};let S=/*#__PURE__*/c.div.withConfig({displayName:"Container",componentId:"sc-4165a41e-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%;"]);const x=/*#__PURE__*/c.div.withConfig({displayName:"DoubleIconWrapper",componentId:"sc-4165a41e-1"})(["display:flex;align-items:center;justify-content:center;width:180px;height:90px;border-radius:50%;svg + svg{margin-left:12px;}> svg{z-index:2;color:var(--privy-color-accent) !important;stroke:var(--privy-color-accent) !important;fill:var(--privy-color-accent) !important;}"]);export{x as DoubleIconWrapper,C as PasskeyStatusScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import{useState as e}from"react";import{styled as i}from"styled-components";import{PrimaryButtonLink as r}from"../components/Button.mjs";import{RefactorSpacerTop as c,BottomPusherContainer as s,RefactorSpacerBottom as m,CenteredItem as a}from"../components/Layouts.mjs";import{BlobbyFooter as p}from"../components/ModalFooter.mjs";import{ModalHeader as l}from"../components/ModalHeader.mjs";import{PaddedScreenHeader as h}from"../components/ScreenHeader.mjs";import{getPhantomMobileRedirect as j}from"../connectors/phantom-redirect.mjs";import{usePrivyInternal as d}from"../hooks/internal-context.mjs";import{usePrivyContext as u}from"../hooks/privy-context.mjs";import{Phantom as f}from"../svg/phantom.mjs";import"../components/Loader.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"react-device-detect";import"../connectors/is-wallet-installed.mjs";import"../connectors/get-legacy-injected-providers.mjs";const y=()=>{let{ready:i}=u(),{walletConnectionStatus:a}=d(),[y,b]=e(!1),x=j(!y,"solana"===a?.connector?.chainType),w={title:"Redirecting to Phantom Mobile Wallet",description:"We'll take you to the Phantom Mobile Wallet app to continue your login experience.",footnote:""};return i&&(w.description="For the best experience, we'll automatically log you into the Phantom Mobile Wallet in-app browser.",w.footnote="Once you're done, you can always return here and refresh to view your updated account."),y&&(w.title="Still here?",w.description="You may need to install the Phantom mobile app.",w.footnote="Once you're done, you can return here or connect via Phantom's in-app browser."),/*#__PURE__*/o(t,{children:[/*#__PURE__*/n(l,{},"header"),/*#__PURE__*/n(c,{}),/*#__PURE__*/n(h,{title:w.title,description:w.description}),/*#__PURE__*/o(s,{children:[/*#__PURE__*/n(g,{children:/*#__PURE__*/n(f,{style:{width:"72px",height:"72px"}})}),/*#__PURE__*/n(r,{href:x,onClick:()=>{setTimeout((()=>b(!0)),1e3)},loading:i&&!x,children:y?"Go to App Store":"Continue"}),w.footnote?/*#__PURE__*/n("p",{children:w.footnote}):null]}),/*#__PURE__*/n(m,{}),/*#__PURE__*/n(p,{})]})};let g=/*#__PURE__*/i(a).withConfig({displayName:"LogoContainer",componentId:"sc-33ad6c8b-0"})(["margin:16px auto;"]);export{y as PhantomInterstitialScreen};
1
+ import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import{useState as e}from"react";import{styled as i}from"styled-components";import{PrimaryButtonLink as r}from"../components/Button.mjs";import{RefactorSpacerTop as c,BottomPusherContainer as s,RefactorSpacerBottom as m,CenteredItem as a}from"../components/Layouts.mjs";import{BlobbyFooter as p}from"../components/ModalFooter.mjs";import{ModalHeader as l}from"../components/ModalHeader.mjs";import{PaddedScreenHeader as h}from"../components/ScreenHeader.mjs";import{getPhantomMobileRedirect as j}from"../connectors/phantom-redirect.mjs";import{usePrivyInternal as d}from"../hooks/internal-context.mjs";import{usePrivyContext as u}from"../hooks/privy-context.mjs";import{Phantom as f}from"../svg/phantom.mjs";import"../components/Loader.mjs";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"react-device-detect";import"../connectors/is-wallet-installed.mjs";import"../connectors/get-legacy-injected-providers.mjs";const y=()=>{let{ready:i}=u(),{walletConnectionStatus:a}=d(),[y,b]=e(!1),x=j(!y,"solana"===a?.connector?.chainType),w={title:"Redirecting to Phantom Mobile Wallet",description:"We'll take you to the Phantom Mobile Wallet app to continue your login experience.",footnote:""};return i&&(w.description="For the best experience, we'll automatically log you into the Phantom Mobile Wallet in-app browser.",w.footnote="Once you're done, you can always return here and refresh to view your updated account."),y&&(w.title="Still here?",w.description="You may need to install the Phantom mobile app.",w.footnote="Once you're done, you can return here or connect via Phantom's in-app browser."),/*#__PURE__*/o(t,{children:[/*#__PURE__*/n(l,{},"header"),/*#__PURE__*/n(c,{}),/*#__PURE__*/n(h,{title:w.title,description:w.description}),/*#__PURE__*/o(s,{children:[/*#__PURE__*/n(g,{children:/*#__PURE__*/n(f,{style:{width:"72px",height:"72px"}})}),/*#__PURE__*/n(r,{href:x,onClick:()=>{setTimeout((()=>b(!0)),1e3)},loading:i&&!x,children:y?"Go to App Store":"Continue"}),w.footnote?/*#__PURE__*/n("p",{children:w.footnote}):null]}),/*#__PURE__*/n(m,{}),/*#__PURE__*/n(p,{})]})};let g=/*#__PURE__*/i(a).withConfig({displayName:"LogoContainer",componentId:"sc-33ad6c8b-0"})(["margin:16px auto;"]);export{y as PhantomInterstitialScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as n,useEffect as i}from"react";import{styled as s,css as c}from"styled-components";import{getPrivyWalletWithAddress as a}from"../../client/user.mjs";import{PrimaryButton as m}from"../../components/Button.mjs";import{RefactorSpacerTop as l,StyledCalloutSection as p,RefactorSpacerBottom as d}from"../../components/Layouts.mjs";import{BlobbyFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as y}from"../../components/ModalHeader.mjs";import{PasswordContainer as u,PasswordInput as f,InputRightIcons as j,HiddenIcon as v,ShownIcon as g}from"../../components/embedded-wallets/SetWalletPasswordForm/shared.mjs";import{errorIndicatesInvalidRecoveryPassword as w}from"../../embedded-wallets/errors.mjs";import{PrivyEmbeddedWalletError as x}from"../../errors.mjs";import{usePrivyInternal as b}from"../../hooks/internal-context.mjs";import{usePrivyModal as C}from"../../hooks/modal-context.mjs";import{usePrivyContext as I}from"../../hooks/privy-context.mjs";import"viem/utils";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"../../embedded-wallets/types.mjs";import"ofetch";import"../../components/PrefetchedImage.mjs";import"../index.mjs";const k=()=>{let[s,c]=n(!0),{authenticated:m,getAccessToken:k,user:T}=I(),{walletProxy:z,closePrivyModal:M,createAnalyticsEvent:_}=b(),{navigate:E,data:F,onUserCloseViaDialogOrKeybindRef:R}=C(),[U,H]=n(void 0),[L,O]=n(""),[V,W]=n(!1),{entropyId:B,entropyIdVerifier:D,onCompleteNavigateTo:K,onSuccess:Q,onFailure:X}=F.recoverWallet,Y=(o="User exited before their wallet could be recovered")=>{M({shouldCallAuthOnSuccess:!1}),X("string"==typeof o?new x(o):o)};R.current=Y,i((()=>{if(!m)return Y("User must be authenticated and have a Privy wallet before it can be recovered")}),[m]);/*#__PURE__*/return o(e,{children:[/*#__PURE__*/r(y,{onClose:Y}),/*#__PURE__*/r(l,{}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/o(A,{children:[/*#__PURE__*/r(t,{height:48,width:48,stroke:"var(--privy-color-accent)"}),/*#__PURE__*/r("h3",{style:{color:"var(--privy-color-foreground)"},children:"Enter your password"}),/*#__PURE__*/r("p",{style:{color:"var(--privy-color-foreground-2)"},children:"Please provision your account on this new device. To continue, enter your recovery password."})]}),/*#__PURE__*/o("div",{children:[/*#__PURE__*/o(u,{children:[/*#__PURE__*/r(f,{type:s?"password":"text",onChange:o=>(o=>{o&&H(o)})(o.target.value),disabled:V,style:{paddingRight:"2.3rem"}}),/*#__PURE__*/r(j,{style:{right:"0.75rem"},children:s?/*#__PURE__*/r(v,{onClick:()=>c(!1)}):/*#__PURE__*/r(g,{onClick:()=>c(!0)})})]}),!!L&&/*#__PURE__*/r(S,{children:L})]}),/*#__PURE__*/o("div",{children:[/*#__PURE__*/o(p,{children:[/*#__PURE__*/r("h4",{children:"Why is this necessary?"}),/*#__PURE__*/r("p",{children:"You previously set a password for this wallet. This helps ensure only you can access it"})]}),/*#__PURE__*/r(N,{loading:V||!z,disabled:!U,onClick:async()=>{W(!0);let o=await k(),e=a(T,B);if(!o||!e||null===U)return Y("User must be authenticated and have a Privy wallet before it can be recovered");try{_({eventName:"embedded_wallet_recovery_started",payload:{walletAddress:e.address}}),await(z?.recover({accessToken:o,entropyId:B,entropyIdVerifier:D,recoveryPassword:U})),O(""),K?E(K):M({shouldCallAuthOnSuccess:!1}),Q?.(e),_({eventName:"embedded_wallet_recovery_completed",payload:{walletAddress:e.address}})}catch(o){w(o)?O("Invalid recovery password, please try again."):O("An error has occurred, please try again.")}finally{W(!1)}},warn:!1,hideAnimations:!B&&V,children:"Recover your account"})]})]}),/*#__PURE__*/r(d,{}),/*#__PURE__*/r(h,{})]})},A=/*#__PURE__*/s.div.withConfig({displayName:"Header",componentId:"sc-858d1103-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;margin:20px 0;gap:4px;& h3{font-size:18px;font-style:normal;font-weight:600;line-height:24px;}& p{max-width:300px;font-size:14px;font-style:normal;font-weight:400;line-height:20px;}"]);let P=/*#__PURE__*/s.div.withConfig({displayName:"Content",componentId:"sc-858d1103-1"})(["display:flex;flex-direction:column;justify-content:space-between;"]),S=/*#__PURE__*/s.div.withConfig({displayName:"ErrorMessage",componentId:"sc-858d1103-2"})(["line-height:20px;height:20px;font-size:13px;color:var(--privy-color-error);text-align:left;margin-top:0.5rem;"]),N=/*#__PURE__*/s(m).withConfig({displayName:"NoAnimationPrimaryButton",componentId:"sc-858d1103-3"})(["",""],(o=>o.hideAnimations&&/*#__PURE__*/c(["&&{transition:none;}"])));export{A as Header,k as PasswordRecoveryScreen};
1
+ import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as n,useEffect as i}from"react";import{styled as s,css as c}from"styled-components";import{getPrivyWalletWithAddress as a}from"../../client/user.mjs";import{PrimaryButton as m}from"../../components/Button.mjs";import{RefactorSpacerTop as l,StyledCalloutSection as p,RefactorSpacerBottom as d}from"../../components/Layouts.mjs";import{BlobbyFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as y}from"../../components/ModalHeader.mjs";import{PasswordContainer as u,PasswordInput as f,InputRightIcons as j,HiddenIcon as v,ShownIcon as g}from"../../components/embedded-wallets/SetWalletPasswordForm/shared.mjs";import{errorIndicatesInvalidRecoveryPassword as w}from"../../embedded-wallets/errors.mjs";import{PrivyEmbeddedWalletError as x}from"../../errors.mjs";import{usePrivyInternal as b}from"../../hooks/internal-context.mjs";import{usePrivyModal as C}from"../../hooks/modal-context.mjs";import{usePrivyContext as I}from"../../hooks/privy-context.mjs";import"viem/utils";import"../../components/Loader.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"../../embedded-wallets/types.mjs";import"ofetch";import"../../components/PrefetchedImage.mjs";import"../index.mjs";const k=()=>{let[s,c]=n(!0),{authenticated:m,getAccessToken:k,user:T}=I(),{walletProxy:z,closePrivyModal:M,createAnalyticsEvent:_}=b(),{navigate:E,data:F,onUserCloseViaDialogOrKeybindRef:R}=C(),[U,H]=n(void 0),[L,O]=n(""),[V,W]=n(!1),{entropyId:B,entropyIdVerifier:D,onCompleteNavigateTo:K,onSuccess:Q,onFailure:X}=F.recoverWallet,Y=(o="User exited before their wallet could be recovered")=>{M({shouldCallAuthOnSuccess:!1}),X("string"==typeof o?new x(o):o)};R.current=Y,i((()=>{if(!m)return Y("User must be authenticated and have a Privy wallet before it can be recovered")}),[m]);/*#__PURE__*/return o(e,{children:[/*#__PURE__*/r(y,{onClose:Y}),/*#__PURE__*/r(l,{}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/o(A,{children:[/*#__PURE__*/r(t,{height:48,width:48,stroke:"var(--privy-color-accent)"}),/*#__PURE__*/r("h3",{style:{color:"var(--privy-color-foreground)"},children:"Enter your password"}),/*#__PURE__*/r("p",{style:{color:"var(--privy-color-foreground-2)"},children:"Please provision your account on this new device. To continue, enter your recovery password."})]}),/*#__PURE__*/o("div",{children:[/*#__PURE__*/o(u,{children:[/*#__PURE__*/r(f,{type:s?"password":"text",onChange:o=>(o=>{o&&H(o)})(o.target.value),disabled:V,style:{paddingRight:"2.3rem"}}),/*#__PURE__*/r(j,{style:{right:"0.75rem"},children:s?/*#__PURE__*/r(v,{onClick:()=>c(!1)}):/*#__PURE__*/r(g,{onClick:()=>c(!0)})})]}),!!L&&/*#__PURE__*/r(S,{children:L})]}),/*#__PURE__*/o("div",{children:[/*#__PURE__*/o(p,{children:[/*#__PURE__*/r("h4",{children:"Why is this necessary?"}),/*#__PURE__*/r("p",{children:"You previously set a password for this wallet. This helps ensure only you can access it"})]}),/*#__PURE__*/r(N,{loading:V||!z,disabled:!U,onClick:async()=>{W(!0);let o=await k(),e=a(T,B);if(!o||!e||null===U)return Y("User must be authenticated and have a Privy wallet before it can be recovered");try{_({eventName:"embedded_wallet_recovery_started",payload:{walletAddress:e.address}}),await(z?.recover({accessToken:o,entropyId:B,entropyIdVerifier:D,recoveryPassword:U})),O(""),K?E(K):M({shouldCallAuthOnSuccess:!1}),Q?.(e),_({eventName:"embedded_wallet_recovery_completed",payload:{walletAddress:e.address}})}catch(o){w(o)?O("Invalid recovery password, please try again."):O("An error has occurred, please try again.")}finally{W(!1)}},warn:!1,hideAnimations:!B&&V,children:"Recover your account"})]})]}),/*#__PURE__*/r(d,{}),/*#__PURE__*/r(h,{})]})},A=/*#__PURE__*/s.div.withConfig({displayName:"Header",componentId:"sc-858d1103-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;margin:20px 0;gap:4px;& h3{font-size:18px;font-style:normal;font-weight:600;line-height:24px;}& p{max-width:300px;font-size:14px;font-style:normal;font-weight:400;line-height:20px;}"]);let P=/*#__PURE__*/s.div.withConfig({displayName:"Content",componentId:"sc-858d1103-1"})(["display:flex;flex-direction:column;justify-content:space-between;"]),S=/*#__PURE__*/s.div.withConfig({displayName:"ErrorMessage",componentId:"sc-858d1103-2"})(["line-height:20px;height:20px;font-size:13px;color:var(--privy-color-error);text-align:left;margin-top:0.5rem;"]),N=/*#__PURE__*/s(m).withConfig({displayName:"NoAnimationPrimaryButton",componentId:"sc-858d1103-3"})(["",""],(o=>o.hideAnimations&&/*#__PURE__*/c(["&&{transition:none;}"])));export{A as Header,k as PasswordRecoveryScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import{useState as r,useEffect as i,useCallback as n}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import{ModalHeader as m}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as a}from"../../components/ScreenHeader.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as l}from"../../constants.mjs";import{RunEffectOnce as p}from"../../effect.mjs";import{usePrivyInternal as h}from"../../hooks/internal-context.mjs";import{usePrivyModal as u}from"../../hooks/modal-context.mjs";import{usePrivyContext as d}from"../../hooks/privy-context.mjs";import{AppleICloud as j}from"../../svg/apple-icloud.mjs";import{GoogleDrive as f}from"../../svg/google-drive.mjs";import{ModalScreen as y}from"../index.mjs";import{RecoveryContainer as v}from"./styles.mjs";import{stripUrlOAuthParamsAndRemoveStateCode as g}from"../../auth-flows/oauth/stripUrlOAuthParamsAndRemoveStateCode.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../../storage.mjs";let w={"google-drive":{name:"Google Drive",component:f},icloud:{name:"iCloud",component:j}};const b=()=>{let{logout:j}=d(),{navigate:f,setModalData:b,data:A}=u(),{recoveryOAuthFlow:C,closePrivyModal:k,createAnalyticsEvent:x}=h(),[S,E]=r(!1),{provider:T,action:M,isInAccountCreateFlow:O}=A?.recoveryOAuthStatus,[R,$]=r(void 0),[D,_]=r("create-wallet"===M);if("user-passcode"===T)throw Error("RecoveryOAuthScreen should never be called with a wallet that specifies recoveryMethod: `user-passcode`");let I=w[T].name,F=w[T].component,P=A?.recoverWallet?.onCompleteNavigateTo,B=new p((async(o="create-wallet")=>(_(!0),new Promise(((e,t)=>{setTimeout((async()=>{try{let t=window.open();await C(T,o,t),E(!0),e()}catch(e){$({message:`${"recover"===o?"Recovery":"Back up"} with ${I} unsuccessful`,detail:"recover"===M?`Please verify that you are selecting the ${I} account associated with your backup.`:"",retryable:!0}),t()}}),0)})))));i((()=>{"recover"!==M&&B.execute(O?"create-wallet":"set-recovery")}),[]),i((()=>{if(!S)return;let o=setTimeout((()=>{O?(b({createWallet:{onSuccess:()=>{},onFailure:o=>{x({eventName:"embedded_wallet_creation_failure_logout",payload:{error:o,screen:"RecoveryOAuthScreen"}}),j()},callAuthOnSuccessOnClose:!0}}),f(y.EMBEDDED_WALLET_CREATED_SCREEN)):k({shouldCallAuthOnSuccess:!1})}),l);return()=>clearTimeout(o)}),[S]);let L=n((async()=>{await B.execute("recover"),P?f(P):E(!0)}),[]),z="google-drive"===T?"Google Drive":"Apple iCloud",H=S&&`Successfully ${"recover"===M?"recovered":"backed up"} with ${z}.`||R&&R.message||`${"recover"===M?"Recovering":"Backing up"} with ${z}...`,N=R?R.detail:"";/*#__PURE__*/return o(e,{children:[/*#__PURE__*/t(m,{}),D?/*#__PURE__*/t(e,{children:/*#__PURE__*/o(v,{children:[/*#__PURE__*/t(a,{title:H,icon:/*#__PURE__*/t(F,{style:{width:"38px",height:"38px"}}),description:N}),R&&R?.retryable?/*#__PURE__*/t(c,{onClick:()=>{g(),$(void 0),"create-wallet"===M?B.execute("create-wallet"):L()},disabled:!S&&!R?.retryable,children:"Try again"}):null]})}):/*#__PURE__*/o(v,{children:[/*#__PURE__*/t(a,{title:"Confirm it's really you",icon:/*#__PURE__*/t(F,{style:{height:42,width:48}}),description:`To confirm your identity, please log in to ${z} where your account is backed up.`}),/*#__PURE__*/o(c,{onClick:L,children:["Confirm with ",z]})]}),/*#__PURE__*/t(s,{})]})};export{b as RecoveryOAuthScreen};
1
+ import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import{useState as r,useEffect as i,useCallback as n}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import{ModalHeader as m}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as a}from"../../components/ScreenHeader.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as l}from"../../constants.mjs";import{RunEffectOnce as p}from"../../effect.mjs";import{usePrivyInternal as h}from"../../hooks/internal-context.mjs";import{usePrivyModal as u}from"../../hooks/modal-context.mjs";import{usePrivyContext as d}from"../../hooks/privy-context.mjs";import{AppleICloud as j}from"../../svg/apple-icloud.mjs";import{GoogleDrive as f}from"../../svg/google-drive.mjs";import{ModalScreen as y}from"../index.mjs";import{RecoveryContainer as v}from"./styles.mjs";import{stripUrlOAuthParamsAndRemoveStateCode as g}from"../../auth-flows/oauth/stripUrlOAuthParamsAndRemoveStateCode.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../../storage.mjs";let w={"google-drive":{name:"Google Drive",component:f},icloud:{name:"iCloud",component:j}};const b=()=>{let{logout:j}=d(),{navigate:f,setModalData:b,data:A}=u(),{recoveryOAuthFlow:C,closePrivyModal:k,createAnalyticsEvent:x}=h(),[S,E]=r(!1),{provider:T,action:M,isInAccountCreateFlow:O}=A?.recoveryOAuthStatus,[R,$]=r(void 0),[D,_]=r("create-wallet"===M);if("user-passcode"===T)throw Error("RecoveryOAuthScreen should never be called with a wallet that specifies recoveryMethod: `user-passcode`");let I=w[T].name,F=w[T].component,P=A?.recoverWallet?.onCompleteNavigateTo,B=new p((async(o="create-wallet")=>(_(!0),new Promise(((e,t)=>{setTimeout((async()=>{try{let t=window.open();await C(T,o,t),E(!0),e()}catch(e){$({message:`${"recover"===o?"Recovery":"Back up"} with ${I} unsuccessful`,detail:"recover"===M?`Please verify that you are selecting the ${I} account associated with your backup.`:"",retryable:!0}),t()}}),0)})))));i((()=>{"recover"!==M&&B.execute(O?"create-wallet":"set-recovery")}),[]),i((()=>{if(!S)return;let o=setTimeout((()=>{O?(b({createWallet:{onSuccess:()=>{},onFailure:o=>{x({eventName:"embedded_wallet_creation_failure_logout",payload:{error:o,screen:"RecoveryOAuthScreen"}}),j()},callAuthOnSuccessOnClose:!0}}),f(y.EMBEDDED_WALLET_CREATED_SCREEN)):k({shouldCallAuthOnSuccess:!1})}),l);return()=>clearTimeout(o)}),[S]);let L=n((async()=>{await B.execute("recover"),P?f(P):E(!0)}),[]),z="google-drive"===T?"Google Drive":"Apple iCloud",H=S&&`Successfully ${"recover"===M?"recovered":"backed up"} with ${z}.`||R&&R.message||`${"recover"===M?"Recovering":"Backing up"} with ${z}...`,N=R?R.detail:"";/*#__PURE__*/return o(e,{children:[/*#__PURE__*/t(m,{}),D?/*#__PURE__*/t(e,{children:/*#__PURE__*/o(v,{children:[/*#__PURE__*/t(a,{title:H,icon:/*#__PURE__*/t(F,{style:{width:"38px",height:"38px"}}),description:N}),R&&R?.retryable?/*#__PURE__*/t(c,{onClick:()=>{g(),$(void 0),"create-wallet"===M?B.execute("create-wallet"):L()},disabled:!S&&!R?.retryable,children:"Try again"}):null]})}):/*#__PURE__*/o(v,{children:[/*#__PURE__*/t(a,{title:"Confirm it's really you",icon:/*#__PURE__*/t(F,{style:{height:42,width:48}}),description:`To confirm your identity, please log in to ${z} where your account is backed up.`}),/*#__PURE__*/o(c,{onClick:L,children:["Confirm with ",z]})]}),/*#__PURE__*/t(s,{})]})};export{b as RecoveryOAuthScreen};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as e,Fragment as r}from"react/jsx-runtime";import{ModalScreen as t}from"../index.mjs";import i from"@heroicons/react/24/outline/LockClosedIcon";import n from"@heroicons/react/24/outline/PencilSquareIcon";import s from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import{useState as c}from"react";import{styled as m}from"styled-components";import{getPrivyPrimaryWallet as a}from"../../client/user.mjs";import{PrimaryButton as l}from"../../components/Button.mjs";import{BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as h}from"../../components/ScreenHeader.mjs";import{useAppConfig as u}from"../../configuration/context.mjs";import{usePrivyInternal as j}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{embeddedWalletSetPasswordScreen as g}from"../../lib/embeddedWalletRecovery.mjs";import{AppleICloud as v}from"../../svg/apple-icloud.mjs";import{GoogleDrive as w}from"../../svg/google-drive.mjs";import{LoginMethodButton as C}from"../LandingScreen/styles.mjs";import{RecoveryContainer as k,RecoveryExplainerContainer as S}from"./styles.mjs";import"viem/utils";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../../errors.mjs";import"ofetch";import"../../paths.mjs";import"../../lib/pkce.mjs";import"jose";import"../../crypto.mjs";import"../../storage.mjs";let b=/*#__PURE__*/m.div.withConfig({displayName:"IconContainer",componentId:"sc-6716a2fa-0"})(["width:24px;height:24px;display:flex;justify-content:center;align-items:center;"]),A={"google-drive":"Google Drive",icloud:"iCloud","user-passcode":"password",privy:"Privy"},x=({onClose:t})=>/*#__PURE__*/o(S,{children:[/*#__PURE__*/e(h,{title:"Why do I need to secure my account?",icon:/*#__PURE__*/e(s,{width:48}),description:/*#__PURE__*/o(r,{children:[/*#__PURE__*/e("p",{children:"Your app uses cryptography to secure your account. App secrets are split and encrypted so only you can access them."}),/*#__PURE__*/e("p",{children:"To use this app on new devices, secure account secrets using a password, your Google or your Apple account. It’s important you don’t lose access to the method you choose."})]})}),/*#__PURE__*/e(l,{onClick:t,children:"Select backup method"})]});const I=()=>{let[s,m]=c(!1),{navigate:l,lastScreen:S,navigateBack:I,setModalData:M,data:E,onUserCloseViaDialogOrKeybindRef:O}=y(),{user:R}=f(),{embeddedWallets:D}=u(),{closePrivyModal:F}=j(),P=a(R),W=null===P,{isInAccountCreateFlow:L,isResettingPassword:B}=E.recoverySelection,T=P&&"privy"!==P.recoveryMethod,H=T?/*#__PURE__*/o("span",{children:["Your account is currently secured using"," ",/*#__PURE__*/e("strong",{children:A[P?.recoveryMethod||"user-passcode"]}),"."]}):"Select a method for logging in on new devices and recovering your account.";function U(o){M({recoveryOAuthStatus:{provider:o,action:W?"create-wallet":"set-recovery",isInAccountCreateFlow:L}}),l(t.EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN)}function _(){E?.setWalletPassword?.onFailure(Error("User exited set recovery flow")),F({shouldCallAuthOnSuccess:E?.setWalletPassword?.callAuthOnSuccessOnClose??!1})}return O.current=_,/*#__PURE__*/o(r,{children:[/*#__PURE__*/e(d,{onClose:_,backFn:s?()=>m(!1):S?I:void 0,infoFn:S||s?void 0:()=>m(!0)},"header"),s?/*#__PURE__*/e(x,{onClose:()=>m(!1)}):/*#__PURE__*/o(r,{children:[/*#__PURE__*/e(h,{title:T?"Update backup method":"Secure your account",icon:/*#__PURE__*/e(i,{width:48}),description:H}),/*#__PURE__*/e(k,{children:D.userOwnedRecoveryOptions.filter((o=>!["icloud","google-drive"].includes(P?.recoveryMethod||"")||o!==P?.recoveryMethod)).sort().map((r=>{switch(r){case"google-drive":/*#__PURE__*/return o(C,{onClick:()=>U("google-drive"),children:[/*#__PURE__*/e(b,{children:/*#__PURE__*/e(w,{style:{width:18}})}),"Back up to Google Drive"]},r);case"icloud":/*#__PURE__*/return o(C,{onClick:()=>U("icloud"),children:[/*#__PURE__*/e(b,{children:/*#__PURE__*/e(v,{style:{width:24}})}),"Back up to Apple iCloud"]},r);case"user-passcode":/*#__PURE__*/return o(C,{onClick:()=>{l(g({isCreatingWallet:W,skipSplashScreen:!0}))},children:[/*#__PURE__*/e(b,{children:/*#__PURE__*/e(n,{style:{width:18}})}),B?"Reset your":"Set a"," password"]},r);default:return null}}))})]}),/*#__PURE__*/e(p,{})]})};export{I as RecoverySelectionScreen};
1
+ import{jsxs as o,jsx as e,Fragment as r}from"react/jsx-runtime";import{ModalScreen as t}from"../index.mjs";import i from"@heroicons/react/24/outline/LockClosedIcon";import n from"@heroicons/react/24/outline/PencilSquareIcon";import s from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import{useState as c}from"react";import{styled as m}from"styled-components";import{getPrivyPrimaryWallet as a}from"../../client/user.mjs";import{PrimaryButton as l}from"../../components/Button.mjs";import{BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as h}from"../../components/ScreenHeader.mjs";import{useAppConfig as u}from"../../configuration/context.mjs";import{usePrivyInternal as j}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{embeddedWalletSetPasswordScreen as g}from"../../lib/embeddedWalletRecovery.mjs";import{AppleICloud as v}from"../../svg/apple-icloud.mjs";import{GoogleDrive as w}from"../../svg/google-drive.mjs";import{LoginMethodButton as C}from"../LandingScreen/styles.mjs";import{RecoveryContainer as k,RecoveryExplainerContainer as S}from"./styles.mjs";import"viem/utils";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../../errors.mjs";import"ofetch";import"../../paths.mjs";import"../../lib/pkce.mjs";import"jose";import"../../crypto.mjs";import"../../storage.mjs";let b=/*#__PURE__*/m.div.withConfig({displayName:"IconContainer",componentId:"sc-6716a2fa-0"})(["width:24px;height:24px;display:flex;justify-content:center;align-items:center;"]),A={"google-drive":"Google Drive",icloud:"iCloud","user-passcode":"password",privy:"Privy"},x=({onClose:t})=>/*#__PURE__*/o(S,{children:[/*#__PURE__*/e(h,{title:"Why do I need to secure my account?",icon:/*#__PURE__*/e(s,{width:48}),description:/*#__PURE__*/o(r,{children:[/*#__PURE__*/e("p",{children:"Your app uses cryptography to secure your account. App secrets are split and encrypted so only you can access them."}),/*#__PURE__*/e("p",{children:"To use this app on new devices, secure account secrets using a password, your Google or your Apple account. It’s important you don’t lose access to the method you choose."})]})}),/*#__PURE__*/e(l,{onClick:t,children:"Select backup method"})]});const I=()=>{let[s,m]=c(!1),{navigate:l,lastScreen:S,navigateBack:I,setModalData:M,data:E,onUserCloseViaDialogOrKeybindRef:O}=y(),{user:R}=f(),{embeddedWallets:D}=u(),{closePrivyModal:F}=j(),P=a(R),W=null===P,{isInAccountCreateFlow:L,isResettingPassword:B}=E.recoverySelection,T=P&&"privy"!==P.recoveryMethod,H=T?/*#__PURE__*/o("span",{children:["Your account is currently secured using"," ",/*#__PURE__*/e("strong",{children:A[P?.recoveryMethod||"user-passcode"]}),"."]}):"Select a method for logging in on new devices and recovering your account.";function U(o){M({recoveryOAuthStatus:{provider:o,action:W?"create-wallet":"set-recovery",isInAccountCreateFlow:L}}),l(t.EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN)}function _(){E?.setWalletPassword?.onFailure(Error("User exited set recovery flow")),F({shouldCallAuthOnSuccess:E?.setWalletPassword?.callAuthOnSuccessOnClose??!1})}return O.current=_,/*#__PURE__*/o(r,{children:[/*#__PURE__*/e(d,{onClose:_,backFn:s?()=>m(!1):S?I:void 0,infoFn:S||s?void 0:()=>m(!0)},"header"),s?/*#__PURE__*/e(x,{onClose:()=>m(!1)}):/*#__PURE__*/o(r,{children:[/*#__PURE__*/e(h,{title:T?"Update backup method":"Secure your account",icon:/*#__PURE__*/e(i,{width:48}),description:H}),/*#__PURE__*/e(k,{children:D.userOwnedRecoveryOptions.filter((o=>!["icloud","google-drive"].includes(P?.recoveryMethod||"")||o!==P?.recoveryMethod)).sort().map((r=>{switch(r){case"google-drive":/*#__PURE__*/return o(C,{onClick:()=>U("google-drive"),children:[/*#__PURE__*/e(b,{children:/*#__PURE__*/e(w,{style:{width:18}})}),"Back up to Google Drive"]},r);case"icloud":/*#__PURE__*/return o(C,{onClick:()=>U("icloud"),children:[/*#__PURE__*/e(b,{children:/*#__PURE__*/e(v,{style:{width:24}})}),"Back up to Apple iCloud"]},r);case"user-passcode":/*#__PURE__*/return o(C,{onClick:()=>{l(g({isCreatingWallet:W,skipSplashScreen:!0}))},children:[/*#__PURE__*/e(b,{children:/*#__PURE__*/e(n,{style:{width:18}})}),B?"Reset your":"Set a"," password"]},r);default:return null}}))})]}),/*#__PURE__*/e(p,{})]})};export{I as RecoverySelectionScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as r,jsx as e}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/ExclamationTriangleIcon";import n from"@heroicons/react/24/outline/LockClosedIcon";import{useState as i}from"react";import{getPrivyWalletWithAddress as s}from"../../client/user.mjs";import{PrimaryButtonWithoutGray as c}from"../../components/Button.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{WithCircleBorder as l}from"../../components/ui/icons/WithCircleBorder.mjs";import{Subtitle as p}from"../../components/ui/typography/Subtitle.mjs";import{Title as h}from"../../components/ui/typography/Title.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as d}from"../../constants.mjs";import{usePrivyInternal as j}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{usePrivyContext as u}from"../../hooks/privy-context.mjs";import{Grow as f}from"../LandingScreen/styles.mjs";import"viem/utils";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";const g=()=>{let{user:g,getAccessToken:v}=u(),{walletProxy:w,refreshUser:b,closePrivyModal:k}=j(),x=y(),{entropyId:C,entropyIdVerifier:I}=x.data?.recoverWallet,[S,T]=i(!1),[M,A]=i(null),[P,U]=i(null);function W(){if(!S){if(P)return x.data?.setWalletPassword?.onFailure(P),void k();if(!M)return x.data?.setWalletPassword?.onFailure(Error("User exited set recovery flow")),void k()}}x.onUserCloseViaDialogOrKeybindRef.current=W;let E=!(!S&&!M);/*#__PURE__*/return o(r,P?{children:[/*#__PURE__*/e(a,{onClose:W},"header"),/*#__PURE__*/e(l,{$color:"var(--privy-color-error)",style:{alignSelf:"center"},children:/*#__PURE__*/e(t,{height:38,width:38,stroke:"var(--privy-color-error)"})}),/*#__PURE__*/e(h,{style:{marginTop:"0.5rem"},children:"Something went wrong"}),/*#__PURE__*/e(f,{style:{minHeight:"2rem"}}),/*#__PURE__*/e(c,{onClick:()=>U(null),children:"Try again"}),/*#__PURE__*/e(m,{})]}:{children:[/*#__PURE__*/e(a,{onClose:W},"header"),/*#__PURE__*/e(n,{style:{width:"3rem",height:"3rem",alignSelf:"center"}}),/*#__PURE__*/e(h,{style:{marginTop:"0.5rem"},children:"Automatically secure your account"}),/*#__PURE__*/e(p,{style:{marginTop:"1rem"},children:"When you log into a new device, you’ll only need to authenticate to access your account. Never get logged out if you forget your password."}),/*#__PURE__*/e(f,{style:{minHeight:"2rem"}}),/*#__PURE__*/e(c,{loading:S,disabled:E,onClick:()=>async function(){T(!0);try{let o=await v(),r=s(g,C);if(!o||!w||!r)return;if(!(await w.setRecovery({accessToken:o,entropyId:C,entropyIdVerifier:I,existingRecoveryMethod:r.recoveryMethod,recoveryMethod:"privy"})).entropyId)throw Error("Unable to set recovery on wallet");let e=await b();if(!e)throw Error("Unable to set recovery on wallet");let t=s(e,r.address);if(!t)throw Error("Unabled to set recovery on wallet");A(!!e),setTimeout((()=>{x.data?.setWalletPassword?.onSuccess(t),k()}),d)}catch(o){U(o)}finally{T(!1)}}(),children:M?"Success":"Confirm"}),/*#__PURE__*/e(m,{})]})};export{g as SetAutomaticRecoveryScreen};
1
+ import{jsxs as o,Fragment as r,jsx as e}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/ExclamationTriangleIcon";import n from"@heroicons/react/24/outline/LockClosedIcon";import{useState as i}from"react";import{getPrivyWalletWithAddress as s}from"../../client/user.mjs";import{PrimaryButtonWithoutGray as c}from"../../components/Button.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{WithCircleBorder as l}from"../../components/ui/icons/WithCircleBorder.mjs";import{Subtitle as p}from"../../components/ui/typography/Subtitle.mjs";import{Title as h}from"../../components/ui/typography/Title.mjs";import{DEFAULT_SUCCESS_SCREEN_DURATION_MS as d}from"../../constants.mjs";import{usePrivyInternal as j}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{usePrivyContext as u}from"../../hooks/privy-context.mjs";import{Grow as f}from"../LandingScreen/styles.mjs";import"viem/utils";import"styled-components";import"../../components/Loader.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";const g=()=>{let{user:g,getAccessToken:v}=u(),{walletProxy:w,refreshUser:b,closePrivyModal:k}=j(),x=y(),{entropyId:C,entropyIdVerifier:I}=x.data?.recoverWallet,[S,T]=i(!1),[M,A]=i(null),[P,U]=i(null);function W(){if(!S){if(P)return x.data?.setWalletPassword?.onFailure(P),void k();if(!M)return x.data?.setWalletPassword?.onFailure(Error("User exited set recovery flow")),void k()}}x.onUserCloseViaDialogOrKeybindRef.current=W;let E=!(!S&&!M);/*#__PURE__*/return o(r,P?{children:[/*#__PURE__*/e(a,{onClose:W},"header"),/*#__PURE__*/e(l,{$color:"var(--privy-color-error)",style:{alignSelf:"center"},children:/*#__PURE__*/e(t,{height:38,width:38,stroke:"var(--privy-color-error)"})}),/*#__PURE__*/e(h,{style:{marginTop:"0.5rem"},children:"Something went wrong"}),/*#__PURE__*/e(f,{style:{minHeight:"2rem"}}),/*#__PURE__*/e(c,{onClick:()=>U(null),children:"Try again"}),/*#__PURE__*/e(m,{})]}:{children:[/*#__PURE__*/e(a,{onClose:W},"header"),/*#__PURE__*/e(n,{style:{width:"3rem",height:"3rem",alignSelf:"center"}}),/*#__PURE__*/e(h,{style:{marginTop:"0.5rem"},children:"Automatically secure your account"}),/*#__PURE__*/e(p,{style:{marginTop:"1rem"},children:"When you log into a new device, you’ll only need to authenticate to access your account. Never get logged out if you forget your password."}),/*#__PURE__*/e(f,{style:{minHeight:"2rem"}}),/*#__PURE__*/e(c,{loading:S,disabled:E,onClick:()=>async function(){T(!0);try{let o=await v(),r=s(g,C);if(!o||!w||!r)return;if(!(await w.setRecovery({accessToken:o,entropyId:C,entropyIdVerifier:I,existingRecoveryMethod:r.recoveryMethod,recoveryMethod:"privy"})).entropyId)throw Error("Unable to set recovery on wallet");let e=await b();if(!e)throw Error("Unable to set recovery on wallet");let t=s(e,r.address);if(!t)throw Error("Unabled to set recovery on wallet");A(!!e),setTimeout((()=>{x.data?.setWalletPassword?.onSuccess(t),k()}),d)}catch(o){U(o)}finally{T(!1)}}(),children:M?"Success":"Confirm"}),/*#__PURE__*/e(m,{})]})};export{g as SetAutomaticRecoveryScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/CheckCircleIcon";import{styled as r}from"styled-components";import{PrimaryButton as s}from"../../components/Button.mjs";import{CircleBackground as e}from"../../components/CircleBackground.mjs";import{RefactorSpacerBottom as m}from"../../components/Layouts.mjs";import{BlobbyFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as p}from"../../components/ScreenHeader.mjs";import{SolanaTransactionDetails as l}from"../../components/embedded-wallets/SolanaTransactionDetails.mjs";import j from"../../components/layout/StackedContainer.mjs";import{Grow as h}from"../LandingScreen/styles.mjs";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"viem";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const d=({instructions:r,fees:s,onClose:d,receiptHeader:f,receiptDescription:g,transactionInfo:y,solPrice:b,rpcEndpoint:k})=>/*#__PURE__*/o(t,{children:[/*#__PURE__*/n(a,{onClose:d}),/*#__PURE__*/n(j,{style:{marginBottom:"16px"},children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/n(e,{color:"var(--privy-color-success-light)"}),/*#__PURE__*/n(i,{height:38,width:38,strokeWidth:2,stroke:"var(--privy-color-success)"})]})}),/*#__PURE__*/n(p,{title:f??"Transaction complete!",description:g??"You're all set."}),/*#__PURE__*/n(l,{solPrice:b,instructions:r,fees:s,transactionInfo:y,rpcEndpoint:k}),/*#__PURE__*/n(h,{}),/*#__PURE__*/n(u,{loading:!1,onClick:d,children:"Close"}),/*#__PURE__*/n(m,{}),/*#__PURE__*/n(c,{})]});let u=/*#__PURE__*/r(s).withConfig({displayName:"SubmitButton",componentId:"sc-191715fc-0"})(["&&{margin-top:24px;}transition:color 350ms ease,background-color 350ms ease;"]);export{d as SolanaTransactionReceiptView};
1
+ import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/CheckCircleIcon";import{styled as r}from"styled-components";import{PrimaryButton as s}from"../../components/Button.mjs";import{CircleBackground as e}from"../../components/CircleBackground.mjs";import{RefactorSpacerBottom as m}from"../../components/Layouts.mjs";import{BlobbyFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{CenteredScreenHeader as p}from"../../components/ScreenHeader.mjs";import{SolanaTransactionDetails as l}from"../../components/embedded-wallets/SolanaTransactionDetails.mjs";import j from"../../components/layout/StackedContainer.mjs";import{Grow as h}from"../LandingScreen/styles.mjs";import"../../components/Loader.mjs";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/ui/layout/Row.mjs";import"../../components/ui/typography/LabelSm.mjs";import"../../components/ui/typography/Value.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"viem";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const d=({instructions:r,fees:s,onClose:d,receiptHeader:f,receiptDescription:g,transactionInfo:y,solPrice:b,rpcEndpoint:k})=>/*#__PURE__*/o(t,{children:[/*#__PURE__*/n(a,{onClose:d}),/*#__PURE__*/n(j,{style:{marginBottom:"16px"},children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/n(e,{color:"var(--privy-color-success-light)"}),/*#__PURE__*/n(i,{height:38,width:38,strokeWidth:2,stroke:"var(--privy-color-success)"})]})}),/*#__PURE__*/n(p,{title:f??"Transaction complete!",description:g??"You're all set."}),/*#__PURE__*/n(l,{solPrice:b,instructions:r,fees:s,transactionInfo:y,rpcEndpoint:k}),/*#__PURE__*/n(h,{}),/*#__PURE__*/n(u,{loading:!1,onClick:d,children:"Close"}),/*#__PURE__*/n(m,{}),/*#__PURE__*/n(c,{})]});let u=/*#__PURE__*/r(s).withConfig({displayName:"SubmitButton",componentId:"sc-191715fc-0"})(["&&{margin-top:24px;}transition:color 350ms ease,background-color 350ms ease;"]);export{d as SolanaTransactionReceiptView};