@privy-io/react-auth 2.0.0 → 2.0.2-beta-20250113205957

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 (159) 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/EmbeddedWalletIframe.js +1 -1
  13. package/dist/cjs/embedded-wallets/solana/provider.js +1 -1
  14. package/dist/cjs/hooks/internal-context.js +1 -1
  15. package/dist/cjs/hooks/privy-provider.js +1 -1
  16. package/dist/cjs/hooks/solana/useSolanaWallets.js +1 -1
  17. package/dist/cjs/index.js +1 -1
  18. package/dist/cjs/privy-components/user-pill/UserMenu.js +1 -1
  19. package/dist/cjs/privy-provider-D7-K5Evv.js +3 -0
  20. package/dist/cjs/screens/AccountTransferScreen/EmbeddedWalletInfoView.js +1 -1
  21. package/dist/cjs/screens/AccountTransferScreen/LinkConflictScreen.js +1 -1
  22. package/dist/cjs/screens/AffirmativeConsentScreen.js +1 -1
  23. package/dist/cjs/screens/AwaitingPasswordlessCodeScreen.js +1 -1
  24. package/dist/cjs/screens/CaptchaScreen.js +1 -1
  25. package/dist/cjs/screens/ConnectOnlyAuthenticatedScreen.js +1 -1
  26. package/dist/cjs/screens/ConnectOnlyLandingScreen.js +1 -1
  27. package/dist/cjs/screens/ConnectOnlyStatusScreen.js +1 -1
  28. package/dist/cjs/screens/ConnectionStatusScreen.js +1 -1
  29. package/dist/cjs/screens/CrossAppAuthScreen.js +1 -1
  30. package/dist/cjs/screens/DelegatedActionsConsentScreen.js +1 -1
  31. package/dist/cjs/screens/DelegatedActionsRevokeScreen.js +1 -1
  32. package/dist/cjs/screens/EmbeddedWalletCreatedScreen.js +1 -1
  33. package/dist/cjs/screens/EmbeddedWalletKeyExportScreen.js +1 -1
  34. package/dist/cjs/screens/EmbeddedWalletPasswordUpdateSplashScreen.js +1 -1
  35. package/dist/cjs/screens/FarcasterConnectStatusScreen.js +1 -1
  36. package/dist/cjs/screens/FarcasterSignerStatusScreen.js +1 -1
  37. package/dist/cjs/screens/Funding/AwaitingEvmToSolBridgingScreen.js +1 -1
  38. package/dist/cjs/screens/Funding/AwaitingExternalSolanaTransferScreen.js +1 -1
  39. package/dist/cjs/screens/Funding/AwaitingExternalTransferScreen.js +1 -1
  40. package/dist/cjs/screens/Funding/AwaitingSolToEvmBridgingScreen.js +1 -1
  41. package/dist/cjs/screens/Funding/BridgeNetworkSelectionView.js +1 -1
  42. package/dist/cjs/screens/Funding/CoinbaseOnrampStatusScreen.js +1 -1
  43. package/dist/cjs/screens/Funding/FundingEditAmountScreen.js +1 -1
  44. package/dist/cjs/screens/Funding/FundingMethodSelectionScreen.js +1 -1
  45. package/dist/cjs/screens/Funding/ManualTransferScreen.js +1 -1
  46. package/dist/cjs/screens/Funding/MoonpayStatusScreen.js +1 -1
  47. package/dist/cjs/screens/Funding/TransferFromWalletScreen.js +1 -1
  48. package/dist/cjs/screens/Funding/TransferOrBridgeLoadingScreen.js +1 -1
  49. package/dist/cjs/screens/Funding/styles.js +1 -1
  50. package/dist/cjs/screens/InAppBrowserLoginNotPossible.js +1 -1
  51. package/dist/cjs/screens/InstallPhantomScreen.js +1 -1
  52. package/dist/cjs/screens/LandingScreen/CustomLandingScreenView.js +1 -1
  53. package/dist/cjs/screens/LandingScreen/LandingScreenView.js +1 -1
  54. package/dist/cjs/screens/LinkPasskeyScreen.js +1 -1
  55. package/dist/cjs/screens/LinkWalletScreen.js +1 -1
  56. package/dist/cjs/screens/LoginFailedScreen.js +1 -1
  57. package/dist/cjs/screens/MfaScreens/EnrollLandingScreen.js +1 -1
  58. package/dist/cjs/screens/MfaScreens/EnrollPasskey.js +1 -1
  59. package/dist/cjs/screens/MfaScreens/EnrollTotp.js +1 -1
  60. package/dist/cjs/screens/MfaScreens/MfaEnrollmentFlowScreen.js +1 -1
  61. package/dist/cjs/screens/MfaScreens/MfaVerifyFlowScreen.js +1 -1
  62. package/dist/cjs/screens/MfaScreens/VerifyWithPasskey.js +1 -1
  63. package/dist/cjs/screens/OAuthStatusScreen.js +1 -1
  64. package/dist/cjs/screens/PasskeySelectSignupOrLogin.js +1 -1
  65. package/dist/cjs/screens/PasskeyStatusScreen.js +1 -1
  66. package/dist/cjs/screens/PhantomInterstitialScreen.js +1 -1
  67. package/dist/cjs/screens/Recovery/PasswordRecoveryScreen.js +1 -1
  68. package/dist/cjs/screens/Recovery/RecoveryOAuthStatusScreen.js +1 -1
  69. package/dist/cjs/screens/Recovery/RecoverySelectionScreen.js +1 -1
  70. package/dist/cjs/screens/Recovery/SetAutomaticRecoveryScreen.js +1 -1
  71. package/dist/cjs/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.js +1 -1
  72. package/dist/cjs/screens/SendTransactionScreen/SendTransactionScreenView.js +1 -1
  73. package/dist/cjs/screens/SendTransactionScreen/TransactionErrorView.js +1 -1
  74. package/dist/cjs/screens/SendTransactionScreen/TransactionReceiptView.js +1 -1
  75. package/dist/cjs/screens/SignRequestScreen.js +1 -1
  76. package/dist/cjs/screens/TelegramAuthScreen.js +1 -1
  77. package/dist/cjs/screens/UpdateEmailScreen.js +1 -1
  78. package/dist/cjs/screens/UserLimitReachedScreen.js +1 -1
  79. package/dist/esm/client.mjs +1 -1
  80. package/dist/esm/components/ModalFooter.mjs +2 -2
  81. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordForm.mjs +1 -1
  82. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordSaved.mjs +1 -1
  83. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/CreateWalletPassword.mjs +1 -1
  84. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/SaveWalletPassword.mjs +1 -1
  85. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/SetWalletPasswordComplete.mjs +1 -1
  86. package/dist/esm/config.mjs +1 -1
  87. package/dist/esm/connectors/embeddedProvider.mjs +1 -1
  88. package/dist/esm/connectors/index.mjs +1 -1
  89. package/dist/esm/constants.mjs +1 -1
  90. package/dist/esm/embedded-wallets/EmbeddedWalletIframe.mjs +1 -1
  91. package/dist/esm/embedded-wallets/solana/provider.mjs +1 -1
  92. package/dist/esm/hooks/internal-context.mjs +1 -1
  93. package/dist/esm/hooks/privy-provider.mjs +1 -1
  94. package/dist/esm/hooks/solana/useSolanaWallets.mjs +1 -1
  95. package/dist/esm/index.mjs +1 -1
  96. package/dist/esm/privy-components/user-pill/UserMenu.mjs +1 -1
  97. package/dist/esm/privy-provider-BJjKUtkR.mjs +3 -0
  98. package/dist/esm/screens/AccountTransferScreen/EmbeddedWalletInfoView.mjs +1 -1
  99. package/dist/esm/screens/AccountTransferScreen/LinkConflictScreen.mjs +1 -1
  100. package/dist/esm/screens/AffirmativeConsentScreen.mjs +1 -1
  101. package/dist/esm/screens/AwaitingPasswordlessCodeScreen.mjs +1 -1
  102. package/dist/esm/screens/CaptchaScreen.mjs +1 -1
  103. package/dist/esm/screens/ConnectOnlyAuthenticatedScreen.mjs +1 -1
  104. package/dist/esm/screens/ConnectOnlyLandingScreen.mjs +1 -1
  105. package/dist/esm/screens/ConnectOnlyStatusScreen.mjs +1 -1
  106. package/dist/esm/screens/ConnectionStatusScreen.mjs +1 -1
  107. package/dist/esm/screens/CrossAppAuthScreen.mjs +1 -1
  108. package/dist/esm/screens/DelegatedActionsConsentScreen.mjs +1 -1
  109. package/dist/esm/screens/DelegatedActionsRevokeScreen.mjs +1 -1
  110. package/dist/esm/screens/EmbeddedWalletCreatedScreen.mjs +1 -1
  111. package/dist/esm/screens/EmbeddedWalletKeyExportScreen.mjs +1 -1
  112. package/dist/esm/screens/EmbeddedWalletPasswordUpdateSplashScreen.mjs +1 -1
  113. package/dist/esm/screens/FarcasterConnectStatusScreen.mjs +1 -1
  114. package/dist/esm/screens/FarcasterSignerStatusScreen.mjs +1 -1
  115. package/dist/esm/screens/Funding/AwaitingEvmToSolBridgingScreen.mjs +1 -1
  116. package/dist/esm/screens/Funding/AwaitingExternalSolanaTransferScreen.mjs +1 -1
  117. package/dist/esm/screens/Funding/AwaitingExternalTransferScreen.mjs +1 -1
  118. package/dist/esm/screens/Funding/AwaitingSolToEvmBridgingScreen.mjs +1 -1
  119. package/dist/esm/screens/Funding/BridgeNetworkSelectionView.mjs +1 -1
  120. package/dist/esm/screens/Funding/CoinbaseOnrampStatusScreen.mjs +1 -1
  121. package/dist/esm/screens/Funding/FundingEditAmountScreen.mjs +1 -1
  122. package/dist/esm/screens/Funding/FundingMethodSelectionScreen.mjs +1 -1
  123. package/dist/esm/screens/Funding/ManualTransferScreen.mjs +1 -1
  124. package/dist/esm/screens/Funding/MoonpayStatusScreen.mjs +1 -1
  125. package/dist/esm/screens/Funding/TransferFromWalletScreen.mjs +1 -1
  126. package/dist/esm/screens/Funding/TransferOrBridgeLoadingScreen.mjs +1 -1
  127. package/dist/esm/screens/Funding/styles.mjs +1 -1
  128. package/dist/esm/screens/InAppBrowserLoginNotPossible.mjs +1 -1
  129. package/dist/esm/screens/InstallPhantomScreen.mjs +1 -1
  130. package/dist/esm/screens/LandingScreen/CustomLandingScreenView.mjs +1 -1
  131. package/dist/esm/screens/LandingScreen/LandingScreenView.mjs +1 -1
  132. package/dist/esm/screens/LinkPasskeyScreen.mjs +1 -1
  133. package/dist/esm/screens/LinkWalletScreen.mjs +1 -1
  134. package/dist/esm/screens/LoginFailedScreen.mjs +1 -1
  135. package/dist/esm/screens/MfaScreens/EnrollLandingScreen.mjs +1 -1
  136. package/dist/esm/screens/MfaScreens/EnrollPasskey.mjs +1 -1
  137. package/dist/esm/screens/MfaScreens/EnrollTotp.mjs +1 -1
  138. package/dist/esm/screens/MfaScreens/MfaEnrollmentFlowScreen.mjs +1 -1
  139. package/dist/esm/screens/MfaScreens/MfaVerifyFlowScreen.mjs +1 -1
  140. package/dist/esm/screens/MfaScreens/VerifyWithPasskey.mjs +1 -1
  141. package/dist/esm/screens/OAuthStatusScreen.mjs +1 -1
  142. package/dist/esm/screens/PasskeySelectSignupOrLogin.mjs +1 -1
  143. package/dist/esm/screens/PasskeyStatusScreen.mjs +1 -1
  144. package/dist/esm/screens/PhantomInterstitialScreen.mjs +1 -1
  145. package/dist/esm/screens/Recovery/PasswordRecoveryScreen.mjs +1 -1
  146. package/dist/esm/screens/Recovery/RecoveryOAuthStatusScreen.mjs +1 -1
  147. package/dist/esm/screens/Recovery/RecoverySelectionScreen.mjs +1 -1
  148. package/dist/esm/screens/Recovery/SetAutomaticRecoveryScreen.mjs +1 -1
  149. package/dist/esm/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.mjs +1 -1
  150. package/dist/esm/screens/SendTransactionScreen/SendTransactionScreenView.mjs +1 -1
  151. package/dist/esm/screens/SendTransactionScreen/TransactionErrorView.mjs +1 -1
  152. package/dist/esm/screens/SendTransactionScreen/TransactionReceiptView.mjs +1 -1
  153. package/dist/esm/screens/SignRequestScreen.mjs +1 -1
  154. package/dist/esm/screens/TelegramAuthScreen.mjs +1 -1
  155. package/dist/esm/screens/UpdateEmailScreen.mjs +1 -1
  156. package/dist/esm/screens/UserLimitReachedScreen.mjs +1 -1
  157. package/package.json +3 -3
  158. package/dist/cjs/privy-provider-DXnhMoDn.js +0 -3
  159. package/dist/esm/privy-provider-DuspKKia.mjs +0 -3
@@ -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 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"../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"./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 +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};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as n,jsx as r}from"react/jsx-runtime";import{ChevronDownIcon as e}from"@heroicons/react/24/outline";import{styled as i}from"styled-components";import{PrimaryButton as t}from"../../components/Button.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import{ModalHeader as c}from"../../components/ModalHeader.mjs";import{Rows as a,Row as m}from"../../components/ui/layout/Row.mjs";import{ErrorMessage as l}from"../../components/ui/typography/ErrorMessage.mjs";import{LabelSm as d,LabelSmPrimary as p}from"../../components/ui/typography/LabelSm.mjs";import{Subtitle as h}from"../../components/ui/typography/Subtitle.mjs";import{Title as u}from"../../components/ui/typography/Title.mjs";import{Value as g}from"../../components/ui/typography/Value.mjs";import{Address as j}from"../../components/ui/wallet/Address.mjs";import{WalletInfoCard as f}from"../../components/ui/wallet/WalletInfoCard.mjs";import{Grow as y}from"../LandingScreen/styles.mjs";import{TransactionDetail as b}from"./TransactionDetail.mjs";import{useTransactionDetails as k}from"./useTransactionDetails.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"../../components/ui/animation/LoadingSkeleton.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";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"../../components/ui/chips/Chip.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/shared.mjs";const x=({transactionIndex:o,maxIndex:n})=>"number"!=typeof o||0===n?"":` (${o+1} / ${n+1})`,C=({img:i,submitError:f,prepareError:C,onClose:I,action:L,title:v,subtitle:A,total:M,txValue:E,to:$,tokenAddress:D,network:N,missingFunds:F,fee:P,from:z,cta:B,disabled:W,chain:Y,isSubmitting:q,isPreparing:H,isTokenPriceLoading:R,isTokenContractInfoLoading:V,isSponsored:X,symbol:Q,balance:U,onClick:G,transactionDetails:J,transactionIndex:K,maxIndex:O,onBack:Z,chainName:_})=>{let{showTransactionDetails:oo,setShowTransactionDetails:no,hasMoreDetails:ro,isErc20Ish:eo}=k(J);/*#__PURE__*/return o(n,{children:[/*#__PURE__*/r(c,{onClose:I,backFn:Z}),i&&/*#__PURE__*/r(S,{children:i}),/*#__PURE__*/o(u,{style:{marginTop:i?"1.5rem":0},children:[v,/*#__PURE__*/r(x,{maxIndex:O,transactionIndex:K})]}),/*#__PURE__*/r(h,{children:A}),/*#__PURE__*/o(a,{style:{marginTop:"2rem"},children:[eo&&/*#__PURE__*/o(n,{children:["approve"===L&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Action"}),/*#__PURE__*/r(g,{children:J?.action})]}),/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Amount"}),/*#__PURE__*/o(g,{$isLoading:eo&&V,children:[J?.formattedAmount," ",Q]})]})]}),M&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Total"}),/*#__PURE__*/r(g,{$isLoading:H||R,children:M})]}),J&&"spender"in J&&J?.spender?/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Spender"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:J.spender,url:Y?.blockExplorers?.default?.url,showCopyIcon:!1})})]}):null,$&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"To"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:$,url:Y?.blockExplorers?.default?.url,showCopyIcon:!1})})]}),D&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Token address"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:D,url:Y?.blockExplorers?.default?.url,showCopyIcon:!1})})]}),/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Network"}),/*#__PURE__*/r(g,{children:N})]}),/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Estimated fee"}),/*#__PURE__*/r(g,{$isLoading:H||R||void 0===X,children:X?"Sponsored":P})]}),ro&&/*#__PURE__*/o(n,{children:[/*#__PURE__*/r(m,{className:"cursor-pointer",onClick:()=>no(!oo),children:/*#__PURE__*/o(p,{className:"flex items-center gap-x-1",children:["Details"," ",/*#__PURE__*/r(e,{style:{width:"0.75rem",marginLeft:"0.25rem",transform:oo?"rotate(180deg)":void 0}})]})}),oo&&J&&/*#__PURE__*/r(b,{action:L,chain:Y,transactionDetails:J,isTokenContractInfoLoading:V,symbol:Q})]})]}),/*#__PURE__*/r(y,{}),f?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:f.message}):C?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:C.shortMessage??T}):null,/*#__PURE__*/r(w,{$useSmallMargins:!(!C&&!f),title:Number(E)>0?void 0:!1!==X?"Your wallet":void 0,address:z,balance:U,isLoading:H||R,errMsg:H||C||f||!F?void 0:`Add funds on ${Y?.name??_} to complete transaction.`}),/*#__PURE__*/r(t,{style:{marginTop:"1rem"},loading:q,disabled:W||H,onClick:G,children:B}),/*#__PURE__*/r(s,{})]})},I=({img:e,title:i,subtitle:p,cta:f,network:b,blockExplorerUrl:k,transactionIndex:C,maxIndex:I,isMissingFunds:L,submitError:v,parseError:A,total:M,amount:E,fee:$,balance:D,from:N,to:F,tokenAddress:P,programAddress:z,transactingWalletAddress:B,disabled:W,isSubmitting:Y,isPreparing:q,isTokenPriceLoading:H,onClick:R,onClose:V,onBack:X})=>{let Q=q||H;/*#__PURE__*/return o(n,{children:[/*#__PURE__*/r(c,{onClose:V,backFn:X}),e&&/*#__PURE__*/r(S,{children:e}),/*#__PURE__*/o(u,{style:{marginTop:e?"1.5rem":0},children:[i,/*#__PURE__*/r(x,{maxIndex:I,transactionIndex:C})]}),/*#__PURE__*/r(h,{children:p}),/*#__PURE__*/o(a,{style:{marginTop:"2rem"},children:[(M||Q)&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Total"}),/*#__PURE__*/r(g,{$isLoading:Q,children:M})]}),N&&N!==B&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"From"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:N,url:k,showCopyIcon:!1})})]}),F&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"To"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:F,url:k,showCopyIcon:!1})})]}),P&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Token address"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:P,url:k,showCopyIcon:!1})})]}),z&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Program address"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:z,url:k,showCopyIcon:!1})})]}),b&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Network"}),/*#__PURE__*/r(g,{children:b})]}),(E||Q)&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Amount"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(g,{$isLoading:Q,children:E})})]}),($||Q)&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Estimated fee"}),/*#__PURE__*/r(g,{$isLoading:Q,children:$})]})]}),/*#__PURE__*/r(y,{}),v?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:v.message}):A?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:T}):null,/*#__PURE__*/r(w,{$useSmallMargins:!(!A&&!v),title:"Your wallet",address:B,balance:D,isLoading:q||H,errMsg:q||A||v||!L?void 0:"Add funds on Solana to complete transaction."}),/*#__PURE__*/r(t,{style:{marginTop:"1rem"},loading:Y,disabled:W||q,onClick:R,children:f}),/*#__PURE__*/r(s,{})]})};let w=/*#__PURE__*/i(f).withConfig({displayName:"StyledWalletInfoCard",componentId:"sc-c6650d62-0"})(["",""],(o=>o.$useSmallMargins?"margin-top: 0.5rem;":"margin-top: 2rem;")),T="There was an error preparing your transaction. Your transaction request will likely fail.",S=/*#__PURE__*/i.div.withConfig({displayName:"ImageContainer",componentId:"sc-c6650d62-1"})(["display:flex;width:100%;justify-content:center;max-height:40px;> img{object-fit:contain;border-radius:var(--privy-border-radius-sm);}"]);export{I as SendSolanaTransactionScreenView,C as SendTransactionScreenView,x as TransactionIndex};
1
+ import{jsxs as o,Fragment as n,jsx as r}from"react/jsx-runtime";import{ChevronDownIcon as e}from"@heroicons/react/24/outline";import{styled as i}from"styled-components";import{PrimaryButton as t}from"../../components/Button.mjs";import{BlobbyFooter as s}from"../../components/ModalFooter.mjs";import{ModalHeader as c}from"../../components/ModalHeader.mjs";import{Rows as a,Row as m}from"../../components/ui/layout/Row.mjs";import{ErrorMessage as l}from"../../components/ui/typography/ErrorMessage.mjs";import{LabelSm as d,LabelSmPrimary as p}from"../../components/ui/typography/LabelSm.mjs";import{Subtitle as h}from"../../components/ui/typography/Subtitle.mjs";import{Title as u}from"../../components/ui/typography/Title.mjs";import{Value as g}from"../../components/ui/typography/Value.mjs";import{Address as j}from"../../components/ui/wallet/Address.mjs";import{WalletInfoCard as f}from"../../components/ui/wallet/WalletInfoCard.mjs";import{Grow as y}from"../LandingScreen/styles.mjs";import{TransactionDetail as b}from"./TransactionDetail.mjs";import{useTransactionDetails as k}from"./useTransactionDetails.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"../../components/ui/animation/LoadingSkeleton.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";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"../../components/ui/chips/Chip.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/shared.mjs";const x=({transactionIndex:o,maxIndex:n})=>"number"!=typeof o||0===n?"":` (${o+1} / ${n+1})`,C=({img:i,submitError:f,prepareError:C,onClose:I,action:L,title:v,subtitle:A,total:M,txValue:E,to:$,tokenAddress:D,network:N,missingFunds:F,fee:P,from:z,cta:B,disabled:W,chain:Y,isSubmitting:q,isPreparing:H,isTokenPriceLoading:R,isTokenContractInfoLoading:V,isSponsored:X,symbol:Q,balance:U,onClick:G,transactionDetails:J,transactionIndex:K,maxIndex:O,onBack:Z,chainName:_})=>{let{showTransactionDetails:oo,setShowTransactionDetails:no,hasMoreDetails:ro,isErc20Ish:eo}=k(J);/*#__PURE__*/return o(n,{children:[/*#__PURE__*/r(c,{onClose:I,backFn:Z}),i&&/*#__PURE__*/r(S,{children:i}),/*#__PURE__*/o(u,{style:{marginTop:i?"1.5rem":0},children:[v,/*#__PURE__*/r(x,{maxIndex:O,transactionIndex:K})]}),/*#__PURE__*/r(h,{children:A}),/*#__PURE__*/o(a,{style:{marginTop:"2rem"},children:[eo&&/*#__PURE__*/o(n,{children:["approve"===L&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Action"}),/*#__PURE__*/r(g,{children:J?.action})]}),/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Amount"}),/*#__PURE__*/o(g,{$isLoading:eo&&V,children:[J?.formattedAmount," ",Q]})]})]}),M&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Total"}),/*#__PURE__*/r(g,{$isLoading:H||R,children:M})]}),J&&"spender"in J&&J?.spender?/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Spender"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:J.spender,url:Y?.blockExplorers?.default?.url,showCopyIcon:!1})})]}):null,$&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"To"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:$,url:Y?.blockExplorers?.default?.url,showCopyIcon:!1})})]}),D&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Token address"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:D,url:Y?.blockExplorers?.default?.url,showCopyIcon:!1})})]}),/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Network"}),/*#__PURE__*/r(g,{children:N})]}),/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Estimated fee"}),/*#__PURE__*/r(g,{$isLoading:H||R||void 0===X,children:X?"Sponsored":P})]}),ro&&/*#__PURE__*/o(n,{children:[/*#__PURE__*/r(m,{className:"cursor-pointer",onClick:()=>no(!oo),children:/*#__PURE__*/o(p,{className:"flex items-center gap-x-1",children:["Details"," ",/*#__PURE__*/r(e,{style:{width:"0.75rem",marginLeft:"0.25rem",transform:oo?"rotate(180deg)":void 0}})]})}),oo&&J&&/*#__PURE__*/r(b,{action:L,chain:Y,transactionDetails:J,isTokenContractInfoLoading:V,symbol:Q})]})]}),/*#__PURE__*/r(y,{}),f?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:f.message}):C?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:C.shortMessage??T}):null,/*#__PURE__*/r(w,{$useSmallMargins:!(!C&&!f),title:Number(E)>0?void 0:!1!==X?"Your wallet":void 0,address:z,balance:U,isLoading:H||R,errMsg:H||C||f||!F?void 0:`Add funds on ${Y?.name??_} to complete transaction.`}),/*#__PURE__*/r(t,{style:{marginTop:"1rem"},loading:q,disabled:W||H,onClick:G,children:B}),/*#__PURE__*/r(s,{})]})},I=({img:e,title:i,subtitle:p,cta:f,network:b,blockExplorerUrl:k,transactionIndex:C,maxIndex:I,isMissingFunds:L,submitError:v,parseError:A,total:M,amount:E,fee:$,balance:D,from:N,to:F,tokenAddress:P,programAddress:z,transactingWalletAddress:B,disabled:W,isSubmitting:Y,isPreparing:q,isTokenPriceLoading:H,onClick:R,onClose:V,onBack:X})=>{let Q=q||H;/*#__PURE__*/return o(n,{children:[/*#__PURE__*/r(c,{onClose:V,backFn:X}),e&&/*#__PURE__*/r(S,{children:e}),/*#__PURE__*/o(u,{style:{marginTop:e?"1.5rem":0},children:[i,/*#__PURE__*/r(x,{maxIndex:I,transactionIndex:C})]}),/*#__PURE__*/r(h,{children:p}),/*#__PURE__*/o(a,{style:{marginTop:"2rem"},children:[(M||Q)&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Total"}),/*#__PURE__*/r(g,{$isLoading:Q,children:M})]}),N&&N!==B&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"From"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:N,url:k,showCopyIcon:!1})})]}),F&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"To"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:F,url:k,showCopyIcon:!1})})]}),P&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Token address"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:P,url:k,showCopyIcon:!1})})]}),z&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Program address"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(j,{address:z,url:k,showCopyIcon:!1})})]}),b&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Network"}),/*#__PURE__*/r(g,{children:b})]}),(E||Q)&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Amount"}),/*#__PURE__*/r(g,{children:/*#__PURE__*/r(g,{$isLoading:Q,children:E})})]}),($||Q)&&/*#__PURE__*/o(m,{children:[/*#__PURE__*/r(d,{children:"Estimated fee"}),/*#__PURE__*/r(g,{$isLoading:Q,children:$})]})]}),/*#__PURE__*/r(y,{}),v?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:v.message}):A?/*#__PURE__*/r(l,{style:{marginTop:"2rem"},children:T}):null,/*#__PURE__*/r(w,{$useSmallMargins:!(!A&&!v),title:"Your wallet",address:B,balance:D,isLoading:q||H,errMsg:q||A||v||!L?void 0:"Add funds on Solana to complete transaction."}),/*#__PURE__*/r(t,{style:{marginTop:"1rem"},loading:Y,disabled:W||q,onClick:R,children:f}),/*#__PURE__*/r(s,{})]})};let w=/*#__PURE__*/i(f).withConfig({displayName:"StyledWalletInfoCard",componentId:"sc-c6650d62-0"})(["",""],(o=>o.$useSmallMargins?"margin-top: 0.5rem;":"margin-top: 2rem;")),T="There was an error preparing your transaction. Your transaction request will likely fail.",S=/*#__PURE__*/i.div.withConfig({displayName:"ImageContainer",componentId:"sc-c6650d62-1"})(["display:flex;width:100%;justify-content:center;max-height:40px;> img{object-fit:contain;border-radius:var(--privy-border-radius-sm);}"]);export{I as SendSolanaTransactionScreenView,C as SendTransactionScreenView,x as TransactionIndex};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as n,jsx as i}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import t from"@heroicons/react/24/outline/ClipboardDocumentIcon";import e from"@heroicons/react/24/outline/ExclamationCircleIcon";import{useState as c}from"react";import{styled as s}from"styled-components";import{PrimaryButton as a}from"../../components/Button.mjs";import{ModalFooter as m}from"../../components/ModalFooter.mjs";import{ModalHeader as p}from"../../components/ModalHeader.mjs";import{usePrivyInternal as l}from"../../hooks/internal-context.mjs";import{getSolanaTransactionExplorerUrl as d,getSolanaNetworkFromRpcEndpoint as h}from"../../lib/solana/index.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"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";let g=()=>/*#__PURE__*/o(j,{children:[/*#__PURE__*/i(C,{}),/*#__PURE__*/i(w,{})]});const f=({transactionError:r,chainId:t,onClose:e,onRetry:s,network:a,connection:f,transactionHash:j})=>{let{chains:w}=l(),[C,S]=c(!1),{errorCode:T,errorMessage:z}=((o,n)=>{if("ethereum"===n)return{errorCode:o.details??o.message,errorMessage:o.shortMessage};let i=o.txSignature,r=o?.transactionMessage||"Something went wrong.";if(Array.isArray(o.logs)){let n=o.logs.find((o=>/insufficient (lamports|funds)/gi.test(o)));n&&(r=n)}return{transactionHash:i,errorMessage:r}})(r,a),E=(({chains:o,chainId:n,network:i,connection:r,transactionHash:t})=>"ethereum"===i?o.find((o=>o.id===n))?.blockExplorers?.default.url??"https://etherscan.io":d(t||"",h(r?.rpcEndpoint||"")))({chains:w,chainId:t,network:a,connection:f,transactionHash:j});/*#__PURE__*/return o(n,{children:[/*#__PURE__*/i(p,{onClose:e}),/*#__PURE__*/o(x,{children:[/*#__PURE__*/i(g,{}),/*#__PURE__*/i(u,{children:T}),/*#__PURE__*/i(y,{children:"Please try again."}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/i(v,{children:"Error message"}),/*#__PURE__*/i(N,{$clickable:!1,children:z})]}),j&&/*#__PURE__*/o(k,{children:[/*#__PURE__*/i(v,{children:"Transaction hash"}),/*#__PURE__*/o(I,{children:["Copy this hash to view details about the transaction on a"," ",/*#__PURE__*/i("u",{children:/*#__PURE__*/i("a",{href:E,children:"block explorer"})}),"."]}),/*#__PURE__*/o(N,{$clickable:!0,onClick:async()=>{await navigator.clipboard.writeText(j),S(!0)},children:[j,/*#__PURE__*/i(M,{clicked:C})]})]}),/*#__PURE__*/i(b,{onClick:()=>s({resetNonce:!!j}),children:"Retry transaction"})]}),/*#__PURE__*/i(m,{})]})};let x=/*#__PURE__*/s.div.withConfig({displayName:"TransactionErrorScreenContainer",componentId:"sc-a4816d51-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;"]),u=/*#__PURE__*/s.span.withConfig({displayName:"ErrorCode",componentId:"sc-a4816d51-1"})(["color:var(--privy-color-foreground);text-align:center;font-size:1.125rem;font-weight:500;line-height:1.25rem;text-align:center;margin:10px;"]),y=/*#__PURE__*/s.span.withConfig({displayName:"Subtitle",componentId:"sc-a4816d51-2"})(["margin-top:4px;margin-bottom:10px;color:var(--privy-color-foreground-3);text-align:center;font-size:0.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:-0.008px;"]),j=/*#__PURE__*/s.div.withConfig({displayName:"CircleContainer",componentId:"sc-a4816d51-3"})(["position:relative;width:60px;height:60px;margin:10px;display:flex;justify-content:center;align-items:center;"]),w=/*#__PURE__*/s(e).withConfig({displayName:"StyledExclamationCircleIcon",componentId:"sc-a4816d51-4"})(["position:absolute;width:35px;height:35px;color:var(--privy-color-error);"]),C=/*#__PURE__*/s.div.withConfig({displayName:"StyledRedCircle",componentId:"sc-a4816d51-5"})(["position:absolute;width:60px;height:60px;border-radius:50%;background-color:var(--privy-color-error);opacity:0.1;"]),b=/*#__PURE__*/s(a).withConfig({displayName:"RetryButton",componentId:"sc-a4816d51-6"})(["&&{margin-top:24px;}transition:color 350ms ease,background-color 350ms ease;"]),v=/*#__PURE__*/s.span.withConfig({displayName:"TextBoxTitle",componentId:"sc-a4816d51-7"})(["width:100%;text-align:left;font-size:0.825rem;color:var(--privy-color-foreground);padding:4px;"]),k=/*#__PURE__*/s.div.withConfig({displayName:"TextBoxContainer",componentId:"sc-a4816d51-8"})(["width:100%;margin:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;"]),I=/*#__PURE__*/s.text.withConfig({displayName:"HelperText",componentId:"sc-a4816d51-9"})(["position:relative;width:100%;padding:5px;font-size:0.8rem;color:var(--privy-color-foreground-3);text-align:left;word-wrap:break-word;"]),N=/*#__PURE__*/s.span.withConfig({displayName:"TextBox",componentId:"sc-a4816d51-10"})(["position:relative;width:100%;background-color:var(--privy-color-background-2);padding:8px 12px;border-radius:10px;margin-top:5px;font-size:14px;color:var(--privy-color-foreground-3);text-align:left;word-wrap:break-word;",""],(o=>o.$clickable&&"cursor: pointer;\n transition: background-color 0.3s;\n padding-right: 45px;\n\n &:hover {\n background-color: var(--privy-color-foreground-4);\n }")),S=/*#__PURE__*/s(t).withConfig({displayName:"StyledClipboardIcon",componentId:"sc-a4816d51-11"})(["position:absolute;top:13px;right:13px;width:24px;height:24px;"]),T=/*#__PURE__*/s(r).withConfig({displayName:"StyledClipboardCheckIcon",componentId:"sc-a4816d51-12"})(["position:absolute;top:13px;right:13px;width:24px;height:24px;"]),M=({clicked:o})=>/*#__PURE__*/i(o?T:S,{});export{f as TransactionErrorView};
1
+ import{jsxs as o,Fragment as n,jsx as i}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import t from"@heroicons/react/24/outline/ClipboardDocumentIcon";import e from"@heroicons/react/24/outline/ExclamationCircleIcon";import{useState as c}from"react";import{styled as s}from"styled-components";import{PrimaryButton as a}from"../../components/Button.mjs";import{ModalFooter as m}from"../../components/ModalFooter.mjs";import{ModalHeader as p}from"../../components/ModalHeader.mjs";import{usePrivyInternal as l}from"../../hooks/internal-context.mjs";import{getSolanaTransactionExplorerUrl as d,getSolanaNetworkFromRpcEndpoint as h}from"../../lib/solana/index.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"../../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";let g=()=>/*#__PURE__*/o(j,{children:[/*#__PURE__*/i(C,{}),/*#__PURE__*/i(w,{})]});const f=({transactionError:r,chainId:t,onClose:e,onRetry:s,network:a,connection:f,transactionHash:j})=>{let{chains:w}=l(),[C,S]=c(!1),{errorCode:T,errorMessage:z}=((o,n)=>{if("ethereum"===n)return{errorCode:o.details??o.message,errorMessage:o.shortMessage};let i=o.txSignature,r=o?.transactionMessage||"Something went wrong.";if(Array.isArray(o.logs)){let n=o.logs.find((o=>/insufficient (lamports|funds)/gi.test(o)));n&&(r=n)}return{transactionHash:i,errorMessage:r}})(r,a),E=(({chains:o,chainId:n,network:i,connection:r,transactionHash:t})=>"ethereum"===i?o.find((o=>o.id===n))?.blockExplorers?.default.url??"https://etherscan.io":d(t||"",h(r?.rpcEndpoint||"")))({chains:w,chainId:t,network:a,connection:f,transactionHash:j});/*#__PURE__*/return o(n,{children:[/*#__PURE__*/i(p,{onClose:e}),/*#__PURE__*/o(x,{children:[/*#__PURE__*/i(g,{}),/*#__PURE__*/i(u,{children:T}),/*#__PURE__*/i(y,{children:"Please try again."}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/i(v,{children:"Error message"}),/*#__PURE__*/i(N,{$clickable:!1,children:z})]}),j&&/*#__PURE__*/o(k,{children:[/*#__PURE__*/i(v,{children:"Transaction hash"}),/*#__PURE__*/o(I,{children:["Copy this hash to view details about the transaction on a"," ",/*#__PURE__*/i("u",{children:/*#__PURE__*/i("a",{href:E,children:"block explorer"})}),"."]}),/*#__PURE__*/o(N,{$clickable:!0,onClick:async()=>{await navigator.clipboard.writeText(j),S(!0)},children:[j,/*#__PURE__*/i(M,{clicked:C})]})]}),/*#__PURE__*/i(b,{onClick:()=>s({resetNonce:!!j}),children:"Retry transaction"})]}),/*#__PURE__*/i(m,{})]})};let x=/*#__PURE__*/s.div.withConfig({displayName:"TransactionErrorScreenContainer",componentId:"sc-a4816d51-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;"]),u=/*#__PURE__*/s.span.withConfig({displayName:"ErrorCode",componentId:"sc-a4816d51-1"})(["color:var(--privy-color-foreground);text-align:center;font-size:1.125rem;font-weight:500;line-height:1.25rem;text-align:center;margin:10px;"]),y=/*#__PURE__*/s.span.withConfig({displayName:"Subtitle",componentId:"sc-a4816d51-2"})(["margin-top:4px;margin-bottom:10px;color:var(--privy-color-foreground-3);text-align:center;font-size:0.875rem;font-style:normal;font-weight:400;line-height:20px;letter-spacing:-0.008px;"]),j=/*#__PURE__*/s.div.withConfig({displayName:"CircleContainer",componentId:"sc-a4816d51-3"})(["position:relative;width:60px;height:60px;margin:10px;display:flex;justify-content:center;align-items:center;"]),w=/*#__PURE__*/s(e).withConfig({displayName:"StyledExclamationCircleIcon",componentId:"sc-a4816d51-4"})(["position:absolute;width:35px;height:35px;color:var(--privy-color-error);"]),C=/*#__PURE__*/s.div.withConfig({displayName:"StyledRedCircle",componentId:"sc-a4816d51-5"})(["position:absolute;width:60px;height:60px;border-radius:50%;background-color:var(--privy-color-error);opacity:0.1;"]),b=/*#__PURE__*/s(a).withConfig({displayName:"RetryButton",componentId:"sc-a4816d51-6"})(["&&{margin-top:24px;}transition:color 350ms ease,background-color 350ms ease;"]),v=/*#__PURE__*/s.span.withConfig({displayName:"TextBoxTitle",componentId:"sc-a4816d51-7"})(["width:100%;text-align:left;font-size:0.825rem;color:var(--privy-color-foreground);padding:4px;"]),k=/*#__PURE__*/s.div.withConfig({displayName:"TextBoxContainer",componentId:"sc-a4816d51-8"})(["width:100%;margin:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;"]),I=/*#__PURE__*/s.text.withConfig({displayName:"HelperText",componentId:"sc-a4816d51-9"})(["position:relative;width:100%;padding:5px;font-size:0.8rem;color:var(--privy-color-foreground-3);text-align:left;word-wrap:break-word;"]),N=/*#__PURE__*/s.span.withConfig({displayName:"TextBox",componentId:"sc-a4816d51-10"})(["position:relative;width:100%;background-color:var(--privy-color-background-2);padding:8px 12px;border-radius:10px;margin-top:5px;font-size:14px;color:var(--privy-color-foreground-3);text-align:left;word-wrap:break-word;",""],(o=>o.$clickable&&"cursor: pointer;\n transition: background-color 0.3s;\n padding-right: 45px;\n\n &:hover {\n background-color: var(--privy-color-foreground-4);\n }")),S=/*#__PURE__*/s(t).withConfig({displayName:"StyledClipboardIcon",componentId:"sc-a4816d51-11"})(["position:absolute;top:13px;right:13px;width:24px;height:24px;"]),T=/*#__PURE__*/s(r).withConfig({displayName:"StyledClipboardCheckIcon",componentId:"sc-a4816d51-12"})(["position:absolute;top:13px;right:13px;width:24px;height:24px;"]),M=({clicked:o})=>/*#__PURE__*/i(o?T:S,{});export{f as TransactionErrorView};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import{styled as i}from"styled-components";import{toHex as e}from"viem";import{PrimaryButton as s}from"../../components/Button.mjs";import{RefactorSpacerBottom as r}from"../../components/Layouts.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import{ModalHeader as c}from"../../components/ModalHeader.mjs";import{ScreenHeader as a}from"../../components/ScreenHeader.mjs";import{Grow as p}from"../LandingScreen/styles.mjs";import{TransactionDetails as l}from"../../components/embedded-wallets/TransactionDetails.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"../../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"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.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";let j=({gasUsed:o,effectiveGasPrice:t})=>{if(o&&t)try{return e(o*t)}catch(o){return}};const h=({txn:i,receipt:e,transactionInfo:s,onClose:h,tokenPrice:f,tokenSymbol:u,receiptHeader:b,receiptDescription:g})=>/*#__PURE__*/o(t,{children:[/*#__PURE__*/n(c,{onClose:h}),/*#__PURE__*/n(a,{title:b??"Transaction complete!",description:g??"You're all set."}),/*#__PURE__*/n(l,{tokenPrice:f,from:e.from,to:e.to,gas:j(e),txn:i,transactionInfo:s,tokenSymbol:u}),/*#__PURE__*/n(p,{}),/*#__PURE__*/n(d,{loading:!1,onClick:h,children:"All Done"}),/*#__PURE__*/n(r,{}),/*#__PURE__*/n(m,{})]});let d=/*#__PURE__*/i(s).withConfig({displayName:"SubmitButton",componentId:"sc-824e1e82-0"})(["&&{margin-top:24px;}transition:color 350ms ease,background-color 350ms ease;"]);export{h as TransactionReceiptView};
1
+ import{jsxs as o,Fragment as t,jsx as n}from"react/jsx-runtime";import{styled as i}from"styled-components";import{toHex as e}from"viem";import{PrimaryButton as s}from"../../components/Button.mjs";import{RefactorSpacerBottom as r}from"../../components/Layouts.mjs";import{BlobbyFooter as m}from"../../components/ModalFooter.mjs";import{ModalHeader as c}from"../../components/ModalHeader.mjs";import{ScreenHeader as a}from"../../components/ScreenHeader.mjs";import{Grow as p}from"../LandingScreen/styles.mjs";import{TransactionDetails as l}from"../../components/embedded-wallets/TransactionDetails.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"../../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"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.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";let j=({gasUsed:o,effectiveGasPrice:t})=>{if(o&&t)try{return e(o*t)}catch(o){return}};const h=({txn:i,receipt:e,transactionInfo:s,onClose:h,tokenPrice:f,tokenSymbol:u,receiptHeader:b,receiptDescription:g})=>/*#__PURE__*/o(t,{children:[/*#__PURE__*/n(c,{onClose:h}),/*#__PURE__*/n(a,{title:b??"Transaction complete!",description:g??"You're all set."}),/*#__PURE__*/n(l,{tokenPrice:f,from:e.from,to:e.to,gas:j(e),txn:i,transactionInfo:s,tokenSymbol:u}),/*#__PURE__*/n(p,{}),/*#__PURE__*/n(d,{loading:!1,onClick:h,children:"All Done"}),/*#__PURE__*/n(r,{}),/*#__PURE__*/n(m,{})]});let d=/*#__PURE__*/i(s).withConfig({displayName:"SubmitButton",componentId:"sc-824e1e82-0"})(["&&{margin-top:24px;}transition:color 350ms ease,background-color 350ms ease;"]);export{h as TransactionReceiptView};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import{useState as i,useEffect as n}from"react";import{styled as r}from"styled-components";import{isHex as s,hexToString as c}from"viem";import{ProviderErrors as m}from"@privy-io/js-sdk-core";import{PrimaryButtonWithoutGray as a}from"../components/Button.mjs";import{CopytoClipboardButton as p}from"../components/CopyToClipboard.mjs";import{RefactorSpacerTop as l,RefactorSpacerBottom as d}from"../components/Layouts.mjs";import{BlobbyFooter as h}from"../components/ModalFooter.mjs";import{ModalHeader as g}from"../components/ModalHeader.mjs";import{StyledLogo as f}from"../components/embedded-wallets/StyledLogo.mjs";import{Subtitle as j}from"../components/ui/typography/Subtitle.mjs";import{Title as u}from"../components/ui/typography/Title.mjs";import{PrivyProviderRpcError as y,ProviderRpcError as b}from"../connectors/errors.mjs";import{WALLET_PROXY_TIMEOUT as w,DEFAULT_SUCCESS_SCREEN_DURATION_MS as x}from"../constants.mjs";import{usePrivyInternal as v}from"../hooks/internal-context.mjs";import{usePrivyModal as C}from"../hooks/modal-context.mjs";import{usePrivyContext as S}from"../hooks/privy-context.mjs";import{Checkmark as T}from"../svg/checkmark.mjs";import{ModalScreen as k}from"./index.mjs";import"../components/Loader.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"../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"../components/PrefetchedImage.mjs";let I=o=>{if(!s(o))return o;try{return c(o)}catch{return o}},E=({data:t})=>{let i=t=>"object"==typeof t&&null!==t?/*#__PURE__*/e(_,{children:Object.entries(t).map((([t,e])=>/*#__PURE__*/o("li",{children:[/*#__PURE__*/o("strong",{children:[t,":"]})," ",i(e)]},t)))}):/*#__PURE__*/e("span",{children:String(t)});/*#__PURE__*/return e("div",{children:i(t)})},A=i=>{let{types:n,primaryType:r,...s}=i.typedData;/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(R,{children:/*#__PURE__*/e(E,{data:s})}),/*#__PURE__*/e(p,{text:(c=i.typedData,JSON.stringify(c,null,2)),itemName:"full payload to clipboard"})," "]});var c};const N=()=>{let{authenticated:r}=S(),{initializeWalletProxy:s,closePrivyModal:c}=v(),{navigate:p,data:E,onUserCloseViaDialogOrKeybindRef:N}=C(),[_,O]=i(!0),[z,F]=i(""),[H,P]=i(),[W,G]=i(null),[J,Q]=i(!1),$=null!==W;n((()=>{r||p(k.LANDING)}),[r]),n((()=>{s(w).then((o=>{O(!1),o||(F("An error has occurred, please try again."),P(new y(new b(z,m.E32603_DEFAULT_INTERNAL_ERROR.eipCode))))}))}),[]);let{method:q,data:B,confirmAndSign:K,onSuccess:V,onFailure:X,uiOptions:Y}=E.signMessage,Z={title:Y.title||"Sign message",description:Y.description||"Signing this message will not cost you any fees.",buttonText:Y.buttonText||"Sign and continue"},oo=o=>{o?V(o):X(H||new y(new b("The user rejected the request.",m.E4001_USER_REJECTED_REQUEST.eipCode))),c({shouldCallAuthOnSuccess:!1}),setTimeout((()=>{G(null),F(""),P(void 0)}),200)};return N.current=()=>{oo(W)},/*#__PURE__*/o(t,{children:[/*#__PURE__*/e(g,{onClose:()=>oo(W)}),/*#__PURE__*/e(l,{}),Y.iconUrl&&"string"==typeof Y.iconUrl?/*#__PURE__*/e(M,{children:/*#__PURE__*/e(f,{size:"sm",src:Y.iconUrl,alt:"app image"})}):null,/*#__PURE__*/e(u,{children:Z.title}),/*#__PURE__*/e(j,{children:Z.description}),"personal_sign"===q&&/*#__PURE__*/e(R,{children:I(B)}),"eth_signTypedData_v4"===q&&/*#__PURE__*/e(A,{typedData:B}),"solana_signMessage"===q&&/*#__PURE__*/e(R,{children:B}),/*#__PURE__*/e(U,{}),/*#__PURE__*/e(L,{$fail:!0,children:z}),/*#__PURE__*/e(a,{disabled:J||$||_,loading:J,onClick:async()=>{Q(!0),F("");try{let o=await K();G(o),Q(!1),setTimeout((()=>{oo(o)}),x)}catch(o){console.error(o),F("An error has occurred, please try again."),P(new y(new b(z,m.E32603_DEFAULT_INTERNAL_ERROR.eipCode))),Q(!1)}},children:J?"Signing...":$?/*#__PURE__*/o(D,{children:[/*#__PURE__*/e(T,{style:{height:"0.9rem",width:"0.9rem"},strokeWidth:2})," ",/*#__PURE__*/e("span",{children:"Success"})]}):Z.buttonText}),/*#__PURE__*/e(d,{}),/*#__PURE__*/e(h,{})]})};let R=/*#__PURE__*/r.div.withConfig({displayName:"Message",componentId:"sc-4e0c7b60-0"})(["margin-top:1.5rem;background-color:var(--privy-color-background-2);border-radius:var(--privy-border-radius-md);padding:12px;text-align:left;max-height:310px;overflow:scroll;white-space:pre-wrap;width:100%;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none;}}"]),_=/*#__PURE__*/r.ul.withConfig({displayName:"MessageList",componentId:"sc-4e0c7b60-1"})(["margin-left:12px !important;white-space:nowrap;&:first-child{margin-left:0 !important;}strong{font-weight:500 !important;}}"]),L=/*#__PURE__*/r.div.withConfig({displayName:"InputHelp",componentId:"sc-4e0c7b60-2"})(["line-height:20px;height:20px;font-size:13px;color:",";display:flex;justify-content:flex-start;width:100%;margin-top:16px;margin-bottom:4px;"],(o=>o.$fail?"var(--privy-color-error)":"var(--privy-color-foreground-3)")),D=/*#__PURE__*/r.span.withConfig({displayName:"ContentWithIcon",componentId:"sc-4e0c7b60-3"})(["display:flex;align-items:center;gap:8px;"]),M=/*#__PURE__*/r.div.withConfig({displayName:"IconContainer",componentId:"sc-4e0c7b60-4"})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:82px;"]),U=/*#__PURE__*/r.div.withConfig({displayName:"Grow",componentId:"sc-4e0c7b60-5"})(["flex-grow:1;"]);export{N as SignRequestScreen};
1
+ import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import{useState as i,useEffect as n}from"react";import{styled as r}from"styled-components";import{isHex as s,hexToString as c}from"viem";import{ProviderErrors as m}from"@privy-io/js-sdk-core";import{PrimaryButtonWithoutGray as a}from"../components/Button.mjs";import{CopytoClipboardButton as p}from"../components/CopyToClipboard.mjs";import{RefactorSpacerTop as l,RefactorSpacerBottom as d}from"../components/Layouts.mjs";import{BlobbyFooter as h}from"../components/ModalFooter.mjs";import{ModalHeader as g}from"../components/ModalHeader.mjs";import{StyledLogo as f}from"../components/embedded-wallets/StyledLogo.mjs";import{Subtitle as j}from"../components/ui/typography/Subtitle.mjs";import{Title as u}from"../components/ui/typography/Title.mjs";import{PrivyProviderRpcError as y,ProviderRpcError as b}from"../connectors/errors.mjs";import{WALLET_PROXY_TIMEOUT as w,DEFAULT_SUCCESS_SCREEN_DURATION_MS as x}from"../constants.mjs";import{usePrivyInternal as v}from"../hooks/internal-context.mjs";import{usePrivyModal as C}from"../hooks/modal-context.mjs";import{usePrivyContext as S}from"../hooks/privy-context.mjs";import{Checkmark as T}from"../svg/checkmark.mjs";import{ModalScreen as k}from"./index.mjs";import"../components/Loader.mjs";import"../svg/copy.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"../errors.mjs";import"ofetch";import"../components/PrefetchedImage.mjs";let I=o=>{if(!s(o))return o;try{return c(o)}catch{return o}},E=({data:t})=>{let i=t=>"object"==typeof t&&null!==t?/*#__PURE__*/e(_,{children:Object.entries(t).map((([t,e])=>/*#__PURE__*/o("li",{children:[/*#__PURE__*/o("strong",{children:[t,":"]})," ",i(e)]},t)))}):/*#__PURE__*/e("span",{children:String(t)});/*#__PURE__*/return e("div",{children:i(t)})},A=i=>{let{types:n,primaryType:r,...s}=i.typedData;/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(R,{children:/*#__PURE__*/e(E,{data:s})}),/*#__PURE__*/e(p,{text:(c=i.typedData,JSON.stringify(c,null,2)),itemName:"full payload to clipboard"})," "]});var c};const N=()=>{let{authenticated:r}=S(),{initializeWalletProxy:s,closePrivyModal:c}=v(),{navigate:p,data:E,onUserCloseViaDialogOrKeybindRef:N}=C(),[_,O]=i(!0),[z,F]=i(""),[H,P]=i(),[W,G]=i(null),[J,Q]=i(!1),$=null!==W;n((()=>{r||p(k.LANDING)}),[r]),n((()=>{s(w).then((o=>{O(!1),o||(F("An error has occurred, please try again."),P(new y(new b(z,m.E32603_DEFAULT_INTERNAL_ERROR.eipCode))))}))}),[]);let{method:q,data:B,confirmAndSign:K,onSuccess:V,onFailure:X,uiOptions:Y}=E.signMessage,Z={title:Y.title||"Sign message",description:Y.description||"Signing this message will not cost you any fees.",buttonText:Y.buttonText||"Sign and continue"},oo=o=>{o?V(o):X(H||new y(new b("The user rejected the request.",m.E4001_USER_REJECTED_REQUEST.eipCode))),c({shouldCallAuthOnSuccess:!1}),setTimeout((()=>{G(null),F(""),P(void 0)}),200)};return N.current=()=>{oo(W)},/*#__PURE__*/o(t,{children:[/*#__PURE__*/e(g,{onClose:()=>oo(W)}),/*#__PURE__*/e(l,{}),Y.iconUrl&&"string"==typeof Y.iconUrl?/*#__PURE__*/e(M,{children:/*#__PURE__*/e(f,{size:"sm",src:Y.iconUrl,alt:"app image"})}):null,/*#__PURE__*/e(u,{children:Z.title}),/*#__PURE__*/e(j,{children:Z.description}),"personal_sign"===q&&/*#__PURE__*/e(R,{children:I(B)}),"eth_signTypedData_v4"===q&&/*#__PURE__*/e(A,{typedData:B}),"solana_signMessage"===q&&/*#__PURE__*/e(R,{children:B}),/*#__PURE__*/e(U,{}),/*#__PURE__*/e(L,{$fail:!0,children:z}),/*#__PURE__*/e(a,{disabled:J||$||_,loading:J,onClick:async()=>{Q(!0),F("");try{let o=await K();G(o),Q(!1),setTimeout((()=>{oo(o)}),x)}catch(o){console.error(o),F("An error has occurred, please try again."),P(new y(new b(z,m.E32603_DEFAULT_INTERNAL_ERROR.eipCode))),Q(!1)}},children:J?"Signing...":$?/*#__PURE__*/o(D,{children:[/*#__PURE__*/e(T,{style:{height:"0.9rem",width:"0.9rem"},strokeWidth:2})," ",/*#__PURE__*/e("span",{children:"Success"})]}):Z.buttonText}),/*#__PURE__*/e(d,{}),/*#__PURE__*/e(h,{})]})};let R=/*#__PURE__*/r.div.withConfig({displayName:"Message",componentId:"sc-4e0c7b60-0"})(["margin-top:1.5rem;background-color:var(--privy-color-background-2);border-radius:var(--privy-border-radius-md);padding:12px;text-align:left;max-height:310px;overflow:scroll;white-space:pre-wrap;width:100%;-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none;}}"]),_=/*#__PURE__*/r.ul.withConfig({displayName:"MessageList",componentId:"sc-4e0c7b60-1"})(["margin-left:12px !important;white-space:nowrap;&:first-child{margin-left:0 !important;}strong{font-weight:500 !important;}}"]),L=/*#__PURE__*/r.div.withConfig({displayName:"InputHelp",componentId:"sc-4e0c7b60-2"})(["line-height:20px;height:20px;font-size:13px;color:",";display:flex;justify-content:flex-start;width:100%;margin-top:16px;margin-bottom:4px;"],(o=>o.$fail?"var(--privy-color-error)":"var(--privy-color-foreground-3)")),D=/*#__PURE__*/r.span.withConfig({displayName:"ContentWithIcon",componentId:"sc-4e0c7b60-3"})(["display:flex;align-items:center;gap:8px;"]),M=/*#__PURE__*/r.div.withConfig({displayName:"IconContainer",componentId:"sc-4e0c7b60-4"})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:82px;"]),U=/*#__PURE__*/r.div.withConfig({displayName:"Grow",componentId:"sc-4e0c7b60-5"})(["flex-grow:1;"]);export{N as SignRequestScreen};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import{useState as r,useEffect as i}from"react";import{styled as n}from"styled-components";import{getTelegramAuthErrorMessage as s}from"../auth-flows/telegram.mjs";import{shouldProceedtoEmbeddedWalletCreationFlow as a}from"../client/user.mjs";import{SoftCtaButton as c}from"../components/Button.mjs";import{RefactorSpacerTop as m,FixedGappedContainer as l,RefactorSpacerBottom as p}from"../components/Layouts.mjs";import{ConnectionLoader as d}from"../components/Loader.mjs";import{ModalFooter as u}from"../components/ModalFooter.mjs";import{ModalHeader as h}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 y}from"../errors.mjs";import{useCaptcha as E,CaptchaError as C}from"../hooks/captcha-context.mjs";import{usePrivyInternal as A}from"../hooks/internal-context.mjs";import{usePrivyModal as T}from"../hooks/modal-context.mjs";import{usePrivyContext as v}from"../hooks/privy-context.mjs";import{Telegram as _}from"../svg/telegram.mjs";import{ModalScreen as b}from"./index.mjs";import"../paths.mjs";import"ofetch";import"../hooks/index.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"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"../components/PrefetchedImage.mjs";const S=()=>{let{authenticated:n,logout:S,ready:N,user:x}=v(),{app:I,setModalData:w,navigate:L,resetNavigation:O,data:k}=T(),{initLoginWithTelegram:D,loginWithTelegram:M,updateWallets:W,setReadyToTrue:U,closePrivyModal:F,createAnalyticsEvent:H,getAuthMeta:P}=A(),[z,J]=r(!1),[B,Q]=r(void 0),V=E();async function X(){try{let e=await async function(){let e;if(!n){if(V.enabled&&"error"===V.status)throw new C(V.error,null,g.CAPTCHA_FAILURE);return V.enabled&&"success"!==V.status&&(V.execute(),e=await V.waitForResult()),e}}();await M(e),J(!0),U(!0)}catch(e){if(e?.privyErrorCode===g.ALLOWLIST_REJECTED)return Q(void 0),O(),void L(b.ALLOWLIST_REJECTION_SCREEN);if(e?.privyErrorCode===g.USER_LIMIT_REACHED)return console.error(new y(e).toString()),Q(void 0),O(),void L(b.USER_LIMIT_REACHED_SCREEN);if(e?.privyErrorCode===g.USER_DOES_NOT_EXIST)return Q(void 0),O(),void L(b.ACCOUNT_NOT_FOUND_SCREEN);if(e?.privyErrorCode===g.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return Q(void 0),O(),w({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,telegramAuthResult:P()?.telegramAuthResult,telegramWebAppData:P()?.telegramWebAppData,displayName:e.data?.data?.account?.displayName,linkMethod:"telegram",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void L(b.LINK_CONFLICT_SCREEN);let{retryable:t,detail:o}=s(e);Q({retryable:t,detail:o,message:"Authentication failed"})}}i((()=>{X()}),[]),i((()=>{if(!(N&&n&&z&&x))return;if(I?.legal.requireUsersAcceptTerms&&!x.hasAcceptedTerms){let e=setTimeout((()=>{L(b.AFFIRMATIVE_CONSENT_SCREEN)}),f);return()=>clearTimeout(e)}if(a(x,I?.embeddedWallets?.createOnLogin)){let e=setTimeout((()=>{w({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),H({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,provider:"telegram",screen:"TelegramAuthScreen"}}),S()},callAuthOnSuccessOnClose:!0}}),L(b.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),f);return()=>clearTimeout(e)}W();let e=setTimeout((()=>F({shouldCallAuthOnSuccess:!0,isSuccess:!0})),f);return()=>clearTimeout(e)}),[N,n,z,x]);let q=z?"Successfully connected with Telegram":B?B.message:"Verifying connection to Telegram",K="";return K=z?"You’re good to go!":B?B.detail:"Just a few moments more",/*#__PURE__*/e(t,{children:[/*#__PURE__*/o(h,{}),/*#__PURE__*/o(m,{}),/*#__PURE__*/e(R,{children:[/*#__PURE__*/o(j,{children:/*#__PURE__*/e("div",{children:[/*#__PURE__*/o(d,{success:z,fail:!!B}),/*#__PURE__*/o(_,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/e(l,{children:[/*#__PURE__*/o("h3",{children:q}),/*#__PURE__*/o("p",{children:K})]}),B&&B?.retryable?/*#__PURE__*/o(c,{onClick:async()=>{try{Q(void 0),k?.telegramAuthModalData?.seamlessAuth||await D(void 0,k?.login?.disableSignup),await X()}catch(e){let{retryable:t,detail:o}=s(e);Q({retryable:t,detail:o,message:"Authentication failed"})}},disabled:!z&&!B?.retryable,children:"Retry"}):null]}),/*#__PURE__*/o(p,{}),/*#__PURE__*/o(u,{})]})};let R=/*#__PURE__*/n.div.withConfig({displayName:"ConnectContainer",componentId:"sc-2d1c6341-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;margin-left:27px;margin-right:27px;gap:24px;"]);export{S as TelegramAuthScreen};
1
+ import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import{useState as r,useEffect as i}from"react";import{styled as n}from"styled-components";import{getTelegramAuthErrorMessage as s}from"../auth-flows/telegram.mjs";import{shouldProceedtoEmbeddedWalletCreationFlow as a}from"../client/user.mjs";import{SoftCtaButton as c}from"../components/Button.mjs";import{RefactorSpacerTop as m,FixedGappedContainer as l,RefactorSpacerBottom as p}from"../components/Layouts.mjs";import{ConnectionLoader as d}from"../components/Loader.mjs";import{ModalFooter as u}from"../components/ModalFooter.mjs";import{ModalHeader as h}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 y}from"../errors.mjs";import{useCaptcha as E,CaptchaError as C}from"../hooks/captcha-context.mjs";import{usePrivyInternal as A}from"../hooks/internal-context.mjs";import{usePrivyModal as T}from"../hooks/modal-context.mjs";import{usePrivyContext as v}from"../hooks/privy-context.mjs";import{Telegram as _}from"../svg/telegram.mjs";import{ModalScreen as b}from"./index.mjs";import"../paths.mjs";import"ofetch";import"../hooks/index.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"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"../components/PrefetchedImage.mjs";const S=()=>{let{authenticated:n,logout:S,ready:N,user:x}=v(),{app:I,setModalData:w,navigate:L,resetNavigation:O,data:k}=T(),{initLoginWithTelegram:D,loginWithTelegram:M,updateWallets:W,setReadyToTrue:U,closePrivyModal:F,createAnalyticsEvent:H,getAuthMeta:P}=A(),[z,J]=r(!1),[B,Q]=r(void 0),V=E();async function X(){try{let e=await async function(){let e;if(!n){if(V.enabled&&"error"===V.status)throw new C(V.error,null,g.CAPTCHA_FAILURE);return V.enabled&&"success"!==V.status&&(V.execute(),e=await V.waitForResult()),e}}();await M(e),J(!0),U(!0)}catch(e){if(e?.privyErrorCode===g.ALLOWLIST_REJECTED)return Q(void 0),O(),void L(b.ALLOWLIST_REJECTION_SCREEN);if(e?.privyErrorCode===g.USER_LIMIT_REACHED)return console.error(new y(e).toString()),Q(void 0),O(),void L(b.USER_LIMIT_REACHED_SCREEN);if(e?.privyErrorCode===g.USER_DOES_NOT_EXIST)return Q(void 0),O(),void L(b.ACCOUNT_NOT_FOUND_SCREEN);if(e?.privyErrorCode===g.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return Q(void 0),O(),w({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,telegramAuthResult:P()?.telegramAuthResult,telegramWebAppData:P()?.telegramWebAppData,displayName:e.data?.data?.account?.displayName,linkMethod:"telegram",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void L(b.LINK_CONFLICT_SCREEN);let{retryable:t,detail:o}=s(e);Q({retryable:t,detail:o,message:"Authentication failed"})}}i((()=>{X()}),[]),i((()=>{if(!(N&&n&&z&&x))return;if(I?.legal.requireUsersAcceptTerms&&!x.hasAcceptedTerms){let e=setTimeout((()=>{L(b.AFFIRMATIVE_CONSENT_SCREEN)}),f);return()=>clearTimeout(e)}if(a(x,I?.embeddedWallets?.createOnLogin)){let e=setTimeout((()=>{w({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),H({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,provider:"telegram",screen:"TelegramAuthScreen"}}),S()},callAuthOnSuccessOnClose:!0}}),L(b.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN)}),f);return()=>clearTimeout(e)}W();let e=setTimeout((()=>F({shouldCallAuthOnSuccess:!0,isSuccess:!0})),f);return()=>clearTimeout(e)}),[N,n,z,x]);let q=z?"Successfully connected with Telegram":B?B.message:"Verifying connection to Telegram",K="";return K=z?"You’re good to go!":B?B.detail:"Just a few moments more",/*#__PURE__*/e(t,{children:[/*#__PURE__*/o(h,{}),/*#__PURE__*/o(m,{}),/*#__PURE__*/e(R,{children:[/*#__PURE__*/o(j,{children:/*#__PURE__*/e("div",{children:[/*#__PURE__*/o(d,{success:z,fail:!!B}),/*#__PURE__*/o(_,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/e(l,{children:[/*#__PURE__*/o("h3",{children:q}),/*#__PURE__*/o("p",{children:K})]}),B&&B?.retryable?/*#__PURE__*/o(c,{onClick:async()=>{try{Q(void 0),k?.telegramAuthModalData?.seamlessAuth||await D(void 0,k?.login?.disableSignup),await X()}catch(e){let{retryable:t,detail:o}=s(e);Q({retryable:t,detail:o,message:"Authentication failed"})}},disabled:!z&&!B?.retryable,children:"Retry"}):null]}),/*#__PURE__*/o(p,{}),/*#__PURE__*/o(u,{})]})};let R=/*#__PURE__*/n.div.withConfig({displayName:"ConnectContainer",componentId:"sc-2d1c6341-0"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;margin-left:27px;margin-right:27px;gap:24px;"]);export{S as TelegramAuthScreen};