UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 8.93 kB
import{FetchError as a}from"ofetch";import{useContext as e,createContext as s}from"react";var t;class i extends Error{toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(a,e,s){super(a),e instanceof Error&&(this.cause=e),this.privyErrorCode=s}}class n extends i{constructor(a,e,s,t,i,n){super(s,t,i),this.type=a,this.status=e,this.data=n}}class r extends i{constructor(a,e,s){super(a,e,s),this.type="client_error"}}class _ extends r{constructor(){super("Request timed out",void 0,"client_request_timeout")}}class o extends i{constructor(a,e,s){super(a,e,s),this.type="connector_error"}}const l=e=>{if(e instanceof i)return e;if(!(e instanceof a))return u(e);if(!e.response)return new n("api_error",null,e.message,e);let{type:s,message:t,error:r,code:_}=e.data;return new n(s||"ApiError",e.response.status,t||r,e,_,e.data)},u=a=>a instanceof i?a:a instanceof Error?new r(a.message,a):new r(`Internal error: ${a}`);var c=((t={}).OAUTH_ACCOUNT_SUSPENDED="oauth_account_suspended",t.MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",t.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",t.MISSING_OR_INVALID_TOKEN="missing_or_invalid_token",t.INVALID_DATA="invalid_data",t.INVALID_CAPTCHA="invalid_captcha",t.LINKED_TO_ANOTHER_USER="linked_to_another_user",t.CANNOT_LINK_MORE_OF_TYPE="cannot_link_more_of_type",t.FAILED_TO_LINK_ACCOUNT="failed_to_link_account",t.FAILED_TO_UPDATE_ACCOUNT="failed_to_update_account",t.USER_EXITED_UPDATE_FLOW="exited_update_flow",t.ALLOWLIST_REJECTED="allowlist_rejected",t.OAUTH_USER_DENIED="oauth_user_denied",t.OAUTH_UNEXPECTED="oauth_unexpected",t.UNKNOWN_AUTH_ERROR="unknown_auth_error",t.USER_EXITED_AUTH_FLOW="exited_auth_flow",t.USER_EXITED_LINK_FLOW="exited_link_flow",t.USER_EXITED_SET_PASSWORD_FLOW="user_exited_set_password_flow",t.MUST_BE_AUTHENTICATED="must_be_authenticated",t.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",t.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",t.CLIENT_REQUEST_TIMEOUT="client_request_timeout",t.INVALID_CREDENTIALS="invalid_credentials",t.MISSING_MFA_CREDENTIALS="missing_or_invalid_mfa",t.UNKNOWN_MFA_ERROR="unknown_mfa_error",t.EMBEDDED_WALLET_ALREADY_EXISTS="embedded_wallet_already_exists",t.EMBEDDED_WALLET_NOT_FOUND="embedded_wallet_not_found",t.EMBEDDED_WALLET_CREATE_ERROR="embedded_wallet_create_error",t.UNKNOWN_EMBEDDED_WALLET_ERROR="unknown_embedded_wallet_error",t.EMBEDDED_WALLET_PASSWORD_UNCONFIRMED="embedded_wallet_password_unconfirmed",t.EMBEDDED_WALLET_PASSWORD_ALREADY_EXISTS="embedded_wallet_password_already_exists",t.EMBEDDED_WALLET_RECOVERY_ALREADY_EXISTS="embedded_wallet_recovery_already_exists",t.TRANSACTION_FAILURE="transaction_failure",t.UNSUPPORTED_CHAIN_ID="unsupported_chain_id",t.NOT_SUPPORTED="not_supported",t.CAPTCHA_TIMEOUT="captcha_timeout",t.INVALID_MESSAGE="invalid_message",t.UNABLE_TO_SIGN="unable_to_sign",t.CAPTCHA_FAILURE="captcha_failure",t.CAPTCHA_DISABLED="captcha_disabled",t.SESSION_STORAGE_UNAVAILABLE="session_storage_unavailable",t.TOO_MANY_REQUESTS="too_many_requests",t.USER_LIMIT_REACHED="max_accounts_reached",t.DISALLOWED_LOGIN_METHOD="disallowed_login_method",t.DISALLOWED_PLUS_EMAIL="disallowed_plus_email",t.PASSKEY_NOT_ALLOWED="passkey_not_allowed",t.USER_DOES_NOT_EXIST="user_does_not_exist",t.INSUFFICIENT_BALANCE="insufficient_balance",t.ACCOUNT_TRANSFER_REQUIRED="account_transfer_required",t.BUFFER_NOT_DEFINED="buffer_not_defined",t.UNSUPPORTED_WALLET_TYPE="unsupported_wallet_type",t);class d extends r{constructor(){super("Method called before `ready`. Ensure you wait until `ready` is true before calling.")}}class p extends r{constructor(a="Embedded wallet error",e){super(a,e,"unknown_embedded_wallet_error")}}class E extends r{constructor(a="User must be authenticated"){super(a,void 0,"must_be_authenticated")}}class A extends r{constructor(a){super("This application is in development mode and must be upgraded to production to log in new users.",a,"max_accounts_reached")}}const h="/api/v1/sessions",v="/api/v1/sessions/logout",S="/api/v1/siwe/init",T="/api/v1/siwe/authenticate",m="/api/v1/siwe/link",w="/api/v1/siwe/link_smart_wallet",I="/api/v1/siwe/unlink",D="/api/v1/siwe/transfer",L="/api/v1/siws/init",O="/api/v1/siws/authenticate",N="/api/v1/siws/link",g="/api/v1/siws/unlink",R="/api/v1/siws/transfer",W="/api/v1/farcaster/init",f="/api/v1/farcaster/authenticate",U="/api/v1/farcaster/link",k="/api/v1/farcaster/status",y="/api/v1/farcaster/unlink",C="/api/v1/farcaster/transfer",P="api/v2/farcaster/init",M="api/v2/farcaster/authenticate",F="/api/v1/passwordless/init",b="/api/v1/passwordless/authenticate",x="/api/v1/passwordless/link",H="/api/v1/passwordless/unlink",B="/api/v1/passwordless/update",V="/api/v1/passwordless/transfer",Y="/api/v1/passwordless_sms/init",K="/api/v1/passwordless_sms/link",G="/api/v1/passwordless_sms/unlink",X="/api/v1/passwordless_sms/authenticate",q="/api/v1/passwordless_sms/update",$="/api/v1/passwordless_sms/transfer",j="/api/v1/oauth/init",Q="/api/v1/oauth/authenticate",z="/api/v1/oauth/link",J="/api/v1/oauth/unlink",Z="/api/v1/oauth/transfer",aa="/api/v1/recovery/oauth/init",ea="/api/v1/recovery/oauth/init_icloud",sa="/api/v1/recovery/oauth/authenticate",ta="/api/v1/passkeys/link/init",ia="/api/v1/passkeys/authenticate/init",na="/api/v1/passkeys/register/init",ra="/api/v1/passkeys/link",_a="/api/v1/passkeys/authenticate",oa="/api/v1/passkeys/register",la="/api/v1/telegram/authenticate",ua="/api/v1/telegram/link",ca="/api/v1/telegram/unlink",da="/api/v1/telegram/transfer",pa="/api/v1/sso/authenticate",Ea="/api/v1/mfa/passwordless_sms/init",Aa="/api/v1/mfa/passkeys/init",ha="/api/v1/users/me/accept_terms",va="/api/v1/analytics_events",Sa="/api/v1/custom_jwt_account/authenticate",Ta="/api/v1/custom_jwt_account/link",ma="/api/v1/guest/authenticate",wa="/api/v1/plugins/moonpay_on_ramp/sign",Ia="/api/v1/funding/coinbase_on_ramp/init",Da="/api/v1/funding/coinbase_on_ramp/status",La="/api/v1/wallets/revoke",Oa="/api/v1/users/me",Na="/api/v1/scan/transaction",ga=()=>{throw Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")},Ra=a=>()=>{throw Error(a.trim())},Wa=/*#__PURE__*/s({setAuthenticated:ga,setUser:ga,setIsNewUser:ga,isNewUserThisSession:!1,walletConnectionStatus:null,setWalletConnectionStatus:ga,connectors:[],rpcConfig:{rpcUrls:{}},showFiatPrices:!0,chains:[],clientAnalyticsId:null,pendingTransaction:null,client:null,privy:null,appId:"notAdded",onCustomAuthAuthenticated:ga,hideWalletUIs:{current:!1},nativeTokenSymbolForChainId:ga,initializeWalletProxy:ga,getAuthMeta:ga,getAuthFlow:ga,closePrivyModal:ga,openPrivyModal:ga,connectWallet:ga,initLoginWithWallet:ga,loginWithWallet:ga,initLoginWithFarcaster:ga,loginWithFarcaster:ga,loginWithCode:ga,initLoginWithEmail:ga,initLoginWithSms:ga,initUpdateEmail:ga,initUpdatePhone:ga,resendEmailCode:ga,resendSmsCode:ga,initLoginWithHeadlessOAuth:ga,loginWithHeadlessOAuth:ga,crossAppAuthFlow:ga,initLoginWithOAuth:ga,loginWithOAuth:ga,passkeyAuthState:{status:"initial"},setPasskeyAuthState:ga,initSignupWithPasskey:ga,signupWithPasskey:ga,initLoginWithPasskey:ga,loginWithPasskey:ga,initLinkWithPasskey:ga,linkWithPasskey:ga,refreshSessionAndUser:ga,walletProxy:null,createAnalyticsEvent:ga,acceptTerms:ga,getUsdTokenPrice:ga,getUsdPriceForSol:ga,getSplTokenMetadata:ga,recoverEmbeddedWallet:ga,updateWallets:ga,fundWallet:ga,openModal:ga,setReadyToTrue:ga,requestFarcasterSignerStatus:ga,initLoginWithTelegram:ga,loginWithTelegram:ga,generateSiweMessage:ga,generateSiweMessageForSmartWallet:ga,loginWithSiwe:ga,linkWithSiwe:ga,linkSmartWallet:ga,delegateWallet:ga,revokeDelegatedWallets:ga,connectCoinbaseSmartWallet:ga,connectBaseAccount:ga,initiateAccountTransfer:ga,emailOtpState:{status:"initial"},setEmailOtpState:ga,smsOtpState:{status:"initial"},setSmsOtpState:ga,siweState:{status:"initial"},setSiweState:ga,oAuthState:{status:"initial"},setOAuthState:ga,telegramAuthState:{status:"initial"},setTelegramAuthState:ga,isHeadlessOAuthLoading:!1,isHeadlessSigning:ga,inProgressAuthFlowRef:{current:null},inProgressLoginOrLinkMethodRef:{current:null},baseAccountSdk:void 0,setBaseAccountSdk:ga}),fa=()=>e(Wa);export{O as $,v as A,va as B,Sa as C,Ta as D,ma as E,u as F,n as G,Ea as H,Aa as I,ha as J,H as K,G as L,I as M,g as N,J as O,r as P,y as Q,ca as R,La as S,wa as T,Ia as U,Da as V,S as W,T as X,m as Y,w as Z,L as _,x as a,Z as a0,R as a1,da as a2,C as a3,D as a4,$ as a5,V as a6,N as a7,Oa as a8,Na as a9,fa as aa,i as ab,A as ac,ga as ad,d as ae,Wa as af,Ra as ag,la as ah,ua as ai,sa as aj,ea as ak,aa as al,p as am,E as an,P as ao,M as ap,pa as aq,F as b,f as c,U as d,W as e,l as f,k as g,c as h,z as i,j,oa as k,_a as l,ra as m,na as n,Q as o,b as p,ia as q,ta as r,X as s,K as t,B as u,Y as v,q as w,o as x,_ as y,h as z};