@privy-io/react-auth 1.94.1 → 1.94.2

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.
@@ -0,0 +1 @@
1
+ import{useRef as e,useState as t,useCallback as a}from"react";import{http as n,createPublicClient as r}from"viem";import{P as i,u as o,j as s,w as l}from"./privy-context-2XTbQLV9.mjs";import{U as c,A as p,a4 as d}from"./useWallets-BhLT0fR-.mjs";import{u,g as _,M as m}from"./getEmbeddedConnectedWallet-BfN7mN3S.mjs";import{createSmartAccountClient as g}from"permissionless";import{toLightSmartAccount as b,toBiconomySmartAccount as h,toEcdsaKernelSmartAccount as y,toSafeSmartAccount as v}from"permissionless/accounts";import{createPimlicoClient as f}from"permissionless/clients/pimlico";import{toCoinbaseSmartAccount as I,entryPoint06Address as S,entryPoint07Address as k}from"viem/account-abstraction";import T,{z as A}from"zod";import w from"bs58";import{ethers as E}from"ethers";import{parsePhoneNumber as P}from"libphonenumber-js/max";let j;var O=((j=O||{}).OAUTH_ACCOUNT_SUSPENDED="oauth_account_suspended",j.MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",j.MISSING_OR_INVALID_PRIVY_CLIENT_ID="missing_or_invalid_privy_client_id",j.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",j.MISSING_OR_INVALID_TOKEN="missing_or_invalid_token",j.MISSING_OR_INVALID_MFA="missing_or_invalid_mfa",j.EXPIRED_OR_INVALID_MFA_TOKEN="expired_or_invalid_mfa_token",j.INVALID_DATA="invalid_data",j.INVALID_CREDENTIALS="invalid_credentials",j.INVALID_CAPTCHA="invalid_captcha",j.LINKED_TO_ANOTHER_USER="linked_to_another_user",j.ALLOWLIST_REJECTED="allowlist_rejected",j.CANNOT_UNLINK_EMBEDDED_WALLET="cannot_unlink_embedded_wallet",j.CANNOT_UNLINK_SOLE_ACCOUNT="cannot_unlink_sole_account",j.CANNOT_LINK_MORE_OF_TYPE="cannot_link_more_of_type",j.LINKED_ACCOUNT_NOT_FOUND="linked_account_not_found",j.TOO_MANY_REQUESTS="too_many_requests",j.INVALID_ORIGIN="invalid_origin",j.MISSING_ORIGIN="missing_origin",j.INVALID_NATIVE_APP_ID="invalid_native_app_id",j.TOKEN_ALREADY_USED="token_already_used",j.ALREADY_LOGGED_OUT="already_logged_out",j.NOT_SUPPORTED="not_supported",j.USER_UNSUBSCRIBED="user_unsubscribed",j.MAX_APPS_REACHED="max_apps_reached",j.USER_LIMIT_REACHED="max_accounts_reached",j.DEVICE_REVOKED="device_revoked",j.WALLET_PASSWORD_EXISTS="wallet_password_exists",j.OAUTH_STATE_MISMATCH="oauth_state_mismatch",j.MAX_DENYLIST_ENTRIES_REACHED="max_denylist_entries_reached",j.DISALLOWED_LOGIN_METHOD="disallowed_login_method",j.DISALLOWED_PLUS_EMAIL="disallowed_plus_email",j.DISALLOWED_RECOVERY_METHOD="disallowed_recovery_method",j.LEGACY_DASHBOARD_LOGIN_CONFIGURATION="legacy_dashboard_login_configuration",j.CANNOT_SET_PASSWORD="cannot_set_password",j.INVALID_PKCE_PARAMETERS="invalid_pkce_parameters",j.INVALID_APP_URL_SCHEME_CONFIGURATION="invalid_app_url_scheme_configuration",j.CROSS_APP_CONNECTION_NOT_ALLOWED="cross_app_connection_not_allowed",j.USER_DOES_NOT_EXIST="user_does_not_exist",j.ACCOUNT_TRANSFER_REQUIRED="account_transfer_required",j.USER_HAS_NOT_DELEGATED_WALLET="user_has_not_delegated_wallet",j.FEATURE_NOT_ENABLED="feature_not_enabled",j),C=class extends Error{toString(){return`${this.constructor.name}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(e,t,a,n){super(t),this.code=a,this.status=e,this.responseData=n}},R=class extends C{constructor(e,t){super(400,e,t||"invalid_data")}},N=class extends C{constructor(e,t){super(401,e,t)}},D=class extends C{constructor(e,t){super(422,e,t)}};function x(e,t){return Object.keys(t).forEach((function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[a]}})})),e}function W(e,t,a,n){Object.defineProperty(e,t,{get:a,set:n,enumerable:!0,configurable:!0})}A.object({error:A.string(),cause:A.string().optional(),code:A.nativeEnum(O).optional()});var L={},U={};W(U,"AnalyticsEvent",(()=>M));let M={path:"/api/v1/analytics_events",method:"POST"};var F={};W(F,"AppConfig",(()=>G));let G={path:"/api/v1/apps/:app_id",method:"GET"};var V={};W(V,"CoinbaseOnRampInit",(()=>q)),W(V,"CoinbaseOnRampStatus",(()=>B));let q={path:"/api/v1/funding/coinbase_on_ramp/init",method:"POST"},B={path:"/api/v1/funding/coinbase_on_ramp/status",method:"GET"};var K={};W(K,"GetCrossAppConnections",(()=>$));let $={path:"/api/v1/apps/:app_id/cross-app/connections",method:"GET"};var H={};W(H,"CustomJWTAuthenticate",(()=>z));let z={path:"/api/v1/custom_jwt_account/authenticate",method:"POST"};var Y={};W(Y,"FarcasterInit",(()=>J)),W(Y,"FarcasterAuthenticate",(()=>Q)),W(Y,"FarcasterLink",(()=>X)),W(Y,"FarcasterUnlink",(()=>Z)),W(Y,"FarcasterStatus",(()=>ee));let J={path:"/api/v1/farcaster/init",method:"POST"},Q={path:"/api/v1/farcaster/authenticate",method:"POST"},X={path:"/api/v1/farcaster/link",method:"POST"},Z={path:"/api/v1/farcaster/unlink",method:"POST"},ee={path:"/api/v1/farcaster/status",method:"GET"};var te={};W(te,"FarcasterSignerInit",(()=>ae)),W(te,"FarcasterSignerStatus",(()=>ne));let ae={path:"/api/v1/farcaster/signer/init",method:"POST"},ne={path:"/api/v1/farcaster/signer/status",method:"POST"};var re={};W(re,"GuestAuthenticate",(()=>ie));let ie={path:"/api/v1/guest/authenticate",method:"POST"};var oe={};W(oe,"MfaPasskeyInit",(()=>se)),W(oe,"MfaPasskeyVerify",(()=>le)),W(oe,"MfaPasskeyEnrollment",(()=>ce));let se={path:"/api/v1/mfa/passkeys/init",method:"POST"},le={path:"/api/v1/mfa/passkeys/verify",method:"POST"},ce={path:"/api/v1/mfa/passkeys/enrollment",method:"POST"};var pe={};W(pe,"MfaPasswordlessSmsEnroll",(()=>de)),W(pe,"MfaPasswordlessSmsVerify",(()=>ue)),W(pe,"MfaPasswordlessSmsInit",(()=>_e)),W(pe,"MfaPasswordlessSmsUnenroll",(()=>me));let de={path:"/api/v1/mfa/passwordless_sms/enroll",method:"POST"},ue={path:"/api/v1/mfa/passwordless_sms/verify",method:"POST"},_e={path:"/api/v1/mfa/passwordless_sms/init",method:"POST"},me={path:"/api/v1/mfa/passwordless_sms/unenroll",method:"POST"};var ge={};W(ge,"MfaTotpEnroll",(()=>be)),W(ge,"MfaTotpVerify",(()=>he)),W(ge,"MfaTotpInit",(()=>ye)),W(ge,"MfaTotpUnenroll",(()=>ve));let be={path:"/api/v1/mfa/totp/enroll",method:"POST"},he={path:"/api/v1/mfa/totp/verify",method:"POST"},ye={path:"/api/v1/mfa/totp/init",method:"POST"},ve={path:"/api/v1/mfa/totp/unenroll",method:"POST"};var fe={};W(fe,"OAuthAuthenticate",(()=>Ie)),W(fe,"OAuthInit",(()=>Se)),W(fe,"OAuthLink",(()=>ke)),W(fe,"OAuthUnlink",(()=>Te));let Ie={path:"/api/v1/oauth/authenticate",method:"POST"},Se={path:"/api/v1/oauth/init",method:"POST"},ke={path:"/api/v1/oauth/link",method:"POST"},Te={path:"/api/v1/oauth/unlink",method:"POST"};var Ae={};W(Ae,"OAuthProviderAuthorize",(()=>we)),W(Ae,"OAuthProviderVerify",(()=>Ee));let we={path:"/oauth/authorization_code",method:"POST"},Ee={path:"/oauth/verify",method:"POST"};var Pe={};W(Pe,"PasskeyLink",(()=>je)),W(Pe,"PasskeyAuthenticate",(()=>Oe)),W(Pe,"PasskeyAuthenticateInit",(()=>Ce)),W(Pe,"PasskeyLinkInit",(()=>Re)),W(Pe,"PasskeyUnlink",(()=>Ne));let je={path:"/api/v1/passkeys/link",method:"POST"},Oe={path:"/api/v1/passkeys/authenticate",method:"POST"},Ce={path:"/api/v1/passkeys/authenticate/init",method:"POST"},Re={path:"/api/v1/passkeys/link/init",method:"POST"},Ne={path:"/api/v1/passkeys/unlink",method:"POST"};var De={};W(De,"PasswordlessAuthenticate",(()=>xe)),W(De,"PasswordlessInit",(()=>We)),W(De,"PasswordlessLink",(()=>Le)),W(De,"PasswordlessUnlink",(()=>Ue)),W(De,"PasswordlessUpdate",(()=>Me));let xe={path:"/api/v1/passwordless/authenticate",method:"POST"},We={path:"/api/v1/passwordless/init",method:"POST"},Le={path:"/api/v1/passwordless/link",method:"POST"},Ue={path:"/api/v1/passwordless/unlink",method:"POST"},Me={path:"/api/v1/passwordless/update",method:"POST"};var Fe={};W(Fe,"PasswordlessSmsAuthenticate",(()=>Ge)),W(Fe,"PasswordlessSmsInit",(()=>Ve)),W(Fe,"PasswordlessSmsLink",(()=>qe)),W(Fe,"PasswordlessSmsUnlink",(()=>Be)),W(Fe,"PasswordlessSmsUpdate",(()=>Ke));let Ge={path:"/api/v1/passwordless_sms/authenticate",method:"POST"},Ve={path:"/api/v1/passwordless_sms/init",method:"POST"},qe={path:"/api/v1/passwordless_sms/link",method:"POST"},Be={path:"/api/v1/passwordless_sms/unlink",method:"POST"},Ke={path:"/api/v1/passwordless_sms/update",method:"POST"};var $e={};W($e,"RecoveryKeyMaterial",(()=>He)),W($e,"RecoveryOAuthInit",(()=>ze)),W($e,"RecoveryOAuthAuthenticate",(()=>Ye)),W($e,"RecoveryOAuthInitICloud",(()=>Je)),W($e,"RecoveryOAuthCallbackICloudExpo",(()=>Qe)),W($e,"RecoveryConfigurationICloud",(()=>Xe));let He={path:"/api/v1/embedded_wallets/:address/recovery/key_material",method:"POST"},ze={path:"/api/v1/recovery/oauth/init",method:"POST"},Ye={path:"/api/v1/recovery/oauth/authenticate",method:"POST"},Je={path:"/api/v1/recovery/oauth/init_icloud",method:"POST"},Qe={path:"/api/v1/recovery/oauth/callback_icloud/:app_id/expo_ios",method:"GET"},Xe={path:"/api/v1/recovery/configuration_icloud",method:"POST"};var Ze={};W(Ze,"getPathWithParams",(()=>et));let et=(e,t)=>t?Object.entries(t).reduce(((e,[t,a])=>e.replace(`:${t}`,`${a}`)),e):e;var tt={};W(tt,"RefreshSession",(()=>at)),W(tt,"Logout",(()=>nt));let at={path:"/api/v1/sessions",method:"POST"},nt={path:"/api/v1/sessions/logout",method:"POST"};var rt={};W(rt,"GetSmartWalletConfig",(()=>it)),W(rt,"PostSmartWalletConfig",(()=>ot));let it={path:"/api/v1/apps/:app_id/smart_wallets",method:"GET"},ot={path:"/api/v1/apps/:app_id/smart_wallets",method:"POST"};var st={};W(st,"SiweInit",(()=>lt)),W(st,"SiweAuthenticate",(()=>ct)),W(st,"SiweLink",(()=>pt)),W(st,"SiweLinkSmartWallet",(()=>dt)),W(st,"SiweUnlink",(()=>ut));let lt={path:"/api/v1/siwe/init",method:"POST"},ct={path:"/api/v1/siwe/authenticate",method:"POST"},pt={path:"/api/v1/siwe/link",method:"POST"},dt={path:"/api/v1/siwe/link_smart_wallet",method:"POST"},ut={path:"/api/v1/siwe/unlink",method:"POST"};var _t={};W(_t,"SiwsInit",(()=>mt)),W(_t,"SiwsAuthenticate",(()=>gt)),W(_t,"SiwsLink",(()=>bt)),W(_t,"SiwsUnlink",(()=>ht));let mt={path:"/api/v1/siws/init",method:"POST"},gt={path:"/api/v1/siws/authenticate",method:"POST"},bt={path:"/api/v1/siws/link",method:"POST"},ht={path:"/api/v1/siws/unlink",method:"POST"};var yt={};W(yt,"AcceptTermsOnUser",(()=>vt));let vt={path:"/api/v1/users/me/accept_terms",method:"POST"};var ft={};W(ft,"TelegramAuthenticate",(()=>It)),W(ft,"TelegramLink",(()=>St)),W(ft,"TelegramUnlink",(()=>kt));let It={path:"/api/v1/telegram/authenticate",method:"POST"},St={path:"/api/v1/telegram/link",method:"POST"},kt={path:"/api/v1/telegram/unlink",method:"POST"};x(L,U),x(L,F),x(L,V),x(L,K),x(L,H),x(L,Y),x(L,te),x(L,re),x(L,oe),x(L,pe),x(L,ge),x(L,fe),x(L,Ae),x(L,Pe),x(L,De),x(L,Fe),x(L,$e),x(L,Ze),x(L,tt),x(L,rt),x(L,st),x(L,_t),x(L,yt),x(L,ft);var Tt={},At={};W(At,"AnalyticsEventInput",(()=>wt));let wt=A.object({event_name:A.string().max(255),client_id:A.string().max(255).nullable(),payload:A.record(A.any()).optional()});var Et={};W(Et,"AccountIdFromPath",(()=>Mt)),W(Et,"AppIdFromPath",(()=>Ft)),W(Et,"Pagination",(()=>Gt));var Pt={};W(Pt,"UserId",(()=>jt)),W(Pt,"Email",(()=>Ot)),W(Pt,"PasswordlessCode",(()=>Ct)),W(Pt,"WalletAddress",(()=>Rt)),W(Pt,"normalizeEthereumAddress",(()=>Lt)),W(Pt,"SolanaWalletAddress",(()=>Nt)),W(Pt,"PhoneNumber",(()=>Dt)),W(Pt,"normalizePhoneNumber",(()=>xt)),W(Pt,"isValidAddress",(()=>Wt)),W(Pt,"AuthenticateMode",(()=>Ut));let jt=A.string({required_error:"Privy DID must be included",invalid_type_error:"Privy DID is not a valid string"}).min(1).transform((e=>e.replace("did:privy:",""))),Ot=A.string({required_error:"Email address must be provided",invalid_type_error:"Email address must be a valid string"}).email("Invalid email address").transform((e=>e.toLowerCase())),Ct=A.string({required_error:"Verification code must be provided",invalid_type_error:"Invalid verification code"}).length(6,"Verification code must have 6 digits."),Rt=A.string({required_error:"Ethereum address must be provided",invalid_type_error:"Invalid Ethereum address"}).transform(((e,t)=>Lt(e)||(t.addIssue({code:A.ZodIssueCode.custom,message:"Invalid Ethereum address"}),A.NEVER))),Nt=A.string({required_error:"Solana address must be provided",invalid_type_error:"Invalid Solana address"}).trim().transform(((e,t)=>{try{w.decode(e)}catch(e){return t.addIssue({code:A.ZodIssueCode.custom,message:"Invalid Solana address"}),A.NEVER}return e})),Dt=A.string({required_error:"Phone number must be included",invalid_type_error:"Phone number is not a valid string"}).refine((e=>{try{return void 0!==xt(e)}catch(e){return!1}}),{message:"Phone number is not valid"}).transform((e=>xt(e)||""));function xt(e){let t=P(e,"US");if(t?.isPossible())return t.formatInternational()}function Wt(e){return!!Lt(e)}function Lt(e){if("string"==typeof e)try{return E.utils.getAddress(e.trim())}catch(e){}}let Ut=A.object({mode:A.enum(["no-signup","login-or-sign-up"]).optional()}),Mt=A.object({account_id:A.string({required_error:"Account ID must be provided",invalid_type_error:"Account ID is not a valid string"}).min(1)}),Ft=A.object({app_id:A.string({required_error:"App ID must be provided",invalid_type_error:"App ID is not a valid string"}).min(1)}).transform((({app_id:e})=>({app_id:e,appId:e}))).catch((({error:e})=>{throw new R(e.message,O.MISSING_OR_INVALID_PRIVY_APP_ID)})),Gt=A.object({cursor:jt.optional(),limit:A.coerce.number().max(100,{message:"Query limit can be at maximum 100 records."}).optional()});var Vt={};W(Vt,"AppResponseSchema",(()=>Jt));var qt={};W(qt,"EmbeddedWalletConfigSchema",(()=>Kt)),W(qt,"TelegramAuthConfigSchema",(()=>$t)),W(qt,"FundingMethodEnum",(()=>Ht)),W(qt,"FundingMethodArraySchema",(()=>zt)),W(qt,"FundingConfigSchema",(()=>Yt));let Bt=T.object({chain:T.string(),asset:T.enum(["native-currency","USDC"]).optional()}),Kt=T.object({create_on_login:T.enum(["users-without-wallets","all-users","off"]),user_owned_recovery_options:T.array(T.enum(["user-passcode","google-drive","icloud"])),require_user_owned_recovery_on_create:T.boolean().optional(),require_user_password_on_create:T.boolean().optional()}),$t=T.object({bot_id:T.string(),bot_name:T.string(),link_enabled:T.boolean(),seamless_auth_enabled:T.boolean()}),Ht=T.enum(["moonpay","coinbase-onramp","external"]),zt=T.array(Ht),Yt=T.object({default_recommended_currency:Bt,default_recommended_amount:T.string(),methods:zt,prompt_funding_on_wallet_creation:T.boolean(),cross_chain_bridging_enabled:T.boolean()}),Jt=A.object({id:A.string(),name:A.string(),logo_url:A.string().nullable(),icon_url:A.string().nullable(),terms_and_conditions_url:A.string().nullable(),privacy_policy_url:A.string().nullable(),require_users_accept_terms:A.boolean().nullable(),theme:A.string(),accent_color:A.string().nullable(),show_wallet_login_first:A.boolean(),allowed_domains:A.array(A.string()),allowed_native_app_ids:A.array(A.string()),allowed_native_app_url_schemes:A.array(A.string()),wallet_auth:A.boolean(),email_auth:A.boolean(),sms_auth:A.boolean(),google_oauth:A.boolean(),twitter_oauth:A.boolean(),discord_oauth:A.boolean(),github_oauth:A.boolean(),spotify_oauth:A.boolean(),instagram_oauth:A.boolean(),tiktok_oauth:A.boolean(),linkedin_oauth:A.boolean(),apple_oauth:A.boolean(),farcaster_auth:A.boolean(),passkey_auth:A.boolean(),telegram_auth:A.boolean(),guest_auth:A.boolean(),solana_wallet_auth:A.boolean(),disable_plus_emails:A.boolean(),allowlist_enabled:A.boolean(),allowlist_config:A.object({error_title:A.string().nullable(),error_detail:A.string().nullable(),cta_text:A.string().nullable(),cta_link:A.string().nullable()}),wallet_connect_cloud_project_id:A.string().nullable(),custom_api_url:A.string().nullable(),embedded_wallet_config:Kt,enforce_wallet_uis:A.boolean(),legacy_wallet_ui_config:A.boolean(),fiat_on_ramp_enabled:A.boolean(),captcha_enabled:A.boolean(),twitter_oauth_on_mobile_enabled:A.boolean(),mfa_methods:A.array(A.enum(["sms","totp","passkey"])),captcha_site_key:A.string().optional(),verification_key:A.string(),telegram_auth_config:$t.optional(),funding_config:Yt.optional(),max_linked_wallets_per_user:A.number().nullable(),farcaster_link_wallets_enabled:A.boolean()});var Qt={};W(Qt,"CoinbaseOnRampInitInput",(()=>na)),W(Qt,"CoinbaseOnRampInitResponse",(()=>ra)),W(Qt,"CoinbaseOnRampStatusResponse",(()=>ia));let Xt=A.enum(["ethereum","bitcoin","base","avacchain","optimism","solana","polygon","arbitrum","stellar"]),Zt=A.enum(["eth","ETH","USDC"]).transform((e=>e.toUpperCase())),ea=A.enum(["SOL"]).transform((e=>e.toUpperCase())),ta=A.object({addresses:A.array(A.object({address:Rt,blockchains:A.array(Xt)})).max(1).min(1),assets:A.array(Zt).optional()}),aa=A.object({addresses:A.array(A.object({address:Nt,blockchains:A.array(Xt)})).max(1).min(1),assets:A.array(ea).optional()}),na=A.union([ta,aa]),ra=A.object({app_id:A.string(),session_token:A.string(),channel_id:A.string(),partner_user_id:A.string()}),ia=A.object({status:A.enum(["pending","success","failure"])});var oa={};W(oa,"CrossAppConnectionsResponse",(()=>sa));let sa=A.object({connections:A.array(A.object({provider_app_id:A.string(),provider_app_name:A.string(),provider_app_icon_url:A.string().url().nullable(),provider_app_custom_api_url:A.string().url().nullable(),read_only:A.boolean()}))});var la={};W(la,"AuthenticateJwtInput",(()=>ca));let ca=T.object({token:T.string().optional()});var pa={};W(pa,"VerifyEmailInput",(()=>ua)),W(pa,"AuthenticateEmailInput",(()=>_a)),W(pa,"InitEmailInput",(()=>ma)),W(pa,"UnlinkEmailInput",(()=>ga)),W(pa,"UpdateEmailInput",(()=>ba)),W(pa,"TransferEmailInput",(()=>ha));let da=A.object({nonce:A.string()}),ua=A.object({code:Ct,email:Ot}),_a=ua.merge(Ut),ma=A.object({email:Ot,token:A.string().optional()}),ga=A.object({address:Ot}),ba=A.object({oldAddress:Ot,newAddress:Ot,code:Ct}),ha=da.extend({email:Ot});var ya={};W(ya,"JsonWebKey",(()=>va)),W(ya,"JsonWebKeySet",(()=>fa));let va=A.object({kty:A.string(),use:A.enum(["sig","enc"]).optional(),key_ops:A.array(A.enum(["sign","verify","encrypt","decrypt","wrapKey","unwrapKey","deriveKey","deriveBits"])).optional(),alg:A.enum(["RS256"]),kid:A.string().optional(),x5u:A.string().optional(),x5c:A.array(A.string()).optional(),x5t:A.string().optional(),"x5t#S256":A.string().optional(),n:A.string().optional(),e:A.string().optional(),d:A.string().optional()}),fa=A.object({keys:A.array(va)});var Ia={};W(Ia,"FarcasterConnectInitResponse",(()=>Sa)),W(Ia,"FarcasterConnectStatusCompletedResponse",(()=>ka)),W(Ia,"FarcasterConnectStatusPendingResponse",(()=>Ta)),W(Ia,"FarcasterAuthenticateInput",(()=>Aa)),W(Ia,"FarcasterLinkInput",(()=>wa)),W(Ia,"FarcasterInitInput",(()=>Ea)),W(Ia,"FarcasterUnlinkInput",(()=>Pa)),W(Ia,"TransferFarcasterInput",(()=>ja));let Sa=A.object({channel_token:A.string(),connect_uri:A.string()}),ka=A.object({state:A.literal("completed"),nonce:A.string(),message:A.string(),signature:A.string(),fid:A.number(),username:A.string(),display_name:A.string(),bio:A.string(),pfp_url:A.string()}),Ta=A.object({state:A.literal("pending"),nonce:A.string()}),Aa=A.object({channel_token:A.string(),message:A.string(),signature:A.string(),fid:A.number()}).merge(Ut),wa=A.object({channel_token:A.string(),message:A.string(),signature:A.string(),fid:A.number()}),Ea=A.object({token:A.string().optional(),redirect_url:A.string().url().optional(),relying_party:A.string().optional()}),Pa=A.object({fid:A.number()}),ja=da.extend({farcaster_id:A.string(),farcaster_embedded_address:A.string()});var Oa={};W(Oa,"FarcasterSignerInitInput",(()=>Ca)),W(Oa,"FarcasterSignerInitResponse",(()=>Ra)),W(Oa,"FarcasterSignerStatusResponse",(()=>Na));let Ca=A.object({ed25519_public_key:A.string().refine((e=>e.startsWith("0x")&&66===e.length)),deadline:A.bigint().optional().default((()=>BigInt(Math.floor(Date.now()/1e3)+3600)))}),Ra=A.discriminatedUnion("status",[A.object({public_key:A.string(),status:A.literal("pending_approval"),signer_approval_url:A.string()}),A.object({public_key:A.string(),status:A.literal("approved"),fid:A.bigint()}),A.object({public_key:A.string(),status:A.literal("revoked"),fid:A.bigint()})]),Na=A.discriminatedUnion("status",[A.object({public_key:A.string(),status:A.literal("pending_approval")}),A.object({public_key:A.string(),status:A.literal("approved"),fid:A.bigint()}),A.object({public_key:A.string(),status:A.literal("revoked"),fid:A.bigint()})]);var Da={};W(Da,"AuthenticateGuestInput",(()=>xa));let xa=A.object({guest_credential:A.string().length(43)}).strict();var Wa={};W(Wa,"EmailIdTokenEntry",(()=>Gn)),W(Wa,"PhoneIdTokenEntry",(()=>Vn)),W(Wa,"EthereumIdTokenEntry",(()=>qn)),W(Wa,"SolanaIdTokenEntry",(()=>Bn)),W(Wa,"FarcasterIdTokenEntry",(()=>Kn)),W(Wa,"PasskeyIdTokenEntry",(()=>$n)),W(Wa,"TelegramIdTokenEntry",(()=>Hn)),W(Wa,"EthereumEmbeddedWalletIdTokenEntry",(()=>zn)),W(Wa,"SolanaEmbeddedWalletIdTokenEntry",(()=>Yn)),W(Wa,"GoogleOauthIdTokenEntry",(()=>Jn)),W(Wa,"TwitterOauthIdTokenEntry",(()=>Qn)),W(Wa,"DiscordOauthIdTokenEntry",(()=>Xn)),W(Wa,"GithubOauthIdTokenEntry",(()=>Zn)),W(Wa,"LinkedInOauthIdTokenEntry",(()=>er)),W(Wa,"SpotifyOauthIdTokenEntry",(()=>tr)),W(Wa,"InstagramOauthIdTokenEntry",(()=>ar)),W(Wa,"TiktokOauthIdTokenEntry",(()=>nr)),W(Wa,"AppleOauthIdTokenEntry",(()=>rr)),W(Wa,"CustomJwtIdTokenEntry",(()=>ir)),W(Wa,"CrossAppIdTokenEntry",(()=>or)),W(Wa,"SmartWalletIdTokenEntry",(()=>sr));var La={};W(La,"EmailAccount",(()=>Za)),W(La,"PhoneAccount",(()=>en)),W(La,"BaseWalletAccount",(()=>tn)),W(La,"EthereumAccount",(()=>an)),W(La,"SmartWalletAccount",(()=>nn)),W(La,"SolanaAccount",(()=>rn)),W(La,"FarcasterAccount",(()=>on)),W(La,"PasskeyAccount",(()=>sn)),W(La,"TelegramAccount",(()=>ln)),W(La,"EthereumEmbeddedWalletAccount",(()=>dn)),W(La,"SolanaEmbeddedWalletAccount",(()=>un)),W(La,"BitcoinSegwitEmbeddedWalletAccount",(()=>_n)),W(La,"BitcoinTaprootEmbeddedWalletAccount",(()=>mn)),W(La,"GoogleOauthAccount",(()=>gn)),W(La,"TwitterOauthAccount",(()=>bn)),W(La,"DiscordOauthAccount",(()=>hn)),W(La,"GithubOauthAccount",(()=>yn)),W(La,"LinkedInOauthAccount",(()=>vn)),W(La,"SpotifyOauthAccount",(()=>fn)),W(La,"InstagramOauthAccount",(()=>In)),W(La,"TiktokOauthAccount",(()=>Sn)),W(La,"AppleOauthAccount",(()=>kn)),W(La,"CustomJwtAccount",(()=>Tn)),W(La,"CrossAppEmbeddedWallet",(()=>An)),W(La,"CrossAppSmartWallet",(()=>wn)),W(La,"CrossAppAccount",(()=>En)),W(La,"LinkedAccount",(()=>Pn)),W(La,"SmsMfaMethod",(()=>jn)),W(La,"TotpMfaMethod",(()=>On)),W(La,"PasskeyMfaMethod",(()=>Cn)),W(La,"LinkedMfaMethod",(()=>Rn)),W(La,"CustomMetadata",(()=>Nn)),W(La,"OAuthTokens",(()=>Dn)),W(La,"User",(()=>xn)),W(La,"SessionUpdateActionEnum",(()=>Wn)),W(La,"AuthenticatedUser",(()=>Ln)),W(La,"LoggedOutUser",(()=>Un)),W(La,"MaybeUser",(()=>Mn));var Ua={};W(Ua,"SmartWalletProvider",(()=>Ka)),W(Ua,"AlchemyPaymasterContextSchema",(()=>Ha)),W(Ua,"SmartWalletNetworkConfigurationInputSchema",(()=>Ya)),W(Ua,"SmartWalletConfigurationSchema",(()=>Ja)),W(Ua,"SmartWalletConfigurationInputSchema",(()=>Qa)),W(Ua,"SmartWalletConfigurationResponseSchema",(()=>Xa)),W(Ua,"SAFE",(()=>Ma)),W(Ua,"KERNEL",(()=>Fa)),W(Ua,"LIGHT_ACCOUNT",(()=>Va)),W(Ua,"BICONOMY",(()=>Ga)),W(Ua,"COINBASE_SMART_WALLET",(()=>qa)),W(Ua,"SUPPORTED_SMART_WALLET_TYPES",(()=>Ba));let Ma="safe",Fa="kernel",Ga="biconomy",Va="light_account",qa="coinbase_smart_wallet",Ba=[Ma,Fa,Ga,Va,qa],Ka=A.enum(Ba,{invalid_type_error:"Please specify a supported provider.",required_error:"Please specify a supported provider."}),$a=A.string().regex(/^eip155:\d+$/,"Chain ID must be an eip155 chain ID"),Ha=A.object({policy_id:A.string().uuid()}),za=A.object({chain_id:$a,bundler_url:A.string(),paymaster_url:A.string().optional(),rpc_url:A.string().optional(),chain_name:A.string().optional(),paymaster_context:Ha.optional()}),Ya=A.object({chain_id:$a,bundler_url:A.string().optional(),paymaster_url:A.string().optional(),rpc_url:A.string().optional(),chain_name:A.string().optional(),paymaster_context:Ha.optional()}),Ja=A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!1)}),A.object({enabled:A.literal(!0),smart_wallet_type:Ka,configured_networks:A.array(za).min(1)})]),Qa=A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!1)}),A.object({enabled:A.literal(!0),smart_wallet_type:Ka,configured_networks:A.array(Ya).min(1)})]),Xa=Ja,Za=A.object({type:A.literal("email"),address:A.string(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),en=A.object({type:A.literal("phone"),phoneNumber:A.string(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),tn=A.object({type:A.enum(["wallet","smart_wallet"]),address:A.string(),chain_type:A.enum(["solana","ethereum"])}),an=A.object({type:A.literal("wallet"),address:A.string(),chain_id:A.string().optional(),chain_type:A.literal("ethereum"),wallet_client:A.literal("unknown"),wallet_client_type:A.string().optional(),connector_type:A.string().optional(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),nn=A.object({type:A.literal("smart_wallet"),address:A.string(),smart_wallet_type:Ka,verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),rn=A.object({type:A.literal("wallet"),address:A.string(),chain_type:A.literal("solana"),wallet_client:A.literal("unknown"),wallet_client_type:A.string().optional(),connector_type:A.string().optional(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),on=A.object({type:A.literal("farcaster"),fid:A.number(),owner_address:Rt,username:A.string().optional(),display_name:A.string().optional(),bio:A.string().optional(),profile_picture:A.string().optional(),profile_picture_url:A.string().optional(),homepage_url:A.string().optional(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable(),signer_public_key:A.string().optional()}),sn=A.object({type:A.literal("passkey"),created_with_browser:A.string().optional(),created_with_os:A.string().optional(),created_with_device:A.string().optional(),credential_id:A.string(),authenticator_name:A.string().optional(),enrolled_in_mfa:A.boolean(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),ln=A.object({type:A.literal("telegram"),telegram_user_id:A.string(),first_name:A.string().nullish(),last_name:A.string().nullish(),username:A.string().nullish(),photo_url:A.string().nullish(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}).transform((e=>({...e,telegramUserId:e.telegram_user_id,firstName:e.first_name}))),cn=A.enum(["privy","user-passcode","google-drive","icloud"]),pn=A.object({type:A.literal("wallet"),address:A.string(),imported:A.boolean().default(!1),delegated:A.boolean().default(!1),wallet_index:A.number(),chain_id:A.string(),chain_type:A.string(),wallet_client:A.literal("privy"),wallet_client_type:A.literal("privy"),connector_type:A.literal("embedded"),recovery_method:cn,verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),dn=pn.merge(A.object({chain_type:A.literal("ethereum")})),un=pn.merge(A.object({chain_type:A.literal("solana"),public_key:A.string()})),_n=pn.merge(A.object({chain_type:A.literal("bitcoin-segwit"),public_key:A.string()})),mn=pn.merge(A.object({chain_type:A.literal("bitcoin-taproot"),public_key:A.string()})),gn=A.object({type:A.literal("google_oauth"),subject:A.string(),email:A.string(),name:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),bn=A.object({type:A.literal("twitter_oauth"),subject:A.string(),username:A.string().nullable(),name:A.string().nullable(),profile_picture_url:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),hn=A.object({type:A.literal("discord_oauth"),subject:A.string(),username:A.string().nullable(),email:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),yn=A.object({type:A.literal("github_oauth"),subject:A.string(),username:A.string().nullable(),name:A.string().nullable(),email:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),vn=A.object({type:A.literal("linkedin_oauth"),subject:A.string(),name:A.string().optional(),email:A.string().nullable(),vanity_name:A.string().optional(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),fn=A.object({type:A.literal("spotify_oauth"),subject:A.string(),email:A.string().nullable(),name:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),In=A.object({type:A.literal("instagram_oauth"),subject:A.string(),username:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),Sn=A.object({type:A.literal("tiktok_oauth"),subject:A.string(),username:A.string().nullable(),name:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),kn=A.object({type:A.literal("apple_oauth"),subject:A.string(),email:A.string().nullable(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),Tn=A.object({type:A.literal("custom_auth"),custom_user_id:A.string(),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),An=A.object({address:A.string()}),wn=A.object({address:A.string()}),En=A.object({type:A.literal("cross_app"),subject:A.string(),provider_app_id:A.string(),embedded_wallets:A.array(An),smart_wallets:A.array(wn),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),Pn=A.union([Za,en,an,rn,nn,dn,un,_n,mn,gn,bn,hn,yn,fn,In,Sn,vn,kn,Tn,on,sn,ln,En]),jn=A.object({type:A.literal("sms"),verified_at:A.number()}),On=A.object({type:A.literal("totp"),verified_at:A.number()}),Cn=A.object({type:A.literal("passkey"),verified_at:A.number()}),Rn=A.union([jn,On,Cn]),Nn=A.record(A.string(),A.union([A.string(),A.number(),A.boolean()])),Dn=A.object({provider:A.string(),access_token:A.string(),access_token_expires_in_seconds:A.number().optional(),refresh_token:A.string().optional(),refresh_token_expires_in_seconds:A.number().optional(),scopes:A.array(A.string()).optional()}),xn=A.object({id:A.string(),linked_accounts:A.array(Pn),mfa_methods:A.array(Rn),created_at:A.number(),has_accepted_terms:A.boolean(),is_guest:A.boolean(),custom_metadata:Nn.optional()}),Wn=A.enum(["set","ignore","clear"]),Ln=A.object({user:xn,token:A.string().min(1).nullable(),privy_access_token:A.string().min(1).nullable(),refresh_token:A.string().min(1).nullable(),identity_token:A.string().min(1).optional(),is_new_user:A.boolean().optional(),oauth_tokens:Dn.optional(),oauth_provider_tokens:A.object({provider:A.string(),access_token:A.string(),access_token_expires_in_seconds:A.number().optional(),refresh_token:A.string().optional(),scopes:A.array(A.string()).optional()}).optional(),session_update_action:Wn}),Un=A.object({user:A.null(),token:A.null(),refresh_token:A.null(),session_update_action:A.literal(Wn.Values.clear)}),Mn=A.union([Ln,Un]),Fn={lv:A.number().nullable()},Gn=Za.pick({type:!0,address:!0}).extend(Fn),Vn=en.pick({type:!0,phoneNumber:!0}).extend(Fn).transform((({phoneNumber:e,...t})=>({phone_number:e,...t}))),qn=an.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(Fn),Bn=rn.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(Fn),Kn=on.pick({type:!0,fid:!0,username:!0,owner_address:!0}).extend(Fn).transform((({owner_address:e,...t})=>({oa:e,...t}))),$n=sn.pick({type:!0,credential_id:!0}).extend(Fn),Hn=A.object({type:A.literal("telegram"),telegram_user_id:A.string(),username:A.string().nullish(),lv:A.number().nullable()}),zn=dn.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(Fn),Yn=un.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(Fn),Jn=gn.pick({type:!0,subject:!0,email:!0}).extend(Fn),Qn=bn.pick({type:!0,subject:!0,username:!0}).extend(Fn),Xn=hn.pick({type:!0,subject:!0,username:!0}).extend(Fn),Zn=yn.pick({type:!0,subject:!0,username:!0}).extend(Fn),er=vn.pick({type:!0,subject:!0,email:!0}).extend(Fn),tr=fn.pick({type:!0,subject:!0,email:!0}).extend(Fn),ar=In.pick({type:!0,subject:!0,username:!0}).extend(Fn),nr=Sn.pick({type:!0,subject:!0,username:!0}).extend(Fn),rr=kn.pick({type:!0,subject:!0,email:!0}).extend(Fn),ir=Tn.pick({type:!0,custom_user_id:!0}).extend(Fn),or=En.pick({type:!0,subject:!0,provider_app_id:!0,embedded_wallets:!0,smart_wallets:!0}).extend(Fn),sr=nn.pick({type:!0,smart_wallet_type:!0,address:!0}).extend(Fn);var lr={};W(lr,"MfaVerifyResponse",(()=>cr)),W(lr,"MfaSmsInitInput",(()=>ur)),W(lr,"MfaSmsAuthenticateEnrollInput",(()=>_r)),W(lr,"MfaSmsEnrollInput",(()=>mr)),W(lr,"MfaSmsVerifyInput",(()=>gr)),W(lr,"MfaTotpInput",(()=>br)),W(lr,"ResponseTotpInitMfa",(()=>hr));let cr=T.object({token:T.string()}).strict(),pr=T.object({action:T.literal("verify")}).strict(),dr=T.object({action:T.literal("enroll"),phoneNumber:Dt}).strict(),ur=T.union([pr,dr]),_r=T.object({action:T.literal("enroll").optional(),code:Ct,phoneNumber:Dt}).strict(),mr=T.object({code:Ct,phoneNumber:Dt}).strict(),gr=T.object({code:Ct}).strict(),br=T.object({code:Ct}).strict(),hr=T.object({totpSecret:T.string(),totpAuthUrl:T.string()}).strict();var yr={};W(yr,"MfaPasskeyInitInput",(()=>Or)),W(yr,"ResponsePasskeyInitMfa",(()=>Cr)),W(yr,"MfaPasskeyVerifyInput",(()=>Rr)),W(yr,"MfaEnrollmentPasskeyInput",(()=>Nr));var vr={};W(vr,"PasskeyAuthenticatorVerifyOptions",(()=>fr)),W(vr,"PasskeyAuthenticatorEnrollmentOptions",(()=>Ir)),W(vr,"PasskeyAuthenticatorVerifyResponse",(()=>Sr)),W(vr,"PasskeyAuthenticatorEnrollmentResponse",(()=>kr)),W(vr,"PasskeyInitInput",(()=>Tr)),W(vr,"ResponsePasskeyInitAuthenticate",(()=>Ar)),W(vr,"ResponsePasskeyInitLink",(()=>wr)),W(vr,"PasskeyLinkInput",(()=>Er)),W(vr,"PasskeyAuthenticateInput",(()=>Pr)),W(vr,"UnlinkPasskeyInput",(()=>jr));let fr=T.object({challenge:T.string(),timeout:T.number().optional(),rp_id:T.string().optional(),allow_credentials:T.array(T.object({id:T.string(),type:T.string(),transports:T.array(T.string()).optional()})).optional(),user_verification:T.string().optional(),extensions:T.object({app_id:T.string().optional(),cred_props:T.boolean().optional(),hmac_create_secret:T.boolean().optional()}).optional()}),Ir=T.object({rp:T.object({name:T.string(),id:T.string().optional()}),user:T.object({id:T.string(),name:T.string(),display_name:T.string()}),challenge:T.string(),pub_key_cred_params:T.array(T.object({alg:T.number(),type:T.literal("public-key")})),timeout:T.number().optional(),exclude_credentials:T.array(T.object({id:T.string(),type:T.string(),transports:T.array(T.string()).optional()})).optional(),authenticator_selection:T.object({authenticator_attachment:T.string().optional(),require_resident_key:T.boolean().optional(),resident_key:T.string().optional(),user_verification:T.string().optional()}).optional(),attestation:T.string().optional(),extensions:T.object({app_id:T.string().optional(),cred_props:T.object({rk:T.boolean().optional()}).optional(),hmac_create_secret:T.boolean().optional()}).optional()}),Sr=T.object({id:T.string(),raw_id:T.string(),response:T.object({client_data_json:T.string(),authenticator_data:T.string(),signature:T.string(),user_handle:T.string().optional()}),authenticator_attachment:T.string().optional(),client_extension_results:T.object({app_id:T.boolean().optional(),cred_props:T.object({rk:T.boolean().optional()}).optional(),hmac_create_secret:T.boolean().optional()}),type:T.literal("public-key")}),kr=T.object({id:T.string(),raw_id:T.string(),response:T.object({client_data_json:T.string(),attestation_object:T.string(),authenticator_data:T.string().optional(),transports:T.array(T.any()).optional(),public_key_algorithm:T.number().optional(),public_key:T.string().optional()}),authenticator_attachment:T.string().optional(),client_extension_results:T.object({app_id:T.boolean().optional(),cred_props:T.object({rk:T.boolean().optional()}).optional(),hmac_create_secret:T.boolean().optional()}),type:T.literal("public-key")}),Tr=T.object({relying_party:T.string().url().optional(),token:T.string().optional()}).strict(),Ar=T.object({relying_party:T.string().url().optional(),options:fr}).strict(),wr=T.object({relying_party:T.string().url().optional(),options:Ir}).strict(),Er=T.object({relying_party:T.string().url().optional(),authenticator_response:kr}).strict(),Pr=T.object({relying_party:T.string().url().optional(),challenge:T.string(),authenticator_response:Sr}).strict(),jr=T.object({credential_id:T.string()}),Or=T.object({relying_party:T.string().url().optional()}).strict(),Cr=T.object({options:fr}).strict(),Rr=T.object({authenticator_response:Sr,relying_party:T.string().url().optional()}).strict(),Nr=T.object({credential_ids:T.array(T.string())});var Dr={};W(Dr,"ExternalOAuthProvider",(()=>Wr)),W(Dr,"OAuthProvider",(()=>Lr)),W(Dr,"AuthenticateOauthInput",(()=>Ur)),W(Dr,"OAuthInitInput",(()=>Mr)),W(Dr,"LinkOAuthInput",(()=>Fr)),W(Dr,"OAuthUnlinkInput",(()=>Gr)),W(Dr,"OAuthInitResponse",(()=>Vr)),W(Dr,"OAuthLinkResponse",(()=>qr)),W(Dr,"TransferOAuthInput",(()=>Br)),W(Dr,"SUPPORTED_OAUTH_PROVIDERS",(()=>xr));let xr=["google","discord","twitter","github","spotify","instagram","tiktok","linkedin","apple"],Wr=A.enum(xr,{invalid_type_error:"Please specify a supported provider.",required_error:"Please specify a supported provider."}),Lr=Wr.or(A.custom((e=>"string"==typeof e&&/^privy:[a-z0-9]{25}$/i.test(e)),{message:"Please specify a supported provider."})),Ur=A.object({authorization_code:A.string(),state_code:A.string(),code_verifier:A.string().min(43).max(128).optional(),code_type:A.enum(["raw"]).optional()}).merge(Ut).catch((()=>{throw new N("Please specify authorization_code and state_code.",O.INVALID_CREDENTIALS)})),Mr=A.object({redirect_to:A.string({required_error:"Please provide a redirect_to value."}),provider:Lr,token:A.string().optional(),state_code:A.string().optional(),code_challenge:A.string().optional()}),Fr=A.object({authorization_code:A.string(),state_code:A.string(),code_verifier:A.string().min(43).max(128).optional(),code_type:A.enum(["raw"]).optional()}),Gr=A.object({subject:A.string(),provider:Lr}),Vr=A.object({url:A.string()}),qr=xn.extend({oauth_tokens:Dn.optional()}),Br=da.extend({userInfo:A.object({subject:A.string(),name:A.string().optional(),username:A.string().optional(),profilePictureUrl:A.string().optional(),email:A.string().optional(),vanityName:A.string().optional()})});var Kr={};W(Kr,"AuthorizationCodeInput",(()=>$r));let $r=A.object({redirect_to:A.string(),state:A.string(),code_challenge:A.string()});var Hr={};W(Hr,"EmptyObject",(()=>zr)),W(Hr,"SuccessObject",(()=>Yr));let zr=A.record(A.string(),A.never()),Yr=A.object({success:A.boolean()});var Jr={};W(Jr,"RecoveryKeyMaterialInput",(()=>Qr)),W(Jr,"RecoveryKeyMaterialResponse",(()=>Xr)),W(Jr,"OAuthAuthenticateRecoveryResponse",(()=>Zr)),W(Jr,"OAuthInitRecoveryInput",(()=>ei)),W(Jr,"OAuthInitICloudRecoveryInput",(()=>ti)),W(Jr,"OAuthCallbackICloudExpoInput",(()=>ai)),W(Jr,"OAuthCallbackICloudExpoResponse",(()=>ni)),W(Jr,"RecoveryConfigurationICloudInput",(()=>ri)),W(Jr,"RecoveryConfigurationICloudResponse",(()=>ii));let Qr=A.object({chain_type:A.string().optional()}),Xr=A.object({recovery_type:A.enum(["user_passcode_derived_recovery_key","privy_passcode_derived_recovery_key","privy_generated_recovery_key","google_drive_recovery_secret","icloud_recovery_secret"]),recovery_key_derivation_salt:A.string(),recovery_code:A.string(),recovery_key:A.string(),file_id:A.string(),icloud_record_name:A.string()}),Zr=A.object({access_token:A.string()}),ei=A.object({redirect_to:A.string({required_error:"Please provide a redirect_to value."}),token:A.string().optional(),state_code:A.string().optional(),code_challenge:A.string().optional()}),ti=A.object({client_type:A.enum(["web","expo-ios"])}),ai=A.object({ckWebAuthToken:A.string()}).transform((e=>({ckWebAuthToken:e.ckWebAuthToken}))).catch((()=>{throw new N("Missing ckWebAuthToken.",O.INVALID_DATA)})),ni=zr,ri=A.object({client_type:A.enum(["web","expo-ios"])}),ii=A.object({api_token:A.string(),container_identifier:A.string(),environment:A.string()});var oi={};W(oi,"SiweInput",(()=>si)),W(oi,"SmartWalletSiweInput",(()=>li)),W(oi,"AuthenticateSiweInput",(()=>ci)),W(oi,"SiweAddressInput",(()=>pi)),W(oi,"SiweInitInput",(()=>di)),W(oi,"SiweNonce",(()=>ui)),W(oi,"TransferSiweInput",(()=>_i));let si=A.object({message:A.string({invalid_type_error:"Invalid SIWE message"}),signature:A.string({invalid_type_error:"Invalid SIWE signature"}),chainId:A.string().max(41).nullable().default(null),walletClientType:A.string().max(64).nullable().default(null),connectorType:A.string().max(64).nullable().default(null)}),li=A.object({message:A.string({invalid_type_error:"Invalid SIWE message"}),signature:A.string({invalid_type_error:"Invalid SIWE signature"}),smart_wallet_type:Ka}),ci=si.merge(Ut),pi=A.object({address:Rt}),di=A.object({address:Rt,token:A.string().optional()}),ui=A.object({nonce:A.string(),address:A.string(),expires_at:A.string()}),_i=da.extend({address:Rt,chainId:A.string().max(41).nullable().default(null),walletClientType:A.string().max(64).nullable().default(null),connectorType:A.string().max(64).nullable().default(null)});var mi={};W(mi,"SiwsInput",(()=>gi)),W(mi,"AuthenticateSiwsInput",(()=>bi)),W(mi,"SiwsAddressInput",(()=>hi)),W(mi,"SiwsInitInput",(()=>yi)),W(mi,"SiwsNonce",(()=>vi));let gi=A.object({message:A.string({invalid_type_error:"Invalid SIWS message"}),signature:A.string({invalid_type_error:"Invalid SIWS signature"}),walletClientType:A.string().max(64).nullable().default(null),connectorType:A.string().max(64).nullable().default(null)}),bi=gi.merge(Ut),hi=A.object({address:Nt}),yi=A.object({address:Nt,token:A.string().optional()}),vi=A.object({nonce:A.string(),address:A.string(),expires_at:A.string()});var fi={};W(fi,"VerifyPhoneInput",(()=>Ii)),W(fi,"AuthenticatePhoneInput",(()=>Si)),W(fi,"PasswordlessSmsPhoneInput",(()=>ki)),W(fi,"UnlinkPhoneInput",(()=>Ti)),W(fi,"UpdatePhoneInput",(()=>Ai)),W(fi,"TransferPhoneInput",(()=>wi));let Ii=A.object({code:Ct.catch((()=>{throw new D("Invalid SMS verification code",O.INVALID_CREDENTIALS)})),phoneNumber:Dt.catch((()=>{throw new D("Invalid phone number",O.INVALID_CREDENTIALS)}))}),Si=Ii.merge(Ut),ki=A.object({phoneNumber:Dt.catch((()=>{throw new D("Invalid phone number",O.INVALID_DATA)})),token:A.string().optional()}),Ti=A.object({phoneNumber:Dt}),Ai=A.object({old_phone_number:Dt,new_phone_number:Dt,code:Ct}),wi=da.extend({phoneNumber:Dt});var Ei={};W(Ei,"TelegramAuthenticateInput",(()=>ji)),W(Ei,"TelegramLinkInput",(()=>Oi)),W(Ei,"TelegramUnlinkInput",(()=>Ci)),W(Ei,"TransferTelegramInput",(()=>Ri));let Pi=T.object({id:T.number(),first_name:T.string(),auth_date:T.number(),hash:T.string(),username:T.string().optional(),last_name:T.string().optional(),photo_url:T.string().optional()}),ji=T.object({captcha_token:T.string().optional(),telegram_auth_result:Pi.optional(),telegram_web_app_data:T.object({query_id:T.string().optional(),auth_date:T.number(),hash:T.string(),user:T.string(),chat_instance:T.string().optional(),chat_type:T.string().optional(),start_param:T.string().optional()}).optional()}).merge(Ut),Oi=ji.omit({telegram_web_app_data:!0}).required({telegram_auth_result:!0}),Ci=T.object({telegram_user_id:T.string()}),Ri=da.extend({telegram_auth_result:Pi});var Ni={};W(Ni,"RefreshTokenInput",(()=>Di)),W(Ni,"OptionalRefreshTokenInput",(()=>xi)),W(Ni,"ForkedToken",(()=>Wi));let Di=A.object({refresh_token:A.string()}),xi=Di.partial(),Wi=A.object({token:A.string(),refresh_token:A.string(),new_session_refresh_token:A.string()});var Li={};W(Li,"DelegatedActionsConsentInput",(()=>Ui));let Ui=A.object({encrypted_tee_share:A.string(),app_share:A.string(),delegated_addresses:A.array(A.object({chain_type:A.union([A.literal("solana"),A.literal("ethereum")]),address:A.string(),wallet_index:A.number().default(0)}))});var Mi={};W(Mi,"WalletApiSolanaSignTransactionRpcInput",(()=>Vi)),W(Mi,"WalletApiSolanaSignMessageRpcInput",(()=>qi)),W(Mi,"UnsignedEthereumTransaction",(()=>$i)),W(Mi,"WalletApiEthereumSignTransactionRpcInput",(()=>Hi)),W(Mi,"WalletApiEthereumPersonalSignRpcInputParams",(()=>zi)),W(Mi,"WalletApiEthereumPersonalSignRpcInput",(()=>Yi)),W(Mi,"WalletApiEthereumSignTypedDataRpcInput",(()=>Ji)),W(Mi,"WalletApiRpcInput",(()=>Qi)),W(Mi,"WalletApiSolanaSignTransactionRpcResponse",(()=>Xi)),W(Mi,"WalletApiSolanaSignMessageRpcResponse",(()=>Zi)),W(Mi,"WalletApiEthereumSignTransactionRpcResponse",(()=>eo)),W(Mi,"WalletApiEthereumPersonalSignRpcResponse",(()=>to)),W(Mi,"WalletApiEthereumSignTypedDataRpcResponse",(()=>ao)),W(Mi,"WalletApiRpcResponse",(()=>no)),W(Mi,"WalletApiRegisterAuthorizationKeyInput",(()=>ro));let Fi=A.object({address:A.string(),chain_type:A.literal("solana")}),Gi=A.object({address:A.string(),chain_type:A.literal("ethereum")}),Vi=A.object({method:A.literal("signTransaction"),params:A.object({transaction:A.string(),encoding:A.literal("base64")})}).merge(Fi),qi=A.object({method:A.literal("signMessage"),params:A.object({message:A.string(),encoding:A.literal("base64")})}).merge(Fi),Bi=A.string().startsWith("0x"),Ki=A.union([Bi,A.number()]),$i=A.object({from:Rt.optional(),to:Rt.optional(),nonce:Ki.optional(),chain_id:A.number().optional(),data:Bi.optional(),value:Ki.optional(),type:A.union([A.literal(0),A.literal(1),A.literal(2)]).optional(),gas_limit:Ki.optional(),gas_price:Ki.optional(),max_fee_per_gas:Ki.optional(),max_priority_fee_per_gas:Ki.optional()}),Hi=A.object({method:A.literal("eth_signTransaction"),params:A.object({transaction:$i})}).merge(Gi),zi=A.object({message:A.string(),encoding:A.union([A.literal("utf-8"),A.literal("hex")])}),Yi=A.object({method:A.literal("personal_sign"),params:zi}).merge(Gi),Ji=A.object({method:A.literal("eth_signTypedData_v4"),params:A.object({typed_data:A.object({domain:A.record(A.string(),A.any()),types:A.record(A.string(),A.any()),message:A.record(A.string(),A.any()),primary_type:A.string()})})}).merge(Gi),Qi=A.discriminatedUnion("method",[Vi,qi,Hi,Yi,Ji]),Xi=A.object({method:A.literal("signTransaction"),data:A.object({signed_transaction:A.string(),encoding:A.literal("base64")})}),Zi=A.object({method:A.literal("signMessage"),data:A.object({signature:A.string(),encoding:A.literal("base64")})}),eo=A.object({method:A.literal("eth_signTransaction"),data:A.object({signed_transaction:A.string(),encoding:A.literal("rlp")})}),to=A.object({method:A.literal("personal_sign"),data:A.object({signature:A.string(),encoding:A.literal("hex")})}),ao=A.object({method:A.literal("eth_signTypedData_v4"),data:A.object({signature:A.string(),encoding:A.literal("hex")})}),no=A.discriminatedUnion("method",[Xi,Zi,eo,to,ao]),ro=A.object({public_key:A.string()});x(Tt,At),x(Tt,Et),x(Tt,Vt),x(Tt,qt),x(Tt,Qt),x(Tt,Pt),x(Tt,oa),x(Tt,la),x(Tt,pa),x(Tt,ya),x(Tt,Ia),x(Tt,Oa),x(Tt,Da),x(Tt,Wa),x(Tt,lr),x(Tt,yr),x(Tt,Dr),x(Tt,Kr),x(Tt,Hr),x(Tt,vr),x(Tt,Jr),x(Tt,oi),x(Tt,mi),x(Tt,fi),x(Tt,Ua),x(Tt,Ei),x(Tt,Ni),x(Tt,La),x(Tt,Li),x(Tt,Mi);let io={address:S,version:"0.6"},oo={address:k,version:"0.7"},so=({owner:e,smartWalletType:t,publicClient:a})=>{switch(t){case Ma:return v({client:a,entryPoint:oo,owners:[e],version:"1.4.1"});case Fa:return y({client:a,version:"0.3.1",entryPoint:oo,owners:[e]});case Ga:return h({client:a,owners:[e],entryPoint:io});case Va:return b({client:a,entryPoint:io,owner:e,version:"1.1.0"});case qa:return async function({client:e,owner:t}){let[a]=await t.request({method:"eth_accounts"});if(!a)throw Error("Unable to request embedded owner for eth_accounts");return await I({client:e,owners:[{type:"local",source:"privy",address:a,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}]})}({client:a,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}},lo=["rpc.zerodev.app","public.pimlico.io","api.pimlico.io"];const co=({calls:e,chain:t,maxPriorityFeePerGas:a,maxFeePerGas:n,nonce:r})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:r,maxFeePerGas:n,maxPriorityFeePerGas:a}))),po=async({chain:e,paymasterContext:t,embeddedWallet:a,user:o,smartWalletsConfig:s,rpcConfig:l,privyAppId:p})=>{if(!s?.enabled||!o||!a)return;let d=await a.getEthereumProvider(),u=s?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!u)throw new i(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let _=o.smartWallet?.smartWalletType??s.smartWalletType,m=c(e,l,p),b=r({chain:e,transport:n(m)}),h=t??u.paymasterContext,y=await(async({owner:e,smartWalletType:t,chain:a,publicClient:r,bundlerUrl:i,paymasterUrl:o,paymasterContext:s})=>{let l=await so({owner:e,smartWalletType:t,publicClient:r}),c=f({transport:n(i),entryPoint:l.entryPoint}),p=o?f({transport:n(o),entryPoint:l.entryPoint}):void 0;return g({account:l,chain:a,paymaster:p,paymasterContext:s,bundlerTransport:n(i),userOperation:{estimateFeesPerGas:async()=>{if(lo.some((e=>i.includes(e))))return await c.getUserOperationGasPrice().then((e=>e.fast));{let e=await r.estimateFeesPerGas();return{...e,maxFeePerGas:150n*e.maxFeePerGas/100n,maxPriorityFeePerGas:150n*e.maxPriorityFeePerGas/100n}}}}})})({owner:d,smartWalletType:_,chain:e,publicClient:b,paymasterContext:h,...u});if(!y)throw new i(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return y},uo=({clientConfig:n,smartWalletsConfig:r})=>{let{noPromptOnSignature:c,openPrivyModal:g,appId:b}=o(),h=p(),{setModalData:y}=u(),{user:v}=s(),{chains:f}=p(),{chainId:I,clients:S,setChainId:k,chainIdState:T}=(()=>{let a=e(),[n,r]=t();return{clients:e({}),setChainId:e=>{a.current=e,r(e)},chainId:a,chainIdState:n}})(),A=f.find((e=>e.id===T)),{wallets:w}=d(),E=a((async()=>I.current),[I]),P=a((async({id:e})=>{if(!S.current[e]){let t=_(w),a=await po({chain:f.find((t=>t.id===e)),embeddedWallet:t,user:v,paymasterContext:n?.paymasterContext,smartWalletsConfig:r,rpcConfig:h.rpcConfig,privyAppId:b});a&&(S.current[e]=a)}k(e)}),[f,n,w,v,r]);return{wrapSmartAccountClient:e=>{S.current[e.chain.id]=e,T||k(e.chain.id);return{...e,sendTransaction:async e=>{let t=void 0===h.embeddedWallets.showWalletUIs?h.embeddedWallets.noPromptOnSignature:!h.embeddedWallets.showWalletUIs,a=S.current[I.current];if(!a)throw new i(`Smart wallet client for chain (eip155:${I.current}) not found`);if(t)return c.current=!0,await a.sendTransaction(e).finally((()=>c.current=!1));let n=[];"calls"in e&&void 0!==e.calls?n=[...e.calls]:"to"in e&&(n=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let r=async()=>{if(!a.paymaster)return!1;let{paymasterAndData:t,paymasterData:r}=await a.prepareUserOperation({calls:n,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return Number(t??r??0)>0};return new Promise((async(t,i)=>{c.current=!0;let{entropyId:o,entropyIdVerifier:s}=l(v);y({connectWallet:{entropyId:o,entropyIdVerifier:s,onCompleteNavigateTo:m.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:co({calls:n,chain:a.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:o,entropyIdVerifier:s,transactingWallet:{address:a.account.address,walletIndex:null},getIsSponsored:r,onConfirm:()=>a.sendTransaction(e),onSuccess:e=>t(e.hash),onFailure:i,uiOptions:{}}}),g(m.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{c.current=!1}))},signMessage:async({message:e})=>{let t=void 0===h.embeddedWallets.showWalletUIs?h.embeddedWallets.noPromptOnSignature:!h.embeddedWallets.showWalletUIs,a=S.current[I.current];if(!a)throw new i(`Smart wallet client for chain (eip155:${I.current}) not found`);return t?(c.current=!0,await a.signMessage({message:e}).finally((()=>c.current=!1))):new Promise((async(t,n)=>{let{entropyId:r,entropyIdVerifier:i}=l(v);c.current=!0,y({connectWallet:{entropyId:r,entropyIdVerifier:i,onCompleteNavigateTo:m.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>a.signMessage({message:e}),onSuccess:e=>t(e),onFailure:n,uiOptions:{}}}),g(m.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{c.current=!1}))},signTypedData:async e=>{let t=void 0===h.embeddedWallets.showWalletUIs?h.embeddedWallets.noPromptOnSignature:!h.embeddedWallets.showWalletUIs,a=S.current[I.current];if(!a)throw new i(`Smart wallet client for chain (eip155:${I.current}) not found`);return t?(c.current=!0,await a.signTypedData(e).finally((()=>c.current=!1))):new Promise((async(t,n)=>{c.current=!0;let{entropyId:r,entropyIdVerifier:i}=l(v);y({connectWallet:{entropyId:r,entropyIdVerifier:i,onCompleteNavigateTo:m.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>a.signTypedData(e),onSuccess:e=>t(e),onFailure:n,uiOptions:{}}}),g(m.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{c.current=!1}))},getChainId:E,chain:A,switchChain:P}}}};export{co as c,po as g,uo as u};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useContext as t,useState as r,useEffect as i,createContext as n}from"react";import{A as a,a4 as o}from"./useWallets-2CoAaSEx.mjs";import{u as l,j as s,P as c}from"./privy-context-2XTbQLV9.mjs";import{g as m}from"./getEmbeddedConnectedWallet-CrtphMZJ.mjs";import{g as d,u as p}from"./smart-wallets-BkY69ru9.mjs";import"@ethersproject/providers";import"tinycolor2";import"ofetch";import"@ethersproject/address";import"viem";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";import"zod";import"bs58";import"ethers";import"libphonenumber-js/max";let f=n({client:void 0});const g=({config:t,children:r})=>e(w,{children:e(y,{config:t,children:e(C,{children:r})})}),u=()=>{let{client:e}=t(f);return{client:e}};let h=n({config:void 0}),v=()=>{let{config:e}=t(h);return{config:e}},w=({children:t})=>{let[n,a]=r(void 0),{client:o}=l();return i((()=>{!n&&o&&(async()=>{try{if(!o)return void console.warn("No client found");let e=await o.getSmartWalletsConfig();a(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!o]),e(h.Provider,{value:{config:n},children:t})},y=({config:t,children:n})=>{let{config:p}=v(),{appId:f}=l(),{chains:g,defaultChain:u,rpcConfig:h}=a(),{wallets:w}=o(),{user:y}=s(),[C,b]=r(),j=m(w);return i((()=>{(async()=>{if(!p?.enabled)return;let e=p.configuredNetworks.find((e=>e.chainId===`eip155:${u.id}`))?u:g.find((e=>p.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new c("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");b(await d({chain:e,privyAppId:f,paymasterContext:t?.paymasterContext,rpcConfig:h,embeddedWallet:j,user:y,smartWalletsConfig:p}))})()}),[!!p?.enabled,!!y?.smartWallet,!!j]),e(W.Provider,{value:{client:C,config:t},children:n})},W=n({client:void 0,config:void 0}),C=({children:r})=>{let{client:n,config:a}=(()=>{let{client:e,config:r}=t(W);return{client:e,config:r}})(),{config:o}=v(),{wrapSmartAccountClient:c}=p({clientConfig:a,smartWalletsConfig:o}),{user:m}=s(),{generateSiweMessageForSmartWallet:d,linkSmartWallet:g,noPromptOnSignature:u}=l();return i((()=>{(async()=>{if(n&&m&&!m?.smartWallet&&o?.enabled)try{let e=await d({address:n.account.address,chainId:`eip155:${n.chain.id}`});u.current=!0;let t=await n.signMessage({message:e});await g({signature:t,message:e,smartWalletType:o.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{u.current=!1}})()}),[!!n,!!m?.smartWallet,!!o?.enabled]),e(f.Provider,{value:{client:m?.smartWallet&&n?c(n):void 0},children:r})};export{g as SmartWalletsProvider,u as useSmartWallets};
1
+ import{jsx as e}from"react/jsx-runtime";import{useContext as t,useState as r,useEffect as i,createContext as n}from"react";import{A as a,a4 as o}from"./useWallets-BhLT0fR-.mjs";import{u as l,j as s,P as c}from"./privy-context-2XTbQLV9.mjs";import{g as m}from"./getEmbeddedConnectedWallet-BfN7mN3S.mjs";import{g as d,u as p}from"./smart-wallets-CUo4wQHo.mjs";import"@ethersproject/providers";import"tinycolor2";import"ofetch";import"@ethersproject/address";import"viem";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";import"zod";import"bs58";import"ethers";import"libphonenumber-js/max";let f=n({client:void 0});const g=({config:t,children:r})=>e(w,{children:e(y,{config:t,children:e(C,{children:r})})}),u=()=>{let{client:e}=t(f);return{client:e}};let h=n({config:void 0}),v=()=>{let{config:e}=t(h);return{config:e}},w=({children:t})=>{let[n,a]=r(void 0),{client:o}=l();return i((()=>{!n&&o&&(async()=>{try{if(!o)return void console.warn("No client found");let e=await o.getSmartWalletsConfig();a(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!o]),e(h.Provider,{value:{config:n},children:t})},y=({config:t,children:n})=>{let{config:p}=v(),{appId:f}=l(),{chains:g,defaultChain:u,rpcConfig:h}=a(),{wallets:w}=o(),{user:y}=s(),[C,b]=r(),j=m(w);return i((()=>{(async()=>{if(!p?.enabled)return;let e=p.configuredNetworks.find((e=>e.chainId===`eip155:${u.id}`))?u:g.find((e=>p.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new c("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");b(await d({chain:e,privyAppId:f,paymasterContext:t?.paymasterContext,rpcConfig:h,embeddedWallet:j,user:y,smartWalletsConfig:p}))})()}),[!!p?.enabled,!!y?.smartWallet,!!j]),e(W.Provider,{value:{client:C,config:t},children:n})},W=n({client:void 0,config:void 0}),C=({children:r})=>{let{client:n,config:a}=(()=>{let{client:e,config:r}=t(W);return{client:e,config:r}})(),{config:o}=v(),{wrapSmartAccountClient:c}=p({clientConfig:a,smartWalletsConfig:o}),{user:m}=s(),{generateSiweMessageForSmartWallet:d,linkSmartWallet:g,noPromptOnSignature:u}=l();return i((()=>{(async()=>{if(n&&m&&!m?.smartWallet&&o?.enabled)try{let e=await d({address:n.account.address,chainId:`eip155:${n.chain.id}`});u.current=!0;let t=await n.signMessage({message:e});await g({signature:t,message:e,smartWalletType:o.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{u.current=!1}})()}),[!!n,!!m?.smartWallet,!!o?.enabled]),e(f.Provider,{value:{client:m?.smartWallet&&n?c(n):void 0},children:r})};export{g as SmartWalletsProvider,u as useSmartWallets};
package/dist/esm/ui.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{j as i,u as n,m as l}from"./privy-context-2XTbQLV9.mjs";import{f as o,u as a,x as s,o as d,W as c,k as h,d as p,q as C,b as u,v as g,w as f,B as w}from"./useFundWallet-FgeN9XU6.mjs";import{G as m,a4 as v,A as x}from"./useWallets-2CoAaSEx.mjs";import{styled as y,css as k}from"styled-components";import _ from"@heroicons/react/24/outline/CheckIcon";import*as b from"react";import{useState as M,useContext as L,createContext as z,useRef as H}from"react";import{useMergeRefs as V,useTransitionStyles as F,FloatingPortal as Z,FloatingFocusManager as B,useFloating as U,autoUpdate as S,offset as A,flip as O,shift as j,useInteractions as R,useClick as G,useDismiss as P,useRole as T}from"@floating-ui/react";import"ofetch";import"@ethersproject/address";import"./events-context-2ZF4RQWB.mjs";import"@heroicons/react/24/outline/Square2StackIcon";import"@ethersproject/bignumber";import"@ethersproject/units";import"viem";import"@ethersproject/providers";import"tinycolor2";const W=t=>e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:e("path",{d:"M9.99999 10.8333C12.3012 10.8333 14.1667 8.96785 14.1667 6.66667C14.1667 4.36548 12.3012 2.5 9.99999 2.5C7.69881 2.5 5.83333 4.36548 5.83333 6.66667C5.83333 8.96785 7.69881 10.8333 9.99999 10.8333ZM9.99999 10.8333C11.7681 10.8333 13.4638 11.5357 14.714 12.786C15.9643 14.0362 16.6667 15.7319 16.6667 17.5M9.99999 10.8333C8.23188 10.8333 6.53619 11.5357 5.28595 12.786C4.03571 14.0362 3.33333 15.7319 3.33333 17.5",stroke:"currentColor",strokeWidth:"1.67",strokeLinecap:"round",strokeLinejoin:"round"})}),$=y.button`
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{j as i,u as n,m as l}from"./privy-context-2XTbQLV9.mjs";import{f as o,u as a,x as s,o as d,W as c,k as h,d as p,q as C,b as u,v as g,w as f,B as w}from"./useFundWallet-CIDZpGjY.mjs";import{G as m,a4 as v,A as x}from"./useWallets-BhLT0fR-.mjs";import{styled as y,css as k}from"styled-components";import _ from"@heroicons/react/24/outline/CheckIcon";import*as b from"react";import{useState as M,useContext as L,createContext as z,useRef as H}from"react";import{useMergeRefs as V,useTransitionStyles as F,FloatingPortal as Z,FloatingFocusManager as B,useFloating as U,autoUpdate as S,offset as A,flip as O,shift as j,useInteractions as R,useClick as G,useDismiss as P,useRole as T}from"@floating-ui/react";import"ofetch";import"@ethersproject/address";import"./events-context-2ZF4RQWB.mjs";import"@heroicons/react/24/outline/Square2StackIcon";import"@ethersproject/bignumber";import"@ethersproject/units";import"viem";import"@ethersproject/providers";import"tinycolor2";const W=t=>e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:e("path",{d:"M9.99999 10.8333C12.3012 10.8333 14.1667 8.96785 14.1667 6.66667C14.1667 4.36548 12.3012 2.5 9.99999 2.5C7.69881 2.5 5.83333 4.36548 5.83333 6.66667C5.83333 8.96785 7.69881 10.8333 9.99999 10.8333ZM9.99999 10.8333C11.7681 10.8333 13.4638 11.5357 14.714 12.786C15.9643 14.0362 16.6667 15.7319 16.6667 17.5M9.99999 10.8333C8.23188 10.8333 6.53619 11.5357 5.28595 12.786C4.03571 14.0362 3.33333 15.7319 3.33333 17.5",stroke:"currentColor",strokeWidth:"1.67",strokeLinecap:"round",strokeLinejoin:"round"})}),$=y.button`
2
2
  --size: ${({$size:e})=>`${e}px`};
3
3
 
4
4
  -webkit-font-smoothing: antialiased;
@@ -1,4 +1,4 @@
1
- import{useState as r,useEffect as e,createContext as o,useContext as t,useMemo as a,useCallback as c}from"react";import{jsx as i,jsxs as l,Fragment as n}from"react/jsx-runtime";import{styled as s,keyframes as d,css as h}from"styled-components";import{G as v,A as p,ap as u,U as m}from"./useWallets-2CoAaSEx.mjs";import{u as g}from"./events-context-2ZF4RQWB.mjs";import{t as y,u as f}from"./privy-context-2XTbQLV9.mjs";import b from"@heroicons/react/24/outline/Square2StackIcon";import{BigNumber as w}from"@ethersproject/bignumber";import{formatEther as x}from"@ethersproject/units";import{createPublicClient as $,http as V}from"viem";let Z=r=>w.from(r);function M(r){if("number"==typeof r||"bigint"==typeof r||"string"==typeof r)return r;if("function"==typeof r.toHexString)return r.toHexString();throw Error(`Expected numeric value but received ${r}`)}function P(r){let e={};return void 0!==r.to&&(e.to=r.to),void 0!==r.data&&(e.data=r.data),void 0!==r.chainId&&(e.chainId=r.chainId),void 0!==r.type&&(e.type=r.type),void 0!==r.accessList&&(e.accessList=r.accessList),void 0!==r.nonce&&(e.nonce=Z(r.nonce).toNumber()),void 0!==r.gasLimit&&(e.gasLimit=Z(r.gasLimit)),void 0!==r.gasPrice&&(e.gasPrice=Z(r.gasPrice)),void 0!==r.value&&(e.value=Z(r.value)),void 0!==r.maxFeePerGas&&(e.maxFeePerGas=Z(r.maxFeePerGas)),void 0!==r.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=Z(r.maxPriorityFeePerGas)),e}class k{get(r){let e=localStorage.getItem(r);return null===e?void 0:JSON.parse(e)}put(r,e){void 0!==e?localStorage.setItem(r,JSON.stringify(e)):this.del(r)}del(r){localStorage.removeItem(r)}getKeys(){return Object.entries(localStorage).map((([r])=>r))}}function L(){try{let r="privy:__session_storage__test",e=new k;return e.put(r,"blobby"),e.del(r),!0}catch(r){return!1}}var T="undefined"!=typeof window&&window.localStorage?new k:new class{get(r){return this._cache[r]}put(r,e){void 0!==e?this._cache[r]=e:this.del(r)}del(r){delete this._cache[r]}getKeys(){return Object.keys(this._cache)}constructor(){this._cache={}}};const C=o=>{let[t,a]=r("auto");return e((()=>{let r=new ResizeObserver((r=>{a(r[0]?.contentRect.height??"auto")}));return o.current&&r.observe(o.current),()=>{o.current&&r.unobserve(o.current)}}),[o.current]),t},S=({success:r,fail:e})=>l(n,{children:[i(_,{className:r?"success":e?"fail":""}),i(I,{className:r?"success":e?"fail":""})]}),_=s.span`
1
+ import{useState as r,useEffect as e,createContext as o,useContext as t,useMemo as a,useCallback as c}from"react";import{jsx as i,jsxs as l,Fragment as n}from"react/jsx-runtime";import{styled as s,keyframes as d,css as h}from"styled-components";import{G as v,A as p,ap as u,U as m}from"./useWallets-BhLT0fR-.mjs";import{u as g}from"./events-context-2ZF4RQWB.mjs";import{t as y,u as f}from"./privy-context-2XTbQLV9.mjs";import b from"@heroicons/react/24/outline/Square2StackIcon";import{BigNumber as w}from"@ethersproject/bignumber";import{formatEther as x}from"@ethersproject/units";import{createPublicClient as $,http as V}from"viem";let Z=r=>w.from(r);function M(r){if("number"==typeof r||"bigint"==typeof r||"string"==typeof r)return r;if("function"==typeof r.toHexString)return r.toHexString();throw Error(`Expected numeric value but received ${r}`)}function P(r){let e={};return void 0!==r.to&&(e.to=r.to),void 0!==r.data&&(e.data=r.data),void 0!==r.chainId&&(e.chainId=r.chainId),void 0!==r.type&&(e.type=r.type),void 0!==r.accessList&&(e.accessList=r.accessList),void 0!==r.nonce&&(e.nonce=Z(r.nonce).toNumber()),void 0!==r.gasLimit&&(e.gasLimit=Z(r.gasLimit)),void 0!==r.gasPrice&&(e.gasPrice=Z(r.gasPrice)),void 0!==r.value&&(e.value=Z(r.value)),void 0!==r.maxFeePerGas&&(e.maxFeePerGas=Z(r.maxFeePerGas)),void 0!==r.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=Z(r.maxPriorityFeePerGas)),e}class k{get(r){let e=localStorage.getItem(r);return null===e?void 0:JSON.parse(e)}put(r,e){void 0!==e?localStorage.setItem(r,JSON.stringify(e)):this.del(r)}del(r){localStorage.removeItem(r)}getKeys(){return Object.entries(localStorage).map((([r])=>r))}}function L(){try{let r="privy:__session_storage__test",e=new k;return e.put(r,"blobby"),e.del(r),!0}catch(r){return!1}}var T="undefined"!=typeof window&&window.localStorage?new k:new class{get(r){return this._cache[r]}put(r,e){void 0!==e?this._cache[r]=e:this.del(r)}del(r){delete this._cache[r]}getKeys(){return Object.keys(this._cache)}constructor(){this._cache={}}};const C=o=>{let[t,a]=r("auto");return e((()=>{let r=new ResizeObserver((r=>{a(r[0]?.contentRect.height??"auto")}));return o.current&&r.observe(o.current),()=>{o.current&&r.unobserve(o.current)}}),[o.current]),t},S=({success:r,fail:e})=>l(n,{children:[i(_,{className:r?"success":e?"fail":""}),i(I,{className:r?"success":e?"fail":""})]}),_=s.span`
2
2
  && {
3
3
  width: 82px;
4
4
  height: 82px;
@@ -1 +1 @@
1
- import{StaticJsonRpcProvider as e}from"@ethersproject/providers";import{c as t}from"./privy-context-2XTbQLV9.mjs";import{jsx as a}from"react/jsx-runtime";import{useState as r,useMemo as n,useEffect as l,useContext as i,createContext as o}from"react";import s from"tinycolor2";const p="https://auth.privy.io",c=2e4,u=1400,h=2500,d=4e3,m="1.94.1",f="privy:token",g="privy-token",y="privy:refresh_token",b="privy-refresh-token",w="privy:pat",v="privy:id_token",C="privy-id-token",k="privy-session",E="privy:session_transfer_token",W="privy:caid",S=e=>`privy:guest:${e}`,x=e=>`privy:cross-app:${e}`,U="privy:state_code",O="privy:code_verifier",A="privy:headless_oauth",M="privy:oauth_disable_signup",T=e=>`privy:wallet:${e}`,F="privy:connectors",P="privy:connections",H=12e4,L=1,_="0x1",D=3e4,I="https://api.moonpay.com/v1",j="https://api.moonpay.com/v1",B="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",z="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",R="deprecated";const K=e=>e.isApexWallet?"Apex Wallet":e.isAvalanche?"Core Wallet":e.isBackpack?"Backpack":e.isBifrost?"Bifrost Wallet":e.isBitKeep?"BitKeep":e.isBitski?"Bitski":e.isBlockWallet?"BlockWallet":e.isBraveWallet?"Brave Wallet":e.isClover?"Clover":e.isCoin98?"Coin98 Wallet":e.isCoinbaseWallet?"Coinbase Wallet":e.isDawn?"Dawn Wallet":e.isDefiant?"Defiant":e.isDesig?"Desig Wallet":e.isEnkrypt?"Enkrypt":e.isExodus?"Exodus":e.isFordefi?"Fordefi":e.isFrame?"Frame":e.isFrontier?"Frontier Wallet":e.isGamestop?"GameStop Wallet":e.isHaqqWallet?"HAQQ Wallet":e.isHyperPay?"HyperPay Wallet":e.isImToken?"ImToken":e.isHaloWallet?"Halo Wallet":e.isKuCoinWallet?"KuCoin Wallet":e.isMathWallet?"MathWallet":e.isNovaWallet?"Nova Wallet":e.isOkxWallet||e.isOKExWallet?"OKX Wallet":e.isOneInchIOSWallet||e.isOneInchAndroidWallet?"1inch Wallet":e.isOneKey?"OneKey Wallet":e.isOpera?"Opera":e.isPhantom?"Phantom":e.isPortal?"Ripio Portal":e.isRabby?"Rabby Wallet":e.isRainbow?"Rainbow":e.isSafePal?"SafePal Wallet":e.isStatus?"Status":e.isSubWallet?"SubWallet":e.isTalisman?"Talisman":e.isTally||e.isTaho?"Taho":e.isTokenPocket?"TokenPocket":e.isTokenary?"Tokenary":e.isTrust||e.isTrustWallet?"Trust Wallet":e.isTTWallet?"TTWallet":e.isXDEFI?"XDEFI Wallet":e.isZeal?"Zeal":e.isZerion?"Zerion":e.isMetaMask?"MetaMask":void 0,$=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==K(e))return!1;if(e.providers)for(let t of e.providers)if(!$(t))return!1;return!0},q=()=>{if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId)return!0}return!1},Z=()=>{let e=window;if(!e.ethereum)return!1;if(e.ethereum.isCoinbaseWallet)return!0;if(e.ethereum.providers)for(let t of e.ethereum.providers)if(t&&t.isCoinbaseWallet)return!0;return!1},N=(e,t)=>{let a=[],r=[];for(let[n,l]of e.entries())n<t?a.push(l):r.push(l);return[a,r]},G=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),X=(e,t)=>{let a=e.slice(0),r=[];for(;a.length;)r.push(a.splice(0,t));return r},Y=(e,t=3,a=4,r="ethereum")=>{if(!e)return"";let n="ethereum"===r?2:0;return t+a+n+3>=e.length?e:`${e.slice(0,n+t)}...${e.slice(e.length-a,e.length)}`},J=(e,t=3,a=4)=>Y(e,t,a,"solana"),V=e=>new Promise((t=>setTimeout(t,e)));function Q(e,{interval:t=100,timeout:a=5e3}={}){return new Promise(((r,n)=>{let l,i=0,o=()=>{i>=a?n("Max attempts reached without result"):(l=e(),i+=t,null==l?setTimeout(o,t):r(l))};o()}))}const ee=(e,t={})=>{let a=t.delayMs||150,r=t.maxAttempts||270;return new Promise((async(n,l)=>{let i=!1,o=0;for(;!i&&o<r;){if(t.abortSignal?.aborted)return;e().then((e=>{i=!0,n(e)}),((...e)=>{i=!0,l(...e)})),o+=1,await V(a)}i||l(Error("Exceeded max attempts before resolving function"))}))},te=(e,t,a={},r={})=>{let n=new URL(t,e);for(let[e,t]of Object.entries(a))void 0!==t&&n.searchParams.set(e,t);let l=Object.entries(r);if(l.length>0){let e=new URLSearchParams;for(let[t,a]of l)e.append(t,a);n.hash=e.toString()}return n.href},ae=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),re=e=>"string"==typeof e?e:"0x"+e.toString(16);async function ne({store:e,walletList:t,externalWalletConfig:a,walletChainType:r,timeout:n=3e3}){let l=!1,i=window;return new Promise((o=>{function s(){if(l)return;l=!0,window.removeEventListener("ethereum#initialized",s);let n=e.getProviders();console.debug("Detected injected providers:",n.map((e=>e.info)));let i=[];for(let e of n)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===r&&"app.phantom"===e.info.rdns||i.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==r)for(let e of function(){let e=window,t=e.ethereum;if(!t)return[];let a=[];if(t.providers?.length)for(let e of t.providers)e&&a.push(e);return a.push(e.ethereum),a}()){let t=K(e);if(!n.some((e=>e.info.name===t))){if($(e,!0)&&!i.find((e=>"metamask"===e.type))){i.push({type:"metamask",legacyInjectedProvider:e});continue}if("Phantom"===t&&!i.find((e=>"phantom"===e.type))){i.push({type:"phantom",legacyInjectedProvider:e});continue}if("Coinbase Wallet"===t&&!i.find((e=>"coinbase_wallet"===e.type&&"smartWalletOnly"!==a.coinbaseWallet?.connectionOptions))){i.push({type:"coinbase_wallet",legacyInjectedProvider:e});continue}i.find((e=>"unknown_browser_extension"===e.type))||i.push({type:"unknown_browser_extension",legacyInjectedProvider:e})}}o(i)}i.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),n))}))}function le(e){return`eip155:${String(Number(e))}`}const ie=(e,a,r,n)=>{let l=Number(e),i=a.find((e=>e.id===l));if(!i)throw new t(`Unsupported chainId ${e}`,4901);return oe(i,r,n)},oe=(e,a,r)=>{let n,l=e.id,i=Number(e.id);if(e.rpcUrls.privyWalletOverride&&e.rpcUrls.privyWalletOverride.http[0])n=e.rpcUrls.privyWalletOverride.http[0];else if(a.rpcUrls&&a.rpcUrls[i])n=a.rpcUrls[i];else if(e.rpcUrls.privy?.http[0]){let t=new URL(e.rpcUrls.privy.http[0]);t.searchParams.append("privyAppId",r),n=t.toString()}else n=e.rpcUrls.public?.http[0]?e.rpcUrls.public.http[0]:e.rpcUrls.default?.http[0];if(!n)throw new t(`No RPC url found for ${l}`);return n},se=(e,a)=>{let r=Number(e),n=a.find((e=>e.id===r));if(!n)throw new t(`Unsupported chainId ${e}`,4901);return n.blockExplorers?.default.url},pe=(a,r,n,l)=>{let i=Number(a),o=r.find((e=>e.id===i));if(!o)throw new t(`Unsupported chainId ${a}`,4901);return new e(o.rpcUrls.privyWalletOverride&&o.rpcUrls.privyWalletOverride.http[0]?o.rpcUrls.privyWalletOverride.http[0]:n.rpcUrls&&n.rpcUrls[i]?n.rpcUrls[i]:o.rpcUrls.privy?.http[0]?{url:o.rpcUrls.privy.http[0],headers:{"privy-app-id":l.appId}}:o.rpcUrls.public?.http[0]?o.rpcUrls.public.http[0]:o.rpcUrls.default?.http[0])},ce=e=>{let t={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},a=e.types.EIP712Domain??Object.entries(e.domain).map((([e,a])=>{if(null!=a&&"string"==typeof e&&e in t)return{name:e,type:t[e]}})).filter((e=>void 0!==e));return{...e,types:{...e.types,EIP712Domain:a}}};function ue(e,{min:t,max:a}){return Math.min(Math.max(e,t),a)}const he={id:42161,name:"Arbitrum One",network:"arbitrum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://arbitrum-mainnet.rpc.privy.systems"]},alchemy:{http:["https://arb-mainnet.g.alchemy.com/v2"],webSocket:["wss://arb-mainnet.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-mainnet.infura.io/v3"],webSocket:["wss://arbitrum-mainnet.infura.io/ws/v3"]},default:{http:["https://arb1.arbitrum.io/rpc"]},public:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://arbiscan.io"},default:{name:"Arbiscan",url:"https://arbiscan.io"}}},de={id:421614,name:"Arbitrum Sepolia",network:"arbitrum-sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://arbitrum-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]},public:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-explorer.arbitrum.io"}},testnet:!0},me={id:43114,name:"Avalanche",network:"avalanche",nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]},public:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://snowtrace.io"},default:{name:"SnowTrace",url:"https://snowtrace.io"}}},fe={id:43113,name:"Avalanche Fuji",network:"avalanche-fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]},public:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://testnet.snowtrace.io"},default:{name:"SnowTrace",url:"https://testnet.snowtrace.io"}},testnet:!0},ge={id:8453,network:"base",name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://base-mainnet.rpc.privy.systems"]},blast:{http:["https://base-mainnet.blastapi.io"],webSocket:["wss://base-mainnet.blastapi.io"]},default:{http:["https://mainnet.base.org"]},public:{http:["https://mainnet.base.org"]}},blockExplorers:{etherscan:{name:"Basescan",url:"https://basescan.org"},default:{name:"Basescan",url:"https://basescan.org"}}},ye={id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://base-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia.base.org"]},public:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Blockscout",url:"https://base-sepolia.blockscout.com"}},testnet:!0},be={id:42220,name:"Celo Mainnet",network:"celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]},infura:{http:["https://celo-mainnet.infura.io/v3"]},public:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/mainnet"},etherscan:{name:"CeloScan",url:"https://celoscan.io"}},testnet:!1},we={id:59144,network:"linea-mainnet",name:"Linea Mainnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]},public:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build"},etherscan:{name:"Etherscan",url:"https://lineascan.build"}},testnet:!1},ve={id:1,network:"homestead",name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://mainnet.rpc.privy.systems"]},alchemy:{http:["https://eth-mainnet.g.alchemy.com/v2"],webSocket:["wss://eth-mainnet.g.alchemy.com/v2"]},infura:{http:["https://mainnet.infura.io/v3"],webSocket:["wss://mainnet.infura.io/ws/v3"]},default:{http:["https://cloudflare-eth.com"]},public:{http:["https://cloudflare-eth.com"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://etherscan.io"},default:{name:"Etherscan",url:"https://etherscan.io"}}},Ce={id:10,name:"OP Mainnet",network:"optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://optimism-mainnet.rpc.privy.systems"]},alchemy:{http:["https://opt-mainnet.g.alchemy.com/v2"],webSocket:["wss://opt-mainnet.g.alchemy.com/v2"]},infura:{http:["https://optimism-mainnet.infura.io/v3"],webSocket:["wss://optimism-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.optimism.io"]},public:{http:["https://mainnet.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://optimistic.etherscan.io"},default:{name:"Optimism Explorer",url:"https://explorer.optimism.io"}}},ke={id:11155420,name:"Optimism Sepolia",network:"optimism-sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://optimism-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia.optimism.io"]},public:{http:["https://sepolia.optimism.io"]},infura:{http:["https://optimism-sepolia.infura.io/v3"]}},blockExplorers:{default:{name:"Blockscout",url:"https://optimism-sepolia.blockscout.com"}},testnet:!0},Ee={id:137,name:"Polygon Mainnet",network:"polygon",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{privy:{http:["https://polygon-mainnet.rpc.privy.systems"]},alchemy:{http:["https://polygon-mainnet.g.alchemy.com/v2"],webSocket:["wss://polygon-mainnet.g.alchemy.com/v2"]},infura:{http:["https://polygon-mainnet.infura.io/v3"],webSocket:["wss://polygon-mainnet.infura.io/ws/v3"]},default:{http:["https://polygon-rpc.com"]},public:{http:["https://polygon-rpc.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://polygonscan.com"},default:{name:"PolygonScan",url:"https://polygonscan.com"}}},We={id:80002,name:"Polygon Amoy",network:"polygon-amoy",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{privy:{http:["https://polygon-amoy.rpc.privy.systems"]},infura:{http:["https://polygon-amoy.infura.io/v3"],webSocket:["wss://polygon-amoy.infura.io/ws/v3"]},default:{http:["https://rpc-amoy.polygon.technology"]}},blockExplorers:{default:{name:"OK LINK",url:"https://www.oklink.com/amoy"}},testnet:!0},Se={id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{privy:{http:["https://sepolia.rpc.privy.systems"]},alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},testnet:!0},xe={id:7777777,name:"Zora",network:"zora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]},public:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://explorer.zora.energy"}}},Ue=[he,de,Se,ve,Ce,ke,Ee,We,be,{id:44787,name:"Celo Alfajores Testnet",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},testnet:!0},{id:314,name:"Filecoin - Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}},{id:314159,name:"Filecoin - Calibration testnet",network:"filecoin-calibration",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.calibration.node.glif.io/rpc/v1"]},public:{http:["https://api.calibration.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filscan",url:"https://calibration.filscan.io"}}},ge,ye,{id:80085,network:"berachain-artio",name:"Berachain Artio",nativeCurrency:{name:"BERA",symbol:"BERA",decimals:18},rpcUrls:{default:{http:["https://berachain-artio.rpc.privy.systems"]},public:{http:["https://berachain-artio.rpc.privy.systems"]}},blockExplorers:{default:{name:"Beratrail",url:"https://artio.beratrail.io"}},testnet:!0},{id:42,network:"lukso",name:"LUKSO",nativeCurrency:{name:"LUKSO",symbol:"LYX",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.lukso.network"],webSocket:["wss://ws-rpc.mainnet.lukso.network"]}},blockExplorers:{default:{name:"LUKSO Mainnet Explorer",url:"https://explorer.execution.mainnet.lukso.network"}}},we,{id:59140,network:"linea-testnet",name:"Linea Goerli Testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-goerli.infura.io/v3"],webSocket:["wss://linea-goerli.infura.io/ws/v3"]},default:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]},public:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.lineascan.build"},etherscan:{name:"Etherscan",url:"https://goerli.lineascan.build"}},testnet:!0},me,fe,xe,{id:999,name:"Zora Goerli Testnet",network:"zora-testnet",nativeCurrency:{decimals:18,name:"Zora Goerli",symbol:"ETH"},rpcUrls:{default:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]},public:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.explorer.zora.energy"}},testnet:!0},{id:999999999,name:"Zora Sepolia",network:"zora-sepolia",nativeCurrency:{decimals:18,name:"Zora Sepolia",symbol:"ETH"},rpcUrls:{default:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]},public:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]}},blockExplorers:{default:{name:"Zora Sepolia Explorer",url:"https://sepolia.explorer.zora.energy/"}},testnet:!0},{id:17e3,name:"Holesky",network:"holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://ethereum-holesky.publicnode.com"]},public:{http:["https://ethereum-holesky.publicnode.com"]}},blockExplorers:{etherscan:{name:"EtherScan",url:"https://holesky.etherscan.io"},default:{name:"EtherScan",url:"https://holesky.etherscan.io"}}},{id:690,name:"Redstone",network:"redstone",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.redstonechain.com"]},public:{http:["https://rpc.redstonechain.com"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.redstone.xyz/"}}},{id:17069,name:"Garnet Holesky",network:"garnet-holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.garnetchain.com"]},public:{http:["https://rpc.garnetchain.com"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.garnetchain.com"}}}],Oe=new Set(Ue.map((e=>e.id))),Ae={appearance:{landingHeader:"Log in or sign up",theme:"light",accentColor:"#676FFF",walletList:["detected_wallets","metamask","coinbase_wallet","rainbow","wallet_connect"]},walletConnectCloudProjectId:"34357d3c125c2bcf2ce2bc3309d98715",rpcConfig:{rpcUrls:{},rpcTimeouts:{}},externalWallets:{coinbaseWallet:{connectionOptions:"all"}},embeddedWallets:{extendedCalldataDecoding:!1},captchaEnabled:!1,_render:{standalone:!1},fundingMethodConfig:{moonpay:{useSandbox:!1}}};let Me=new Set(["coinbase_wallet","cryptocom","metamask","okx_wallet","phantom","rainbow","uniswap","zerion","universal_profile","bybit_wallet","wallet_connect","detected_wallets","detected_solana_wallets","detected_ethereum_wallets","rabby_wallet","safe"]),Te=e=>Me.has(e),Fe=(e,t,a)=>a.indexOf(e)===t;const Pe=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter(Te).filter(Fe):e?e.filter(Te).filter(Fe):Ae.appearance.walletList;function He(e,t){return{...e,rpcUrls:{...e.rpcUrls,privyWalletOverride:{http:[t]}}}}function Le(e){let t=e.filter((e=>!Oe.has(e.id)));return Ue.concat(t)}function _e(e,t){return{...e,rpcUrls:{...e.rpcUrls,privy:{http:[t]}}}}let De="#FFFFFF";function Ie(e,t){let a=Math.max(0,Math.min(1,e.toHsl().l+t));return s({...e.toHsl(),l:a})}function je({backgroundTheme:e,accentHex:t}){let a;switch(e){case"light":a=De;break;case"dark":a="#1E1E1D";break;default:a=e}let r=s(a),n=s(t),l=s("#51BA81"),i=s("#FFB74D"),o=s("#EC6351"),p=function(e){return e<.8&&e>.2&&console.warn("Background color is not light or dark enough, which could lead to accessibility issues."),e>.5?"light":"dark"}(r.getLuminance()),c=Ie(r,"light"===p?-.04:.11),u=Ie(r,"light"===p?-.88:.87),h=Ie(r,"light"===p?-.7:.75),d=Ie(r,"light"===p?-.43:.45).desaturate("light"===p?60:20),m=Ie(r,"light"===p?-.08:.25).desaturate("light"===p?60:20),f=Ie(n,.15),g=Ie(n,.25),y=Ie(n,-.06),b=Ie(n,-.6),w=Ie(o,.3),v=Ie(i,.3),C=s(n.getLuminance()>.5?"#040217":De),k=Ie(l,-.16),E=Ie(l,.4);return{colorScheme:p,background:r.toHslString(),background2:c.toHslString(),foreground:u.toHslString(),foreground2:h.toHslString(),foreground3:d.toHslString(),foreground4:m.toHslString(),accent:n.toHslString(),accentLight:f.toHslString(),accentLightest:g.toHslString(),accentDark:y.toHslString(),accentDarkest:b.toHslString(),foregroundAccent:C.toHslString(),success:l.toHslString(),successDark:k.toHslString(),successLight:E.toHslString(),error:o.toHslString(),errorLight:w.toHslString(),warn:i.toHslString(),warnLight:v.toHslString()}}function Be(e,t,a){let r,n,l,i,o,s,p,c,u,h,d,m,f,g,y,b,w=a?console.warn:()=>{};t?.loginMethods?(r=t.loginMethods.includes("email"),n=t.loginMethods.includes("sms"),i=t.loginMethods.includes("wallet"),o=t.loginMethods.includes("google"),s=t.loginMethods.includes("twitter"),p=t.loginMethods.includes("discord"),u=t.loginMethods.includes("spotify"),h=t.loginMethods.includes("instagram"),c=t.loginMethods.includes("tiktok"),m=t.loginMethods.includes("github"),d=t.loginMethods.includes("linkedin"),f=t.loginMethods.includes("apple"),g=t.loginMethods.includes("farcaster"),y=t.loginMethods.includes("telegram")):(r=e.emailAuth,n=e.smsAuth,i=e.walletAuth||e.solanaWalletAuth,o=e.googleOAuth,s=e.twitterOAuth,p=e.discordOAuth,m=e.githubOAuth,u=e.spotifyOAuth,h=e.instagramOAuth,c=e.tiktokOAuth,d=e.linkedinOAuth,f=e.appleOAuth,g=e.farcasterAuth,y=e.telegramAuth),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential?l=!1:e.passkeyAuth&&(l=!0);let v=[r,n].filter(Boolean),C=[o,s,p,m,u,h,c,d,f,g,y].filter(Boolean),k=[i].filter(Boolean);if(v.length+C.length+k.length===0)throw Error("You must enable at least one login method");let E=void 0!==t?.appearance?.showWalletLoginFirst?t?.appearance?.showWalletLoginFirst:e.showWalletLoginFirst;E&&0===k.length?(w("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),E=!1):E||C.length+v.length!==0||(w("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),E=!0);let W=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&w("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let S=Pe({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder}),x=(({input:e})=>{if(!e||!e.primary[0])return;let t=[e.primary[0]],a=[];for(let a of(e.primary.length>4&&console.warn("You should not specify greater than 4 login methods in `loginMethodsAndOrder.primary`"),e.primary.slice(1)))t.includes(a)?console.warn(`Duplicated login method: ${a}`):t.push(a);for(let r of e.overflow??[])t.includes(r)||a.includes(r)?console.warn(`Duplicated login method: ${r}`):a.push(r);return{primary:t,overflow:a}})({input:t?.loginMethodsAndOrder}),U=t?.intl?.defaultCountry??"US",{chains:O,defaultChain:A}=function({additionalChains:e,supportedChains:t,defaultChainFromConfig:a,hasRpcConfigDefined:r}){let n;if(e&&t&&console.warn("You should only specify one of `additionalChains` or `supportedChains`. Using `supportedChains`."),t){if(0===t.length)throw Error("`supportedChains` must contain at least one chain");t.filter((e=>e.rpcUrls.privyWalletOverride)).length>0&&r&&console.warn("You have specified at least one `supportedChain` with `privyWalletOverride` but also have `rpcConfig` defined. The `rpcConfig` will be ignored. `rpcConfig` is deprecated and you should use `privyWalletOverride` in a `supportedChain`."),n=t.map((e=>{if(e.rpcUrls.privyWalletOverride)return e;let t=Ue.find((t=>t.id===e.id)),a=t?.rpcUrls.privy?.http[0];return a?_e(e,a):e}))}else n=Ue.concat(e??[]);let l=t?n[0]:ve,i=a??l;if(!n.find((e=>e.id===i.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:n,defaultChain:i}}({additionalChains:t?.additionalChains,supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain,hasRpcConfigDefined:Object.keys(t?.rpcConfig?.rpcUrls??{}).length>0}),M=!!t?.defaultChain,T=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,F=!(e.enforceWalletUis??1);if(b=e.legacyWalletUiConfig??1?T?t?.embeddedWallets?.noPromptOnSignature??!0:t?.embeddedWallets?.noPromptOnSignature??F:F,!1===t?.embeddedWallets?.waitForTransactionConfirmation&&!0!==b)throw Error("Overriding `config.embeddedWallets.waitForTransactionConfirmation` requires that you disable wallet UIs in the dashboard.");let{requireUserPasswordOnCreate:P,...H}=t?.embeddedWallets??{};return{id:e.id,name:e.name,allowlistConfig:e.allowlistConfig,legacyWalletUiConfig:e.legacyWalletUiConfig,appearance:{logo:t?.appearance?.logo??e.logoUrl,landingHeader:t?.appearance?.landingHeader??Ae.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,palette:je({backgroundTheme:t?.appearance?.theme??Ae.appearance.theme,accentHex:t?.appearance?.accentColor??e.accentColor??Ae.appearance.accentColor}),loginGroupPriority:E?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:S,walletChainType:t?.appearance?.walletChainType??(({evmWalletAuth:e,solanaWalletAuth:t})=>e&&t?"ethereum-and-solana":e?"ethereum-only":t?"solana-only":"ethereum-only")({evmWalletAuth:e.walletAuth??!1,solanaWalletAuth:e.solanaWalletAuth??!1})},loginMethods:{wallet:i,email:r,sms:n,passkey:l,google:o,twitter:s,discord:p,github:m,spotify:u,instagram:h,tiktok:c,linkedin:d,apple:f,farcaster:g,telegram:y},disablePlusEmails:e.disablePlusEmails,loginMethodsAndOrder:x,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.termsAndConditionsUrl,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacyPolicyUrl,requireUsersAcceptTerms:e.requireUsersAcceptTerms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.walletConnectCloudProjectId??Ae.walletConnectCloudProjectId,rpcConfig:{rpcUrls:t?.rpcConfig?.rpcUrls??Ae.rpcConfig.rpcUrls,rpcTimeouts:t?.rpcConfig?.rpcTimeouts??Ae.rpcConfig.rpcTimeouts},chains:O,defaultChain:A,intl:{defaultCountry:U},shouldEnforceDefaultChainOnConnect:M,captchaEnabled:e.captchaEnabled??Ae.captchaEnabled,captchaSiteKey:e.captchaSiteKey,externalWallets:{coinbaseWallet:{connectionOptions:t?.externalWallets?.coinbaseWallet?.connectionOptions??Ae.externalWallets.coinbaseWallet.connectionOptions},walletConnect:{enabled:W},solana:{connectors:t?.externalWallets?.solana?.connectors}},embeddedWallets:{...e.embeddedWalletConfig,..."boolean"==typeof P?{requireUserOwnedRecoveryOnCreate:P}:{},...T?{createOnLogin:"all-users",requireUserOwnedRecoveryOnCreate:!1,userOwnedRecoveryOptions:["user-passcode"]}:{},waitForTransactionConfirmation:!0,priceDisplay:{primary:"fiat-currency",secondary:"native-token"},...H,noPromptOnSignature:b,showWalletUIs:t?.embeddedWallets?.showWalletUIs,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding},mfa:{methods:e.mfaMethods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},customAuth:T?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:e.telegramAuthConfiguration},headless:!!t?.headless,render:{standalone:t?._render?.standalone??Ae._render.standalone},fundingConfig:e.fundingConfig,fundingMethodConfig:{...t?.fundingMethodConfig??Ae.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??Ae.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??t?.fiatOnRamp?.useSandbox??Ae.fundingMethodConfig.moonpay.useSandbox}}}}let ze={showWalletLoginFirst:!0,allowlistConfig:{errorTitle:null,errorDetail:null,errorCtaText:null,errorCtaLink:null},walletAuth:!0,emailAuth:!0,smsAuth:!1,googleOAuth:!1,twitterOAuth:!1,discordOAuth:!1,githubOAuth:!1,linkedinOAuth:!1,appleOAuth:!1,disablePlusEmails:!1,termsAndConditionsUrl:null,privacyPolicyUrl:null,embeddedWalletConfig:{createOnLogin:"off",requireUserOwnedRecoveryOnCreate:!1,userOwnedRecoveryOptions:["user-passcode"]},fiatOnRampEnabled:!1,captchaEnabled:!1,captchaSiteKey:""};const Re=Be(ze,void 0,!1);let Ke=o({appConfig:Re,isServerConfigLoaded:!1});const $e=({children:e,legacyCreateEmbeddedWalletFlag:t,client:i,clientConfig:o})=>{let[s,p]=r(null),c=n((()=>Be(s??ze,o,!!s)),[s,o]);return l((()=>{if(!s)return;let e=function(e,t){if(!e)return{legacyCreateEmbeddedWalletFlag:t};let{appearance:a,additionalChains:r,supportedChains:n,defaultChain:l,externalWallets:i,...o}=e;return{...o,...r?{additionalChains:r.map((e=>e.id))}:void 0,...n?{supportedChains:n.map((e=>e.id))}:void 0,...l?{defaultChain:l.id}:void 0,...i?{walletConnect:i.walletConnect,coinbaseWallet:i.coinbaseWallet,solana:{connectors:i.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0,legacyCreateEmbeddedWalletFlag:t}}(o,t),a=function(e,t=0){let a=3735928559^t,r=1103547991^t;for(let t,n=0;n<e.length;n++)a=Math.imul(a^(t=e.charCodeAt(n)),2654435761),r=Math.imul(r^t,1597334677);return a=Math.imul(a^a>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),4294967296*(2097151&(r=Math.imul(r^r>>>16,2246822507)^Math.imul(a^a>>>13,3266489909)))+(a>>>0)}(JSON.stringify(e)).toString(),r=`privy:sent:${s.id}:${a}`;localStorage.getItem(r)||(i.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(r,"t"))}),[o,t,s]),l((()=>{s||(async()=>{try{let e=await i.getServerConfig();e.customApiUrl&&i.updateApiUrl(e.customApiUrl),p(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),a(Ke.Provider,{value:{appConfig:c,isServerConfigLoaded:!!s},children:e})},qe=()=>{let{appConfig:e}=i(Ke);return e},Ze=()=>{let{isServerConfigLoaded:e}=i(Ke);return e},Ne=o(null);function Ge(){let e=i(Ne);if(null===e)throw Error("`useWallets` was called outside the PrivyProvider component");return e}export{we as $,qe as A,u as B,O as C,H as D,Z as E,E as F,Y as G,A as H,v as I,V as J,h as K,te as L,X as M,ue as N,M as O,w as P,Le as Q,y as R,U as S,L as T,oe as U,m as V,D as W,he as X,me as Y,ge as Z,be as _,T as a,ve as a0,Ce as a1,Ee as a2,xe as a3,Ge as a4,d as a5,J as a6,j as a7,I as a8,z as a9,B as aa,G as ab,N as ac,Se as ad,ke as ae,We as af,ye as ag,fe as ah,de as ai,$e as aj,Ze as ak,Ne as al,Ue as am,He as an,_e as ao,se as ap,Re as aq,_ as b,Oe as c,pe as d,ce as e,le as f,S as g,ie as h,ee as i,F as j,ne as k,q as l,P as m,f as n,x as o,Q as p,k as q,R as r,ae as s,re as t,g as u,b as v,C as w,p as x,c as y,W as z};
1
+ import{StaticJsonRpcProvider as e}from"@ethersproject/providers";import{c as t}from"./privy-context-2XTbQLV9.mjs";import{jsx as a}from"react/jsx-runtime";import{useState as r,useMemo as n,useEffect as l,useContext as i,createContext as o}from"react";import s from"tinycolor2";const p="https://auth.privy.io",c=2e4,u=1400,h=2500,d=4e3,m="1.94.2",f="privy:token",g="privy-token",y="privy:refresh_token",b="privy-refresh-token",w="privy:pat",v="privy:id_token",C="privy-id-token",k="privy-session",E="privy:session_transfer_token",W="privy:caid",S=e=>`privy:guest:${e}`,x=e=>`privy:cross-app:${e}`,U="privy:state_code",O="privy:code_verifier",A="privy:headless_oauth",M="privy:oauth_disable_signup",T=e=>`privy:wallet:${e}`,F="privy:connectors",P="privy:connections",H=12e4,L=1,_="0x1",D=3e4,I="https://api.moonpay.com/v1",j="https://api.moonpay.com/v1",B="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",z="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",R="deprecated";const K=e=>e.isApexWallet?"Apex Wallet":e.isAvalanche?"Core Wallet":e.isBackpack?"Backpack":e.isBifrost?"Bifrost Wallet":e.isBitKeep?"BitKeep":e.isBitski?"Bitski":e.isBlockWallet?"BlockWallet":e.isBraveWallet?"Brave Wallet":e.isClover?"Clover":e.isCoin98?"Coin98 Wallet":e.isCoinbaseWallet?"Coinbase Wallet":e.isDawn?"Dawn Wallet":e.isDefiant?"Defiant":e.isDesig?"Desig Wallet":e.isEnkrypt?"Enkrypt":e.isExodus?"Exodus":e.isFordefi?"Fordefi":e.isFrame?"Frame":e.isFrontier?"Frontier Wallet":e.isGamestop?"GameStop Wallet":e.isHaqqWallet?"HAQQ Wallet":e.isHyperPay?"HyperPay Wallet":e.isImToken?"ImToken":e.isHaloWallet?"Halo Wallet":e.isKuCoinWallet?"KuCoin Wallet":e.isMathWallet?"MathWallet":e.isNovaWallet?"Nova Wallet":e.isOkxWallet||e.isOKExWallet?"OKX Wallet":e.isOneInchIOSWallet||e.isOneInchAndroidWallet?"1inch Wallet":e.isOneKey?"OneKey Wallet":e.isOpera?"Opera":e.isPhantom?"Phantom":e.isPortal?"Ripio Portal":e.isRabby?"Rabby Wallet":e.isRainbow?"Rainbow":e.isSafePal?"SafePal Wallet":e.isStatus?"Status":e.isSubWallet?"SubWallet":e.isTalisman?"Talisman":e.isTally||e.isTaho?"Taho":e.isTokenPocket?"TokenPocket":e.isTokenary?"Tokenary":e.isTrust||e.isTrustWallet?"Trust Wallet":e.isTTWallet?"TTWallet":e.isXDEFI?"XDEFI Wallet":e.isZeal?"Zeal":e.isZerion?"Zerion":e.isMetaMask?"MetaMask":void 0,$=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==K(e))return!1;if(e.providers)for(let t of e.providers)if(!$(t))return!1;return!0},q=()=>{if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId)return!0}return!1},Z=()=>{let e=window;if(!e.ethereum)return!1;if(e.ethereum.isCoinbaseWallet)return!0;if(e.ethereum.providers)for(let t of e.ethereum.providers)if(t&&t.isCoinbaseWallet)return!0;return!1},N=(e,t)=>{let a=[],r=[];for(let[n,l]of e.entries())n<t?a.push(l):r.push(l);return[a,r]},G=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),X=(e,t)=>{let a=e.slice(0),r=[];for(;a.length;)r.push(a.splice(0,t));return r},Y=(e,t=3,a=4,r="ethereum")=>{if(!e)return"";let n="ethereum"===r?2:0;return t+a+n+3>=e.length?e:`${e.slice(0,n+t)}...${e.slice(e.length-a,e.length)}`},J=(e,t=3,a=4)=>Y(e,t,a,"solana"),V=e=>new Promise((t=>setTimeout(t,e)));function Q(e,{interval:t=100,timeout:a=5e3}={}){return new Promise(((r,n)=>{let l,i=0,o=()=>{i>=a?n("Max attempts reached without result"):(l=e(),i+=t,null==l?setTimeout(o,t):r(l))};o()}))}const ee=(e,t={})=>{let a=t.delayMs||150,r=t.maxAttempts||270;return new Promise((async(n,l)=>{let i=!1,o=0;for(;!i&&o<r;){if(t.abortSignal?.aborted)return;e().then((e=>{i=!0,n(e)}),((...e)=>{i=!0,l(...e)})),o+=1,await V(a)}i||l(Error("Exceeded max attempts before resolving function"))}))},te=(e,t,a={},r={})=>{let n=new URL(t,e);for(let[e,t]of Object.entries(a))void 0!==t&&n.searchParams.set(e,t);let l=Object.entries(r);if(l.length>0){let e=new URLSearchParams;for(let[t,a]of l)e.append(t,a);n.hash=e.toString()}return n.href},ae=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),re=e=>"string"==typeof e?e:"0x"+e.toString(16);async function ne({store:e,walletList:t,externalWalletConfig:a,walletChainType:r,timeout:n=3e3}){let l=!1,i=window;return new Promise((o=>{function s(){if(l)return;l=!0,window.removeEventListener("ethereum#initialized",s);let n=e.getProviders();console.debug("Detected injected providers:",n.map((e=>e.info)));let i=[];for(let e of n)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===r&&"app.phantom"===e.info.rdns||i.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==r)for(let e of function(){let e=window,t=e.ethereum;if(!t)return[];let a=[];if(t.providers?.length)for(let e of t.providers)e&&a.push(e);return a.push(e.ethereum),a}()){let t=K(e);if(!n.some((e=>e.info.name===t))){if($(e,!0)&&!i.find((e=>"metamask"===e.type))){i.push({type:"metamask",legacyInjectedProvider:e});continue}if("Phantom"===t&&!i.find((e=>"phantom"===e.type))){i.push({type:"phantom",legacyInjectedProvider:e});continue}if("Coinbase Wallet"===t&&!i.find((e=>"coinbase_wallet"===e.type&&"smartWalletOnly"!==a.coinbaseWallet?.connectionOptions))){i.push({type:"coinbase_wallet",legacyInjectedProvider:e});continue}i.find((e=>"unknown_browser_extension"===e.type))||i.push({type:"unknown_browser_extension",legacyInjectedProvider:e})}}o(i)}i.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),n))}))}function le(e){return`eip155:${String(Number(e))}`}const ie=(e,a,r,n)=>{let l=Number(e),i=a.find((e=>e.id===l));if(!i)throw new t(`Unsupported chainId ${e}`,4901);return oe(i,r,n)},oe=(e,a,r)=>{let n,l=e.id,i=Number(e.id);if(e.rpcUrls.privyWalletOverride&&e.rpcUrls.privyWalletOverride.http[0])n=e.rpcUrls.privyWalletOverride.http[0];else if(a.rpcUrls&&a.rpcUrls[i])n=a.rpcUrls[i];else if(e.rpcUrls.privy?.http[0]){let t=new URL(e.rpcUrls.privy.http[0]);t.searchParams.append("privyAppId",r),n=t.toString()}else n=e.rpcUrls.public?.http[0]?e.rpcUrls.public.http[0]:e.rpcUrls.default?.http[0];if(!n)throw new t(`No RPC url found for ${l}`);return n},se=(e,a)=>{let r=Number(e),n=a.find((e=>e.id===r));if(!n)throw new t(`Unsupported chainId ${e}`,4901);return n.blockExplorers?.default.url},pe=(a,r,n,l)=>{let i=Number(a),o=r.find((e=>e.id===i));if(!o)throw new t(`Unsupported chainId ${a}`,4901);return new e(o.rpcUrls.privyWalletOverride&&o.rpcUrls.privyWalletOverride.http[0]?o.rpcUrls.privyWalletOverride.http[0]:n.rpcUrls&&n.rpcUrls[i]?n.rpcUrls[i]:o.rpcUrls.privy?.http[0]?{url:o.rpcUrls.privy.http[0],headers:{"privy-app-id":l.appId}}:o.rpcUrls.public?.http[0]?o.rpcUrls.public.http[0]:o.rpcUrls.default?.http[0])},ce=e=>{let t={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},a=e.types.EIP712Domain??Object.entries(e.domain).map((([e,a])=>{if(null!=a&&"string"==typeof e&&e in t)return{name:e,type:t[e]}})).filter((e=>void 0!==e));return{...e,types:{...e.types,EIP712Domain:a}}};function ue(e,{min:t,max:a}){return Math.min(Math.max(e,t),a)}const he={id:42161,name:"Arbitrum One",network:"arbitrum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://arbitrum-mainnet.rpc.privy.systems"]},alchemy:{http:["https://arb-mainnet.g.alchemy.com/v2"],webSocket:["wss://arb-mainnet.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-mainnet.infura.io/v3"],webSocket:["wss://arbitrum-mainnet.infura.io/ws/v3"]},default:{http:["https://arb1.arbitrum.io/rpc"]},public:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://arbiscan.io"},default:{name:"Arbiscan",url:"https://arbiscan.io"}}},de={id:421614,name:"Arbitrum Sepolia",network:"arbitrum-sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://arbitrum-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]},public:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-explorer.arbitrum.io"}},testnet:!0},me={id:43114,name:"Avalanche",network:"avalanche",nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]},public:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://snowtrace.io"},default:{name:"SnowTrace",url:"https://snowtrace.io"}}},fe={id:43113,name:"Avalanche Fuji",network:"avalanche-fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]},public:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://testnet.snowtrace.io"},default:{name:"SnowTrace",url:"https://testnet.snowtrace.io"}},testnet:!0},ge={id:8453,network:"base",name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://base-mainnet.rpc.privy.systems"]},blast:{http:["https://base-mainnet.blastapi.io"],webSocket:["wss://base-mainnet.blastapi.io"]},default:{http:["https://mainnet.base.org"]},public:{http:["https://mainnet.base.org"]}},blockExplorers:{etherscan:{name:"Basescan",url:"https://basescan.org"},default:{name:"Basescan",url:"https://basescan.org"}}},ye={id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://base-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia.base.org"]},public:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Blockscout",url:"https://base-sepolia.blockscout.com"}},testnet:!0},be={id:42220,name:"Celo Mainnet",network:"celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]},infura:{http:["https://celo-mainnet.infura.io/v3"]},public:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/mainnet"},etherscan:{name:"CeloScan",url:"https://celoscan.io"}},testnet:!1},we={id:59144,network:"linea-mainnet",name:"Linea Mainnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]},public:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build"},etherscan:{name:"Etherscan",url:"https://lineascan.build"}},testnet:!1},ve={id:1,network:"homestead",name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://mainnet.rpc.privy.systems"]},alchemy:{http:["https://eth-mainnet.g.alchemy.com/v2"],webSocket:["wss://eth-mainnet.g.alchemy.com/v2"]},infura:{http:["https://mainnet.infura.io/v3"],webSocket:["wss://mainnet.infura.io/ws/v3"]},default:{http:["https://cloudflare-eth.com"]},public:{http:["https://cloudflare-eth.com"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://etherscan.io"},default:{name:"Etherscan",url:"https://etherscan.io"}}},Ce={id:10,name:"OP Mainnet",network:"optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://optimism-mainnet.rpc.privy.systems"]},alchemy:{http:["https://opt-mainnet.g.alchemy.com/v2"],webSocket:["wss://opt-mainnet.g.alchemy.com/v2"]},infura:{http:["https://optimism-mainnet.infura.io/v3"],webSocket:["wss://optimism-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.optimism.io"]},public:{http:["https://mainnet.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://optimistic.etherscan.io"},default:{name:"Optimism Explorer",url:"https://explorer.optimism.io"}}},ke={id:11155420,name:"Optimism Sepolia",network:"optimism-sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://optimism-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia.optimism.io"]},public:{http:["https://sepolia.optimism.io"]},infura:{http:["https://optimism-sepolia.infura.io/v3"]}},blockExplorers:{default:{name:"Blockscout",url:"https://optimism-sepolia.blockscout.com"}},testnet:!0},Ee={id:137,name:"Polygon Mainnet",network:"polygon",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{privy:{http:["https://polygon-mainnet.rpc.privy.systems"]},alchemy:{http:["https://polygon-mainnet.g.alchemy.com/v2"],webSocket:["wss://polygon-mainnet.g.alchemy.com/v2"]},infura:{http:["https://polygon-mainnet.infura.io/v3"],webSocket:["wss://polygon-mainnet.infura.io/ws/v3"]},default:{http:["https://polygon-rpc.com"]},public:{http:["https://polygon-rpc.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://polygonscan.com"},default:{name:"PolygonScan",url:"https://polygonscan.com"}}},We={id:80002,name:"Polygon Amoy",network:"polygon-amoy",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{privy:{http:["https://polygon-amoy.rpc.privy.systems"]},infura:{http:["https://polygon-amoy.infura.io/v3"],webSocket:["wss://polygon-amoy.infura.io/ws/v3"]},default:{http:["https://rpc-amoy.polygon.technology"]}},blockExplorers:{default:{name:"OK LINK",url:"https://www.oklink.com/amoy"}},testnet:!0},Se={id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{privy:{http:["https://sepolia.rpc.privy.systems"]},alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},testnet:!0},xe={id:7777777,name:"Zora",network:"zora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]},public:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://explorer.zora.energy"}}},Ue=[he,de,Se,ve,Ce,ke,Ee,We,be,{id:44787,name:"Celo Alfajores Testnet",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},testnet:!0},{id:314,name:"Filecoin - Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}},{id:314159,name:"Filecoin - Calibration testnet",network:"filecoin-calibration",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.calibration.node.glif.io/rpc/v1"]},public:{http:["https://api.calibration.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filscan",url:"https://calibration.filscan.io"}}},ge,ye,{id:80085,network:"berachain-artio",name:"Berachain Artio",nativeCurrency:{name:"BERA",symbol:"BERA",decimals:18},rpcUrls:{default:{http:["https://berachain-artio.rpc.privy.systems"]},public:{http:["https://berachain-artio.rpc.privy.systems"]}},blockExplorers:{default:{name:"Beratrail",url:"https://artio.beratrail.io"}},testnet:!0},{id:42,network:"lukso",name:"LUKSO",nativeCurrency:{name:"LUKSO",symbol:"LYX",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.lukso.network"],webSocket:["wss://ws-rpc.mainnet.lukso.network"]}},blockExplorers:{default:{name:"LUKSO Mainnet Explorer",url:"https://explorer.execution.mainnet.lukso.network"}}},we,{id:59140,network:"linea-testnet",name:"Linea Goerli Testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-goerli.infura.io/v3"],webSocket:["wss://linea-goerli.infura.io/ws/v3"]},default:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]},public:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.lineascan.build"},etherscan:{name:"Etherscan",url:"https://goerli.lineascan.build"}},testnet:!0},me,fe,xe,{id:999,name:"Zora Goerli Testnet",network:"zora-testnet",nativeCurrency:{decimals:18,name:"Zora Goerli",symbol:"ETH"},rpcUrls:{default:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]},public:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.explorer.zora.energy"}},testnet:!0},{id:999999999,name:"Zora Sepolia",network:"zora-sepolia",nativeCurrency:{decimals:18,name:"Zora Sepolia",symbol:"ETH"},rpcUrls:{default:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]},public:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]}},blockExplorers:{default:{name:"Zora Sepolia Explorer",url:"https://sepolia.explorer.zora.energy/"}},testnet:!0},{id:17e3,name:"Holesky",network:"holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://ethereum-holesky.publicnode.com"]},public:{http:["https://ethereum-holesky.publicnode.com"]}},blockExplorers:{etherscan:{name:"EtherScan",url:"https://holesky.etherscan.io"},default:{name:"EtherScan",url:"https://holesky.etherscan.io"}}},{id:690,name:"Redstone",network:"redstone",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.redstonechain.com"]},public:{http:["https://rpc.redstonechain.com"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.redstone.xyz/"}}},{id:17069,name:"Garnet Holesky",network:"garnet-holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.garnetchain.com"]},public:{http:["https://rpc.garnetchain.com"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.garnetchain.com"}}}],Oe=new Set(Ue.map((e=>e.id))),Ae={appearance:{landingHeader:"Log in or sign up",theme:"light",accentColor:"#676FFF",walletList:["detected_wallets","metamask","coinbase_wallet","rainbow","wallet_connect"]},walletConnectCloudProjectId:"34357d3c125c2bcf2ce2bc3309d98715",rpcConfig:{rpcUrls:{},rpcTimeouts:{}},externalWallets:{coinbaseWallet:{connectionOptions:"all"}},embeddedWallets:{extendedCalldataDecoding:!1},captchaEnabled:!1,_render:{standalone:!1},fundingMethodConfig:{moonpay:{useSandbox:!1}}};let Me=new Set(["coinbase_wallet","cryptocom","metamask","okx_wallet","phantom","rainbow","uniswap","zerion","universal_profile","bybit_wallet","wallet_connect","detected_wallets","detected_solana_wallets","detected_ethereum_wallets","rabby_wallet","safe"]),Te=e=>Me.has(e),Fe=(e,t,a)=>a.indexOf(e)===t;const Pe=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter(Te).filter(Fe):e?e.filter(Te).filter(Fe):Ae.appearance.walletList;function He(e,t){return{...e,rpcUrls:{...e.rpcUrls,privyWalletOverride:{http:[t]}}}}function Le(e){let t=e.filter((e=>!Oe.has(e.id)));return Ue.concat(t)}function _e(e,t){return{...e,rpcUrls:{...e.rpcUrls,privy:{http:[t]}}}}let De="#FFFFFF";function Ie(e,t){let a=Math.max(0,Math.min(1,e.toHsl().l+t));return s({...e.toHsl(),l:a})}function je({backgroundTheme:e,accentHex:t}){let a;switch(e){case"light":a=De;break;case"dark":a="#1E1E1D";break;default:a=e}let r=s(a),n=s(t),l=s("#51BA81"),i=s("#FFB74D"),o=s("#EC6351"),p=function(e){return e<.8&&e>.2&&console.warn("Background color is not light or dark enough, which could lead to accessibility issues."),e>.5?"light":"dark"}(r.getLuminance()),c=Ie(r,"light"===p?-.04:.11),u=Ie(r,"light"===p?-.88:.87),h=Ie(r,"light"===p?-.7:.75),d=Ie(r,"light"===p?-.43:.45).desaturate("light"===p?60:20),m=Ie(r,"light"===p?-.08:.25).desaturate("light"===p?60:20),f=Ie(n,.15),g=Ie(n,.25),y=Ie(n,-.06),b=Ie(n,-.6),w=Ie(o,.3),v=Ie(i,.3),C=s(n.getLuminance()>.5?"#040217":De),k=Ie(l,-.16),E=Ie(l,.4);return{colorScheme:p,background:r.toHslString(),background2:c.toHslString(),foreground:u.toHslString(),foreground2:h.toHslString(),foreground3:d.toHslString(),foreground4:m.toHslString(),accent:n.toHslString(),accentLight:f.toHslString(),accentLightest:g.toHslString(),accentDark:y.toHslString(),accentDarkest:b.toHslString(),foregroundAccent:C.toHslString(),success:l.toHslString(),successDark:k.toHslString(),successLight:E.toHslString(),error:o.toHslString(),errorLight:w.toHslString(),warn:i.toHslString(),warnLight:v.toHslString()}}function Be(e,t,a){let r,n,l,i,o,s,p,c,u,h,d,m,f,g,y,b,w=a?console.warn:()=>{};t?.loginMethods?(r=t.loginMethods.includes("email"),n=t.loginMethods.includes("sms"),i=t.loginMethods.includes("wallet"),o=t.loginMethods.includes("google"),s=t.loginMethods.includes("twitter"),p=t.loginMethods.includes("discord"),u=t.loginMethods.includes("spotify"),h=t.loginMethods.includes("instagram"),c=t.loginMethods.includes("tiktok"),m=t.loginMethods.includes("github"),d=t.loginMethods.includes("linkedin"),f=t.loginMethods.includes("apple"),g=t.loginMethods.includes("farcaster"),y=t.loginMethods.includes("telegram")):(r=e.emailAuth,n=e.smsAuth,i=e.walletAuth||e.solanaWalletAuth,o=e.googleOAuth,s=e.twitterOAuth,p=e.discordOAuth,m=e.githubOAuth,u=e.spotifyOAuth,h=e.instagramOAuth,c=e.tiktokOAuth,d=e.linkedinOAuth,f=e.appleOAuth,g=e.farcasterAuth,y=e.telegramAuth),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential?l=!1:e.passkeyAuth&&(l=!0);let v=[r,n].filter(Boolean),C=[o,s,p,m,u,h,c,d,f,g,y].filter(Boolean),k=[i].filter(Boolean);if(v.length+C.length+k.length===0)throw Error("You must enable at least one login method");let E=void 0!==t?.appearance?.showWalletLoginFirst?t?.appearance?.showWalletLoginFirst:e.showWalletLoginFirst;E&&0===k.length?(w("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),E=!1):E||C.length+v.length!==0||(w("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),E=!0);let W=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&w("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let S=Pe({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder}),x=(({input:e})=>{if(!e||!e.primary[0])return;let t=[e.primary[0]],a=[];for(let a of(e.primary.length>4&&console.warn("You should not specify greater than 4 login methods in `loginMethodsAndOrder.primary`"),e.primary.slice(1)))t.includes(a)?console.warn(`Duplicated login method: ${a}`):t.push(a);for(let r of e.overflow??[])t.includes(r)||a.includes(r)?console.warn(`Duplicated login method: ${r}`):a.push(r);return{primary:t,overflow:a}})({input:t?.loginMethodsAndOrder}),U=t?.intl?.defaultCountry??"US",{chains:O,defaultChain:A}=function({additionalChains:e,supportedChains:t,defaultChainFromConfig:a,hasRpcConfigDefined:r}){let n;if(e&&t&&console.warn("You should only specify one of `additionalChains` or `supportedChains`. Using `supportedChains`."),t){if(0===t.length)throw Error("`supportedChains` must contain at least one chain");t.filter((e=>e.rpcUrls.privyWalletOverride)).length>0&&r&&console.warn("You have specified at least one `supportedChain` with `privyWalletOverride` but also have `rpcConfig` defined. The `rpcConfig` will be ignored. `rpcConfig` is deprecated and you should use `privyWalletOverride` in a `supportedChain`."),n=t.map((e=>{if(e.rpcUrls.privyWalletOverride)return e;let t=Ue.find((t=>t.id===e.id)),a=t?.rpcUrls.privy?.http[0];return a?_e(e,a):e}))}else n=Ue.concat(e??[]);let l=t?n[0]:ve,i=a??l;if(!n.find((e=>e.id===i.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:n,defaultChain:i}}({additionalChains:t?.additionalChains,supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain,hasRpcConfigDefined:Object.keys(t?.rpcConfig?.rpcUrls??{}).length>0}),M=!!t?.defaultChain,T=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,F=!(e.enforceWalletUis??1);if(b=e.legacyWalletUiConfig??1?T?t?.embeddedWallets?.noPromptOnSignature??!0:t?.embeddedWallets?.noPromptOnSignature??F:F,!1===t?.embeddedWallets?.waitForTransactionConfirmation&&!0!==b)throw Error("Overriding `config.embeddedWallets.waitForTransactionConfirmation` requires that you disable wallet UIs in the dashboard.");let{requireUserPasswordOnCreate:P,...H}=t?.embeddedWallets??{};return{id:e.id,name:e.name,allowlistConfig:e.allowlistConfig,legacyWalletUiConfig:e.legacyWalletUiConfig,appearance:{logo:t?.appearance?.logo??e.logoUrl,landingHeader:t?.appearance?.landingHeader??Ae.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,palette:je({backgroundTheme:t?.appearance?.theme??Ae.appearance.theme,accentHex:t?.appearance?.accentColor??e.accentColor??Ae.appearance.accentColor}),loginGroupPriority:E?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:S,walletChainType:t?.appearance?.walletChainType??(({evmWalletAuth:e,solanaWalletAuth:t})=>e&&t?"ethereum-and-solana":e?"ethereum-only":t?"solana-only":"ethereum-only")({evmWalletAuth:e.walletAuth??!1,solanaWalletAuth:e.solanaWalletAuth??!1})},loginMethods:{wallet:i,email:r,sms:n,passkey:l,google:o,twitter:s,discord:p,github:m,spotify:u,instagram:h,tiktok:c,linkedin:d,apple:f,farcaster:g,telegram:y},disablePlusEmails:e.disablePlusEmails,loginMethodsAndOrder:x,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.termsAndConditionsUrl,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacyPolicyUrl,requireUsersAcceptTerms:e.requireUsersAcceptTerms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.walletConnectCloudProjectId??Ae.walletConnectCloudProjectId,rpcConfig:{rpcUrls:t?.rpcConfig?.rpcUrls??Ae.rpcConfig.rpcUrls,rpcTimeouts:t?.rpcConfig?.rpcTimeouts??Ae.rpcConfig.rpcTimeouts},chains:O,defaultChain:A,intl:{defaultCountry:U},shouldEnforceDefaultChainOnConnect:M,captchaEnabled:e.captchaEnabled??Ae.captchaEnabled,captchaSiteKey:e.captchaSiteKey,externalWallets:{coinbaseWallet:{connectionOptions:t?.externalWallets?.coinbaseWallet?.connectionOptions??Ae.externalWallets.coinbaseWallet.connectionOptions},walletConnect:{enabled:W},solana:{connectors:t?.externalWallets?.solana?.connectors}},embeddedWallets:{...e.embeddedWalletConfig,..."boolean"==typeof P?{requireUserOwnedRecoveryOnCreate:P}:{},...T?{createOnLogin:"all-users",requireUserOwnedRecoveryOnCreate:!1,userOwnedRecoveryOptions:["user-passcode"]}:{},waitForTransactionConfirmation:!0,priceDisplay:{primary:"fiat-currency",secondary:"native-token"},...H,noPromptOnSignature:b,showWalletUIs:t?.embeddedWallets?.showWalletUIs,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding},mfa:{methods:e.mfaMethods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},customAuth:T?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:e.telegramAuthConfiguration},headless:!!t?.headless,render:{standalone:t?._render?.standalone??Ae._render.standalone},fundingConfig:e.fundingConfig,fundingMethodConfig:{...t?.fundingMethodConfig??Ae.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??Ae.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??t?.fiatOnRamp?.useSandbox??Ae.fundingMethodConfig.moonpay.useSandbox}}}}let ze={showWalletLoginFirst:!0,allowlistConfig:{errorTitle:null,errorDetail:null,errorCtaText:null,errorCtaLink:null},walletAuth:!0,emailAuth:!0,smsAuth:!1,googleOAuth:!1,twitterOAuth:!1,discordOAuth:!1,githubOAuth:!1,linkedinOAuth:!1,appleOAuth:!1,disablePlusEmails:!1,termsAndConditionsUrl:null,privacyPolicyUrl:null,embeddedWalletConfig:{createOnLogin:"off",requireUserOwnedRecoveryOnCreate:!1,userOwnedRecoveryOptions:["user-passcode"]},fiatOnRampEnabled:!1,captchaEnabled:!1,captchaSiteKey:""};const Re=Be(ze,void 0,!1);let Ke=o({appConfig:Re,isServerConfigLoaded:!1});const $e=({children:e,legacyCreateEmbeddedWalletFlag:t,client:i,clientConfig:o})=>{let[s,p]=r(null),c=n((()=>Be(s??ze,o,!!s)),[s,o]);return l((()=>{if(!s)return;let e=function(e,t){if(!e)return{legacyCreateEmbeddedWalletFlag:t};let{appearance:a,additionalChains:r,supportedChains:n,defaultChain:l,externalWallets:i,...o}=e;return{...o,...r?{additionalChains:r.map((e=>e.id))}:void 0,...n?{supportedChains:n.map((e=>e.id))}:void 0,...l?{defaultChain:l.id}:void 0,...i?{walletConnect:i.walletConnect,coinbaseWallet:i.coinbaseWallet,solana:{connectors:i.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0,legacyCreateEmbeddedWalletFlag:t}}(o,t),a=function(e,t=0){let a=3735928559^t,r=1103547991^t;for(let t,n=0;n<e.length;n++)a=Math.imul(a^(t=e.charCodeAt(n)),2654435761),r=Math.imul(r^t,1597334677);return a=Math.imul(a^a>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),4294967296*(2097151&(r=Math.imul(r^r>>>16,2246822507)^Math.imul(a^a>>>13,3266489909)))+(a>>>0)}(JSON.stringify(e)).toString(),r=`privy:sent:${s.id}:${a}`;localStorage.getItem(r)||(i.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(r,"t"))}),[o,t,s]),l((()=>{s||(async()=>{try{let e=await i.getServerConfig();e.customApiUrl&&i.updateApiUrl(e.customApiUrl),p(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),a(Ke.Provider,{value:{appConfig:c,isServerConfigLoaded:!!s},children:e})},qe=()=>{let{appConfig:e}=i(Ke);return e},Ze=()=>{let{isServerConfigLoaded:e}=i(Ke);return e},Ne=o(null);function Ge(){let e=i(Ne);if(null===e)throw Error("`useWallets` was called outside the PrivyProvider component");return e}export{we as $,qe as A,u as B,O as C,H as D,Z as E,E as F,Y as G,A as H,v as I,V as J,h as K,te as L,X as M,ue as N,M as O,w as P,Le as Q,y as R,U as S,L as T,oe as U,m as V,D as W,he as X,me as Y,ge as Z,be as _,T as a,ve as a0,Ce as a1,Ee as a2,xe as a3,Ge as a4,d as a5,J as a6,j as a7,I as a8,z as a9,B as aa,G as ab,N as ac,Se as ad,ke as ae,We as af,ye as ag,fe as ah,de as ai,$e as aj,Ze as ak,Ne as al,Ue as am,He as an,_e as ao,se as ap,Re as aq,_ as b,Oe as c,pe as d,ce as e,le as f,S as g,ie as h,ee as i,F as j,ne as k,q as l,P as m,f as n,x as o,Q as p,k as q,R as r,ae as s,re as t,g as u,b as v,C as w,p as x,c as y,W as z};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "1.94.1",
3
+ "version": "1.94.2",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",
@@ -117,7 +117,7 @@
117
117
  "@heroicons/react": "^2.1.1",
118
118
  "@marsidev/react-turnstile": "^0.4.1",
119
119
  "@metamask/eth-sig-util": "^6.0.0",
120
- "@privy-io/js-sdk-core": "0.34.0",
120
+ "@privy-io/js-sdk-core": "0.34.1",
121
121
  "@simplewebauthn/browser": "^9.0.1",
122
122
  "@solana/wallet-adapter-base": "^0.9.23",
123
123
  "@solana/wallet-standard-wallet-adapter-base": "^1.1.2",
@@ -156,7 +156,7 @@
156
156
  "@babel/preset-typescript": "^7.24.7",
157
157
  "@jest/globals": "^29.7.0",
158
158
  "@privy-io/eslint-config-custom": "*",
159
- "@privy-io/public-api": "2.14.0",
159
+ "@privy-io/public-api": "2.15.0",
160
160
  "@privy-io/testing": "*",
161
161
  "@rollup/plugin-commonjs": "^26.0.1",
162
162
  "@rollup/plugin-node-resolve": "^15.2.3",
@@ -1 +0,0 @@
1
- "use strict";var e=require("react"),t=require("viem"),a=require("./privy-context-BWc1w1jF.js"),n=require("./useWallets-DS5oOPnB.js"),r=require("./getEmbeddedConnectedWallet-BAWFwm3E.js"),i=require("permissionless"),o=require("permissionless/accounts"),s=require("permissionless/clients/pimlico"),l=require("viem/account-abstraction"),u=require("zod"),d=require("bs58"),c=require("ethers"),p=require("libphonenumber-js/max");function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=_(u),z=_(d);let g;var b=((g=b||{}).OAUTH_ACCOUNT_SUSPENDED="oauth_account_suspended",g.MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",g.MISSING_OR_INVALID_PRIVY_CLIENT_ID="missing_or_invalid_privy_client_id",g.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",g.MISSING_OR_INVALID_TOKEN="missing_or_invalid_token",g.MISSING_OR_INVALID_MFA="missing_or_invalid_mfa",g.EXPIRED_OR_INVALID_MFA_TOKEN="expired_or_invalid_mfa_token",g.INVALID_DATA="invalid_data",g.INVALID_CREDENTIALS="invalid_credentials",g.INVALID_CAPTCHA="invalid_captcha",g.LINKED_TO_ANOTHER_USER="linked_to_another_user",g.ALLOWLIST_REJECTED="allowlist_rejected",g.CANNOT_UNLINK_EMBEDDED_WALLET="cannot_unlink_embedded_wallet",g.CANNOT_UNLINK_SOLE_ACCOUNT="cannot_unlink_sole_account",g.CANNOT_LINK_MORE_OF_TYPE="cannot_link_more_of_type",g.LINKED_ACCOUNT_NOT_FOUND="linked_account_not_found",g.TOO_MANY_REQUESTS="too_many_requests",g.INVALID_ORIGIN="invalid_origin",g.MISSING_ORIGIN="missing_origin",g.INVALID_NATIVE_APP_ID="invalid_native_app_id",g.TOKEN_ALREADY_USED="token_already_used",g.ALREADY_LOGGED_OUT="already_logged_out",g.NOT_SUPPORTED="not_supported",g.USER_UNSUBSCRIBED="user_unsubscribed",g.MAX_APPS_REACHED="max_apps_reached",g.USER_LIMIT_REACHED="max_accounts_reached",g.DEVICE_REVOKED="device_revoked",g.WALLET_PASSWORD_EXISTS="wallet_password_exists",g.OAUTH_STATE_MISMATCH="oauth_state_mismatch",g.MAX_DENYLIST_ENTRIES_REACHED="max_denylist_entries_reached",g.DISALLOWED_LOGIN_METHOD="disallowed_login_method",g.DISALLOWED_PLUS_EMAIL="disallowed_plus_email",g.DISALLOWED_RECOVERY_METHOD="disallowed_recovery_method",g.LEGACY_DASHBOARD_LOGIN_CONFIGURATION="legacy_dashboard_login_configuration",g.CANNOT_SET_PASSWORD="cannot_set_password",g.INVALID_PKCE_PARAMETERS="invalid_pkce_parameters",g.INVALID_APP_URL_SCHEME_CONFIGURATION="invalid_app_url_scheme_configuration",g.CROSS_APP_CONNECTION_NOT_ALLOWED="cross_app_connection_not_allowed",g.USER_DOES_NOT_EXIST="user_does_not_exist",g.ACCOUNT_TRANSFER_REQUIRED="account_transfer_required",g.USER_HAS_NOT_DELEGATED_WALLET="user_has_not_delegated_wallet",g.FEATURE_NOT_ENABLED="feature_not_enabled",g),h=class extends Error{toString(){return`${this.constructor.name}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(e,t,a,n){super(t),this.code=a,this.status=e,this.responseData=n}},f=class extends h{constructor(e,t){super(400,e,t||"invalid_data")}},y=class extends h{constructor(e,t){super(401,e,t)}},v=class extends h{constructor(e,t){super(422,e,t)}};function I(e,t){return Object.keys(t).forEach((function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[a]}})})),e}function S(e,t,a,n){Object.defineProperty(e,t,{get:a,set:n,enumerable:!0,configurable:!0})}u.z.object({error:u.z.string(),cause:u.z.string().optional(),code:u.z.nativeEnum(b).optional()});var k={},A={};S(A,"AnalyticsEvent",(()=>T));let T={path:"/api/v1/analytics_events",method:"POST"};var E={};S(E,"AppConfig",(()=>w));let w={path:"/api/v1/apps/:app_id",method:"GET"};var P={};S(P,"CoinbaseOnRampInit",(()=>j)),S(P,"CoinbaseOnRampStatus",(()=>O));let j={path:"/api/v1/funding/coinbase_on_ramp/init",method:"POST"},O={path:"/api/v1/funding/coinbase_on_ramp/status",method:"GET"};var C={};S(C,"GetCrossAppConnections",(()=>N));let N={path:"/api/v1/apps/:app_id/cross-app/connections",method:"GET"};var R={};S(R,"CustomJWTAuthenticate",(()=>D));let D={path:"/api/v1/custom_jwt_account/authenticate",method:"POST"};var x={};S(x,"FarcasterInit",(()=>L)),S(x,"FarcasterAuthenticate",(()=>W)),S(x,"FarcasterLink",(()=>M)),S(x,"FarcasterUnlink",(()=>U)),S(x,"FarcasterStatus",(()=>F));let L={path:"/api/v1/farcaster/init",method:"POST"},W={path:"/api/v1/farcaster/authenticate",method:"POST"},M={path:"/api/v1/farcaster/link",method:"POST"},U={path:"/api/v1/farcaster/unlink",method:"POST"},F={path:"/api/v1/farcaster/status",method:"GET"};var G={};S(G,"FarcasterSignerInit",(()=>V)),S(G,"FarcasterSignerStatus",(()=>q));let V={path:"/api/v1/farcaster/signer/init",method:"POST"},q={path:"/api/v1/farcaster/signer/status",method:"POST"};var B={};S(B,"GuestAuthenticate",(()=>K));let K={path:"/api/v1/guest/authenticate",method:"POST"};var $={};S($,"MfaPasskeyInit",(()=>H)),S($,"MfaPasskeyVerify",(()=>Y)),S($,"MfaPasskeyEnrollment",(()=>J));let H={path:"/api/v1/mfa/passkeys/init",method:"POST"},Y={path:"/api/v1/mfa/passkeys/verify",method:"POST"},J={path:"/api/v1/mfa/passkeys/enrollment",method:"POST"};var Q={};S(Q,"MfaPasswordlessSmsEnroll",(()=>X)),S(Q,"MfaPasswordlessSmsVerify",(()=>Z)),S(Q,"MfaPasswordlessSmsInit",(()=>ee)),S(Q,"MfaPasswordlessSmsUnenroll",(()=>te));let X={path:"/api/v1/mfa/passwordless_sms/enroll",method:"POST"},Z={path:"/api/v1/mfa/passwordless_sms/verify",method:"POST"},ee={path:"/api/v1/mfa/passwordless_sms/init",method:"POST"},te={path:"/api/v1/mfa/passwordless_sms/unenroll",method:"POST"};var ae={};S(ae,"MfaTotpEnroll",(()=>ne)),S(ae,"MfaTotpVerify",(()=>re)),S(ae,"MfaTotpInit",(()=>ie)),S(ae,"MfaTotpUnenroll",(()=>oe));let ne={path:"/api/v1/mfa/totp/enroll",method:"POST"},re={path:"/api/v1/mfa/totp/verify",method:"POST"},ie={path:"/api/v1/mfa/totp/init",method:"POST"},oe={path:"/api/v1/mfa/totp/unenroll",method:"POST"};var se={};S(se,"OAuthAuthenticate",(()=>le)),S(se,"OAuthInit",(()=>ue)),S(se,"OAuthLink",(()=>de)),S(se,"OAuthUnlink",(()=>ce));let le={path:"/api/v1/oauth/authenticate",method:"POST"},ue={path:"/api/v1/oauth/init",method:"POST"},de={path:"/api/v1/oauth/link",method:"POST"},ce={path:"/api/v1/oauth/unlink",method:"POST"};var pe={};S(pe,"OAuthProviderAuthorize",(()=>_e)),S(pe,"OAuthProviderVerify",(()=>me));let _e={path:"/oauth/authorization_code",method:"POST"},me={path:"/oauth/verify",method:"POST"};var ze={};S(ze,"PasskeyLink",(()=>ge)),S(ze,"PasskeyAuthenticate",(()=>be)),S(ze,"PasskeyAuthenticateInit",(()=>he)),S(ze,"PasskeyLinkInit",(()=>fe)),S(ze,"PasskeyUnlink",(()=>ye));let ge={path:"/api/v1/passkeys/link",method:"POST"},be={path:"/api/v1/passkeys/authenticate",method:"POST"},he={path:"/api/v1/passkeys/authenticate/init",method:"POST"},fe={path:"/api/v1/passkeys/link/init",method:"POST"},ye={path:"/api/v1/passkeys/unlink",method:"POST"};var ve={};S(ve,"PasswordlessAuthenticate",(()=>Ie)),S(ve,"PasswordlessInit",(()=>Se)),S(ve,"PasswordlessLink",(()=>ke)),S(ve,"PasswordlessUnlink",(()=>Ae)),S(ve,"PasswordlessUpdate",(()=>Te));let Ie={path:"/api/v1/passwordless/authenticate",method:"POST"},Se={path:"/api/v1/passwordless/init",method:"POST"},ke={path:"/api/v1/passwordless/link",method:"POST"},Ae={path:"/api/v1/passwordless/unlink",method:"POST"},Te={path:"/api/v1/passwordless/update",method:"POST"};var Ee={};S(Ee,"PasswordlessSmsAuthenticate",(()=>we)),S(Ee,"PasswordlessSmsInit",(()=>Pe)),S(Ee,"PasswordlessSmsLink",(()=>je)),S(Ee,"PasswordlessSmsUnlink",(()=>Oe)),S(Ee,"PasswordlessSmsUpdate",(()=>Ce));let we={path:"/api/v1/passwordless_sms/authenticate",method:"POST"},Pe={path:"/api/v1/passwordless_sms/init",method:"POST"},je={path:"/api/v1/passwordless_sms/link",method:"POST"},Oe={path:"/api/v1/passwordless_sms/unlink",method:"POST"},Ce={path:"/api/v1/passwordless_sms/update",method:"POST"};var Ne={};S(Ne,"RecoveryKeyMaterial",(()=>Re)),S(Ne,"RecoveryOAuthInit",(()=>De)),S(Ne,"RecoveryOAuthAuthenticate",(()=>xe)),S(Ne,"RecoveryOAuthInitICloud",(()=>Le)),S(Ne,"RecoveryOAuthCallbackICloudExpo",(()=>We)),S(Ne,"RecoveryConfigurationICloud",(()=>Me));let Re={path:"/api/v1/embedded_wallets/:address/recovery/key_material",method:"POST"},De={path:"/api/v1/recovery/oauth/init",method:"POST"},xe={path:"/api/v1/recovery/oauth/authenticate",method:"POST"},Le={path:"/api/v1/recovery/oauth/init_icloud",method:"POST"},We={path:"/api/v1/recovery/oauth/callback_icloud/:app_id/expo_ios",method:"GET"},Me={path:"/api/v1/recovery/configuration_icloud",method:"POST"};var Ue={};S(Ue,"getPathWithParams",(()=>Fe));let Fe=(e,t)=>t?Object.entries(t).reduce(((e,[t,a])=>e.replace(`:${t}`,`${a}`)),e):e;var Ge={};S(Ge,"RefreshSession",(()=>Ve)),S(Ge,"Logout",(()=>qe));let Ve={path:"/api/v1/sessions",method:"POST"},qe={path:"/api/v1/sessions/logout",method:"POST"};var Be={};S(Be,"GetSmartWalletConfig",(()=>Ke)),S(Be,"PostSmartWalletConfig",(()=>$e));let Ke={path:"/api/v1/apps/:app_id/smart_wallets",method:"GET"},$e={path:"/api/v1/apps/:app_id/smart_wallets",method:"POST"};var He={};S(He,"SiweInit",(()=>Ye)),S(He,"SiweAuthenticate",(()=>Je)),S(He,"SiweLink",(()=>Qe)),S(He,"SiweLinkSmartWallet",(()=>Xe)),S(He,"SiweUnlink",(()=>Ze));let Ye={path:"/api/v1/siwe/init",method:"POST"},Je={path:"/api/v1/siwe/authenticate",method:"POST"},Qe={path:"/api/v1/siwe/link",method:"POST"},Xe={path:"/api/v1/siwe/link_smart_wallet",method:"POST"},Ze={path:"/api/v1/siwe/unlink",method:"POST"};var et={};S(et,"SiwsInit",(()=>tt)),S(et,"SiwsAuthenticate",(()=>at)),S(et,"SiwsLink",(()=>nt)),S(et,"SiwsUnlink",(()=>rt));let tt={path:"/api/v1/siws/init",method:"POST"},at={path:"/api/v1/siws/authenticate",method:"POST"},nt={path:"/api/v1/siws/link",method:"POST"},rt={path:"/api/v1/siws/unlink",method:"POST"};var it={};S(it,"AcceptTermsOnUser",(()=>ot));let ot={path:"/api/v1/users/me/accept_terms",method:"POST"};var st={};S(st,"TelegramAuthenticate",(()=>lt)),S(st,"TelegramLink",(()=>ut)),S(st,"TelegramUnlink",(()=>dt));let lt={path:"/api/v1/telegram/authenticate",method:"POST"},ut={path:"/api/v1/telegram/link",method:"POST"},dt={path:"/api/v1/telegram/unlink",method:"POST"};I(k,A),I(k,E),I(k,P),I(k,C),I(k,R),I(k,x),I(k,G),I(k,B),I(k,$),I(k,Q),I(k,ae),I(k,se),I(k,pe),I(k,ze),I(k,ve),I(k,Ee),I(k,Ne),I(k,Ue),I(k,Ge),I(k,Be),I(k,He),I(k,et),I(k,it),I(k,st);var ct={},pt={};S(pt,"AnalyticsEventInput",(()=>_t));let _t=u.z.object({event_name:u.z.string().max(255),client_id:u.z.string().max(255).nullable(),payload:u.z.record(u.z.any()).optional()});var mt={};S(mt,"AccountIdFromPath",(()=>Tt)),S(mt,"AppIdFromPath",(()=>Et)),S(mt,"Pagination",(()=>wt));var zt={};S(zt,"UserId",(()=>gt)),S(zt,"Email",(()=>bt)),S(zt,"PasswordlessCode",(()=>ht)),S(zt,"WalletAddress",(()=>ft)),S(zt,"normalizeEthereumAddress",(()=>kt)),S(zt,"SolanaWalletAddress",(()=>yt)),S(zt,"PhoneNumber",(()=>vt)),S(zt,"normalizePhoneNumber",(()=>It)),S(zt,"isValidAddress",(()=>St)),S(zt,"AuthenticateMode",(()=>At));let gt=u.z.string({required_error:"Privy DID must be included",invalid_type_error:"Privy DID is not a valid string"}).min(1).transform((e=>e.replace("did:privy:",""))),bt=u.z.string({required_error:"Email address must be provided",invalid_type_error:"Email address must be a valid string"}).email("Invalid email address").transform((e=>e.toLowerCase())),ht=u.z.string({required_error:"Verification code must be provided",invalid_type_error:"Invalid verification code"}).length(6,"Verification code must have 6 digits."),ft=u.z.string({required_error:"Ethereum address must be provided",invalid_type_error:"Invalid Ethereum address"}).transform(((e,t)=>kt(e)||(t.addIssue({code:u.z.ZodIssueCode.custom,message:"Invalid Ethereum address"}),u.z.NEVER))),yt=u.z.string({required_error:"Solana address must be provided",invalid_type_error:"Invalid Solana address"}).trim().transform(((e,t)=>{try{z.default.decode(e)}catch(e){return t.addIssue({code:u.z.ZodIssueCode.custom,message:"Invalid Solana address"}),u.z.NEVER}return e})),vt=u.z.string({required_error:"Phone number must be included",invalid_type_error:"Phone number is not a valid string"}).refine((e=>{try{return void 0!==It(e)}catch(e){return!1}}),{message:"Phone number is not valid"}).transform((e=>It(e)||""));function It(e){let t=p.parsePhoneNumber(e,"US");if(t?.isPossible())return t.formatInternational()}function St(e){return!!kt(e)}function kt(e){if("string"==typeof e)try{return c.ethers.utils.getAddress(e.trim())}catch(e){}}let At=u.z.object({mode:u.z.enum(["no-signup","login-or-sign-up"]).optional()}),Tt=u.z.object({account_id:u.z.string({required_error:"Account ID must be provided",invalid_type_error:"Account ID is not a valid string"}).min(1)}),Et=u.z.object({app_id:u.z.string({required_error:"App ID must be provided",invalid_type_error:"App ID is not a valid string"}).min(1)}).transform((({app_id:e})=>({app_id:e,appId:e}))).catch((({error:e})=>{throw new f(e.message,b.MISSING_OR_INVALID_PRIVY_APP_ID)})),wt=u.z.object({cursor:gt.optional(),limit:u.z.coerce.number().max(100,{message:"Query limit can be at maximum 100 records."}).optional()});var Pt={};S(Pt,"AppResponseSchema",(()=>Lt));var jt={};S(jt,"EmbeddedWalletConfigSchema",(()=>Ct)),S(jt,"TelegramAuthConfigSchema",(()=>Nt)),S(jt,"FundingMethodEnum",(()=>Rt)),S(jt,"FundingMethodArraySchema",(()=>Dt)),S(jt,"FundingConfigSchema",(()=>xt));let Ot=m.default.object({chain:m.default.string(),asset:m.default.enum(["native-currency","USDC"]).optional()}),Ct=m.default.object({create_on_login:m.default.enum(["users-without-wallets","all-users","off"]),user_owned_recovery_options:m.default.array(m.default.enum(["user-passcode","google-drive","icloud"])),require_user_owned_recovery_on_create:m.default.boolean().optional(),require_user_password_on_create:m.default.boolean().optional()}),Nt=m.default.object({bot_id:m.default.string(),bot_name:m.default.string(),link_enabled:m.default.boolean(),seamless_auth_enabled:m.default.boolean()}),Rt=m.default.enum(["moonpay","coinbase-onramp","external"]),Dt=m.default.array(Rt),xt=m.default.object({default_recommended_currency:Ot,default_recommended_amount:m.default.string(),methods:Dt,prompt_funding_on_wallet_creation:m.default.boolean(),cross_chain_bridging_enabled:m.default.boolean()}),Lt=u.z.object({id:u.z.string(),name:u.z.string(),logo_url:u.z.string().nullable(),icon_url:u.z.string().nullable(),terms_and_conditions_url:u.z.string().nullable(),privacy_policy_url:u.z.string().nullable(),require_users_accept_terms:u.z.boolean().nullable(),theme:u.z.string(),accent_color:u.z.string().nullable(),show_wallet_login_first:u.z.boolean(),allowed_domains:u.z.array(u.z.string()),allowed_native_app_ids:u.z.array(u.z.string()),allowed_native_app_url_schemes:u.z.array(u.z.string()),wallet_auth:u.z.boolean(),email_auth:u.z.boolean(),sms_auth:u.z.boolean(),google_oauth:u.z.boolean(),twitter_oauth:u.z.boolean(),discord_oauth:u.z.boolean(),github_oauth:u.z.boolean(),spotify_oauth:u.z.boolean(),instagram_oauth:u.z.boolean(),tiktok_oauth:u.z.boolean(),linkedin_oauth:u.z.boolean(),apple_oauth:u.z.boolean(),farcaster_auth:u.z.boolean(),passkey_auth:u.z.boolean(),telegram_auth:u.z.boolean(),guest_auth:u.z.boolean(),solana_wallet_auth:u.z.boolean(),disable_plus_emails:u.z.boolean(),allowlist_enabled:u.z.boolean(),allowlist_config:u.z.object({error_title:u.z.string().nullable(),error_detail:u.z.string().nullable(),cta_text:u.z.string().nullable(),cta_link:u.z.string().nullable()}),wallet_connect_cloud_project_id:u.z.string().nullable(),custom_api_url:u.z.string().nullable(),embedded_wallet_config:Ct,enforce_wallet_uis:u.z.boolean(),legacy_wallet_ui_config:u.z.boolean(),fiat_on_ramp_enabled:u.z.boolean(),captcha_enabled:u.z.boolean(),twitter_oauth_on_mobile_enabled:u.z.boolean(),mfa_methods:u.z.array(u.z.enum(["sms","totp","passkey"])),captcha_site_key:u.z.string().optional(),verification_key:u.z.string(),telegram_auth_config:Nt.optional(),funding_config:xt.optional(),max_linked_wallets_per_user:u.z.number().nullable(),farcaster_link_wallets_enabled:u.z.boolean()});var Wt={};S(Wt,"CoinbaseOnRampInitInput",(()=>qt)),S(Wt,"CoinbaseOnRampInitResponse",(()=>Bt)),S(Wt,"CoinbaseOnRampStatusResponse",(()=>Kt));let Mt=u.z.enum(["ethereum","bitcoin","base","avacchain","optimism","solana","polygon","arbitrum","stellar"]),Ut=u.z.enum(["eth","ETH","USDC"]).transform((e=>e.toUpperCase())),Ft=u.z.enum(["SOL"]).transform((e=>e.toUpperCase())),Gt=u.z.object({addresses:u.z.array(u.z.object({address:ft,blockchains:u.z.array(Mt)})).max(1).min(1),assets:u.z.array(Ut).optional()}),Vt=u.z.object({addresses:u.z.array(u.z.object({address:yt,blockchains:u.z.array(Mt)})).max(1).min(1),assets:u.z.array(Ft).optional()}),qt=u.z.union([Gt,Vt]),Bt=u.z.object({app_id:u.z.string(),session_token:u.z.string(),channel_id:u.z.string(),partner_user_id:u.z.string()}),Kt=u.z.object({status:u.z.enum(["pending","success","failure"])});var $t={};S($t,"CrossAppConnectionsResponse",(()=>Ht));let Ht=u.z.object({connections:u.z.array(u.z.object({provider_app_id:u.z.string(),provider_app_name:u.z.string(),provider_app_icon_url:u.z.string().url().nullable(),provider_app_custom_api_url:u.z.string().url().nullable(),read_only:u.z.boolean()}))});var Yt={};S(Yt,"AuthenticateJwtInput",(()=>Jt));let Jt=m.default.object({token:m.default.string().optional()});var Qt={};S(Qt,"VerifyEmailInput",(()=>Zt)),S(Qt,"AuthenticateEmailInput",(()=>ea)),S(Qt,"InitEmailInput",(()=>ta)),S(Qt,"UnlinkEmailInput",(()=>aa)),S(Qt,"UpdateEmailInput",(()=>na)),S(Qt,"TransferEmailInput",(()=>ra));let Xt=u.z.object({nonce:u.z.string()}),Zt=u.z.object({code:ht,email:bt}),ea=Zt.merge(At),ta=u.z.object({email:bt,token:u.z.string().optional()}),aa=u.z.object({address:bt}),na=u.z.object({oldAddress:bt,newAddress:bt,code:ht}),ra=Xt.extend({email:bt});var ia={};S(ia,"JsonWebKey",(()=>oa)),S(ia,"JsonWebKeySet",(()=>sa));let oa=u.z.object({kty:u.z.string(),use:u.z.enum(["sig","enc"]).optional(),key_ops:u.z.array(u.z.enum(["sign","verify","encrypt","decrypt","wrapKey","unwrapKey","deriveKey","deriveBits"])).optional(),alg:u.z.enum(["RS256"]),kid:u.z.string().optional(),x5u:u.z.string().optional(),x5c:u.z.array(u.z.string()).optional(),x5t:u.z.string().optional(),"x5t#S256":u.z.string().optional(),n:u.z.string().optional(),e:u.z.string().optional(),d:u.z.string().optional()}),sa=u.z.object({keys:u.z.array(oa)});var la={};S(la,"FarcasterConnectInitResponse",(()=>ua)),S(la,"FarcasterConnectStatusCompletedResponse",(()=>da)),S(la,"FarcasterConnectStatusPendingResponse",(()=>ca)),S(la,"FarcasterAuthenticateInput",(()=>pa)),S(la,"FarcasterLinkInput",(()=>_a)),S(la,"FarcasterInitInput",(()=>ma)),S(la,"FarcasterUnlinkInput",(()=>za)),S(la,"TransferFarcasterInput",(()=>ga));let ua=u.z.object({channel_token:u.z.string(),connect_uri:u.z.string()}),da=u.z.object({state:u.z.literal("completed"),nonce:u.z.string(),message:u.z.string(),signature:u.z.string(),fid:u.z.number(),username:u.z.string(),display_name:u.z.string(),bio:u.z.string(),pfp_url:u.z.string()}),ca=u.z.object({state:u.z.literal("pending"),nonce:u.z.string()}),pa=u.z.object({channel_token:u.z.string(),message:u.z.string(),signature:u.z.string(),fid:u.z.number()}).merge(At),_a=u.z.object({channel_token:u.z.string(),message:u.z.string(),signature:u.z.string(),fid:u.z.number()}),ma=u.z.object({token:u.z.string().optional(),redirect_url:u.z.string().url().optional(),relying_party:u.z.string().optional()}),za=u.z.object({fid:u.z.number()}),ga=Xt.extend({farcaster_id:u.z.string(),farcaster_embedded_address:u.z.string()});var ba={};S(ba,"FarcasterSignerInitInput",(()=>ha)),S(ba,"FarcasterSignerInitResponse",(()=>fa)),S(ba,"FarcasterSignerStatusResponse",(()=>ya));let ha=u.z.object({ed25519_public_key:u.z.string().refine((e=>e.startsWith("0x")&&66===e.length)),deadline:u.z.bigint().optional().default((()=>BigInt(Math.floor(Date.now()/1e3)+3600)))}),fa=u.z.discriminatedUnion("status",[u.z.object({public_key:u.z.string(),status:u.z.literal("pending_approval"),signer_approval_url:u.z.string()}),u.z.object({public_key:u.z.string(),status:u.z.literal("approved"),fid:u.z.bigint()}),u.z.object({public_key:u.z.string(),status:u.z.literal("revoked"),fid:u.z.bigint()})]),ya=u.z.discriminatedUnion("status",[u.z.object({public_key:u.z.string(),status:u.z.literal("pending_approval")}),u.z.object({public_key:u.z.string(),status:u.z.literal("approved"),fid:u.z.bigint()}),u.z.object({public_key:u.z.string(),status:u.z.literal("revoked"),fid:u.z.bigint()})]);var va={};S(va,"AuthenticateGuestInput",(()=>Ia));let Ia=u.z.object({guest_credential:u.z.string().length(43)}).strict();var Sa={};S(Sa,"EmailIdTokenEntry",(()=>wn)),S(Sa,"PhoneIdTokenEntry",(()=>Pn)),S(Sa,"EthereumIdTokenEntry",(()=>jn)),S(Sa,"SolanaIdTokenEntry",(()=>On)),S(Sa,"FarcasterIdTokenEntry",(()=>Cn)),S(Sa,"PasskeyIdTokenEntry",(()=>Nn)),S(Sa,"TelegramIdTokenEntry",(()=>Rn)),S(Sa,"EthereumEmbeddedWalletIdTokenEntry",(()=>Dn)),S(Sa,"SolanaEmbeddedWalletIdTokenEntry",(()=>xn)),S(Sa,"GoogleOauthIdTokenEntry",(()=>Ln)),S(Sa,"TwitterOauthIdTokenEntry",(()=>Wn)),S(Sa,"DiscordOauthIdTokenEntry",(()=>Mn)),S(Sa,"GithubOauthIdTokenEntry",(()=>Un)),S(Sa,"LinkedInOauthIdTokenEntry",(()=>Fn)),S(Sa,"SpotifyOauthIdTokenEntry",(()=>Gn)),S(Sa,"InstagramOauthIdTokenEntry",(()=>Vn)),S(Sa,"TiktokOauthIdTokenEntry",(()=>qn)),S(Sa,"AppleOauthIdTokenEntry",(()=>Bn)),S(Sa,"CustomJwtIdTokenEntry",(()=>Kn)),S(Sa,"CrossAppIdTokenEntry",(()=>$n)),S(Sa,"SmartWalletIdTokenEntry",(()=>Hn));var ka={};S(ka,"EmailAccount",(()=>Ua)),S(ka,"PhoneAccount",(()=>Fa)),S(ka,"BaseWalletAccount",(()=>Ga)),S(ka,"EthereumAccount",(()=>Va)),S(ka,"SmartWalletAccount",(()=>qa)),S(ka,"SolanaAccount",(()=>Ba)),S(ka,"FarcasterAccount",(()=>Ka)),S(ka,"PasskeyAccount",(()=>$a)),S(ka,"TelegramAccount",(()=>Ha)),S(ka,"EthereumEmbeddedWalletAccount",(()=>Qa)),S(ka,"SolanaEmbeddedWalletAccount",(()=>Xa)),S(ka,"BitcoinSegwitEmbeddedWalletAccount",(()=>Za)),S(ka,"BitcoinTaprootEmbeddedWalletAccount",(()=>en)),S(ka,"GoogleOauthAccount",(()=>tn)),S(ka,"TwitterOauthAccount",(()=>an)),S(ka,"DiscordOauthAccount",(()=>nn)),S(ka,"GithubOauthAccount",(()=>rn)),S(ka,"LinkedInOauthAccount",(()=>on)),S(ka,"SpotifyOauthAccount",(()=>sn)),S(ka,"InstagramOauthAccount",(()=>ln)),S(ka,"TiktokOauthAccount",(()=>un)),S(ka,"AppleOauthAccount",(()=>dn)),S(ka,"CustomJwtAccount",(()=>cn)),S(ka,"CrossAppEmbeddedWallet",(()=>pn)),S(ka,"CrossAppSmartWallet",(()=>_n)),S(ka,"CrossAppAccount",(()=>mn)),S(ka,"LinkedAccount",(()=>zn)),S(ka,"SmsMfaMethod",(()=>gn)),S(ka,"TotpMfaMethod",(()=>bn)),S(ka,"PasskeyMfaMethod",(()=>hn)),S(ka,"LinkedMfaMethod",(()=>fn)),S(ka,"CustomMetadata",(()=>yn)),S(ka,"OAuthTokens",(()=>vn)),S(ka,"User",(()=>In)),S(ka,"SessionUpdateActionEnum",(()=>Sn)),S(ka,"AuthenticatedUser",(()=>kn)),S(ka,"LoggedOutUser",(()=>An)),S(ka,"MaybeUser",(()=>Tn));var Aa={};S(Aa,"SmartWalletProvider",(()=>Ca)),S(Aa,"AlchemyPaymasterContextSchema",(()=>Ra)),S(Aa,"SmartWalletNetworkConfigurationInputSchema",(()=>xa)),S(Aa,"SmartWalletConfigurationSchema",(()=>La)),S(Aa,"SmartWalletConfigurationInputSchema",(()=>Wa)),S(Aa,"SmartWalletConfigurationResponseSchema",(()=>Ma)),S(Aa,"SAFE",(()=>Ta)),S(Aa,"KERNEL",(()=>Ea)),S(Aa,"LIGHT_ACCOUNT",(()=>Pa)),S(Aa,"BICONOMY",(()=>wa)),S(Aa,"COINBASE_SMART_WALLET",(()=>ja)),S(Aa,"SUPPORTED_SMART_WALLET_TYPES",(()=>Oa));let Ta="safe",Ea="kernel",wa="biconomy",Pa="light_account",ja="coinbase_smart_wallet",Oa=[Ta,Ea,wa,Pa,ja],Ca=u.z.enum(Oa,{invalid_type_error:"Please specify a supported provider.",required_error:"Please specify a supported provider."}),Na=u.z.string().regex(/^eip155:\d+$/,"Chain ID must be an eip155 chain ID"),Ra=u.z.object({policy_id:u.z.string().uuid()}),Da=u.z.object({chain_id:Na,bundler_url:u.z.string(),paymaster_url:u.z.string().optional(),rpc_url:u.z.string().optional(),chain_name:u.z.string().optional(),paymaster_context:Ra.optional()}),xa=u.z.object({chain_id:Na,bundler_url:u.z.string().optional(),paymaster_url:u.z.string().optional(),rpc_url:u.z.string().optional(),chain_name:u.z.string().optional(),paymaster_context:Ra.optional()}),La=u.z.discriminatedUnion("enabled",[u.z.object({enabled:u.z.literal(!1)}),u.z.object({enabled:u.z.literal(!0),smart_wallet_type:Ca,configured_networks:u.z.array(Da).min(1)})]),Wa=u.z.discriminatedUnion("enabled",[u.z.object({enabled:u.z.literal(!1)}),u.z.object({enabled:u.z.literal(!0),smart_wallet_type:Ca,configured_networks:u.z.array(xa).min(1)})]),Ma=La,Ua=u.z.object({type:u.z.literal("email"),address:u.z.string(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),Fa=u.z.object({type:u.z.literal("phone"),phoneNumber:u.z.string(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),Ga=u.z.object({type:u.z.enum(["wallet","smart_wallet"]),address:u.z.string(),chain_type:u.z.enum(["solana","ethereum"])}),Va=u.z.object({type:u.z.literal("wallet"),address:u.z.string(),chain_id:u.z.string().optional(),chain_type:u.z.literal("ethereum"),wallet_client:u.z.literal("unknown"),wallet_client_type:u.z.string().optional(),connector_type:u.z.string().optional(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),qa=u.z.object({type:u.z.literal("smart_wallet"),address:u.z.string(),smart_wallet_type:Ca,verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),Ba=u.z.object({type:u.z.literal("wallet"),address:u.z.string(),chain_type:u.z.literal("solana"),wallet_client:u.z.literal("unknown"),wallet_client_type:u.z.string().optional(),connector_type:u.z.string().optional(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),Ka=u.z.object({type:u.z.literal("farcaster"),fid:u.z.number(),owner_address:ft,username:u.z.string().optional(),display_name:u.z.string().optional(),bio:u.z.string().optional(),profile_picture:u.z.string().optional(),profile_picture_url:u.z.string().optional(),homepage_url:u.z.string().optional(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable(),signer_public_key:u.z.string().optional()}),$a=u.z.object({type:u.z.literal("passkey"),created_with_browser:u.z.string().optional(),created_with_os:u.z.string().optional(),created_with_device:u.z.string().optional(),credential_id:u.z.string(),authenticator_name:u.z.string().optional(),enrolled_in_mfa:u.z.boolean(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),Ha=u.z.object({type:u.z.literal("telegram"),telegram_user_id:u.z.string(),first_name:u.z.string().nullish(),last_name:u.z.string().nullish(),username:u.z.string().nullish(),photo_url:u.z.string().nullish(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}).transform((e=>({...e,telegramUserId:e.telegram_user_id,firstName:e.first_name}))),Ya=u.z.enum(["privy","user-passcode","google-drive","icloud"]),Ja=u.z.object({type:u.z.literal("wallet"),address:u.z.string(),imported:u.z.boolean().default(!1),delegated:u.z.boolean().default(!1),wallet_index:u.z.number(),chain_id:u.z.string(),chain_type:u.z.string(),wallet_client:u.z.literal("privy"),wallet_client_type:u.z.literal("privy"),connector_type:u.z.literal("embedded"),recovery_method:Ya,verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),Qa=Ja.merge(u.z.object({chain_type:u.z.literal("ethereum")})),Xa=Ja.merge(u.z.object({chain_type:u.z.literal("solana"),public_key:u.z.string()})),Za=Ja.merge(u.z.object({chain_type:u.z.literal("bitcoin-segwit"),public_key:u.z.string()})),en=Ja.merge(u.z.object({chain_type:u.z.literal("bitcoin-taproot"),public_key:u.z.string()})),tn=u.z.object({type:u.z.literal("google_oauth"),subject:u.z.string(),email:u.z.string(),name:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),an=u.z.object({type:u.z.literal("twitter_oauth"),subject:u.z.string(),username:u.z.string().nullable(),name:u.z.string().nullable(),profile_picture_url:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),nn=u.z.object({type:u.z.literal("discord_oauth"),subject:u.z.string(),username:u.z.string().nullable(),email:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),rn=u.z.object({type:u.z.literal("github_oauth"),subject:u.z.string(),username:u.z.string().nullable(),name:u.z.string().nullable(),email:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),on=u.z.object({type:u.z.literal("linkedin_oauth"),subject:u.z.string(),name:u.z.string().optional(),email:u.z.string().nullable(),vanity_name:u.z.string().optional(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),sn=u.z.object({type:u.z.literal("spotify_oauth"),subject:u.z.string(),email:u.z.string().nullable(),name:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),ln=u.z.object({type:u.z.literal("instagram_oauth"),subject:u.z.string(),username:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),un=u.z.object({type:u.z.literal("tiktok_oauth"),subject:u.z.string(),username:u.z.string().nullable(),name:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),dn=u.z.object({type:u.z.literal("apple_oauth"),subject:u.z.string(),email:u.z.string().nullable(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),cn=u.z.object({type:u.z.literal("custom_auth"),custom_user_id:u.z.string(),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),pn=u.z.object({address:u.z.string()}),_n=u.z.object({address:u.z.string()}),mn=u.z.object({type:u.z.literal("cross_app"),subject:u.z.string(),provider_app_id:u.z.string(),embedded_wallets:u.z.array(pn),smart_wallets:u.z.array(_n),verified_at:u.z.number(),first_verified_at:u.z.number().nullable(),latest_verified_at:u.z.number().nullable()}),zn=u.z.union([Ua,Fa,Va,Ba,qa,Qa,Xa,Za,en,tn,an,nn,rn,sn,ln,un,on,dn,cn,Ka,$a,Ha,mn]),gn=u.z.object({type:u.z.literal("sms"),verified_at:u.z.number()}),bn=u.z.object({type:u.z.literal("totp"),verified_at:u.z.number()}),hn=u.z.object({type:u.z.literal("passkey"),verified_at:u.z.number()}),fn=u.z.union([gn,bn,hn]),yn=u.z.record(u.z.string(),u.z.union([u.z.string(),u.z.number(),u.z.boolean()])),vn=u.z.object({provider:u.z.string(),access_token:u.z.string(),access_token_expires_in_seconds:u.z.number().optional(),refresh_token:u.z.string().optional(),refresh_token_expires_in_seconds:u.z.number().optional(),scopes:u.z.array(u.z.string()).optional()}),In=u.z.object({id:u.z.string(),linked_accounts:u.z.array(zn),mfa_methods:u.z.array(fn),created_at:u.z.number(),has_accepted_terms:u.z.boolean(),is_guest:u.z.boolean(),custom_metadata:yn.optional()}),Sn=u.z.enum(["set","ignore","clear"]),kn=u.z.object({user:In,token:u.z.string().min(1).nullable(),privy_access_token:u.z.string().min(1).nullable(),refresh_token:u.z.string().min(1).nullable(),identity_token:u.z.string().min(1).optional(),is_new_user:u.z.boolean().optional(),oauth_tokens:vn.optional(),oauth_provider_tokens:u.z.object({provider:u.z.string(),access_token:u.z.string(),access_token_expires_in_seconds:u.z.number().optional(),refresh_token:u.z.string().optional(),scopes:u.z.array(u.z.string()).optional()}).optional(),session_update_action:Sn}),An=u.z.object({user:u.z.null(),token:u.z.null(),refresh_token:u.z.null(),session_update_action:u.z.literal(Sn.Values.clear)}),Tn=u.z.union([kn,An]),En={lv:u.z.number().nullable()},wn=Ua.pick({type:!0,address:!0}).extend(En),Pn=Fa.pick({type:!0,phoneNumber:!0}).extend(En).transform((({phoneNumber:e,...t})=>({phone_number:e,...t}))),jn=Va.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(En),On=Ba.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(En),Cn=Ka.pick({type:!0,fid:!0,username:!0,owner_address:!0}).extend(En).transform((({owner_address:e,...t})=>({oa:e,...t}))),Nn=$a.pick({type:!0,credential_id:!0}).extend(En),Rn=u.z.object({type:u.z.literal("telegram"),telegram_user_id:u.z.string(),username:u.z.string().nullish(),lv:u.z.number().nullable()}),Dn=Qa.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(En),xn=Xa.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend(En),Ln=tn.pick({type:!0,subject:!0,email:!0}).extend(En),Wn=an.pick({type:!0,subject:!0,username:!0}).extend(En),Mn=nn.pick({type:!0,subject:!0,username:!0}).extend(En),Un=rn.pick({type:!0,subject:!0,username:!0}).extend(En),Fn=on.pick({type:!0,subject:!0,email:!0}).extend(En),Gn=sn.pick({type:!0,subject:!0,email:!0}).extend(En),Vn=ln.pick({type:!0,subject:!0,username:!0}).extend(En),qn=un.pick({type:!0,subject:!0,username:!0}).extend(En),Bn=dn.pick({type:!0,subject:!0,email:!0}).extend(En),Kn=cn.pick({type:!0,custom_user_id:!0}).extend(En),$n=mn.pick({type:!0,subject:!0,provider_app_id:!0,embedded_wallets:!0,smart_wallets:!0}).extend(En),Hn=qa.pick({type:!0,smart_wallet_type:!0,address:!0}).extend(En);var Yn={};S(Yn,"MfaVerifyResponse",(()=>Jn)),S(Yn,"MfaSmsInitInput",(()=>Zn)),S(Yn,"MfaSmsAuthenticateEnrollInput",(()=>er)),S(Yn,"MfaSmsEnrollInput",(()=>tr)),S(Yn,"MfaSmsVerifyInput",(()=>ar)),S(Yn,"MfaTotpInput",(()=>nr)),S(Yn,"ResponseTotpInitMfa",(()=>rr));let Jn=m.default.object({token:m.default.string()}).strict(),Qn=m.default.object({action:m.default.literal("verify")}).strict(),Xn=m.default.object({action:m.default.literal("enroll"),phoneNumber:vt}).strict(),Zn=m.default.union([Qn,Xn]),er=m.default.object({action:m.default.literal("enroll").optional(),code:ht,phoneNumber:vt}).strict(),tr=m.default.object({code:ht,phoneNumber:vt}).strict(),ar=m.default.object({code:ht}).strict(),nr=m.default.object({code:ht}).strict(),rr=m.default.object({totpSecret:m.default.string(),totpAuthUrl:m.default.string()}).strict();var ir={};S(ir,"MfaPasskeyInitInput",(()=>br)),S(ir,"ResponsePasskeyInitMfa",(()=>hr)),S(ir,"MfaPasskeyVerifyInput",(()=>fr)),S(ir,"MfaEnrollmentPasskeyInput",(()=>yr));var or={};S(or,"PasskeyAuthenticatorVerifyOptions",(()=>sr)),S(or,"PasskeyAuthenticatorEnrollmentOptions",(()=>lr)),S(or,"PasskeyAuthenticatorVerifyResponse",(()=>ur)),S(or,"PasskeyAuthenticatorEnrollmentResponse",(()=>dr)),S(or,"PasskeyInitInput",(()=>cr)),S(or,"ResponsePasskeyInitAuthenticate",(()=>pr)),S(or,"ResponsePasskeyInitLink",(()=>_r)),S(or,"PasskeyLinkInput",(()=>mr)),S(or,"PasskeyAuthenticateInput",(()=>zr)),S(or,"UnlinkPasskeyInput",(()=>gr));let sr=m.default.object({challenge:m.default.string(),timeout:m.default.number().optional(),rp_id:m.default.string().optional(),allow_credentials:m.default.array(m.default.object({id:m.default.string(),type:m.default.string(),transports:m.default.array(m.default.string()).optional()})).optional(),user_verification:m.default.string().optional(),extensions:m.default.object({app_id:m.default.string().optional(),cred_props:m.default.boolean().optional(),hmac_create_secret:m.default.boolean().optional()}).optional()}),lr=m.default.object({rp:m.default.object({name:m.default.string(),id:m.default.string().optional()}),user:m.default.object({id:m.default.string(),name:m.default.string(),display_name:m.default.string()}),challenge:m.default.string(),pub_key_cred_params:m.default.array(m.default.object({alg:m.default.number(),type:m.default.literal("public-key")})),timeout:m.default.number().optional(),exclude_credentials:m.default.array(m.default.object({id:m.default.string(),type:m.default.string(),transports:m.default.array(m.default.string()).optional()})).optional(),authenticator_selection:m.default.object({authenticator_attachment:m.default.string().optional(),require_resident_key:m.default.boolean().optional(),resident_key:m.default.string().optional(),user_verification:m.default.string().optional()}).optional(),attestation:m.default.string().optional(),extensions:m.default.object({app_id:m.default.string().optional(),cred_props:m.default.object({rk:m.default.boolean().optional()}).optional(),hmac_create_secret:m.default.boolean().optional()}).optional()}),ur=m.default.object({id:m.default.string(),raw_id:m.default.string(),response:m.default.object({client_data_json:m.default.string(),authenticator_data:m.default.string(),signature:m.default.string(),user_handle:m.default.string().optional()}),authenticator_attachment:m.default.string().optional(),client_extension_results:m.default.object({app_id:m.default.boolean().optional(),cred_props:m.default.object({rk:m.default.boolean().optional()}).optional(),hmac_create_secret:m.default.boolean().optional()}),type:m.default.literal("public-key")}),dr=m.default.object({id:m.default.string(),raw_id:m.default.string(),response:m.default.object({client_data_json:m.default.string(),attestation_object:m.default.string(),authenticator_data:m.default.string().optional(),transports:m.default.array(m.default.any()).optional(),public_key_algorithm:m.default.number().optional(),public_key:m.default.string().optional()}),authenticator_attachment:m.default.string().optional(),client_extension_results:m.default.object({app_id:m.default.boolean().optional(),cred_props:m.default.object({rk:m.default.boolean().optional()}).optional(),hmac_create_secret:m.default.boolean().optional()}),type:m.default.literal("public-key")}),cr=m.default.object({relying_party:m.default.string().url().optional(),token:m.default.string().optional()}).strict(),pr=m.default.object({relying_party:m.default.string().url().optional(),options:sr}).strict(),_r=m.default.object({relying_party:m.default.string().url().optional(),options:lr}).strict(),mr=m.default.object({relying_party:m.default.string().url().optional(),authenticator_response:dr}).strict(),zr=m.default.object({relying_party:m.default.string().url().optional(),challenge:m.default.string(),authenticator_response:ur}).strict(),gr=m.default.object({credential_id:m.default.string()}),br=m.default.object({relying_party:m.default.string().url().optional()}).strict(),hr=m.default.object({options:sr}).strict(),fr=m.default.object({authenticator_response:ur,relying_party:m.default.string().url().optional()}).strict(),yr=m.default.object({credential_ids:m.default.array(m.default.string())});var vr={};S(vr,"ExternalOAuthProvider",(()=>Sr)),S(vr,"OAuthProvider",(()=>kr)),S(vr,"AuthenticateOauthInput",(()=>Ar)),S(vr,"OAuthInitInput",(()=>Tr)),S(vr,"LinkOAuthInput",(()=>Er)),S(vr,"OAuthUnlinkInput",(()=>wr)),S(vr,"OAuthInitResponse",(()=>Pr)),S(vr,"OAuthLinkResponse",(()=>jr)),S(vr,"TransferOAuthInput",(()=>Or)),S(vr,"SUPPORTED_OAUTH_PROVIDERS",(()=>Ir));let Ir=["google","discord","twitter","github","spotify","instagram","tiktok","linkedin","apple"],Sr=u.z.enum(Ir,{invalid_type_error:"Please specify a supported provider.",required_error:"Please specify a supported provider."}),kr=Sr.or(u.z.custom((e=>"string"==typeof e&&/^privy:[a-z0-9]{25}$/i.test(e)),{message:"Please specify a supported provider."})),Ar=u.z.object({authorization_code:u.z.string(),state_code:u.z.string(),code_verifier:u.z.string().min(43).max(128).optional(),code_type:u.z.enum(["raw"]).optional()}).merge(At).catch((()=>{throw new y("Please specify authorization_code and state_code.",b.INVALID_CREDENTIALS)})),Tr=u.z.object({redirect_to:u.z.string({required_error:"Please provide a redirect_to value."}),provider:kr,token:u.z.string().optional(),state_code:u.z.string().optional(),code_challenge:u.z.string().optional()}),Er=u.z.object({authorization_code:u.z.string(),state_code:u.z.string(),code_verifier:u.z.string().min(43).max(128).optional(),code_type:u.z.enum(["raw"]).optional()}),wr=u.z.object({subject:u.z.string(),provider:kr}),Pr=u.z.object({url:u.z.string()}),jr=In.extend({oauth_tokens:vn.optional()}),Or=Xt.extend({userInfo:u.z.object({subject:u.z.string(),name:u.z.string().optional(),username:u.z.string().optional(),profilePictureUrl:u.z.string().optional(),email:u.z.string().optional(),vanityName:u.z.string().optional()})});var Cr={};S(Cr,"AuthorizationCodeInput",(()=>Nr));let Nr=u.z.object({redirect_to:u.z.string(),state:u.z.string(),code_challenge:u.z.string()});var Rr={};S(Rr,"EmptyObject",(()=>Dr)),S(Rr,"SuccessObject",(()=>xr));let Dr=u.z.record(u.z.string(),u.z.never()),xr=u.z.object({success:u.z.boolean()});var Lr={};S(Lr,"RecoveryKeyMaterialInput",(()=>Wr)),S(Lr,"RecoveryKeyMaterialResponse",(()=>Mr)),S(Lr,"OAuthAuthenticateRecoveryResponse",(()=>Ur)),S(Lr,"OAuthInitRecoveryInput",(()=>Fr)),S(Lr,"OAuthInitICloudRecoveryInput",(()=>Gr)),S(Lr,"OAuthCallbackICloudExpoInput",(()=>Vr)),S(Lr,"OAuthCallbackICloudExpoResponse",(()=>qr)),S(Lr,"RecoveryConfigurationICloudInput",(()=>Br)),S(Lr,"RecoveryConfigurationICloudResponse",(()=>Kr));let Wr=u.z.object({chain_type:u.z.string().optional()}),Mr=u.z.object({recovery_type:u.z.enum(["user_passcode_derived_recovery_key","privy_passcode_derived_recovery_key","privy_generated_recovery_key","google_drive_recovery_secret","icloud_recovery_secret"]),recovery_key_derivation_salt:u.z.string(),recovery_code:u.z.string(),recovery_key:u.z.string(),file_id:u.z.string(),icloud_record_name:u.z.string()}),Ur=u.z.object({access_token:u.z.string()}),Fr=u.z.object({redirect_to:u.z.string({required_error:"Please provide a redirect_to value."}),token:u.z.string().optional(),state_code:u.z.string().optional(),code_challenge:u.z.string().optional()}),Gr=u.z.object({client_type:u.z.enum(["web","expo-ios"])}),Vr=u.z.object({ckWebAuthToken:u.z.string()}).transform((e=>({ckWebAuthToken:e.ckWebAuthToken}))).catch((()=>{throw new y("Missing ckWebAuthToken.",b.INVALID_DATA)})),qr=Dr,Br=u.z.object({client_type:u.z.enum(["web","expo-ios"])}),Kr=u.z.object({api_token:u.z.string(),container_identifier:u.z.string(),environment:u.z.string()});var $r={};S($r,"SiweInput",(()=>Hr)),S($r,"SmartWalletSiweInput",(()=>Yr)),S($r,"AuthenticateSiweInput",(()=>Jr)),S($r,"SiweAddressInput",(()=>Qr)),S($r,"SiweInitInput",(()=>Xr)),S($r,"SiweNonce",(()=>Zr)),S($r,"TransferSiweInput",(()=>ei));let Hr=u.z.object({message:u.z.string({invalid_type_error:"Invalid SIWE message"}),signature:u.z.string({invalid_type_error:"Invalid SIWE signature"}),chainId:u.z.string().max(41).nullable().default(null),walletClientType:u.z.string().max(64).nullable().default(null),connectorType:u.z.string().max(64).nullable().default(null)}),Yr=u.z.object({message:u.z.string({invalid_type_error:"Invalid SIWE message"}),signature:u.z.string({invalid_type_error:"Invalid SIWE signature"}),smart_wallet_type:Ca}),Jr=Hr.merge(At),Qr=u.z.object({address:ft}),Xr=u.z.object({address:ft,token:u.z.string().optional()}),Zr=u.z.object({nonce:u.z.string(),address:u.z.string(),expires_at:u.z.string()}),ei=Xt.extend({address:ft,chainId:u.z.string().max(41).nullable().default(null),walletClientType:u.z.string().max(64).nullable().default(null),connectorType:u.z.string().max(64).nullable().default(null)});var ti={};S(ti,"SiwsInput",(()=>ai)),S(ti,"AuthenticateSiwsInput",(()=>ni)),S(ti,"SiwsAddressInput",(()=>ri)),S(ti,"SiwsInitInput",(()=>ii)),S(ti,"SiwsNonce",(()=>oi));let ai=u.z.object({message:u.z.string({invalid_type_error:"Invalid SIWS message"}),signature:u.z.string({invalid_type_error:"Invalid SIWS signature"}),walletClientType:u.z.string().max(64).nullable().default(null),connectorType:u.z.string().max(64).nullable().default(null)}),ni=ai.merge(At),ri=u.z.object({address:yt}),ii=u.z.object({address:yt,token:u.z.string().optional()}),oi=u.z.object({nonce:u.z.string(),address:u.z.string(),expires_at:u.z.string()});var si={};S(si,"VerifyPhoneInput",(()=>li)),S(si,"AuthenticatePhoneInput",(()=>ui)),S(si,"PasswordlessSmsPhoneInput",(()=>di)),S(si,"UnlinkPhoneInput",(()=>ci)),S(si,"UpdatePhoneInput",(()=>pi)),S(si,"TransferPhoneInput",(()=>_i));let li=u.z.object({code:ht.catch((()=>{throw new v("Invalid SMS verification code",b.INVALID_CREDENTIALS)})),phoneNumber:vt.catch((()=>{throw new v("Invalid phone number",b.INVALID_CREDENTIALS)}))}),ui=li.merge(At),di=u.z.object({phoneNumber:vt.catch((()=>{throw new v("Invalid phone number",b.INVALID_DATA)})),token:u.z.string().optional()}),ci=u.z.object({phoneNumber:vt}),pi=u.z.object({old_phone_number:vt,new_phone_number:vt,code:ht}),_i=Xt.extend({phoneNumber:vt});var mi={};S(mi,"TelegramAuthenticateInput",(()=>gi)),S(mi,"TelegramLinkInput",(()=>bi)),S(mi,"TelegramUnlinkInput",(()=>hi)),S(mi,"TransferTelegramInput",(()=>fi));let zi=m.default.object({id:m.default.number(),first_name:m.default.string(),auth_date:m.default.number(),hash:m.default.string(),username:m.default.string().optional(),last_name:m.default.string().optional(),photo_url:m.default.string().optional()}),gi=m.default.object({captcha_token:m.default.string().optional(),telegram_auth_result:zi.optional(),telegram_web_app_data:m.default.object({query_id:m.default.string().optional(),auth_date:m.default.number(),hash:m.default.string(),user:m.default.string(),chat_instance:m.default.string().optional(),chat_type:m.default.string().optional(),start_param:m.default.string().optional()}).optional()}).merge(At),bi=gi.omit({telegram_web_app_data:!0}).required({telegram_auth_result:!0}),hi=m.default.object({telegram_user_id:m.default.string()}),fi=Xt.extend({telegram_auth_result:zi});var yi={};S(yi,"RefreshTokenInput",(()=>vi)),S(yi,"OptionalRefreshTokenInput",(()=>Ii)),S(yi,"ForkedToken",(()=>Si));let vi=u.z.object({refresh_token:u.z.string()}),Ii=vi.partial(),Si=u.z.object({token:u.z.string(),refresh_token:u.z.string(),new_session_refresh_token:u.z.string()});var ki={};S(ki,"DelegatedActionsConsentInput",(()=>Ai));let Ai=u.z.object({encrypted_tee_share:u.z.string(),app_share:u.z.string(),delegated_addresses:u.z.array(u.z.object({chain_type:u.z.union([u.z.literal("solana"),u.z.literal("ethereum")]),address:u.z.string(),wallet_index:u.z.number().default(0)}))});var Ti={};S(Ti,"WalletApiSignTransactionRpcInput",(()=>wi)),S(Ti,"WalletApiSignMessageRpcInput",(()=>Pi)),S(Ti,"WalletApiRpcInput",(()=>ji)),S(Ti,"WalletApiSignTransactionRpcResponse",(()=>Oi)),S(Ti,"WalletApiSignMessageRpcResponse",(()=>Ci)),S(Ti,"WalletApiRpcResponse",(()=>Ni)),S(Ti,"WalletApiRegisterAuthorizationKeyInput",(()=>Ri));let Ei=u.z.object({address:u.z.string(),chain_type:u.z.union([u.z.literal("solana"),u.z.literal("ethereum")])}),wi=u.z.object({method:u.z.literal("signTransaction"),params:u.z.object({transaction:u.z.string(),encoding:u.z.literal("base64")})}).merge(Ei),Pi=u.z.object({method:u.z.literal("signMessage"),params:u.z.object({message:u.z.string(),encoding:u.z.literal("base64")})}).merge(Ei),ji=u.z.discriminatedUnion("method",[wi,Pi]),Oi=u.z.object({method:u.z.literal("signTransaction"),data:u.z.object({signed_transaction:u.z.string(),encoding:u.z.literal("base64")})}),Ci=u.z.object({method:u.z.literal("signMessage"),data:u.z.object({signature:u.z.string(),encoding:u.z.literal("base64")})}),Ni=u.z.discriminatedUnion("method",[Oi,Ci]),Ri=u.z.object({public_key:u.z.string()});I(ct,pt),I(ct,mt),I(ct,Pt),I(ct,jt),I(ct,Wt),I(ct,zt),I(ct,$t),I(ct,Yt),I(ct,Qt),I(ct,ia),I(ct,la),I(ct,ba),I(ct,va),I(ct,Sa),I(ct,Yn),I(ct,ir),I(ct,vr),I(ct,Cr),I(ct,Rr),I(ct,or),I(ct,Lr),I(ct,$r),I(ct,ti),I(ct,si),I(ct,Aa),I(ct,mi),I(ct,yi),I(ct,ka),I(ct,ki),I(ct,Ti);let Di={address:l.entryPoint06Address,version:"0.6"},xi={address:l.entryPoint07Address,version:"0.7"},Li=({owner:e,smartWalletType:t,publicClient:a})=>{switch(t){case Ta:return o.toSafeSmartAccount({client:a,entryPoint:xi,owners:[e],version:"1.4.1"});case Ea:return o.toEcdsaKernelSmartAccount({client:a,version:"0.3.1",entryPoint:xi,owners:[e]});case wa:return o.toBiconomySmartAccount({client:a,owners:[e],entryPoint:Di});case Pa:return o.toLightSmartAccount({client:a,entryPoint:Di,owner:e,version:"1.1.0"});case ja:return async function({client:e,owner:t}){let[a]=await t.request({method:"eth_accounts"});if(!a)throw Error("Unable to request embedded owner for eth_accounts");return await l.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:a,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}]})}({client:a,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}},Wi=["rpc.zerodev.app","public.pimlico.io","api.pimlico.io"];const Mi=({calls:e,chain:t,maxPriorityFeePerGas:a,maxFeePerGas:n,nonce:r})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:r,maxFeePerGas:n,maxPriorityFeePerGas:a}))),Ui=async({chain:e,paymasterContext:r,embeddedWallet:o,user:l,smartWalletsConfig:u,rpcConfig:d,privyAppId:c})=>{if(!u?.enabled||!l||!o)return;let p=await o.getEthereumProvider(),_=u?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!_)throw new a.PrivyClientError(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let m=l.smartWallet?.smartWalletType??u.smartWalletType,z=n.getJsonRpcEndpointFromChain(e,d,c),g=t.createPublicClient({chain:e,transport:t.http(z)}),b=r??_.paymasterContext,h=await(async({owner:e,smartWalletType:a,chain:n,publicClient:r,bundlerUrl:o,paymasterUrl:l,paymasterContext:u})=>{let d=await Li({owner:e,smartWalletType:a,publicClient:r}),c=s.createPimlicoClient({transport:t.http(o),entryPoint:d.entryPoint}),p=l?s.createPimlicoClient({transport:t.http(l),entryPoint:d.entryPoint}):void 0;return i.createSmartAccountClient({account:d,chain:n,paymaster:p,paymasterContext:u,bundlerTransport:t.http(o),userOperation:{estimateFeesPerGas:async()=>{if(Wi.some((e=>o.includes(e))))return await c.getUserOperationGasPrice().then((e=>e.fast));{let e=await r.estimateFeesPerGas();return{...e,maxFeePerGas:150n*e.maxFeePerGas/100n,maxPriorityFeePerGas:150n*e.maxPriorityFeePerGas/100n}}}}})})({owner:p,smartWalletType:m,chain:e,publicClient:g,paymasterContext:b,..._});if(!h)throw new a.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return h};exports.callsToTransactionRequests=Mi,exports.getSmartWalletClient=Ui,exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:i})=>{let{noPromptOnSignature:o,openPrivyModal:s,appId:l}=a.usePrivyInternal(),u=n.useAppConfig(),{setModalData:d}=r.usePrivyModal(),{user:c}=a.usePrivyContext(),{chains:p}=n.useAppConfig(),{chainId:_,clients:m,setChainId:z,chainIdState:g}=(()=>{let t=e.useRef(),[a,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:a}})(),b=p.find((e=>e.id===g)),{wallets:h}=n.useWallets(),f=e.useCallback((async()=>_.current),[_]),y=e.useCallback((async({id:e})=>{if(!m.current[e]){let a=r.getEmbeddedConnectedWallet(h),n=await Ui({chain:p.find((t=>t.id===e)),embeddedWallet:a,user:c,paymasterContext:t?.paymasterContext,smartWalletsConfig:i,rpcConfig:u.rpcConfig,privyAppId:l});n&&(m.current[e]=n)}z(e)}),[p,t,h,c,i]);return{wrapSmartAccountClient:e=>{m.current[e.chain.id]=e,g||z(e.chain.id);return{...e,sendTransaction:async e=>{let t=void 0===u.embeddedWallets.showWalletUIs?u.embeddedWallets.noPromptOnSignature:!u.embeddedWallets.showWalletUIs,n=m.current[_.current];if(!n)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${_.current}) not found`);if(t)return o.current=!0,await n.sendTransaction(e).finally((()=>o.current=!1));let i=[];"calls"in e&&void 0!==e.calls?i=[...e.calls]:"to"in e&&(i=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let l=async()=>{if(!n.paymaster)return!1;let{paymasterAndData:t,paymasterData:a}=await n.prepareUserOperation({calls:i,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return Number(t??a??0)>0};return new Promise((async(t,u)=>{o.current=!0;let{entropyId:p,entropyIdVerifier:_}=a.getEntropyDetailsFromUser(c);d({connectWallet:{entropyId:p,entropyIdVerifier:_,onCompleteNavigateTo:r.ModalScreen.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:Mi({calls:i,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:p,entropyIdVerifier:_,transactingWallet:{address:n.account.address,walletIndex:null},getIsSponsored:l,onConfirm:()=>n.sendTransaction(e),onSuccess:e=>t(e.hash),onFailure:u,uiOptions:{}}}),s(r.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{o.current=!1}))},signMessage:async({message:e})=>{let t=void 0===u.embeddedWallets.showWalletUIs?u.embeddedWallets.noPromptOnSignature:!u.embeddedWallets.showWalletUIs,n=m.current[_.current];if(!n)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${_.current}) not found`);return t?(o.current=!0,await n.signMessage({message:e}).finally((()=>o.current=!1))):new Promise((async(t,i)=>{let{entropyId:l,entropyIdVerifier:u}=a.getEntropyDetailsFromUser(c);o.current=!0,d({connectWallet:{entropyId:l,entropyIdVerifier:u,onCompleteNavigateTo:r.ModalScreen.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>n.signMessage({message:e}),onSuccess:e=>t(e),onFailure:i,uiOptions:{}}}),s(r.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{o.current=!1}))},signTypedData:async e=>{let t=void 0===u.embeddedWallets.showWalletUIs?u.embeddedWallets.noPromptOnSignature:!u.embeddedWallets.showWalletUIs,n=m.current[_.current];if(!n)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${_.current}) not found`);return t?(o.current=!0,await n.signTypedData(e).finally((()=>o.current=!1))):new Promise((async(t,i)=>{o.current=!0;let{entropyId:l,entropyIdVerifier:u}=a.getEntropyDetailsFromUser(c);d({connectWallet:{entropyId:l,entropyIdVerifier:u,onCompleteNavigateTo:r.ModalScreen.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>t(e),onFailure:i,uiOptions:{}}}),s(r.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{o.current=!1}))},getChainId:f,chain:b,switchChain:y}}}};