@fangorn-network/westmarch 0.0.15-dev → 0.0.16-dev

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 (126) hide show
  1. package/package.json +1 -1
  2. package/site/dist/assets/{AddFundsSelectionScreen-RAoCn7ej-D_EsIeJu.js → AddFundsSelectionScreen-RAoCn7ej-B6uvYyqa.js} +1 -1
  3. package/site/dist/assets/{Address-H8kD1d9O-C85sJ79B.js → Address-H8kD1d9O-DcHv7A8C.js} +1 -1
  4. package/site/dist/assets/{AffirmativeConsentScreen-BG0MJxku-DdEPFOww.js → AffirmativeConsentScreen-BG0MJxku-v2wz-N-s.js} +1 -1
  5. package/site/dist/assets/{ApiController-CYdiyu9B.js → ApiController-BbhXeqTV.js} +3 -3
  6. package/site/dist/assets/{AuthenticateWithWalletScreen-CU6hIcFT-8rbYiYYE.js → AuthenticateWithWalletScreen-CU6hIcFT-B0eT1zE6.js} +1 -1
  7. package/site/dist/assets/{AwaitingEvmToSolBridgingScreen-D0e_sZMS-2pkNfCno.js → AwaitingEvmToSolBridgingScreen-D0e_sZMS-DL5PH-v_.js} +1 -1
  8. package/site/dist/assets/{AwaitingExternalEthereumTransferScreen-ur5HL4R7-7AQt25_k.js → AwaitingExternalEthereumTransferScreen-ur5HL4R7-n1BsRPqc.js} +1 -1
  9. package/site/dist/assets/{AwaitingPasswordlessCodeScreen-DRHz76mM-BZY30TGs.js → AwaitingPasswordlessCodeScreen-DRHz76mM-BVl2BJDY.js} +1 -1
  10. package/site/dist/assets/{AwaitingSolToEvmBridgingScreen-CdLRrGD2-BILOOLi_.js → AwaitingSolToEvmBridgingScreen-CdLRrGD2-BD-OZUQb.js} +1 -1
  11. package/site/dist/assets/{BridgeNetworkSelectionView-CFGjB2nO-CvsbQcFv.js → BridgeNetworkSelectionView-CFGjB2nO-CaYrzRje.js} +1 -1
  12. package/site/dist/assets/{CaptchaScreen-DbpvkIGx-D8eDcAkc.js → CaptchaScreen-DbpvkIGx-BQJ7inx1.js} +1 -1
  13. package/site/dist/assets/{CoinbaseOnrampStatusScreen-BbyCJDXL-DLs9zX-Q.js → CoinbaseOnrampStatusScreen-BbyCJDXL-DDaMC7cl.js} +1 -1
  14. package/site/dist/assets/{ConnectEmailForm-B-VRE0MN-N9J6T_YL.js → ConnectEmailForm-B-VRE0MN-DVSf4tFJ.js} +1 -1
  15. package/site/dist/assets/{ConnectOnlyLandingScreen-CZYx9Bmp-LeuDMN1E.js → ConnectOnlyLandingScreen-CZYx9Bmp-DP19hJq5.js} +1 -1
  16. package/site/dist/assets/{ConnectOnlyStatusScreen-DCRzjxHx-DaRa59tZ.js → ConnectOnlyStatusScreen-DCRzjxHx-DHvijlTx.js} +1 -1
  17. package/site/dist/assets/{ConnectOrCreateScreen-CUUYUO07-crHzh-TL.js → ConnectOrCreateScreen-CUUYUO07-ewmXYPTQ.js} +1 -1
  18. package/site/dist/assets/{ConnectPhoneForm-Dek5xn4C-BEA4FmhI.js → ConnectPhoneForm-Dek5xn4C-DUYdmVtr.js} +1 -1
  19. package/site/dist/assets/{ConnectWalletView-DqI-PTvX-CMQIad63.js → ConnectWalletView-DqI-PTvX-RobGErVW.js} +1 -1
  20. package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-Bbiq3hY6.js +1 -0
  21. package/site/dist/assets/{ConnectionStatusScreen-fUfROm9m-BeWLchcf.js → ConnectionStatusScreen-fUfROm9m-DPkOGNWl.js} +1 -1
  22. package/site/dist/assets/{ConnectorUtil-Cq4lWnfe.js → ConnectorUtil-BO1L6VvV.js} +1 -1
  23. package/site/dist/assets/{CrossAppAuthScreen-CLw7ymZq-Csju14vF.js → CrossAppAuthScreen-CLw7ymZq-DbGy4QyA.js} +1 -1
  24. package/site/dist/assets/{CustomLandingScreenView-Cm_MBSyX-CBOrbNLo.js → CustomLandingScreenView-Cm_MBSyX-B3WqJZBh.js} +1 -1
  25. package/site/dist/assets/{DelegatedActionsConsentScreen-DYF2U4y5-BL5hzNUI.js → DelegatedActionsConsentScreen-DYF2U4y5-CmUDoS0C.js} +1 -1
  26. package/site/dist/assets/{DepositAddressAddressStepView-4vdkb55L-B3vY888G.js → DepositAddressAddressStepView-4vdkb55L-ClAb_j1B.js} +1 -1
  27. package/site/dist/assets/{DepositAddressScreen-DBLRs7aI-DmdQaFI2.js → DepositAddressScreen-DBLRs7aI-CN1P_KY9.js} +1 -1
  28. package/site/dist/assets/{DepositAddressV3Screen-CDqIEMQw-BoupRyfV.js → DepositAddressV3Screen-CDqIEMQw-BtDZmuEN.js} +1 -1
  29. package/site/dist/assets/{EmbeddedWalletConnectingScreen-D4T7DUzs-D_AVgO4s.js → EmbeddedWalletConnectingScreen-D4T7DUzs-D3pExuaW.js} +1 -1
  30. package/site/dist/assets/{EmbeddedWalletKeyExportScreen-CqV4NYQ3-C9sAExzE.js → EmbeddedWalletKeyExportScreen-CqV4NYQ3-DI6bu-oi.js} +1 -1
  31. package/site/dist/assets/{EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-DxaWAAKa.js → EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-BQ9Ygr0P.js} +1 -1
  32. package/site/dist/assets/{EnrollTotp-Dibew4dp-SA2pvNEc.js → EnrollTotp-Dibew4dp-7gVtJ1Jt.js} +1 -1
  33. package/site/dist/assets/{ErrorScreen-DipdTWzE-c8g8En21.js → ErrorScreen-DipdTWzE-BT8TtRTx.js} +1 -1
  34. package/site/dist/assets/ErrorScreen-DipdTWzE-DAam41Xl.js +1 -0
  35. package/site/dist/assets/{FarcasterConnectStatusScreen-51tjUxqq-s_s5M2CZ.js → FarcasterConnectStatusScreen-51tjUxqq-BPCBi37Q.js} +1 -1
  36. package/site/dist/assets/{FarcasterSignerStatusScreen-6x-Uh95G-BHBR4k8H.js → FarcasterSignerStatusScreen-6x-Uh95G-XCmWpnUd.js} +1 -1
  37. package/site/dist/assets/{FiatOnrampScreen-BAhYeiTI-BH_sU6EV.js → FiatOnrampScreen-BAhYeiTI-DJRcUh2N.js} +1 -1
  38. package/site/dist/assets/{FundSolWalletWithExternalSolanaWallet-WtLwYaOl-B8TRV36j.js → FundSolWalletWithExternalSolanaWallet-WtLwYaOl-BfNVSTb1.js} +1 -1
  39. package/site/dist/assets/{FundWithBankDepositScreen-DajkHxBD-9rPtyA3d.js → FundWithBankDepositScreen-DajkHxBD-BfvMcHb6.js} +1 -1
  40. package/site/dist/assets/{FundingEditAmountScreen-CpvpiO4M-GaXigGI9.js → FundingEditAmountScreen-CpvpiO4M-VBfbahnA.js} +1 -1
  41. package/site/dist/assets/{FundingMethodSelectionScreen-Db7vhRlE-UsmtTqv4.js → FundingMethodSelectionScreen-Db7vhRlE-CMuBYf64.js} +1 -1
  42. package/site/dist/assets/{LandingScreen-CGWUoSUG-DK1EY-6v.js → LandingScreen-CGWUoSUG-Q7hgXKvM.js} +1 -1
  43. package/site/dist/assets/{LinkConflictScreen-C3ZEPsgl-ClWoqvEL.js → LinkConflictScreen-C3ZEPsgl-DK1z_v7y.js} +1 -1
  44. package/site/dist/assets/{LinkEmailScreen-dKo9frwc-C3v7glH0.js → LinkEmailScreen-dKo9frwc-BYYpJ5-6.js} +1 -1
  45. package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-uhub9C26.js +1 -0
  46. package/site/dist/assets/{LinkPasskeyScreen-zbrl_AI_-D72Gb0LW.js → LinkPasskeyScreen-zbrl_AI_-uid22VTN.js} +1 -1
  47. package/site/dist/assets/{LinkPhoneScreen-oIUpfj0w-C0DuD14j.js → LinkPhoneScreen-oIUpfj0w-CVQibNi9.js} +1 -1
  48. package/site/dist/assets/{ManualTransferScreen-CHqcuqbs-tXiZDHmN.js → ManualTransferScreen-CHqcuqbs-DMygAXMU.js} +1 -1
  49. package/site/dist/assets/{MfaAuthEnrollmentFlowScreen-Dj7gPTRC-CaW7xeCC.js → MfaAuthEnrollmentFlowScreen-Dj7gPTRC-_1GFUSIg.js} +1 -1
  50. package/site/dist/assets/{MfaAuthVerifyFlowScreen-DbFpyWMy-CeRqvx8k.js → MfaAuthVerifyFlowScreen-DbFpyWMy-DLnBJ5b8.js} +1 -1
  51. package/site/dist/assets/{MfaEnrollmentFlowScreen-DhLnGgnr-BkN1k4lh.js → MfaEnrollmentFlowScreen-DhLnGgnr-BUJY1lzs.js} +1 -1
  52. package/site/dist/assets/{MfaVerifyFlowScreen-C_XPjMRP-CXSqLVbE.js → MfaVerifyFlowScreen-C_XPjMRP-25l5fVun.js} +1 -1
  53. package/site/dist/assets/{OAuthStatusScreen-ufbOa-da-CeiGcSia.js → OAuthStatusScreen-ufbOa-da-DL30vu07.js} +1 -1
  54. package/site/dist/assets/{PasskeySelectSignupOrLogin-xh2ScC_l-CIf5I7wU.js → PasskeySelectSignupOrLogin-xh2ScC_l-DtxhRQyw.js} +1 -1
  55. package/site/dist/assets/{PasskeyStatusScreen-Bla8MaOk-CLoL7QC-.js → PasskeyStatusScreen-Bla8MaOk-CNfu8ujT.js} +1 -1
  56. package/site/dist/assets/{PasswordRecoveryScreen-awGXZkQk-B9F67IYV.js → PasswordRecoveryScreen-awGXZkQk-BR6z6xE8.js} +1 -1
  57. package/site/dist/assets/{QrCode-DbnZwlkH-h6Bhoe5U.js → QrCode-DbnZwlkH-BymHrKY7.js} +1 -1
  58. package/site/dist/assets/{RecoveryOAuthStatusScreen-CsgtTI2x-D-A5P3PX.js → RecoveryOAuthStatusScreen-CsgtTI2x-Dro1btv5.js} +1 -1
  59. package/site/dist/assets/{RecoveryPasswordCreateScreen-Be-qJ-LU-C8lTSeSr.js → RecoveryPasswordCreateScreen-Be-qJ-LU-C1q1hiaN.js} +1 -1
  60. package/site/dist/assets/{RecoverySelectionScreen-D1iGtpmi-P5P3plkH.js → RecoverySelectionScreen-D1iGtpmi-C21D20gD.js} +1 -1
  61. package/site/dist/assets/{SIWXUtil-TUCxa7aA.js → SIWXUtil-CHZVugix.js} +1 -1
  62. package/site/dist/assets/{SelectSourceAsset-CWFog6gm-D7yTw87h.js → SelectSourceAsset-CWFog6gm-RKjBsB6m.js} +1 -1
  63. package/site/dist/assets/{SetAutomaticRecoveryScreen-BO_OEqAZ-f0iDIGmw.js → SetAutomaticRecoveryScreen-BO_OEqAZ-BcWHJoEG.js} +1 -1
  64. package/site/dist/assets/{SignRequestScreen-BHKv32KR-DDpMYyJ1.js → SignRequestScreen-BHKv32KR-iQCaBkcz.js} +1 -1
  65. package/site/dist/assets/{SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js → SolanaWalletConnector-C7Lqk-Wz-BUdJJ0ep.js} +1 -1
  66. package/site/dist/assets/{StandardSignAndSendTransactionScreen-CfhIXVtd-BJ-onCjv.js → StandardSignAndSendTransactionScreen-CfhIXVtd-nART-xUU.js} +1 -1
  67. package/site/dist/assets/{TelegramAuthScreen-UL9zLfO8-NWlMgNRX.js → TelegramAuthScreen-UL9zLfO8-Dw9geyK3.js} +1 -1
  68. package/site/dist/assets/{TransactionDetails-e9nesl30-C4MpIHR-.js → TransactionDetails-e9nesl30-DeEL1JQS.js} +1 -1
  69. package/site/dist/assets/{TransactionErrorView-BDBNqA_f-p1T9WVMx.js → TransactionErrorView-BDBNqA_f-Dffuo7I4.js} +1 -1
  70. package/site/dist/assets/{TransferFromWalletScreen-Qvn1Yuno-88IQcRnY.js → TransferFromWalletScreen-Qvn1Yuno-CWLWUiHy.js} +1 -1
  71. package/site/dist/assets/{TransferOrBridgeLoadingScreen-Dl1I_iIz-1fDAIxAf.js → TransferOrBridgeLoadingScreen-Dl1I_iIz-Bo-tm6wr.js} +1 -1
  72. package/site/dist/assets/{UpdateEmailScreen-DVOhPV0H-Jj2DQW8D.js → UpdateEmailScreen-DVOhPV0H-gFbSIUhh.js} +1 -1
  73. package/site/dist/assets/{UpdatePhoneScreen-CXRswTNZ-DwYIUBqi.js → UpdatePhoneScreen-CXRswTNZ-Coy4E1NQ.js} +1 -1
  74. package/site/dist/assets/{WalletInfoCard-sq_2wgFg-DpNSAGte.js → WalletInfoCard-sq_2wgFg-ISBsQt8p.js} +1 -1
  75. package/site/dist/assets/{WalletLink-DK5LB5Ha-DHaL350n.js → WalletLink-DK5LB5Ha-CXBqCHf3.js} +1 -1
  76. package/site/dist/assets/{WalletOverflowButton-bfCnp-9T-CUyIJFzt.js → WalletOverflowButton-bfCnp-9T-DP0-PoZL.js} +1 -1
  77. package/site/dist/assets/{_esm-B26FZg5Y.js → _esm-CJe2F7LL.js} +1 -1
  78. package/site/dist/assets/{_esm-BdeM6pxJ.js → _esm-zhBBffjV.js} +1 -1
  79. package/site/dist/assets/{accounts-DiZ-0VmN.js → accounts-Bq8t1wAD.js} +1 -1
  80. package/site/dist/assets/{basic-oIwwSyu4.js → basic-MlZ7f4s9.js} +1 -1
  81. package/site/dist/assets/ccip-BI9LWBBg.js +1 -0
  82. package/site/dist/assets/{ccip-BZvRTL6g.js → ccip-C-59SNEF.js} +2 -2
  83. package/site/dist/assets/{ccip-65sIfSPR.js → ccip-y08wK9du.js} +1 -1
  84. package/site/dist/assets/{client-CZG0ndth.js → client-D0IV9lV9.js} +1 -1
  85. package/site/dist/assets/{coinbase-DCPC2L_R-D3aIgpyd.js → coinbase-DCPC2L_R-Rs9nVCfm.js} +1 -1
  86. package/site/dist/assets/{core-snws5xwv.js → core-zQ1tZtVZ.js} +3 -3
  87. package/site/dist/assets/{dist-DnGANz51.js → dist-BxQqwnue.js} +1 -1
  88. package/site/dist/assets/{esm-ByALO6mA.js → esm-DXsETz3H.js} +1 -1
  89. package/site/dist/assets/{esm-B5cbIQaz.js → esm-vs5jNx_Y.js} +2 -2
  90. package/site/dist/assets/{ethers-zTjbodk5-wHhL_BQ1.js → ethers-zTjbodk5-B7BBFFKf.js} +1 -1
  91. package/site/dist/assets/{features-DQ0UYy6K.js → features-CYXRa3_m.js} +1 -1
  92. package/site/dist/assets/{getErc20Balance-jXNpFf0N-Bb9WM31M.js → getErc20Balance-jXNpFf0N-V2btxzrJ.js} +1 -1
  93. package/site/dist/assets/{getErc20TokenInfo-BNTrzLMP-KPrdn04K.js → getErc20TokenInfo-BNTrzLMP-CtCwQuGA.js} +1 -1
  94. package/site/dist/assets/{id-UqEwL2BI-BkKm533U.js → id-UqEwL2BI-CdKXapd-.js} +1 -1
  95. package/site/dist/assets/{index-CurczxO7.js → index-DPuRQJG2.js} +3 -3
  96. package/site/dist/assets/{index-DvMddJcd-BatvgC-S.js → index-DvMddJcd-D-4mRLKK.js} +1 -1
  97. package/site/dist/assets/{index-YiCw0Y_x-CX5i3Z87.js → index-YiCw0Y_x-BX1zsiqG.js} +4 -4
  98. package/site/dist/assets/{localBatchGatewayRequest-3kLrX_c7.js → localBatchGatewayRequest-5YxrERBj.js} +2 -2
  99. package/site/dist/assets/parseEther-CGP3gnf2.js +1 -0
  100. package/site/dist/assets/{pkce-DXF0yKjP-ChQhE0st.js → pkce-DXF0yKjP-Bqz4wAsq.js} +1 -1
  101. package/site/dist/assets/preload-helper-BaNbYf_w.js +1 -0
  102. package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-ByFOTrQK.js +1 -0
  103. package/site/dist/assets/{simulateTransaction-CfuOrae4-64lWYJAL.js → simulateTransaction-CfuOrae4-CMFGDgT_.js} +1 -1
  104. package/site/dist/assets/{storage-Ufl800Ne-D0bZBw-H.js → storage-Ufl800Ne-EalZTH9q.js} +1 -1
  105. package/site/dist/assets/{styles-Cm9H63WO-Br4QtzUL.js → styles-Cm9H63WO-D90SsXOs.js} +1 -1
  106. package/site/dist/assets/{to-ui-error-DWe-qwS3-Cx2bk1kZ.js → to-ui-error-DWe-qwS3-DgCO-Y70.js} +1 -1
  107. package/site/dist/assets/{toViemAccount-B5iDGq1b-Ba8L7zed.js → toViemAccount-B5iDGq1b-DZ1MBqUW.js} +2 -2
  108. package/site/dist/assets/{transformers.web-CVP3pJOS.js → transformers.web-D4RvOP4-.js} +1 -1
  109. package/site/dist/assets/{use-headless-crypto-deposit-Yn-QRLB3-LUIVFBSd.js → use-headless-crypto-deposit-Yn-QRLB3-Dn6_8w-Y.js} +1 -1
  110. package/site/dist/assets/{use-unlink-wallet-BKK4_5Ur-CC2pq27z.js → use-unlink-wallet-BKK4_5Ur-DgsQ75lh.js} +1 -1
  111. package/site/dist/assets/{useActiveWallet-B-yZYGc6-D7Ik-LxJ.js → useActiveWallet-B-yZYGc6-B6JWREbk.js} +1 -1
  112. package/site/dist/assets/{useWalletBalance-CZnP5f_f-Dw2GIJ4g.js → useWalletBalance-CZnP5f_f-L3V0jDjL.js} +1 -1
  113. package/site/dist/assets/{useWallets-X1ndvJ_U-DRjz7uYD.js → useWallets-X1ndvJ_U-CLwUcevw.js} +1 -1
  114. package/site/dist/assets/{w3m-modal-BeVrBOIf.js → w3m-modal-BMubXAoG.js} +1 -1
  115. package/site/dist/assets/{wallet-DMLc-ukR.js → wallet-Bmjp2WfA.js} +2 -2
  116. package/site/dist/assets/{walletconnect-v2-3frQFwbg-CrtLXofr.js → walletconnect-v2-3frQFwbg-Dv6JY_ko.js} +3 -3
  117. package/site/dist/assets/{wui-ux-by-reown-D34ILNLS.js → wui-ux-by-reown-fVu0QkI4.js} +1 -1
  118. package/site/dist/index.html +2 -2
  119. package/src/publish/view.js +40 -11
  120. package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-wu3a3kw4.js +0 -1
  121. package/site/dist/assets/ErrorScreen-DipdTWzE-DcxVjMO4.js +0 -1
  122. package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-DYIl5Kr2.js +0 -1
  123. package/site/dist/assets/ccip-DA_zG341.js +0 -1
  124. package/site/dist/assets/parseEther-VjhVo3dd.js +0 -1
  125. package/site/dist/assets/preload-helper-uBIymjUX.js +0 -1
  126. package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BK_FBkaE.js +0 -1
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{O as t}from"./esm-B5cbIQaz.js";import{$ as n,D as r,E as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{a as c,t as l}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as u}from"./index-CWARkn2w-Cezl_uBr.js";import{i as d,s as f}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{b as ee,r as p,u as m}from"./useWallets-X1ndvJ_U-DRjz7uYD.js";import{B as h,H as g,M as _,S as v,X as y,_ as b,b as x,d as S,i as C,l as w,st as T,t as E,x as D}from"./index.browser-B-i-Lj3J.js";import{d as O,i as te,l as k,n as A,r as ne}from"./src-BBjkfi-Q.js";import{i as j}from"./SolanaWalletConnector-C7Lqk-Wz-DPwhuzcI.js";import{t as re}from"./CheckCircleIcon-NCOQc0Gs.js";import{d as ie,n as ae,o as oe,u as se}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{n as M}from"./ScreenHeader-CHmc4-Lu-DjyrH7IK.js";import{t as N}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import{t as P}from"./useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js";import"./analytics-mkkvFRju-BRBcadka.js";import{t as ce}from"./getChainName-DjpPdUSc-DUyKDrnp.js";import{l as F,o as I,t as L}from"./getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js";import{a as R,i as z,n as B,t as V}from"./Value-DTgR824E-BRuIGiec.js";import{t as le}from"./InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js";import{t as ue}from"./getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js";import{n as H,t as de}from"./simulateTransaction-CfuOrae4-64lWYJAL.js";var U=e(o(),1),W=a();function fe({rows:e}){return(0,W.jsx)(R,{children:e.filter((e=>!!e)).map(((e,t)=>e.value!=null||e.isLoading?(0,W.jsxs)(z,{children:[(0,W.jsx)(V,{children:e.label}),(0,W.jsx)(B,{$isLoading:e.isLoading,children:e.value})]},t):null))})}function G(e){if(!e)throw Error(`Expected a Address.`);return typeof e==`object`&&`address`in e?e.address:Array.isArray(e)?e[0]:e}function K(e,t){return e=>{if(!e.value)return;let t=e.isWritable?x.WRITABLE:x.READONLY;return Object.freeze({address:G(e.value),role:q(e.value)?D(t):t,...q(e.value)?{signer:e.value}:{}})}}function q(e){return!!e&&typeof e==`object`&&`address`in e&&k(e)}function J(){return T(_([[`discriminator`,h()],[`amount`,g()]]),e=>({...e,discriminator:2}))}function pe(e,t){let n=t?.programAddress??`11111111111111111111111111111111`,r={source:{value:e.source??null,isWritable:!0},destination:{value:e.destination??null,isWritable:!0}},i={...e},a=K();return Object.freeze({accounts:[a(r.source),a(r.destination)],data:J().encode(i),programAddress:n})}function me(e){return y().decode(e)}function Y(e){return BigInt(Math.floor(1e9*parseFloat(e)))}function X(e){return+Z.format(parseFloat(e.toString())/1e9)}var Z=Intl.NumberFormat(void 0,{maximumFractionDigits:8});async function he({tx:e,solanaClient:t,amount:n,asset:r,tokenPrice:i}){if(!e)return null;if(r===`SOL`&&i){let r=Y(n),a=L(r,i),o=await H({solanaClient:t,tx:e});return{amountInUsd:a,feeInUsd:i?L(o,i):void 0,totalInUsd:L(r+o,i)}}if(r===`USDC`&&i){let r=`$`+n,a=await H({solanaClient:t,tx:e}),o=function(e,t){let n=parseFloat(e.toString())/F*t;return n<.01?0:n}(a,i);return{amountInUsd:r,feeInUsd:L(a,i),totalInUsd:`$`+(parseFloat(n)+o).toFixed(2)}}if(r===`SOL`){let r=Y(n),i=await H({solanaClient:t,tx:e});return{amountInSol:n+` SOL`,feeInSol:X(i)+` SOL`,totalInSol:X(r+i)+` SOL`}}return{amountInUsdc:n+` USDC`,feeInSol:X(await H({solanaClient:t,tx:e}))+` SOL`}}var Q={component:function(){let e=r(),{closePrivyModal:a,createAnalyticsEvent:o}=n(),{data:h,setModalData:g,navigate:_}=s(),{wallets:y}=p(),[x,T]=(0,U.useState)(`preparing`),[D,k]=(0,U.useState)(),[F,R]=(0,U.useState)(),[z,B]=(0,U.useState)();if(!h?.solanaFundingData)throw Error(`Funding config is missing`);if(!h.solanaFundingData.sourceWalletData)throw Error(`Funding config is missing source wallet data`);let{amount:V,asset:H,chain:G,sourceWalletData:K,destinationAddress:q,afterSuccessScreen:J}=h.solanaFundingData,X=y.find((e=>e.address===K.address&&j(K.walletClientType)===j(e.standardWallet.name))),Z=ee()(G),{tokenPrice:Q,isTokenPriceLoading:$}=P(`solana`);return(0,U.useEffect)((()=>{if(x!==`preparing`||$||!X)return;let e=H===`SOL`?Y(V):function(e){return BigInt(Math.floor(1e6*parseFloat(e)))}(V);R({amount:(H===`SOL`&&Q?L(e,Q):V)??V}),(H===`SOL`?async function({solanaClient:e,source:t,destination:n,amountInLamports:r}){let{value:i}=await e.rpc.getLatestBlockhash().send(),a={address:t},o=v(S({version:0}),(e=>O(a,e)),(e=>b(i,e)),(e=>w(pe({amount:r,source:a,destination:n}),e)),(e=>E(e)));return new Uint8Array(C().encode(o))}({solanaClient:Z,source:X.address,destination:q,amountInLamports:e}):async function({solanaClient:e,source:t,destination:n,amountInBaseUnits:r}){let i=ue(e.chain),{value:a}=await e.rpc.getLatestBlockhash().send(),o={address:t},[s]=await A({mint:i,owner:t,tokenProgram:I}),[c]=await A({mint:i,owner:n,tokenProgram:I}),[l,u]=await Promise.all([e.rpc.getAccountInfo(s,{commitment:`confirmed`,encoding:`jsonParsed`}).send().catch((()=>null)),e.rpc.getAccountInfo(c,{commitment:`confirmed`,encoding:`jsonParsed`}).send().catch((()=>null))]);if(!l?.value)throw Error(`Source token account does not exist for address: ${t}`);let d=ne({payer:o,ata:c,owner:n,mint:i}),f=v(S({version:0}),(e=>O(o,e)),(e=>b(a,e)),(e=>u?.value?e:w(d,e)),(e=>w(te({source:s,destination:c,authority:o,amount:r}),e)),(e=>E(e)));return new Uint8Array(C().encode(f))}({solanaClient:Z,source:X.address,destination:q,amountInBaseUnits:e})).then(k).catch((e=>{T(`error`),B(e)}))}),[x,V,H,G,X,q,$,Q]),(0,U.useEffect)((()=>{x===`preparing`&&D&&he({tx:D,solanaClient:Z,amount:V,asset:H,tokenPrice:Q}).then((e=>{T(`loaded`),R({amount:e?.amountInUsd??e?.amountInUsdc??e?.amountInSol??V,fee:e?.feeInUsd??e?.feeInSol,total:e?.totalInUsd??e?.totalInSol})})).catch((e=>{T(`error`),B(e)}))}),[D,V,H,x,Q]),(0,U.useEffect)((()=>{x===`error`&&z&&(g({errorModalData:{error:z,previousScreen:`FundSolWalletWithExternalSolanaWallet`},solanaFundingData:h.solanaFundingData}),_(`ErrorScreen`,!1))}),[x,_]),(0,U.useEffect)((()=>{if(x!==`success`)return;let e=setTimeout(J?()=>_(J):a,i);return()=>clearTimeout(e)}),[x]),(0,W.jsxs)(W.Fragment,x===`success`?{children:[(0,W.jsx)(N,{}),(0,W.jsx)(ae,{}),(0,W.jsxs)(oe,{children:[(0,W.jsx)(re,{color:`var(--privy-color-success)`,width:`64px`,height:`64px`}),(0,W.jsx)(M,{title:`Success!`,description:`You’ve successfully added ${V} ${H} to your ${e.name} wallet. It may take a minute before the funds are available to use.`})]}),(0,W.jsx)(se,{}),(0,W.jsx)(l,{})]}:x===`preparing`||x===`loaded`||x===`sending`?{children:[(0,W.jsx)(N,{}),(0,W.jsx)(ie,{style:{marginTop:`16px`},children:(0,W.jsx)(le,{icon:X?.standardWallet.icon,name:X?.standardWallet.name})}),(0,W.jsx)(M,{style:{marginTop:`8px`,marginBottom:`12px`},title:x===`sending`&&X?`Confirming with ${X.standardWallet.name}`:`Confirm transaction`}),(0,W.jsx)(fe,{rows:[{label:`Source`,value:t(K.address)},{label:`Destination`,value:t(q)},{label:`Network`,value:ce(G)},{label:`Amount`,value:F?.amount,isLoading:x===`preparing`},{label:`Estimated fee`,value:F?.fee,isLoading:x===`preparing`},{label:`Total`,value:F?.total,isLoading:x===`preparing`}]}),(0,W.jsx)(c,{style:{marginTop:`1rem`},loading:x===`preparing`||x===`sending`,onClick:function(){x===`loaded`&&D&&X&&(T(`sending`),async function({transaction:e,chain:n,sourceWallet:r,solanaClient:i}){let{hasFunds:a}=await de({solanaClient:i,tx:e});if(!a)throw new d(`Wallet ${t(r.address)} does not have enough funds.`,void 0,f.INSUFFICIENT_BALANCE);let o=me((await r.signAndSendTransaction({transaction:e,chain:n}).catch((e=>{throw new d(`Transaction was rejected by the user`,e,f.TRANSACTION_FAILURE)}))).signature);return await m({rpcSubscriptions:i.rpcSubscriptions,signature:o,timeout:2e4}),o}({solanaClient:Z,transaction:D,chain:G,sourceWallet:X}).then((e=>{T(`success`),o({eventName:`sdk_fiat_on_ramp_completed_with_status`,payload:{provider:`external`,status:`success`,txHash:e,address:X.address,value:V,chainType:`solana`,clusterName:G,token:H,destinationAddress:q,destinationValue:V,destinationChainType:`solana`,destinationClusterName:G,destinationToken:H}})})).catch((e=>{T(`error`),B(e)})))},children:`Confirm`}),(0,W.jsx)(l,{})]}:{children:[(0,W.jsx)(N,{}),(0,W.jsx)(u,{}),(0,W.jsx)(`div`,{style:{marginTop:`1rem`}}),(0,W.jsx)(l,{})]})}};export{Q as FundSolWalletWithExternalSolanaWallet,Q as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{O as t}from"./esm-vs5jNx_Y.js";import{$ as n,D as r,E as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{a as c,t as l}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as u}from"./index-CWARkn2w-Cezl_uBr.js";import{i as d,s as f}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{b as ee,r as p,u as m}from"./useWallets-X1ndvJ_U-CLwUcevw.js";import{B as h,H as g,M as _,S as v,X as y,_ as b,b as x,d as S,i as C,l as w,st as T,t as E,x as D}from"./index.browser-B-i-Lj3J.js";import{d as O,i as te,l as k,n as A,r as ne}from"./src-BBjkfi-Q.js";import{i as j}from"./SolanaWalletConnector-C7Lqk-Wz-BUdJJ0ep.js";import{t as re}from"./CheckCircleIcon-NCOQc0Gs.js";import{d as ie,n as ae,o as oe,u as se}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{n as M}from"./ScreenHeader-CHmc4-Lu-DjyrH7IK.js";import{t as N}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import{t as P}from"./useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js";import"./analytics-mkkvFRju-BRBcadka.js";import{t as ce}from"./getChainName-DjpPdUSc-DUyKDrnp.js";import{l as F,o as I,t as L}from"./getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js";import{a as R,i as z,n as B,t as V}from"./Value-DTgR824E-BRuIGiec.js";import{t as le}from"./InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js";import{t as ue}from"./getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js";import{n as H,t as de}from"./simulateTransaction-CfuOrae4-CMFGDgT_.js";var U=e(o(),1),W=a();function fe({rows:e}){return(0,W.jsx)(R,{children:e.filter((e=>!!e)).map(((e,t)=>e.value!=null||e.isLoading?(0,W.jsxs)(z,{children:[(0,W.jsx)(V,{children:e.label}),(0,W.jsx)(B,{$isLoading:e.isLoading,children:e.value})]},t):null))})}function G(e){if(!e)throw Error(`Expected a Address.`);return typeof e==`object`&&`address`in e?e.address:Array.isArray(e)?e[0]:e}function K(e,t){return e=>{if(!e.value)return;let t=e.isWritable?x.WRITABLE:x.READONLY;return Object.freeze({address:G(e.value),role:q(e.value)?D(t):t,...q(e.value)?{signer:e.value}:{}})}}function q(e){return!!e&&typeof e==`object`&&`address`in e&&k(e)}function J(){return T(_([[`discriminator`,h()],[`amount`,g()]]),e=>({...e,discriminator:2}))}function pe(e,t){let n=t?.programAddress??`11111111111111111111111111111111`,r={source:{value:e.source??null,isWritable:!0},destination:{value:e.destination??null,isWritable:!0}},i={...e},a=K();return Object.freeze({accounts:[a(r.source),a(r.destination)],data:J().encode(i),programAddress:n})}function me(e){return y().decode(e)}function Y(e){return BigInt(Math.floor(1e9*parseFloat(e)))}function X(e){return+Z.format(parseFloat(e.toString())/1e9)}var Z=Intl.NumberFormat(void 0,{maximumFractionDigits:8});async function he({tx:e,solanaClient:t,amount:n,asset:r,tokenPrice:i}){if(!e)return null;if(r===`SOL`&&i){let r=Y(n),a=L(r,i),o=await H({solanaClient:t,tx:e});return{amountInUsd:a,feeInUsd:i?L(o,i):void 0,totalInUsd:L(r+o,i)}}if(r===`USDC`&&i){let r=`$`+n,a=await H({solanaClient:t,tx:e}),o=function(e,t){let n=parseFloat(e.toString())/F*t;return n<.01?0:n}(a,i);return{amountInUsd:r,feeInUsd:L(a,i),totalInUsd:`$`+(parseFloat(n)+o).toFixed(2)}}if(r===`SOL`){let r=Y(n),i=await H({solanaClient:t,tx:e});return{amountInSol:n+` SOL`,feeInSol:X(i)+` SOL`,totalInSol:X(r+i)+` SOL`}}return{amountInUsdc:n+` USDC`,feeInSol:X(await H({solanaClient:t,tx:e}))+` SOL`}}var Q={component:function(){let e=r(),{closePrivyModal:a,createAnalyticsEvent:o}=n(),{data:h,setModalData:g,navigate:_}=s(),{wallets:y}=p(),[x,T]=(0,U.useState)(`preparing`),[D,k]=(0,U.useState)(),[F,R]=(0,U.useState)(),[z,B]=(0,U.useState)();if(!h?.solanaFundingData)throw Error(`Funding config is missing`);if(!h.solanaFundingData.sourceWalletData)throw Error(`Funding config is missing source wallet data`);let{amount:V,asset:H,chain:G,sourceWalletData:K,destinationAddress:q,afterSuccessScreen:J}=h.solanaFundingData,X=y.find((e=>e.address===K.address&&j(K.walletClientType)===j(e.standardWallet.name))),Z=ee()(G),{tokenPrice:Q,isTokenPriceLoading:$}=P(`solana`);return(0,U.useEffect)((()=>{if(x!==`preparing`||$||!X)return;let e=H===`SOL`?Y(V):function(e){return BigInt(Math.floor(1e6*parseFloat(e)))}(V);R({amount:(H===`SOL`&&Q?L(e,Q):V)??V}),(H===`SOL`?async function({solanaClient:e,source:t,destination:n,amountInLamports:r}){let{value:i}=await e.rpc.getLatestBlockhash().send(),a={address:t},o=v(S({version:0}),(e=>O(a,e)),(e=>b(i,e)),(e=>w(pe({amount:r,source:a,destination:n}),e)),(e=>E(e)));return new Uint8Array(C().encode(o))}({solanaClient:Z,source:X.address,destination:q,amountInLamports:e}):async function({solanaClient:e,source:t,destination:n,amountInBaseUnits:r}){let i=ue(e.chain),{value:a}=await e.rpc.getLatestBlockhash().send(),o={address:t},[s]=await A({mint:i,owner:t,tokenProgram:I}),[c]=await A({mint:i,owner:n,tokenProgram:I}),[l,u]=await Promise.all([e.rpc.getAccountInfo(s,{commitment:`confirmed`,encoding:`jsonParsed`}).send().catch((()=>null)),e.rpc.getAccountInfo(c,{commitment:`confirmed`,encoding:`jsonParsed`}).send().catch((()=>null))]);if(!l?.value)throw Error(`Source token account does not exist for address: ${t}`);let d=ne({payer:o,ata:c,owner:n,mint:i}),f=v(S({version:0}),(e=>O(o,e)),(e=>b(a,e)),(e=>u?.value?e:w(d,e)),(e=>w(te({source:s,destination:c,authority:o,amount:r}),e)),(e=>E(e)));return new Uint8Array(C().encode(f))}({solanaClient:Z,source:X.address,destination:q,amountInBaseUnits:e})).then(k).catch((e=>{T(`error`),B(e)}))}),[x,V,H,G,X,q,$,Q]),(0,U.useEffect)((()=>{x===`preparing`&&D&&he({tx:D,solanaClient:Z,amount:V,asset:H,tokenPrice:Q}).then((e=>{T(`loaded`),R({amount:e?.amountInUsd??e?.amountInUsdc??e?.amountInSol??V,fee:e?.feeInUsd??e?.feeInSol,total:e?.totalInUsd??e?.totalInSol})})).catch((e=>{T(`error`),B(e)}))}),[D,V,H,x,Q]),(0,U.useEffect)((()=>{x===`error`&&z&&(g({errorModalData:{error:z,previousScreen:`FundSolWalletWithExternalSolanaWallet`},solanaFundingData:h.solanaFundingData}),_(`ErrorScreen`,!1))}),[x,_]),(0,U.useEffect)((()=>{if(x!==`success`)return;let e=setTimeout(J?()=>_(J):a,i);return()=>clearTimeout(e)}),[x]),(0,W.jsxs)(W.Fragment,x===`success`?{children:[(0,W.jsx)(N,{}),(0,W.jsx)(ae,{}),(0,W.jsxs)(oe,{children:[(0,W.jsx)(re,{color:`var(--privy-color-success)`,width:`64px`,height:`64px`}),(0,W.jsx)(M,{title:`Success!`,description:`You’ve successfully added ${V} ${H} to your ${e.name} wallet. It may take a minute before the funds are available to use.`})]}),(0,W.jsx)(se,{}),(0,W.jsx)(l,{})]}:x===`preparing`||x===`loaded`||x===`sending`?{children:[(0,W.jsx)(N,{}),(0,W.jsx)(ie,{style:{marginTop:`16px`},children:(0,W.jsx)(le,{icon:X?.standardWallet.icon,name:X?.standardWallet.name})}),(0,W.jsx)(M,{style:{marginTop:`8px`,marginBottom:`12px`},title:x===`sending`&&X?`Confirming with ${X.standardWallet.name}`:`Confirm transaction`}),(0,W.jsx)(fe,{rows:[{label:`Source`,value:t(K.address)},{label:`Destination`,value:t(q)},{label:`Network`,value:ce(G)},{label:`Amount`,value:F?.amount,isLoading:x===`preparing`},{label:`Estimated fee`,value:F?.fee,isLoading:x===`preparing`},{label:`Total`,value:F?.total,isLoading:x===`preparing`}]}),(0,W.jsx)(c,{style:{marginTop:`1rem`},loading:x===`preparing`||x===`sending`,onClick:function(){x===`loaded`&&D&&X&&(T(`sending`),async function({transaction:e,chain:n,sourceWallet:r,solanaClient:i}){let{hasFunds:a}=await de({solanaClient:i,tx:e});if(!a)throw new d(`Wallet ${t(r.address)} does not have enough funds.`,void 0,f.INSUFFICIENT_BALANCE);let o=me((await r.signAndSendTransaction({transaction:e,chain:n}).catch((e=>{throw new d(`Transaction was rejected by the user`,e,f.TRANSACTION_FAILURE)}))).signature);return await m({rpcSubscriptions:i.rpcSubscriptions,signature:o,timeout:2e4}),o}({solanaClient:Z,transaction:D,chain:G,sourceWallet:X}).then((e=>{T(`success`),o({eventName:`sdk_fiat_on_ramp_completed_with_status`,payload:{provider:`external`,status:`success`,txHash:e,address:X.address,value:V,chainType:`solana`,clusterName:G,token:H,destinationAddress:q,destinationValue:V,destinationChainType:`solana`,destinationClusterName:G,destinationToken:H}})})).catch((e=>{T(`error`),B(e)})))},children:`Confirm`}),(0,W.jsx)(l,{})]}:{children:[(0,W.jsx)(N,{}),(0,W.jsx)(u,{}),(0,W.jsx)(`div`,{style:{marginTop:`1rem`}}),(0,W.jsx)(l,{})]})}};export{Q as FundSolWalletWithExternalSolanaWallet,Q as default};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{b as t}from"./esm-B5cbIQaz.js";import{i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{t as a}from"./createLucideIcon-IPW50ckY.js";import{t as o}from"./check-BPgcwEPP.js";import{t as s}from"./circle-x-AV9Cet0R.js";import{t as c}from"./hourglass-CPG1HZmf.js";import{n as l}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as u}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as d}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{C as f}from"./useWallets-X1ndvJ_U-DRjz7uYD.js";import{b as p}from"./use-headless-crypto-deposit-Yn-QRLB3-LUIVFBSd.js";import{t as m}from"./lib-BsS8z8Lj.js";import{t as h}from"./InfoBanner-Cb3p1z12-DLBl_Ywy.js";import{t as g}from"./CopyableText-CQapvaMr-DMIdpDaU.js";import{n as _,r as v,t as y}from"./SelectSourceAsset-CWFog6gm-D7yTw87h.js";var b=a(`user-check`,[[`path`,{d:`m16 11 2 2 4-4`,key:`9rsbq5`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),x=r(),S=e(i(),1),C=e(m(),1),w=e=>{try{return e.location.origin}catch{return}},T=({data:e,onClose:t})=>(0,x.jsx)(d,{showClose:!0,onClose:t,title:`Initiate bank transfer`,subtitle:`Use the details below to complete a bank transfer from your bank.`,primaryCta:{label:`Done`,onClick:t},watermark:!1,footerText:`Exchange rates and fees are set when you authorize and determine the amount you receive. You'll see the applicable rates and fees for your transaction separately`,children:(0,x.jsx)(E,{children:(p[e.deposit_instructions.asset]||[]).map((([t,n],r)=>{let i=e.deposit_instructions[t];if(!i||Array.isArray(i))return null;let a=t===`asset`?i.toUpperCase():i,o=a.length>100?`${a.slice(0,9)}...${a.slice(-9)}`:a;return(0,x.jsxs)(D,{children:[(0,x.jsx)(O,{children:n}),(0,x.jsx)(g,{value:a,includeChildren:C.isMobile,children:(0,x.jsx)(k,{children:o})})]},r)}))})}),E=u.ol`
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{b as t}from"./esm-vs5jNx_Y.js";import{i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{t as a}from"./createLucideIcon-IPW50ckY.js";import{t as o}from"./check-BPgcwEPP.js";import{t as s}from"./circle-x-AV9Cet0R.js";import{t as c}from"./hourglass-CPG1HZmf.js";import{n as l}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as u}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as d}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{C as f}from"./useWallets-X1ndvJ_U-CLwUcevw.js";import{b as p}from"./use-headless-crypto-deposit-Yn-QRLB3-Dn6_8w-Y.js";import{t as m}from"./lib-BsS8z8Lj.js";import{t as h}from"./InfoBanner-Cb3p1z12-DLBl_Ywy.js";import{t as g}from"./CopyableText-CQapvaMr-DMIdpDaU.js";import{n as _,r as v,t as y}from"./SelectSourceAsset-CWFog6gm-RKjBsB6m.js";var b=a(`user-check`,[[`path`,{d:`m16 11 2 2 4-4`,key:`9rsbq5`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),x=r(),S=e(i(),1),C=e(m(),1),w=e=>{try{return e.location.origin}catch{return}},T=({data:e,onClose:t})=>(0,x.jsx)(d,{showClose:!0,onClose:t,title:`Initiate bank transfer`,subtitle:`Use the details below to complete a bank transfer from your bank.`,primaryCta:{label:`Done`,onClick:t},watermark:!1,footerText:`Exchange rates and fees are set when you authorize and determine the amount you receive. You'll see the applicable rates and fees for your transaction separately`,children:(0,x.jsx)(E,{children:(p[e.deposit_instructions.asset]||[]).map((([t,n],r)=>{let i=e.deposit_instructions[t];if(!i||Array.isArray(i))return null;let a=t===`asset`?i.toUpperCase():i,o=a.length>100?`${a.slice(0,9)}...${a.slice(-9)}`:a;return(0,x.jsxs)(D,{children:[(0,x.jsx)(O,{children:n}),(0,x.jsx)(g,{value:a,includeChildren:C.isMobile,children:(0,x.jsx)(k,{children:o})})]},r)}))})}),E=u.ol`
2
2
  border-color: var(--privy-color-border-default);
3
3
  border-width: 1px;
4
4
  border-radius: var(--privy-border-radius-mdlg);
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{t as n}from"./react-DrJ0MmMO.js";import{n as r}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as i,t as a}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as o}from"./index-CWARkn2w-Cezl_uBr.js";import{t as s}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{t as c}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import{t as l}from"./useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js";import{t as u}from"./Title-BnzYV3Is-B_JpTatT.js";import{a as d}from"./ethers-zTjbodk5-wHhL_BQ1.js";import{a as f,c as p,n as m,r as h,t as g}from"./styles-Cm9H63WO-Br4QtzUL.js";var _=t(),v=e(n(),1),y={component:()=>{let{data:e,setModalData:t}=r(),n=e?.funding,y=n.chainType===`solana`,b=(0,v.useRef)(null),{tokenPrice:x}=l(y?`solana`:n.chain.id),S=y?void 0:n,C=!(!S?.erc20Address||S?.erc20ContractInfo),w=y?n.isUSDC?`USDC`:`SOL`:n.erc20Address?n.erc20ContractInfo?.symbol:n.chain.nativeCurrency.symbol||`ETH`,T=parseFloat(n.amount),E=!isNaN(T)&&T>0,D=x?d(n.amount,x):void 0;return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(c,{}),(0,_.jsx)(u,{children:`Confirm or edit amount`}),(0,_.jsxs)(s,{style:{marginTop:`32px`},children:[(0,_.jsx)(g,{children:C?(0,_.jsx)(o,{size:`50px`}):(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(p,{onClick:()=>b.current?.focus(),children:[(0,_.jsx)(h,{ref:b,value:n.amount,onChange:r=>{let i=r.target.value;/^[0-9.]*$/.test(i)&&i.split(`.`).length-1<=1&&t({...e,funding:{...n,amount:i},solanaFundingData:e?.solanaFundingData?{...e.solanaFundingData,amount:i}:void 0})}}),(0,_.jsx)(m,{children:w})]}),!S?.erc20Address&&!(y&&n.isUSDC)&&(0,_.jsx)(f,{children:D&&E?`${D} USD`:``})]})}),(0,_.jsx)(i,{style:{marginTop:`1rem`},disabled:!E,onClick:n.onContinueWithExternalWallet,children:`Continue`})]}),(0,_.jsx)(a,{})]})}};export{y as FundingAmountEditScreen,y as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{t as n}from"./react-DrJ0MmMO.js";import{n as r}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as i,t as a}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as o}from"./index-CWARkn2w-Cezl_uBr.js";import{t as s}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{t as c}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import{t as l}from"./useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js";import{t as u}from"./Title-BnzYV3Is-B_JpTatT.js";import{a as d}from"./ethers-zTjbodk5-B7BBFFKf.js";import{a as f,c as p,n as m,r as h,t as g}from"./styles-Cm9H63WO-D90SsXOs.js";var _=t(),v=e(n(),1),y={component:()=>{let{data:e,setModalData:t}=r(),n=e?.funding,y=n.chainType===`solana`,b=(0,v.useRef)(null),{tokenPrice:x}=l(y?`solana`:n.chain.id),S=y?void 0:n,C=!(!S?.erc20Address||S?.erc20ContractInfo),w=y?n.isUSDC?`USDC`:`SOL`:n.erc20Address?n.erc20ContractInfo?.symbol:n.chain.nativeCurrency.symbol||`ETH`,T=parseFloat(n.amount),E=!isNaN(T)&&T>0,D=x?d(n.amount,x):void 0;return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(c,{}),(0,_.jsx)(u,{children:`Confirm or edit amount`}),(0,_.jsxs)(s,{style:{marginTop:`32px`},children:[(0,_.jsx)(g,{children:C?(0,_.jsx)(o,{size:`50px`}):(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(p,{onClick:()=>b.current?.focus(),children:[(0,_.jsx)(h,{ref:b,value:n.amount,onChange:r=>{let i=r.target.value;/^[0-9.]*$/.test(i)&&i.split(`.`).length-1<=1&&t({...e,funding:{...n,amount:i},solanaFundingData:e?.solanaFundingData?{...e.solanaFundingData,amount:i}:void 0})}}),(0,_.jsx)(m,{children:w})]}),!S?.erc20Address&&!(y&&n.isUSDC)&&(0,_.jsx)(f,{children:D&&E?`${D} USD`:``})]})}),(0,_.jsx)(i,{style:{marginTop:`1rem`},disabled:!E,onClick:n.onContinueWithExternalWallet,children:`Continue`})]}),(0,_.jsx)(a,{})]})}};export{y as FundingAmountEditScreen,y as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{L as t,T as n,j as r,p as i,w as a}from"./esm-B5cbIQaz.js";import{$ as o,Ct as s,D as c,bt as l,dt as u,ft as d,nt as f,wt as p,xt as m}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as h}from"./jsx-runtime-BbDfbRii.js";import{t as g}from"./react-DrJ0MmMO.js";import{n as _}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as v}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{n as y,t as b}from"./GooglePay-B53WnudL-BX5_WtCx.js";import{n as x,r as S,t as C}from"./isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js";import{i as w}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{l as T}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{wn as E}from"./localBatchGatewayRequest-3kLrX_c7.js";import{C as D}from"./useWallets-X1ndvJ_U-DRjz7uYD.js";import{f as O,l as k}from"./guards-BIW-GiMJ-CHfXo8XI.js";import{c as A}from"./useActiveWallet-B-yZYGc6-D7Ik-LxJ.js";import{t as j}from"./InfoBanner-Cb3p1z12-DLBl_Ywy.js";import{t as M}from"./WalletCards-DH1rqayz-Bgp9Fsgs.js";import{t as N}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import{i as P,o as F,s as I}from"./styles-Cm9H63WO-Br4QtzUL.js";import{t as L}from"./ArrowsRightLeftIcon-cp60yobq.js";import{t as R}from"./ErrorBanner-BcpGRt0h-BKOYTyCi.js";import{t as z}from"./getErc20TokenInfo-BNTrzLMP-KPrdn04K.js";import{t as B}from"./index-BdEw5wyl-ChSJvPZk.js";var V=h(),H=e(g());function U({title:e,titleId:t,...n},r){return H.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?H.createElement(`title`,{id:t},e):null,H.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Z`}))}var W=H.forwardRef(U);function G({title:e,titleId:t,...n},r){return H.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?H.createElement(`title`,{id:t},e):null,H.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z`}),H.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z`}))}var K=H.forwardRef(G);function q(e){let t=J[e];if(!t)throw new w(`Unsupported chainId: ${e} for Coinbase Onramp`);return t}var J={[p.id]:`ethereum`,[u.id]:`base`,[s.id]:`optimism`,[f.id]:`polygon`,[m.id]:`arbitrum`,[l.id]:`avacchain`,[d.id]:`monad`},Y=(e,t,r,i,o,s)=>new Promise((async(c,l)=>{let u=D();if(!u)return void l(Error(`Unable to initialize flow`));let d=t.chainType===`ethereum`?q(t.chain.id):`solana`,f=t.isUSDC?`USDC`:t.chainType===`ethereum`?n(t.chain.id,`native-currency`):`SOL`,p=await e.initCoinbaseOnRamp({addresses:[{address:t.address,blockchains:[d]}],assets:[f]}),{url:m}=a({appId:e.getAppId(),input:p,amount:t.amount,blockchain:d,asset:f,experience:s});u.location=m.toString();let h={...o?.funding,showAlternateFundingMethod:!0};t.usingDefaultFundingMethod&&(h.usingDefaultFundingMethod=!1),r({funding:h,solanaFundingData:o?.solanaFundingData,coinbaseOnrampStatus:{popup:u}}),i(`CoinbaseOnrampStatusScreen`),e.createAnalyticsEvent({eventName:`sdk_fiat_on_ramp_started`,payload:{provider:`coinbase-onramp`,value:t.amount,chainType:t.chainType,chainId:t.chainType===`ethereum`?t.chain.id:t.chain}}),setTimeout((()=>{r({funding:h,solanaFundingData:o?.solanaFundingData,coinbaseOnrampStatus:{partnerUserId:p.partner_user_id,popup:u}})}),5e3),c()})),X=async(e,t,n,i,a,o,s,c)=>{let l=D();if(!l)throw Error(`Unable to initialize flow`);let u=t.chainType===`ethereum`?r(t.chain.id,i):t.isUSDC?`USDC_SOL`:`SOL`,{signedUrl:d,externalTransactionId:f}=await e.signMoonpayOnRampUrl({address:t.address,useSandbox:n.fundingMethodConfig.moonpay.useSandbox??!1,config:{uiConfig:{accentColor:n.appearance.palette.accent,theme:n.appearance.palette.colorScheme},paymentMethod:c,currencyCode:u,quoteCurrencyAmount:B(t.amount)}});e.createAnalyticsEvent({eventName:`sdk_fiat_on_ramp_started`,payload:{provider:`moonpay`,value:t.amount,chainType:t.chainType,chainId:t.chainType===`ethereum`?t.chain.id:t.chain}}),l.location=d;let p={...s?.funding,showAlternateFundingMethod:!0};t.usingDefaultFundingMethod&&(p.usingDefaultFundingMethod=!1),a({moonpayStatus:{},funding:p,solanaFundingData:s?.solanaFundingData}),o(`MoonpayStatusScreen`),setTimeout((()=>{a({moonpayStatus:{externalTransactionId:f},funding:p,solanaFundingData:s?.solanaFundingData})}),8e3)},Z={component:()=>{let{wallets:e}=T(),{connectors:n}=o(),r=n.filter(O).flatMap((e=>e.wallets)),{navigate:a,data:s,setModalData:l}=_(),{client:u}=o(),d=c(),f=s?.funding,p=C(x),m=C(S),h=f.chainType===`solana`,g=h?void 0:f,w=(0,H.useMemo)((()=>((e,n,r,a,o,s)=>{let c,l,u=r.chainType===`solana`,d=u?void 0:r,f=r.isUSDC?`USDC`:d?.erc20Address?void 0:`native-currency`,p=!!u||f&&t(Number(r.chain.id),f),m=!!u||f&&i(Number(r.chain.id),f),h=[];for(let t of(r.preferredCardProvider&&r.supportedOptions.sort((e=>e.provider===r.preferredCardProvider?-1:1)),r.supportedOptions))t.method===`card`&&t.provider===`coinbase`&&m&&h.push((()=>Y(n,r,a,o,s,`buy`))),t.method===`card`&&t.provider===`moonpay`&&p&&f&&h.push((()=>X(n,r,e,f,a,o,s,`credit_debit_card`)));for(let e of r.supportedOptions)e.method===`exchange`&&e.provider===`coinbase`&&m&&(c=()=>Y(n,r,a,o,s,`buy`));for(let e of s?.funding?.supportedOptions??[])e.method===`wallets`&&(l=()=>o(`TransferFromWalletScreen`));return{onFundWithCard:h,onFundWithExchange:c,onFundWithWallet:l}})(d,u,f,l,a,s)),[d,u,f,s,l,a]),D=h?r.find((({address:e})=>e===f.address)):e.find((({address:e})=>E(e)===E(f.address))),B=k(D?.walletClientType||`unknown`)?.name||`wallet`,U=D&&D.walletClientType!==`privy`?B:d.name,G=(0,H.useMemo)((()=>f.uiConfig?.landing?.title?f.uiConfig?.landing?.title:`Add funds to your ${U?.toLowerCase().endsWith(`wallet`)?U:U+` wallet`}`),[f.uiConfig?.landing?.title,U]);(0,H.useEffect)((()=>{if(f?.defaultFundingMethod&&f.usingDefaultFundingMethod)switch(l({funding:{...f,usingDefaultFundingMethod:!1},solanaFundingData:s?.solanaFundingData}),f?.defaultFundingMethod){case`card`:w.onFundWithCard[0]&&w.onFundWithCard[0]();break;case`exchange`:w.onFundWithExchange&&w.onFundWithExchange();break;case`wallet`:w.onFundWithWallet&&w.onFundWithWallet();break;case`manual`:a(`ManualTransferScreen`)}}),[]),(0,H.useEffect)((()=>{g?.erc20Address&&!g.erc20ContractInfo&&z({address:g.erc20Address,chain:g.chain,rpcConfig:d.rpcConfig,privyAppId:d.id}).then((e=>{l({...s,funding:{...g,erc20ContractInfo:e?{symbol:e.symbol,decimals:e.decimals}:void 0}})})).catch(console.error)}),[g?.erc20Address,g?.chain]);let q=!(!g?.erc20Address||g?.erc20ContractInfo);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(N,{}),(0,V.jsx)(`h3`,{children:G}),(0,V.jsxs)(P,{children:[f.errorMessage&&(0,V.jsx)(R,{theme:d.appearance.palette.colorScheme,children:f.errorMessage}),w.onFundWithCard?.[0]&&(0,V.jsxs)(A,{disabled:q,onClick:w.onFundWithCard[0],children:[(0,V.jsx)(I,{children:(0,V.jsx)(W,{style:{width:24}})}),`Pay with card`,p?(0,V.jsx)(y,{style:{marginLeft:`auto`,maxWidth:`100%`,width:`auto`,height:`0.875rem`}}):m?(0,V.jsx)(b,{style:{marginLeft:`auto`,maxWidth:`100%`,width:`auto`,height:`0.875rem`}}):null]}),w.onFundWithExchange&&(0,V.jsxs)(A,{disabled:q,onClick:w.onFundWithExchange,children:[(0,V.jsx)(I,{children:(0,V.jsx)(L,{style:{width:24}})}),`Transfer from an exchange`]}),w.onFundWithWallet&&(0,V.jsxs)(A,{disabled:q,onClick:w.onFundWithWallet,children:[(0,V.jsx)(I,{children:(0,V.jsx)(M,{style:{width:24}})}),`Transfer from wallet`]}),(0,V.jsxs)(A,{disabled:q,onClick:()=>a(`ManualTransferScreen`),children:[(0,V.jsx)(I,{children:(0,V.jsx)(K,{style:{width:24}})}),`Receive funds`]}),f?.showAlternateFundingMethod&&w.onFundWithCard?.[1]&&(0,V.jsxs)(j,{theme:d.appearance.palette.colorScheme,children:[`Having trouble or facing location restrictions?`,` `,(0,V.jsx)(F,{onClick:w.onFundWithCard[1],children:`Try a different provider.`})]})]}),(0,V.jsx)(v,{})]})}};export{Z as FundingMethodSelectionScreen,Z as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{L as t,T as n,j as r,p as i,w as a}from"./esm-vs5jNx_Y.js";import{$ as o,Ct as s,D as c,bt as l,dt as u,ft as d,nt as f,wt as p,xt as m}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as h}from"./jsx-runtime-BbDfbRii.js";import{t as g}from"./react-DrJ0MmMO.js";import{n as _}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as v}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{n as y,t as b}from"./GooglePay-B53WnudL-BX5_WtCx.js";import{n as x,r as S,t as C}from"./isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js";import{i as w}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{l as T}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{wn as E}from"./localBatchGatewayRequest-5YxrERBj.js";import{C as D}from"./useWallets-X1ndvJ_U-CLwUcevw.js";import{f as O,l as k}from"./guards-BIW-GiMJ-CHfXo8XI.js";import{c as A}from"./useActiveWallet-B-yZYGc6-B6JWREbk.js";import{t as j}from"./InfoBanner-Cb3p1z12-DLBl_Ywy.js";import{t as M}from"./WalletCards-DH1rqayz-Bgp9Fsgs.js";import{t as N}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import{i as P,o as F,s as I}from"./styles-Cm9H63WO-D90SsXOs.js";import{t as L}from"./ArrowsRightLeftIcon-cp60yobq.js";import{t as R}from"./ErrorBanner-BcpGRt0h-BKOYTyCi.js";import{t as z}from"./getErc20TokenInfo-BNTrzLMP-CtCwQuGA.js";import{t as B}from"./index-BdEw5wyl-ChSJvPZk.js";var V=h(),H=e(g());function U({title:e,titleId:t,...n},r){return H.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?H.createElement(`title`,{id:t},e):null,H.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Z`}))}var W=H.forwardRef(U);function G({title:e,titleId:t,...n},r){return H.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?H.createElement(`title`,{id:t},e):null,H.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z`}),H.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z`}))}var K=H.forwardRef(G);function q(e){let t=J[e];if(!t)throw new w(`Unsupported chainId: ${e} for Coinbase Onramp`);return t}var J={[p.id]:`ethereum`,[u.id]:`base`,[s.id]:`optimism`,[f.id]:`polygon`,[m.id]:`arbitrum`,[l.id]:`avacchain`,[d.id]:`monad`},Y=(e,t,r,i,o,s)=>new Promise((async(c,l)=>{let u=D();if(!u)return void l(Error(`Unable to initialize flow`));let d=t.chainType===`ethereum`?q(t.chain.id):`solana`,f=t.isUSDC?`USDC`:t.chainType===`ethereum`?n(t.chain.id,`native-currency`):`SOL`,p=await e.initCoinbaseOnRamp({addresses:[{address:t.address,blockchains:[d]}],assets:[f]}),{url:m}=a({appId:e.getAppId(),input:p,amount:t.amount,blockchain:d,asset:f,experience:s});u.location=m.toString();let h={...o?.funding,showAlternateFundingMethod:!0};t.usingDefaultFundingMethod&&(h.usingDefaultFundingMethod=!1),r({funding:h,solanaFundingData:o?.solanaFundingData,coinbaseOnrampStatus:{popup:u}}),i(`CoinbaseOnrampStatusScreen`),e.createAnalyticsEvent({eventName:`sdk_fiat_on_ramp_started`,payload:{provider:`coinbase-onramp`,value:t.amount,chainType:t.chainType,chainId:t.chainType===`ethereum`?t.chain.id:t.chain}}),setTimeout((()=>{r({funding:h,solanaFundingData:o?.solanaFundingData,coinbaseOnrampStatus:{partnerUserId:p.partner_user_id,popup:u}})}),5e3),c()})),X=async(e,t,n,i,a,o,s,c)=>{let l=D();if(!l)throw Error(`Unable to initialize flow`);let u=t.chainType===`ethereum`?r(t.chain.id,i):t.isUSDC?`USDC_SOL`:`SOL`,{signedUrl:d,externalTransactionId:f}=await e.signMoonpayOnRampUrl({address:t.address,useSandbox:n.fundingMethodConfig.moonpay.useSandbox??!1,config:{uiConfig:{accentColor:n.appearance.palette.accent,theme:n.appearance.palette.colorScheme},paymentMethod:c,currencyCode:u,quoteCurrencyAmount:B(t.amount)}});e.createAnalyticsEvent({eventName:`sdk_fiat_on_ramp_started`,payload:{provider:`moonpay`,value:t.amount,chainType:t.chainType,chainId:t.chainType===`ethereum`?t.chain.id:t.chain}}),l.location=d;let p={...s?.funding,showAlternateFundingMethod:!0};t.usingDefaultFundingMethod&&(p.usingDefaultFundingMethod=!1),a({moonpayStatus:{},funding:p,solanaFundingData:s?.solanaFundingData}),o(`MoonpayStatusScreen`),setTimeout((()=>{a({moonpayStatus:{externalTransactionId:f},funding:p,solanaFundingData:s?.solanaFundingData})}),8e3)},Z={component:()=>{let{wallets:e}=T(),{connectors:n}=o(),r=n.filter(O).flatMap((e=>e.wallets)),{navigate:a,data:s,setModalData:l}=_(),{client:u}=o(),d=c(),f=s?.funding,p=C(x),m=C(S),h=f.chainType===`solana`,g=h?void 0:f,w=(0,H.useMemo)((()=>((e,n,r,a,o,s)=>{let c,l,u=r.chainType===`solana`,d=u?void 0:r,f=r.isUSDC?`USDC`:d?.erc20Address?void 0:`native-currency`,p=!!u||f&&t(Number(r.chain.id),f),m=!!u||f&&i(Number(r.chain.id),f),h=[];for(let t of(r.preferredCardProvider&&r.supportedOptions.sort((e=>e.provider===r.preferredCardProvider?-1:1)),r.supportedOptions))t.method===`card`&&t.provider===`coinbase`&&m&&h.push((()=>Y(n,r,a,o,s,`buy`))),t.method===`card`&&t.provider===`moonpay`&&p&&f&&h.push((()=>X(n,r,e,f,a,o,s,`credit_debit_card`)));for(let e of r.supportedOptions)e.method===`exchange`&&e.provider===`coinbase`&&m&&(c=()=>Y(n,r,a,o,s,`buy`));for(let e of s?.funding?.supportedOptions??[])e.method===`wallets`&&(l=()=>o(`TransferFromWalletScreen`));return{onFundWithCard:h,onFundWithExchange:c,onFundWithWallet:l}})(d,u,f,l,a,s)),[d,u,f,s,l,a]),D=h?r.find((({address:e})=>e===f.address)):e.find((({address:e})=>E(e)===E(f.address))),B=k(D?.walletClientType||`unknown`)?.name||`wallet`,U=D&&D.walletClientType!==`privy`?B:d.name,G=(0,H.useMemo)((()=>f.uiConfig?.landing?.title?f.uiConfig?.landing?.title:`Add funds to your ${U?.toLowerCase().endsWith(`wallet`)?U:U+` wallet`}`),[f.uiConfig?.landing?.title,U]);(0,H.useEffect)((()=>{if(f?.defaultFundingMethod&&f.usingDefaultFundingMethod)switch(l({funding:{...f,usingDefaultFundingMethod:!1},solanaFundingData:s?.solanaFundingData}),f?.defaultFundingMethod){case`card`:w.onFundWithCard[0]&&w.onFundWithCard[0]();break;case`exchange`:w.onFundWithExchange&&w.onFundWithExchange();break;case`wallet`:w.onFundWithWallet&&w.onFundWithWallet();break;case`manual`:a(`ManualTransferScreen`)}}),[]),(0,H.useEffect)((()=>{g?.erc20Address&&!g.erc20ContractInfo&&z({address:g.erc20Address,chain:g.chain,rpcConfig:d.rpcConfig,privyAppId:d.id}).then((e=>{l({...s,funding:{...g,erc20ContractInfo:e?{symbol:e.symbol,decimals:e.decimals}:void 0}})})).catch(console.error)}),[g?.erc20Address,g?.chain]);let q=!(!g?.erc20Address||g?.erc20ContractInfo);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(N,{}),(0,V.jsx)(`h3`,{children:G}),(0,V.jsxs)(P,{children:[f.errorMessage&&(0,V.jsx)(R,{theme:d.appearance.palette.colorScheme,children:f.errorMessage}),w.onFundWithCard?.[0]&&(0,V.jsxs)(A,{disabled:q,onClick:w.onFundWithCard[0],children:[(0,V.jsx)(I,{children:(0,V.jsx)(W,{style:{width:24}})}),`Pay with card`,p?(0,V.jsx)(y,{style:{marginLeft:`auto`,maxWidth:`100%`,width:`auto`,height:`0.875rem`}}):m?(0,V.jsx)(b,{style:{marginLeft:`auto`,maxWidth:`100%`,width:`auto`,height:`0.875rem`}}):null]}),w.onFundWithExchange&&(0,V.jsxs)(A,{disabled:q,onClick:w.onFundWithExchange,children:[(0,V.jsx)(I,{children:(0,V.jsx)(L,{style:{width:24}})}),`Transfer from an exchange`]}),w.onFundWithWallet&&(0,V.jsxs)(A,{disabled:q,onClick:w.onFundWithWallet,children:[(0,V.jsx)(I,{children:(0,V.jsx)(M,{style:{width:24}})}),`Transfer from wallet`]}),(0,V.jsxs)(A,{disabled:q,onClick:()=>a(`ManualTransferScreen`),children:[(0,V.jsx)(I,{children:(0,V.jsx)(K,{style:{width:24}})}),`Receive funds`]}),f?.showAlternateFundingMethod&&w.onFundWithCard?.[1]&&(0,V.jsxs)(j,{theme:d.appearance.palette.colorScheme,children:[`Having trouble or facing location restrictions?`,` `,(0,V.jsx)(F,{onClick:w.onFundWithCard[1],children:`Try a different provider.`})]})]}),(0,V.jsx)(v,{})]})}};export{Z as FundingMethodSelectionScreen,Z as default};
@@ -1 +1 @@
1
- import{D as e}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{n,t as r}from"./CustomLandingScreenView-Cm_MBSyX-CBOrbNLo.js";var i=t(),a={component:()=>{let t=e();return t.loginMethodsAndOrder&&t.loginMethodsAndOrder.primary.length>0?(0,i.jsx)(r,{connectOnly:!1}):(0,i.jsx)(n,{connectOnly:!1})},isCaptchaRequired:!0,isUnauthenticatedScreem:!0};export{a as LandingScreen,a as default};
1
+ import{D as e}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{n,t as r}from"./CustomLandingScreenView-Cm_MBSyX-B3WqJZBh.js";var i=t(),a={component:()=>{let t=e();return t.loginMethodsAndOrder&&t.loginMethodsAndOrder.primary.length>0?(0,i.jsx)(r,{connectOnly:!1}):(0,i.jsx)(n,{connectOnly:!1})},isCaptchaRequired:!0,isUnauthenticatedScreem:!0};export{a as LandingScreen,a as default};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as o}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as s,i as c,o as l,t as u}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as d}from"./ExclamationCircleIcon-DUA2wMfO.js";import{t as f}from"./ExclamationTriangleIcon-eZfaqcFq.js";import{t as p}from"./WalletIcon-gKf0gTw6.js";import{t as m}from"./Address-H8kD1d9O-C85sJ79B.js";import{t as h}from"./StackedContainer-B2vaEl56-eQCM2cmv.js";import{t as g}from"./capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js";var _=r(),v=e(i());function y({title:e,titleId:t,...n},r){return v.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?v.createElement(`title`,{id:t},e):null,v.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M16.5 8.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v8.25A2.25 2.25 0 0 0 6 16.5h2.25m8.25-8.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-7.5A2.25 2.25 0 0 1 8.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 0 0-2.25 2.25v6`}))}var b=v.forwardRef(y),x=o.span`
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as o}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as s,i as c,o as l,t as u}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as d}from"./ExclamationCircleIcon-DUA2wMfO.js";import{t as f}from"./ExclamationTriangleIcon-eZfaqcFq.js";import{t as p}from"./WalletIcon-gKf0gTw6.js";import{t as m}from"./Address-H8kD1d9O-DcHv7A8C.js";import{t as h}from"./StackedContainer-B2vaEl56-eQCM2cmv.js";import{t as g}from"./capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js";var _=r(),v=e(i());function y({title:e,titleId:t,...n},r){return v.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?v.createElement(`title`,{id:t},e):null,v.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M16.5 8.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v8.25A2.25 2.25 0 0 0 6 16.5h2.25m8.25-8.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-7.5A2.25 2.25 0 0 1 8.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 0 0-2.25 2.25v6`}))}var b=v.forwardRef(y),x=o.span`
2
2
  && {
3
3
  width: 82px;
4
4
  height: 82px;
@@ -1 +1 @@
1
- import{D as e}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{t as n}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{t as r}from"./EnvelopeIcon-Dh2vSVj4.js";import{i}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{t as a}from"./ConnectEmailForm-B-VRE0MN-N9J6T_YL.js";var o=t(),s=({title:e=`Connect your email`,subtitle:t=`Add your email to your account`})=>(0,o.jsx)(n,{title:e,subtitle:t,icon:r,watermark:!0,children:(0,o.jsx)(i,{children:(0,o.jsx)(a,{stacked:!0})})}),c={component:()=>{let t=e();return(0,o.jsx)(s,{subtitle:`Add your email to your ${t?.name} account`})}};export{c as LinkEmailScreen,c as default,s as LinkEmailScreenView};
1
+ import{D as e}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{t as n}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{t as r}from"./EnvelopeIcon-Dh2vSVj4.js";import{i}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{t as a}from"./ConnectEmailForm-B-VRE0MN-DVSf4tFJ.js";var o=t(),s=({title:e=`Connect your email`,subtitle:t=`Add your email to your account`})=>(0,o.jsx)(n,{title:e,subtitle:t,icon:r,watermark:!0,children:(0,o.jsx)(i,{children:(0,o.jsx)(a,{stacked:!0})})}),c={component:()=>{let t=e();return(0,o.jsx)(s,{subtitle:`Add your email to your ${t?.name} account`})}};export{c as LinkEmailScreen,c as default,s as LinkEmailScreenView};
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"./LinkPasskeyScreen-zbrl_AI_-uid22VTN.js";export{n as DoubleIconWrapper,t as LinkButton,r as LinkPasskeyScreen,r as default,e as LinkPasskeyView};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{t as a}from"./createLucideIcon-IPW50ckY.js";import{t as o}from"./circle-check-big-Chb1ivw9.js";import{t as s}from"./fingerprint-pattern-D8ytA16Q.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as l,r as u,s as d}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as f}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{f as p,s as m}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{l as h}from"./useWallets-X1ndvJ_U-DRjz7uYD.js";import{n as g,t as _}from"./TodoList-DnyULl18-C8Eyy28X.js";var v=a(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),y=r(),b=e(i(),1),x=({passkeys:e,name:t,isLoading:n,errorReason:r,success:i,expanded:a,onLinkPasskey:c,onUnlinkPasskey:l,onExpand:u,onBack:d,onClose:p})=>i?(0,y.jsx)(f,{title:`Passkeys updated`,icon:o,iconVariant:`success`,primaryCta:{label:`Done`,onClick:p},onClose:p,watermark:!0}):a?(0,y.jsx)(f,{icon:s,title:`Your passkeys`,onBack:d,onClose:p,watermark:!0,children:(0,y.jsx)(E,{passkeys:e,expanded:a,onUnlink:l,onExpand:u})}):(0,y.jsxs)(f,{icon:s,title:`Set up passkey verification`,subtitle:`Verify with passkey`,primaryCta:{label:`Add new passkey`,onClick:c,loading:n},onClose:p,watermark:!0,helpText:r||void 0,children:[e.length===0?(0,y.jsx)(D,{}):(0,y.jsx)(S,{children:(0,y.jsx)(E,{passkeys:e,expanded:a,onUnlink:l,onExpand:u})}),t?(0,y.jsxs)(C,{children:[(0,y.jsx)(w,{children:`New Passkey Name`}),(0,y.jsx)(T,{children:t})]}):null]}),S=l.div`
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{t as a}from"./createLucideIcon-IPW50ckY.js";import{t as o}from"./circle-check-big-Chb1ivw9.js";import{t as s}from"./fingerprint-pattern-D8ytA16Q.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as l,r as u,s as d}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as f}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{f as p,s as m}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{l as h}from"./useWallets-X1ndvJ_U-CLwUcevw.js";import{n as g,t as _}from"./TodoList-DnyULl18-C8Eyy28X.js";var v=a(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),y=r(),b=e(i(),1),x=({passkeys:e,name:t,isLoading:n,errorReason:r,success:i,expanded:a,onLinkPasskey:c,onUnlinkPasskey:l,onExpand:u,onBack:d,onClose:p})=>i?(0,y.jsx)(f,{title:`Passkeys updated`,icon:o,iconVariant:`success`,primaryCta:{label:`Done`,onClick:p},onClose:p,watermark:!0}):a?(0,y.jsx)(f,{icon:s,title:`Your passkeys`,onBack:d,onClose:p,watermark:!0,children:(0,y.jsx)(E,{passkeys:e,expanded:a,onUnlink:l,onExpand:u})}):(0,y.jsxs)(f,{icon:s,title:`Set up passkey verification`,subtitle:`Verify with passkey`,primaryCta:{label:`Add new passkey`,onClick:c,loading:n},onClose:p,watermark:!0,helpText:r||void 0,children:[e.length===0?(0,y.jsx)(D,{}):(0,y.jsx)(S,{children:(0,y.jsx)(E,{passkeys:e,expanded:a,onUnlink:l,onExpand:u})}),t?(0,y.jsxs)(C,{children:[(0,y.jsx)(w,{children:`New Passkey Name`}),(0,y.jsx)(T,{children:t})]}):null]}),S=l.div`
2
2
  margin-bottom: 0.75rem;
3
3
  `,C=l.div`
4
4
  margin-top: 0.25rem;
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as o}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{t as s}from"./PhoneIcon-CvIiPwYQ.js";import{t as c}from"./ConnectPhoneForm-Dek5xn4C-BEA4FmhI.js";var l=r(),u=e(i(),1),d=({title:e=`Connect your phone`,subtitle:t=`Add your number to your account`,onSubmit:n,isSubmitting:r=!1})=>{let[i,a]=(0,u.useState)(null),d=async()=>{i?.qualifiedPhoneNumber&&await n(i)};return(0,l.jsx)(o,{title:e,subtitle:t,icon:s,primaryCta:{label:r?`Submitting`:`Submit`,onClick:d,disabled:!i?.isValid||r},watermark:!0,children:(0,l.jsx)(c,{onChange:e=>{a(e)},onSubmit:d,noIncludeSubmitButton:!0,hideRecent:!0})})},f={component:()=>{let{currentScreen:e,data:r,navigate:i,setModalData:o}=a(),s=n(),{initLoginWithSms:c}=t(),[f,p]=(0,u.useState)(!1);return(0,l.jsx)(d,{subtitle:`Add your number to your ${s?.name} account`,onSubmit:async t=>{p(!0);try{await c({phoneNumber:t.qualifiedPhoneNumber,withPrivyUi:!0}),i(`AwaitingPasswordlessCodeScreen`)}catch(t){o({errorModalData:{error:t,previousScreen:r?.errorModalData?.previousScreen||e||`LinkPhoneScreen`}}),i(`ErrorScreen`)}finally{p(!1)}},isSubmitting:f})}};export{f as LinkPhoneScreen,f as default,d as LinkPhoneScreenView};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as o}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{t as s}from"./PhoneIcon-CvIiPwYQ.js";import{t as c}from"./ConnectPhoneForm-Dek5xn4C-DUYdmVtr.js";var l=r(),u=e(i(),1),d=({title:e=`Connect your phone`,subtitle:t=`Add your number to your account`,onSubmit:n,isSubmitting:r=!1})=>{let[i,a]=(0,u.useState)(null),d=async()=>{i?.qualifiedPhoneNumber&&await n(i)};return(0,l.jsx)(o,{title:e,subtitle:t,icon:s,primaryCta:{label:r?`Submitting`:`Submit`,onClick:d,disabled:!i?.isValid||r},watermark:!0,children:(0,l.jsx)(c,{onChange:e=>{a(e)},onSubmit:d,noIncludeSubmitButton:!0,hideRecent:!0})})},f={component:()=>{let{currentScreen:e,data:r,navigate:i,setModalData:o}=a(),s=n(),{initLoginWithSms:c}=t(),[f,p]=(0,u.useState)(!1);return(0,l.jsx)(d,{subtitle:`Add your number to your ${s?.name} account`,onSubmit:async t=>{p(!0);try{await c({phoneNumber:t.qualifiedPhoneNumber,withPrivyUi:!0}),i(`AwaitingPasswordlessCodeScreen`)}catch(t){o({errorModalData:{error:t,previousScreen:r?.errorModalData?.previousScreen||e||`LinkPhoneScreen`}}),i(`ErrorScreen`)}finally{p(!1)}},isSubmitting:f})}};export{f as LinkPhoneScreen,f as default,d as LinkPhoneScreenView};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{A as t,I as n}from"./esm-B5cbIQaz.js";import{$ as r,D as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{a as c,t as l}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{l as u}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{X as d,p as f}from"./storage-Ufl800Ne-D0bZBw-H.js";import{K as p,i as m}from"./index-YiCw0Y_x-CX5i3Z87.js";import{f as h}from"./guards-BIW-GiMJ-CHfXo8XI.js";import{t as g}from"./InfoBanner-Cb3p1z12-DLBl_Ywy.js";import{t as _}from"./QrCode-DbnZwlkH-h6Bhoe5U.js";import{t as v}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{t as y}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import"./analytics-mkkvFRju-BRBcadka.js";import{t as b}from"./getChainName-DjpPdUSc-DUyKDrnp.js";import{n as x}from"./transaction-BNTP-bFm-M5tJx8vY.js";import{t as S}from"./getErc20Balance-jXNpFf0N-Bb9WM31M.js";import{t as C}from"./Subtitle-CV-2yKE4-zxWw2m1Q.js";import{t as w}from"./Title-BnzYV3Is-B_JpTatT.js";import{t as T}from"./WalletInfoCard-sq_2wgFg-DpNSAGte.js";import{t as E}from"./getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js";import{t as D}from"./useWalletBalance-CZnP5f_f-Dw2GIJ4g.js";var O=a(),k=e(o(),1),A={component:()=>{let{wallets:e}=u(),{connectors:a}=r(),o=a.filter(h).flatMap((e=>e.wallets)),{data:m,setModalData:A,navigate:M,lastScreen:N}=s(),{rpcConfig:P,appId:F,createAnalyticsEvent:I,closePrivyModal:L}=r(),R=i(),[z,B]=(0,k.useState)(void 0),[V,H]=(0,k.useState)(!1),U=m?.funding,{reloadBalance:W}=D({rpcConfig:P,appId:F,address:U.chainType===`ethereum`?U.address:void 0,chain:U.chainType===`ethereum`?U.chain:void 0}),G=U.chainType===`solana`,K=G?U.isUSDC?`USDC`:`SOL`:U.erc20Address?U.erc20ContractInfo?.symbol:U.chain.nativeCurrency.symbol,q=G?o.find((({address:e})=>e===U.address)):e.find((({address:e})=>f(e)===f(U.address)));if(!U)return A({errorModalData:{error:Error(`Couldn't find funding config`),previousScreen:N||`FundingMethodSelectionScreen`},funding:m?.funding,solanaFundingData:m?.solanaFundingData,sendTransaction:m?.sendTransaction}),M(`ErrorScreen`),(0,O.jsx)(O.Fragment,{});(0,k.useEffect)((()=>{let e=G?async function(){if(U.chainType!==`solana`)return;let e=R.solanaRpcs[U.chain];e?(U.isUSDC?async function({rpc:e,address:t,mintAddress:n}){let r=(await e.getTokenAccountsByOwner(t,{mint:n},{encoding:`jsonParsed`,commitment:`confirmed`}).send()).value[0]?.account;return r?BigInt(r.data.parsed.info.tokenAmount.amount):0n}({rpc:e.rpc,address:U.address,mintAddress:E(U.chain)}):p({rpc:e.rpc,address:U.address})).then((e=>{let t=BigInt(e);z&&t>z&&(H(!0),I({eventName:`sdk_fiat_on_ramp_completed_with_status`,payload:{provider:`manual`,status:`success`,chainType:`solana`,address:q?.address,value:U.isUSDC?d(t-z,6):d(t-z,9),token:U.isUSDC?`USDC`:`SOL`}})),B(t)})):console.warn(`Unable to load solana rpc, skipping balance`)}:async function(){U.chainType===`ethereum`&&(async()=>{if(!U.erc20Address)return await W()??BigInt(0);{let{balance:e}=await S({chain:U.chain,address:U.address,erc20Address:U.erc20Address,rpcConfig:P,appId:F});return e}})().then((e=>{z&&e>z&&(H(!0),I({eventName:`sdk_fiat_on_ramp_completed_with_status`,payload:{provider:`manual`,status:`success`,chainType:`ethereum`,address:q?.address,chainId:U.chain.id,value:d(e-z,U.erc20ContractInfo?.decimals??18),token:U.erc20ContractInfo?.symbol??U.erc20Address??`ETH`}})),B(e)})).catch((()=>B(void 0)))},t=setInterval(e,2e3);return e(),()=>clearInterval(t)}),[z]);let J=(0,k.useMemo)((()=>z==null?``:U.isUSDC?n({amount:z,decimals:6}):G?x(z,3,!0,!0):U.erc20ContractInfo?.decimals==null?t({wei:z}):n({amount:z,decimals:U.erc20ContractInfo.decimals})),[z,G,U]),Y=U.chainType===`ethereum`?U.chain.name:b(U.chain),X=(0,k.useMemo)((()=>U.uiConfig?.receiveFundsTitle===``?null:(0,O.jsx)(w,{children:U.uiConfig?.receiveFundsTitle??`Receive ${U.amount} ${K??``}`.trim()})),[U.uiConfig?.receiveFundsTitle,U.amount,K]),Z=(0,k.useMemo)((()=>U.uiConfig?.receiveFundsSubtitle===``?null:(0,O.jsx)(C,{children:U.uiConfig?.receiveFundsSubtitle??`Scan this code or copy your wallet address to receive funds on ${Y}.`})),[U.uiConfig?.receiveFundsSubtitle,Y]),Q=U.chainType===`solana`&&U.isUSDC&&E(U.chain)?`?spl-token=${E(U.chain)}`:``;return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(y,{}),X,Z,(0,O.jsxs)(v,{style:{gap:`1rem`,margin:X||Z?`1rem 0`:`0`},children:[(0,O.jsx)(_,{url:`${U.chainType}:${U.address}${Q}`,size:200,squareLogoElement:j}),(0,O.jsxs)(g,{theme:R.appearance.palette.colorScheme,children:[`Make sure to send funds on `,Y,`.`]}),(0,O.jsx)(T,{title:`Your wallet`,errMsg:void 0,showCopyButton:!0,balance:`${J} ${K}`,address:U.address}),V&&(0,O.jsx)(c,{onClick:()=>L({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:`Continue`})]}),(0,O.jsx)(l,{})]})}},j=({...e})=>(0,O.jsx)(m,{color:`black`,...e});export{A as ManualTransferScreen,A as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{A as t,I as n}from"./esm-vs5jNx_Y.js";import{$ as r,D as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{a as c,t as l}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{l as u}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{X as d,p as f}from"./storage-Ufl800Ne-EalZTH9q.js";import{K as p,i as m}from"./index-YiCw0Y_x-BX1zsiqG.js";import{f as h}from"./guards-BIW-GiMJ-CHfXo8XI.js";import{t as g}from"./InfoBanner-Cb3p1z12-DLBl_Ywy.js";import{t as _}from"./QrCode-DbnZwlkH-BymHrKY7.js";import{t as v}from"./Layouts-BMRfo5hw-CeCOyCLK.js";import{t as y}from"./FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js";import"./analytics-mkkvFRju-BRBcadka.js";import{t as b}from"./getChainName-DjpPdUSc-DUyKDrnp.js";import{n as x}from"./transaction-BNTP-bFm-M5tJx8vY.js";import{t as S}from"./getErc20Balance-jXNpFf0N-V2btxzrJ.js";import{t as C}from"./Subtitle-CV-2yKE4-zxWw2m1Q.js";import{t as w}from"./Title-BnzYV3Is-B_JpTatT.js";import{t as T}from"./WalletInfoCard-sq_2wgFg-ISBsQt8p.js";import{t as E}from"./getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js";import{t as D}from"./useWalletBalance-CZnP5f_f-L3V0jDjL.js";var O=a(),k=e(o(),1),A={component:()=>{let{wallets:e}=u(),{connectors:a}=r(),o=a.filter(h).flatMap((e=>e.wallets)),{data:m,setModalData:A,navigate:M,lastScreen:N}=s(),{rpcConfig:P,appId:F,createAnalyticsEvent:I,closePrivyModal:L}=r(),R=i(),[z,B]=(0,k.useState)(void 0),[V,H]=(0,k.useState)(!1),U=m?.funding,{reloadBalance:W}=D({rpcConfig:P,appId:F,address:U.chainType===`ethereum`?U.address:void 0,chain:U.chainType===`ethereum`?U.chain:void 0}),G=U.chainType===`solana`,K=G?U.isUSDC?`USDC`:`SOL`:U.erc20Address?U.erc20ContractInfo?.symbol:U.chain.nativeCurrency.symbol,q=G?o.find((({address:e})=>e===U.address)):e.find((({address:e})=>f(e)===f(U.address)));if(!U)return A({errorModalData:{error:Error(`Couldn't find funding config`),previousScreen:N||`FundingMethodSelectionScreen`},funding:m?.funding,solanaFundingData:m?.solanaFundingData,sendTransaction:m?.sendTransaction}),M(`ErrorScreen`),(0,O.jsx)(O.Fragment,{});(0,k.useEffect)((()=>{let e=G?async function(){if(U.chainType!==`solana`)return;let e=R.solanaRpcs[U.chain];e?(U.isUSDC?async function({rpc:e,address:t,mintAddress:n}){let r=(await e.getTokenAccountsByOwner(t,{mint:n},{encoding:`jsonParsed`,commitment:`confirmed`}).send()).value[0]?.account;return r?BigInt(r.data.parsed.info.tokenAmount.amount):0n}({rpc:e.rpc,address:U.address,mintAddress:E(U.chain)}):p({rpc:e.rpc,address:U.address})).then((e=>{let t=BigInt(e);z&&t>z&&(H(!0),I({eventName:`sdk_fiat_on_ramp_completed_with_status`,payload:{provider:`manual`,status:`success`,chainType:`solana`,address:q?.address,value:U.isUSDC?d(t-z,6):d(t-z,9),token:U.isUSDC?`USDC`:`SOL`}})),B(t)})):console.warn(`Unable to load solana rpc, skipping balance`)}:async function(){U.chainType===`ethereum`&&(async()=>{if(!U.erc20Address)return await W()??BigInt(0);{let{balance:e}=await S({chain:U.chain,address:U.address,erc20Address:U.erc20Address,rpcConfig:P,appId:F});return e}})().then((e=>{z&&e>z&&(H(!0),I({eventName:`sdk_fiat_on_ramp_completed_with_status`,payload:{provider:`manual`,status:`success`,chainType:`ethereum`,address:q?.address,chainId:U.chain.id,value:d(e-z,U.erc20ContractInfo?.decimals??18),token:U.erc20ContractInfo?.symbol??U.erc20Address??`ETH`}})),B(e)})).catch((()=>B(void 0)))},t=setInterval(e,2e3);return e(),()=>clearInterval(t)}),[z]);let J=(0,k.useMemo)((()=>z==null?``:U.isUSDC?n({amount:z,decimals:6}):G?x(z,3,!0,!0):U.erc20ContractInfo?.decimals==null?t({wei:z}):n({amount:z,decimals:U.erc20ContractInfo.decimals})),[z,G,U]),Y=U.chainType===`ethereum`?U.chain.name:b(U.chain),X=(0,k.useMemo)((()=>U.uiConfig?.receiveFundsTitle===``?null:(0,O.jsx)(w,{children:U.uiConfig?.receiveFundsTitle??`Receive ${U.amount} ${K??``}`.trim()})),[U.uiConfig?.receiveFundsTitle,U.amount,K]),Z=(0,k.useMemo)((()=>U.uiConfig?.receiveFundsSubtitle===``?null:(0,O.jsx)(C,{children:U.uiConfig?.receiveFundsSubtitle??`Scan this code or copy your wallet address to receive funds on ${Y}.`})),[U.uiConfig?.receiveFundsSubtitle,Y]),Q=U.chainType===`solana`&&U.isUSDC&&E(U.chain)?`?spl-token=${E(U.chain)}`:``;return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(y,{}),X,Z,(0,O.jsxs)(v,{style:{gap:`1rem`,margin:X||Z?`1rem 0`:`0`},children:[(0,O.jsx)(_,{url:`${U.chainType}:${U.address}${Q}`,size:200,squareLogoElement:j}),(0,O.jsxs)(g,{theme:R.appearance.palette.colorScheme,children:[`Make sure to send funds on `,Y,`.`]}),(0,O.jsx)(T,{title:`Your wallet`,errMsg:void 0,showCopyButton:!0,balance:`${J} ${K}`,address:U.address}),V&&(0,O.jsx)(c,{onClick:()=>L({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:`Continue`})]}),(0,O.jsx)(l,{})]})}},j=({...e})=>(0,O.jsx)(m,{color:`black`,...e});export{A as ManualTransferScreen,A as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{D as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as o}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as s,f as c,i as l,n as u}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{i as d,n as ee,r as f,t as p}from"./EnrollTotp-Dibew4dp-SA2pvNEc.js";import{d as m,f as h,m as g,p as _,s as v,v as y}from"./PinInput-DbZ0b1i1-CDXZBdQx.js";import{t as b}from"./ShieldCheckIcon-o6RHYev1.js";var x=r(),S=e(i(),1),C={component:()=>{let{user:e,ready:r}=n(),{data:i,onUserCloseViaDialogOrKeybindRef:C}=a(),w=t(),[T,E]=(0,S.useState)(null),[D,O]=(0,S.useState)(null),[k,A]=(0,S.useState)(null),[j,M]=(0,S.useState)(!1),[N,P]=(0,S.useState)(!1),[F,I]=(0,S.useState)(),L=async()=>{F?R(F):e?await z({user:e}):R(Error(`Must be logged in to manage MFA`)),setTimeout((()=>{E(null),O(null)}),500)};if(C.current=L,!i?.mfaEnroll)throw Error(`Missing modal data for MFA enrollment screen.`);let{onFailure:R,onSuccess:z,onBack:B,mfaMethods:V,verify:H,generateTotpSecret:U,enrollTotp:W,unenrollTotp:G,enrollPasskey:K}=i.mfaEnroll,q=e?.mfaMethods.includes(`sms`),J=e?.mfaMethods.includes(`totp`),Y=e?.mfaMethods.includes(`passkey`),X=!!e?.phone,Z=e?.linkedAccounts.filter((e=>e.type===`passkey`)).map((e=>e.credentialId))??[];function Q(){E(null),O(null),I(void 0)}async function $(e=Z){try{I(void 0),P(!0);let t=await K(e);return await z({user:t})}catch(e){I(e)}finally{P(!1),M(!1)}}if(!r||!e||!w)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{onClose:L,backFn:B},`header`),(0,x.jsx)(_,{children:(0,x.jsx)(f,{})}),(0,x.jsx)(g,{children:(0,x.jsx)(o,{})}),(0,x.jsx)(u,{})]});if(T===`sms`)return null;if(T===`totp`)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{backFn:Q,onClose:L},`header`),(0,x.jsx)(y,{style:{marginBottom:`1.5rem`},children:(0,x.jsx)(c,{})}),(0,x.jsx)(m,{children:`Remove authenticator app verification?`}),(0,x.jsxs)(v,{children:[`MFA adds an extra layer of security to your `,w?.name,` account. Make sure you have other methods to secure your account.`]}),(0,x.jsx)(h,{children:(0,x.jsx)(s,{$warn:!0,onClick:async function(){try{I(void 0),P(!0);let e=await G();return await z({user:e})}catch(e){I(e)}finally{P(!1),E(null)}},loading:N,children:`Remove`})}),(0,x.jsx)(u,{})]});if(T===`passkey`){let e=i.mfaEnroll.shouldUnlinkOnUnenrollMfa??!0;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{backFn:Q,onClose:L},`header`),(0,x.jsx)(y,{style:{marginBottom:`1.5rem`},children:(0,x.jsx)(c,{})}),(0,x.jsx)(m,{children:`Are you sure you want to remove this passkey?`}),(0,x.jsx)(v,{children:e?`Removing your passkey will remove as both a verification method and a login method.`:`Removing your passkey will remove as a verification method.`}),(0,x.jsx)(h,{children:(0,x.jsx)(s,{$warn:!0,onClick:async function(){try{I(void 0),P(!0);let e=await K([]);return await z({user:e})}catch(e){I(e)}finally{P(!1),E(null)}},loading:N,children:`Remove`})}),(0,x.jsx)(u,{})]})}return V.length!==0||q||J||Y?D===`sms`?null:D===`totp`&&k?(0,x.jsx)(p,{onClose:L,onReset:Q,submitEnrollmentWithTotp:e=>async function(e){try{I(void 0),P(!0);let t=await W(e);return await z({user:t})}catch(e){I(e)}finally{P(!1),E(null)}}(e.mfaCode),error:F,totpInfo:{...k,appName:w?.name||`Privy`}}):D===`passkey`?(0,x.jsx)(d,{onReset:Q,onClose:L,submitEnrollmentWithPasskey:$}):(0,x.jsx)(ee,{showIntro:!0,userMfaMethods:e.mfaMethods,appMfaMethods:w.mfa.methods,userHasAuthSms:X,backFn:B,handleSelectMethod:async function(e){I(void 0);try{await H()}catch(e){I(e);return}return e===`totp`?(O(e),A(null),void U().then((({totpSecret:e,totpAuthUrl:t})=>{A({authUrl:t,secret:e})})).catch((()=>{A(null),Q()}))):e===`passkey`&&Z.length===1?await $():void O(e)},isTotpLoading:D===`totp`&&!k,isPasskeyLoading:j,error:F,onClose:L,setRemovingMfaMethod:async function(e){I(void 0);try{await H()}catch(e){I(e);return}E(e)}}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{onClose:L,backFn:B},`header`),(0,x.jsx)(y,{style:{marginBottom:`1.5rem`},children:(0,x.jsx)(b,{})}),(0,x.jsx)(m,{children:`Add more security`}),(0,x.jsxs)(v,{children:[w?.name,` does not have any verification methods enabled.`]}),(0,x.jsx)(h,{children:(0,x.jsx)(s,{onClick:L,children:`Close`})}),(0,x.jsx)(u,{})]})}};export{C as MfaAuthEnrollmentFlowScreen,C as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{D as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as o}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as s,f as c,i as l,n as u}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{i as d,n as ee,r as f,t as p}from"./EnrollTotp-Dibew4dp-7gVtJ1Jt.js";import{d as m,f as h,m as g,p as _,s as v,v as y}from"./PinInput-DbZ0b1i1-CDXZBdQx.js";import{t as b}from"./ShieldCheckIcon-o6RHYev1.js";var x=r(),S=e(i(),1),C={component:()=>{let{user:e,ready:r}=n(),{data:i,onUserCloseViaDialogOrKeybindRef:C}=a(),w=t(),[T,E]=(0,S.useState)(null),[D,O]=(0,S.useState)(null),[k,A]=(0,S.useState)(null),[j,M]=(0,S.useState)(!1),[N,P]=(0,S.useState)(!1),[F,I]=(0,S.useState)(),L=async()=>{F?R(F):e?await z({user:e}):R(Error(`Must be logged in to manage MFA`)),setTimeout((()=>{E(null),O(null)}),500)};if(C.current=L,!i?.mfaEnroll)throw Error(`Missing modal data for MFA enrollment screen.`);let{onFailure:R,onSuccess:z,onBack:B,mfaMethods:V,verify:H,generateTotpSecret:U,enrollTotp:W,unenrollTotp:G,enrollPasskey:K}=i.mfaEnroll,q=e?.mfaMethods.includes(`sms`),J=e?.mfaMethods.includes(`totp`),Y=e?.mfaMethods.includes(`passkey`),X=!!e?.phone,Z=e?.linkedAccounts.filter((e=>e.type===`passkey`)).map((e=>e.credentialId))??[];function Q(){E(null),O(null),I(void 0)}async function $(e=Z){try{I(void 0),P(!0);let t=await K(e);return await z({user:t})}catch(e){I(e)}finally{P(!1),M(!1)}}if(!r||!e||!w)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{onClose:L,backFn:B},`header`),(0,x.jsx)(_,{children:(0,x.jsx)(f,{})}),(0,x.jsx)(g,{children:(0,x.jsx)(o,{})}),(0,x.jsx)(u,{})]});if(T===`sms`)return null;if(T===`totp`)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{backFn:Q,onClose:L},`header`),(0,x.jsx)(y,{style:{marginBottom:`1.5rem`},children:(0,x.jsx)(c,{})}),(0,x.jsx)(m,{children:`Remove authenticator app verification?`}),(0,x.jsxs)(v,{children:[`MFA adds an extra layer of security to your `,w?.name,` account. Make sure you have other methods to secure your account.`]}),(0,x.jsx)(h,{children:(0,x.jsx)(s,{$warn:!0,onClick:async function(){try{I(void 0),P(!0);let e=await G();return await z({user:e})}catch(e){I(e)}finally{P(!1),E(null)}},loading:N,children:`Remove`})}),(0,x.jsx)(u,{})]});if(T===`passkey`){let e=i.mfaEnroll.shouldUnlinkOnUnenrollMfa??!0;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{backFn:Q,onClose:L},`header`),(0,x.jsx)(y,{style:{marginBottom:`1.5rem`},children:(0,x.jsx)(c,{})}),(0,x.jsx)(m,{children:`Are you sure you want to remove this passkey?`}),(0,x.jsx)(v,{children:e?`Removing your passkey will remove as both a verification method and a login method.`:`Removing your passkey will remove as a verification method.`}),(0,x.jsx)(h,{children:(0,x.jsx)(s,{$warn:!0,onClick:async function(){try{I(void 0),P(!0);let e=await K([]);return await z({user:e})}catch(e){I(e)}finally{P(!1),E(null)}},loading:N,children:`Remove`})}),(0,x.jsx)(u,{})]})}return V.length!==0||q||J||Y?D===`sms`?null:D===`totp`&&k?(0,x.jsx)(p,{onClose:L,onReset:Q,submitEnrollmentWithTotp:e=>async function(e){try{I(void 0),P(!0);let t=await W(e);return await z({user:t})}catch(e){I(e)}finally{P(!1),E(null)}}(e.mfaCode),error:F,totpInfo:{...k,appName:w?.name||`Privy`}}):D===`passkey`?(0,x.jsx)(d,{onReset:Q,onClose:L,submitEnrollmentWithPasskey:$}):(0,x.jsx)(ee,{showIntro:!0,userMfaMethods:e.mfaMethods,appMfaMethods:w.mfa.methods,userHasAuthSms:X,backFn:B,handleSelectMethod:async function(e){I(void 0);try{await H()}catch(e){I(e);return}return e===`totp`?(O(e),A(null),void U().then((({totpSecret:e,totpAuthUrl:t})=>{A({authUrl:t,secret:e})})).catch((()=>{A(null),Q()}))):e===`passkey`&&Z.length===1?await $():void O(e)},isTotpLoading:D===`totp`&&!k,isPasskeyLoading:j,error:F,onClose:L,setRemovingMfaMethod:async function(e){I(void 0);try{await H()}catch(e){I(e);return}E(e)}}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(l,{onClose:L,backFn:B},`header`),(0,x.jsx)(y,{style:{marginBottom:`1.5rem`},children:(0,x.jsx)(b,{})}),(0,x.jsx)(m,{children:`Add more security`}),(0,x.jsxs)(v,{children:[w?.name,` does not have any verification methods enabled.`]}),(0,x.jsx)(h,{children:(0,x.jsx)(s,{onClick:L,children:`Close`})}),(0,x.jsx)(u,{})]})}};export{C as MfaAuthEnrollmentFlowScreen,C as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{D as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{i as o,n as s,r as c,t as l}from"./to-ui-error-DWe-qwS3-Cx2bk1kZ.js";var u=r(),d=e(i(),1),f={component:()=>{let{user:e}=n(),r=t(),i=(0,d.useMemo)((()=>e?.mfaMethods.filter((e=>e!==`passkey`||!r.globalDisablePasskeys))??[]),[e?.mfaMethods,r.globalDisablePasskeys]),{data:f}=a(),[p,m]=(0,d.useState)(i[0]),[h,g]=(0,d.useState)(!1),[_,v]=(0,d.useState)(),[y,b]=(0,d.useState)();if((0,d.useEffect)((()=>{m(i[0])}),[i]),!f?.mfaVerify)throw Error(`Missing modal data for MFA verification screen.`);let{onFailure:x,onSuccess:S,generateOptions:C,verifyTotpCode:w,verifyPasskey:T,verifySmsCode:E,sendSmsCode:D}=f.mfaVerify,O=async e=>{if(e!==`passkey`)try{m(e),e===`sms`&&(m(e),await D()),e===`totp`&&m(e)}catch(e){console.error(e)}else try{m(e);let t=await C();if(!t)throw Error(`something went wrong`);v(t),await T(t),g(!0),b(void 0),S()}catch(e){b(o(e))}},k=async e=>{b(void 0);try{if(!e||!p)return;if(p===`passkey`){if(!_)throw Error(`Missing passkey challenge`);await T(_)}else p===`sms`?await E(e):p===`totp`&&await w(e);b(void 0),g(!0),S()}catch(e){throw o(e).error}},A=()=>{y||!h?x(y?.error??Error(`Canceled MFA verification.`)):S()},j=(0,d.useRef)(!1);return(0,d.useEffect)((()=>{!j.current&&p&&(j.current=!0,O(p).finally((()=>{j.current=!1})))}),[open]),e?p===`passkey`?(0,u.jsx)(s,{account:e.linkedAccounts.filter((e=>e.type===`passkey`&&e.enrolledInMfa)).sort(((e,t)=>t.firstVerifiedAt.valueOf()-e.firstVerifiedAt.valueOf()))[0],submitSuccess:h,hasBlockingError:y?.isBlocking??!1,error:y?.error,onClose:A,onBack:()=>{m(void 0),b(void 0)},handleSubmit:()=>k(_).catch(b)}):p===`sms`||p===`totp`?(0,u.jsx)(c,{selectedMethod:p,submitSuccess:h,hasBlockingError:y?.isBlocking??!1,handleSubmitCode:k,onClose:A,onBack:i.length>1?()=>m(void 0):void 0}):(0,u.jsx)(l,{mfaMethods:i,onSelect:O,handleClose:A}):null}};export{f as MfaAuthVerifyFlowScreen,f as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{D as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{n as a}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{i as o,n as s,r as c,t as l}from"./to-ui-error-DWe-qwS3-DgCO-Y70.js";var u=r(),d=e(i(),1),f={component:()=>{let{user:e}=n(),r=t(),i=(0,d.useMemo)((()=>e?.mfaMethods.filter((e=>e!==`passkey`||!r.globalDisablePasskeys))??[]),[e?.mfaMethods,r.globalDisablePasskeys]),{data:f}=a(),[p,m]=(0,d.useState)(i[0]),[h,g]=(0,d.useState)(!1),[_,v]=(0,d.useState)(),[y,b]=(0,d.useState)();if((0,d.useEffect)((()=>{m(i[0])}),[i]),!f?.mfaVerify)throw Error(`Missing modal data for MFA verification screen.`);let{onFailure:x,onSuccess:S,generateOptions:C,verifyTotpCode:w,verifyPasskey:T,verifySmsCode:E,sendSmsCode:D}=f.mfaVerify,O=async e=>{if(e!==`passkey`)try{m(e),e===`sms`&&(m(e),await D()),e===`totp`&&m(e)}catch(e){console.error(e)}else try{m(e);let t=await C();if(!t)throw Error(`something went wrong`);v(t),await T(t),g(!0),b(void 0),S()}catch(e){b(o(e))}},k=async e=>{b(void 0);try{if(!e||!p)return;if(p===`passkey`){if(!_)throw Error(`Missing passkey challenge`);await T(_)}else p===`sms`?await E(e):p===`totp`&&await w(e);b(void 0),g(!0),S()}catch(e){throw o(e).error}},A=()=>{y||!h?x(y?.error??Error(`Canceled MFA verification.`)):S()},j=(0,d.useRef)(!1);return(0,d.useEffect)((()=>{!j.current&&p&&(j.current=!0,O(p).finally((()=>{j.current=!1})))}),[open]),e?p===`passkey`?(0,u.jsx)(s,{account:e.linkedAccounts.filter((e=>e.type===`passkey`&&e.enrolledInMfa)).sort(((e,t)=>t.firstVerifiedAt.valueOf()-e.firstVerifiedAt.valueOf()))[0],submitSuccess:h,hasBlockingError:y?.isBlocking??!1,error:y?.error,onClose:A,onBack:()=>{m(void 0),b(void 0)},handleSubmit:()=>k(_).catch(b)}):p===`sms`||p===`totp`?(0,u.jsx)(c,{selectedMethod:p,submitSuccess:h,hasBlockingError:y?.isBlocking??!1,handleSubmitCode:k,onClose:A,onBack:i.length>1?()=>m(void 0):void 0}):(0,u.jsx)(l,{mfaMethods:i,onSelect:O,handleClose:A}):null}};export{f as MfaAuthVerifyFlowScreen,f as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{S as t}from"./esm-B5cbIQaz.js";import{$ as n,D as r,i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./ErrorScreen-DipdTWzE-c8g8En21.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as l}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as u,f as d,i as f,n as p,o as m}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{$ as h,Bt as g,Y as _,s as v,u as y,z as b}from"./index-YiCw0Y_x-CX5i3Z87.js";import{i as x,n as S,r as C,t as w}from"./EnrollTotp-Dibew4dp-SA2pvNEc.js";import{t as T}from"./CheckCircleIcon-NCOQc0Gs.js";import{d as E,f as D,h as O,m as k,o as A,p as j,r as M,s as N,t as P,v as F,y as I}from"./PinInput-DbZ0b1i1-CDXZBdQx.js";import{t as L}from"./PhoneIcon-CvIiPwYQ.js";import{t as ee}from"./ShieldCheckIcon-o6RHYev1.js";import{t as R}from"./ConnectPhoneForm-Dek5xn4C-BEA4FmhI.js";var z=a(),B=e(o());function V({title:e,titleId:t,...n},r){return B.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?B.createElement(`title`,{id:t},e):null,B.createElement(`path`,{fillRule:`evenodd`,d:`M8.603 3.799A4.49 4.49 0 0 1 12 2.25c1.357 0 2.573.6 3.397 1.549a4.49 4.49 0 0 1 3.498 1.307 4.491 4.491 0 0 1 1.307 3.497A4.49 4.49 0 0 1 21.75 12a4.49 4.49 0 0 1-1.549 3.397 4.491 4.491 0 0 1-1.307 3.497 4.491 4.491 0 0 1-3.497 1.307A4.49 4.49 0 0 1 12 21.75a4.49 4.49 0 0 1-3.397-1.549 4.49 4.49 0 0 1-3.498-1.306 4.491 4.491 0 0 1-1.307-3.498A4.49 4.49 0 0 1 2.25 12c0-1.357.6-2.573 1.549-3.397a4.49 4.49 0 0 1 1.307-3.497 4.49 4.49 0 0 1 3.497-1.307Zm7.007 6.387a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z`,clipRule:`evenodd`}))}var te=B.forwardRef(V);function H({title:e,titleId:t,...n},r){return B.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?B.createElement(`title`,{id:t},e):null,B.createElement(`path`,{fillRule:`evenodd`,d:`M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z`,clipRule:`evenodd`}))}var ne=B.forwardRef(H),re=({appName:e,onComplete:n,onReset:i,onClose:a})=>{let[o,l]=(0,B.useState)(``),[d,m]=(0,B.useState)(!1),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(`enroll`),{initEnrollmentWithSms:w,submitEnrollmentWithSms:O}=g(),{data:A}=c(),j=r();function I(){A?.mfaEnrollmentFlow?.onSuccess(),n()}return b?(0,z.jsx)(s,{allowlistConfig:j.allowlistConfig,error:b,onBack:()=>x(null),onRetry:()=>x(null)}):(0,z.jsxs)(z.Fragment,S===`enroll`?{children:[(0,z.jsx)(f,{backFn:i,onClose:a},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(L,{})}),(0,z.jsx)(E,{children:`Set up SMS verification`}),(0,z.jsxs)(N,{children:[`We'll text a verification code to this mobile device whenever you use your `,e,` `,`wallet.`]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(R,{onSubmit:async function({qualifiedPhoneNumber:e}){try{await w({phoneNumber:e}),l(e),C(`verify`)}catch(e){x(e)}},hideRecent:!0}),(0,z.jsxs)(P,{children:[`By providing your mobile number, you agree to receive text messages from `,j?.name,`. Some carrier charges may apply`]})]}),(0,z.jsx)(p,{})]}:d?{children:[(0,z.jsx)(f,{onClose:I},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(T,{})}),(0,z.jsx)(E,{children:`SMS verification added`}),(0,z.jsxs)(N,{children:[`From now on, you'll enter the verification code sent to your mobile device whenever you use your `,e,` wallet.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{onClick:I,children:`Done`})}),(0,z.jsx)(p,{})]}:{children:[(0,z.jsx)(f,{backFn:function(){S===`verify`?C(`enroll`):i()},onClose:a},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(L,{})}),(0,z.jsx)(E,{children:`Enter enrollment code`}),(0,z.jsxs)(k,{children:[(0,z.jsx)(M,{onChange:async function(e){try{if(!e)return;await O({phoneNumber:o,mfaCode:e}),m(!0)}catch(e){throw v(e)?Error(`You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.`):_(e)?Error(`The code you entered is not valid`):y(e)?Error(`You have exceeded the time limit for code entry. Please try again in 30 seconds.`):h(e)?Error(`Verification canceled`):Error(`Unknown error`)}}}),(0,z.jsxs)(N,{children:[`To continue, enter the 6-digit code sent to `,(0,z.jsx)(`strong`,{children:t(o)})]})]}),(0,z.jsx)(p,{})]})},U={component:()=>{let{user:e,enrollInMfa:t,ready:a}=i(),[o,s]=(0,B.useState)(null),{unenrollWithSms:h,unenrollWithTotp:_,unenrollWithPasskey:v,submitEnrollmentWithTotp:y,initEnrollmentWithPasskey:T,submitEnrollmentWithPasskey:M,initEnrollmentWithTotp:P}=g(),{data:L,onUserCloseViaDialogOrKeybindRef:R}=c(),V=r(),{closePrivyModal:H}=n(),{promptMfa:U}=b(),[ie,W]=(0,B.useState)(!1),[G,K]=(0,B.useState)(null),[q,J]=(0,B.useState)(null),Y=()=>{H({shouldCallAuthOnSuccess:!0}),t(!1),setTimeout((()=>{s(null),K(null)}),500)},[ae,X]=(0,B.useState)(!1),[oe,Z]=(0,B.useState)();R.current=Y;let se=e?.mfaMethods.includes(`sms`),ce=!!e?.phone,le=e?.mfaMethods.includes(`totp`),ue=e?.mfaMethods.includes(`passkey`),Q=se||le||ue,de=e?.linkedAccounts.filter((e=>e.type===`passkey`)).map((e=>e.credentialId))??[];function $(){s(null),K(null)}async function fe(e=de){X(!0);try{return await T(),await M({credentialIds:e},{removeForLogin:L?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa}),L?.mfaEnrollmentFlow?.onSuccess(),Y()}catch(e){Z(e)}finally{X(!1)}}if((0,B.useEffect)((()=>{Q&&W(!0)}),[Q]),!a||!e||!V)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{onClose:Y},`header`),(0,z.jsx)(j,{children:(0,z.jsx)(C,{})}),(0,z.jsx)(k,{children:(0,z.jsx)(l,{})}),(0,z.jsx)(p,{})]});if(o===`sms`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{backFn:$,onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(d,{})}),(0,z.jsx)(E,{children:`Remove SMS verification?`}),(0,z.jsxs)(N,{children:[`MFA adds an extra layer of security to your `,V?.name,` account. Make sure you have other methods to secure your account.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{$warn:!0,onClick:async function(){s(null);try{await h()}catch{s(null)}},children:`Remove`})}),(0,z.jsx)(p,{})]});if(o===`totp`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{backFn:$,onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(d,{})}),(0,z.jsx)(E,{children:`Remove authenticator app verification?`}),(0,z.jsxs)(N,{children:[`MFA adds an extra layer of security to your `,V?.name,` account. Make sure you have other methods to secure your account.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{$warn:!0,onClick:async function(){s(null);try{await _()}catch{s(null)}},children:`Remove`})}),(0,z.jsx)(p,{})]});if(o===`passkey`){let e=L?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{backFn:$,onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(d,{})}),(0,z.jsx)(E,{children:`Are you sure you want to remove this passkey?`}),(0,z.jsx)(N,{children:e?`Removing your passkey will remove as both a verification method and a login method.`:`Removing your passkey will remove as a verification method.`}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{$warn:!0,onClick:async function(){s(null);try{await v({removeForLogin:L?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch{s(null)}},children:`Remove`})}),(0,z.jsx)(p,{})]})}if(L.mfaEnrollmentFlow.mfaMethods.length===0&&!Q)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(ee,{})}),(0,z.jsx)(E,{children:`Add more security`}),(0,z.jsxs)(N,{children:[V?.name,` does not have any verification methods enabled.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{onClick:Y,children:`Close`})}),(0,z.jsx)(p,{})]});let pe=!Q&&!ie;return pe?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(ee,{})}),(0,z.jsx)(E,{children:`Transaction Protection`}),(0,z.jsx)(N,{children:`Set up transaction protection to add an extra layer of security to your account`}),(0,z.jsxs)(O,{children:[(0,z.jsxs)(I,{children:[(0,z.jsx)(A,{children:(0,z.jsx)(te,{})}),`Enable 2-Step verification for your `,V?.name,` wallet.`]}),(0,z.jsxs)(I,{children:[(0,z.jsx)(A,{children:(0,z.jsx)(ne,{})}),`You'll be prompted to authenticate to complete transactions.`]})]}),(0,z.jsxs)(D,{children:[(0,z.jsx)(u,{onClick:()=>W(!0),children:`Continue`}),(0,z.jsx)(m,{onClick:Y,children:`Not now`})]}),(0,z.jsx)(p,{})]}):G===`sms`?(0,z.jsx)(re,{appName:V?.name||`Privy`,onComplete:Y,onReset:$,onClose:Y}):G===`totp`&&q?(0,z.jsx)(w,{onClose:Y,onReset:$,submitEnrollmentWithTotp:({mfaCode:e})=>async function(e){try{return Z(void 0),await y({mfaCode:e}),L?.mfaEnrollmentFlow?.onSuccess(),Y()}catch(e){Z(e)}finally{s(null)}}(e),totpInfo:{...q,appName:V?.name||`Privy`}}):G===`passkey`?(0,z.jsx)(x,{onReset:$,onClose:Y,submitEnrollmentWithPasskey:fe}):(0,z.jsx)(S,{showIntro:pe,userMfaMethods:e.mfaMethods,appMfaMethods:V.mfa.methods,userHasAuthSms:ce,backFn:function(){W(!1)},handleSelectMethod:async function(e){try{await U()}catch(e){Z(e);return}return e===`totp`?(K(e),J(null),void P().then((e=>{J(e)})).catch((()=>{J(null),$()}))):e===`passkey`&&de.length===1?await fe():void K(e)},isTotpLoading:G===`totp`&&!q,isPasskeyLoading:ae,error:oe,onClose:Y,setRemovingMfaMethod:async e=>{try{await U()}catch(e){Z(e);return}s(e)}})}};export{U as MfaEnrollmentFlowScreen,U as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{S as t}from"./esm-vs5jNx_Y.js";import{$ as n,D as r,i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./ErrorScreen-DipdTWzE-BT8TtRTx.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as l}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as u,f as d,i as f,n as p,o as m}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{$ as h,Bt as g,Y as _,s as v,u as y,z as b}from"./index-YiCw0Y_x-BX1zsiqG.js";import{i as x,n as S,r as C,t as w}from"./EnrollTotp-Dibew4dp-7gVtJ1Jt.js";import{t as T}from"./CheckCircleIcon-NCOQc0Gs.js";import{d as E,f as D,h as O,m as k,o as A,p as j,r as M,s as N,t as P,v as F,y as I}from"./PinInput-DbZ0b1i1-CDXZBdQx.js";import{t as L}from"./PhoneIcon-CvIiPwYQ.js";import{t as ee}from"./ShieldCheckIcon-o6RHYev1.js";import{t as R}from"./ConnectPhoneForm-Dek5xn4C-DUYdmVtr.js";var z=a(),B=e(o());function V({title:e,titleId:t,...n},r){return B.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?B.createElement(`title`,{id:t},e):null,B.createElement(`path`,{fillRule:`evenodd`,d:`M8.603 3.799A4.49 4.49 0 0 1 12 2.25c1.357 0 2.573.6 3.397 1.549a4.49 4.49 0 0 1 3.498 1.307 4.491 4.491 0 0 1 1.307 3.497A4.49 4.49 0 0 1 21.75 12a4.49 4.49 0 0 1-1.549 3.397 4.491 4.491 0 0 1-1.307 3.497 4.491 4.491 0 0 1-3.497 1.307A4.49 4.49 0 0 1 12 21.75a4.49 4.49 0 0 1-3.397-1.549 4.49 4.49 0 0 1-3.498-1.306 4.491 4.491 0 0 1-1.307-3.498A4.49 4.49 0 0 1 2.25 12c0-1.357.6-2.573 1.549-3.397a4.49 4.49 0 0 1 1.307-3.497 4.49 4.49 0 0 1 3.497-1.307Zm7.007 6.387a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z`,clipRule:`evenodd`}))}var te=B.forwardRef(V);function H({title:e,titleId:t,...n},r){return B.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?B.createElement(`title`,{id:t},e):null,B.createElement(`path`,{fillRule:`evenodd`,d:`M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z`,clipRule:`evenodd`}))}var ne=B.forwardRef(H),re=({appName:e,onComplete:n,onReset:i,onClose:a})=>{let[o,l]=(0,B.useState)(``),[d,m]=(0,B.useState)(!1),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(`enroll`),{initEnrollmentWithSms:w,submitEnrollmentWithSms:O}=g(),{data:A}=c(),j=r();function I(){A?.mfaEnrollmentFlow?.onSuccess(),n()}return b?(0,z.jsx)(s,{allowlistConfig:j.allowlistConfig,error:b,onBack:()=>x(null),onRetry:()=>x(null)}):(0,z.jsxs)(z.Fragment,S===`enroll`?{children:[(0,z.jsx)(f,{backFn:i,onClose:a},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(L,{})}),(0,z.jsx)(E,{children:`Set up SMS verification`}),(0,z.jsxs)(N,{children:[`We'll text a verification code to this mobile device whenever you use your `,e,` `,`wallet.`]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(R,{onSubmit:async function({qualifiedPhoneNumber:e}){try{await w({phoneNumber:e}),l(e),C(`verify`)}catch(e){x(e)}},hideRecent:!0}),(0,z.jsxs)(P,{children:[`By providing your mobile number, you agree to receive text messages from `,j?.name,`. Some carrier charges may apply`]})]}),(0,z.jsx)(p,{})]}:d?{children:[(0,z.jsx)(f,{onClose:I},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(T,{})}),(0,z.jsx)(E,{children:`SMS verification added`}),(0,z.jsxs)(N,{children:[`From now on, you'll enter the verification code sent to your mobile device whenever you use your `,e,` wallet.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{onClick:I,children:`Done`})}),(0,z.jsx)(p,{})]}:{children:[(0,z.jsx)(f,{backFn:function(){S===`verify`?C(`enroll`):i()},onClose:a},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(L,{})}),(0,z.jsx)(E,{children:`Enter enrollment code`}),(0,z.jsxs)(k,{children:[(0,z.jsx)(M,{onChange:async function(e){try{if(!e)return;await O({phoneNumber:o,mfaCode:e}),m(!0)}catch(e){throw v(e)?Error(`You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.`):_(e)?Error(`The code you entered is not valid`):y(e)?Error(`You have exceeded the time limit for code entry. Please try again in 30 seconds.`):h(e)?Error(`Verification canceled`):Error(`Unknown error`)}}}),(0,z.jsxs)(N,{children:[`To continue, enter the 6-digit code sent to `,(0,z.jsx)(`strong`,{children:t(o)})]})]}),(0,z.jsx)(p,{})]})},U={component:()=>{let{user:e,enrollInMfa:t,ready:a}=i(),[o,s]=(0,B.useState)(null),{unenrollWithSms:h,unenrollWithTotp:_,unenrollWithPasskey:v,submitEnrollmentWithTotp:y,initEnrollmentWithPasskey:T,submitEnrollmentWithPasskey:M,initEnrollmentWithTotp:P}=g(),{data:L,onUserCloseViaDialogOrKeybindRef:R}=c(),V=r(),{closePrivyModal:H}=n(),{promptMfa:U}=b(),[ie,W]=(0,B.useState)(!1),[G,K]=(0,B.useState)(null),[q,J]=(0,B.useState)(null),Y=()=>{H({shouldCallAuthOnSuccess:!0}),t(!1),setTimeout((()=>{s(null),K(null)}),500)},[ae,X]=(0,B.useState)(!1),[oe,Z]=(0,B.useState)();R.current=Y;let se=e?.mfaMethods.includes(`sms`),ce=!!e?.phone,le=e?.mfaMethods.includes(`totp`),ue=e?.mfaMethods.includes(`passkey`),Q=se||le||ue,de=e?.linkedAccounts.filter((e=>e.type===`passkey`)).map((e=>e.credentialId))??[];function $(){s(null),K(null)}async function fe(e=de){X(!0);try{return await T(),await M({credentialIds:e},{removeForLogin:L?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa}),L?.mfaEnrollmentFlow?.onSuccess(),Y()}catch(e){Z(e)}finally{X(!1)}}if((0,B.useEffect)((()=>{Q&&W(!0)}),[Q]),!a||!e||!V)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{onClose:Y},`header`),(0,z.jsx)(j,{children:(0,z.jsx)(C,{})}),(0,z.jsx)(k,{children:(0,z.jsx)(l,{})}),(0,z.jsx)(p,{})]});if(o===`sms`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{backFn:$,onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(d,{})}),(0,z.jsx)(E,{children:`Remove SMS verification?`}),(0,z.jsxs)(N,{children:[`MFA adds an extra layer of security to your `,V?.name,` account. Make sure you have other methods to secure your account.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{$warn:!0,onClick:async function(){s(null);try{await h()}catch{s(null)}},children:`Remove`})}),(0,z.jsx)(p,{})]});if(o===`totp`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{backFn:$,onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(d,{})}),(0,z.jsx)(E,{children:`Remove authenticator app verification?`}),(0,z.jsxs)(N,{children:[`MFA adds an extra layer of security to your `,V?.name,` account. Make sure you have other methods to secure your account.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{$warn:!0,onClick:async function(){s(null);try{await _()}catch{s(null)}},children:`Remove`})}),(0,z.jsx)(p,{})]});if(o===`passkey`){let e=L?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{backFn:$,onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(d,{})}),(0,z.jsx)(E,{children:`Are you sure you want to remove this passkey?`}),(0,z.jsx)(N,{children:e?`Removing your passkey will remove as both a verification method and a login method.`:`Removing your passkey will remove as a verification method.`}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{$warn:!0,onClick:async function(){s(null);try{await v({removeForLogin:L?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch{s(null)}},children:`Remove`})}),(0,z.jsx)(p,{})]})}if(L.mfaEnrollmentFlow.mfaMethods.length===0&&!Q)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(ee,{})}),(0,z.jsx)(E,{children:`Add more security`}),(0,z.jsxs)(N,{children:[V?.name,` does not have any verification methods enabled.`]}),(0,z.jsx)(D,{children:(0,z.jsx)(u,{onClick:Y,children:`Close`})}),(0,z.jsx)(p,{})]});let pe=!Q&&!ie;return pe?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(f,{onClose:Y},`header`),(0,z.jsx)(F,{style:{marginBottom:`1.5rem`},children:(0,z.jsx)(ee,{})}),(0,z.jsx)(E,{children:`Transaction Protection`}),(0,z.jsx)(N,{children:`Set up transaction protection to add an extra layer of security to your account`}),(0,z.jsxs)(O,{children:[(0,z.jsxs)(I,{children:[(0,z.jsx)(A,{children:(0,z.jsx)(te,{})}),`Enable 2-Step verification for your `,V?.name,` wallet.`]}),(0,z.jsxs)(I,{children:[(0,z.jsx)(A,{children:(0,z.jsx)(ne,{})}),`You'll be prompted to authenticate to complete transactions.`]})]}),(0,z.jsxs)(D,{children:[(0,z.jsx)(u,{onClick:()=>W(!0),children:`Continue`}),(0,z.jsx)(m,{onClick:Y,children:`Not now`})]}),(0,z.jsx)(p,{})]}):G===`sms`?(0,z.jsx)(re,{appName:V?.name||`Privy`,onComplete:Y,onReset:$,onClose:Y}):G===`totp`&&q?(0,z.jsx)(w,{onClose:Y,onReset:$,submitEnrollmentWithTotp:({mfaCode:e})=>async function(e){try{return Z(void 0),await y({mfaCode:e}),L?.mfaEnrollmentFlow?.onSuccess(),Y()}catch(e){Z(e)}finally{s(null)}}(e),totpInfo:{...q,appName:V?.name||`Privy`}}):G===`passkey`?(0,z.jsx)(x,{onReset:$,onClose:Y,submitEnrollmentWithPasskey:fe}):(0,z.jsx)(S,{showIntro:pe,userMfaMethods:e.mfaMethods,appMfaMethods:V.mfa.methods,userHasAuthSms:ce,backFn:function(){W(!1)},handleSelectMethod:async function(e){try{await U()}catch(e){Z(e);return}return e===`totp`?(K(e),J(null),void P().then((e=>{J(e)})).catch((()=>{J(null),$()}))):e===`passkey`&&de.length===1?await fe():void K(e)},isTotpLoading:G===`totp`&&!q,isPasskeyLoading:ae,error:oe,onClose:Y,setRemovingMfaMethod:async e=>{try{await U()}catch(e){Z(e);return}s(e)}})}};export{U as MfaEnrollmentFlowScreen,U as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{D as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{z as a}from"./index-YiCw0Y_x-CX5i3Z87.js";import{i as o,n as s,r as c,t as l}from"./to-ui-error-DWe-qwS3-Cx2bk1kZ.js";var u=r(),d=e(i(),1),f=({onClose:e})=>{let{user:r}=n(),i=t(),f=(0,d.useMemo)((()=>r?.mfaMethods.filter((e=>e!==`passkey`||!i.globalDisablePasskeys))??[]),[r?.mfaMethods,i.globalDisablePasskeys]),[p,m]=(0,d.useState)(f[0]??null),{init:h,cancel:g,submit:_}=a(),[v,y]=(0,d.useState)(!1),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)();(0,d.useEffect)((()=>{m(f[0]??null)}),[f]);let w=(0,d.useRef)(!1);async function T(t){C(void 0);try{if(!t||!p)return;await _(p,t),y(!0),C(void 0),e()}catch(e){throw o(e).error}}async function E(t){if(t!==`passkey`)try{m(t),await h(t)}catch(e){console.error(e)}else try{m(t);let n=await h(t);if(!n)throw Error(`something went wrong`);x(n),await _(t,n),y(!0),C(void 0),e()}catch(e){C(o(e))}}(0,d.useEffect)((()=>{!w.current&&p&&(w.current=!0,E(p).finally((()=>{w.current=!1})))}),[]);let D=()=>{m(null),C(void 0),g(),e()};return r?p===`passkey`?(0,u.jsx)(s,{account:r.linkedAccounts.filter((e=>e.type===`passkey`&&e.enrolledInMfa)).sort(((e,t)=>t.firstVerifiedAt.valueOf()-e.firstVerifiedAt.valueOf()))[0],submitSuccess:v,hasBlockingError:S?.isBlocking??!1,error:S?.error,onClose:D,onBack:()=>{m(null),C(void 0)},handleSubmit:()=>T(b).catch(C)}):p?(0,u.jsx)(c,{submitSuccess:v,hasBlockingError:S?.isBlocking??!1,handleSubmitCode:T,selectedMethod:p,onClose:D,onBack:f.length>1?()=>m(null):void 0}):(0,u.jsx)(l,{mfaMethods:f,onSelect:E,handleClose:D}):null};export{f as MfaVerifyFlowScreen,f as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{D as t,i as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{z as a}from"./index-YiCw0Y_x-BX1zsiqG.js";import{i as o,n as s,r as c,t as l}from"./to-ui-error-DWe-qwS3-DgCO-Y70.js";var u=r(),d=e(i(),1),f=({onClose:e})=>{let{user:r}=n(),i=t(),f=(0,d.useMemo)((()=>r?.mfaMethods.filter((e=>e!==`passkey`||!i.globalDisablePasskeys))??[]),[r?.mfaMethods,i.globalDisablePasskeys]),[p,m]=(0,d.useState)(f[0]??null),{init:h,cancel:g,submit:_}=a(),[v,y]=(0,d.useState)(!1),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)();(0,d.useEffect)((()=>{m(f[0]??null)}),[f]);let w=(0,d.useRef)(!1);async function T(t){C(void 0);try{if(!t||!p)return;await _(p,t),y(!0),C(void 0),e()}catch(e){throw o(e).error}}async function E(t){if(t!==`passkey`)try{m(t),await h(t)}catch(e){console.error(e)}else try{m(t);let n=await h(t);if(!n)throw Error(`something went wrong`);x(n),await _(t,n),y(!0),C(void 0),e()}catch(e){C(o(e))}}(0,d.useEffect)((()=>{!w.current&&p&&(w.current=!0,E(p).finally((()=>{w.current=!1})))}),[]);let D=()=>{m(null),C(void 0),g(),e()};return r?p===`passkey`?(0,u.jsx)(s,{account:r.linkedAccounts.filter((e=>e.type===`passkey`&&e.enrolledInMfa)).sort(((e,t)=>t.firstVerifiedAt.valueOf()-e.firstVerifiedAt.valueOf()))[0],submitSuccess:v,hasBlockingError:S?.isBlocking??!1,error:S?.error,onClose:D,onBack:()=>{m(null),C(void 0)},handleSubmit:()=>T(b).catch(C)}):p?(0,u.jsx)(c,{submitSuccess:v,hasBlockingError:S?.isBlocking??!1,handleSubmitCode:T,selectedMethod:p,onClose:D,onBack:f.length>1?()=>m(null):void 0}):(0,u.jsx)(l,{mfaMethods:f,onSelect:E,handleClose:D}):null};export{f as MfaVerifyFlowScreen,f as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,H as r,i,r as a}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as o}from"./jsx-runtime-BbDfbRii.js";import{t as s}from"./react-DrJ0MmMO.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as l}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{s as u,t as d}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{dt as f}from"./index-YiCw0Y_x-CX5i3Z87.js";import{t as p}from"./shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BK_FBkaE.js";import{t as m}from"./GlobeAltIcon-vqrVV5ho.js";import{a as h,c as g,d as _,i as v,l as y,n as b,o as x,r as S,s as C,t as w,u as T}from"./twitch-5IOe4sIQ-lDtgk0os.js";import{t as E}from"./telegram-B-JqnkqZ-RBoY3PLx.js";import{t as D}from"./capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js";var O=o(),k=e(s(),1),A=({style:e})=>(0,O.jsx)(m,{style:{color:`var(--privy-color-error)`,...e}}),j={google:{name:`Google`,component:T},discord:{name:`Discord`,component:v},github:{name:`Github`,component:C},linkedin:{name:`LinkedIn`,component:g},twitter:{name:`Twitter`,component:S},spotify:{name:`Spotify`,component:_},instagram:{name:`Instagram`,component:h},tiktok:{name:`Tiktok`,component:y},line:{name:`LINE`,component:b},twitch:{name:`Twitch`,component:w},apple:{name:`Apple`,component:x},telegram:{name:`Telegram`,component:E}},M=({iconUrl:e,...t})=>k.createElement(`svg`,{width:`33`,height:`32`,viewBox:`0 0 33 32`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},k.createElement(`foreignObject`,{x:`2`,y:`2`,width:`29`,height:`28`},k.createElement(`img`,{src:e,width:`29`,height:`28`,style:{display:`block`,objectFit:`contain`,borderRadius:`4px`},alt:`Provider icon`}))),N=(e,t)=>{if(e in j)return j[e];if(r(e)&&t){let n=t.find((t=>t.provider===e));if(n)return{name:n.provider_display_name,component:e=>k.createElement(M,{...e,iconUrl:n.provider_icon_url})}}return{name:`Unknown`,component:A}};function P(e,t,n){let r={detail:``,retryable:!1},i=D(t);return e?.privyErrorCode===u.LINKED_TO_ANOTHER_USER&&(r.detail=`This account has already been linked to another user.`),e?.privyErrorCode===u.INVALID_CREDENTIALS&&(r.retryable=!0,r.detail=`Something went wrong. Try again.`),e.privyErrorCode===u.OAUTH_USER_DENIED&&(r.detail=`Retry and check ${i} to finish connecting your account.`,r.retryable=!0),e?.privyErrorCode===u.TOO_MANY_REQUESTS&&(r.detail=`Too many requests. Please wait before trying again.`),e?.privyErrorCode===u.TOO_MANY_REQUESTS&&e.message.includes(`provider rate limit`)&&(r.detail=`Request limit reached for ${N(t,n).name}. Please wait a moment and try again.`),e?.privyErrorCode===u.OAUTH_ACCOUNT_SUSPENDED&&(r.detail=`Your ${N(t,n).name} account is suspended. Please try another login method.`),e?.privyErrorCode===u.CANNOT_LINK_MORE_OF_TYPE&&(r.detail=`You cannot authorize more than one account for this user.`),e?.privyErrorCode===u.OAUTH_UNEXPECTED&&t.startsWith(`privy:`)&&(r.detail=`Something went wrong. Please try again.`),r}var F=({providerName:e,ProviderLogo:t,success:n,errorMessage:r,onRetry:i})=>{let a=n?`Successfully connected with ${e}`:r?r.message:`Verifying connection to ${e}`;return(0,O.jsx)(l,{title:a,subtitle:n?`You're good to go!`:r?r.detail:`Just a few moments more`,icon:t,iconVariant:`loading`,iconLoadingStatus:{success:n,fail:!!r},secondaryCta:r?.retryable&&i?{label:`Retry`,onClick:i}:void 0,watermark:!0})},I={component:()=>{let{authenticated:e,logout:r,ready:o,user:s}=i(),{setModalData:l,navigate:m,resetNavigation:h}=c(),g=n(),{getAuthMeta:_,initLoginWithOAuth:v,loginWithOAuth:y,updateWallets:b,setReadyToTrue:x,closePrivyModal:S,createAnalyticsEvent:C}=t(),[w,T]=(0,k.useState)(!1),[E,D]=(0,k.useState)(void 0),A=_()?.provider||`google`,{name:j,component:M}=N(A,g.customOAuthProviders);return(0,k.useEffect)((()=>{y(A).then((()=>{T(!0),x(!0)})).catch((e=>{if(x(!1),e?.privyErrorCode===u.ALLOWLIST_REJECTED)return D(void 0),h(),void m(`AllowlistRejectionScreen`);if(e?.privyErrorCode===u.USER_LIMIT_REACHED)return console.error(new d(e).toString()),D(void 0),h(),void m(`UserLimitReachedScreen`);if(e?.privyErrorCode===u.USER_DOES_NOT_EXIST)return D(void 0),h(),void m(`AccountNotFoundScreen`);if(e?.privyErrorCode===u.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return D(void 0),h(),l({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,displayName:e.data?.data?.account?.displayName,linkMethod:_()?.provider,embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:e.data?.data?.otherUser?.oAuthUserInfo}}),void m(`LinkConflictScreen`);let{retryable:t,detail:n}=P(e,A,g.customOAuthProviders);D({retryable:t,detail:n,message:`Authentication failed`})})).finally((()=>{f()}))}),[j,A]),(0,k.useEffect)((()=>{if(o&&e&&w&&s){if(g?.legal.requireUsersAcceptTerms&&!s.hasAcceptedTerms){let e=setTimeout((()=>{m(`AffirmativeConsentScreen`)}),a);return()=>clearTimeout(e)}if(p(s,g.embeddedWallets)){let e=setTimeout((()=>{l({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),C({eventName:`embedded_wallet_creation_failure_logout`,payload:{error:e,provider:A,screen:`OAuthStatusScreen`}}),r()},callAuthOnSuccessOnClose:!0}}),m(`EmbeddedWalletOnAccountCreateScreen`)}),a);return()=>clearTimeout(e)}{let e=setTimeout((()=>S({shouldCallAuthOnSuccess:!0,isSuccess:!0})),a);return b(),()=>clearTimeout(e)}}}),[o,e,w,s]),(0,O.jsx)(F,{providerName:j,ProviderLogo:M,success:w,errorMessage:E,onRetry:E?.retryable?()=>{f(),v(A),D(void 0)}:void 0})},isShownBeforeReady:!0};export{I as OAuthStatusScreen,I as default,F as OAuthStatusScreenView};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,H as r,i,r as a}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as o}from"./jsx-runtime-BbDfbRii.js";import{t as s}from"./react-DrJ0MmMO.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as l}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{s as u,t as d}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{dt as f}from"./index-YiCw0Y_x-BX1zsiqG.js";import{t as p}from"./shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-ByFOTrQK.js";import{t as m}from"./GlobeAltIcon-vqrVV5ho.js";import{a as h,c as g,d as _,i as v,l as y,n as b,o as x,r as S,s as C,t as w,u as T}from"./twitch-5IOe4sIQ-lDtgk0os.js";import{t as E}from"./telegram-B-JqnkqZ-RBoY3PLx.js";import{t as D}from"./capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js";var O=o(),k=e(s(),1),A=({style:e})=>(0,O.jsx)(m,{style:{color:`var(--privy-color-error)`,...e}}),j={google:{name:`Google`,component:T},discord:{name:`Discord`,component:v},github:{name:`Github`,component:C},linkedin:{name:`LinkedIn`,component:g},twitter:{name:`Twitter`,component:S},spotify:{name:`Spotify`,component:_},instagram:{name:`Instagram`,component:h},tiktok:{name:`Tiktok`,component:y},line:{name:`LINE`,component:b},twitch:{name:`Twitch`,component:w},apple:{name:`Apple`,component:x},telegram:{name:`Telegram`,component:E}},M=({iconUrl:e,...t})=>k.createElement(`svg`,{width:`33`,height:`32`,viewBox:`0 0 33 32`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},k.createElement(`foreignObject`,{x:`2`,y:`2`,width:`29`,height:`28`},k.createElement(`img`,{src:e,width:`29`,height:`28`,style:{display:`block`,objectFit:`contain`,borderRadius:`4px`},alt:`Provider icon`}))),N=(e,t)=>{if(e in j)return j[e];if(r(e)&&t){let n=t.find((t=>t.provider===e));if(n)return{name:n.provider_display_name,component:e=>k.createElement(M,{...e,iconUrl:n.provider_icon_url})}}return{name:`Unknown`,component:A}};function P(e,t,n){let r={detail:``,retryable:!1},i=D(t);return e?.privyErrorCode===u.LINKED_TO_ANOTHER_USER&&(r.detail=`This account has already been linked to another user.`),e?.privyErrorCode===u.INVALID_CREDENTIALS&&(r.retryable=!0,r.detail=`Something went wrong. Try again.`),e.privyErrorCode===u.OAUTH_USER_DENIED&&(r.detail=`Retry and check ${i} to finish connecting your account.`,r.retryable=!0),e?.privyErrorCode===u.TOO_MANY_REQUESTS&&(r.detail=`Too many requests. Please wait before trying again.`),e?.privyErrorCode===u.TOO_MANY_REQUESTS&&e.message.includes(`provider rate limit`)&&(r.detail=`Request limit reached for ${N(t,n).name}. Please wait a moment and try again.`),e?.privyErrorCode===u.OAUTH_ACCOUNT_SUSPENDED&&(r.detail=`Your ${N(t,n).name} account is suspended. Please try another login method.`),e?.privyErrorCode===u.CANNOT_LINK_MORE_OF_TYPE&&(r.detail=`You cannot authorize more than one account for this user.`),e?.privyErrorCode===u.OAUTH_UNEXPECTED&&t.startsWith(`privy:`)&&(r.detail=`Something went wrong. Please try again.`),r}var F=({providerName:e,ProviderLogo:t,success:n,errorMessage:r,onRetry:i})=>{let a=n?`Successfully connected with ${e}`:r?r.message:`Verifying connection to ${e}`;return(0,O.jsx)(l,{title:a,subtitle:n?`You're good to go!`:r?r.detail:`Just a few moments more`,icon:t,iconVariant:`loading`,iconLoadingStatus:{success:n,fail:!!r},secondaryCta:r?.retryable&&i?{label:`Retry`,onClick:i}:void 0,watermark:!0})},I={component:()=>{let{authenticated:e,logout:r,ready:o,user:s}=i(),{setModalData:l,navigate:m,resetNavigation:h}=c(),g=n(),{getAuthMeta:_,initLoginWithOAuth:v,loginWithOAuth:y,updateWallets:b,setReadyToTrue:x,closePrivyModal:S,createAnalyticsEvent:C}=t(),[w,T]=(0,k.useState)(!1),[E,D]=(0,k.useState)(void 0),A=_()?.provider||`google`,{name:j,component:M}=N(A,g.customOAuthProviders);return(0,k.useEffect)((()=>{y(A).then((()=>{T(!0),x(!0)})).catch((e=>{if(x(!1),e?.privyErrorCode===u.ALLOWLIST_REJECTED)return D(void 0),h(),void m(`AllowlistRejectionScreen`);if(e?.privyErrorCode===u.USER_LIMIT_REACHED)return console.error(new d(e).toString()),D(void 0),h(),void m(`UserLimitReachedScreen`);if(e?.privyErrorCode===u.USER_DOES_NOT_EXIST)return D(void 0),h(),void m(`AccountNotFoundScreen`);if(e?.privyErrorCode===u.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return D(void 0),h(),l({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,displayName:e.data?.data?.account?.displayName,linkMethod:_()?.provider,embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:e.data?.data?.otherUser?.oAuthUserInfo}}),void m(`LinkConflictScreen`);let{retryable:t,detail:n}=P(e,A,g.customOAuthProviders);D({retryable:t,detail:n,message:`Authentication failed`})})).finally((()=>{f()}))}),[j,A]),(0,k.useEffect)((()=>{if(o&&e&&w&&s){if(g?.legal.requireUsersAcceptTerms&&!s.hasAcceptedTerms){let e=setTimeout((()=>{m(`AffirmativeConsentScreen`)}),a);return()=>clearTimeout(e)}if(p(s,g.embeddedWallets)){let e=setTimeout((()=>{l({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),C({eventName:`embedded_wallet_creation_failure_logout`,payload:{error:e,provider:A,screen:`OAuthStatusScreen`}}),r()},callAuthOnSuccessOnClose:!0}}),m(`EmbeddedWalletOnAccountCreateScreen`)}),a);return()=>clearTimeout(e)}{let e=setTimeout((()=>S({shouldCallAuthOnSuccess:!0,isSuccess:!0})),a);return b(),()=>clearTimeout(e)}}}),[o,e,w,s]),(0,O.jsx)(F,{providerName:j,ProviderLogo:M,success:w,errorMessage:E,onRetry:E?.retryable?()=>{f(),v(A),D(void 0)}:void 0})},isShownBeforeReady:!0};export{I as OAuthStatusScreen,I as default,F as OAuthStatusScreenView};
@@ -1 +1 @@
1
- import{$ as e}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{t as n}from"./fingerprint-pattern-D8ytA16Q.js";import{n as r}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as i}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{h as a}from"./index-YiCw0Y_x-CX5i3Z87.js";var o=t(),s=({title:e=`Log in or create a new account?`,subtitle:t=`Create a new account with a passkey or use a passkey to log in to an existing account.`,onSignup:r,onLogin:a})=>(0,o.jsx)(i,{title:e,subtitle:t,icon:n,primaryCta:{label:`Create new account`,onClick:r},secondaryCta:{label:`Log in with a passkey`,onClick:a},watermark:!0}),c={component:()=>{let{enabled:t,token:n}=a(),{navigate:i,setModalData:c}=r(),{initSignupWithPasskey:l,initLoginWithPasskey:u}=e();return(0,o.jsx)(s,{onSignup:async()=>{t&&!n?(c({passkeyAuthModalData:{passkeySignupFlow:!0},captchaModalData:{callback:e=>l({captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:`PasskeyStatusScreen`,onErrorNavigateTo:`ErrorScreen`}}),i(`CaptchaScreen`)):(await l({withPrivyUi:!0,captchaToken:n}),c({passkeyAuthModalData:{passkeySignupFlow:!0}}),i(`PasskeyStatusScreen`))},onLogin:async()=>{t&&!n?(c({passkeyAuthModalData:{passkeySignupFlow:!1},captchaModalData:{callback:e=>u({captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:`PasskeyStatusScreen`,onErrorNavigateTo:`ErrorScreen`}}),i(`CaptchaScreen`)):(await u({withPrivyUi:!0,captchaToken:n}),c({passkeyAuthModalData:{passkeySignupFlow:!1}}),i(`PasskeyStatusScreen`))}})}};export{c as PasskeySelectSignupOrLogin,c as default,s as PasskeySelectSignupOrLoginView};
1
+ import{$ as e}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t}from"./jsx-runtime-BbDfbRii.js";import{t as n}from"./fingerprint-pattern-D8ytA16Q.js";import{n as r}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{t as i}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{h as a}from"./index-YiCw0Y_x-BX1zsiqG.js";var o=t(),s=({title:e=`Log in or create a new account?`,subtitle:t=`Create a new account with a passkey or use a passkey to log in to an existing account.`,onSignup:r,onLogin:a})=>(0,o.jsx)(i,{title:e,subtitle:t,icon:n,primaryCta:{label:`Create new account`,onClick:r},secondaryCta:{label:`Log in with a passkey`,onClick:a},watermark:!0}),c={component:()=>{let{enabled:t,token:n}=a(),{navigate:i,setModalData:c}=r(),{initSignupWithPasskey:l,initLoginWithPasskey:u}=e();return(0,o.jsx)(s,{onSignup:async()=>{t&&!n?(c({passkeyAuthModalData:{passkeySignupFlow:!0},captchaModalData:{callback:e=>l({captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:`PasskeyStatusScreen`,onErrorNavigateTo:`ErrorScreen`}}),i(`CaptchaScreen`)):(await l({withPrivyUi:!0,captchaToken:n}),c({passkeyAuthModalData:{passkeySignupFlow:!0}}),i(`PasskeyStatusScreen`))},onLogin:async()=>{t&&!n?(c({passkeyAuthModalData:{passkeySignupFlow:!1},captchaModalData:{callback:e=>u({captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:`PasskeyStatusScreen`,onErrorNavigateTo:`ErrorScreen`}}),i(`CaptchaScreen`)):(await u({withPrivyUi:!0,captchaToken:n}),c({passkeyAuthModalData:{passkeySignupFlow:!1}}),i(`PasskeyStatusScreen`))}})}};export{c as PasskeySelectSignupOrLogin,c as default,s as PasskeySelectSignupOrLoginView};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,i as r,r as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{t as s}from"./fingerprint-pattern-D8ytA16Q.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as l}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as u}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{f as d,s as f}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{t as p}from"./shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BK_FBkaE.js";var m=a(),h=e(o(),1),g=({status:e,passkeySignupFlow:t=!1,error:n,onRetry:r})=>(0,m.jsx)(u,{title:(()=>{switch(e){case`loading`:return`Waiting for passkey`;case`success`:return`Success`;case`error`:return`Something went wrong`}})(),subtitle:(0,m.jsx)(v,{children:(()=>{switch(e){case`loading`:return t?`Please follow prompts to register your passkey.`:`Please follow prompts to verify your passkey.
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,i as r,r as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{t as s}from"./fingerprint-pattern-D8ytA16Q.js";import{n as c}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as l}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{t as u}from"./ScreenLayout-OwaQQcxH-CrQM6kvA.js";import{f as d,s as f}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{t as p}from"./shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-ByFOTrQK.js";var m=a(),h=e(o(),1),g=({status:e,passkeySignupFlow:t=!1,error:n,onRetry:r})=>(0,m.jsx)(u,{title:(()=>{switch(e){case`loading`:return`Waiting for passkey`;case`success`:return`Success`;case`error`:return`Something went wrong`}})(),subtitle:(0,m.jsx)(v,{children:(()=>{switch(e){case`loading`:return t?`Please follow prompts to register your passkey.`:`Please follow prompts to verify your passkey.
2
2
  You 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(n instanceof d){if(n.privyErrorCode===f.CANNOT_LINK_MORE_OF_TYPE)return`Cannot link more passkeys to account.`;if(n.privyErrorCode===f.PASSKEY_NOT_ALLOWED)return`Passkey request timed out or rejected by user.
3
3
  You will have to sign up with another method first to register a passkey for your account.`}return`An unknown error occurred.
4
4
  You will have to sign up with another method first to register a passkey for your account.`}})()}),icon:s,iconVariant:`loading`,iconLoadingStatus:{success:e===`success`,fail:e===`error`},primaryCta:e===`error`&&r?{label:`Retry`,onClick:r}:e===`success`?{label:`Continue`,disabled:!0}:void 0,watermark:!0}),_={component:()=>{let{data:e,setModalData:a,navigate:o}=c(),s=n(),{loginWithPasskey:l,signupWithPasskey:u,closePrivyModal:d,createAnalyticsEvent:_}=t(),{user:v,logout:y,ready:b,authenticated:x}=r(),{passkeySignupFlow:S}=e?.passkeyAuthModalData??{},C=i-500,[w,T]=(0,h.useState)(`loading`),[E,D]=(0,h.useState)(null),O=(0,h.useRef)([]),k=e=>{O.current=[e,...O.current]};(0,h.useEffect)((()=>()=>{O.current.forEach((e=>clearTimeout(e))),O.current=[]}),[]);let A=async()=>{T(`loading`);try{S?await u():await l(),T(`success`)}catch(e){if(e?.privyErrorCode===f.USER_DOES_NOT_EXIST)return void o(`AccountNotFoundScreen`);if(e?.privyErrorCode===f.ALLOWLIST_REJECTED)return void o(`AllowlistRejectionScreen`);if(e?.privyErrorCode===f.USER_LIMIT_REACHED)return void o(`UserLimitReachedScreen`);D(e),T(`error`)}};return(0,h.useEffect)((()=>{if(b&&x&&w===`success`&&v){if(s?.legal.requireUsersAcceptTerms&&!v.hasAcceptedTerms)return void k(setTimeout((()=>{o(`AffirmativeConsentScreen`)}),C));if(!p(v,s?.embeddedWallets))return void k(setTimeout((()=>{d({shouldCallAuthOnSuccess:!0,isSuccess:!0})}),i));k(setTimeout((()=>{a({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),_({eventName:`embedded_wallet_creation_failure_logout`,payload:{error:e,screen:`PasskeyStatusScreen`}}),y()},callAuthOnSuccessOnClose:!0}}),o(`EmbeddedWalletOnAccountCreateScreen`)}),C))}}),[b,x,v,w]),(0,h.useEffect)((()=>{A()}),[]),(0,m.jsx)(g,{status:w,passkeySignupFlow:S,error:E,onRetry:A})}},v=l.span`
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,a as n,i as r}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as i}from"./jsx-runtime-BbDfbRii.js";import{t as a}from"./react-DrJ0MmMO.js";import{n as o}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as s,s as c}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as l}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as u}from"./Screen-D30meWsY-CCeVNuWs.js";import{p as d}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{P as f}from"./index-YiCw0Y_x-CX5i3Z87.js";import{a as p,h as m,i as h,p as g,s as _}from"./shared-DRZUmnL5-xqAUARWo.js";import{t as v}from"./ShieldCheckIcon-o6RHYev1.js";import{a as y}from"./Layouts-BMRfo5hw-CeCOyCLK.js";var b=i(),x=e(a(),1),S={component:()=>{let[e,i]=(0,x.useState)(!0),{authenticated:a,user:s}=r(),{walletProxy:c,closePrivyModal:l,createAnalyticsEvent:S,client:E}=t(),{navigate:D,data:O,onUserCloseViaDialogOrKeybindRef:k}=o(),[A,j]=(0,x.useState)(void 0),[M,N]=(0,x.useState)(``),[P,F]=(0,x.useState)(!1),{entropyId:I,entropyIdVerifier:L,onCompleteNavigateTo:R,onSuccess:z,onFailure:B}=O.recoverWallet,V=(e=`User exited before their wallet could be recovered`)=>{l({shouldCallAuthOnSuccess:!1}),B(typeof e==`string`?new d(e):e)};return k.current=V,(0,x.useEffect)((()=>{if(!a)return V(`User must be authenticated and have a Privy wallet before it can be recovered`)}),[a]),(0,b.jsxs)(u,{children:[(0,b.jsx)(u.Header,{icon:v,title:`Enter your password`,subtitle:`Please provision your account on this new device. To continue, enter your recovery password.`,showClose:!0,onClose:V}),(0,b.jsx)(u.Body,{children:(0,b.jsx)(C,{children:(0,b.jsxs)(`div`,{children:[(0,b.jsxs)(h,{children:[(0,b.jsx)(p,{type:e?`password`:`text`,onChange:e=>(e=>{e&&j(e)})(e.target.value),disabled:P,style:{paddingRight:`2.3rem`}}),(0,b.jsx)(m,{style:{right:`0.75rem`},children:e?(0,b.jsx)(g,{onClick:()=>i(!1)}):(0,b.jsx)(_,{onClick:()=>i(!0)})})]}),!!M&&(0,b.jsx)(w,{children:M})]})})}),(0,b.jsxs)(u.Footer,{children:[(0,b.jsx)(u.HelpText,{children:(0,b.jsxs)(y,{children:[(0,b.jsx)(`h4`,{children:`Why is this necessary?`}),(0,b.jsx)(`p`,{children:`You previously set a password for this wallet. This helps ensure only you can access it`})]})}),(0,b.jsx)(u.Actions,{children:(0,b.jsx)(T,{loading:P||!c,disabled:!A,onClick:async()=>{F(!0);let e=await E.getAccessToken(),t=n(s,I);if(!e||!t||A===null)return V(`User must be authenticated and have a Privy wallet before it can be recovered`);try{S({eventName:`embedded_wallet_recovery_started`,payload:{walletAddress:t.address}}),await c?.recover({accessToken:e,entropyId:I,entropyIdVerifier:L,recoveryPassword:A}),N(``),R?D(R):l({shouldCallAuthOnSuccess:!1}),z?.(t),S({eventName:`embedded_wallet_recovery_completed`,payload:{walletAddress:t.address}})}catch(e){f(e)?N(`Invalid recovery password, please try again.`):N(`An error has occurred, please try again.`)}finally{F(!1)}},$hideAnimations:!I&&P,children:`Recover your account`})}),(0,b.jsx)(u.Watermark,{})]})]})}},C=s.div`
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,a as n,i as r}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as i}from"./jsx-runtime-BbDfbRii.js";import{t as a}from"./react-DrJ0MmMO.js";import{n as o}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c as s,s as c}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as l}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{t as u}from"./Screen-D30meWsY-CCeVNuWs.js";import{p as d}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{P as f}from"./index-YiCw0Y_x-BX1zsiqG.js";import{a as p,h as m,i as h,p as g,s as _}from"./shared-DRZUmnL5-xqAUARWo.js";import{t as v}from"./ShieldCheckIcon-o6RHYev1.js";import{a as y}from"./Layouts-BMRfo5hw-CeCOyCLK.js";var b=i(),x=e(a(),1),S={component:()=>{let[e,i]=(0,x.useState)(!0),{authenticated:a,user:s}=r(),{walletProxy:c,closePrivyModal:l,createAnalyticsEvent:S,client:E}=t(),{navigate:D,data:O,onUserCloseViaDialogOrKeybindRef:k}=o(),[A,j]=(0,x.useState)(void 0),[M,N]=(0,x.useState)(``),[P,F]=(0,x.useState)(!1),{entropyId:I,entropyIdVerifier:L,onCompleteNavigateTo:R,onSuccess:z,onFailure:B}=O.recoverWallet,V=(e=`User exited before their wallet could be recovered`)=>{l({shouldCallAuthOnSuccess:!1}),B(typeof e==`string`?new d(e):e)};return k.current=V,(0,x.useEffect)((()=>{if(!a)return V(`User must be authenticated and have a Privy wallet before it can be recovered`)}),[a]),(0,b.jsxs)(u,{children:[(0,b.jsx)(u.Header,{icon:v,title:`Enter your password`,subtitle:`Please provision your account on this new device. To continue, enter your recovery password.`,showClose:!0,onClose:V}),(0,b.jsx)(u.Body,{children:(0,b.jsx)(C,{children:(0,b.jsxs)(`div`,{children:[(0,b.jsxs)(h,{children:[(0,b.jsx)(p,{type:e?`password`:`text`,onChange:e=>(e=>{e&&j(e)})(e.target.value),disabled:P,style:{paddingRight:`2.3rem`}}),(0,b.jsx)(m,{style:{right:`0.75rem`},children:e?(0,b.jsx)(g,{onClick:()=>i(!1)}):(0,b.jsx)(_,{onClick:()=>i(!0)})})]}),!!M&&(0,b.jsx)(w,{children:M})]})})}),(0,b.jsxs)(u.Footer,{children:[(0,b.jsx)(u.HelpText,{children:(0,b.jsxs)(y,{children:[(0,b.jsx)(`h4`,{children:`Why is this necessary?`}),(0,b.jsx)(`p`,{children:`You previously set a password for this wallet. This helps ensure only you can access it`})]})}),(0,b.jsx)(u.Actions,{children:(0,b.jsx)(T,{loading:P||!c,disabled:!A,onClick:async()=>{F(!0);let e=await E.getAccessToken(),t=n(s,I);if(!e||!t||A===null)return V(`User must be authenticated and have a Privy wallet before it can be recovered`);try{S({eventName:`embedded_wallet_recovery_started`,payload:{walletAddress:t.address}}),await c?.recover({accessToken:e,entropyId:I,entropyIdVerifier:L,recoveryPassword:A}),N(``),R?D(R):l({shouldCallAuthOnSuccess:!1}),z?.(t),S({eventName:`embedded_wallet_recovery_completed`,payload:{walletAddress:t.address}})}catch(e){f(e)?N(`Invalid recovery password, please try again.`):N(`An error has occurred, please try again.`)}finally{F(!1)}},$hideAnimations:!I&&P,children:`Recover your account`})}),(0,b.jsx)(u.Watermark,{})]})]})}},C=s.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: 1.5rem;
@@ -1,4 +1,4 @@
1
- import{s as e,t}from"./rolldown-runtime-BcKkbAw3.js";import{D as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{c as a}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{u as o,v as s}from"./storage-Ufl800Ne-D0bZBw-H.js";import{t as c}from"./dijkstra-Drfl93V4.js";var l=t(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),u=t((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),d=t((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),f=t(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),p=t(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),m=t((e=>{var t=u().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),h=t((e=>{var t=u().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),g=t((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),_=t((e=>{var t=d(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),v=t((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),y=t((e=>{var t=v();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),b=t(((e,t)=>{var n=y();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),x=t((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),S=t((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
1
+ import{s as e,t}from"./rolldown-runtime-BcKkbAw3.js";import{D as n}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as r}from"./jsx-runtime-BbDfbRii.js";import{t as i}from"./react-DrJ0MmMO.js";import{c as a}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{u as o,v as s}from"./storage-Ufl800Ne-EalZTH9q.js";import{t as c}from"./dijkstra-Drfl93V4.js";var l=t(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),u=t((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),d=t((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),f=t(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),p=t(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),m=t((e=>{var t=u().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),h=t((e=>{var t=u().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),g=t((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),_=t((e=>{var t=d(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),v=t((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),y=t((e=>{var t=v();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),b=t(((e,t)=>{var n=y();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),x=t((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),S=t((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
2
2
  ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),C=t((e=>{var t=x(),n=S();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),w=t((e=>{var t=u(),n=_(),r=d(),i=C(),a=x(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function f(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function p(t,n){for(let r=1;r<=40;r++)if(f(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return p(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),T=t((e=>{var t=u(),n=1335,r=21522,i=t.getBCHDigit(n);e.getEncodedBits=function(e,a){let o=e.bit<<3|a,s=o<<10;for(;t.getBCHDigit(s)-i>=0;)s^=n<<t.getBCHDigit(s)-i;return(o<<10|s)^r}})),E=t(((e,t)=>{var n=C();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),D=t(((e,t)=>{var n=C(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),O=t(((e,t)=>{var n=C();function r(e){this.mode=n.BYTE,this.data=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),k=t(((e,t)=>{var n=C(),r=u();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
3
3
  Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),A=t((e=>{var t=C(),n=E(),r=D(),i=O(),a=k(),o=S(),s=u(),l=c();function d(e){return unescape(encodeURIComponent(e)).length}function f(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function p(e){let n=f(o.NUMERIC,t.NUMERIC,e),r=f(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=f(o.BYTE,t.BYTE,e),a=f(o.KANJI,t.KANJI,e)):(i=f(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function m(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function h(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function g(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:d(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:d(i.data)}])}}return n}function _(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=m(r[o].lastCount+l.length,l.mode)-m(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=m(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function v(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
4
4
  Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(v(t,null)):t.data&&e.push(v(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=_(g(p(t,s.isKanjiModeEnabled())),n),i=l.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(h(a))},e.rawSplit=function(t){return e.fromArray(p(t,s.isKanjiModeEnabled()))}})),j=t((e=>{var t=u(),n=d(),r=f(),i=p(),a=m(),o=h(),s=g(),c=_(),l=b(),v=w(),y=T(),x=C(),S=A();function E(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function D(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function O(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function k(e,t){let n=e.size,r=v.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function j(e,t,n){let r=e.size,i=y.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function M(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function N(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),x.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return P(a,e,n)}function P(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function F(e,n,r,a){let o;if(Array.isArray(e))o=S.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=S.rawSplit(e);t=v.getBestVersionForData(n,r)}o=S.fromString(e,t||40)}else throw Error(`Invalid data`);let c=v.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,i as n,l as r,r as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{a as c,i as l,t as u}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{i as d,n as f,s as p}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{d as m}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{l as h}from"./use-unlink-wallet-BKK4_5Ur-CC2pq27z.js";import{b as g,i as _,n as v,t as y,v as b,y as x}from"./pkce-DXF0yKjP-ChQhE0st.js";import{bt as S,dt as C}from"./index-YiCw0Y_x-CX5i3Z87.js";import{T as w}from"./toViemAccount-B5iDGq1b-Ba8L7zed.js";import{n as T}from"./ScreenHeader-CHmc4-Lu-DjyrH7IK.js";import{n as E,r as D,t as O}from"./styles-BsotlekN-CXEB4Ud9.js";var k=a(),A=e(o(),1);async function j({url:e,popup:t,provider:n}){return t.location=e,new Promise(((e,n)=>{function r(){t?.close(),window.removeEventListener(`message`,i)}function i(t){t.data&&(t.data.type===`PRIVY_OAUTH_RESPONSE`&&t.data.stateCode&&t.data.authorizationCode&&(e(t.data),r()),t.origin===`https://cdn.apple-cloudkit.com`&&t.data.ckSession&&(e({type:`PRIVY_OAUTH_RESPONSE`,ckWebAuthToken:t.data.ckSession}),r()),t.data.type===`PRIVY_OAUTH_ERROR`&&(n(t.data.error),r()))}window.addEventListener(`message`,i)}))}async function M({api:e,provider:t,stateCode:n,codeVerifier:r,authorizationCode:i}){if(!i||!n)throw new d(`[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenicate.`);if(i===`undefined`)throw new d(`User denied confirmation during OAuth flow`);try{return(await e.post(g,{authorization_code:i,state_code:n,code_verifier:r,provider:t})).access_token}catch(e){let t=f(e);throw t.privyErrorCode?new d(t.message||`Invalid code during OAuth flow.`,void 0,t.privyErrorCode):t.message===`User denied confirmation during OAuth flow`?new d(`Invalid code during oauth flow.`,void 0,p.OAUTH_USER_DENIED):new d(`Invalid code during OAuth flow.`,void 0,p.UNKNOWN_AUTH_ERROR)}}async function N({api:e,provider:t}){let n=y(),r=v(),i=await _(n);try{return t===`icloud`?{url:(await e.post(x,{client_type:`web`})).url}:{url:(await e.post(b,{redirect_to:window.location.href,code_challenge:i,state_code:r})).url,codeVerifier:n,stateCode:r,provider:t}}catch(e){throw f(e)}}var P={"google-drive":{name:`Google Drive`,component:E},icloud:{name:`iCloud`,component:O}},F={component:()=>{let{logout:e}=n(),{navigate:a,setModalData:o,data:f}=s(),{closePrivyModal:g,createAnalyticsEvent:_}=t(),{execute:v}=(()=>{let{client:e,walletProxy:i,refreshSessionAndUser:a}=t(),{data:o}=s(),{user:c}=n(),l=h(),{create:u}=S();return{execute:async({provider:t,action:n,popup:s,shouldCreateEth:f,shouldCreateSol:h})=>{let g,_;if(!e)throw new d(`Missing client`);function v(n){if(!n&&e)throw e.createAnalyticsEvent({eventName:`recovery_oauth_error`,payload:{error:`Unable to open recovery OAuth popup`,provider:t}}),new d(`Recovery OAuth failed`)}switch(t){case`google-drive`:{let n,r,{url:i,codeVerifier:a,stateCode:o}=await N({api:e.api,provider:t});v(i);try{let a=await j({url:i,popup:s,provider:t});if(n=a.stateCode,r=a.authorizationCode,n!==o)throw e.createAnalyticsEvent({eventName:`possible_phishing_attempt`,payload:{provider:t,storedStateCode:o??``,returnedStateCode:n??``}}),new d(`Unexpected auth flow. This may be a phishing attempt.`,void 0,p.OAUTH_UNEXPECTED)}catch(n){throw e.createAnalyticsEvent({eventName:`recovery_oauth_error`,payload:{error:n.toString(),provider:t}}),new d(`Recovery OAuth failed`)}[g,_]=await Promise.all([e.getAccessToken(),M({api:e.api,provider:t,codeVerifier:a,stateCode:n,authorizationCode:r})]);break}case`icloud`:{let{url:n}=await N({api:e.api,provider:t});v(n);let{ckWebAuthToken:r}=await j({url:n,popup:s,provider:t});_=r,g=await e.getAccessToken()}}if(!i)throw new d(`Cannot connect to wallet proxy`);if(!g)throw new d(`Unable to authorize user`);switch(n){case`recover`:{let n=o?.recoverWallet?.entropyId,r=o?.recoverWallet?.entropyIdVerifier;if(!n||!r)throw new d(`Recovery OAuth failed`);e.createAnalyticsEvent({eventName:`embedded_wallet_recovery_started`,payload:{walletAddress:n,recoveryMethod:t}}),await i.recover({accessToken:g,entropyId:n,entropyIdVerifier:r,recoveryAccessToken:_}),e.createAnalyticsEvent({eventName:`embedded_wallet_recovery_completed`,payload:{walletAddress:n,recoveryMethod:t}});break}case`create-wallet`:{let n;if(e.createAnalyticsEvent({eventName:`embedded_wallet_creation_started`}),f&&h)n=await u({recoveryMethod:t,recoveryAccessToken:_,chainType:`ethereum`,walletIndex:0,latestUser:c}),n=await u({chainType:`solana`,walletIndex:0,latestUser:n.user});else if(h)n=await u({recoveryMethod:t,recoveryAccessToken:_,chainType:`solana`,walletIndex:0,latestUser:c});else{if(!f)throw Error(`Invalid args to create wallet`);n=await u({recoveryMethod:t,recoveryAccessToken:_,chainType:`ethereum`,walletIndex:0,latestUser:c})}if(!n)throw l(`createWallet`,`onError`,p.UNKNOWN_EMBEDDED_WALLET_ERROR),Error(`Failed to create wallet`);e.createAnalyticsEvent({eventName:`embedded_wallet_creation_completed`,payload:{walletAddress:n.account.address}}),l(`createWallet`,`onSuccess`,{wallet:n.account});break}case`set-recovery`:{let n=r(c);if(!n)throw l(`setWalletRecovery`,`onError`,p.EMBEDDED_WALLET_NOT_FOUND),Error(`Embedded wallet not found`);e.createAnalyticsEvent({eventName:`embedded_wallet_set_recovery_started`,payload:{walletAddress:n.address,existingRecoveryMethod:n.recoveryMethod,targetRecoveryMethod:t}});let{entropyId:o,entropyIdVerifier:s}=m(c);await i.setRecovery({accessToken:g,entropyId:o,entropyIdVerifier:s,recoveryMethod:t,recoveryAccessToken:_});let u=r(await a());if(!u)throw l(`createWallet`,`onError`,p.UNKNOWN_EMBEDDED_WALLET_ERROR),Error(`Failed to set recovery on wallet`);e.createAnalyticsEvent({eventName:`embedded_wallet_set_recovery_completed`,payload:{walletAddress:n.address,existingRecoveryMethod:n.recoveryMethod,targetRecoveryMethod:t}}),l(`setWalletRecovery`,`onSuccess`,{method:t,wallet:u});break}default:throw new d(`Unsupported recovery action`)}}}})(),[y,b]=(0,A.useState)(!1),{provider:x,action:E,isInAccountCreateFlow:O,shouldCreateEth:F,shouldCreateSol:I}=f?.recoveryOAuthStatus??{},[L,R]=(0,A.useState)(void 0),[z,B]=(0,A.useState)(E===`create-wallet`);if(x===`user-passcode`)throw Error("RecoveryOAuthScreen should never be called with a wallet that specifies recoveryMethod: `user-passcode`");let V=P[x].name,H=P[x].component,U=f?.recoverWallet?.onCompleteNavigateTo,W=new w((async(e=`create-wallet`)=>(B(!0),new Promise(((t,n)=>{setTimeout((async()=>{try{let n=window.open();await v({provider:x,action:e,popup:n,shouldCreateEth:F,shouldCreateSol:I}),b(!0),t()}catch{R({message:`${e===`recover`?`Recovery`:`Back up`} with ${V} unsuccessful`,detail:E===`recover`?`Please verify that you are selecting the ${V} account associated with your backup.`:``,retryable:!0}),n()}}),0)})))));(0,A.useEffect)((()=>{E!==`recover`&&W.execute(O?`create-wallet`:`set-recovery`)}),[]),(0,A.useEffect)((()=>{if(!y)return;let t=setTimeout((()=>{O?(o({createWallet:{onSuccess:()=>{},onFailure:t=>{_({eventName:`embedded_wallet_creation_failure_logout`,payload:{error:t,screen:`RecoveryOAuthScreen`}}),e()},callAuthOnSuccessOnClose:!0,shouldCreateEth:!1,shouldCreateSol:!1}}),a(`EmbeddedWalletCreatedScreen`)):g({shouldCallAuthOnSuccess:!1})}),i);return()=>clearTimeout(t)}),[y]);let G=(0,A.useCallback)((async()=>{await W.execute(`recover`),U?a(U):b(!0)}),[]),K=x===`google-drive`?`Google Drive`:`Apple iCloud`,q=y&&`Successfully ${E===`recover`?`recovered`:`backed up`} with ${K}.`||L&&L.message||`${E===`recover`?`Recovering`:`Backing up`} with ${K}...`,J=L?L.detail:``;return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(l,{}),z?(0,k.jsx)(k.Fragment,{children:(0,k.jsxs)(D,{children:[(0,k.jsx)(T,{title:q,icon:(0,k.jsx)(H,{style:{width:`38px`,height:`38px`}}),description:J}),L&&L?.retryable?(0,k.jsx)(c,{onClick:()=>{C(),R(void 0),E===`create-wallet`?W.execute(`create-wallet`):G()},disabled:!y&&!L?.retryable,children:`Try again`}):null]})}):(0,k.jsxs)(D,{children:[(0,k.jsx)(T,{title:`Confirm it's really you`,icon:(0,k.jsx)(H,{style:{height:42,width:48}}),description:`To confirm your identity, please log in to ${K} where your account is backed up.`}),(0,k.jsxs)(c,{onClick:G,children:[`Confirm with `,K]})]}),(0,k.jsx)(u,{})]})}};export{F as RecoveryOAuthScreen,F as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,i as n,l as r,r as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{a as c,i as l,t as u}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{i as d,n as f,s as p}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{d as m}from"./get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js";import{l as h}from"./use-unlink-wallet-BKK4_5Ur-DgsQ75lh.js";import{b as g,i as _,n as v,t as y,v as b,y as x}from"./pkce-DXF0yKjP-Bqz4wAsq.js";import{bt as S,dt as C}from"./index-YiCw0Y_x-BX1zsiqG.js";import{T as w}from"./toViemAccount-B5iDGq1b-DZ1MBqUW.js";import{n as T}from"./ScreenHeader-CHmc4-Lu-DjyrH7IK.js";import{n as E,r as D,t as O}from"./styles-BsotlekN-CXEB4Ud9.js";var k=a(),A=e(o(),1);async function j({url:e,popup:t,provider:n}){return t.location=e,new Promise(((e,n)=>{function r(){t?.close(),window.removeEventListener(`message`,i)}function i(t){t.data&&(t.data.type===`PRIVY_OAUTH_RESPONSE`&&t.data.stateCode&&t.data.authorizationCode&&(e(t.data),r()),t.origin===`https://cdn.apple-cloudkit.com`&&t.data.ckSession&&(e({type:`PRIVY_OAUTH_RESPONSE`,ckWebAuthToken:t.data.ckSession}),r()),t.data.type===`PRIVY_OAUTH_ERROR`&&(n(t.data.error),r()))}window.addEventListener(`message`,i)}))}async function M({api:e,provider:t,stateCode:n,codeVerifier:r,authorizationCode:i}){if(!i||!n)throw new d(`[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenicate.`);if(i===`undefined`)throw new d(`User denied confirmation during OAuth flow`);try{return(await e.post(g,{authorization_code:i,state_code:n,code_verifier:r,provider:t})).access_token}catch(e){let t=f(e);throw t.privyErrorCode?new d(t.message||`Invalid code during OAuth flow.`,void 0,t.privyErrorCode):t.message===`User denied confirmation during OAuth flow`?new d(`Invalid code during oauth flow.`,void 0,p.OAUTH_USER_DENIED):new d(`Invalid code during OAuth flow.`,void 0,p.UNKNOWN_AUTH_ERROR)}}async function N({api:e,provider:t}){let n=y(),r=v(),i=await _(n);try{return t===`icloud`?{url:(await e.post(x,{client_type:`web`})).url}:{url:(await e.post(b,{redirect_to:window.location.href,code_challenge:i,state_code:r})).url,codeVerifier:n,stateCode:r,provider:t}}catch(e){throw f(e)}}var P={"google-drive":{name:`Google Drive`,component:E},icloud:{name:`iCloud`,component:O}},F={component:()=>{let{logout:e}=n(),{navigate:a,setModalData:o,data:f}=s(),{closePrivyModal:g,createAnalyticsEvent:_}=t(),{execute:v}=(()=>{let{client:e,walletProxy:i,refreshSessionAndUser:a}=t(),{data:o}=s(),{user:c}=n(),l=h(),{create:u}=S();return{execute:async({provider:t,action:n,popup:s,shouldCreateEth:f,shouldCreateSol:h})=>{let g,_;if(!e)throw new d(`Missing client`);function v(n){if(!n&&e)throw e.createAnalyticsEvent({eventName:`recovery_oauth_error`,payload:{error:`Unable to open recovery OAuth popup`,provider:t}}),new d(`Recovery OAuth failed`)}switch(t){case`google-drive`:{let n,r,{url:i,codeVerifier:a,stateCode:o}=await N({api:e.api,provider:t});v(i);try{let a=await j({url:i,popup:s,provider:t});if(n=a.stateCode,r=a.authorizationCode,n!==o)throw e.createAnalyticsEvent({eventName:`possible_phishing_attempt`,payload:{provider:t,storedStateCode:o??``,returnedStateCode:n??``}}),new d(`Unexpected auth flow. This may be a phishing attempt.`,void 0,p.OAUTH_UNEXPECTED)}catch(n){throw e.createAnalyticsEvent({eventName:`recovery_oauth_error`,payload:{error:n.toString(),provider:t}}),new d(`Recovery OAuth failed`)}[g,_]=await Promise.all([e.getAccessToken(),M({api:e.api,provider:t,codeVerifier:a,stateCode:n,authorizationCode:r})]);break}case`icloud`:{let{url:n}=await N({api:e.api,provider:t});v(n);let{ckWebAuthToken:r}=await j({url:n,popup:s,provider:t});_=r,g=await e.getAccessToken()}}if(!i)throw new d(`Cannot connect to wallet proxy`);if(!g)throw new d(`Unable to authorize user`);switch(n){case`recover`:{let n=o?.recoverWallet?.entropyId,r=o?.recoverWallet?.entropyIdVerifier;if(!n||!r)throw new d(`Recovery OAuth failed`);e.createAnalyticsEvent({eventName:`embedded_wallet_recovery_started`,payload:{walletAddress:n,recoveryMethod:t}}),await i.recover({accessToken:g,entropyId:n,entropyIdVerifier:r,recoveryAccessToken:_}),e.createAnalyticsEvent({eventName:`embedded_wallet_recovery_completed`,payload:{walletAddress:n,recoveryMethod:t}});break}case`create-wallet`:{let n;if(e.createAnalyticsEvent({eventName:`embedded_wallet_creation_started`}),f&&h)n=await u({recoveryMethod:t,recoveryAccessToken:_,chainType:`ethereum`,walletIndex:0,latestUser:c}),n=await u({chainType:`solana`,walletIndex:0,latestUser:n.user});else if(h)n=await u({recoveryMethod:t,recoveryAccessToken:_,chainType:`solana`,walletIndex:0,latestUser:c});else{if(!f)throw Error(`Invalid args to create wallet`);n=await u({recoveryMethod:t,recoveryAccessToken:_,chainType:`ethereum`,walletIndex:0,latestUser:c})}if(!n)throw l(`createWallet`,`onError`,p.UNKNOWN_EMBEDDED_WALLET_ERROR),Error(`Failed to create wallet`);e.createAnalyticsEvent({eventName:`embedded_wallet_creation_completed`,payload:{walletAddress:n.account.address}}),l(`createWallet`,`onSuccess`,{wallet:n.account});break}case`set-recovery`:{let n=r(c);if(!n)throw l(`setWalletRecovery`,`onError`,p.EMBEDDED_WALLET_NOT_FOUND),Error(`Embedded wallet not found`);e.createAnalyticsEvent({eventName:`embedded_wallet_set_recovery_started`,payload:{walletAddress:n.address,existingRecoveryMethod:n.recoveryMethod,targetRecoveryMethod:t}});let{entropyId:o,entropyIdVerifier:s}=m(c);await i.setRecovery({accessToken:g,entropyId:o,entropyIdVerifier:s,recoveryMethod:t,recoveryAccessToken:_});let u=r(await a());if(!u)throw l(`createWallet`,`onError`,p.UNKNOWN_EMBEDDED_WALLET_ERROR),Error(`Failed to set recovery on wallet`);e.createAnalyticsEvent({eventName:`embedded_wallet_set_recovery_completed`,payload:{walletAddress:n.address,existingRecoveryMethod:n.recoveryMethod,targetRecoveryMethod:t}}),l(`setWalletRecovery`,`onSuccess`,{method:t,wallet:u});break}default:throw new d(`Unsupported recovery action`)}}}})(),[y,b]=(0,A.useState)(!1),{provider:x,action:E,isInAccountCreateFlow:O,shouldCreateEth:F,shouldCreateSol:I}=f?.recoveryOAuthStatus??{},[L,R]=(0,A.useState)(void 0),[z,B]=(0,A.useState)(E===`create-wallet`);if(x===`user-passcode`)throw Error("RecoveryOAuthScreen should never be called with a wallet that specifies recoveryMethod: `user-passcode`");let V=P[x].name,H=P[x].component,U=f?.recoverWallet?.onCompleteNavigateTo,W=new w((async(e=`create-wallet`)=>(B(!0),new Promise(((t,n)=>{setTimeout((async()=>{try{let n=window.open();await v({provider:x,action:e,popup:n,shouldCreateEth:F,shouldCreateSol:I}),b(!0),t()}catch{R({message:`${e===`recover`?`Recovery`:`Back up`} with ${V} unsuccessful`,detail:E===`recover`?`Please verify that you are selecting the ${V} account associated with your backup.`:``,retryable:!0}),n()}}),0)})))));(0,A.useEffect)((()=>{E!==`recover`&&W.execute(O?`create-wallet`:`set-recovery`)}),[]),(0,A.useEffect)((()=>{if(!y)return;let t=setTimeout((()=>{O?(o({createWallet:{onSuccess:()=>{},onFailure:t=>{_({eventName:`embedded_wallet_creation_failure_logout`,payload:{error:t,screen:`RecoveryOAuthScreen`}}),e()},callAuthOnSuccessOnClose:!0,shouldCreateEth:!1,shouldCreateSol:!1}}),a(`EmbeddedWalletCreatedScreen`)):g({shouldCallAuthOnSuccess:!1})}),i);return()=>clearTimeout(t)}),[y]);let G=(0,A.useCallback)((async()=>{await W.execute(`recover`),U?a(U):b(!0)}),[]),K=x===`google-drive`?`Google Drive`:`Apple iCloud`,q=y&&`Successfully ${E===`recover`?`recovered`:`backed up`} with ${K}.`||L&&L.message||`${E===`recover`?`Recovering`:`Backing up`} with ${K}...`,J=L?L.detail:``;return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(l,{}),z?(0,k.jsx)(k.Fragment,{children:(0,k.jsxs)(D,{children:[(0,k.jsx)(T,{title:q,icon:(0,k.jsx)(H,{style:{width:`38px`,height:`38px`}}),description:J}),L&&L?.retryable?(0,k.jsx)(c,{onClick:()=>{C(),R(void 0),E===`create-wallet`?W.execute(`create-wallet`):G()},disabled:!y&&!L?.retryable,children:`Try again`}):null]})}):(0,k.jsxs)(D,{children:[(0,k.jsx)(T,{title:`Confirm it's really you`,icon:(0,k.jsx)(H,{style:{height:42,width:48}}),description:`To confirm your identity, please log in to ${K} where your account is backed up.`}),(0,k.jsxs)(c,{onClick:G,children:[`Confirm with `,K]})]}),(0,k.jsx)(u,{})]})}};export{F as RecoveryOAuthScreen,F as default};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,i as r}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as i}from"./jsx-runtime-BbDfbRii.js";import{t as a}from"./react-DrJ0MmMO.js";import{n as o}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{p as s}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{bt as c}from"./index-YiCw0Y_x-CX5i3Z87.js";import{T as l}from"./toViemAccount-B5iDGq1b-Ba8L7zed.js";import{n as u,t as d}from"./SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js";var f=i(),p=e(a(),1),m={component:()=>{let{navigate:e,data:i,onUserCloseViaDialogOrKeybindRef:a}=o(),m=n(),[h,g]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(),[x,S]=(0,p.useState)(null),{create:C}=c(),{authenticated:w,user:T}=r(),{closePrivyModal:E,isNewUserThisSession:D,initializeWalletProxy:O}=t(),{onSuccess:k,onFailure:A,callAuthOnSuccessOnClose:j,shouldCreateEth:M,shouldCreateSol:N}=i.createWallet,[P,F]=(0,p.useState)(null),I=new l((async()=>{try{let t;if(M&&N)t=await C({recoveryMethod:`user-passcode`,recoveryPassword:y,chainType:`ethereum`,walletIndex:0,latestUser:T}),t=await C({chainType:`solana`,walletIndex:0,latestUser:t.user});else if(N)t=await C({recoveryMethod:`user-passcode`,recoveryPassword:y,chainType:`solana`,walletIndex:0,latestUser:T});else{if(!M)throw Error(`Invalid args to create wallet`);t=await C({recoveryMethod:`user-passcode`,recoveryPassword:y,chainType:`ethereum`,walletIndex:0,latestUser:T})}F(t),D?e(`EmbeddedWalletCreatedScreen`):(k(t),E({shouldCallAuthOnSuccess:j}))}catch(e){g(e.message)}}));return(0,p.useEffect)((()=>{x||O(3e4).then((e=>S(e)))}),[x]),(0,p.useEffect)((()=>{if(!w||!T)return e(`LandingScreen`),void A(Error(`User must be authenticated before creating a Privy wallet`))}),[w]),a.current=()=>null,(0,f.jsx)(u,{config:{initiatedBy:`automatic`},appName:m?.name||`privy`,loading:!x,buttonLoading:_,buttonHideAnimations:!P&&_,isResettingPassword:!1,error:h,password:y||``,onClose:()=>{P&&P.account.recoveryMethod!==`user-passcode`?(A(new s(`User created a wallet but failed to set a password for it`)),E({shouldCallAuthOnSuccess:!1})):P?(k(P),E({shouldCallAuthOnSuccess:j})):(A(new s(`User wallet creation failed`)),E({shouldCallAuthOnSuccess:!1}))},onPasswordChange:b,onPasswordGenerate:()=>b(d()),onSubmit:async()=>(v(!0),I.execute().then((()=>new Promise((e=>setTimeout(e,250))))).finally((()=>v(!1))))})}};export{m as EmbeddedWalletPasswordCreateScreen,m as default};
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,i as r}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as i}from"./jsx-runtime-BbDfbRii.js";import{t as a}from"./react-DrJ0MmMO.js";import{n as o}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{p as s}from"./errors-BQ3N-RVt-BLqjTPNR.js";import{bt as c}from"./index-YiCw0Y_x-BX1zsiqG.js";import{T as l}from"./toViemAccount-B5iDGq1b-DZ1MBqUW.js";import{n as u,t as d}from"./SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js";var f=i(),p=e(a(),1),m={component:()=>{let{navigate:e,data:i,onUserCloseViaDialogOrKeybindRef:a}=o(),m=n(),[h,g]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(),[x,S]=(0,p.useState)(null),{create:C}=c(),{authenticated:w,user:T}=r(),{closePrivyModal:E,isNewUserThisSession:D,initializeWalletProxy:O}=t(),{onSuccess:k,onFailure:A,callAuthOnSuccessOnClose:j,shouldCreateEth:M,shouldCreateSol:N}=i.createWallet,[P,F]=(0,p.useState)(null),I=new l((async()=>{try{let t;if(M&&N)t=await C({recoveryMethod:`user-passcode`,recoveryPassword:y,chainType:`ethereum`,walletIndex:0,latestUser:T}),t=await C({chainType:`solana`,walletIndex:0,latestUser:t.user});else if(N)t=await C({recoveryMethod:`user-passcode`,recoveryPassword:y,chainType:`solana`,walletIndex:0,latestUser:T});else{if(!M)throw Error(`Invalid args to create wallet`);t=await C({recoveryMethod:`user-passcode`,recoveryPassword:y,chainType:`ethereum`,walletIndex:0,latestUser:T})}F(t),D?e(`EmbeddedWalletCreatedScreen`):(k(t),E({shouldCallAuthOnSuccess:j}))}catch(e){g(e.message)}}));return(0,p.useEffect)((()=>{x||O(3e4).then((e=>S(e)))}),[x]),(0,p.useEffect)((()=>{if(!w||!T)return e(`LandingScreen`),void A(Error(`User must be authenticated before creating a Privy wallet`))}),[w]),a.current=()=>null,(0,f.jsx)(u,{config:{initiatedBy:`automatic`},appName:m?.name||`privy`,loading:!x,buttonLoading:_,buttonHideAnimations:!P&&_,isResettingPassword:!1,error:h,password:y||``,onClose:()=>{P&&P.account.recoveryMethod!==`user-passcode`?(A(new s(`User created a wallet but failed to set a password for it`)),E({shouldCallAuthOnSuccess:!1})):P?(k(P),E({shouldCallAuthOnSuccess:j})):(A(new s(`User wallet creation failed`)),E({shouldCallAuthOnSuccess:!1}))},onPasswordChange:b,onPasswordGenerate:()=>b(d()),onSubmit:async()=>(v(!0),I.execute().then((()=>new Promise((e=>setTimeout(e,250))))).finally((()=>v(!1))))})}};export{m as EmbeddedWalletPasswordCreateScreen,m as default};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,i as r,l as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as l,f as u,i as d,t as f}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{g as p}from"./index-YiCw0Y_x-CX5i3Z87.js";import{c as m}from"./useActiveWallet-B-yZYGc6-D7Ik-LxJ.js";import{t as h}from"./LockClosedIcon-BgY_5v_Z.js";import{n as g}from"./ScreenHeader-CHmc4-Lu-DjyrH7IK.js";import{i as _,n as v,r as y,t as b}from"./styles-BsotlekN-CXEB4Ud9.js";var x=a(),S=e(o());function C({title:e,titleId:t,...n},r){return S.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?S.createElement(`title`,{id:t},e):null,S.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10`}))}var w=S.forwardRef(C),T=c.div`
1
+ import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{$ as t,D as n,i as r,l as i}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{t as a}from"./jsx-runtime-BbDfbRii.js";import{t as o}from"./react-DrJ0MmMO.js";import{n as s}from"./modal-context-CwmSeFcv-DruX9J1E.js";import{c}from"./Loader-UAZqxsnw-Cy7hEE2f.js";import{a as l,f as u,i as d,t as f}from"./ModalFooter-BCuEK_nz-c-khvG4Y.js";import{g as p}from"./index-YiCw0Y_x-BX1zsiqG.js";import{c as m}from"./useActiveWallet-B-yZYGc6-B6JWREbk.js";import{t as h}from"./LockClosedIcon-BgY_5v_Z.js";import{n as g}from"./ScreenHeader-CHmc4-Lu-DjyrH7IK.js";import{i as _,n as v,r as y,t as b}from"./styles-BsotlekN-CXEB4Ud9.js";var x=a(),S=e(o());function C({title:e,titleId:t,...n},r){return S.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?S.createElement(`title`,{id:t},e):null,S.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10`}))}var w=S.forwardRef(C),T=c.div`
2
2
  width: 24px;
3
3
  height: 24px;
4
4
  display: flex;