@privy-io/react-auth 1.95.1 → 1.95.2-beta-20241126164238
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.
- package/dist/cjs/abstract-smart-wallets.js +1 -1
- package/dist/cjs/getEmbeddedConnectedWallet-DTU4T9TJ.js +1 -0
- package/dist/cjs/index.js +297 -297
- package/dist/cjs/modal-context-I1Fdpr3p.js +1 -0
- package/dist/cjs/prepareFundingModalData-Bswl2oe1.js +1 -0
- package/dist/cjs/privy-context-CLUwX6HZ.js +1 -0
- package/dist/cjs/smart-wallets-DK3QIVaY.js +1 -0
- package/dist/cjs/smart-wallets.js +1 -1
- package/dist/cjs/solana.js +1 -1
- package/dist/cjs/ui.js +2 -2
- package/dist/cjs/{useFundWallet-AQyGHV8J.js → useFundWallet-CF0b-Bzz.js} +3 -3
- package/dist/cjs/useWallets-fER6uSW_.js +1 -0
- package/dist/dts/index.d.mts +4 -4
- package/dist/dts/index.d.ts +4 -4
- package/dist/dts/solana.d.mts +79 -4
- package/dist/dts/solana.d.ts +79 -4
- package/dist/dts/{types-BwcPm4mZ.d.mts → types-CIYA8UPe.d.mts} +1 -1
- package/dist/dts/{types-BwcPm4mZ.d.ts → types-CIYA8UPe.d.ts} +1 -1
- package/dist/dts/ui.d.mts +1 -1
- package/dist/dts/ui.d.ts +1 -1
- package/dist/dts/{solana-D5xAHDt7.d.mts → useFundSolanaWallet-B_Whp-i8.d.mts} +1 -1
- package/dist/dts/{solana-D5xAHDt7.d.ts → useFundSolanaWallet-B_Whp-i8.d.ts} +1 -1
- package/dist/esm/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/getEmbeddedConnectedWallet-CSSBWE2p.mjs +1 -0
- package/dist/esm/index.mjs +303 -303
- package/dist/esm/modal-context-CM9V79tL.mjs +1 -0
- package/dist/esm/prepareFundingModalData-htghSii6.mjs +1 -0
- package/dist/esm/privy-context-DPGGTP4R.mjs +1 -0
- package/dist/esm/smart-wallets-BhrSszZr.mjs +1 -0
- package/dist/esm/smart-wallets.mjs +1 -1
- package/dist/esm/solana.mjs +1 -1
- package/dist/esm/ui.mjs +8 -8
- package/dist/esm/{useFundWallet-ByXRecrX.mjs → useFundWallet-BtKi7j4a.mjs} +6 -6
- package/dist/esm/useWallets-DmUWD7Ng.mjs +1 -0
- package/package.json +2 -2
- package/dist/cjs/getEmbeddedConnectedWallet-CwyoH1JD.js +0 -1
- package/dist/cjs/privy-context-Cyf8aoOj.js +0 -1
- package/dist/cjs/smart-wallets-DfLkHwnE.js +0 -1
- package/dist/cjs/useSolanaWallets-X3yIJO4K.js +0 -1
- package/dist/cjs/useWallets-CjE39UqR.js +0 -1
- package/dist/esm/getEmbeddedConnectedWallet-DQ7twXmj.mjs +0 -1
- package/dist/esm/privy-context-CrcnzDDK.mjs +0 -1
- package/dist/esm/smart-wallets-Ql59pTa3.mjs +0 -1
- package/dist/esm/useSolanaWallets-ByOYtyDO.mjs +0 -1
- package/dist/esm/useWallets--4nIqKdE.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as E,jsxs as _}from"react/jsx-runtime";import{useState as N,useEffect as A,useRef as S,useContext as T,createContext as R}from"react";import{E as C,ay as D,n as L}from"./privy-context-DPGGTP4R.mjs";function I({src:_,...N}){return E("img",{src:_,...N,style:{display:"none"}})}var O,e;(O=e||(e={})).LANDING="LANDING",O.CONNECT_OR_CREATE="CONNECT_OR_CREATE",O.AWAITING_CONNECTION="AWAITING_CONNECTION",O.AWAITING_FARCASTER_CONNECTION="AWAITING_FARCASTER_CONNECTION",O.AWAITING_FARCASTER_SIGNER="AWAITING_FARCASTER_SIGNER",O.AWAITING_OAUTH_SCREEN="AWAITING_OAUTH_SCREEN",O.CROSS_APP_AUTH_SCREEN="CROSS_APP_AUTH_SCREEN",O.AWAITING_PASSWORDLESS_CODE="AWAITING_PASSWORDLESS_CODE",O.AWAITING_PASSKEY_SYSTEM_DIALOGUE="AWAITING_PASSKEY_SYSTEM_DIALOGUE",O.LINK_EMAIL_SCREEN="LINK_EMAIL_SCREEN",O.LINK_PHONE_SCREEN="LINK_PHONE_SCREEN",O.LINK_WALLET_SCREEN="LINK_WALLET_SCREEN",O.LINK_PASSKEY_SCREEN="LINK_PASSKEY_SCREEN",O.UPDATE_EMAIL_SCREEN="UPDATE_EMAIL_SCREEN",O.UPDATE_PHONE_SCREEN="UPDATE_PHONE_SCREEN",O.AWAITING_CONNECT_ONLY_CONNECTION="AWAITING_CONNECT_ONLY_CONNECTION",O.CONNECT_ONLY_LANDING_SCREEN="CONNECT_ONLY_LANDING_SCREEN",O.CONNECT_ONLY_AUTHENTICATED_SCREEN="CONNECT_ONLY_AUTHENTICATED_SCREEN",O.LOGIN_FAILED_SCREEN="LOGIN_FAILED_SCREEN",O.ALLOWLIST_REJECTION_SCREEN="ALLOWLIST_REJECTION_SCREEN",O.ACCOUNT_NOT_FOUND_SCREEN="ACCOUNT_NOT_FOUND_SCREEN",O.USER_LIMIT_REACHED_SCREEN="USER_LIMIT_REACHED_SCREEN",O.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN="EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN",O.EMBEDDED_WALLET_CREATED_SCREEN="EMBEDDED_WALLET_CREATED_SCREEN",O.EMBEDDED_WALLET_CONNECTING_SCREEN="EMBEDDED_WALLET_CONNECTING_SCREEN",O.EMBEDDED_WALLET_PASSWORD_RECOVERY_SCREEN="EMBEDDED_WALLET_PASSWORD_RECOVERY_SCREEN",O.EMBEDDED_WALLET_KEY_EXPORT_SCREEN="EMBEDDED_WALLET_KEY_EXPORT_SCREEN",O.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN="EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN",O.EMBEDDED_WALLET_SEND_SOLANA_TRANSACTION_SCREEN="EMBEDDED_WALLET_SEND_SOLANA_TRANSACTION_SCREEN",O.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN="EMBEDDED_WALLET_SIGN_REQUEST_SCREEN",O.EMBEDDED_WALLET_PASSWORD_UPDATE_SPLASH_SCREEN="EMBEDDED_WALLET_PASSWORD_UPDATE_SPLASH_SCREEN",O.EMBEDDED_WALLET_PASSWORD_CREATE_SCREEN="EMBEDDED_WALLET_PASSWORD_CREATE_SCREEN",O.EMBEDDED_WALLET_PASSWORD_UPDATE_SCREEN="EMBEDDED_WALLET_PASSWORD_UPDATE_SCREEN",O.EMBEDDED_WALLET_RECOVERY_SELECTION_SCREEN="EMBEDDED_WALLET_RECOVERY_SELECTION_SCREEN",O.EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN="EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN",O.EMBEDDED_WALLET_SET_AUTOMATIC_RECOVERY_SCREEN="EMBEDDED_WALLET_SET_AUTOMATIC_RECOVERY_SCREEN",O.EMBEDDED_WALLET_DELEGATED_ACTIONS_CONSENT_SCREEN="EMBEDDED_WALLET_DELEGATED_ACTIONS_CONSENT_SCREEN",O.EMBEDDED_WALLET_DELEGATED_ACTIONS_REVOKE_SCREEN="EMBEDDED_WALLET_DELEGATED_ACTIONS_REVOKE_SCREEN",O.INSTALL_PHANTOM_SCREEN="INSTALL_PHANTOM_SCREEN",O.PHANTOM_INTERSTITIAL_SCREEN="PHANTOM_INTERSTITIAL_SCREEN",O.AFFIRMATIVE_CONSENT_SCREEN="AFFIRMATIVE_CONSENT_SCREEN",O.FUNDING_METHOD_SELECTION_SCREEN="FUNDING_METHOD_SELECTION_SCREEN",O.FUNDING_TRANSFER_FROM_WALLET_SCREEN="FUNDING_TRANSFER_FROM_WALLET_SCREEN",O.FUNDING_EDIT_AMOUNT_SCREEN="FUNDING_EDIT_AMOUNT_SCREEN",O.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN="FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN",O.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN="FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN",O.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN="FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN",O.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN="FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN",O.FUNDING_MANUAL_TRANSFER_SCREEN="FUNDING_MANUAL_TRANSFER_SCREEN",O.MOONPAY_STATUS_SCREEN="MOONPAY_STATUS_SCREEN",O.COINBASE_ONRAMP_STATUS_SCREEN="COINBASE_ONRAMP_STATUS_SCREEN",O.MFA_ENROLLMENT_FLOW_SCREEN="MFA_ENROLLMENT_FLOW_SCREEN",O.CAPTCHA_SCREEN="CAPTCHA_SCREEN",O.ERROR_SCREEN="ERROR_SCREEN",O.IN_APP_BROWSER_LOGIN_NOT_POSSIBLE="IN_APP_BROWSER_LOGIN_NOT_POSSIBLE",O.TELEGRAM_AUTH_SCREEN="TELEGRAM_AUTH_SCREEN",O.LINK_CONFLICT_SCREEN="LINK_CONFLICT_SCREEN";const M=R({ready:!1,app:D,currentScreen:null,lastScreen:null,navigate:L,navigateBack:L,resetNavigation:L,setModalData:L,onUserCloseViaDialogOrKeybindRef:void 0});let W=[e.LANDING,e.CONNECT_ONLY_LANDING_SCREEN,null];const a=T=>{let R=C(),D=T.authenticated,[L,O]=N(T.initialScreen);A((()=>{D||W.includes(T.initialScreen)||T.setInitialScreen(null)}),[D]);let e=S(null);A((()=>{T.open||(e.current=null)}),[T.open]),A((()=>{e.current=null}),[T.initialScreen]);let a={ready:!!R.id,app:R,data:T.data,setModalData:T.setModalData,currentScreen:T.initialScreen,lastScreen:L,navigate:(E,_=!0)=>{T.setInitialScreen(E),_&&O(T.initialScreen)},navigateBack:()=>{T.setInitialScreen(L)},resetNavigation:()=>{T.setInitialScreen(null),O(null)},onUserCloseViaDialogOrKeybindRef:e};return _(M.Provider,{value:a,children:[("string"==typeof R.appearance.logo||"img"===R.appearance.logo?.type)&&E(I,{src:"string"==typeof R.appearance.logo?R.appearance.logo:R.appearance.logo.props.src}),T.children]})},G=()=>T(M);export{e as M,a,G as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,b as t,an as a,B as n,G as s,T as r,P as i,a4 as o,$ as d,a1 as l,a6 as c,a5 as u,a2 as h,ao as E,ap as _,aq as p,ar as m,as as g,at as C,au as f,av as y,a0 as w,aw as T,ax as b}from"./privy-context-DPGGTP4R.mjs";import R from"eventemitter3";import{ErrorCode as A}from"@ethersproject/logger";import{jsx as D}from"react/jsx-runtime";import{useContext as N,useEffect as S,createContext as U,useRef as I,useCallback as O,useState as v}from"react";import{ofetch as L}from"ofetch";import{u as x,M as P}from"./modal-context-CM9V79tL.mjs";var F,M;(M=F||(F={})).MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",M.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",M.INVALID_DATA="invalid_data",M.LINKED_TO_ANOTHER_USER="linked_to_another_user",M.ALLOWLIST_REJECTED="allowlist_rejected",M.OAUTH_USER_DENIED="oauth_user_denied",M.UNKNOWN_AUTH_ERROR="unknown_auth_error",M.USER_EXITED_AUTH_FLOW="exited_auth_flow",M.MUST_BE_AUTHENTICATED="must_be_authenticated",M.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",M.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",M.CLIENT_REQUEST_TIMEOUT="client_request_timeout",M.INVALID_CREDENTIALS="invalid_credentials";class W extends Error{toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(e,t,a){super(e),t instanceof Error&&(this.cause=t),this.privyErrorCode=a}}class k extends W{constructor(e,t,a){super(e),this.type="provider_error",this.code=t,this.data=a}}let q={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1},E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don’t see your wallet? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don’t see your wallet? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don’t see your wallet? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}};class B extends k{constructor(e){super(e.message,e.code,e.data);let t=Object.values(q).find((t=>t.eipCode===e.code));this.details=t||q.UNKNOWN_ERROR,-32002===e.code&&(e.message?.includes("already pending for origin")?e.message?.includes("wallet_requestPermissions")?this.details=q.E32002_CONNECTION_ALREADY_PENDING:this.details=q.E32002_REQUEST_ALREADY_PENDING:e.message?.includes("Already processing")&&e.message.includes("eth_requestAccounts")&&(this.details=q.E32002_WALLET_LOCKED))}}class H extends e{constructor(){super("Wallet timeout"),this.type="wallet_error"}}class j extends e{constructor(){super("User rejected connection"),this.type="wallet_error"}}const $=t=>{if(t instanceof e)return t;if(t?.code&&t?.reason){let e=new G(t);return t.code===A.ACTION_REJECTED&&(e.details=q.E4001_USER_REJECTED_REQUEST),e}return t?.code?new G(t):new e("Unknown connector error",t)};class K extends t{constructor(e,t,a){super(e),this.type="provider_error",this.code=t,this.data=a}}class G extends K{constructor(e){super(e.message,e.code,e.data);let t=Object.values(q).find((t=>t.eipCode===e.code));this.details=t||q.UNKNOWN_ERROR,-32002===e.code&&(e.message?.includes("already pending for origin")?e.message?.includes("wallet_requestPermissions")?this.details=q.E32002_CONNECTION_ALREADY_PENDING:this.details=q.E32002_REQUEST_ALREADY_PENDING:e.message?.includes("Already processing")&&e.message.includes("eth_requestAccounts")&&(this.details=q.E32002_WALLET_LOCKED))}}const J={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0},ERROR_USER_REJECTED_CONNECTION:{message:"You rejected the request",detail:"Please try connecting again.",retryable:!0},ERROR_USER_LIMIT_REACHED:{message:"Unable to link",detail:"You've reached the maximum number of linked wallets.",retryable:!1},...q};class V extends R{constructor(e){super(),this.walletClientType=e,this.connected=!1,this.initialized=!1}}const Y=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","crypto.com_wallet_extension","crypto.com_onchain","coinbase_wallet","coinbase_smart_wallet","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitkeep","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","privy","unknown","phantom","solflare","glow"];function z(e){return"solana"===e.chainType}function Q(e){return"solana"===e.type}class X extends V{get isInstalled(){return"Installed"===this.adapter.readyState}buildConnectedWallet(e,t){let n,s,r;if("Installed"!==e.readyState||!e.publicKey)throw Error("Wallet is not connected.");return"signMessage"in e&&(n=async(...t)=>{if(!e.connected)throw Error("Wallet is not connected.");return await e.signMessage(t[0])}),"sendTransaction"in e&&(s=async(...t)=>await e.sendTransaction(t[0],t[1],t[2])),"signTransaction"in e&&(r=async t=>await e.signTransaction(t)),{type:"solana",address:e.publicKey.toBase58(),meta:t,imported:!1,connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:async()=>e.connected,disconnect:()=>{try{e.disconnect()}catch(e){console.error("Wallet does not support programmatic disconnect")}},getProvider:a(`${this.walletClientType||""} wallet does not support 'getProvider'`),signMessage:n??a(`${this.walletClientType||""} wallet does not support 'signMessage'`),sendTransaction:s??a(`${this.walletClientType||""} wallet does not support 'sendTransaction'`),signTransaction:r??a(`${this.walletClientType||""} wallet does not support 'signTransaction'`)}}async syncAccounts(){if("Installed"===this.adapter.readyState&&this.adapter.publicKey){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};this.wallets.find((e=>this.adapter.publicKey&&e.address===this.adapter.publicKey.toBase58()))||(this.wallets=[this.buildConnectedWallet(this.adapter,e)],this.emit("walletsUpdated"))}else this.wallets.length>0&&(this.wallets=[],this.emit("walletsUpdated"))}get walletBranding(){return{id:this.adapter.name,name:this.adapter.name,icon:this.adapter.icon}}async initialize(){this.subscribeListeners(),await this.syncAccounts(),this.shouldAutoConnect&&await this.adapter.autoConnect().catch(console.error),this.initialized=!0,this.emit("initialized")}async connect(e){return e.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}async getConnectedWallet(){return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt))[0]||null}async isConnected(){return this.adapter.connected&&["Installed"].includes(this.adapter.readyState)}subscribeListeners(){this.adapter.addListener("disconnect",this.onDisconnect),this.adapter.addListener("connect",this.onConnect),this.adapter.addListener("error",this.onError),this.adapter.addListener("readyStateChange",this.onReadyStateChange)}unsubscribeListeners(){this.adapter.removeAllListeners()}constructor(e,t){super(function(e){return Y.includes(e)}(e.name.toLowerCase())?e.name.toLowerCase():"unknown"),this.chainType="solana",this.connectorType="solana_adapter",this.disconnect=()=>{this.adapter.disconnect().then((()=>this.onDisconnect())).catch((e=>console.error("Error disconnecting",e)))},this.promptConnection=async()=>{try{await this.adapter.connect()}catch(e){throw $(e)}},this.onDisconnect=()=>{this.syncAccounts()},this.onConnect=e=>{this.syncAccounts()},this.onError=e=>{this.syncAccounts()},this.onReadyStateChange=e=>{"Installed"!==e&&(this.connected=!1),this.syncAccounts()},this.adapter=e,this.shouldAutoConnect=t,this.wallets=[]}}const Z="sdk_fiat_on_ramp_completed_with_status";let ee=U({plugins:{current:{}}});const te=({children:e})=>{let t=I({});return D(ee.Provider,{value:{plugins:t},children:e})},ae=(...e)=>{let{plugins:t}=N(ee);S((()=>{for(let a of e)t.current[a.id]=a;return()=>{for(let a of e)delete t.current[a.id]}}),[t])},ne=()=>{let{plugins:e}=N(ee);return O((t=>e.current[t]),[e])},se=Symbol("solana-funding-plugin"),re=()=>{let{embeddedSolanaWallet:e,exportSolanaWallet:t,createEmbeddedSolanaWallet:a,solanaWallets:o,delegateWallet:d}=n(),{user:l}=s();return{createWallet:a,exportWallet:t,delegateWalletAction:async()=>{let e=r(l);if(!e)throw new i("User must have a solana wallet in order to delegate actions");return await d({address:e.address,chainType:"solana"})},wallets:o.concat(e?[e]:[])}};function ie(e){let t=new RegExp(RegExp("^eip155:(?<chainId>\\d+)$","gm")),a=t.exec(e)?.groups?.chainId;if(a)return parseInt(a);throw Error("Chain ID not compatible with CAIP-2 format.")}const oe=e=>e.filter((e=>"wallets"===e.method||("exchange"===e.method?"coinbase"===e.provider:"card"===e.method||"payment-request"===e.method?"coinbase"===e.provider||"moonpay"===e.provider:(e.method,!1)))),de="moonpay";let le=new Set([o.id,d.id,l.id,c.id]),ce=new Set([o.id,d.id,u.id,l.id,c.id]);function ue(e,t){switch(e){case d.id:return"native-currency"===t?"ETH_ARBITRUM":"USDC_ARBITRUM";case 43114:return"AVAX_CCHAIN";case l.id:return"native-currency"===t?"ETH_BASE":"USDC_BASE";case h.id:return"CELO_CELO";case c.id:return"native-currency"===t?"MATIC_POLYGON":"USDC_POLYGON";case o.id:return"native-currency"===t?"ETH_ETHEREUM":"USDC_ETHEREUM";default:return console.warn(`Chain ${e} not supported by Moonpay, defaulting to Ethereum mainnet`),"ETH_ETHEREUM"}}function he(e){return parseFloat(e)}function Ee(e){return!!e&&void 0!==e.config&&void 0!==e.provider}function _e(e){return!!e&&(void 0!==e.chain||void 0!==e.amount)}function pe(e,t=!1){let[a,s]=v(null),{createAnalyticsEvent:r}=n(),{data:i,navigate:o,setModalData:d}=x(),l=i?.funding,c=I(0);return S((()=>{let a=setInterval((async()=>{if(e)try{let[n]=await async function(e,t){return L(`${t?E:_}/transactions/ext/${e}`,{query:{apiKey:t?p:m}})}(e,t),i="waitingAuthorization"===n.status&&"credit_debit_card"===n.paymentMethod?"pending":n.status;if(["failed","completed","awaitingAuthorization"].includes(i)&&(r({eventName:Z,payload:{status:i,provider:de,paymentMethod:n.paymentMethod,cardPaymentType:n.cardPaymentType,currency:n.currency?.code,baseCurrencyAmount:n.baseCurrencyAmount,quoteCurrencyAmount:n.quoteCurrencyAmount,feeAmount:n.feeAmount,extraFeeAmount:n.extraFeeAmount,networkFeeAmount:n.networkFeeAmount,isSandbox:t}}),clearInterval(a)),"failed"===i||"serviceFailure"===i)return d({funding:{...l,errorMessage:"Something went wrong adding funds from Moonpay. Please try again or use another method to fund your wallet."}}),void o(P.FUNDING_METHOD_SELECTION_SCREEN);s(i)}catch(e){404!==e.response?.status&&(c.current+=1),c.current>=3&&(r({eventName:Z,payload:{status:"serviceFailure",provider:de}}),clearInterval(a),d({funding:{...l,errorMessage:"Something went wrong adding funds from Moonpay. Please try again or use another method to fund your wallet."}}),o(P.FUNDING_METHOD_SELECTION_SCREEN))}}),3e3);return()=>clearInterval(a)}),[e,c]),a}const me=(e,t)=>{switch(t){case"native-currency":return le.has(e);case"USDC":return ce.has(e);default:return console.warn("Unknown asset passed to MoonPay Onramp"),!1}},ge={[o.id]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[g.id]:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",[u.id]:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",[C.id]:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",[c.id]:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",[f.id]:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",[l.id]:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",[y.id]:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",[w.id]:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",[T.id]:"0x5425890298aed601595a70ab815c96711a31bc65",[d.id]:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",[b.id]:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d"},Ce=({address:e,appConfig:t,fundWalletConfig:a,methodScreen:n,chainIdOverride:s,comingFromSendTransactionScreen:r=!1})=>{let o,d;if(!t.fundingConfig)throw Error("Wallet funding is not enabled");let l=oe(t.fundingConfig.options);if(l.length<1)throw Error("Wallet funding is not enabled");o=s||(_e(a)&&a.chain?a.chain.id:ie(t.fundingConfig.defaultRecommendedCurrency.chain));let c=t.chains.find((e=>e.id===o));if(!c)throw new i(`Funding chain ${o} is not in PrivyProvider chains list`);let u=_e(a)&&a.amount?a.amount:t.fundingConfig.defaultRecommendedAmount,h=!1;function E(){if(!o)return;let e=ge[o];l.find((e=>"wallets"===e.method))&&!e&&console.warn("Attempting to fund with USDC on chain where USDC address is not known. Funding via external wallet will be disabled."),d=e,h=!0}return _e(a)&&"asset"in a?"USDC"===a.asset?E():"string"!=typeof a.asset&&"erc20"in a.asset&&(h=((e,t)=>e===ge[t.id])(d=a.asset.erc20,c)):"USDC"===t.fundingConfig.defaultRecommendedCurrency.asset&&E(),{chainType:"ethereum",address:e,amount:u,chain:c,erc20Address:d,erc20ContractInfo:h?{symbol:"USDC",decimals:6}:void 0,isUSDC:h,methodScreen:n,supportedOptions:l,comingFromSendTransactionScreen:r,crossChainBridgingEnabled:t.fundingConfig.crossChainBridgingEnabled??!1,...Ee(a)?{moonpayConfigOverride:a.config}:{}}};function fe({address:e,fundWalletConfig:t,appConfig:a,comingFromSendTransactionScreen:n,methodScreen:s}){if(!a.fundingConfig)throw Error("Wallet funding is not enabled");let r=oe(a.fundingConfig.options);if(r.length<1)throw Error("Wallet funding is not enabled");return{chainType:"solana",address:e,supportedOptions:r,amount:t?.amount??a.fundingConfig.defaultRecommendedAmount,isUSDC:!1,methodScreen:s,comingFromSendTransactionScreen:n,cluster:t?.cluster??{name:"mainnet-beta"},crossChainBridgingEnabled:a.fundingConfig.crossChainBridgingEnabled??!1}}export{J as C,Z as O,G as P,B as R,se as S,j as U,H as W,V as a,re as b,ue as c,he as d,me as e,$ as f,pe as g,K as h,z as i,te as j,Ce as k,Q as l,ie as m,q as n,X as o,fe as p,ae as q,ne as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{FetchError as e}from"ofetch";import{getAddress as t}from"@ethersproject/address";import{jsx as a}from"react/jsx-runtime";import{useState as i,useMemo as r,useEffect as n,useContext as l,createContext as s}from"react";import o from"tinycolor2";var c;class p extends Error{toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(e,t,a){super(e),t instanceof Error&&(this.cause=t),this.privyErrorCode=a}}class d extends p{constructor(e,t,a,i,r,n){super(a,i,r),this.type=e,this.status=t,this.data=n}}class u extends p{constructor(e,t,a){super(e,t,a),this.type="client_error"}}class h extends u{constructor(){super("Request timed out",void 0,"client_request_timeout")}}class m extends p{constructor(e,t,a){super(e,t,a),this.type="connector_error"}}const f=t=>{if(t instanceof p)return t;if(!(t instanceof e))return _(t);if(!t.response)return new d("api_error",null,t.message,t);let{type:a,message:i,error:r,code:n}=t.data;return new d(a||"ApiError",t.response.status,i||r,t,n,t.data)},_=e=>e instanceof p?e:e instanceof Error?new u(e.message,e):new u(`Internal error: ${e}`);var y;(c=y||(y={})).OAUTH_ACCOUNT_SUSPENDED="oauth_account_suspended",c.MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",c.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",c.MISSING_OR_INVALID_TOKEN="missing_or_invalid_token",c.INVALID_DATA="invalid_data",c.INVALID_CAPTCHA="invalid_captcha",c.LINKED_TO_ANOTHER_USER="linked_to_another_user",c.CANNOT_LINK_MORE_OF_TYPE="cannot_link_more_of_type",c.FAILED_TO_LINK_ACCOUNT="failed_to_link_account",c.FAILED_TO_UPDATE_ACCOUNT="failed_to_update_account",c.USER_EXITED_UPDATE_FLOW="exited_update_flow",c.ALLOWLIST_REJECTED="allowlist_rejected",c.OAUTH_USER_DENIED="oauth_user_denied",c.OAUTH_UNEXPECTED="oauth_unexpected",c.UNKNOWN_AUTH_ERROR="unknown_auth_error",c.USER_EXITED_AUTH_FLOW="exited_auth_flow",c.USER_EXITED_LINK_FLOW="exited_link_flow",c.USER_EXITED_SET_PASSWORD_FLOW="user_exited_set_password_flow",c.MUST_BE_AUTHENTICATED="must_be_authenticated",c.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",c.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",c.CLIENT_REQUEST_TIMEOUT="client_request_timeout",c.INVALID_CREDENTIALS="invalid_credentials",c.MISSING_MFA_CREDENTIALS="missing_or_invalid_mfa",c.UNKNOWN_MFA_ERROR="unknown_mfa_error",c.EMBEDDED_WALLET_ALREADY_EXISTS="embedded_wallet_already_exists",c.EMBEDDED_WALLET_NOT_FOUND="embedded_wallet_not_found",c.EMBEDDED_WALLET_CREATE_ERROR="embedded_wallet_create_error",c.UNKNOWN_EMBEDDED_WALLET_ERROR="unknown_embedded_wallet_error",c.EMBEDDED_WALLET_PASSWORD_UNCONFIRMED="embedded_wallet_password_unconfirmed",c.EMBEDDED_WALLET_PASSWORD_ALREADY_EXISTS="embedded_wallet_password_already_exists",c.EMBEDDED_WALLET_RECOVERY_ALREADY_EXISTS="embedded_wallet_recovery_already_exists",c.TRANSACTION_FAILURE="transaction_failure",c.UNSUPPORTED_CHAIN_ID="unsupported_chain_id",c.NOT_SUPPORTED="not_supported",c.CAPTCHA_TIMEOUT="captcha_timeout",c.INVALID_MESSAGE="invalid_message",c.UNABLE_TO_SIGN="unable_to_sign",c.CAPTCHA_FAILURE="captcha_failure",c.CAPTCHA_DISABLED="captcha_disabled",c.SESSION_STORAGE_UNAVAILABLE="session_storage_unavailable",c.TOO_MANY_REQUESTS="too_many_requests",c.USER_LIMIT_REACHED="max_accounts_reached",c.DISALLOWED_LOGIN_METHOD="disallowed_login_method",c.DISALLOWED_PLUS_EMAIL="disallowed_plus_email",c.PASSKEY_NOT_ALLOWED="passkey_not_allowed",c.USER_DOES_NOT_EXIST="user_does_not_exist",c.INSUFFICIENT_BALANCE="insufficient_balance",c.ACCOUNT_TRANSFER_REQUIRED="account_transfer_required";class g extends u{constructor(){super("Method called before `ready`. Ensure you wait until `ready` is true before calling.")}}class b extends u{constructor(e="Embedded wallet error",t){super(e,t,"unknown_embedded_wallet_error")}}class w extends u{constructor(e="User must be authenticated"){super(e,void 0,"must_be_authenticated")}}class v extends u{constructor(e){super("This application is in development mode and must be upgraded to production to log in new users.",e,"max_accounts_reached")}}const A="https://auth.privy.io",E=2e4,k=1400,C=2500,S=4e3,T="1.95.2-beta-20241126164238",W="privy:token",O="privy-token",U="privy:refresh_token",L="privy-refresh-token",x="privy:pat",I="privy:id_token",M="privy-id-token",D="privy-session",P="privy:session_transfer_token",N="privy:caid",R=e=>`privy:guest:${e}`,F=e=>`privy:cross-app:${e}`,H="privy:state_code",j="privy:code_verifier",V="privy:headless_oauth",B="privy:oauth_disable_signup",z=e=>`privy:wallet:${e}`,K="privy:connectors",G="privy:connections",q=12e4,Y=1,$="0x1",X=3e4,Z="https://api.moonpay.com/v1",J="https://api.moonpay.com/v1",Q="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",ee="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",te="deprecated",ae=()=>{throw Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")},ie=e=>()=>{throw Error(e.trim())};function re(e){return e?new Date(1e3*e):null}function ne(e,t){return e.slice().sort(((e,t)=>(t.firstVerifiedAt??t.verifiedAt).getTime()-(e.firstVerifiedAt??e.verifiedAt).getTime())).find((e=>e.type===t))}const le=e=>e?.linkedAccounts.find((e=>"wallet"===e.type&&"privy"===e.walletClientType&&!e.imported&&"ethereum"===e.chainType&&0===e.walletIndex))||null,se=e=>e?.linkedAccounts.filter((e=>"wallet"===e.type&&"privy"===e.walletClientType&&!e.imported&&"ethereum"===e.chainType)),oe=e=>se(e).reduce(((e,t)=>!e||e.walletIndex<t.walletIndex?t:e))||null,ce=e=>e?.linkedAccounts.find((e=>"wallet"===e.type&&"privy"===e.walletClientType&&!e.imported&&"solana"===e.chainType&&0===e.walletIndex))||null,pe=e=>e?.linkedAccounts.find((e=>"wallet"===e.type&&"privy"===e.walletClientType&&e.imported&&"ethereum"===e.chainType))||null,de=(e,t)=>e?.linkedAccounts.find((e=>"wallet"===e.type&&"privy"===e.walletClientType&&e.address===t))||null,ue=e=>le(e)??ce(e),he=e=>{if("ethereum"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"ethereum-address-verifier"};if("solana"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"solana-address-verifier"};throw Error("Failed to get account entropy details")},me=e=>{let t=ue(e);if(!t)throw Error("Failed to find primary wallet");return he(t)},fe=(e,a)=>{let i=(r=e,r?.linkedAccounts.filter((e=>"wallet"===e.type&&"privy"===e.walletClientType&&"ethereum"===e.chainType))).find((e=>t(e.address)===t(a)));var r;return{signingWallet:i,rootWallet:i?i.imported?i:le(e):void 0}},_e=(e,t)=>{let a=(e=>e?.linkedAccounts.filter((e=>"wallet"===e.type&&"privy"===e.walletClientType&&!e.imported&&"solana"===e.chainType)))(e).find((e=>e.address.toLowerCase()===t.toLowerCase()));return{signingWallet:a,rootWallet:0===a?.walletIndex?a:ce(e)}};const ye=(e,t)=>!(le(e)||ce(e)||"all-users"!==t&&("users-without-wallets"!==t||(e=>e.linkedAccounts.filter((e=>"wallet"===e.type)))(e)?.length));function ge(e){if(!e)return null;let t=function(e){let t=[];for(let a of e){let e=a.type;switch(a.type){case"wallet":let i={address:a.address,type:a.type,imported:a.imported,delegated:a.delegated,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at),chainType:a.chain_type,chainId:a.chain_id,walletClient:"privy"===a.wallet_client_type?"privy":"unknown",walletClientType:a.wallet_client_type,connectorType:a.connector_type,recoveryMethod:a.recovery_method,walletIndex:a.wallet_index};t.push(i);break;case"smart_wallet":let r={address:a.address,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at),smartWalletType:a.smart_wallet_type};t.push(r);break;case"cross_app":let n={type:a.type,subject:a.subject,embeddedWallets:a.embedded_wallets,smartWallets:a.smart_wallets,providerApp:{id:a.provider_app_id},verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(n);break;case"email":let l={address:a.address,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(l);break;case"phone":let s={number:a.phoneNumber,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(s);break;case"google_oauth":let o={subject:a.subject,email:a.email,name:a.name,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(o);break;case"spotify_oauth":let c={subject:a.subject,email:a.email,name:a.name,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(c);break;case"instagram_oauth":let p={subject:a.subject,username:a.username,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(p);break;case"twitter_oauth":let d={subject:a.subject,username:a.username,name:a.name,type:a.type,profilePictureUrl:a.profile_picture_url,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(d);break;case"discord_oauth":let u={subject:a.subject,username:a.username,email:a.email,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(u);break;case"github_oauth":let h={subject:a.subject,username:a.username,name:a.name,email:a.email,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(h);break;case"tiktok_oauth":let m={subject:a.subject,username:a.username,name:a.name,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(m);break;case"linkedin_oauth":let f={subject:a.subject,name:a.name,email:a.email,vanityName:a.vanity_name,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(f);break;case"apple_oauth":let _={subject:a.subject,email:a.email,type:a.type,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(_);break;case"custom_auth":t.push({type:a.type,customUserId:a.custom_user_id,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)});break;case"farcaster":let y={type:a.type,fid:a.fid,ownerAddress:a.owner_address,displayName:a.display_name,username:a.username,bio:a.bio,pfp:a.profile_picture_url,url:a.homepage_url,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at),signerPublicKey:a.signer_public_key};t.push(y);break;case"passkey":let g={type:a.type,enrolledInMfa:a.enrolled_in_mfa,credentialId:a.credential_id,authenticatorName:a.authenticator_name,createdWithDevice:a.created_with_device,createdWithOs:a.created_with_os,createdWithBrowser:a.created_with_browser,verifiedAt:re(a.verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(g);break;case"telegram":let b={type:a.type,telegramUserId:a.telegram_user_id,firstName:a.first_name,lastName:a.last_name,username:a.username,photoUrl:a.photo_url,verifiedAt:re(a.first_verified_at),firstVerifiedAt:re(a.first_verified_at),latestVerifiedAt:re(a.latest_verified_at)};t.push(b);break;default:console.warn(`Unrecognized account type: ${e}. Please consider upgrading the Privy SDK.`)}}return t}(e.linked_accounts),a=ne(t,"wallet"),i=ne(t,"smart_wallet"),r=ne(t,"email"),n=ne(t,"phone"),l=ne(t,"google_oauth"),s=ne(t,"twitter_oauth"),o=ne(t,"discord_oauth"),c=ne(t,"github_oauth"),p=ne(t,"spotify_oauth"),d=ne(t,"instagram_oauth"),u=ne(t,"tiktok_oauth"),h=ne(t,"linkedin_oauth"),m=ne(t,"apple_oauth"),f=ne(t,"farcaster"),_=ne(t,"telegram"),y=e.mfa_methods.map((({type:e,verified_at:t})=>({type:e,verifiedAt:re(t)})));return{id:e.id,createdAt:re(e.created_at),linkedAccounts:t,email:r&&{address:r?.address},phone:n&&{number:n?.number},wallet:a&&{address:a.address,chainType:a.chainType,chainId:a.chainId,walletClient:a.walletClient,walletClientType:a.walletClientType,connectorType:a.connectorType,recoveryMethod:a.recoveryMethod,imported:a.imported,delegated:a.delegated,walletIndex:a.walletIndex},smartWallet:i&&{address:i.address,smartWalletType:i.smartWalletType},google:l&&{subject:l.subject,email:l.email,name:l.name},twitter:s&&{subject:s.subject,username:s.username,name:s.name,profilePictureUrl:s.profilePictureUrl},discord:o&&{subject:o.subject,username:o.username,email:o.email},github:c&&{subject:c.subject,username:c.username,name:c.name,email:c.email},spotify:p&&{subject:p.subject,email:p.email,name:p.name},instagram:d&&{subject:d.subject,username:d.username},tiktok:u&&{subject:u.subject,username:u.username,name:u.name},linkedin:h&&{subject:h.subject,name:h.name,email:h.email,vanityName:h.vanityName},apple:m&&{subject:m.subject,email:m.email},farcaster:f&&{fid:f.fid,ownerAddress:f.ownerAddress,displayName:f.displayName,username:f.username,bio:f.bio,pfp:f.pfp,url:f.url,signerPublicKey:f.signerPublicKey},telegram:_&&{telegramUserId:_.telegramUserId,firstName:_.firstName,lastName:_.lastName,username:_.username,photoUrl:_.photoUrl},delegatedWallets:[],mfaMethods:y.map((e=>e.type)),hasAcceptedTerms:e.has_accepted_terms??!1,isGuest:e.is_guest,customMetadata:e.custom_metadata}}const be={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"}}},we={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},ve={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"}}},Ae={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},Ee={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"}}},ke={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},Ce={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},Se={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},Te={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"}}},We={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"}}},Oe={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},Ue={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"}}},Le={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},xe={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},Ie={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"}}},Me=[be,we,xe,Te,We,Oe,Ue,Le,Ce,{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"}}},Ee,ke,{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"}}},Se,{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},ve,Ae,Ie,{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"}}}],De=new Set(Me.map((e=>e.id))),Pe={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 Ne=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"]),Re=e=>Ne.has(e),Fe=(e,t,a)=>a.indexOf(e)===t;const He=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter(Re).filter(Fe):e?e.filter(Re).filter(Fe):Pe.appearance.walletList;function je(e,t){return{...e,rpcUrls:{...e.rpcUrls,privyWalletOverride:{http:[t]}}}}function Ve(e){let t=e.filter((e=>!De.has(e.id)));return Me.concat(t)}function Be(e,t){return{...e,rpcUrls:{...e.rpcUrls,privy:{http:[t]}}}}let ze="#FFFFFF";function Ke(e,t){let a=Math.max(0,Math.min(1,e.toHsl().l+t));return o({...e.toHsl(),l:a})}function Ge({backgroundTheme:e,accentHex:t}){let a;switch(e){case"light":a=ze;break;case"dark":a="#1E1E1D";break;default:a=e}let i=o(a),r=o(t),n=o("#51BA81"),l=o("#FFB74D"),s=o("#EC6351"),c=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"}(i.getLuminance()),p=Ke(i,"light"===c?-.04:.11),d=Ke(i,"light"===c?-.88:.87),u=Ke(i,"light"===c?-.7:.75),h=Ke(i,"light"===c?-.43:.45).desaturate("light"===c?60:20),m=Ke(i,"light"===c?-.08:.25).desaturate("light"===c?60:20),f=Ke(r,.15),_=Ke(r,.25),y=Ke(r,-.06),g=Ke(r,-.6),b=Ke(s,.3),w=Ke(l,.3),v=o(r.getLuminance()>.5?"#040217":ze),A=Ke(n,-.16),E=Ke(n,.4);return{colorScheme:c,background:i.toHslString(),background2:p.toHslString(),foreground:d.toHslString(),foreground2:u.toHslString(),foreground3:h.toHslString(),foreground4:m.toHslString(),accent:r.toHslString(),accentLight:f.toHslString(),accentLightest:_.toHslString(),accentDark:y.toHslString(),accentDarkest:g.toHslString(),foregroundAccent:v.toHslString(),success:n.toHslString(),successDark:A.toHslString(),successLight:E.toHslString(),error:s.toHslString(),errorLight:b.toHslString(),warn:l.toHslString(),warnLight:w.toHslString()}}function qe(e,t,a){let i,r,n,l,s,o,c,p,d,u,h,m,f,_,y,g,b=a?console.warn:()=>{};t?.loginMethods?(i=t.loginMethods.includes("email"),r=t.loginMethods.includes("sms"),l=t.loginMethods.includes("wallet"),s=t.loginMethods.includes("google"),o=t.loginMethods.includes("twitter"),c=t.loginMethods.includes("discord"),d=t.loginMethods.includes("spotify"),u=t.loginMethods.includes("instagram"),p=t.loginMethods.includes("tiktok"),m=t.loginMethods.includes("github"),h=t.loginMethods.includes("linkedin"),f=t.loginMethods.includes("apple"),_=t.loginMethods.includes("farcaster"),y=t.loginMethods.includes("telegram")):(i=e.emailAuth,r=e.smsAuth,l=e.walletAuth||e.solanaWalletAuth,s=e.googleOAuth,o=e.twitterOAuth,c=e.discordOAuth,m=e.githubOAuth,d=e.spotifyOAuth,u=e.instagramOAuth,p=e.tiktokOAuth,h=e.linkedinOAuth,f=e.appleOAuth,_=e.farcasterAuth,y=e.telegramAuth),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential?n=!1:e.passkeyAuth&&(n=!0);let w=[i,r].filter(Boolean),v=[s,o,c,m,d,u,p,h,f,_,y].filter(Boolean),A=[l].filter(Boolean);if(w.length+v.length+A.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===A.length?(b("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),E=!1):E||v.length+w.length!==0||(b("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),E=!0);let k=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&b("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let C=He({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder}),S=(({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 i of e.overflow??[])t.includes(i)||a.includes(i)?console.warn(`Duplicated login method: ${i}`):a.push(i);return{primary:t,overflow:a}})({input:t?.loginMethodsAndOrder}),T=t?.intl?.defaultCountry??"US",{chains:W,defaultChain:O}=function({additionalChains:e,supportedChains:t,defaultChainFromConfig:a,hasRpcConfigDefined:i}){let r;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&&i&&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`."),r=t.map((e=>{if(e.rpcUrls.privyWalletOverride)return e;let t=Me.find((t=>t.id===e.id)),a=t?.rpcUrls.privy?.http[0];return a?Be(e,a):e}))}else r=Me.concat(e??[]);let n=t?r[0]:Te,l=a??n;if(!r.find((e=>e.id===l.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:r,defaultChain:l}}({additionalChains:t?.additionalChains,supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain,hasRpcConfigDefined:Object.keys(t?.rpcConfig?.rpcUrls??{}).length>0}),U=!!t?.defaultChain,L=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,x=!(e.enforceWalletUis??1);if(g=e.legacyWalletUiConfig??1?L?t?.embeddedWallets?.noPromptOnSignature??!0:t?.embeddedWallets?.noPromptOnSignature??x:x,!1===t?.embeddedWallets?.waitForTransactionConfirmation&&!0!==g)throw Error("Overriding `config.embeddedWallets.waitForTransactionConfirmation` requires that you disable wallet UIs in the dashboard.");let{requireUserPasswordOnCreate:I,...M}=t?.embeddedWallets??{};return e.solanaWalletAuth&&!t?.externalWallets?.solana?.connectors&&console.warn("App configuration has Solana wallet login enabled, but no Solana wallet connectors have been passed to Privy. Make sure to pass Solana connectors to the `config.externalWallets.solana.connectors` field of the `PrivyProvider`"),{id:e.id,name:e.name,allowlistConfig:e.allowlistConfig,legacyWalletUiConfig:e.legacyWalletUiConfig,appearance:{logo:t?.appearance?.logo??e.logoUrl,landingHeader:t?.appearance?.landingHeader??Pe.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,palette:Ge({backgroundTheme:t?.appearance?.theme??Pe.appearance.theme,accentHex:t?.appearance?.accentColor??e.accentColor??Pe.appearance.accentColor}),loginGroupPriority:E?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:C,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:l,email:i,sms:r,passkey:n,google:s,twitter:o,discord:c,github:m,spotify:d,instagram:u,tiktok:p,linkedin:h,apple:f,farcaster:_,telegram:y},disablePlusEmails:e.disablePlusEmails,loginMethodsAndOrder:S,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.termsAndConditionsUrl,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacyPolicyUrl,requireUsersAcceptTerms:e.requireUsersAcceptTerms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.walletConnectCloudProjectId??Pe.walletConnectCloudProjectId,rpcConfig:{rpcUrls:t?.rpcConfig?.rpcUrls??Pe.rpcConfig.rpcUrls,rpcTimeouts:t?.rpcConfig?.rpcTimeouts??Pe.rpcConfig.rpcTimeouts},chains:W,defaultChain:O,intl:{defaultCountry:T},shouldEnforceDefaultChainOnConnect:U,captchaEnabled:e.captchaEnabled??Pe.captchaEnabled,captchaSiteKey:e.captchaSiteKey,externalWallets:{coinbaseWallet:{connectionOptions:t?.externalWallets?.coinbaseWallet?.connectionOptions??Pe.externalWallets.coinbaseWallet.connectionOptions},walletConnect:{enabled:k},solana:{connectors:t?.externalWallets?.solana?.connectors}},embeddedWallets:{...e.embeddedWalletConfig,..."boolean"==typeof I?{requireUserOwnedRecoveryOnCreate:I}:{},...L?{createOnLogin:"all-users",requireUserOwnedRecoveryOnCreate:!1,userOwnedRecoveryOptions:["user-passcode"]}:{},waitForTransactionConfirmation:!0,priceDisplay:{primary:"fiat-currency",secondary:"native-token"},...M,noPromptOnSignature:g,showWalletUIs:t?.embeddedWallets?.showWalletUIs,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding},mfa:{methods:e.mfaMethods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},customAuth:L?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:e.telegramAuthConfiguration},headless:!!t?.headless,render:{standalone:t?._render?.standalone??Pe._render.standalone},fundingConfig:e.fundingConfig,fundingMethodConfig:{...t?.fundingMethodConfig??Pe.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??Pe.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??t?.fiatOnRamp?.useSandbox??Pe.fundingMethodConfig.moonpay.useSandbox}}}}let Ye={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 $e=qe(Ye,void 0,!1);let Xe=s({appConfig:$e,isServerConfigLoaded:!1});const Ze=({children:e,legacyCreateEmbeddedWalletFlag:t,client:l,clientConfig:s})=>{let[o,c]=i(null),p=r((()=>qe(o??Ye,s,!!o)),[o,s]);return n((()=>{if(!o)return;let e=function(e,t){if(!e)return{legacyCreateEmbeddedWalletFlag:t};let{appearance:a,additionalChains:i,supportedChains:r,defaultChain:n,externalWallets:l,...s}=e;return{...s,...i?{additionalChains:i.map((e=>e.id))}:void 0,...r?{supportedChains:r.map((e=>e.id))}:void 0,...n?{defaultChain:n.id}:void 0,...l?{walletConnect:l.walletConnect,coinbaseWallet:l.coinbaseWallet,solana:{connectors:l.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0,legacyCreateEmbeddedWalletFlag:t}}(s,t),a=function(e,t=0){let a=3735928559^t,i=1103547991^t;for(let t,r=0;r<e.length;r++)a=Math.imul(a^(t=e.charCodeAt(r)),2654435761),i=Math.imul(i^t,1597334677);return a=Math.imul(a^a>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),4294967296*(2097151&(i=Math.imul(i^i>>>16,2246822507)^Math.imul(a^a>>>13,3266489909)))+(a>>>0)}(JSON.stringify(e)).toString(),i=`privy:sent:${o.id}:${a}`;localStorage.getItem(i)||(l.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(i,"t"))}),[s,t,o]),n((()=>{o||(async()=>{try{let e=await l.getServerConfig();e.customApiUrl&&l.updateApiUrl(e.customApiUrl),c(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),a(Xe.Provider,{value:{appConfig:p,isServerConfigLoaded:!!o},children:e})},Je=()=>{let{appConfig:e}=l(Xe);return e},Qe=()=>{let{isServerConfigLoaded:e}=l(Xe);return e},et=s({isNewUserThisSession:!1,walletConnectionStatus:null,connectors:[],solanaWallets:[],rpcConfig:{rpcUrls:{}},showFiatPrices:!0,chains:[],clientAnalyticsId:null,pendingTransaction:null,client:null,appId:"notAdded",customAuthStatus:{status:"not-enabled"},noPromptOnSignature:{current:!1},nativeTokenSymbolForChainId:ae,initializeWalletProxy:ae,getAuthMeta:ae,getAuthFlow:ae,closePrivyModal:ae,openPrivyModal:ae,connectWallet:ae,initLoginWithWallet:ae,loginWithWallet:ae,initLoginWithFarcaster:ae,loginWithFarcaster:ae,loginWithCode:ae,initLoginWithEmail:ae,initLoginWithSms:ae,initUpdateEmail:ae,initUpdatePhone:ae,resendEmailCode:ae,resendSmsCode:ae,initLoginWithHeadlessOAuth:ae,loginWithHeadlessOAuth:ae,crossAppAuthFlow:ae,initLoginWithOAuth:ae,recoveryOAuthFlow:ae,loginWithOAuth:ae,passkeyAuthState:{status:"initial"},setPasskeyAuthState:ae,initLoginWithPasskey:ae,loginWithPasskey:ae,initLinkWithPasskey:ae,linkWithPasskey:ae,refreshUser:ae,loginWithGuestAccountFlow:ae,walletProxy:null,createAnalyticsEvent:ae,acceptTerms:ae,getUsdTokenPrice:ae,getUsdPriceForSol:ae,recoverPrimaryWallet:ae,updateWallets:ae,fundWallet:ae,openModal:ae,setReadyToTrue:ae,requestFarcasterSignerStatus:ae,initLoginWithTelegram:ae,loginWithTelegram:ae,generateSiweMessage:ae,generateSiweMessageForSmartWallet:ae,linkWithSiwe:ae,linkSmartWallet:ae,delegateWallet:ae,revokeDelegatedWallets:ae,embeddedSolanaWallet:null,createEmbeddedSolanaWallet:ae,exportSolanaWallet:ae,solanaSignMessage:ae,connectCoinbaseSmartWallet:ae,initiateAccountTransfer:ae,emailOtpState:{status:"initial"},setEmailOtpState:ae,smsOtpState:{status:"initial"},setSmsOtpState:ae,siweState:{status:"initial"},setSiweState:ae,oAuthState:{status:"initial"},setOAuthState:ae,isHeadlessOAuthLoading:!1}),tt=()=>l(et),at=s({ready:!1,authenticated:!1,user:null,walletConnectors:null,connectWallet:ae,login:ae,connectOrCreateWallet:ae,linkEmail:ae,linkPhone:ae,linkFarcaster:ae,linkWallet:ae,startCrossAppAuthFlow:ae,linkGoogle:ae,linkTwitter:ae,linkDiscord:ae,linkGithub:ae,linkSpotify:ae,linkInstagram:ae,linkTelegram:ae,linkTiktok:ae,linkLinkedIn:ae,linkApple:ae,linkPasskey:ae,updateEmail:ae,updatePhone:ae,logout:ae,getAccessToken:ae,getEthereumProvider:ae,getEthersProvider:ae,getWeb3jsProvider:ae,unlinkEmail:ae,unlinkPhone:ae,unlinkWallet:ae,unlinkGoogle:ae,unlinkTwitter:ae,unlinkDiscord:ae,unlinkGithub:ae,unlinkSpotify:ae,unlinkInstagram:ae,unlinkTiktok:ae,unlinkLinkedIn:ae,unlinkApple:ae,unlinkCrossAppAccount:ae,unlinkFarcaster:ae,unlinkTelegram:ae,unlinkPasskey:ae,setActiveWallet:ae,forkSession:ae,createWallet:ae,signMessage:ae,signTypedData:ae,enrollInMfa:ae,initEnrollmentWithSms:ae,initEnrollmentWithTotp:ae,initEnrollmentWithPasskey:ae,promptMfa:ae,init:ae,submitEnrollmentWithSms:ae,submitEnrollmentWithTotp:ae,submitEnrollmentWithPasskey:ae,unenroll:ae,submit:ae,cancel:ae,sendTransaction:ae,sendSolanaTransaction:ae,exportWallet:ae,setWalletPassword:ae,setWalletRecovery:ae,requestFarcasterSignerFromWarpcast:ae,getFarcasterSignerPublicKey:ae,signFarcasterMessage:ae,createGuestAccount:ae,signMessageWithCrossAppWallet:ae,signTypedDataWithCrossAppWallet:ae,sendTransactionWithCrossAppWallet:ae,isModalOpen:!1,mfaMethods:[]}),it=()=>l(at);export{be as $,N as A,tt as B,j as C,q as D,Je as E,P as F,it as G,V as H,I,ye as J,k as K,v as L,C as M,de as N,B as O,u as P,le as Q,U as R,H as S,ce as T,b as U,T as V,X as W,ue as X,w as Y,Ve as Z,Y as _,y as a,ve as a0,Ee as a1,Ce as a2,Se as a3,Te as a4,We as a5,Ue as a6,Ie as a7,S as a8,at as a9,pe as aa,Ze as ab,Qe as ac,me as ad,se as ae,oe as af,fe as ag,g as ah,_e as ai,et as aj,Me as ak,je as al,Be as am,ie as an,J as ao,Z as ap,ee as aq,Q as ar,xe as as,Oe as at,Le as au,ke as av,Ae as aw,we as ax,$e as ay,p as b,m as c,z as d,$ as e,f,R as g,De as h,K as i,he as j,G as k,h as l,W as m,ae as n,x as o,F as p,D as q,te as r,ge as s,_ as t,d as u,O as v,L as w,M as x,A as y,E as z};
|
|
@@ -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,B as o,E as s,G as l,ad as c}from"./privy-context-DPGGTP4R.mjs";import{u as p,M as d}from"./modal-context-CM9V79tL.mjs";import{n as u,u as _}from"./useWallets-DmUWD7Ng.mjs";import{g as m}from"./getEmbeddedConnectedWallet-CSSBWE2p.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 I}from"permissionless/clients/pimlico";import{toCoinbaseSmartAccount as f,entryPoint06Address as S,entryPoint07Address as T}from"viem/account-abstraction";import E,{z as A}from"zod";import k from"bs58";import{ethers as O}from"ethers";import{parsePhoneNumber as P}from"libphonenumber-js/max";let j;var w=((j=w||{}).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.INSUFFICIENT_FUNDS="insufficient_funds",j.TRANSACTION_BROADCAST_FAILURE="transaction_broadcast_failure",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")}},D=class extends C{constructor(e,t){super(401,e,t)}},N=class extends C{constructor(e,t){super(422,e,t)}};function U(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 L(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(w).optional()});var M={},x={};L(x,"AnalyticsEvent",(()=>W));let W={path:"/api/v1/analytics_events",method:"POST"};var F={};L(F,"AppConfig",(()=>G));let G={path:"/api/v1/apps/:app_id",method:"GET"};var V={};L(V,"CoinbaseOnRampInit",(()=>B)),L(V,"CoinbaseOnRampStatus",(()=>H));let B={path:"/api/v1/funding/coinbase_on_ramp/init",method:"POST"},H={path:"/api/v1/funding/coinbase_on_ramp/status",method:"GET"};var Y={};L(Y,"GetCrossAppConnections",(()=>q));let q={path:"/api/v1/apps/:app_id/cross-app/connections",method:"GET"};var K={};L(K,"CustomJWTAuthenticate",(()=>$));let $={path:"/api/v1/custom_jwt_account/authenticate",method:"POST"};var z={};L(z,"FarcasterInit",(()=>X)),L(z,"FarcasterAuthenticate",(()=>J)),L(z,"FarcasterLink",(()=>Q)),L(z,"FarcasterUnlink",(()=>Z)),L(z,"FarcasterStatus",(()=>ee)),L(z,"FarcasterV2Init",(()=>te)),L(z,"FarcasterV2Authenticate",(()=>ae));let X={path:"/api/v1/farcaster/init",method:"POST"},J={path:"/api/v1/farcaster/authenticate",method:"POST"},Q={path:"/api/v1/farcaster/link",method:"POST"},Z={path:"/api/v1/farcaster/unlink",method:"POST"},ee={path:"/api/v1/farcaster/status",method:"GET"},te={path:"/api/v2/farcaster/init",method:"POST"},ae={path:"/api/v2/farcaster/authenticate",method:"POST"};var ne={};L(ne,"FarcasterSignerInit",(()=>re)),L(ne,"FarcasterSignerStatus",(()=>ie));let re={path:"/api/v1/farcaster/signer/init",method:"POST"},ie={path:"/api/v1/farcaster/signer/status",method:"POST"};var oe={};L(oe,"GuestAuthenticate",(()=>se));let se={path:"/api/v1/guest/authenticate",method:"POST"};var le={};L(le,"MfaPasskeyInit",(()=>ce)),L(le,"MfaPasskeyVerify",(()=>pe)),L(le,"MfaPasskeyEnrollment",(()=>de));let ce={path:"/api/v1/mfa/passkeys/init",method:"POST"},pe={path:"/api/v1/mfa/passkeys/verify",method:"POST"},de={path:"/api/v1/mfa/passkeys/enrollment",method:"POST"};var ue={};L(ue,"MfaPasswordlessSmsEnroll",(()=>_e)),L(ue,"MfaPasswordlessSmsVerify",(()=>me)),L(ue,"MfaPasswordlessSmsInit",(()=>ge)),L(ue,"MfaPasswordlessSmsUnenroll",(()=>be));let _e={path:"/api/v1/mfa/passwordless_sms/enroll",method:"POST"},me={path:"/api/v1/mfa/passwordless_sms/verify",method:"POST"},ge={path:"/api/v1/mfa/passwordless_sms/init",method:"POST"},be={path:"/api/v1/mfa/passwordless_sms/unenroll",method:"POST"};var he={};L(he,"MfaTotpEnroll",(()=>ye)),L(he,"MfaTotpVerify",(()=>ve)),L(he,"MfaTotpInit",(()=>Ie)),L(he,"MfaTotpUnenroll",(()=>fe));let ye={path:"/api/v1/mfa/totp/enroll",method:"POST"},ve={path:"/api/v1/mfa/totp/verify",method:"POST"},Ie={path:"/api/v1/mfa/totp/init",method:"POST"},fe={path:"/api/v1/mfa/totp/unenroll",method:"POST"};var Se={};L(Se,"OAuthAuthenticate",(()=>Te)),L(Se,"OAuthInit",(()=>Ee)),L(Se,"OAuthLink",(()=>Ae)),L(Se,"OAuthUnlink",(()=>ke));let Te={path:"/api/v1/oauth/authenticate",method:"POST"},Ee={path:"/api/v1/oauth/init",method:"POST"},Ae={path:"/api/v1/oauth/link",method:"POST"},ke={path:"/api/v1/oauth/unlink",method:"POST"};var Oe={};L(Oe,"OAuthProviderAuthorize",(()=>Pe)),L(Oe,"OAuthProviderVerify",(()=>je));let Pe={path:"/oauth/authorization_code",method:"POST"},je={path:"/oauth/verify",method:"POST"};var we={};L(we,"PasskeyLink",(()=>Ce)),L(we,"PasskeyAuthenticate",(()=>Re)),L(we,"PasskeyAuthenticateInit",(()=>De)),L(we,"PasskeyLinkInit",(()=>Ne)),L(we,"PasskeyUnlink",(()=>Ue));let Ce={path:"/api/v1/passkeys/link",method:"POST"},Re={path:"/api/v1/passkeys/authenticate",method:"POST"},De={path:"/api/v1/passkeys/authenticate/init",method:"POST"},Ne={path:"/api/v1/passkeys/link/init",method:"POST"},Ue={path:"/api/v1/passkeys/unlink",method:"POST"};var Le={};L(Le,"PasswordlessAuthenticate",(()=>Me)),L(Le,"PasswordlessInit",(()=>xe)),L(Le,"PasswordlessLink",(()=>We)),L(Le,"PasswordlessUnlink",(()=>Fe)),L(Le,"PasswordlessUpdate",(()=>Ge));let Me={path:"/api/v1/passwordless/authenticate",method:"POST"},xe={path:"/api/v1/passwordless/init",method:"POST"},We={path:"/api/v1/passwordless/link",method:"POST"},Fe={path:"/api/v1/passwordless/unlink",method:"POST"},Ge={path:"/api/v1/passwordless/update",method:"POST"};var Ve={};L(Ve,"PasswordlessSmsAuthenticate",(()=>Be)),L(Ve,"PasswordlessSmsInit",(()=>He)),L(Ve,"PasswordlessSmsLink",(()=>Ye)),L(Ve,"PasswordlessSmsUnlink",(()=>qe)),L(Ve,"PasswordlessSmsUpdate",(()=>Ke));let Be={path:"/api/v1/passwordless_sms/authenticate",method:"POST"},He={path:"/api/v1/passwordless_sms/init",method:"POST"},Ye={path:"/api/v1/passwordless_sms/link",method:"POST"},qe={path:"/api/v1/passwordless_sms/unlink",method:"POST"},Ke={path:"/api/v1/passwordless_sms/update",method:"POST"};var $e={};L($e,"RecoveryKeyMaterial",(()=>ze)),L($e,"RecoveryOAuthInit",(()=>Xe)),L($e,"RecoveryOAuthAuthenticate",(()=>Je)),L($e,"RecoveryOAuthInitICloud",(()=>Qe)),L($e,"RecoveryOAuthCallbackICloudExpo",(()=>Ze)),L($e,"RecoveryConfigurationICloud",(()=>et));let ze={path:"/api/v1/embedded_wallets/:address/recovery/key_material",method:"POST"},Xe={path:"/api/v1/recovery/oauth/init",method:"POST"},Je={path:"/api/v1/recovery/oauth/authenticate",method:"POST"},Qe={path:"/api/v1/recovery/oauth/init_icloud",method:"POST"},Ze={path:"/api/v1/recovery/oauth/callback_icloud/:app_id/expo_ios",method:"GET"},et={path:"/api/v1/recovery/configuration_icloud",method:"POST"};var tt={};L(tt,"getPathWithParams",(()=>at));let at=(e,t)=>t?Object.entries(t).reduce(((e,[t,a])=>e.replace(`:${t}`,`${a}`)),e):e;var nt={};L(nt,"RefreshSession",(()=>rt)),L(nt,"Logout",(()=>it));let rt={path:"/api/v1/sessions",method:"POST"},it={path:"/api/v1/sessions/logout",method:"POST"};var ot={};L(ot,"GetSmartWalletConfig",(()=>st)),L(ot,"PostSmartWalletConfig",(()=>lt));let st={path:"/api/v1/apps/:app_id/smart_wallets",method:"GET"},lt={path:"/api/v1/apps/:app_id/smart_wallets",method:"POST"};var ct={};L(ct,"SiweInit",(()=>pt)),L(ct,"SiweAuthenticate",(()=>dt)),L(ct,"SiweLink",(()=>ut)),L(ct,"SiweLinkSmartWallet",(()=>_t)),L(ct,"SiweUnlink",(()=>mt));let pt={path:"/api/v1/siwe/init",method:"POST"},dt={path:"/api/v1/siwe/authenticate",method:"POST"},ut={path:"/api/v1/siwe/link",method:"POST"},_t={path:"/api/v1/siwe/link_smart_wallet",method:"POST"},mt={path:"/api/v1/siwe/unlink",method:"POST"};var gt={};L(gt,"SiwsInit",(()=>bt)),L(gt,"SiwsAuthenticate",(()=>ht)),L(gt,"SiwsLink",(()=>yt)),L(gt,"SiwsUnlink",(()=>vt));let bt={path:"/api/v1/siws/init",method:"POST"},ht={path:"/api/v1/siws/authenticate",method:"POST"},yt={path:"/api/v1/siws/link",method:"POST"},vt={path:"/api/v1/siws/unlink",method:"POST"};var It={};L(It,"AcceptTermsOnUser",(()=>ft));let ft={path:"/api/v1/users/me/accept_terms",method:"POST"};var St={};L(St,"TelegramAuthenticate",(()=>Tt)),L(St,"TelegramLink",(()=>Et)),L(St,"TelegramUnlink",(()=>At));let Tt={path:"/api/v1/telegram/authenticate",method:"POST"},Et={path:"/api/v1/telegram/link",method:"POST"},At={path:"/api/v1/telegram/unlink",method:"POST"};var kt={};L(kt,"MoonpayOnRampSign",(()=>Ot));let Ot={path:"/api/v1/plugins/moonpay_on_ramp/sign",method:"POST"};U(M,x),U(M,F),U(M,V),U(M,Y),U(M,K),U(M,z),U(M,ne),U(M,oe),U(M,le),U(M,ue),U(M,he),U(M,Se),U(M,Oe),U(M,we),U(M,Le),U(M,Ve),U(M,$e),U(M,tt),U(M,nt),U(M,ot),U(M,ct),U(M,gt),U(M,It),U(M,St),U(M,kt);var Pt={},jt={};L(jt,"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 Ct={};L(Ct,"AccountIdFromPath",(()=>Bt)),L(Ct,"AppIdFromPath",(()=>Ht)),L(Ct,"Pagination",(()=>Yt));var Rt={};L(Rt,"UserId",(()=>Dt)),L(Rt,"Email",(()=>Nt)),L(Rt,"PasswordlessCode",(()=>Ut)),L(Rt,"WalletAddress",(()=>Lt)),L(Rt,"normalizeEthereumAddress",(()=>Gt)),L(Rt,"SolanaWalletAddress",(()=>Mt)),L(Rt,"PhoneNumber",(()=>xt)),L(Rt,"normalizePhoneNumber",(()=>Wt)),L(Rt,"isValidAddress",(()=>Ft)),L(Rt,"AuthenticateMode",(()=>Vt));let Dt=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:",""))),Nt=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())),Ut=A.string({required_error:"Verification code must be provided",invalid_type_error:"Invalid verification code"}).length(6,"Verification code must have 6 digits."),Lt=A.string({required_error:"Ethereum address must be provided",invalid_type_error:"Invalid Ethereum address"}).transform(((e,t)=>Gt(e)||(t.addIssue({code:A.ZodIssueCode.custom,message:"Invalid Ethereum address"}),A.NEVER))),Mt=A.string({required_error:"Solana address must be provided",invalid_type_error:"Invalid Solana address"}).trim().transform(((e,t)=>{try{k.decode(e)}catch(e){return t.addIssue({code:A.ZodIssueCode.custom,message:"Invalid Solana address"}),A.NEVER}return e})),xt=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!==Wt(e)}catch(e){return!1}}),{message:"Phone number is not valid"}).transform((e=>Wt(e)||""));function Wt(e){let t=P(e,"US");if(t?.isPossible())return t.formatInternational()}function Ft(e){return!!Gt(e)}function Gt(e){if("string"==typeof e)try{return O.utils.getAddress(e.trim())}catch(e){}}let Vt=A.object({mode:A.enum(["no-signup","login-or-sign-up"]).optional()}),Bt=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)}),Ht=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,w.MISSING_OR_INVALID_PRIVY_APP_ID)})),Yt=A.object({cursor:Dt.optional(),limit:A.coerce.number().max(100,{message:"Query limit can be at maximum 100 records."}).optional()});var qt={};L(qt,"AppResponseSchema",(()=>ta));var Kt={};L(Kt,"EmbeddedWalletConfigSchema",(()=>Xt)),L(Kt,"TelegramAuthConfigSchema",(()=>Jt)),L(Kt,"FundingMethodEnum",(()=>Qt)),L(Kt,"FundingMethodArraySchema",(()=>Zt)),L(Kt,"FundingConfigResponseSchema",(()=>ea));var $t={};L($t,"Currency",(()=>zt));let zt=E.object({chain:E.string(),asset:E.enum(["native-currency","USDC"]).optional()}),Xt=E.object({create_on_login:E.enum(["users-without-wallets","all-users","off"]),user_owned_recovery_options:E.array(E.enum(["user-passcode","google-drive","icloud"])),require_user_owned_recovery_on_create:E.boolean().optional(),require_user_password_on_create:E.boolean().optional()}),Jt=E.object({bot_id:E.string(),bot_name:E.string(),link_enabled:E.boolean(),seamless_auth_enabled:E.boolean()}),Qt=E.enum(["moonpay","coinbase-onramp","external"]),Zt=E.array(Qt),ea=E.object({default_recommended_currency:zt,default_recommended_amount:E.string(),methods:Zt,options:E.array(E.object({method:E.string(),provider:E.string()})),prompt_funding_on_wallet_creation:E.boolean(),cross_chain_bridging_enabled:E.boolean()}),ta=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:Xt,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:Jt.optional(),funding_config:ea.optional(),max_linked_wallets_per_user:A.number().nullable(),farcaster_link_wallets_enabled:A.boolean()});var aa={};L(aa,"CoinbaseOnRampInitInput",(()=>la)),L(aa,"CoinbaseOnRampInitResponse",(()=>ca)),L(aa,"CoinbaseOnRampStatusResponse",(()=>pa));let na=A.enum(["ethereum","bitcoin","base","avacchain","optimism","solana","polygon","arbitrum","stellar"]),ra=A.enum(["eth","ETH","USDC"]).transform((e=>e.toUpperCase())),ia=A.enum(["SOL","USDC"]).transform((e=>e.toUpperCase())),oa=A.object({addresses:A.array(A.object({address:Lt,blockchains:A.array(na)})).max(1).min(1),assets:A.array(ra).optional()}),sa=A.object({addresses:A.array(A.object({address:Mt,blockchains:A.array(na)})).max(1).min(1),assets:A.array(ia).optional()}),la=A.union([oa,sa]),ca=A.object({app_id:A.string(),session_token:A.string(),channel_id:A.string(),partner_user_id:A.string()}),pa=A.object({status:A.enum(["pending","success","failure"])});var da={};L(da,"CrossAppConnectionsResponse",(()=>ua));let ua=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 _a={};L(_a,"AuthenticateJwtInput",(()=>ma));let ma=E.object({token:E.string().optional()});var ga={};L(ga,"VerifyEmailInput",(()=>ha)),L(ga,"AuthenticateEmailInput",(()=>ya)),L(ga,"InitEmailInput",(()=>va)),L(ga,"UnlinkEmailInput",(()=>Ia)),L(ga,"UpdateEmailInput",(()=>fa)),L(ga,"TransferEmailInput",(()=>Sa));let ba=A.object({nonce:A.string()}),ha=A.object({code:Ut,email:Nt}),ya=ha.merge(Vt),va=A.object({email:Nt,token:A.string().optional()}),Ia=A.object({address:Nt}),fa=A.object({oldAddress:Nt,newAddress:Nt,code:Ut}),Sa=ba.extend({email:Nt});var Ta={};L(Ta,"JsonWebKey",(()=>Ea)),L(Ta,"JsonWebKeySet",(()=>Aa));let Ea=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()}),Aa=A.object({keys:A.array(Ea)});var ka={};L(ka,"FarcasterConnectInitResponse",(()=>Oa)),L(ka,"FarcasterConnectStatusCompletedResponse",(()=>Pa)),L(ka,"FarcasterConnectStatusPendingResponse",(()=>ja)),L(ka,"FarcasterAuthenticateInput",(()=>wa)),L(ka,"FarcasterLinkInput",(()=>Ca)),L(ka,"FarcasterInitInput",(()=>Ra)),L(ka,"FarcasterUnlinkInput",(()=>Da)),L(ka,"TransferFarcasterInput",(()=>Na)),L(ka,"FarcasterV2InitInput",(()=>Ua)),L(ka,"FarcasterV2InitResponse",(()=>La)),L(ka,"FarcasterV2AuthenticateInput",(()=>Ma));let Oa=A.object({channel_token:A.string(),connect_uri:A.string()}),Pa=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()}),ja=A.object({state:A.literal("pending"),nonce:A.string()}),wa=A.object({channel_token:A.string(),message:A.string(),signature:A.string(),fid:A.number()}).merge(Vt),Ca=A.object({channel_token:A.string(),message:A.string(),signature:A.string(),fid:A.number()}),Ra=A.object({token:A.string().optional(),redirect_url:A.string().url().optional(),relying_party:A.string().optional()}),Da=A.object({fid:A.number()}),Na=ba.extend({farcaster_id:A.string(),farcaster_embedded_address:A.string()}),Ua=A.object({}),La=A.object({nonce:A.string(),expires_at:A.string()}),Ma=A.object({fid:A.number(),message:A.string(),signature:A.string()}).merge(Vt);var xa={};L(xa,"FarcasterSignerInitInput",(()=>Wa)),L(xa,"FarcasterSignerInitResponse",(()=>Fa)),L(xa,"FarcasterSignerStatusResponse",(()=>Ga));let Wa=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)))}),Fa=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()})]),Ga=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 Va={};L(Va,"AuthenticateGuestInput",(()=>Ba));let Ba=A.object({guest_credential:A.string().length(43)}).strict();var Ha={};L(Ha,"EmailIdTokenEntry",(()=>zn)),L(Ha,"PhoneIdTokenEntry",(()=>Xn)),L(Ha,"EthereumIdTokenEntry",(()=>Jn)),L(Ha,"SolanaIdTokenEntry",(()=>Qn)),L(Ha,"FarcasterIdTokenEntry",(()=>Zn)),L(Ha,"PasskeyIdTokenEntry",(()=>er)),L(Ha,"TelegramIdTokenEntry",(()=>tr)),L(Ha,"EthereumEmbeddedWalletIdTokenEntry",(()=>ar)),L(Ha,"SolanaEmbeddedWalletIdTokenEntry",(()=>nr)),L(Ha,"GoogleOauthIdTokenEntry",(()=>rr)),L(Ha,"TwitterOauthIdTokenEntry",(()=>ir)),L(Ha,"DiscordOauthIdTokenEntry",(()=>or)),L(Ha,"GithubOauthIdTokenEntry",(()=>sr)),L(Ha,"LinkedInOauthIdTokenEntry",(()=>lr)),L(Ha,"SpotifyOauthIdTokenEntry",(()=>cr)),L(Ha,"InstagramOauthIdTokenEntry",(()=>pr)),L(Ha,"TiktokOauthIdTokenEntry",(()=>dr)),L(Ha,"AppleOauthIdTokenEntry",(()=>ur)),L(Ha,"CustomJwtIdTokenEntry",(()=>_r)),L(Ha,"CrossAppIdTokenEntry",(()=>mr)),L(Ha,"SmartWalletIdTokenEntry",(()=>gr));var Ya={};L(Ya,"EmailAccount",(()=>ln)),L(Ya,"PhoneAccount",(()=>cn)),L(Ya,"BaseWalletAccount",(()=>pn)),L(Ya,"EthereumAccount",(()=>dn)),L(Ya,"SmartWalletAccount",(()=>un)),L(Ya,"SolanaAccount",(()=>_n)),L(Ya,"FarcasterAccount",(()=>mn)),L(Ya,"PasskeyAccount",(()=>gn)),L(Ya,"TelegramAccount",(()=>bn)),L(Ya,"EthereumEmbeddedWalletAccount",(()=>vn)),L(Ya,"SolanaEmbeddedWalletAccount",(()=>In)),L(Ya,"BitcoinSegwitEmbeddedWalletAccount",(()=>fn)),L(Ya,"BitcoinTaprootEmbeddedWalletAccount",(()=>Sn)),L(Ya,"GoogleOauthAccount",(()=>Tn)),L(Ya,"TwitterOauthAccount",(()=>En)),L(Ya,"DiscordOauthAccount",(()=>An)),L(Ya,"GithubOauthAccount",(()=>kn)),L(Ya,"LinkedInOauthAccount",(()=>On)),L(Ya,"SpotifyOauthAccount",(()=>Pn)),L(Ya,"InstagramOauthAccount",(()=>jn)),L(Ya,"TiktokOauthAccount",(()=>wn)),L(Ya,"AppleOauthAccount",(()=>Cn)),L(Ya,"CustomJwtAccount",(()=>Rn)),L(Ya,"CrossAppEmbeddedWallet",(()=>Dn)),L(Ya,"CrossAppSmartWallet",(()=>Nn)),L(Ya,"CrossAppAccount",(()=>Un)),L(Ya,"LinkedAccount",(()=>Ln)),L(Ya,"SmsMfaMethod",(()=>Mn)),L(Ya,"TotpMfaMethod",(()=>xn)),L(Ya,"PasskeyMfaMethod",(()=>Wn)),L(Ya,"LinkedMfaMethod",(()=>Fn)),L(Ya,"CustomMetadata",(()=>Gn)),L(Ya,"OAuthTokens",(()=>Vn)),L(Ya,"User",(()=>Bn)),L(Ya,"SessionUpdateActionEnum",(()=>Hn)),L(Ya,"AuthenticatedUser",(()=>Yn)),L(Ya,"LoggedOutUser",(()=>qn)),L(Ya,"MaybeUser",(()=>Kn));var qa={};L(qa,"SmartWalletProvider",(()=>Za)),L(qa,"AlchemyPaymasterContextSchema",(()=>tn)),L(qa,"SmartWalletNetworkConfigurationInputSchema",(()=>nn)),L(qa,"SmartWalletConfigurationSchema",(()=>rn)),L(qa,"SmartWalletConfigurationInputSchema",(()=>on)),L(qa,"SmartWalletConfigurationResponseSchema",(()=>sn)),L(qa,"SAFE",(()=>Ka)),L(qa,"KERNEL",(()=>$a)),L(qa,"LIGHT_ACCOUNT",(()=>Xa)),L(qa,"BICONOMY",(()=>za)),L(qa,"COINBASE_SMART_WALLET",(()=>Ja)),L(qa,"SUPPORTED_SMART_WALLET_TYPES",(()=>Qa));let Ka="safe",$a="kernel",za="biconomy",Xa="light_account",Ja="coinbase_smart_wallet",Qa=[Ka,$a,za,Xa,Ja],Za=A.enum(Qa,{invalid_type_error:"Please specify a supported provider.",required_error:"Please specify a supported provider."}),en=A.string().regex(/^eip155:\d+$/,"Chain ID must be an eip155 chain ID"),tn=A.object({policy_id:A.string().uuid()}),an=A.object({chain_id:en,bundler_url:A.string(),paymaster_url:A.string().optional(),rpc_url:A.string().optional(),chain_name:A.string().optional(),paymaster_context:tn.optional()}),nn=A.object({chain_id:en,bundler_url:A.string().optional(),paymaster_url:A.string().optional(),rpc_url:A.string().optional(),chain_name:A.string().optional(),paymaster_context:tn.optional()}),rn=A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!1)}),A.object({enabled:A.literal(!0),smart_wallet_type:Za,configured_networks:A.array(an).min(1)})]),on=A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!1)}),A.object({enabled:A.literal(!0),smart_wallet_type:Za,configured_networks:A.array(nn).min(1)})]),sn=rn,ln=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()}),cn=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()}),pn=A.object({type:A.enum(["wallet","smart_wallet"]),address:A.string(),chain_type:A.enum(["solana","ethereum"])}),dn=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()}),un=A.object({type:A.literal("smart_wallet"),address:A.string(),smart_wallet_type:Za,verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),_n=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()}),mn=A.object({type:A.literal("farcaster"),fid:A.number(),owner_address:Lt,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()}),gn=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()}),bn=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}))),hn=A.enum(["privy","user-passcode","google-drive","icloud"]),yn=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:hn,verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),vn=yn.merge(A.object({chain_type:A.literal("ethereum")})),In=yn.merge(A.object({chain_type:A.literal("solana"),public_key:A.string()})),fn=yn.merge(A.object({chain_type:A.literal("bitcoin-segwit"),public_key:A.string()})),Sn=yn.merge(A.object({chain_type:A.literal("bitcoin-taproot"),public_key:A.string()})),Tn=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()}),En=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()}),An=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()}),kn=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()}),On=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()}),Pn=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()}),jn=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()}),wn=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()}),Cn=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()}),Rn=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()}),Dn=A.object({address:A.string()}),Nn=A.object({address:A.string()}),Un=A.object({type:A.literal("cross_app"),subject:A.string(),provider_app_id:A.string(),embedded_wallets:A.array(Dn),smart_wallets:A.array(Nn),verified_at:A.number(),first_verified_at:A.number().nullable(),latest_verified_at:A.number().nullable()}),Ln=A.union([ln,cn,dn,_n,un,vn,In,fn,Sn,Tn,En,An,kn,Pn,jn,wn,On,Cn,Rn,mn,gn,bn,Un]),Mn=A.object({type:A.literal("sms"),verified_at:A.number()}),xn=A.object({type:A.literal("totp"),verified_at:A.number()}),Wn=A.object({type:A.literal("passkey"),verified_at:A.number()}),Fn=A.union([Mn,xn,Wn]),Gn=A.record(A.string(),A.union([A.string(),A.number(),A.boolean()])),Vn=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()}),Bn=A.object({id:A.string(),linked_accounts:A.array(Ln),mfa_methods:A.array(Fn),created_at:A.number(),has_accepted_terms:A.boolean(),is_guest:A.boolean(),custom_metadata:Gn.optional()}),Hn=A.enum(["set","ignore","clear"]),Yn=A.object({user:Bn,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:Vn.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:Hn}),qn=A.object({user:A.null(),token:A.null(),refresh_token:A.null(),session_update_action:A.literal(Hn.Values.clear)}),Kn=A.union([Yn,qn]),$n={lv:A.number().nullable()},zn=ln.pick({type:!0,address:!0}).extend($n),Xn=cn.pick({type:!0,phoneNumber:!0}).extend($n).transform((({phoneNumber:e,...t})=>({phone_number:e,...t}))),Jn=dn.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend($n),Qn=_n.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend($n),Zn=mn.pick({type:!0,fid:!0,username:!0,owner_address:!0}).extend($n).transform((({owner_address:e,...t})=>({oa:e,...t}))),er=gn.pick({type:!0,credential_id:!0}).extend($n),tr=A.object({type:A.literal("telegram"),telegram_user_id:A.string(),username:A.string().nullish(),lv:A.number().nullable()}),ar=vn.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend($n),nr=In.pick({type:!0,address:!0,chain_type:!0,wallet_client_type:!0}).extend($n),rr=Tn.pick({type:!0,subject:!0,email:!0}).extend($n),ir=En.pick({type:!0,subject:!0,username:!0}).extend($n),or=An.pick({type:!0,subject:!0,username:!0}).extend($n),sr=kn.pick({type:!0,subject:!0,username:!0}).extend($n),lr=On.pick({type:!0,subject:!0,email:!0}).extend($n),cr=Pn.pick({type:!0,subject:!0,email:!0}).extend($n),pr=jn.pick({type:!0,subject:!0,username:!0}).extend($n),dr=wn.pick({type:!0,subject:!0,username:!0}).extend($n),ur=Cn.pick({type:!0,subject:!0,email:!0}).extend($n),_r=Rn.pick({type:!0,custom_user_id:!0}).extend($n),mr=Un.pick({type:!0,subject:!0,provider_app_id:!0,embedded_wallets:!0,smart_wallets:!0}).extend($n),gr=un.pick({type:!0,smart_wallet_type:!0,address:!0}).extend($n);var br={};L(br,"MfaVerifyResponse",(()=>hr)),L(br,"MfaSmsInitInput",(()=>Ir)),L(br,"MfaSmsAuthenticateEnrollInput",(()=>fr)),L(br,"MfaSmsEnrollInput",(()=>Sr)),L(br,"MfaSmsVerifyInput",(()=>Tr)),L(br,"MfaTotpInput",(()=>Er)),L(br,"ResponseTotpInitMfa",(()=>Ar));let hr=E.object({token:E.string()}).strict(),yr=E.object({action:E.literal("verify")}).strict(),vr=E.object({action:E.literal("enroll"),phoneNumber:xt}).strict(),Ir=E.union([yr,vr]),fr=E.object({action:E.literal("enroll").optional(),code:Ut,phoneNumber:xt}).strict(),Sr=E.object({code:Ut,phoneNumber:xt}).strict(),Tr=E.object({code:Ut}).strict(),Er=E.object({code:Ut}).strict(),Ar=E.object({totpSecret:E.string(),totpAuthUrl:E.string()}).strict();var kr={};L(kr,"MfaPasskeyInitInput",(()=>xr)),L(kr,"ResponsePasskeyInitMfa",(()=>Wr)),L(kr,"MfaPasskeyVerifyInput",(()=>Fr)),L(kr,"MfaEnrollmentPasskeyInput",(()=>Gr));var Or={};L(Or,"PasskeyAuthenticatorVerifyOptions",(()=>Pr)),L(Or,"PasskeyAuthenticatorEnrollmentOptions",(()=>jr)),L(Or,"PasskeyAuthenticatorVerifyResponse",(()=>wr)),L(Or,"PasskeyAuthenticatorEnrollmentResponse",(()=>Cr)),L(Or,"PasskeyInitInput",(()=>Rr)),L(Or,"ResponsePasskeyInitAuthenticate",(()=>Dr)),L(Or,"ResponsePasskeyInitLink",(()=>Nr)),L(Or,"PasskeyLinkInput",(()=>Ur)),L(Or,"PasskeyAuthenticateInput",(()=>Lr)),L(Or,"UnlinkPasskeyInput",(()=>Mr));let Pr=E.object({challenge:E.string(),timeout:E.number().optional(),rp_id:E.string().optional(),allow_credentials:E.array(E.object({id:E.string(),type:E.string(),transports:E.array(E.string()).optional()})).optional(),user_verification:E.string().optional(),extensions:E.object({app_id:E.string().optional(),cred_props:E.boolean().optional(),hmac_create_secret:E.boolean().optional()}).optional()}),jr=E.object({rp:E.object({name:E.string(),id:E.string().optional()}),user:E.object({id:E.string(),name:E.string(),display_name:E.string()}),challenge:E.string(),pub_key_cred_params:E.array(E.object({alg:E.number(),type:E.literal("public-key")})),timeout:E.number().optional(),exclude_credentials:E.array(E.object({id:E.string(),type:E.string(),transports:E.array(E.string()).optional()})).optional(),authenticator_selection:E.object({authenticator_attachment:E.string().optional(),require_resident_key:E.boolean().optional(),resident_key:E.string().optional(),user_verification:E.string().optional()}).optional(),attestation:E.string().optional(),extensions:E.object({app_id:E.string().optional(),cred_props:E.object({rk:E.boolean().optional()}).optional(),hmac_create_secret:E.boolean().optional()}).optional()}),wr=E.object({id:E.string(),raw_id:E.string(),response:E.object({client_data_json:E.string(),authenticator_data:E.string(),signature:E.string(),user_handle:E.string().optional()}),authenticator_attachment:E.string().optional(),client_extension_results:E.object({app_id:E.boolean().optional(),cred_props:E.object({rk:E.boolean().optional()}).optional(),hmac_create_secret:E.boolean().optional()}),type:E.literal("public-key")}),Cr=E.object({id:E.string(),raw_id:E.string(),response:E.object({client_data_json:E.string(),attestation_object:E.string(),authenticator_data:E.string().optional(),transports:E.array(E.any()).optional(),public_key_algorithm:E.number().optional(),public_key:E.string().optional()}),authenticator_attachment:E.string().optional(),client_extension_results:E.object({app_id:E.boolean().optional(),cred_props:E.object({rk:E.boolean().optional()}).optional(),hmac_create_secret:E.boolean().optional()}),type:E.literal("public-key")}),Rr=E.object({relying_party:E.string().url().optional(),token:E.string().optional()}).strict(),Dr=E.object({relying_party:E.string().url().optional(),options:Pr}).strict(),Nr=E.object({relying_party:E.string().url().optional(),options:jr}).strict(),Ur=E.object({relying_party:E.string().url().optional(),authenticator_response:Cr}).strict(),Lr=E.object({relying_party:E.string().url().optional(),challenge:E.string(),authenticator_response:wr}).strict(),Mr=E.object({credential_id:E.string()}),xr=E.object({relying_party:E.string().url().optional()}).strict(),Wr=E.object({options:Pr}).strict(),Fr=E.object({authenticator_response:wr,relying_party:E.string().url().optional()}).strict(),Gr=E.object({credential_ids:E.array(E.string())});var Vr={};L(Vr,"ExternalOAuthProvider",(()=>Hr)),L(Vr,"OAuthProvider",(()=>Yr)),L(Vr,"AuthenticateOauthInput",(()=>qr)),L(Vr,"OAuthInitInput",(()=>Kr)),L(Vr,"LinkOAuthInput",(()=>$r)),L(Vr,"OAuthUnlinkInput",(()=>zr)),L(Vr,"OAuthInitResponse",(()=>Xr)),L(Vr,"OAuthLinkResponse",(()=>Jr)),L(Vr,"TransferOAuthInput",(()=>Qr)),L(Vr,"SUPPORTED_OAUTH_PROVIDERS",(()=>Br));let Br=["google","discord","twitter","github","spotify","instagram","tiktok","linkedin","apple"],Hr=A.enum(Br,{invalid_type_error:"Please specify a supported provider.",required_error:"Please specify a supported provider."}),Yr=Hr.or(A.custom((e=>"string"==typeof e&&/^privy:[a-z0-9]{25}$/i.test(e)),{message:"Please specify a supported provider."})),qr=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(Vt).catch((()=>{throw new D("Please specify authorization_code and state_code.",w.INVALID_CREDENTIALS)})),Kr=A.object({redirect_to:A.string({required_error:"Please provide a redirect_to value."}),provider:Yr,token:A.string().optional(),state_code:A.string().optional(),code_challenge:A.string().optional()}),$r=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()}),zr=A.object({subject:A.string(),provider:Yr}),Xr=A.object({url:A.string()}),Jr=Bn.extend({oauth_tokens:Vn.optional()}),Qr=ba.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 Zr={};L(Zr,"AuthorizationCodeInput",(()=>ei));let ei=A.object({redirect_to:A.string(),state:A.string(),code_challenge:A.string()});var ti={};L(ti,"EmptyObject",(()=>ai)),L(ti,"SuccessObject",(()=>ni));let ai=A.record(A.string(),A.never()),ni=A.object({success:A.boolean()});var ri={};L(ri,"RecoveryKeyMaterialInput",(()=>ii)),L(ri,"RecoveryKeyMaterialResponse",(()=>oi)),L(ri,"OAuthAuthenticateRecoveryResponse",(()=>si)),L(ri,"OAuthInitRecoveryInput",(()=>li)),L(ri,"OAuthInitICloudRecoveryInput",(()=>ci)),L(ri,"OAuthCallbackICloudExpoInput",(()=>pi)),L(ri,"OAuthCallbackICloudExpoResponse",(()=>di)),L(ri,"RecoveryConfigurationICloudInput",(()=>ui)),L(ri,"RecoveryConfigurationICloudResponse",(()=>_i));let ii=A.object({chain_type:A.string().optional()}),oi=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()}),si=A.object({access_token:A.string()}),li=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()}),ci=A.object({client_type:A.enum(["web","expo-ios"])}),pi=A.object({ckWebAuthToken:A.string()}).transform((e=>({ckWebAuthToken:e.ckWebAuthToken}))).catch((()=>{throw new D("Missing ckWebAuthToken.",w.INVALID_DATA)})),di=ai,ui=A.object({client_type:A.enum(["web","expo-ios"])}),_i=A.object({api_token:A.string(),container_identifier:A.string(),environment:A.string()});var mi={};L(mi,"SiweInput",(()=>gi)),L(mi,"SmartWalletSiweInput",(()=>bi)),L(mi,"AuthenticateSiweInput",(()=>hi)),L(mi,"SiweAddressInput",(()=>yi)),L(mi,"SiweInitInput",(()=>vi)),L(mi,"SiweNonce",(()=>Ii)),L(mi,"TransferSiweInput",(()=>fi));let gi=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)}),bi=A.object({message:A.string({invalid_type_error:"Invalid SIWE message"}),signature:A.string({invalid_type_error:"Invalid SIWE signature"}),smart_wallet_type:Za}),hi=gi.merge(Vt),yi=A.object({address:Lt}),vi=A.object({address:Lt,token:A.string().optional()}),Ii=A.object({nonce:A.string(),address:A.string(),expires_at:A.string()}),fi=ba.extend({address:Lt,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 Si={};L(Si,"SiwsInput",(()=>Ti)),L(Si,"AuthenticateSiwsInput",(()=>Ei)),L(Si,"SiwsAddressInput",(()=>Ai)),L(Si,"SiwsInitInput",(()=>ki)),L(Si,"SiwsNonce",(()=>Oi));let Ti=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)}),Ei=Ti.merge(Vt),Ai=A.object({address:Mt}),ki=A.object({address:Mt,token:A.string().optional()}),Oi=A.object({nonce:A.string(),address:A.string(),expires_at:A.string()});var Pi={};L(Pi,"VerifyPhoneInput",(()=>ji)),L(Pi,"AuthenticatePhoneInput",(()=>wi)),L(Pi,"PasswordlessSmsPhoneInput",(()=>Ci)),L(Pi,"UnlinkPhoneInput",(()=>Ri)),L(Pi,"UpdatePhoneInput",(()=>Di)),L(Pi,"TransferPhoneInput",(()=>Ni));let ji=A.object({code:Ut.catch((()=>{throw new N("Invalid SMS verification code",w.INVALID_CREDENTIALS)})),phoneNumber:xt.catch((()=>{throw new N("Invalid phone number",w.INVALID_CREDENTIALS)}))}),wi=ji.merge(Vt),Ci=A.object({phoneNumber:xt.catch((()=>{throw new N("Invalid phone number, not formatted correctly",w.INVALID_DATA)})),token:A.string().optional()}),Ri=A.object({phoneNumber:xt}),Di=A.object({old_phone_number:xt,new_phone_number:xt,code:Ut}),Ni=ba.extend({phoneNumber:xt});var Ui={};L(Ui,"TelegramAuthenticateInput",(()=>Mi)),L(Ui,"TelegramLinkInput",(()=>xi)),L(Ui,"TelegramUnlinkInput",(()=>Wi)),L(Ui,"TransferTelegramInput",(()=>Fi));let Li=E.object({id:E.coerce.number(),first_name:E.string(),auth_date:E.coerce.number(),hash:E.string(),username:E.string().optional(),last_name:E.string().optional(),photo_url:E.string().optional()}),Mi=E.object({captcha_token:E.string().optional(),telegram_auth_result:Li.optional(),telegram_web_app_data:E.object({query_id:E.string().optional(),auth_date:E.coerce.number(),hash:E.string(),user:E.string(),chat_instance:E.string().optional(),chat_type:E.string().optional(),start_param:E.string().optional(),signature:E.string().optional()}).optional()}).merge(Vt),xi=Mi.omit({telegram_web_app_data:!0}).required({telegram_auth_result:!0}),Wi=E.object({telegram_user_id:E.string()}),Fi=ba.extend({telegram_auth_result:Li});var Gi={};L(Gi,"RefreshTokenInput",(()=>Vi)),L(Gi,"OptionalRefreshTokenInput",(()=>Bi)),L(Gi,"ForkedToken",(()=>Hi));let Vi=A.object({refresh_token:A.string()}),Bi=Vi.partial(),Hi=A.object({token:A.string(),refresh_token:A.string(),new_session_refresh_token:A.string()});var Yi={};L(Yi,"DelegatedActionsConsentInput",(()=>qi));let qi=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 Ki={};L(Ki,"CAIP2",(()=>$i)),L(Ki,"AuthorizationKeyRole",(()=>Ji)),L(Ki,"WalletApiSolanaSignTransactionRpcInput",(()=>Qi)),L(Ki,"WalletApiSolanaSignAndSendTransactionRpcInput",(()=>Zi)),L(Ki,"WalletApiSolanaSignMessageRpcInput",(()=>eo)),L(Ki,"UnsignedEthereumTransaction",(()=>no)),L(Ki,"WalletApiEthereumSignTransactionRpcInput",(()=>ro)),L(Ki,"WalletApiEthereumSendTransactionRpcInput",(()=>io)),L(Ki,"WalletApiEthereumPersonalSignRpcInputParams",(()=>oo)),L(Ki,"WalletApiEthereumPersonalSignRpcInput",(()=>so)),L(Ki,"WalletApiEthereumSignTypedDataRpcInput",(()=>lo)),L(Ki,"WalletApiEthereumRpcInput",(()=>co)),L(Ki,"WalletApiSolanaRpcInput",(()=>po)),L(Ki,"WalletApiRpcInput",(()=>uo)),L(Ki,"WalletApiSolanaSignTransactionRpcResponse",(()=>_o)),L(Ki,"WalletApiSolanaSignAndSendTransactionRpcResponse",(()=>mo)),L(Ki,"WalletApiSolanaSignMessageRpcResponse",(()=>go)),L(Ki,"WalletApiEthereumSignTransactionRpcResponse",(()=>bo)),L(Ki,"WalletApiEthereumSendTransactionRpcResponse",(()=>ho)),L(Ki,"WalletApiEthereumPersonalSignRpcResponse",(()=>yo)),L(Ki,"WalletApiEthereumSignTypedDataRpcResponse",(()=>vo)),L(Ki,"WalletApiRpcResponse",(()=>Io)),L(Ki,"WalletApiRegisterAuthorizationKeyInput",(()=>fo)),L(Ki,"WalletResponse",(()=>To)),L(Ki,"WalletApiCreateInput",(()=>Eo)),L(Ki,"WalletIdFromPath",(()=>Ao)),L(Ki,"WalletApiRevokeAuthorizationKeyInput",(()=>ko));let $i=A.string().regex(/^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$/,"Chain ID must be a valid CAIP-2 chain ID, e.g. 'eip155:1'"),zi=A.object({address:Mt.optional(),chain_type:A.literal("solana").optional()}),Xi=A.object({address:Lt.optional(),chain_type:A.literal("ethereum").optional()}),Ji=A.enum(["root","manager"]).nullable(),Qi=A.object({method:A.literal("signTransaction"),params:A.object({transaction:A.string(),encoding:A.literal("base64")})}).merge(zi),Zi=A.object({method:A.literal("signAndSendTransaction"),caip2:$i,params:A.object({transaction:A.string(),encoding:A.literal("base64")})}).merge(zi),eo=A.object({method:A.literal("signMessage"),params:A.object({message:A.string(),encoding:A.literal("base64")})}).merge(zi),to=A.string().startsWith("0x"),ao=A.union([to,A.number()]),no=A.object({from:Lt.optional(),to:Lt.optional(),chain_id:ao.optional(),nonce:ao.optional(),data:to.optional(),value:ao.optional(),type:A.union([A.literal(0),A.literal(1),A.literal(2)]).optional(),gas_limit:ao.optional(),gas_price:ao.optional(),max_fee_per_gas:ao.optional(),max_priority_fee_per_gas:ao.optional()}),ro=A.object({method:A.literal("eth_signTransaction"),params:A.object({transaction:no})}).merge(Xi),io=A.object({method:A.literal("eth_sendTransaction"),caip2:$i,params:A.object({transaction:no})}).merge(Xi),oo=A.object({message:A.string(),encoding:A.union([A.literal("utf-8"),A.literal("hex")])}),so=A.object({method:A.literal("personal_sign"),params:oo}).merge(Xi),lo=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(Xi),co=A.discriminatedUnion("method",[ro,io,so,lo]),po=A.discriminatedUnion("method",[Qi,Zi,eo]),uo=A.union([co,po]),_o=A.object({method:A.literal("signTransaction"),data:A.object({signed_transaction:A.string(),encoding:A.literal("base64")})}),mo=A.object({method:A.literal("signAndSendTransaction"),data:A.object({hash:A.string(),caip2:$i}).optional(),error:A.object({code:A.string(),message:A.string()}).optional()}),go=A.object({method:A.literal("signMessage"),data:A.object({signature:A.string(),encoding:A.literal("base64")})}),bo=A.object({method:A.literal("eth_signTransaction"),data:A.object({signed_transaction:A.string(),encoding:A.literal("rlp")})}),ho=A.object({method:A.literal("eth_sendTransaction"),data:A.object({hash:A.string(),caip2:$i}).optional(),error:A.object({code:A.string(),message:A.string()}).optional()}),yo=A.object({method:A.literal("personal_sign"),data:A.object({signature:A.string(),encoding:A.literal("hex")})}),vo=A.object({method:A.literal("eth_signTypedData_v4"),data:A.object({signature:A.string(),encoding:A.literal("hex")})}),Io=A.discriminatedUnion("method",[_o,mo,go,bo,ho,yo,vo]),fo=A.object({public_key:A.string(),role:Ji.optional()}),So=A.union([A.literal("solana"),A.literal("ethereum")]),To=A.object({id:A.string(),address:A.string(),chain_type:So}),Eo=A.object({chain_type:So,policy_id:A.string().optional()}),Ao=A.object({wallet_id:A.string({required_error:"Wallet ID must be provided",invalid_type_error:"Wallet ID is not a valid string"}).min(1)}).catch((({error:e})=>{throw new R(e.message,w.INVALID_DATA)})),ko=A.object({id:A.string()});var Oo={};L(Oo,"MoonpayOnRampSignInput",(()=>Do)),L(Oo,"MoonpayOnRampSignResponse",(()=>No));let Po=A.enum(["ach_bank_transfer","credit_debit_card","gbp_bank_transfer","gbp_open_banking_payment","mobile_wallet","sepa_bank_transfer","sepa_open_banking_payment","pix_instant_payment","yellow_card_bank_transfer"]),jo=A.enum(["AVAX_CCHAIN","CELO_CELO","CUSD_CELO","DAI_ETHEREUM","ETH_ETHEREUM","ETH_ARBITRUM","ETH_OPTIMISM","ETH_POLYGON","ETH_BASE","FIL_FVM","MATIC_ETHEREUM","MATIC_POLYGON","USDC_ETHEREUM","USDC_ARBITRUM","USDC_OPTIMISM","USDC_POLYGON","USDC_BASE","USDT_ETHEREUM","USDT_POLYGON","WETH_POLYGON","WBTC_ETHEREUM","BNB_BNB","BNB_BSC","CELO","CUSD","DAI","ETH","FIL","MATIC","USDC","USDT","WETH","WBTC"]),wo=A.object({quoteCurrencyAmount:A.number().optional(),email:Nt.optional(),paymentMethod:Po.optional(),uiConfig:A.object({accentColor:A.string().optional(),theme:A.enum(["light","dark"]).optional()}).optional()}),Co=A.object({address:Lt,config:wo.extend({currencyCode:jo.transform((e=>{switch(e){case"AVAX_CCHAIN":return"AVAX_CCHAIN";case"CELO_CELO":return"CELO";case"CUSD_CELO":return"CUSD";case"DAI_ETHEREUM":return"DAI";case"ETH_ETHEREUM":return"ETH";case"ETH_ARBITRUM":return"ETH_ARBITRUM";case"ETH_OPTIMISM":return"ETH_OPTIMISM";case"ETH_POLYGON":return"ETH_POLYGON";case"ETH_BASE":return"ETH_BASE";case"FIL_FVM":return"FIL";case"MATIC_ETHEREUM":return"MATIC";case"MATIC_POLYGON":return"MATIC_POLYGON";case"USDC_ETHEREUM":return"USDC";case"USDC_ARBITRUM":return"USDC_ARBITRUM";case"USDC_OPTIMISM":return"USDC_OPTIMISM";case"USDC_POLYGON":return"USDC_POLYGON";case"USDC_BASE":return"USDC_BASE";case"USDT_ETHEREUM":return"USDT";case"USDT_POLYGON":return"USDT_POLYGON";case"WETH_POLYGON":return"WETH";case"WBTC_ETHEREUM":return"WBTC";case"BNB_BNB":return"BNB";case"BNB_BSC":return"BNB_BSC";case"CELO":case"CUSD":case"DAI":case"ETH":case"FIL":case"MATIC":case"USDC":case"USDT":case"WETH":case"WBTC":return e;default:throw Error(`Invalid currency code: ${e}`)}})).optional()})}),Ro=A.object({address:Mt,config:wo.extend({currencyCode:A.enum(["SOL","USDC_SOL"]).optional()})}),Do=A.union([Co,Ro]).and(A.object({useSandbox:A.boolean().optional().default(!1)})),No=A.object({signedUrl:A.string(),externalTransactionId:A.string()});U(Pt,jt),U(Pt,Ct),U(Pt,qt),U(Pt,Kt),U(Pt,aa),U(Pt,Rt),U(Pt,da),U(Pt,$t),U(Pt,_a),U(Pt,ga),U(Pt,Ta),U(Pt,ka),U(Pt,xa),U(Pt,Va),U(Pt,Ha),U(Pt,br),U(Pt,kr),U(Pt,Vr),U(Pt,Zr),U(Pt,ti),U(Pt,Or),U(Pt,ri),U(Pt,mi),U(Pt,Si),U(Pt,Pi),U(Pt,qa),U(Pt,Ui),U(Pt,Gi),U(Pt,Ya),U(Pt,Yi),U(Pt,Ki),U(Pt,Oo);let Uo={address:S,version:"0.6"},Lo={address:T,version:"0.7"},Mo=({owner:e,smartWalletType:t,publicClient:a})=>{switch(t){case Ka:return v({client:a,entryPoint:Lo,owners:[e],version:"1.4.1"});case $a:return y({client:a,version:"0.3.1",entryPoint:Lo,owners:[e]});case za:return h({client:a,owners:[e],entryPoint:Uo});case Xa:return b({client:a,entryPoint:Uo,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 f({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}.`)}},xo=["rpc.zerodev.app","public.pimlico.io","api.pimlico.io"];const Wo=({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}))),Fo=async({chain:e,paymasterContext:t,embeddedWallet:a,user:o,smartWalletsConfig:s,rpcConfig:l,privyAppId:c})=>{if(!s?.enabled||!o||!a)return;let p=await a.getEthereumProvider(),d=s?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!d)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=u(e,l,c),b=r({chain:e,transport:n(m)}),h=t??d.paymasterContext,y=await(async({owner:e,smartWalletType:t,chain:a,publicClient:r,bundlerUrl:i,paymasterUrl:o,paymasterContext:s})=>{let l=await Mo({owner:e,smartWalletType:t,publicClient:r}),c=I({transport:n(i),entryPoint:l.entryPoint}),p=o?I({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(xo.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:p,smartWalletType:_,chain:e,publicClient:b,paymasterContext:h,...d});if(!y)throw new i(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return y},Go=({clientConfig:n,smartWalletsConfig:r})=>{let{noPromptOnSignature:u,openPrivyModal:g,appId:b}=o(),h=s(),{setModalData:y}=p(),{user:v}=l(),{chains:I}=s(),{chainId:f,clients:S,setChainId:T,chainIdState:E}=(()=>{let a=e(),[n,r]=t();return{clients:e({}),setChainId:e=>{a.current=e,r(e)},chainId:a,chainIdState:n}})(),A=I.find((e=>e.id===E)),{wallets:k}=_(),O=a((async()=>f.current),[f]),P=a((async({id:e})=>{if(!S.current[e]){let t=m(k),a=await Fo({chain:I.find((t=>t.id===e)),embeddedWallet:t,user:v,paymasterContext:n?.paymasterContext,smartWalletsConfig:r,rpcConfig:h.rpcConfig,privyAppId:b});a&&(S.current[e]=a)}T(e)}),[I,n,k,v,r]);return{wrapSmartAccountClient:e=>{S.current[e.chain.id]=e,E||T(e.chain.id);return{...e,sendTransaction:async e=>{let t=void 0===h.embeddedWallets.showWalletUIs?h.embeddedWallets.noPromptOnSignature:!h.embeddedWallets.showWalletUIs,a=S.current[f.current];if(!a)throw new i(`Smart wallet client for chain (eip155:${f.current}) not found`);if(t)return u.current=!0,await a.sendTransaction(e).finally((()=>u.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)=>{u.current=!0;let{entropyId:o,entropyIdVerifier:s}=c(v);y({connectWallet:{entropyId:o,entropyIdVerifier:s,onCompleteNavigateTo:d.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:Wo({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(d.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{u.current=!1}))},signMessage:async({message:e})=>{let t=void 0===h.embeddedWallets.showWalletUIs?h.embeddedWallets.noPromptOnSignature:!h.embeddedWallets.showWalletUIs,a=S.current[f.current];if(!a)throw new i(`Smart wallet client for chain (eip155:${f.current}) not found`);return t?(u.current=!0,await a.signMessage({message:e}).finally((()=>u.current=!1))):new Promise((async(t,n)=>{let{entropyId:r,entropyIdVerifier:i}=c(v);u.current=!0,y({connectWallet:{entropyId:r,entropyIdVerifier:i,onCompleteNavigateTo:d.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(d.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{u.current=!1}))},signTypedData:async e=>{let t=void 0===h.embeddedWallets.showWalletUIs?h.embeddedWallets.noPromptOnSignature:!h.embeddedWallets.showWalletUIs,a=S.current[f.current];if(!a)throw new i(`Smart wallet client for chain (eip155:${f.current}) not found`);return t?(u.current=!0,await a.signTypedData(e).finally((()=>u.current=!1))):new Promise((async(t,n)=>{u.current=!0;let{entropyId:r,entropyIdVerifier:i}=c(v);y({connectWallet:{entropyId:r,entropyIdVerifier:i,onCompleteNavigateTo:d.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(d.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{u.current=!1}))},getChainId:O,chain:A,switchChain:P}}}};export{Wo as c,Fo as g,Go 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{
|
|
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{B as a,E as o,G as l,P as s}from"./privy-context-DPGGTP4R.mjs";import{g as c}from"./getEmbeddedConnectedWallet-CSSBWE2p.mjs";import{g as m,u as d}from"./smart-wallets-BhrSszZr.mjs";import{u as p}from"./useWallets-DmUWD7Ng.mjs";import"ofetch";import"@ethersproject/address";import"tinycolor2";import"viem";import"./modal-context-CM9V79tL.mjs";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";import"zod";import"bs58";import"ethers";import"libphonenumber-js/max";import"@ethersproject/providers";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,o]=r(void 0),{client:l}=a();return i((()=>{!n&&l&&(async()=>{try{if(!l)return void console.warn("No client found");let e=await l.getSmartWalletsConfig();o(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!l]),e(h.Provider,{value:{config:n},children:t})},y=({config:t,children:n})=>{let{config:d}=v(),{appId:f}=a(),{chains:g,defaultChain:u,rpcConfig:h}=o(),{wallets:w}=p(),{user:y}=l(),[C,b]=r(),j=c(w);return i((()=>{(async()=>{if(!d?.enabled)return;let e=d.configuredNetworks.find((e=>e.chainId===`eip155:${u.id}`))?u:g.find((e=>d.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new s("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 m({chain:e,privyAppId:f,paymasterContext:t?.paymasterContext,rpcConfig:h,embeddedWallet:j,user:y,smartWalletsConfig:d}))})()}),[!!d?.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:o}=(()=>{let{client:e,config:r}=t(W);return{client:e,config:r}})(),{config:s}=v(),{wrapSmartAccountClient:c}=d({clientConfig:o,smartWalletsConfig:s}),{user:m}=l(),{generateSiweMessageForSmartWallet:p,linkSmartWallet:g,noPromptOnSignature:u}=a();return i((()=>{(async()=>{if(n&&m&&!m?.smartWallet&&s?.enabled)try{let e=await p({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:s.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{u.current=!1}})()}),[!!n,!!m?.smartWallet,!!s?.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/solana.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isWalletAdapterCompatibleStandardWallet as
|
|
1
|
+
import{isWalletAdapterCompatibleStandardWallet as e}from"@solana/wallet-adapter-base";import{StandardWalletAdapter as t}from"@solana/wallet-standard-wallet-adapter-base";import{getWallets as a}from"@wallet-standard/app";import{o as n,S as r,q as o,p as s}from"./prepareFundingModalData-htghSii6.mjs";export{b as useSolanaWallets}from"./prepareFundingModalData-htghSii6.mjs";import{useCallback as l}from"react";import{E as i,B as p}from"./privy-context-DPGGTP4R.mjs";import{Connection as m,PublicKey as c,Transaction as d,SystemProgram as u,TransactionInstruction as f,VersionedTransaction as w,TransactionMessage as g}from"@solana/web3.js";import{u as h,M as y}from"./modal-context-CM9V79tL.mjs";import{u as k}from"./events-context-2ZF4RQWB.mjs";import"eventemitter3";import"@ethersproject/logger";import"react/jsx-runtime";import"ofetch";import"@ethersproject/address";import"tinycolor2";function j({name:e,rpcUrl:t}){if(t)return t;switch(e){case"mainnet-beta":return"https://api.mainnet-beta.solana.com";case"testnet":return"https://api.testnet.solana.com";case"devnet":return"https://api.devnet.solana.com"}}const B=e=>{let t,{get:r,on:o}=a(),s=e?.shouldAutoConnect??!0,l=S(r()),i=l.map((e=>new n(e,s))),p=[];return{_setOnConnectorsUpdated:e=>{t=e},onMount:()=>{p.push(o("register",((...e)=>{i=(l=l.concat(...S(e))).map((e=>new n(e,s))),t?.(i)})),o("unregister",((...e)=>{i=(l=l.filter((t=>e.some((e=>t.wallet===e))))).map((e=>new n(e,s))),t?.(i)})))},onUnmount:()=>{let e=p.pop();for(;e;)e(),e=p.pop()},get:()=>i}};let S=a=>a.filter(e).map((e=>new t({wallet:e})));var v={id:r,type:"solana-funding",getBalannce:({address:e,cluster:t})=>new m(j(t)).getBalance(new c(e)),initTransfer:async({from:e,to:t,amount:a,cluster:n})=>{let r=new c(e),o=new d;o.add(u.transfer({fromPubkey:r,toPubkey:new c(t),lamports:a}));let s=new m(j(n)),l=await s.getLatestBlockhash();return o.recentBlockhash=l.blockhash,o.feePayer=r,{transaction:o,connection:s}},initBridge:async({quote:e,from:t,cluster:a})=>{let n=e.steps[0]?.items?.[0];if(!n)return;let r=n.data.instructions.map((({keys:e,programId:t,data:a})=>new f({keys:e.map((({pubkey:e,isSigner:t,isWritable:a})=>({pubkey:new c(e),isSigner:t,isWritable:a}))),programId:new c(t),data:Buffer.from(a,"hex")}))),o=n.data.addressLookupTableAddresses?.map((e=>new c(e))),s=new m(j(a)),l=await Promise.all((o??[]).map((async e=>s.getAddressLookupTable(e).then((e=>e.value))))),{blockhash:i}=await s.getLatestBlockhash();return{transaction:new w(new g({payerKey:new c(t),instructions:r,recentBlockhash:i}).compileToV0Message(l)),connection:s}}};const M=e=>{k("fundSolanaWallet",e);let t=i(),{setModalData:a}=h(),{openModal:n}=p();return o(v),{fundWallet:l((async(e,r)=>{let o=y.FUNDING_METHOD_SELECTION_SCREEN;a({funding:s({address:e,appConfig:t,fundWalletConfig:r,methodScreen:o})}),n(o)}),[t,a,n])}};var x=()=>o(v);export{n as SolanaAdapterConnector,v as plugin,B as toSolanaWalletConnectors,M as useFundWallet,x as useSolanaPlugin};
|