@privy-io/react-auth 3.19.0 → 3.19.1

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 (231) hide show
  1. package/dist/cjs/{AccountNotFoundScreen-SsWHrdYE.js → AccountNotFoundScreen-DYCTyTXs.js} +1 -1
  2. package/dist/cjs/{Address-iycC7llp.js → Address-Ds4v-4rw.js} +1 -1
  3. package/dist/cjs/{AffirmativeConsentScreen-WNhpSCGi.js → AffirmativeConsentScreen-Ci_n8F7E.js} +1 -1
  4. package/dist/cjs/{AllowlistRejectionScreen-B_YmLFLH.js → AllowlistRejectionScreen-C6yc1rZa.js} +1 -1
  5. package/dist/cjs/{AuthenticateWithWalletScreen-W9B_xuW1.js → AuthenticateWithWalletScreen-Cup7QUgo.js} +1 -1
  6. package/dist/cjs/{AwaitingEvmToSolBridgingScreen-CiwL7LcA.js → AwaitingEvmToSolBridgingScreen-Cpnr_izr.js} +1 -1
  7. package/dist/cjs/{AwaitingExternalEthereumTransferScreen-DYhCX2B7.js → AwaitingExternalEthereumTransferScreen-zRK6yPYM.js} +1 -1
  8. package/dist/cjs/{AwaitingPasswordlessCodeScreen-BgMm2oql.js → AwaitingPasswordlessCodeScreen-amPszhnW.js} +1 -1
  9. package/dist/cjs/{AwaitingSolToEvmBridgingScreen-xE2Ivbu8.js → AwaitingSolToEvmBridgingScreen-Do2M-C2L.js} +1 -1
  10. package/dist/cjs/{BridgeNetworkSelectionView-dTXi9WId.js → BridgeNetworkSelectionView-Dd3bdElY.js} +1 -1
  11. package/dist/cjs/{CaptchaScreen-C9UnN57O.js → CaptchaScreen-C-egLUdb.js} +1 -1
  12. package/dist/cjs/{CoinbaseOnrampStatusScreen-A_KP9ZVh.js → CoinbaseOnrampStatusScreen-CR3tKa46.js} +1 -1
  13. package/dist/cjs/ConnectEmailForm-Dj4G-mBL.js +3 -0
  14. package/dist/cjs/{ConnectLedgerScreen-Cs9nP7S2.js → ConnectLedgerScreen-Br-usLx2.js} +1 -1
  15. package/dist/cjs/{ConnectOnlyLandingScreen--jqUYCWy.js → ConnectOnlyLandingScreen-BPTOHq0C.js} +1 -1
  16. package/dist/cjs/{ConnectOnlyStatusScreen-Dko5naBk.js → ConnectOnlyStatusScreen-DrSmKwPi.js} +1 -1
  17. package/dist/cjs/{ConnectOrCreateScreen-W7oTt7SU.js → ConnectOrCreateScreen-CItBL0nw.js} +1 -1
  18. package/dist/cjs/{ConnectPhoneForm-ZgGd_1N7.js → ConnectPhoneForm-D8ABvo-Z.js} +1 -1
  19. package/dist/cjs/{ConnectWalletView-DwqKpWZW.js → ConnectWalletView-wV2bTjd1.js} +1 -1
  20. package/dist/cjs/{ConnectionStatusScreen-DqTzyQkX.js → ConnectionStatusScreen-CYpmKmHf.js} +1 -1
  21. package/dist/cjs/{CrossAppAuthScreen-QmvRtcUx.js → CrossAppAuthScreen-ChEqNPoH.js} +1 -1
  22. package/dist/cjs/{CustomLandingScreenView-3sRiTxzr.js → CustomLandingScreenView-wzEg-LtH.js} +1 -1
  23. package/dist/cjs/{DelegatedActionsConsentScreen-DgvDevuK.js → DelegatedActionsConsentScreen-CDIGJnMw.js} +1 -1
  24. package/dist/cjs/{DelegatedActionsRevokeScreen-BzfeoGlg.js → DelegatedActionsRevokeScreen-w5UPIVfX.js} +1 -1
  25. package/dist/cjs/{EmbeddedWalletConnectingScreen-B1YKEWJJ.js → EmbeddedWalletConnectingScreen-DfhljwSW.js} +1 -1
  26. package/dist/cjs/{EmbeddedWalletCreatedScreen-Fngy_Z7Z.js → EmbeddedWalletCreatedScreen-BWK6pbWG.js} +1 -1
  27. package/dist/cjs/{EmbeddedWalletKeyExportScreen-B_8UQSK5.js → EmbeddedWalletKeyExportScreen-E9GUABG0.js} +1 -1
  28. package/dist/cjs/{EmbeddedWalletOnAccountCreateScreen-ByXaeqs_.js → EmbeddedWalletOnAccountCreateScreen-C6dId_1t.js} +1 -1
  29. package/dist/cjs/{EmbeddedWalletPasswordUpdateScreen-D3_g6Z9E.js → EmbeddedWalletPasswordUpdateScreen-DxAwGvFN.js} +1 -1
  30. package/dist/cjs/{EmbeddedWalletPasswordUpdateSplashScreen-BTTzo0Nh.js → EmbeddedWalletPasswordUpdateSplashScreen-DrfuXtRx.js} +1 -1
  31. package/dist/cjs/{EnrollTotp-C-oJNOLO.js → EnrollTotp-BEiiS2UB.js} +1 -1
  32. package/dist/cjs/{ErrorScreen-BOIQ9Iwp.js → ErrorScreen-BScbES9D.js} +1 -1
  33. package/dist/cjs/{FarcasterConnectStatusScreen-7dcgDoLO.js → FarcasterConnectStatusScreen-qUEMDq9f.js} +1 -1
  34. package/dist/cjs/{FarcasterSignerStatusScreen-DEnUiPDy.js → FarcasterSignerStatusScreen-lqX_4kxb.js} +1 -1
  35. package/dist/cjs/{FiatOnrampScreen-DfMbEpLz.js → FiatOnrampScreen-DljxP0Mv.js} +1 -1
  36. package/dist/cjs/{FundSolWalletWithExternalSolanaWallet-CKsy-0RU.js → FundSolWalletWithExternalSolanaWallet-B8x9e4TY.js} +1 -1
  37. package/dist/cjs/{FundWalletMethodHeader-B67kqHX4.js → FundWalletMethodHeader-2r-I9NM-.js} +1 -1
  38. package/dist/cjs/{FundWithBankDepositScreen-BN8xfFpA.js → FundWithBankDepositScreen-er41PW3w.js} +1 -1
  39. package/dist/cjs/{FundingEditAmountScreen-CqOb6_T5.js → FundingEditAmountScreen-DDRM_NOB.js} +1 -1
  40. package/dist/cjs/{FundingMethodSelectionScreen-fJFztK4M.js → FundingMethodSelectionScreen-lr3OAYNw.js} +1 -1
  41. package/dist/cjs/{InAppBrowserLoginNotPossible-bnagQikv.js → InAppBrowserLoginNotPossible-D5dO3nQl.js} +1 -1
  42. package/dist/cjs/{InstallWalletScreen-CyqS0szB.js → InstallWalletScreen-CfFjKIzG.js} +1 -1
  43. package/dist/cjs/{LandingScreen-DqGmFN52.js → LandingScreen-Pz9zELcJ.js} +1 -1
  44. package/dist/cjs/{LinkConflictScreen-Hv8E3W_9.js → LinkConflictScreen-Bb_I5-Te.js} +1 -1
  45. package/dist/cjs/{LinkEmailScreen-DE4uz-zi.js → LinkEmailScreen-Di-p5vJm.js} +1 -1
  46. package/dist/cjs/{LinkPasskeyScreen-DINSv2Cw.js → LinkPasskeyScreen-Bcgn_taU.js} +1 -1
  47. package/dist/cjs/{LinkPhoneScreen-D5yRjzap.js → LinkPhoneScreen-CFMEPJ0t.js} +1 -1
  48. package/dist/cjs/{LoginFailedScreen-CDk-pwn7.js → LoginFailedScreen-9rLC3NP0.js} +1 -1
  49. package/dist/cjs/{ManualTransferScreen-CAvGP4Cw.js → ManualTransferScreen-D2EclZVn.js} +1 -1
  50. package/dist/cjs/{MfaAuthEnrollmentFlowScreen-aiaV-0Uv.js → MfaAuthEnrollmentFlowScreen-25ay8Vgv.js} +1 -1
  51. package/dist/cjs/{MfaAuthVerifyFlowScreen-DIoi2WYi.js → MfaAuthVerifyFlowScreen-CJ-BYYWM.js} +1 -1
  52. package/dist/cjs/{MfaEnrollmentFlowScreen-BlxwptKt.js → MfaEnrollmentFlowScreen-DUeS5UBj.js} +1 -1
  53. package/dist/cjs/{MfaVerifyFlowScreen-C-ePxfd_.js → MfaVerifyFlowScreen-BTbtGc_Y.js} +1 -1
  54. package/dist/cjs/{ModalHeader-DPbDMuHf.js → ModalHeader-BYzO7cI-.js} +1 -1
  55. package/dist/cjs/MoonpayStatusScreen-INweUDpB.js +16 -0
  56. package/dist/cjs/{OAuthStatusScreen-CfoejRJG.js → OAuthStatusScreen-CyytL7FT.js} +1 -1
  57. package/dist/cjs/{PasskeySelectSignupOrLogin-DD9fXb4k.js → PasskeySelectSignupOrLogin-BdOmRMQe.js} +1 -1
  58. package/dist/cjs/{PasskeyStatusScreen-CsCma4vU.js → PasskeyStatusScreen-D8BF5ph3.js} +1 -1
  59. package/dist/cjs/{PasswordRecoveryScreen-BVfmQnjY.js → PasswordRecoveryScreen-DLc1olFW.js} +1 -1
  60. package/dist/cjs/{QrCode-yq7Uuy-I.js → QrCode-5d8CXJNC.js} +1 -1
  61. package/dist/cjs/{RecoveryOAuthStatusScreen-Wl9S8ozk.js → RecoveryOAuthStatusScreen-P97Qn10e.js} +1 -1
  62. package/dist/cjs/{RecoveryPasswordCreateScreen-CpR3nq4k.js → RecoveryPasswordCreateScreen-D7qbs4YB.js} +1 -1
  63. package/dist/cjs/{RecoverySelectionScreen-B8v3KJ2t.js → RecoverySelectionScreen-CIeH93tq.js} +1 -1
  64. package/dist/cjs/{Screen-D89lHgLy.js → Screen-llJjwrxp.js} +1 -1
  65. package/dist/cjs/{ScreenLayout-eROlbyur.js → ScreenLayout-Eidmvo87.js} +1 -1
  66. package/dist/cjs/{SelectSourceAsset-CTMxHLfc.js → SelectSourceAsset-5tAOAwxT.js} +1 -1
  67. package/dist/cjs/{SetAutomaticRecoveryScreen-DylnsIct.js → SetAutomaticRecoveryScreen-BIJBxtHb.js} +1 -1
  68. package/dist/cjs/{SetWalletPasswordForm-DmJ0uNSz.js → SetWalletPasswordForm-Bn218aUV.js} +1 -1
  69. package/dist/cjs/{SignRequestScreen-C97g_YOw.js → SignRequestScreen-CzkL8_OZ.js} +1 -1
  70. package/dist/cjs/{StandardSignAndSendTransactionScreen-BYoCNZDU.js → StandardSignAndSendTransactionScreen-B_NYTDjh.js} +1 -1
  71. package/dist/cjs/{TelegramAuthScreen-V8PX-ZDY.js → TelegramAuthScreen-C6kXk3kO.js} +1 -1
  72. package/dist/cjs/{TransactionDetails-DaptZw5I.js → TransactionDetails-DxfdvejJ.js} +1 -1
  73. package/dist/cjs/{TransactionErrorView-DMlS9soP.js → TransactionErrorView-C3EX0pEY.js} +1 -1
  74. package/dist/cjs/{TransferFromWalletScreen-D3mttpMw.js → TransferFromWalletScreen-CbKxyZI9.js} +1 -1
  75. package/dist/cjs/{TransferOrBridgeLoadingScreen-yeJf3CeN.js → TransferOrBridgeLoadingScreen-DvNx-nTF.js} +1 -1
  76. package/dist/cjs/UpdateEmailScreen-CEoJvZRy.js +1 -0
  77. package/dist/cjs/{UpdatePhoneScreen-Di0EhXEh.js → UpdatePhoneScreen-B05gtUQK.js} +1 -1
  78. package/dist/cjs/{UserLimitReachedScreen-r2nJEw-F.js → UserLimitReachedScreen-B8KL0BId.js} +1 -1
  79. package/dist/cjs/{WalletInfoCard-BSEQ9ZuG.js → WalletInfoCard-NeYBTrBx.js} +1 -1
  80. package/dist/cjs/{WalletInterstitialScreen-B0b7c8C-.js → WalletInterstitialScreen-BYQ3pudA.js} +1 -1
  81. package/dist/cjs/{WalletLink-px9-j0UX.js → WalletLink-BjNGx38B.js} +1 -1
  82. package/dist/cjs/{WalletOverflowButton-B_wfC2G0.js → WalletOverflowButton-CIy-2ZoT.js} +1 -1
  83. package/dist/cjs/abstract-smart-wallets.js +1 -1
  84. package/dist/cjs/{context-BAKveOwC.js → context-BjjUpD5p.js} +1 -1
  85. package/dist/cjs/{ethers-BN940lEL.js → ethers-ciVcQnjo.js} +1 -1
  86. package/dist/cjs/extended-chains.js +1 -1
  87. package/dist/cjs/{get-entropy-details-for-user-znf4PAFl.js → get-entropy-details-for-user-wkEl61wt.js} +1 -1
  88. package/dist/cjs/{getErc20Balance-C2HeX0xC.js → getErc20Balance-D2ALrsAV.js} +1 -1
  89. package/dist/cjs/{getErc20TokenInfo-BdVxKc8i.js → getErc20TokenInfo-CEs4Dl8g.js} +1 -1
  90. package/dist/cjs/{index-CRJX6e_s.js → index-BZhWzaXl.js} +1 -1
  91. package/dist/cjs/{index-B--7o13p.js → index-CxsK6iOV.js} +3 -3
  92. package/dist/cjs/{index-C18QAA2m.js → index-DN8WQSG4.js} +1 -1
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/internal.js +1 -1
  95. package/dist/cjs/{privy-context-BvJtlB2I.js → privy-context-D_bfraBb.js} +1 -1
  96. package/dist/cjs/{shared-BsPOVf62.js → shared-BSq7BOqN.js} +1 -1
  97. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-qEV52R11.js → shouldProceedtoEmbeddedWalletCreationFlow-DjivB_oa.js} +1 -1
  98. package/dist/cjs/{smart-wallets-qun8sdo4.js → smart-wallets-D-5DjXBx.js} +1 -1
  99. package/dist/cjs/smart-wallets.js +1 -1
  100. package/dist/cjs/solana.js +1 -1
  101. package/dist/cjs/{styles-yjRZwXww.js → styles-C3jc9Fr1.js} +1 -1
  102. package/dist/cjs/{to-ui-error-1m54Wswj.js → to-ui-error-Bjdw9oEy.js} +1 -1
  103. package/dist/cjs/ui.js +1 -1
  104. package/dist/cjs/{use-export-wallet-BU92CTDl.js → use-export-wallet-0ug9kEzt.js} +1 -1
  105. package/dist/cjs/{use-export-wallet-CobU4v_Q.js → use-export-wallet-CbniK141.js} +1 -1
  106. package/dist/cjs/{useActiveWallet-BBx2W_rS.js → useActiveWallet-B-h9N08f.js} +1 -1
  107. package/dist/cjs/{useGetTokenPrice-B5WCAcBp.js → useGetTokenPrice-D-26qZTh.js} +1 -1
  108. package/dist/cjs/{useI18n-DIxsjQ9B.js → useI18n-CAPzp6vl.js} +1 -1
  109. package/dist/cjs/{usePrivy-uhb6CtaO.js → usePrivy-COyfL9KC.js} +1 -1
  110. package/dist/cjs/{useSolanaRpcClient-mGXfNcZ-.js → useSolanaRpcClient-ra6uo3sD.js} +1 -1
  111. package/dist/cjs/{useWalletBalance-D-Du820J.js → useWalletBalance-DpdYYSSd.js} +1 -1
  112. package/dist/cjs/{useWallets-C7PkfsPn.js → useWallets-3F7K9G5T.js} +1 -1
  113. package/dist/esm/{AccountNotFoundScreen-C5OtLX5Z.mjs → AccountNotFoundScreen-BGKVPOtu.mjs} +1 -1
  114. package/dist/esm/{Address-DjnW56Bj.mjs → Address-uCEGlQhU.mjs} +1 -1
  115. package/dist/esm/{AffirmativeConsentScreen-C5riWiqL.mjs → AffirmativeConsentScreen-VMLckyRD.mjs} +1 -1
  116. package/dist/esm/{AllowlistRejectionScreen-Doq-C6CE.mjs → AllowlistRejectionScreen-fcPBlsKB.mjs} +1 -1
  117. package/dist/esm/{AuthenticateWithWalletScreen-edkTE-4O.mjs → AuthenticateWithWalletScreen-Bt9cf-zV.mjs} +1 -1
  118. package/dist/esm/{AwaitingEvmToSolBridgingScreen-253OZL8g.mjs → AwaitingEvmToSolBridgingScreen-DqwNNSAq.mjs} +1 -1
  119. package/dist/esm/{AwaitingExternalEthereumTransferScreen-cE8_H5Kl.mjs → AwaitingExternalEthereumTransferScreen-C72TxvV3.mjs} +1 -1
  120. package/dist/esm/{AwaitingPasswordlessCodeScreen-BO10KeAt.mjs → AwaitingPasswordlessCodeScreen-aKZPvb2s.mjs} +1 -1
  121. package/dist/esm/{AwaitingSolToEvmBridgingScreen-Bd5UKwsG.mjs → AwaitingSolToEvmBridgingScreen-BoTs-ADD.mjs} +1 -1
  122. package/dist/esm/{BridgeNetworkSelectionView-DB46VHVa.mjs → BridgeNetworkSelectionView-DzzWp4SD.mjs} +1 -1
  123. package/dist/esm/{CaptchaScreen-DUfGAYog.mjs → CaptchaScreen-CaNstdhA.mjs} +1 -1
  124. package/dist/esm/{CoinbaseOnrampStatusScreen-DCHBF8oF.mjs → CoinbaseOnrampStatusScreen-DU-pzP1J.mjs} +1 -1
  125. package/dist/esm/ConnectEmailForm-DyETwtqR.mjs +3 -0
  126. package/dist/esm/{ConnectLedgerScreen-Bjrbf9wS.mjs → ConnectLedgerScreen-D4QXhmr1.mjs} +1 -1
  127. package/dist/esm/{ConnectOnlyLandingScreen-CHhG02AT.mjs → ConnectOnlyLandingScreen-iA6rVvEd.mjs} +1 -1
  128. package/dist/esm/{ConnectOnlyStatusScreen-SGdKkp-M.mjs → ConnectOnlyStatusScreen-DKrUUPNE.mjs} +1 -1
  129. package/dist/esm/{ConnectOrCreateScreen-C-8_VCIH.mjs → ConnectOrCreateScreen-DoWNMZPl.mjs} +1 -1
  130. package/dist/esm/{ConnectPhoneForm-BJKq4xj_.mjs → ConnectPhoneForm-Dnn087oO.mjs} +1 -1
  131. package/dist/esm/{ConnectWalletView-CXu3Gw6w.mjs → ConnectWalletView-BP7oFkWz.mjs} +1 -1
  132. package/dist/esm/{ConnectionStatusScreen-CcPx0tPf.mjs → ConnectionStatusScreen-CHmHFR4r.mjs} +1 -1
  133. package/dist/esm/{CrossAppAuthScreen-jj8MELYk.mjs → CrossAppAuthScreen-CAkf-v9h.mjs} +1 -1
  134. package/dist/esm/{CustomLandingScreenView-bamwAqeL.mjs → CustomLandingScreenView-DmzA26pX.mjs} +1 -1
  135. package/dist/esm/{DelegatedActionsConsentScreen-C8vuydg_.mjs → DelegatedActionsConsentScreen-Dfgw0U2Z.mjs} +1 -1
  136. package/dist/esm/{DelegatedActionsRevokeScreen-CX3fQC0_.mjs → DelegatedActionsRevokeScreen-DtPjgKBF.mjs} +1 -1
  137. package/dist/esm/{EmbeddedWalletConnectingScreen-T95TUkFg.mjs → EmbeddedWalletConnectingScreen-C7NhIf9g.mjs} +1 -1
  138. package/dist/esm/{EmbeddedWalletCreatedScreen-CGs6ATdZ.mjs → EmbeddedWalletCreatedScreen-C5thW9cQ.mjs} +1 -1
  139. package/dist/esm/{EmbeddedWalletKeyExportScreen-DSuDdWjx.mjs → EmbeddedWalletKeyExportScreen-DjKXD9Ex.mjs} +1 -1
  140. package/dist/esm/{EmbeddedWalletOnAccountCreateScreen-CTV4Mo3e.mjs → EmbeddedWalletOnAccountCreateScreen-gHJhlnc8.mjs} +1 -1
  141. package/dist/esm/{EmbeddedWalletPasswordUpdateScreen-B1anqUGL.mjs → EmbeddedWalletPasswordUpdateScreen-Ba-mWed1.mjs} +1 -1
  142. package/dist/esm/{EmbeddedWalletPasswordUpdateSplashScreen-CIh8X6ji.mjs → EmbeddedWalletPasswordUpdateSplashScreen-CzVHxSH5.mjs} +1 -1
  143. package/dist/esm/{EnrollTotp-CzAUPBBL.mjs → EnrollTotp-Co7Paw_X.mjs} +1 -1
  144. package/dist/esm/{ErrorScreen-D_oZv5-L.mjs → ErrorScreen-dMCodcFQ.mjs} +1 -1
  145. package/dist/esm/{FarcasterConnectStatusScreen-B8KI1d_Z.mjs → FarcasterConnectStatusScreen-DDEDul9Q.mjs} +1 -1
  146. package/dist/esm/{FarcasterSignerStatusScreen-D03jhZYX.mjs → FarcasterSignerStatusScreen-0TUs3DzO.mjs} +1 -1
  147. package/dist/esm/{FiatOnrampScreen-Du45zPAv.mjs → FiatOnrampScreen-DMGyDOeQ.mjs} +1 -1
  148. package/dist/esm/{FundSolWalletWithExternalSolanaWallet-FbcRItfz.mjs → FundSolWalletWithExternalSolanaWallet-uymzX1mn.mjs} +1 -1
  149. package/dist/esm/{FundWalletMethodHeader-DI7zmHzS.mjs → FundWalletMethodHeader-BCwf858J.mjs} +1 -1
  150. package/dist/esm/{FundWithBankDepositScreen-C13Zljni.mjs → FundWithBankDepositScreen-DAkmrein.mjs} +1 -1
  151. package/dist/esm/{FundingEditAmountScreen-BBpobzZI.mjs → FundingEditAmountScreen-BHcnUSyr.mjs} +1 -1
  152. package/dist/esm/{FundingMethodSelectionScreen-CPdqedYS.mjs → FundingMethodSelectionScreen-CulEjme5.mjs} +1 -1
  153. package/dist/esm/{InAppBrowserLoginNotPossible-C1G59clA.mjs → InAppBrowserLoginNotPossible-CKRjtm8l.mjs} +1 -1
  154. package/dist/esm/{InstallWalletScreen-C-ei-NFv.mjs → InstallWalletScreen-DtcYeSdQ.mjs} +1 -1
  155. package/dist/esm/{LandingScreen-CQ45HDbl.mjs → LandingScreen-3Op5KD-K.mjs} +1 -1
  156. package/dist/esm/{LinkConflictScreen-DqXwl3Eg.mjs → LinkConflictScreen-WMjKThJG.mjs} +1 -1
  157. package/dist/esm/{LinkEmailScreen-CYbgRIbn.mjs → LinkEmailScreen-iRP0dJfw.mjs} +1 -1
  158. package/dist/esm/{LinkPasskeyScreen-BQhZsrBK.mjs → LinkPasskeyScreen-b7O9zyXf.mjs} +1 -1
  159. package/dist/esm/{LinkPhoneScreen-ClKxo5cr.mjs → LinkPhoneScreen-TW2GHgvq.mjs} +1 -1
  160. package/dist/esm/{LoginFailedScreen-BJ4M6Kn-.mjs → LoginFailedScreen-dK2wDOdF.mjs} +1 -1
  161. package/dist/esm/{ManualTransferScreen-C9qPhAAZ.mjs → ManualTransferScreen-rNuduBb4.mjs} +1 -1
  162. package/dist/esm/{MfaAuthEnrollmentFlowScreen-mbqTiHql.mjs → MfaAuthEnrollmentFlowScreen-Dn8p786O.mjs} +1 -1
  163. package/dist/esm/{MfaAuthVerifyFlowScreen-DgphGRo7.mjs → MfaAuthVerifyFlowScreen-C0nLWIBE.mjs} +1 -1
  164. package/dist/esm/{MfaEnrollmentFlowScreen-BjYhGDOo.mjs → MfaEnrollmentFlowScreen-B2txTn7i.mjs} +1 -1
  165. package/dist/esm/{MfaVerifyFlowScreen-DRc1xPzc.mjs → MfaVerifyFlowScreen-J6Y0uDOE.mjs} +1 -1
  166. package/dist/esm/{ModalHeader-BxZPF7qd.mjs → ModalHeader-DoJRUrfg.mjs} +1 -1
  167. package/dist/esm/MoonpayStatusScreen-BeMAl9M_.mjs +16 -0
  168. package/dist/esm/{OAuthStatusScreen-C7AflQnS.mjs → OAuthStatusScreen-Bv2Y62oh.mjs} +1 -1
  169. package/dist/esm/{PasskeySelectSignupOrLogin-Bbx2Drep.mjs → PasskeySelectSignupOrLogin-uB4k-3wi.mjs} +1 -1
  170. package/dist/esm/{PasskeyStatusScreen-CA7_egXn.mjs → PasskeyStatusScreen-6eoKjzOh.mjs} +1 -1
  171. package/dist/esm/{PasswordRecoveryScreen-BuXptYA9.mjs → PasswordRecoveryScreen-Cz7wlwkb.mjs} +1 -1
  172. package/dist/esm/{QrCode-DoSGd0gd.mjs → QrCode-DvdS2fTl.mjs} +1 -1
  173. package/dist/esm/{RecoveryOAuthStatusScreen-g1unBUdr.mjs → RecoveryOAuthStatusScreen-XoCZHVWf.mjs} +1 -1
  174. package/dist/esm/{RecoveryPasswordCreateScreen-DJZV0PyW.mjs → RecoveryPasswordCreateScreen-rqUOx9UX.mjs} +1 -1
  175. package/dist/esm/{RecoverySelectionScreen-CP89GXeT.mjs → RecoverySelectionScreen-CKOt3Nut.mjs} +1 -1
  176. package/dist/esm/{Screen-Cce_5_X_.mjs → Screen-B0W_mkID.mjs} +1 -1
  177. package/dist/esm/{ScreenLayout-CHf1S-9L.mjs → ScreenLayout-dQPPBTHQ.mjs} +1 -1
  178. package/dist/esm/{SelectSourceAsset-QWi9hDN9.mjs → SelectSourceAsset-CDqDZcxU.mjs} +1 -1
  179. package/dist/esm/{SetAutomaticRecoveryScreen-B0MtWhUx.mjs → SetAutomaticRecoveryScreen-Da8-JK8H.mjs} +1 -1
  180. package/dist/esm/{SetWalletPasswordForm-BXbILvyT.mjs → SetWalletPasswordForm-Buvk-M6N.mjs} +1 -1
  181. package/dist/esm/{SignRequestScreen-D_YVDOBu.mjs → SignRequestScreen-CTaSpjNs.mjs} +1 -1
  182. package/dist/esm/{StandardSignAndSendTransactionScreen-AliHQit_.mjs → StandardSignAndSendTransactionScreen-Cd1dGoKG.mjs} +1 -1
  183. package/dist/esm/{TelegramAuthScreen-DWjN9i1k.mjs → TelegramAuthScreen-Bm4n4XFQ.mjs} +1 -1
  184. package/dist/esm/{TransactionDetails-8XGJZ0Ge.mjs → TransactionDetails-MNqLr6QY.mjs} +1 -1
  185. package/dist/esm/{TransactionErrorView-D9VQgKHy.mjs → TransactionErrorView-Co2Eii6d.mjs} +1 -1
  186. package/dist/esm/{TransferFromWalletScreen-CPcbM8ct.mjs → TransferFromWalletScreen-B4Wk_wXp.mjs} +1 -1
  187. package/dist/esm/{TransferOrBridgeLoadingScreen-tI8x9TKA.mjs → TransferOrBridgeLoadingScreen-B3FvN69W.mjs} +1 -1
  188. package/dist/esm/UpdateEmailScreen-DmviL5du.mjs +1 -0
  189. package/dist/esm/{UpdatePhoneScreen-B0uTQUE2.mjs → UpdatePhoneScreen-C4ldfBEK.mjs} +1 -1
  190. package/dist/esm/{UserLimitReachedScreen-2MyKh-yy.mjs → UserLimitReachedScreen-_GDlzsLL.mjs} +1 -1
  191. package/dist/esm/{WalletInfoCard-D5bstd0h.mjs → WalletInfoCard-Z6TrQ80y.mjs} +1 -1
  192. package/dist/esm/{WalletInterstitialScreen-DwXL1Xbn.mjs → WalletInterstitialScreen-CLq6H8SB.mjs} +1 -1
  193. package/dist/esm/{WalletLink-DbseEfVp.mjs → WalletLink-BNfCTkNd.mjs} +1 -1
  194. package/dist/esm/{WalletOverflowButton-rYLbxS3a.mjs → WalletOverflowButton-qWufTlwe.mjs} +1 -1
  195. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  196. package/dist/esm/{context-BDvZRT56.mjs → context-qQM1iNfa.mjs} +1 -1
  197. package/dist/esm/{ethers-CljtMjlx.mjs → ethers-Dhr2H_97.mjs} +1 -1
  198. package/dist/esm/extended-chains.mjs +1 -1
  199. package/dist/esm/{get-entropy-details-for-user-CgVPjq_6.mjs → get-entropy-details-for-user-Czn6Jw3y.mjs} +1 -1
  200. package/dist/esm/{getErc20Balance-Bak89VUo.mjs → getErc20Balance-CNjvj6se.mjs} +1 -1
  201. package/dist/esm/{getErc20TokenInfo-PgoronUM.mjs → getErc20TokenInfo-BqGSedRu.mjs} +1 -1
  202. package/dist/esm/{index-DehjclA2.mjs → index-BzR5msOu.mjs} +1 -1
  203. package/dist/esm/{index-t8luNMU8.mjs → index-DEMX6Xep.mjs} +3 -3
  204. package/dist/esm/{index-Ch8BunPr.mjs → index-nLlScNzY.mjs} +1 -1
  205. package/dist/esm/index.mjs +1 -1
  206. package/dist/esm/internal.mjs +1 -1
  207. package/dist/esm/{privy-context-v-TMVBdt.mjs → privy-context-BN6uOGsO.mjs} +1 -1
  208. package/dist/esm/{shared-BwdRCoW3.mjs → shared-DavaAwrU.mjs} +1 -1
  209. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-eFXUIOL2.mjs → shouldProceedtoEmbeddedWalletCreationFlow-C2YnkwWb.mjs} +1 -1
  210. package/dist/esm/{smart-wallets-CUCYKFEU.mjs → smart-wallets-BgTR6hXN.mjs} +1 -1
  211. package/dist/esm/smart-wallets.mjs +1 -1
  212. package/dist/esm/solana.mjs +1 -1
  213. package/dist/esm/{styles-BHXHIG4L.mjs → styles-DxVNgMho.mjs} +1 -1
  214. package/dist/esm/{to-ui-error-BxE1Clcw.mjs → to-ui-error-dkzrkcpQ.mjs} +1 -1
  215. package/dist/esm/ui.mjs +1 -1
  216. package/dist/esm/{use-export-wallet-C3yKuILk.mjs → use-export-wallet-Bu3_93lu.mjs} +1 -1
  217. package/dist/esm/{use-export-wallet-CjuVPfu7.mjs → use-export-wallet-CemsKgWi.mjs} +1 -1
  218. package/dist/esm/{useActiveWallet-CLfuK4Fv.mjs → useActiveWallet--d716S0q.mjs} +1 -1
  219. package/dist/esm/{useGetTokenPrice-B5d8vo-7.mjs → useGetTokenPrice-JxtZgqMH.mjs} +1 -1
  220. package/dist/esm/{useI18n-B7zlT24x.mjs → useI18n-CJgqqj7B.mjs} +1 -1
  221. package/dist/esm/{usePrivy-B1AsvC0i.mjs → usePrivy-BlM-XgWI.mjs} +1 -1
  222. package/dist/esm/{useSolanaRpcClient-PuydY50L.mjs → useSolanaRpcClient-DBfgMIVD.mjs} +1 -1
  223. package/dist/esm/{useWalletBalance-DebUrdhO.mjs → useWalletBalance-BFiTJAWW.mjs} +1 -1
  224. package/dist/esm/{useWallets-CGkwKA_6.mjs → useWallets-Bjl0fq_c.mjs} +1 -1
  225. package/package.json +9 -9
  226. package/dist/cjs/ConnectEmailForm-C8fmK8xT.js +0 -3
  227. package/dist/cjs/MoonpayStatusScreen-DuiX8J3j.js +0 -16
  228. package/dist/cjs/UpdateEmailScreen-HWXa5jkm.js +0 -1
  229. package/dist/esm/ConnectEmailForm-BC_yo8km.mjs +0 -3
  230. package/dist/esm/MoonpayStatusScreen-d57zC4KR.mjs +0 -16
  231. package/dist/esm/UpdateEmailScreen-DTJvoOp1.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo as a,useCallback as l}from"react";import{create as o}from"zustand";import{u as r,n as s,o as c,p as d}from"./context-BDvZRT56.mjs";import{isAddress as h}from"viem";import{getAddress as p,toHex as u}from"viem/utils";import{P as m,u as w}from"./internal-context-C4ZqP8IF.mjs";import{r as y,o as g,n as f,c as b,i as v,a as x,f as k,w as C,S as _}from"./use-export-wallet-C3yKuILk.mjs";import{jsxs as T,jsx as z}from"react/jsx-runtime";import*as $ from"react-device-detect";import{styled as P,css as S}from"styled-components";import{u as j}from"./events-context-CI0iqAXA.mjs";import{P as I}from"./privy-context-v-TMVBdt.mjs";import{u as N}from"./get-entropy-details-for-user-CgVPjq_6.mjs";const E=o((()=>({listings:[],loading:!1}))),L=E.setState,A=e=>E.getState().listings.find((({slug:t})=>R(t)===R(e))),O=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return E.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},U=(t=!0)=>{let n=r(),i=E((e=>e.listings)),a=E((e=>e.loading)),l=!!i.length;return e((()=>{t&&!l&&(L({listings:[],loading:!0}),(async e=>{let t=new URL("v3/wallets","https://explorer-api.walletconnect.com");t.searchParams.append("projectId",e);let n=await fetch(t);return n.ok?Object.values((await n.json()).listings).sort((({slug:e},{slug:t})=>"rainbow"===e&&"metamask"===t?1:"metamask"===e||"rainbow"===e?-1:1)):(console.debug(`Failed to fetch WalletConnect listings: ${await n.text().catch((()=>"No response."))}`),[])})(n.walletConnectCloudProjectId).then((e=>L({listings:e,loading:!1}))).catch((e=>{console.error(e),L({listings:[],loading:!1})})))}),[t,l,n.walletConnectCloudProjectId]),{listings:i,loading:a}},W=e=>{let{listings:t}=U();return t.find((({slug:t})=>R(t)===R(e)))};function R(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}function M(e){return["wallet_connect","backpack","binance","binanceus","bitget_wallet","bybit_wallet","cryptocom","haha_wallet","jupiter","metamask","okx_wallet","phantom","rabby_wallet","rainbow","ronin_wallet","safe","solflare","uniswap","zerion","kraken_wallet"].some((t=>e?.includes(t)))}function q(e){return"ethereum"===e.type}function B(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],a=t[n];if(i?.address!==a?.address||i&&a&&q(i)&&q(a)&&i?.chainId!==a?.chainId||i?.connectorType!==a?.connectorType||i?.connectedAt!==a?.connectedAt||i?.walletClientType!==a?.walletClientType||i?.isConnected!==a?.isConnected||i?.linked!==a?.linked)return!1}return!0}const D=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||s;function F(e){return"ethereum"===e.chainType}class J extends y{buildConnectedWallet(e,t,n,i){let a=async()=>!!this.wallets.find((t=>p(t.address)===p(e)));return{type:"ethereum",address:p(e),chainId:t,meta:n,imported:i,switchChain:async n=>{let i,l;if(!a)throw new m("Wallet is not currently connected.");let o=this.wallets.find((t=>p(t.address)===p(e)))?.chainId;if(!o)throw new m("Unable to determine current chainId.");if("number"==typeof n?(i=`0x${n.toString(16)}`,l=n):(i=n,l=Number(n)),o===g(i))return;let r=this.chains.find((e=>e.id===l));if(!r)throw new m(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:i}]})};try{return await s()}catch(e){if(((e,t)=>{switch(t){case"coinbase_wallet":case"base_account":return e.message.includes("addEthereumChain");case"rabby_wallet":return e.message.includes("Unrecognized chain ID");default:return 4902===e.code||e.message?.includes("4902")}})(e,this.walletClientType))return"rabby_wallet"===this.walletClientType&&await f(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:i,chainName:r.name,nativeCurrency:r.nativeCurrency,rpcUrls:[r.rpcUrls.default?.http[0]??""],blockExplorerUrls:[r.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new m(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:a,getEthereumProvider:async()=>{if(!await a())throw new m("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await a())throw new m("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t;b.debug("Syncing accounts",{wallet:this.walletClientType});let n=e;try{if(void 0===n){b.rpcRequest("eth_accounts",this.walletClientType);let e=await v((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});b.rpcResponse("eth_accounts",this.walletClientType),Array.isArray(e)&&(n=e)}}catch(e){b.warn("Wallet did not respond to eth_accounts, using prefetched accounts",{wallet:this.walletClientType})}if(!n||!Array.isArray(n)||n.length<=0||!n[0])return void b.debug("No accounts found",{wallet:this.walletClientType});let i=n[0];if(!h(i))return;let a=p(i),l=[];if("privy"===this.walletClientType){let e=x.get(c(a));this.chains.find((t=>t.id===Number(e)))||(x.del(c(a)),e=null),t=e||`0x${this.defaultChain.id.toString(16)}`;try{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(e){b.warn("Unable to switch embedded wallet chain on initialization",{wallet:this.walletClientType,chainId:t})}}else try{b.rpcRequest("eth_chainId",this.walletClientType);let e=await v((()=>this.proxyProvider.request({method:"eth_chainId"})),{maxAttempts:10,delayMs:500});if(b.rpcResponse("eth_chainId",this.walletClientType),"string"==typeof e)t=e;else{if("number"!=typeof e)throw Error("Invalid chainId returned from provider");t=`0x${e.toString(16)}`}}catch(e){b.warn("Failed to get chainId from provider, using default",{wallet:this.walletClientType,defaultChainId:d}),t=d}let o=g(t);if(!l.find((e=>p(e.address)===a))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};l.push(this.buildConnectedWallet(p(i),o,e,"embedded_imported"===this.connectorType))}B(l,this.wallets)||(b.debug("Wallets updated",{wallet:this.walletClientType,address:a,chainId:o}),this.wallets=l,this.emit("walletsUpdated"))}async getConnectedWallet(){let e=await this.proxyProvider.request({method:"eth_accounts"});return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt)).find((t=>e.find((e=>p(e)===p(t.address)))))||null}async isConnected(){let e=await this.proxyProvider.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}async sign(e){return await this.connect({showPrompt:!1}),this.proxyProvider.request({method:"personal_sign",params:[u(e),this.wallets[0]?.address]})}subscribeListeners(){this.proxyProvider.on("accountsChanged",this.onAccountsChanged),this.proxyProvider.on("chainChanged",this.onChainChanged),this.proxyProvider.on("disconnect",this.onDisconnect),this.proxyProvider.on("connect",this.onConnect)}unsubscribeListeners(){this.proxyProvider.removeListener("accountsChanged",this.onAccountsChanged),this.proxyProvider.removeListener("chainChanged",this.onChainChanged),this.proxyProvider.removeListener("disconnect",this.onDisconnect),this.proxyProvider.removeListener("connect",this.onConnect)}constructor(e,t,n,i){super(e),this.chainType="ethereum",this.onAccountsChanged=e=>{b.providerEvent("accountsChanged",this.walletClientType,{accountsCount:e.length}),0===e.length?this.onDisconnect():this.syncAccounts(e)},this.onChainChanged=e=>{b.providerEvent("chainChanged",this.walletClientType,{chainId:e}),this.wallets.forEach((t=>{t.chainId=g(e),"privy"===this.walletClientType&&x.put(c(t.address),e)})),this.emit("walletsUpdated")},this.onDisconnect=()=>{b.providerEvent("disconnect",this.walletClientType),this.connected=!1,this.wallets=[],this.emit("walletsUpdated")},this.onConnect=async()=>{b.providerEvent("connect",this.walletClientType),"base_account"===this.connectorType&&this.connected||(this.connected=!0,"coinbase_wallet"===this.connectorType&&await f(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=n,this.rpcConfig=i,this.rpcTimeoutDuration=D(i,e),this.connected=!1,this.initialized=!1}}class K{on(e,t){if(this.walletProvider)return this.walletProvider.on(e,t);this._subscriptions.push({eventName:e,listener:t})}async request(e){if(!this.walletProvider)throw new m(`A wallet request of type ${e.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(e),this.walletTimeout()]).catch((e=>{throw k(e)}))}constructor(e,t){this.removeListener=(e,t)=>{if(this.walletProvider)try{return this.walletProvider.removeListener(e,t)}catch(e){console.warn("Unable to remove wallet provider listener")}},this.walletTimeout=(e=new C,t=this.rpcTimeoutDuration)=>new Promise(((n,i)=>setTimeout((()=>{i(e)}),t))),this.setWalletProvider=e=>{this.walletProvider&&this._subscriptions.forEach((e=>{this.removeListener(e.eventName,e.listener)})),this.walletProvider=e,this._subscriptions.forEach((e=>{this.walletProvider?.on(e.eventName,e.listener)}))},this.walletProvider=e,this.rpcTimeoutDuration=t||s,this._subscriptions=[]}}class G extends J{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:n,walletClientType:i,defaultChain:a}){super(i,[],a,{}),this.connectorType="null",this.proxyProvider=new K(void 0,s),this.id=e,this.name=t,this.icon=n}}const H=({...e})=>/*#__PURE__*/T("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/z("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/z("g",{transform:"translate(4, 4)",children:/*#__PURE__*/T("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/z("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/z("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/z("path",{d:"m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",className:"s1 s2"}),/*#__PURE__*/z("path",{d:"m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",className:"s1 s2"}),/*#__PURE__*/z("path",{fill:"#d7c1b3",stroke:"#d7c1b3",className:"s1",d:"m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"}),/*#__PURE__*/z("path",{fill:"#233447",stroke:"#233447",className:"s1",d:"m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"}),/*#__PURE__*/z("path",{fill:"#cd6116",stroke:"#cd6116",className:"s1",d:"m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"}),/*#__PURE__*/z("path",{fill:"#e4751f",stroke:"#e4751f",className:"s1",d:"m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"}),/*#__PURE__*/z("path",{d:"m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",className:"s3"}),/*#__PURE__*/z("path",{fill:"#c0ad9e",stroke:"#c0ad9e",className:"s1",d:"m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"}),/*#__PURE__*/z("path",{fill:"#161616",stroke:"#161616",className:"s1",d:"m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"}),/*#__PURE__*/z("path",{fill:"#763d16",stroke:"#763d16",className:"s1",d:"m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"}),/*#__PURE__*/z("path",{d:"m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",className:"s3"})]})})]}),Q=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","crypto.com_wallet_extension","crypto.com_onchain","binance","bitget_wallet","coinbase_wallet","coinbase_smart_wallet","base_account","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitget_wallet","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","privy","unknown","phantom","solflare","glow","backpack","jupiter","mobile_wallet_adapter"],X=Object.freeze({phantom:{client:"phantom",name:"Phantom",installLink:$.isFirefox?"https://addons.mozilla.org/en-US/firefox/addon/phantom-app/":"https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa?hl=en",chainTypes:["ethereum","solana"],get isInstalled(){if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId||e?.phantom?.solana?.isPhantom)return!0}return!1},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${i}?ref=${i}`}},solflare:{client:"solflare",name:"Solflare",installLink:$.isFirefox?"https://addons.mozilla.org/es/firefox/addon/solflare-wallet/":"https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic",chainTypes:["solana"],get isInstalled(){return"solflare"in window&&!!window?.solflare?.isSolflare},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${i}?ref=${i}`}},jupiter:{client:"jupiter",name:"Jupiter Wallet",installLink:"https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh",chainTypes:["solana"],get isInstalled(){return"jupiter"in window&&!!window?.jupiter?.isJupiter},getMobileRedirect({isSolana:e,connectOnly:t}){let n=Y({client:this.client,isSolana:e,connectOnly:t});return`jupjupjup://jup.ag/browse/${n}?ref=${n}`}},backpack:{client:"backpack",name:"Backpack",installLink:"https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",chainTypes:["ethereum","solana"],get isInstalled(){return!(!("backpack"in window)||!window?.backpack?.ethereum?.isBackpack&&!window?.backpack?.solana?.isBackpack)},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${i}?ref=${i}`}},okx_wallet:{client:"okx_wallet",name:"OKX Wallet",installLink:"https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",chainTypes:["ethereum","solana"],get isInstalled(){return"okxwallet"in window&&!!window?.okxwallet?.isOkxWallet},getMobileRedirect({isSolana:e,connectOnly:t}){return`okx://wallet/dapp/url?dappUrl=${Y({client:this.client,isSolana:e,connectOnly:t})}`}}});function V({connectorType:e,walletClientType:t}){for(let n of Q)if(e===n||t===n)return X[n]}function Y({client:e,isSolana:t,connectOnly:n}){let i=new URL(window.location.href);return i.searchParams.set("privy_connector",t?"solana_adapter":"injected"),i.searchParams.set("privy_wallet_client",e),i.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(i.href.replace(/\/$/g,""))}class Z extends _{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the SolanaNullConnector")}constructor({id:e,name:t,icon:n}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new K(void 0,s),this.disconnect=async()=>{throw Error("disconnect called for an uninstalled wallet via the SolanaNullConnector")},this.promptConnection=async()=>{throw Error("promptConnection called for an uninstalled wallet via the SolanaNullConnector")},this.id=e,this.name=t,this.icon=n}}function ee(e){return"solana"===e.chainType}function te(e){return"solana"===e.type}const ne=n=>{let[i,a]=t("auto");return e((()=>{let e=new ResizeObserver((e=>{a(e[0]?.contentRect.height??"auto")}));return n.current&&e.observe(n.current),()=>{n.current&&e.unobserve(n.current)}}),[n.current]),i},ie=P.div`
1
+ import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo as a,useCallback as l}from"react";import{create as o}from"zustand";import{u as r,n as s,o as c,p as d}from"./context-qQM1iNfa.mjs";import{isAddress as h}from"viem";import{getAddress as p,toHex as u}from"viem/utils";import{P as m,u as w}from"./internal-context-C4ZqP8IF.mjs";import{r as y,o as g,n as f,c as b,i as v,a as x,f as k,w as C,S as _}from"./use-export-wallet-Bu3_93lu.mjs";import{jsxs as T,jsx as z}from"react/jsx-runtime";import*as $ from"react-device-detect";import{styled as P,css as S}from"styled-components";import{u as j}from"./events-context-CI0iqAXA.mjs";import{P as I}from"./privy-context-BN6uOGsO.mjs";import{u as N}from"./get-entropy-details-for-user-Czn6Jw3y.mjs";const E=o((()=>({listings:[],loading:!1}))),L=E.setState,A=e=>E.getState().listings.find((({slug:t})=>R(t)===R(e))),O=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return E.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},U=(t=!0)=>{let n=r(),i=E((e=>e.listings)),a=E((e=>e.loading)),l=!!i.length;return e((()=>{t&&!l&&(L({listings:[],loading:!0}),(async e=>{let t=new URL("v3/wallets","https://explorer-api.walletconnect.com");t.searchParams.append("projectId",e);let n=await fetch(t);return n.ok?Object.values((await n.json()).listings).sort((({slug:e},{slug:t})=>"rainbow"===e&&"metamask"===t?1:"metamask"===e||"rainbow"===e?-1:1)):(console.debug(`Failed to fetch WalletConnect listings: ${await n.text().catch((()=>"No response."))}`),[])})(n.walletConnectCloudProjectId).then((e=>L({listings:e,loading:!1}))).catch((e=>{console.error(e),L({listings:[],loading:!1})})))}),[t,l,n.walletConnectCloudProjectId]),{listings:i,loading:a}},W=e=>{let{listings:t}=U();return t.find((({slug:t})=>R(t)===R(e)))};function R(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}function M(e){return["wallet_connect","backpack","binance","binanceus","bitget_wallet","bybit_wallet","cryptocom","haha_wallet","jupiter","metamask","okx_wallet","phantom","rabby_wallet","rainbow","ronin_wallet","safe","solflare","uniswap","zerion","kraken_wallet"].some((t=>e?.includes(t)))}function q(e){return"ethereum"===e.type}function B(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],a=t[n];if(i?.address!==a?.address||i&&a&&q(i)&&q(a)&&i?.chainId!==a?.chainId||i?.connectorType!==a?.connectorType||i?.connectedAt!==a?.connectedAt||i?.walletClientType!==a?.walletClientType||i?.isConnected!==a?.isConnected||i?.linked!==a?.linked)return!1}return!0}const D=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||s;function F(e){return"ethereum"===e.chainType}class J extends y{buildConnectedWallet(e,t,n,i){let a=async()=>!!this.wallets.find((t=>p(t.address)===p(e)));return{type:"ethereum",address:p(e),chainId:t,meta:n,imported:i,switchChain:async n=>{let i,l;if(!a)throw new m("Wallet is not currently connected.");let o=this.wallets.find((t=>p(t.address)===p(e)))?.chainId;if(!o)throw new m("Unable to determine current chainId.");if("number"==typeof n?(i=`0x${n.toString(16)}`,l=n):(i=n,l=Number(n)),o===g(i))return;let r=this.chains.find((e=>e.id===l));if(!r)throw new m(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:i}]})};try{return await s()}catch(e){if(((e,t)=>{switch(t){case"coinbase_wallet":case"base_account":return e.message.includes("addEthereumChain");case"rabby_wallet":return e.message.includes("Unrecognized chain ID");default:return 4902===e.code||e.message?.includes("4902")}})(e,this.walletClientType))return"rabby_wallet"===this.walletClientType&&await f(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:i,chainName:r.name,nativeCurrency:r.nativeCurrency,rpcUrls:[r.rpcUrls.default?.http[0]??""],blockExplorerUrls:[r.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new m(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:a,getEthereumProvider:async()=>{if(!await a())throw new m("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await a())throw new m("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t;b.debug("Syncing accounts",{wallet:this.walletClientType});let n=e;try{if(void 0===n){b.rpcRequest("eth_accounts",this.walletClientType);let e=await v((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});b.rpcResponse("eth_accounts",this.walletClientType),Array.isArray(e)&&(n=e)}}catch(e){b.warn("Wallet did not respond to eth_accounts, using prefetched accounts",{wallet:this.walletClientType})}if(!n||!Array.isArray(n)||n.length<=0||!n[0])return void b.debug("No accounts found",{wallet:this.walletClientType});let i=n[0];if(!h(i))return;let a=p(i),l=[];if("privy"===this.walletClientType){let e=x.get(c(a));this.chains.find((t=>t.id===Number(e)))||(x.del(c(a)),e=null),t=e||`0x${this.defaultChain.id.toString(16)}`;try{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(e){b.warn("Unable to switch embedded wallet chain on initialization",{wallet:this.walletClientType,chainId:t})}}else try{b.rpcRequest("eth_chainId",this.walletClientType);let e=await v((()=>this.proxyProvider.request({method:"eth_chainId"})),{maxAttempts:10,delayMs:500});if(b.rpcResponse("eth_chainId",this.walletClientType),"string"==typeof e)t=e;else{if("number"!=typeof e)throw Error("Invalid chainId returned from provider");t=`0x${e.toString(16)}`}}catch(e){b.warn("Failed to get chainId from provider, using default",{wallet:this.walletClientType,defaultChainId:d}),t=d}let o=g(t);if(!l.find((e=>p(e.address)===a))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};l.push(this.buildConnectedWallet(p(i),o,e,"embedded_imported"===this.connectorType))}B(l,this.wallets)||(b.debug("Wallets updated",{wallet:this.walletClientType,address:a,chainId:o}),this.wallets=l,this.emit("walletsUpdated"))}async getConnectedWallet(){let e=await this.proxyProvider.request({method:"eth_accounts"});return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt)).find((t=>e.find((e=>p(e)===p(t.address)))))||null}async isConnected(){let e=await this.proxyProvider.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}async sign(e){return await this.connect({showPrompt:!1}),this.proxyProvider.request({method:"personal_sign",params:[u(e),this.wallets[0]?.address]})}subscribeListeners(){this.proxyProvider.on("accountsChanged",this.onAccountsChanged),this.proxyProvider.on("chainChanged",this.onChainChanged),this.proxyProvider.on("disconnect",this.onDisconnect),this.proxyProvider.on("connect",this.onConnect)}unsubscribeListeners(){this.proxyProvider.removeListener("accountsChanged",this.onAccountsChanged),this.proxyProvider.removeListener("chainChanged",this.onChainChanged),this.proxyProvider.removeListener("disconnect",this.onDisconnect),this.proxyProvider.removeListener("connect",this.onConnect)}constructor(e,t,n,i){super(e),this.chainType="ethereum",this.onAccountsChanged=e=>{b.providerEvent("accountsChanged",this.walletClientType,{accountsCount:e.length}),0===e.length?this.onDisconnect():this.syncAccounts(e)},this.onChainChanged=e=>{b.providerEvent("chainChanged",this.walletClientType,{chainId:e}),this.wallets.forEach((t=>{t.chainId=g(e),"privy"===this.walletClientType&&x.put(c(t.address),e)})),this.emit("walletsUpdated")},this.onDisconnect=()=>{b.providerEvent("disconnect",this.walletClientType),this.connected=!1,this.wallets=[],this.emit("walletsUpdated")},this.onConnect=async()=>{b.providerEvent("connect",this.walletClientType),"base_account"===this.connectorType&&this.connected||(this.connected=!0,"coinbase_wallet"===this.connectorType&&await f(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=n,this.rpcConfig=i,this.rpcTimeoutDuration=D(i,e),this.connected=!1,this.initialized=!1}}class K{on(e,t){if(this.walletProvider)return this.walletProvider.on(e,t);this._subscriptions.push({eventName:e,listener:t})}async request(e){if(!this.walletProvider)throw new m(`A wallet request of type ${e.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(e),this.walletTimeout()]).catch((e=>{throw k(e)}))}constructor(e,t){this.removeListener=(e,t)=>{if(this.walletProvider)try{return this.walletProvider.removeListener(e,t)}catch(e){console.warn("Unable to remove wallet provider listener")}},this.walletTimeout=(e=new C,t=this.rpcTimeoutDuration)=>new Promise(((n,i)=>setTimeout((()=>{i(e)}),t))),this.setWalletProvider=e=>{this.walletProvider&&this._subscriptions.forEach((e=>{this.removeListener(e.eventName,e.listener)})),this.walletProvider=e,this._subscriptions.forEach((e=>{this.walletProvider?.on(e.eventName,e.listener)}))},this.walletProvider=e,this.rpcTimeoutDuration=t||s,this._subscriptions=[]}}class G extends J{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:n,walletClientType:i,defaultChain:a}){super(i,[],a,{}),this.connectorType="null",this.proxyProvider=new K(void 0,s),this.id=e,this.name=t,this.icon=n}}const H=({...e})=>/*#__PURE__*/T("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/z("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/z("g",{transform:"translate(4, 4)",children:/*#__PURE__*/T("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/z("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/z("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/z("path",{d:"m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",className:"s1 s2"}),/*#__PURE__*/z("path",{d:"m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",className:"s1 s2"}),/*#__PURE__*/z("path",{fill:"#d7c1b3",stroke:"#d7c1b3",className:"s1",d:"m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"}),/*#__PURE__*/z("path",{fill:"#233447",stroke:"#233447",className:"s1",d:"m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"}),/*#__PURE__*/z("path",{fill:"#cd6116",stroke:"#cd6116",className:"s1",d:"m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"}),/*#__PURE__*/z("path",{fill:"#e4751f",stroke:"#e4751f",className:"s1",d:"m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"}),/*#__PURE__*/z("path",{d:"m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",className:"s3"}),/*#__PURE__*/z("path",{fill:"#c0ad9e",stroke:"#c0ad9e",className:"s1",d:"m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"}),/*#__PURE__*/z("path",{fill:"#161616",stroke:"#161616",className:"s1",d:"m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"}),/*#__PURE__*/z("path",{fill:"#763d16",stroke:"#763d16",className:"s1",d:"m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"}),/*#__PURE__*/z("path",{d:"m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",className:"s3"})]})})]}),Q=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","crypto.com_wallet_extension","crypto.com_onchain","binance","bitget_wallet","coinbase_wallet","coinbase_smart_wallet","base_account","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitget_wallet","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","privy","unknown","phantom","solflare","glow","backpack","jupiter","mobile_wallet_adapter"],X=Object.freeze({phantom:{client:"phantom",name:"Phantom",installLink:$.isFirefox?"https://addons.mozilla.org/en-US/firefox/addon/phantom-app/":"https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa?hl=en",chainTypes:["ethereum","solana"],get isInstalled(){if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId||e?.phantom?.solana?.isPhantom)return!0}return!1},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${i}?ref=${i}`}},solflare:{client:"solflare",name:"Solflare",installLink:$.isFirefox?"https://addons.mozilla.org/es/firefox/addon/solflare-wallet/":"https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic",chainTypes:["solana"],get isInstalled(){return"solflare"in window&&!!window?.solflare?.isSolflare},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${i}?ref=${i}`}},jupiter:{client:"jupiter",name:"Jupiter Wallet",installLink:"https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh",chainTypes:["solana"],get isInstalled(){return"jupiter"in window&&!!window?.jupiter?.isJupiter},getMobileRedirect({isSolana:e,connectOnly:t}){let n=Y({client:this.client,isSolana:e,connectOnly:t});return`jupjupjup://jup.ag/browse/${n}?ref=${n}`}},backpack:{client:"backpack",name:"Backpack",installLink:"https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",chainTypes:["ethereum","solana"],get isInstalled(){return!(!("backpack"in window)||!window?.backpack?.ethereum?.isBackpack&&!window?.backpack?.solana?.isBackpack)},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${i}?ref=${i}`}},okx_wallet:{client:"okx_wallet",name:"OKX Wallet",installLink:"https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",chainTypes:["ethereum","solana"],get isInstalled(){return"okxwallet"in window&&!!window?.okxwallet?.isOkxWallet},getMobileRedirect({isSolana:e,connectOnly:t}){return`okx://wallet/dapp/url?dappUrl=${Y({client:this.client,isSolana:e,connectOnly:t})}`}}});function V({connectorType:e,walletClientType:t}){for(let n of Q)if(e===n||t===n)return X[n]}function Y({client:e,isSolana:t,connectOnly:n}){let i=new URL(window.location.href);return i.searchParams.set("privy_connector",t?"solana_adapter":"injected"),i.searchParams.set("privy_wallet_client",e),i.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(i.href.replace(/\/$/g,""))}class Z extends _{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the SolanaNullConnector")}constructor({id:e,name:t,icon:n}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new K(void 0,s),this.disconnect=async()=>{throw Error("disconnect called for an uninstalled wallet via the SolanaNullConnector")},this.promptConnection=async()=>{throw Error("promptConnection called for an uninstalled wallet via the SolanaNullConnector")},this.id=e,this.name=t,this.icon=n}}function ee(e){return"solana"===e.chainType}function te(e){return"solana"===e.type}const ne=n=>{let[i,a]=t("auto");return e((()=>{let e=new ResizeObserver((e=>{a(e[0]?.contentRect.height??"auto")}));return n.current&&e.observe(n.current),()=>{n.current&&e.unobserve(n.current)}}),[n.current]),i},ie=P.div`
2
2
  text-align: left;
3
3
  flex-grow: 1;
4
4
  `,ae=P.div`
@@ -1 +1 @@
1
- import{useState as r,useEffect as e}from"react";import{addToDefaultChains as o}from"@privy-io/js-sdk-core";import{s as i}from"./context-BDvZRT56.mjs";import{u as n}from"./internal-context-C4ZqP8IF.mjs";import{u as t}from"./useGetSolPrice-DaxM-vxD.mjs";function c(c){let{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}=(t=>{let{showFiatPrices:c,getUsdTokenPrice:a,chains:s}=n(),[P,l]=r(!0),[d,k]=r(void 0),[m,f]=r(void 0);return e((()=>{t||=i;let r=o(s).find((r=>r.id===Number(t)));(async()=>{if(c){if(!r)return l(!1),void k(Error(`Unable to fetch token price on chain id ${t}`));try{l(!0);let e=await a(r);e?f(e):k(Error(`Unable to fetch token price on chain id ${r.id}`))}catch(r){k(r)}finally{l(!1)}}else l(!1)})()}),[t]),{tokenPrice:m,isTokenPriceLoading:P,tokenPriceError:d}})("solana"===c?-1:c),{solPrice:l,isSolPriceLoading:d,solPriceError:k}=t({enabled:"solana"===c});return"solana"===c?{tokenPrice:l,isTokenPriceLoading:d,tokenPriceError:k}:{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}}export{c as u};
1
+ import{useState as r,useEffect as e}from"react";import{addToDefaultChains as o}from"@privy-io/js-sdk-core";import{s as i}from"./context-qQM1iNfa.mjs";import{u as n}from"./internal-context-C4ZqP8IF.mjs";import{u as t}from"./useGetSolPrice-DaxM-vxD.mjs";function c(c){let{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}=(t=>{let{showFiatPrices:c,getUsdTokenPrice:a,chains:s}=n(),[P,l]=r(!0),[d,k]=r(void 0),[m,f]=r(void 0);return e((()=>{t||=i;let r=o(s).find((r=>r.id===Number(t)));(async()=>{if(c){if(!r)return l(!1),void k(Error(`Unable to fetch token price on chain id ${t}`));try{l(!0);let e=await a(r);e?f(e):k(Error(`Unable to fetch token price on chain id ${r.id}`))}catch(r){k(r)}finally{l(!1)}}else l(!1)})()}),[t]),{tokenPrice:m,isTokenPriceLoading:P,tokenPriceError:d}})("solana"===c?-1:c),{solPrice:l,isSolPriceLoading:d,solPriceError:k}=t({enabled:"solana"===c});return"solana"===c?{tokenPrice:l,isTokenPriceLoading:d,tokenPriceError:k}:{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}}export{c as u};
@@ -1 +1 @@
1
- import{u as e}from"./context-BDvZRT56.mjs";const t={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};function n(){let n=e();return{t:(e,o)=>function(e,n,o){let c=n?.[e]??t[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,t)=>o[t]??e)):c}(e,n.intl.textLocalization,o)}}export{n as u};
1
+ import{u as e}from"./context-qQM1iNfa.mjs";const t={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};function n(){let n=e();return{t:(e,o)=>function(e,n,o){let c=n?.[e]??t[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,t)=>o[t]??e)):c}(e,n.intl.textLocalization,o)}}export{n as u};
@@ -1 +1 @@
1
- import{isMobile as e,isAndroid as r}from"react-device-detect";import{b as t,c as a,u as n}from"./internal-context-C4ZqP8IF.mjs";import{useCallback as o,useContext as i}from"react";import{q as s,u as l}from"./use-export-wallet-C3yKuILk.mjs";import{f as d,d as c,g as p,a as u,h as y,e as m,u as E,P as h}from"./privy-context-v-TMVBdt.mjs";import{a as w,u as f}from"./events-context-CI0iqAXA.mjs";import{b as v,j as T}from"./get-entropy-details-for-user-CgVPjq_6.mjs";import{create as W}from"@privy-io/js-sdk-core";import{u as g,W as A}from"./context-BDvZRT56.mjs";function S(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function D(a,n){let o=S(n);if(e&&r&&o.universalLink)return L(o.universalLink,a);if(o.deepLink)return M(o.deepLink,a);if(o.universalLink)return L(o.universalLink,a);throw new t(`Unsupported wallet ${n.id}`)}function U(e,r){let t=S(r);if(t.universalLink)return L(t.universalLink,e)}let x="WALLETCONNECT_DEEPLINK_CHOICE";function I(){try{localStorage.removeItem(x)}catch{}}function _({href:e,name:r}){try{localStorage.setItem(x,JSON.stringify({href:e,name:r}))}catch{}}function b(){try{localStorage.removeItem(x)}catch{}}function k(e){return e.startsWith("http://")||e.startsWith("https://")}function M(e,r){if(k(e))return L(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function L(e,r){if(!k(e))return M(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function C(e,r){window.open(e,r,"noreferrer noopener")}const R=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`,P=Symbol("solana-funding-plugin"),N=Symbol("solana-ledger-plugin"),O=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:l,walletIndex:p,chainType:u,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E,idempotencyKey:h,additionalSigners:w})=>{if(0===p)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await W(n,{request:{chain_type:u,additional_signers:w?s(w):void 0},headers:h?{"privy-idempotency-key":h}:void 0});else if("ethereum"===u){let a=d(e);a&&await i({address:a.address}),await t.create({accessToken:r,solanaAddress:a?.address,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E})}else{if("solana"!==u)throw Error("Invalid input to create wallet");{let a=c(e);a&&await i({address:a.address}),await t.createSolana({accessToken:r,ethereumAddress:a?.address,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await W(n,{request:{chain_type:u,additional_signers:w?s(w):void 0}});else{let{entropyId:a,entropyIdVerifier:n}=v(e);await i(),await t.addWallet({accessToken:r,entropyId:a,entropyIdVerifier:n,chainType:u,hdWalletIndex:p})}let f=await a(),g=T(f,{chainType:u,walletIndex:p})[0];return l(f),{user:f,account:g}},K=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null),$=async({appConfig:e,getAccessToken:r,initializeWalletProxy:n,user:o,privy:i,emitPrivyEvent:s,recoverEmbeddedWallet:l,setModalData:d,openModal:c,setUser:p,options:u,timeoutDuration:y,refreshSessionAndUser:m,chainType:E,idempotencyKey:h,additionalSigners:w})=>{let[f,v]=await Promise.all([n(y),r()]);if(!v||!o)throw s("createWallet","onError",a.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!f&&e.customAuth?.enabled)throw s("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(w&&"user-controlled-server-wallets-only"!==e.embeddedWallets.mode)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw s("createWallet","onError",a.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return B({accessToken:v,appConfig:e,privy:i,emitPrivyEvent:s,openModal:c,proxy:f,refreshSessionAndUser:m,recoverEmbeddedWallet:l,setModalData:d,user:o,walletIndex:u.walletIndex,chainType:E,setUser:p,additionalSigners:w})}let W=u&&"createAdditional"in u&&u.createAdditional,g=T(o,{chainType:E});if(g[0]&&!W)throw s("createWallet","onError",a.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return B({accessToken:v,appConfig:e,privy:i,emitPrivyEvent:s,openModal:c,proxy:f,recoverEmbeddedWallet:l,setModalData:d,user:o,walletIndex:(K(g)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:m,setUser:p,idempotencyKey:h,additionalSigners:w})};let B=async({accessToken:e,appConfig:r,privy:t,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:s,user:l,walletIndex:d,setModalData:c,openModal:u,chainType:y,setUser:m,idempotencyKey:E,additionalSigners:h})=>{if(d<0)throw n("createWallet","onError",a.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${d}) is invalid.`);let w=p(l);if(d>0&&!w)throw n("createWallet","onError",a.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(r.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===r.embeddedWallets.mode)throw n("createWallet","onError",a.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!w&&r.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await j({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});let f=T(l,{chainType:y,walletIndex:d})[0];if(f)return{user:l,account:f};if(0===d&&!o)return j({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return O({appConfig:r,walletIndex:d,chainType:y,user:l,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:t,recoverEmbeddedWallet:s,setUser:m,idempotencyKey:E,additionalSigners:h})},j=async({emitPrivyEvent:e,setModalData:r,openModal:t,chainType:n})=>new Promise(((o,i)=>{r({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:r=>{e("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),i(r)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),t("EmbeddedWalletOnAccountCreateScreen")}));const z=()=>{let e=g(),r=w(),{setModalData:t}=u(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:s,openModal:l,refreshSessionAndUser:d,privy:c,client:p}=n();return{create:async({chainType:n,options:u,latestUser:y,idempotencyKey:m})=>{let E=y;if(E||(E=await d()),!E)throw r("createWallet","onError",a.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await $({appConfig:e,privy:c,getAccessToken:()=>p.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:r,recoverEmbeddedWallet:i,setModalData:t,openModal:l,setUser:s,options:u,timeoutDuration:A,chainType:n,idempotencyKey:m,additionalSigners:u?.signers})}}};function q(e){let{create:r}=z();return f("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const F=async({emitPrivyEvent:e,getAccessToken:r,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:s},{privateKey:l,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",a.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let p="user-controlled-server-wallets-only"===s.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===p)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[u,E]=await Promise.all([r(),n(15e3)]);if(!E||!u)throw e("linkAccount","onError",a.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let{address:h}=await E.importWallet({privateKey:l,accessToken:u,chainType:d,mode:p,additionalSigners:c}),w=await o(),f="solana"===d?y(w):m(w),v=f?.find((e=>e.address===h));if(!v)throw e("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},H=()=>{let{user:e}=E(),{client:r,refreshSessionAndUser:t,initializeWalletProxy:a}=n(),i=w(),s=g();return{importWallet:o((({privateKey:n,additionalSigners:o})=>F({getAccessToken:()=>r.getAccessToken(),user:e,initializeWalletProxy:a,refreshSessionAndUser:t,emitPrivyEvent:i,appConfig:s},{privateKey:n,chainType:"ethereum",additionalSigners:o})),[e,r,t,a,i,s])}},V=()=>{let{importWallet:e}=H(),{exportWallet:r}=l(),{createWallet:t}=q();return{...i(h),importWallet:e,createWallet:t,exportWallet:r}};export{P as S,U as a,D as b,O as c,I as d,N as e,z as f,q as g,H as h,F as i,C as o,R as p,b as r,_ as s,V as u};
1
+ import{isMobile as e,isAndroid as r}from"react-device-detect";import{b as t,c as a,u as n}from"./internal-context-C4ZqP8IF.mjs";import{useCallback as o,useContext as i}from"react";import{q as s,u as l}from"./use-export-wallet-Bu3_93lu.mjs";import{f as d,d as c,g as p,a as u,h as y,e as m,u as E,P as h}from"./privy-context-BN6uOGsO.mjs";import{a as w,u as f}from"./events-context-CI0iqAXA.mjs";import{b as v,j as T}from"./get-entropy-details-for-user-Czn6Jw3y.mjs";import{create as W}from"@privy-io/js-sdk-core";import{u as g,W as A}from"./context-qQM1iNfa.mjs";function S(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function D(a,n){let o=S(n);if(e&&r&&o.universalLink)return L(o.universalLink,a);if(o.deepLink)return M(o.deepLink,a);if(o.universalLink)return L(o.universalLink,a);throw new t(`Unsupported wallet ${n.id}`)}function U(e,r){let t=S(r);if(t.universalLink)return L(t.universalLink,e)}let x="WALLETCONNECT_DEEPLINK_CHOICE";function I(){try{localStorage.removeItem(x)}catch{}}function _({href:e,name:r}){try{localStorage.setItem(x,JSON.stringify({href:e,name:r}))}catch{}}function b(){try{localStorage.removeItem(x)}catch{}}function k(e){return e.startsWith("http://")||e.startsWith("https://")}function M(e,r){if(k(e))return L(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function L(e,r){if(!k(e))return M(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function C(e,r){window.open(e,r,"noreferrer noopener")}const R=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`,P=Symbol("solana-funding-plugin"),N=Symbol("solana-ledger-plugin"),O=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:l,walletIndex:p,chainType:u,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E,idempotencyKey:h,additionalSigners:w})=>{if(0===p)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await W(n,{request:{chain_type:u,additional_signers:w?s(w):void 0},headers:h?{"privy-idempotency-key":h}:void 0});else if("ethereum"===u){let a=d(e);a&&await i({address:a.address}),await t.create({accessToken:r,solanaAddress:a?.address,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E})}else{if("solana"!==u)throw Error("Invalid input to create wallet");{let a=c(e);a&&await i({address:a.address}),await t.createSolana({accessToken:r,ethereumAddress:a?.address,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await W(n,{request:{chain_type:u,additional_signers:w?s(w):void 0}});else{let{entropyId:a,entropyIdVerifier:n}=v(e);await i(),await t.addWallet({accessToken:r,entropyId:a,entropyIdVerifier:n,chainType:u,hdWalletIndex:p})}let f=await a(),g=T(f,{chainType:u,walletIndex:p})[0];return l(f),{user:f,account:g}},K=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null),$=async({appConfig:e,getAccessToken:r,initializeWalletProxy:n,user:o,privy:i,emitPrivyEvent:s,recoverEmbeddedWallet:l,setModalData:d,openModal:c,setUser:p,options:u,timeoutDuration:y,refreshSessionAndUser:m,chainType:E,idempotencyKey:h,additionalSigners:w})=>{let[f,v]=await Promise.all([n(y),r()]);if(!v||!o)throw s("createWallet","onError",a.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!f&&e.customAuth?.enabled)throw s("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(w&&"user-controlled-server-wallets-only"!==e.embeddedWallets.mode)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw s("createWallet","onError",a.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return B({accessToken:v,appConfig:e,privy:i,emitPrivyEvent:s,openModal:c,proxy:f,refreshSessionAndUser:m,recoverEmbeddedWallet:l,setModalData:d,user:o,walletIndex:u.walletIndex,chainType:E,setUser:p,additionalSigners:w})}let W=u&&"createAdditional"in u&&u.createAdditional,g=T(o,{chainType:E});if(g[0]&&!W)throw s("createWallet","onError",a.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return B({accessToken:v,appConfig:e,privy:i,emitPrivyEvent:s,openModal:c,proxy:f,recoverEmbeddedWallet:l,setModalData:d,user:o,walletIndex:(K(g)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:m,setUser:p,idempotencyKey:h,additionalSigners:w})};let B=async({accessToken:e,appConfig:r,privy:t,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:s,user:l,walletIndex:d,setModalData:c,openModal:u,chainType:y,setUser:m,idempotencyKey:E,additionalSigners:h})=>{if(d<0)throw n("createWallet","onError",a.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${d}) is invalid.`);let w=p(l);if(d>0&&!w)throw n("createWallet","onError",a.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(r.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===r.embeddedWallets.mode)throw n("createWallet","onError",a.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!w&&r.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await j({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});let f=T(l,{chainType:y,walletIndex:d})[0];if(f)return{user:l,account:f};if(0===d&&!o)return j({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return O({appConfig:r,walletIndex:d,chainType:y,user:l,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:t,recoverEmbeddedWallet:s,setUser:m,idempotencyKey:E,additionalSigners:h})},j=async({emitPrivyEvent:e,setModalData:r,openModal:t,chainType:n})=>new Promise(((o,i)=>{r({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:r=>{e("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),i(r)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),t("EmbeddedWalletOnAccountCreateScreen")}));const z=()=>{let e=g(),r=w(),{setModalData:t}=u(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:s,openModal:l,refreshSessionAndUser:d,privy:c,client:p}=n();return{create:async({chainType:n,options:u,latestUser:y,idempotencyKey:m})=>{let E=y;if(E||(E=await d()),!E)throw r("createWallet","onError",a.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await $({appConfig:e,privy:c,getAccessToken:()=>p.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:r,recoverEmbeddedWallet:i,setModalData:t,openModal:l,setUser:s,options:u,timeoutDuration:A,chainType:n,idempotencyKey:m,additionalSigners:u?.signers})}}};function q(e){let{create:r}=z();return f("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const F=async({emitPrivyEvent:e,getAccessToken:r,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:s},{privateKey:l,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",a.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let p="user-controlled-server-wallets-only"===s.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===p)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[u,E]=await Promise.all([r(),n(15e3)]);if(!E||!u)throw e("linkAccount","onError",a.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let{address:h}=await E.importWallet({privateKey:l,accessToken:u,chainType:d,mode:p,additionalSigners:c}),w=await o(),f="solana"===d?y(w):m(w),v=f?.find((e=>e.address===h));if(!v)throw e("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},H=()=>{let{user:e}=E(),{client:r,refreshSessionAndUser:t,initializeWalletProxy:a}=n(),i=w(),s=g();return{importWallet:o((({privateKey:n,additionalSigners:o})=>F({getAccessToken:()=>r.getAccessToken(),user:e,initializeWalletProxy:a,refreshSessionAndUser:t,emitPrivyEvent:i,appConfig:s},{privateKey:n,chainType:"ethereum",additionalSigners:o})),[e,r,t,a,i,s])}},V=()=>{let{importWallet:e}=H(),{exportWallet:r}=l(),{createWallet:t}=q();return{...i(h),importWallet:e,createWallet:t,exportWallet:r}};export{P as S,U as a,D as b,O as c,I as d,N as e,z as f,q as g,H as h,F as i,C as o,R as p,b as r,_ as s,V as u};
@@ -1 +1 @@
1
- import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-BDvZRT56.mjs";import{b as i,c as s}from"./internal-context-C4ZqP8IF.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
1
+ import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-qQM1iNfa.mjs";import{b as i,c as s}from"./internal-context-C4ZqP8IF.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
@@ -1 +1 @@
1
- import{useState as r,useMemo as e,useCallback as a,useEffect as t}from"react";import{createPublicClient as o,http as n}from"viem";import{i}from"./get-entropy-details-for-user-CgVPjq_6.mjs";import{u as c}from"./internal-context-C4ZqP8IF.mjs";function s({rpcConfig:s,appId:l,address:m,chain:p}){let{chains:d}=c(),[f,u]=r(0n),[h,g]=r(!1),j=e((()=>{let r=p||d[0];if(r)return o({chain:p,transport:n(i(r,s,l))})}),[p,s,l]),v=a((async()=>{if(!m||!j)return;g(!0);let r=await j.getBalance({address:m}).catch(console.error);return r?(u(r),g(!1),r):void 0}),[j,m,u]);return t((()=>{v().catch(console.error)}),[]),{balance:f,isLoading:h,reloadBalance:v}}export{s as u};
1
+ import{useState as r,useMemo as e,useCallback as a,useEffect as t}from"react";import{createPublicClient as o,http as n}from"viem";import{i}from"./get-entropy-details-for-user-Czn6Jw3y.mjs";import{u as c}from"./internal-context-C4ZqP8IF.mjs";function s({rpcConfig:s,appId:l,address:m,chain:p}){let{chains:d}=c(),[f,u]=r(0n),[h,g]=r(!1),j=e((()=>{let r=p||d[0];if(r)return o({chain:p,transport:n(i(r,s,l))})}),[p,s,l]),v=a((async()=>{if(!m||!j)return;g(!0);let r=await j.getBalance({address:m}).catch(console.error);return r?(u(r),g(!1),r):void 0}),[j,m,u]);return t((()=>{v().catch(console.error)}),[]),{balance:f,isLoading:h,reloadBalance:v}}export{s as u};
@@ -1 +1 @@
1
- import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import{rpc as o,ConnectedStandardSolanaWallet as c}from"@privy-io/js-sdk-core";import{u as l,b as d,c as u,l as g}from"./internal-context-C4ZqP8IF.mjs";import{a as h,j as p,b as f,m as w,h as y}from"./privy-context-v-TMVBdt.mjs";import{u as A}from"./usePrivy-B1AsvC0i.mjs";import{b as m,u as v}from"./get-entropy-details-for-user-CgVPjq_6.mjs";import b from"eventemitter3";import{base58 as T}from"@scure/base";import{u as O}from"./context-BDvZRT56.mjs";import{u as S}from"./use-sign-with-user-signer-BYctG7hm.mjs";import{b as _,a as E,u as I}from"./useSolanaRpcClient-PuydY50L.mjs";import{encoding as j}from"@privy-io/encoding";import{x as W}from"./use-export-wallet-C3yKuILk.mjs";const M=["solana:mainnet","solana:devnet","solana:testnet"];function P(n){return e().decode(n)}function F(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var C=0,U="__private_"+C+++"__implementation";function D(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var N=0;function B(e){return"__private_"+N+++"_"+e}var x=/*#__PURE__*/B("_address"),R=/*#__PURE__*/B("_publicKey"),L=/*#__PURE__*/B("_chains"),V=/*#__PURE__*/B("_features"),Q=/*#__PURE__*/B("_label"),G=/*#__PURE__*/B("_icon");class K{get address(){return D(this,x)[x]}get publicKey(){return D(this,R)[R].slice()}get chains(){return D(this,L)[L].slice()}get features(){return D(this,V)[V].slice()}get label(){return D(this,Q)[Q]}get icon(){return D(this,G)[G]}constructor({address:e,publicKey:n,label:t,icon:a}){Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),D(this,x)[x]=e,D(this,R)[R]=n,D(this,L)[L]=M,D(this,Q)[Q]=t,D(this,G)[G]=a,D(this,V)[V]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===K&&Object.freeze(this)}}function H(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var J=0;function Y(e){return"__private_"+J+++"_"+e}var k=/*#__PURE__*/Y("_listeners"),Z=/*#__PURE__*/Y("_version"),z=/*#__PURE__*/Y("_name"),q=/*#__PURE__*/Y("_icon"),X=/*#__PURE__*/Y("_injection"),$=/*#__PURE__*/Y("_isPrivyWallet"),ee=/*#__PURE__*/Y("_accounts"),ne=/*#__PURE__*/Y("_on"),te=/*#__PURE__*/Y("_emit"),ae=/*#__PURE__*/Y("_off"),se=/*#__PURE__*/Y("_connected"),ie=/*#__PURE__*/Y("_connect"),re=/*#__PURE__*/Y("_disconnect"),oe=/*#__PURE__*/Y("_signMessage"),ce=/*#__PURE__*/Y("_signAndSendTransaction"),le=/*#__PURE__*/Y("_signTransaction");function de(e,...n){H(this,k)[k][e]?.forEach((e=>e.apply(null,n)))}function ue(e,n){H(this,k)[k][e]=H(this,k)[k][e]?.filter((e=>n!==e))}function ge(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function he(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=l(),{user:c}=A(),{setModalData:g}=h(),{signWithUserSigner:w}=S();return{signMessage:({message:l,address:h,options:y})=>new Promise((async(A,v)=>{let b=p(c,h);if("privy"!==b?.walletClientType)return void v(new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:O}=m(c,b),S=f(b),E=_(l).toString("base64");if(E.length<1)return void v(new d("Message must be a non-empty string",void 0,u.INVALID_MESSAGE));let I=async()=>{let e;if(!c)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:b.address}))throw Error("Unable to connect to wallet");if(S){let n=await o(i,w,{chain_type:"solana",method:"signMessage",params:{message:E,encoding:"base64"},wallet_id:b.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:T,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:b.walletIndex??0,requesterAppId:y?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:E}}});e=n.data.signature}return e};if(e({showWalletUIs:y?.uiOptions?.showWalletUIs}))try{let e=await I(),n=new Uint8Array(_(e,"base64"));A({signature:n})}catch(e){v(e)}else g({signMessage:{method:"solana_signMessage",data:E,confirmAndSign:I,onSuccess:e=>{A({signature:new Uint8Array(_(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:y?.uiOptions??{}},connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,entropyId:T,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new d("Failed to connect to wallet",e,u.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function pe(){let{isHeadlessSigning:e,openModal:n,privy:t}=l(),{setModalData:a}=h(),{signMessage:s}=he(),{signWithUserSigner:i}=S(),{user:r}=A();return{signTransaction:async({transaction:c,options:l,chain:g="solana:mainnet",address:h})=>{let w=p(r,h);if("privy"!==w?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let y=f(w);async function A(e){if(y){let n=await o(t,i,{chain_type:"solana",method:"signTransaction",params:{transaction:j.base64.fromBytes(e),encoding:"base64"},wallet_id:w.id});if(n.data&&"signed_transaction"in n.data)return{signedTransaction:new Uint8Array(j.base64.toBytes(n.data.signed_transaction))};throw Error("Failed to sign transaction")}let{signature:n}=await s({message:E(e),address:h,options:{...l,uiOptions:{...l?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:ge(e,h,n)}}return e({showWalletUIs:l?.uiOptions?.showWalletUIs})?A(c):new Promise((async(e,t)=>{let{entropyId:s,entropyIdVerifier:i}=m(r,w);function o(e){return n=>{t(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let h={account:w,transaction:c,chain:g,signOnly:!0,uiOptions:l?.uiOptions||{},onConfirm:A,onSuccess:e,onFailure:o(u.TRANSACTION_FAILURE)};a({connectWallet:{recoveryMethod:w.recoveryMethod,connectingWalletAddress:w.address,entropyId:s,entropyIdVerifier:i,isUnifiedWallet:y,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:o(u.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:h}),n("EmbeddedWalletConnectingScreen")}))}}}let fe=new class extends b{setImplementation(e){F(this,U)[U]=e}async signMessage(e){return F(this,U)[U].signMessage(e)}async signAndSendTransaction(e){return F(this,U)[U].signAndSendTransaction(e)}async signTransaction(e){return F(this,U)[U].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,U,{writable:!0,value:void 0}),F(this,U)[U]=e}}({signTransaction:g("signTransaction was not injected"),signAndSendTransaction:g("signAndSendTransaction was not injected"),signMessage:g("signMessage was not injected")}),we=new class{get version(){return H(this,Z)[Z]}get name(){return H(this,z)[z]}get icon(){return H(this,q)[q]}get chains(){return M.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:H(this,ie)[ie]},"standard:disconnect":{version:"1.0.0",disconnect:H(this,re)[re]},"standard:events":{version:"1.0.0",on:H(this,ne)[ne]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:H(this,ce)[ce]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:H(this,le)[le]},"solana:signMessage":{version:"1.0.0",signMessage:H(this,oe)[oe]},"privy:":{privy:{signMessage:H(this,X)[X].signMessage,signTransaction:H(this,X)[X].signTransaction,signAndSendTransaction:H(this,X)[X].signAndSendTransaction}}}}get accounts(){return H(this,ee)[ee].slice()}get isPrivyWallet(){return H(this,$)[$]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,te,{value:de}),Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),H(this,k)[k]={},H(this,ne)[ne]=(e,n)=>(H(this,k)[k][e]?.push(n)||(H(this,k)[k][e]=[n]),()=>H(this,ae)[ae](e,n)),H(this,se)[se]=e=>{null!=e&&(H(this,ee)[ee]=e.map((({address:e})=>new K({address:e,publicKey:T.decode(e)})))),H(this,te)[te]("change",{accounts:this.accounts})},H(this,ie)[ie]=async()=>(H(this,te)[te]("change",{accounts:this.accounts}),{accounts:this.accounts}),H(this,re)[re]=async()=>{H(this,te)[te]("change",{accounts:this.accounts})},H(this,oe)[oe]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await H(this,X)[X].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},H(this,ce)[ce]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await H(this,X)[X].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},H(this,le)[le]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await H(this,X)[X].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},H(this,z)[z]=e,H(this,q)[q]=n,H(this,Z)[Z]=t,H(this,X)[X]=a,H(this,ee)[ee]=[],H(this,$)[$]=!0,a.on("accountChanged",H(this,se)[se],this),H(this,se)[se](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:fe});function ye(){let{ready:e}=v(),{user:n}=A(),{signMessage:t}=he(),{signTransaction:a}=pe(),{signAndSendTransaction:r}=function(){let e=O(),{isHeadlessSigning:n,openModal:t,privy:a}=l(),{setModalData:s}=h(),{signTransaction:i}=pe(),r=I(),{user:c}=A(),{signWithUserSigner:g}=S();return{signAndSendTransaction:async({transaction:l,address:h,chain:w="solana:mainnet",options:y})=>{let A=p(c,h);if("privy"!==A?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let v=f(A);async function b(e){if(y?.sponsor)return await(async e=>{if(!v)throw new d("Sponsoring transactions is only supported for wallets on the TEE stack",u.INVALID_DATA);let n=await o(a,g,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:_(e).toString("base64"),encoding:"base64"},caip2:`solana:${(await r(w).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:A.id});if(n.data&&"hash"in n.data)return{signature:T.decode(n.data.hash)};throw Error("Failed to sign and send transaction")})(e);let{signedTransaction:n}=await i({transaction:e,address:h,chain:w,options:{...y,uiOptions:{...y?.uiOptions,showWalletUIs:!1}}}),{signature:t}=await r(w).sendAndConfirmTransaction(n);return{signature:t}}return n({showWalletUIs:y?.uiOptions?.showWalletUIs})?b(l):new Promise((async(n,a)=>{let i,r,{entropyId:o,entropyIdVerifier:g}=m(c,A);function p(e){return n=>{a(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let f={account:A,transaction:l,chain:w,signOnly:!1,uiOptions:y?.uiOptions||{},onConfirm:b,onSuccess:n,onFailure:p(u.TRANSACTION_FAILURE),isSponsored:!!y?.sponsor},T={recoveryMethod:A.recoveryMethod,connectingWalletAddress:A.address,entropyId:o,entropyIdVerifier:g,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:p(u.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=W({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...y,asset:"native-currency",chain:w},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),r={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:w,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),s({connectWallet:T,standardSignAndSendTransaction:f,funding:i,solanaFundingData:r}),t("EmbeddedWalletConnectingScreen")}))}}}(),c=s((()=>{let e=[...w(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),g=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{fe?.setImplementation(g)}),[g]),i((()=>{var n;!e||(n=we.accounts).length===c.length&&n.every(((e,n)=>e.address===c[n]?.address))||fe?.emit("accountChanged",c)}),[e,c]),{ready:e,wallet:we}}function Ae(){let{client:e}=l(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=Ae();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new c({wallet:e,account:n})))))),[n])}}export{M as S,Ae as a,P as g,me as u};
1
+ import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import{rpc as o,ConnectedStandardSolanaWallet as c}from"@privy-io/js-sdk-core";import{u as l,b as d,c as u,l as g}from"./internal-context-C4ZqP8IF.mjs";import{a as h,j as p,b as f,m as w,h as y}from"./privy-context-BN6uOGsO.mjs";import{u as A}from"./usePrivy-BlM-XgWI.mjs";import{b as m,u as v}from"./get-entropy-details-for-user-Czn6Jw3y.mjs";import b from"eventemitter3";import{base58 as T}from"@scure/base";import{u as O}from"./context-qQM1iNfa.mjs";import{u as S}from"./use-sign-with-user-signer-BYctG7hm.mjs";import{b as _,a as E,u as I}from"./useSolanaRpcClient-DBfgMIVD.mjs";import{encoding as j}from"@privy-io/encoding";import{x as W}from"./use-export-wallet-Bu3_93lu.mjs";const M=["solana:mainnet","solana:devnet","solana:testnet"];function P(n){return e().decode(n)}function F(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var C=0,U="__private_"+C+++"__implementation";function D(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var N=0;function B(e){return"__private_"+N+++"_"+e}var x=/*#__PURE__*/B("_address"),R=/*#__PURE__*/B("_publicKey"),L=/*#__PURE__*/B("_chains"),V=/*#__PURE__*/B("_features"),Q=/*#__PURE__*/B("_label"),G=/*#__PURE__*/B("_icon");class K{get address(){return D(this,x)[x]}get publicKey(){return D(this,R)[R].slice()}get chains(){return D(this,L)[L].slice()}get features(){return D(this,V)[V].slice()}get label(){return D(this,Q)[Q]}get icon(){return D(this,G)[G]}constructor({address:e,publicKey:n,label:t,icon:a}){Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),D(this,x)[x]=e,D(this,R)[R]=n,D(this,L)[L]=M,D(this,Q)[Q]=t,D(this,G)[G]=a,D(this,V)[V]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===K&&Object.freeze(this)}}function H(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var J=0;function Y(e){return"__private_"+J+++"_"+e}var k=/*#__PURE__*/Y("_listeners"),Z=/*#__PURE__*/Y("_version"),z=/*#__PURE__*/Y("_name"),q=/*#__PURE__*/Y("_icon"),X=/*#__PURE__*/Y("_injection"),$=/*#__PURE__*/Y("_isPrivyWallet"),ee=/*#__PURE__*/Y("_accounts"),ne=/*#__PURE__*/Y("_on"),te=/*#__PURE__*/Y("_emit"),ae=/*#__PURE__*/Y("_off"),se=/*#__PURE__*/Y("_connected"),ie=/*#__PURE__*/Y("_connect"),re=/*#__PURE__*/Y("_disconnect"),oe=/*#__PURE__*/Y("_signMessage"),ce=/*#__PURE__*/Y("_signAndSendTransaction"),le=/*#__PURE__*/Y("_signTransaction");function de(e,...n){H(this,k)[k][e]?.forEach((e=>e.apply(null,n)))}function ue(e,n){H(this,k)[k][e]=H(this,k)[k][e]?.filter((e=>n!==e))}function ge(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function he(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=l(),{user:c}=A(),{setModalData:g}=h(),{signWithUserSigner:w}=S();return{signMessage:({message:l,address:h,options:y})=>new Promise((async(A,v)=>{let b=p(c,h);if("privy"!==b?.walletClientType)return void v(new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:O}=m(c,b),S=f(b),E=_(l).toString("base64");if(E.length<1)return void v(new d("Message must be a non-empty string",void 0,u.INVALID_MESSAGE));let I=async()=>{let e;if(!c)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:b.address}))throw Error("Unable to connect to wallet");if(S){let n=await o(i,w,{chain_type:"solana",method:"signMessage",params:{message:E,encoding:"base64"},wallet_id:b.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:T,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:b.walletIndex??0,requesterAppId:y?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:E}}});e=n.data.signature}return e};if(e({showWalletUIs:y?.uiOptions?.showWalletUIs}))try{let e=await I(),n=new Uint8Array(_(e,"base64"));A({signature:n})}catch(e){v(e)}else g({signMessage:{method:"solana_signMessage",data:E,confirmAndSign:I,onSuccess:e=>{A({signature:new Uint8Array(_(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:y?.uiOptions??{}},connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,entropyId:T,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new d("Failed to connect to wallet",e,u.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function pe(){let{isHeadlessSigning:e,openModal:n,privy:t}=l(),{setModalData:a}=h(),{signMessage:s}=he(),{signWithUserSigner:i}=S(),{user:r}=A();return{signTransaction:async({transaction:c,options:l,chain:g="solana:mainnet",address:h})=>{let w=p(r,h);if("privy"!==w?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let y=f(w);async function A(e){if(y){let n=await o(t,i,{chain_type:"solana",method:"signTransaction",params:{transaction:j.base64.fromBytes(e),encoding:"base64"},wallet_id:w.id});if(n.data&&"signed_transaction"in n.data)return{signedTransaction:new Uint8Array(j.base64.toBytes(n.data.signed_transaction))};throw Error("Failed to sign transaction")}let{signature:n}=await s({message:E(e),address:h,options:{...l,uiOptions:{...l?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:ge(e,h,n)}}return e({showWalletUIs:l?.uiOptions?.showWalletUIs})?A(c):new Promise((async(e,t)=>{let{entropyId:s,entropyIdVerifier:i}=m(r,w);function o(e){return n=>{t(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let h={account:w,transaction:c,chain:g,signOnly:!0,uiOptions:l?.uiOptions||{},onConfirm:A,onSuccess:e,onFailure:o(u.TRANSACTION_FAILURE)};a({connectWallet:{recoveryMethod:w.recoveryMethod,connectingWalletAddress:w.address,entropyId:s,entropyIdVerifier:i,isUnifiedWallet:y,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:o(u.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:h}),n("EmbeddedWalletConnectingScreen")}))}}}let fe=new class extends b{setImplementation(e){F(this,U)[U]=e}async signMessage(e){return F(this,U)[U].signMessage(e)}async signAndSendTransaction(e){return F(this,U)[U].signAndSendTransaction(e)}async signTransaction(e){return F(this,U)[U].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,U,{writable:!0,value:void 0}),F(this,U)[U]=e}}({signTransaction:g("signTransaction was not injected"),signAndSendTransaction:g("signAndSendTransaction was not injected"),signMessage:g("signMessage was not injected")}),we=new class{get version(){return H(this,Z)[Z]}get name(){return H(this,z)[z]}get icon(){return H(this,q)[q]}get chains(){return M.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:H(this,ie)[ie]},"standard:disconnect":{version:"1.0.0",disconnect:H(this,re)[re]},"standard:events":{version:"1.0.0",on:H(this,ne)[ne]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:H(this,ce)[ce]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:H(this,le)[le]},"solana:signMessage":{version:"1.0.0",signMessage:H(this,oe)[oe]},"privy:":{privy:{signMessage:H(this,X)[X].signMessage,signTransaction:H(this,X)[X].signTransaction,signAndSendTransaction:H(this,X)[X].signAndSendTransaction}}}}get accounts(){return H(this,ee)[ee].slice()}get isPrivyWallet(){return H(this,$)[$]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,te,{value:de}),Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),H(this,k)[k]={},H(this,ne)[ne]=(e,n)=>(H(this,k)[k][e]?.push(n)||(H(this,k)[k][e]=[n]),()=>H(this,ae)[ae](e,n)),H(this,se)[se]=e=>{null!=e&&(H(this,ee)[ee]=e.map((({address:e})=>new K({address:e,publicKey:T.decode(e)})))),H(this,te)[te]("change",{accounts:this.accounts})},H(this,ie)[ie]=async()=>(H(this,te)[te]("change",{accounts:this.accounts}),{accounts:this.accounts}),H(this,re)[re]=async()=>{H(this,te)[te]("change",{accounts:this.accounts})},H(this,oe)[oe]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await H(this,X)[X].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},H(this,ce)[ce]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await H(this,X)[X].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},H(this,le)[le]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await H(this,X)[X].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},H(this,z)[z]=e,H(this,q)[q]=n,H(this,Z)[Z]=t,H(this,X)[X]=a,H(this,ee)[ee]=[],H(this,$)[$]=!0,a.on("accountChanged",H(this,se)[se],this),H(this,se)[se](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:fe});function ye(){let{ready:e}=v(),{user:n}=A(),{signMessage:t}=he(),{signTransaction:a}=pe(),{signAndSendTransaction:r}=function(){let e=O(),{isHeadlessSigning:n,openModal:t,privy:a}=l(),{setModalData:s}=h(),{signTransaction:i}=pe(),r=I(),{user:c}=A(),{signWithUserSigner:g}=S();return{signAndSendTransaction:async({transaction:l,address:h,chain:w="solana:mainnet",options:y})=>{let A=p(c,h);if("privy"!==A?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let v=f(A);async function b(e){if(y?.sponsor)return await(async e=>{if(!v)throw new d("Sponsoring transactions is only supported for wallets on the TEE stack",u.INVALID_DATA);let n=await o(a,g,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:_(e).toString("base64"),encoding:"base64"},caip2:`solana:${(await r(w).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:A.id});if(n.data&&"hash"in n.data)return{signature:T.decode(n.data.hash)};throw Error("Failed to sign and send transaction")})(e);let{signedTransaction:n}=await i({transaction:e,address:h,chain:w,options:{...y,uiOptions:{...y?.uiOptions,showWalletUIs:!1}}}),{signature:t}=await r(w).sendAndConfirmTransaction(n);return{signature:t}}return n({showWalletUIs:y?.uiOptions?.showWalletUIs})?b(l):new Promise((async(n,a)=>{let i,r,{entropyId:o,entropyIdVerifier:g}=m(c,A);function p(e){return n=>{a(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let f={account:A,transaction:l,chain:w,signOnly:!1,uiOptions:y?.uiOptions||{},onConfirm:b,onSuccess:n,onFailure:p(u.TRANSACTION_FAILURE),isSponsored:!!y?.sponsor},T={recoveryMethod:A.recoveryMethod,connectingWalletAddress:A.address,entropyId:o,entropyIdVerifier:g,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:p(u.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=W({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...y,asset:"native-currency",chain:w},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),r={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:w,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),s({connectWallet:T,standardSignAndSendTransaction:f,funding:i,solanaFundingData:r}),t("EmbeddedWalletConnectingScreen")}))}}}(),c=s((()=>{let e=[...w(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),g=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{fe?.setImplementation(g)}),[g]),i((()=>{var n;!e||(n=we.accounts).length===c.length&&n.every(((e,n)=>e.address===c[n]?.address))||fe?.emit("accountChanged",c)}),[e,c]),{ready:e,wallet:we}}function Ae(){let{client:e}=l(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=Ae();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new c({wallet:e,account:n})))))),[n])}}export{M as S,Ae as a,P as g,me as u};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "3.19.0",
3
+ "version": "3.19.1",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",
@@ -175,15 +175,15 @@
175
175
  "viem": "2.47.4",
176
176
  "x402": "^0.7.1",
177
177
  "zustand": "^5.0.0",
178
- "@privy-io/api-base": "1.8.2",
179
- "@privy-io/are-addresses-equal": "0.0.2",
180
- "@privy-io/chains": "0.1.3",
181
178
  "@privy-io/ethereum": "0.0.9",
182
179
  "@privy-io/encoding": "0.1.1",
183
- "@privy-io/js-sdk-core": "0.60.7",
184
180
  "@privy-io/routes": "0.0.9",
185
- "@privy-io/popup": "0.0.2",
186
- "@privy-io/urls": "0.0.4"
181
+ "@privy-io/api-base": "1.8.2",
182
+ "@privy-io/js-sdk-core": "0.60.7",
183
+ "@privy-io/are-addresses-equal": "0.0.2",
184
+ "@privy-io/chains": "0.1.3",
185
+ "@privy-io/urls": "0.0.4",
186
+ "@privy-io/popup": "0.0.2"
187
187
  },
188
188
  "devDependencies": {
189
189
  "@abstract-foundation/agw-client": "^1.9.1",
@@ -246,10 +246,10 @@
246
246
  "ts-jest": "^29.2.5",
247
247
  "typescript": "~5.5.3",
248
248
  "vite": "^5.4.0",
249
+ "@privy-io/build-config": "1.0.0",
249
250
  "@privy-io/eslint-config-custom": "0.0.0",
250
251
  "@privy-io/eslint-plugin-privy-rules": "1.0.1",
251
- "@privy-io/testing": "1.0.0",
252
- "@privy-io/build-config": "1.0.0"
252
+ "@privy-io/testing": "1.0.0"
253
253
  },
254
254
  "peerDependencies": {
255
255
  "@abstract-foundation/agw-client": "^1.0.0",
@@ -1,3 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("lucide-react"),i=require("react"),a=require("styled-components"),t=require("./context-BAKveOwC.js"),n=require("./index-B--7o13p.js"),l=require("./internal-context-BJv4f_bO.js"),s=require("./privy-context-BvJtlB2I.js"),o=require("./useActiveWallet-BBx2W_rS.js"),c=require("./use-export-wallet-BU92CTDl.js"),u=require("./ModalHeader-DPbDMuHf.js"),d=require("./Chip-C6r7fZiR.js"),m=require("./EmailInputForm-Y-nHsEtF.js"),p=require("./ErrorMessage-BfTVyue9.js");const g=/*#__PURE__*/i.forwardRef(((a,m)=>{let[g,y]=i.useState(a.defaultValue||""),[v,S]=i.useState(""),[q,C]=i.useState(!1),{authenticated:E}=s.usePrivyContext(),{initLoginWithEmail:b}=l.usePrivyInternal(),{navigate:k,setModalData:w,currentScreen:P,data:M}=s.usePrivyModal(),{enabled:f,token:T}=n.useCaptcha(),[F,I]=i.useState(!1),{accountType:A}=o.useRecentlyUsedLogin(),D=t.useAppConfig(),L=c.validateEmail(g)&&(D.disablePlusEmails&&g.includes("+")?(v||S("Please enter a valid email address without a '+'."),!1):(v&&S(""),!0)),R=q||!L,U=()=>{var e;w({login:M?.login,inlineError:void 0}),!f||T||E?(e=T,C(!0),b({email:g,captchaToken:e,disableSignup:M?.login?.disableSignup,withPrivyUi:!0}).then((()=>{k("AwaitingPasswordlessCodeScreen")})).catch((e=>{w({errorModalData:{error:e,previousScreen:P||"LandingScreen"}}),k("ErrorScreen")})).finally((()=>{C(!1)}))):(w({captchaModalData:{callback:e=>b({email:g,captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),k("CaptchaScreen"))};/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(h,{children:[v&&/*#__PURE__*/e.jsx(p.ErrorMessage,{style:{display:"block",marginTop:"0.25rem",textAlign:"left"},children:v}),/*#__PURE__*/e.jsxs(j,{stacked:a.stacked,$error:!!v,children:[/*#__PURE__*/e.jsx(x,{children:/*#__PURE__*/e.jsx(r.Mail,{})}),/*#__PURE__*/e.jsx("input",{ref:m,id:"email-input",className:"login-method-button",type:"email",placeholder:"your@email.com",onFocus:()=>I(!0),onChange:e=>y(e.target.value),onKeyUp:e=>{"Enter"===e.key&&U()},value:g,autoComplete:"email"}),"email"!==A||F?a.stacked?/*#__PURE__*/e.jsx("span",{}):/*#__PURE__*/e.jsx(u.EmbeddedButton,{isSubmitting:q,onClick:U,disabled:R,children:"Submit"}):/*#__PURE__*/e.jsx(d.Chip,{color:"gray",children:"Recent"})]})]}),a.stacked?/*#__PURE__*/e.jsx(u.PrimaryButton,{loadingText:null,loading:q,disabled:R,onClick:U,style:{width:"100%"},children:"Submit"}):null]})}));let h=m.InputContainerForm,j=m.EmailInputForm,x=a.styled(o.LoginMethodIconWrapper)`
2
- display: inline-flex;
3
- `;exports.ConnectEmailForm=g;
@@ -1,16 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),t=require("@heroicons/react/24/solid/CheckCircleIcon"),o=require("react"),i=require("styled-components"),n=require("./ModalHeader-DPbDMuHf.js"),a=require("./Layouts-D3TOcPhm.js"),s=require("./useActiveWallet-BBx2W_rS.js"),l=require("./context-BAKveOwC.js"),u=require("./internal-context-BJv4f_bO.js"),c=require("./privy-context-BvJtlB2I.js"),d=require("./index-C18QAA2m.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("zustand"),require("viem"),require("viem/utils"),require("./use-export-wallet-BU92CTDl.js"),require("./get-entropy-details-for-user-znf4PAFl.js"),require("@privy-io/js-sdk-core"),require("eventemitter3"),require("react-device-detect"),require("./events-context-Di6--rDg.js"),require("tinycolor2"),require("ofetch"),require("@privy-io/are-addresses-equal"),require("./analytics-C6C_4JmG.js");var p=/*#__PURE__*/h(r),g=/*#__PURE__*/h(t);const y=({size:r=61,...t})=>/*#__PURE__*/e.jsx("svg",{width:r,height:r,viewBox:"0 0 61 61",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:/*#__PURE__*/e.jsxs("g",{id:"moonpay_symbol_wht 2",children:[/*#__PURE__*/e.jsx("rect",{x:"1.3374",y:"1",width:"59",height:"59",rx:"11.5",fill:"#7715F5"}),/*#__PURE__*/e.jsx("path",{id:"Vector",d:"M43.8884 23.3258C45.0203 23.3258 46.1268 22.9901 47.068 22.3613C48.0091 21.7324 48.7427 20.8386 49.1759 19.7928C49.6091 18.747 49.7224 17.5962 49.5016 16.4861C49.2807 15.3759 48.7357 14.3561 47.9353 13.5557C47.1349 12.7553 46.1151 12.2102 45.0049 11.9893C43.8947 11.7685 42.7439 11.8819 41.6982 12.3151C40.6524 12.7482 39.7585 13.4818 39.1297 14.423C38.5008 15.3641 38.1651 16.4707 38.1651 17.6026C38.165 18.3542 38.3131 19.0985 38.6007 19.7929C38.8883 20.4873 39.3098 21.1182 39.8413 21.6496C40.3728 22.1811 41.0037 22.6027 41.6981 22.8903C42.3925 23.1778 43.1367 23.3259 43.8884 23.3258ZM26.3395 49.1017C23.5804 49.1017 20.8832 48.2836 18.5891 46.7507C16.295 45.2178 14.5069 43.039 13.4511 40.49C12.3952 37.9409 12.1189 35.1359 12.6572 32.4298C13.1955 29.7237 14.5241 27.238 16.4751 25.287C18.4262 23.336 20.9118 22.0074 23.6179 21.4691C26.324 20.9308 29.129 21.2071 31.6781 22.2629C34.2272 23.3189 36.406 25.1069 37.9389 27.401C39.4717 29.6952 40.2899 32.3923 40.2899 35.1514C40.2899 36.9835 39.9291 38.7975 39.2281 40.49C38.527 42.1826 37.4994 43.7205 36.204 45.0159C34.9086 46.3113 33.3707 47.3389 31.6781 48.04C29.9856 48.741 28.1715 49.1018 26.3395 49.1017Z",fill:"white"})]})});const m={component:()=>{let{data:r,setModalData:t,navigateBack:o}=c.usePrivyModal(),i=l.useAppConfig(),{closePrivyModal:a}=u.usePrivyInternal(),{externalTransactionId:s}=r?.moonpayStatus,h=d.usePollMoonpayTransactionStatus(s||null,i.fundingMethodConfig.moonpay.useSandbox??!1);/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(n.ModalHeader,{title:"Fund account",backFn:()=>{let e={...r?.funding,showAlternateFundingMethod:!0};e.usingDefaultFundingMethod&&(e.usingDefaultFundingMethod=!1),t({funding:e,solanaFundingData:r?.solanaFundingData}),o()}}),/*#__PURE__*/e.jsx(f,{status:h,onClickCta:a}),/*#__PURE__*/e.jsx(n.BlobbyFooter,{})]})}};let f=({status:r,onClickCta:t})=>{let{title:i,body:s,cta:l}=o.useMemo((()=>(e=>{switch(e){case"completed":return{title:"You've funded your account!",body:"It may take a few minutes for the assets to appear.",cta:"Continue"};case"waitingAuthorization":return{title:"Processing payment",body:"This may take up to a few hours. You will receive an email when the purchase is complete.",cta:"Continue"};default:return{title:"In Progress",body:"Go back to MoonPay to finish funding your account.",cta:""}}})(r)),[r]);/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(C,{children:[/*#__PURE__*/e.jsx(v,{status:r}),/*#__PURE__*/e.jsxs(a.FixedGappedContainer,{children:[/*#__PURE__*/e.jsx("h3",{children:i}),/*#__PURE__*/e.jsx(x,{children:s})]})]}),l&&/*#__PURE__*/e.jsx(n.PrimaryButton,{onClick:t,children:l})]})},v=({status:r})=>{if(!r||"pending"===r){let r="var(--privy-color-foreground-4)";/*#__PURE__*/return e.jsxs("div",{style:{position:"relative"},children:[/*#__PURE__*/e.jsx(s.Loader,{color:r,style:{position:"absolute"}}),/*#__PURE__*/e.jsx(s.LoaderFaint,{color:r}),/*#__PURE__*/e.jsx(y,{size:"3rem",style:{position:"absolute",top:"1rem",left:"1rem"}})]})}let t=(r=>{switch(r){case"completed":return g.default;case"waitingAuthorization":return()=>/*#__PURE__*/e.jsx(p.default,{width:"3rem",height:"3rem",style:{backgroundColor:"var(--privy-color-foreground-4)",color:"var(--privy-color-background)",borderRadius:"100%",padding:"0.5rem",margin:"0.5rem"}});default:return}})(r),o=(e=>e?{completed:"var(--privy-color-success)",failed:"var(--privy-color-error)",serviceFailure:"var(--privy-color-error)",waitingAuthorization:"var(--privy-color-accent)",pending:"var(--privy-color-foreground-4)"}[e]:"var(--privy-color-foreground-4)")(r);/*#__PURE__*/return e.jsx("div",{style:{borderColor:o,display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"100%",borderWidth:2,padding:"0.5rem",marginBottom:"0.5rem"},children:t&&/*#__PURE__*/e.jsx(t,{width:"4rem",height:"4rem",color:o})})},x=i.styled.p`
2
- font-size: 1rem;
3
- color: var(--privy-color-foreground-3);
4
- margin-bottom: 1rem;
5
- display: flex;
6
- flex-direction: column;
7
- gap: 1rem;
8
- `,C=i.styled.div`
9
- display: flex;
10
- flex-direction: column;
11
- align-items: center;
12
- justify-content: center;
13
- margin-left: 1.75rem;
14
- margin-right: 1.75rem;
15
- padding: 2rem 0;
16
- `;exports.MoonpayStatusScreen=m,exports.default=m;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/EnvelopeIcon"),i=require("./Layouts-D3TOcPhm.js"),t=require("lucide-react"),a=require("react"),s=require("./context-BAKveOwC.js"),o=require("./index-B--7o13p.js"),u=require("./internal-context-BJv4f_bO.js"),n=require("./privy-context-BvJtlB2I.js"),l=require("./useActiveWallet-BBx2W_rS.js"),d=require("./use-export-wallet-BU92CTDl.js"),c=require("./ModalHeader-DPbDMuHf.js"),q=require("./EmailInputForm-Y-nHsEtF.js"),p=require("./ErrorMessage-BfTVyue9.js"),m=require("./ScreenLayout-eROlbyur.js");function j(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("react-device-detect"),require("@walletconnect/ethereum-provider"),require("./usePrivy-uhb6CtaO.js"),require("./events-context-Di6--rDg.js"),require("./get-entropy-details-for-user-znf4PAFl.js"),require("viem"),require("zustand"),require("ofetch"),require("./paths-DizMb-lU.js"),require("js-cookie"),require("./PrivyPluginContext-DsgaS6n9.js"),require("mipd"),require("viem/utils"),require("@privy-io/popup"),require("@scure/base"),require("@headlessui/react"),require("@privy-io/urls"),require("@privy-io/ethereum"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("@privy-io/are-addresses-equal"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-D89lHgLy.js"),require("./index-ByFhjjzH.js");var h=/*#__PURE__*/j(r);const v=/*#__PURE__*/a.forwardRef(((r,i)=>{let[q,m]=a.useState(""),[j,h]=a.useState(""),[v,g]=a.useState(!1),{authenticated:w,user:f}=n.usePrivyContext(),{initUpdateEmail:S}=u.usePrivyInternal(),{navigate:E,setModalData:b,currentScreen:k}=n.usePrivyModal(),{enabled:C,token:A}=o.useCaptcha(),P=s.useAppConfig(),M=d.validateEmail(q)&&(P.disablePlusEmails&&q.includes("+")?(j||h("Please enter a valid email address without a '+'."),!1):(j&&h(""),!0)),I=v||!M,U=()=>{!C||A||w?(async e=>{if(!f?.email)throw Error("User is required to have an email address to update it.");g(!0);try{await S({oldAddress:f.email.address,newAddress:q,captchaToken:e}),E("AwaitingPasswordlessCodeScreen")}catch(e){b({errorModalData:{error:e,previousScreen:k||"LandingScreen"}}),E("ErrorScreen")}g(!1)})(A):(b({captchaModalData:{callback:e=>{if(!f?.email)throw Error("User is required to have an email address to update it.");return S({oldAddress:f.email.address,newAddress:q,captchaToken:e})},userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),E("CaptchaScreen"))};/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(y,{children:[j&&/*#__PURE__*/e.jsx(p.ErrorMessage,{style:{marginTop:"0.25rem",textAlign:"left"},children:j}),/*#__PURE__*/e.jsxs(x,{$error:!!j,children:[/*#__PURE__*/e.jsx(l.LoginMethodIconWrapper,{children:/*#__PURE__*/e.jsx(t.Mail,{})}),/*#__PURE__*/e.jsx("input",{ref:i,id:"email-input",type:"email",placeholder:"your@email.com",onChange:e=>m(e.target.value),onKeyUp:e=>{"Enter"===e.key&&U()},value:q,autoComplete:"email"}),r.stacked?null:/*#__PURE__*/e.jsx(c.EmbeddedButton,{isSubmitting:v,onClick:U,disabled:I,children:"Submit"})]})]}),r.stacked?/*#__PURE__*/e.jsx(c.PrimaryButton,{loadingText:null,loading:v,disabled:I,onClick:U,style:{width:"100%"},children:"Submit"}):null]})}));let y=q.InputContainerForm,x=q.EmailUpdateForm;const g=({title:r="Update your email",subtitle:t="Add the email address you'd like to use going forward. We'll send you a confirmation code"})=>/*#__PURE__*/e.jsx(m.ScreenLayout,{title:r,subtitle:t,icon:h.default,watermark:!0,children:/*#__PURE__*/e.jsx(i.BottomPusherContainer,{children:/*#__PURE__*/e.jsx(v,{stacked:!0})})}),w={component:()=>/*#__PURE__*/e.jsx(g,{})};exports.UpdateEmailScreen=w,exports.UpdateEmailScreenView=g,exports.default=w;
@@ -1,3 +0,0 @@
1
- import{jsxs as e,Fragment as a,jsx as r}from"react/jsx-runtime";import{Mail as i}from"lucide-react";import{forwardRef as t,useState as o}from"react";import{styled as l}from"styled-components";import{u as n}from"./context-BDvZRT56.mjs";import{a as s}from"./index-t8luNMU8.mjs";import{u as m}from"./internal-context-C4ZqP8IF.mjs";import{u as c,a as d}from"./privy-context-v-TMVBdt.mjs";import{r as p,C as u}from"./useActiveWallet-CLfuK4Fv.mjs";import{B as h}from"./use-export-wallet-C3yKuILk.mjs";import{E as g,P as f}from"./ModalHeader-BxZPF7qd.mjs";import{C as y}from"./Chip-D2-wZOHJ.mjs";import{I as S,a as v}from"./EmailInputForm-Dgoii4vf.mjs";import{E as b}from"./ErrorMessage-D8VaAP5m.mjs";const j=/*#__PURE__*/t(((t,l)=>{let[u,S]=o(t.defaultValue||""),[v,j]=o(""),[x,w]=o(!1),{authenticated:P}=c(),{initLoginWithEmail:T}=m(),{navigate:M,setModalData:A,currentScreen:D,data:I}=d(),{enabled:N,token:U}=s(),[F,L]=o(!1),{accountType:R}=p(),W=n(),q=h(u)&&(W.disablePlusEmails&&u.includes("+")?(v||j("Please enter a valid email address without a '+'."),!1):(v&&j(""),!0)),B=x||!q,H=()=>{var e;A({login:I?.login,inlineError:void 0}),!N||U||P?(e=U,w(!0),T({email:u,captchaToken:e,disableSignup:I?.login?.disableSignup,withPrivyUi:!0}).then((()=>{M("AwaitingPasswordlessCodeScreen")})).catch((e=>{A({errorModalData:{error:e,previousScreen:D||"LandingScreen"}}),M("ErrorScreen")})).finally((()=>{w(!1)}))):(A({captchaModalData:{callback:e=>T({email:u,captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),M("CaptchaScreen"))};/*#__PURE__*/return e(a,{children:[/*#__PURE__*/e(k,{children:[v&&/*#__PURE__*/r(b,{style:{display:"block",marginTop:"0.25rem",textAlign:"left"},children:v}),/*#__PURE__*/e(C,{stacked:t.stacked,$error:!!v,children:[/*#__PURE__*/r(E,{children:/*#__PURE__*/r(i,{})}),/*#__PURE__*/r("input",{ref:l,id:"email-input",className:"login-method-button",type:"email",placeholder:"your@email.com",onFocus:()=>L(!0),onChange:e=>S(e.target.value),onKeyUp:e=>{"Enter"===e.key&&H()},value:u,autoComplete:"email"}),"email"!==R||F?t.stacked?/*#__PURE__*/r("span",{}):/*#__PURE__*/r(g,{isSubmitting:x,onClick:H,disabled:B,children:"Submit"}):/*#__PURE__*/r(y,{color:"gray",children:"Recent"})]})]}),t.stacked?/*#__PURE__*/r(f,{loadingText:null,loading:x,disabled:B,onClick:H,style:{width:"100%"},children:"Submit"}):null]})}));let k=S,C=v,E=l(u)`
2
- display: inline-flex;
3
- `;export{j as C};
@@ -1,16 +0,0 @@
1
- import{jsx as r,jsxs as e,Fragment as t}from"react/jsx-runtime";import o from"@heroicons/react/24/solid/ArrowsRightLeftIcon";import i from"@heroicons/react/24/solid/CheckCircleIcon";import{useMemo as n}from"react";import{styled as a}from"styled-components";import{M as s,B as l,P as c}from"./ModalHeader-BxZPF7qd.mjs";import{a as m}from"./Layouts-BlFm53ED.mjs";import{L as d,O as u}from"./useActiveWallet-CLfuK4Fv.mjs";import{u as p}from"./context-BDvZRT56.mjs";import{u as h}from"./internal-context-C4ZqP8IF.mjs";import{a as f}from"./privy-context-v-TMVBdt.mjs";import{u as g}from"./index-Ch8BunPr.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"zustand";import"viem";import"viem/utils";import"./use-export-wallet-C3yKuILk.mjs";import"./get-entropy-details-for-user-CgVPjq_6.mjs";import"@privy-io/js-sdk-core";import"eventemitter3";import"react-device-detect";import"./events-context-CI0iqAXA.mjs";import"tinycolor2";import"ofetch";import"@privy-io/are-addresses-equal";import"./analytics-mkkvFRju.mjs";const y=({size:t=61,...o})=>/*#__PURE__*/r("svg",{width:t,height:t,viewBox:"0 0 61 61",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:/*#__PURE__*/e("g",{id:"moonpay_symbol_wht 2",children:[/*#__PURE__*/r("rect",{x:"1.3374",y:"1",width:"59",height:"59",rx:"11.5",fill:"#7715F5"}),/*#__PURE__*/r("path",{id:"Vector",d:"M43.8884 23.3258C45.0203 23.3258 46.1268 22.9901 47.068 22.3613C48.0091 21.7324 48.7427 20.8386 49.1759 19.7928C49.6091 18.747 49.7224 17.5962 49.5016 16.4861C49.2807 15.3759 48.7357 14.3561 47.9353 13.5557C47.1349 12.7553 46.1151 12.2102 45.0049 11.9893C43.8947 11.7685 42.7439 11.8819 41.6982 12.3151C40.6524 12.7482 39.7585 13.4818 39.1297 14.423C38.5008 15.3641 38.1651 16.4707 38.1651 17.6026C38.165 18.3542 38.3131 19.0985 38.6007 19.7929C38.8883 20.4873 39.3098 21.1182 39.8413 21.6496C40.3728 22.1811 41.0037 22.6027 41.6981 22.8903C42.3925 23.1778 43.1367 23.3259 43.8884 23.3258ZM26.3395 49.1017C23.5804 49.1017 20.8832 48.2836 18.5891 46.7507C16.295 45.2178 14.5069 43.039 13.4511 40.49C12.3952 37.9409 12.1189 35.1359 12.6572 32.4298C13.1955 29.7237 14.5241 27.238 16.4751 25.287C18.4262 23.336 20.9118 22.0074 23.6179 21.4691C26.324 20.9308 29.129 21.2071 31.6781 22.2629C34.2272 23.3189 36.406 25.1069 37.9389 27.401C39.4717 29.6952 40.2899 32.3923 40.2899 35.1514C40.2899 36.9835 39.9291 38.7975 39.2281 40.49C38.527 42.1826 37.4994 43.7205 36.204 45.0159C34.9086 46.3113 33.3707 47.3389 31.6781 48.04C29.9856 48.741 28.1715 49.1018 26.3395 49.1017Z",fill:"white"})]})});const v={component:()=>{let{data:o,setModalData:i,navigateBack:n}=f(),a=p(),{closePrivyModal:c}=h(),{externalTransactionId:m}=o?.moonpayStatus,d=g(m||null,a.fundingMethodConfig.moonpay.useSandbox??!1);/*#__PURE__*/return e(t,{children:[/*#__PURE__*/r(s,{title:"Fund account",backFn:()=>{let r={...o?.funding,showAlternateFundingMethod:!0};r.usingDefaultFundingMethod&&(r.usingDefaultFundingMethod=!1),i({funding:r,solanaFundingData:o?.solanaFundingData}),n()}}),/*#__PURE__*/r(C,{status:d,onClickCta:c}),/*#__PURE__*/r(l,{})]})}};let C=({status:o,onClickCta:i})=>{let{title:a,body:s,cta:l}=n((()=>(r=>{switch(r){case"completed":return{title:"You've funded your account!",body:"It may take a few minutes for the assets to appear.",cta:"Continue"};case"waitingAuthorization":return{title:"Processing payment",body:"This may take up to a few hours. You will receive an email when the purchase is complete.",cta:"Continue"};default:return{title:"In Progress",body:"Go back to MoonPay to finish funding your account.",cta:""}}})(o)),[o]);/*#__PURE__*/return e(t,{children:[/*#__PURE__*/e(b,{children:[/*#__PURE__*/r(w,{status:o}),/*#__PURE__*/e(m,{children:[/*#__PURE__*/r("h3",{children:a}),/*#__PURE__*/r(x,{children:s})]})]}),l&&/*#__PURE__*/r(c,{onClick:i,children:l})]})},w=({status:t})=>{if(!t||"pending"===t){let t="var(--privy-color-foreground-4)";/*#__PURE__*/return e("div",{style:{position:"relative"},children:[/*#__PURE__*/r(d,{color:t,style:{position:"absolute"}}),/*#__PURE__*/r(u,{color:t}),/*#__PURE__*/r(y,{size:"3rem",style:{position:"absolute",top:"1rem",left:"1rem"}})]})}let n=(e=>{switch(e){case"completed":return i;case"waitingAuthorization":return()=>/*#__PURE__*/r(o,{width:"3rem",height:"3rem",style:{backgroundColor:"var(--privy-color-foreground-4)",color:"var(--privy-color-background)",borderRadius:"100%",padding:"0.5rem",margin:"0.5rem"}});default:return}})(t),a=(s=t)?{completed:"var(--privy-color-success)",failed:"var(--privy-color-error)",serviceFailure:"var(--privy-color-error)",waitingAuthorization:"var(--privy-color-accent)",pending:"var(--privy-color-foreground-4)"}[s]:"var(--privy-color-foreground-4)";var s;/*#__PURE__*/return r("div",{style:{borderColor:a,display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"100%",borderWidth:2,padding:"0.5rem",marginBottom:"0.5rem"},children:n&&/*#__PURE__*/r(n,{width:"4rem",height:"4rem",color:a})})},x=a.p`
2
- font-size: 1rem;
3
- color: var(--privy-color-foreground-3);
4
- margin-bottom: 1rem;
5
- display: flex;
6
- flex-direction: column;
7
- gap: 1rem;
8
- `,b=a.div`
9
- display: flex;
10
- flex-direction: column;
11
- align-items: center;
12
- justify-content: center;
13
- margin-left: 1.75rem;
14
- margin-right: 1.75rem;
15
- padding: 2rem 0;
16
- `;export{v as MoonpayStatusScreen,v as default};
@@ -1 +0,0 @@
1
- import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import o from"@heroicons/react/24/outline/EnvelopeIcon";import{B as i}from"./Layouts-BlFm53ED.mjs";import{Mail as a}from"lucide-react";import{forwardRef as s,useState as m}from"react";import{u as n}from"./context-BDvZRT56.mjs";import{a as l}from"./index-t8luNMU8.mjs";import{u as d}from"./internal-context-C4ZqP8IF.mjs";import{u as c,a as p}from"./privy-context-v-TMVBdt.mjs";import{C as u}from"./useActiveWallet-CLfuK4Fv.mjs";import{B as h}from"./use-export-wallet-C3yKuILk.mjs";import{E as v,P as f}from"./ModalHeader-BxZPF7qd.mjs";import{I as y,E as j}from"./EmailInputForm-Dgoii4vf.mjs";import{E as g}from"./ErrorMessage-D8VaAP5m.mjs";import{S as w}from"./ScreenLayout-CHf1S-9L.mjs";import"styled-components";import"@privy-io/js-sdk-core";import"tinycolor2";import"uuid";import"jose";import"eventemitter3";import"@coinbase/wallet-sdk";import"react-device-detect";import"@walletconnect/ethereum-provider";import"./usePrivy-B1AsvC0i.mjs";import"./events-context-CI0iqAXA.mjs";import"./get-entropy-details-for-user-CgVPjq_6.mjs";import"viem";import"zustand";import"ofetch";import"./paths-BzM95ysC.mjs";import"js-cookie";import"./PrivyPluginContext-2QN2dVUw.mjs";import"mipd";import"viem/utils";import"@privy-io/popup";import"@scure/base";import"@headlessui/react";import"@privy-io/urls";import"@privy-io/ethereum";import"./getEmbeddedConnectedWallet-JzK4iD-L.mjs";import"./frame-CjhCpycO.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"@privy-io/are-addresses-equal";import"viem/accounts";import"./use-sign-with-user-signer-BYctG7hm.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-Cce_5_X_.mjs";import"./index-Dq_xe9dz.mjs";const k=/*#__PURE__*/s(((o,i)=>{let[s,y]=m(""),[j,w]=m(""),[k,S]=m(!1),{authenticated:x,user:A}=c(),{initUpdateEmail:C}=d(),{navigate:I,setModalData:P,currentScreen:M}=p(),{enabled:T,token:U}=l(),L=n(),q=h(s)&&(L.disablePlusEmails&&s.includes("+")?(j||w("Please enter a valid email address without a '+'."),!1):(j&&w(""),!0)),D=k||!q,W=()=>{!T||U||x?(async e=>{if(!A?.email)throw Error("User is required to have an email address to update it.");S(!0);try{await C({oldAddress:A.email.address,newAddress:s,captchaToken:e}),I("AwaitingPasswordlessCodeScreen")}catch(e){P({errorModalData:{error:e,previousScreen:M||"LandingScreen"}}),I("ErrorScreen")}S(!1)})(U):(P({captchaModalData:{callback:e=>{if(!A?.email)throw Error("User is required to have an email address to update it.");return C({oldAddress:A.email.address,newAddress:s,captchaToken:e})},userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),I("CaptchaScreen"))};/*#__PURE__*/return e(r,{children:[/*#__PURE__*/e(b,{children:[j&&/*#__PURE__*/t(g,{style:{marginTop:"0.25rem",textAlign:"left"},children:j}),/*#__PURE__*/e(E,{$error:!!j,children:[/*#__PURE__*/t(u,{children:/*#__PURE__*/t(a,{})}),/*#__PURE__*/t("input",{ref:i,id:"email-input",type:"email",placeholder:"your@email.com",onChange:e=>y(e.target.value),onKeyUp:e=>{"Enter"===e.key&&W()},value:s,autoComplete:"email"}),o.stacked?null:/*#__PURE__*/t(v,{isSubmitting:k,onClick:W,disabled:D,children:"Submit"})]})]}),o.stacked?/*#__PURE__*/t(f,{loadingText:null,loading:k,disabled:D,onClick:W,style:{width:"100%"},children:"Submit"}):null]})}));let b=y,E=j;const S=({title:e="Update your email",subtitle:r="Add the email address you'd like to use going forward. We'll send you a confirmation code"})=>/*#__PURE__*/t(w,{title:e,subtitle:r,icon:o,watermark:!0,children:/*#__PURE__*/t(i,{children:/*#__PURE__*/t(k,{stacked:!0})})}),x={component:()=>/*#__PURE__*/t(S,{})};export{x as UpdateEmailScreen,S as UpdateEmailScreenView,x as default};