"use strict";(self.webpackChunkfrog=self.webpackChunkfrog||[]).push([[2088],{72088:(e,t,r)=>{r.d(t,{QH:()=>l,YW:()=>He,Vl:()=>s});r(22264);var a=r(35748);const o=process.env.NEXT_PUBLIC_SECURE_SITE_SDK_URL||"https://secure.walletconnect.org/sdk",E=process.env.NEXT_PUBLIC_DEFAULT_LOG_LEVEL||"error",_=process.env.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION||3,n={APP_EVENT_KEY:"@w3m-app/",FRAME_EVENT_KEY:"@w3m-frame/",RPC_METHOD_KEY:"RPC_",STORAGE_KEY:"@appkit-wallet/",SESSION_TOKEN_KEY:"SESSION_TOKEN_KEY",EMAIL_LOGIN_USED_KEY:"EMAIL_LOGIN_USED_KEY",LAST_USED_CHAIN_KEY:"LAST_USED_CHAIN_KEY",LAST_EMAIL_LOGIN_TIME:"LAST_EMAIL_LOGIN_TIME",EMAIL:"EMAIL",PREFERRED_ACCOUNT_TYPE:"PREFERRED_ACCOUNT_TYPE",SMART_ACCOUNT_ENABLED:"SMART_ACCOUNT_ENABLED",SMART_ACCOUNT_ENABLED_NETWORKS:"SMART_ACCOUNT_ENABLED_NETWORKS",SOCIAL_USERNAME:"SOCIAL_USERNAME",APP_SWITCH_NETWORK:"@w3m-app/SWITCH_NETWORK",APP_CONNECT_EMAIL:"@w3m-app/CONNECT_EMAIL",APP_CONNECT_DEVICE:"@w3m-app/CONNECT_DEVICE",APP_CONNECT_OTP:"@w3m-app/CONNECT_OTP",APP_CONNECT_SOCIAL:"@w3m-app/CONNECT_SOCIAL",APP_GET_SOCIAL_REDIRECT_URI:"@w3m-app/GET_SOCIAL_REDIRECT_URI",APP_GET_USER:"@w3m-app/GET_USER",APP_SIGN_OUT:"@w3m-app/SIGN_OUT",APP_IS_CONNECTED:"@w3m-app/IS_CONNECTED",APP_GET_CHAIN_ID:"@w3m-app/GET_CHAIN_ID",APP_RPC_REQUEST:"@w3m-app/RPC_REQUEST",APP_UPDATE_EMAIL:"@w3m-app/UPDATE_EMAIL",APP_UPDATE_EMAIL_PRIMARY_OTP:"@w3m-app/UPDATE_EMAIL_PRIMARY_OTP",APP_UPDATE_EMAIL_SECONDARY_OTP:"@w3m-app/UPDATE_EMAIL_SECONDARY_OTP",APP_AWAIT_UPDATE_EMAIL:"@w3m-app/AWAIT_UPDATE_EMAIL",APP_SYNC_THEME:"@w3m-app/SYNC_THEME",APP_SYNC_DAPP_DATA:"@w3m-app/SYNC_DAPP_DATA",APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS:"@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS",APP_INIT_SMART_ACCOUNT:"@w3m-app/INIT_SMART_ACCOUNT",APP_SET_PREFERRED_ACCOUNT:"@w3m-app/SET_PREFERRED_ACCOUNT",APP_CONNECT_FARCASTER:"@w3m-app/CONNECT_FARCASTER",APP_GET_FARCASTER_URI:"@w3m-app/GET_FARCASTER_URI",APP_RELOAD:"@w3m-app/RELOAD",FRAME_SWITCH_NETWORK_ERROR:"@w3m-frame/SWITCH_NETWORK_ERROR",FRAME_SWITCH_NETWORK_SUCCESS:"@w3m-frame/SWITCH_NETWORK_SUCCESS",FRAME_CONNECT_EMAIL_ERROR:"@w3m-frame/CONNECT_EMAIL_ERROR",FRAME_CONNECT_EMAIL_SUCCESS:"@w3m-frame/CONNECT_EMAIL_SUCCESS",FRAME_CONNECT_DEVICE_ERROR:"@w3m-frame/CONNECT_DEVICE_ERROR",FRAME_CONNECT_DEVICE_SUCCESS:"@w3m-frame/CONNECT_DEVICE_SUCCESS",FRAME_CONNECT_OTP_SUCCESS:"@w3m-frame/CONNECT_OTP_SUCCESS",FRAME_CONNECT_OTP_ERROR:"@w3m-frame/CONNECT_OTP_ERROR",FRAME_CONNECT_SOCIAL_SUCCESS:"@w3m-frame/CONNECT_SOCIAL_SUCCESS",FRAME_CONNECT_SOCIAL_ERROR:"@w3m-frame/CONNECT_SOCIAL_ERROR",FRAME_CONNECT_FARCASTER_SUCCESS:"@w3m-frame/CONNECT_FARCASTER_SUCCESS",FRAME_CONNECT_FARCASTER_ERROR:"@w3m-frame/CONNECT_FARCASTER_ERROR",FRAME_GET_FARCASTER_URI_SUCCESS:"@w3m-frame/GET_FARCASTER_URI_SUCCESS",FRAME_GET_FARCASTER_URI_ERROR:"@w3m-frame/GET_FARCASTER_URI_ERROR",FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS",FRAME_GET_SOCIAL_REDIRECT_URI_ERROR:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR",FRAME_GET_USER_SUCCESS:"@w3m-frame/GET_USER_SUCCESS",FRAME_GET_USER_ERROR:"@w3m-frame/GET_USER_ERROR",FRAME_SIGN_OUT_SUCCESS:"@w3m-frame/SIGN_OUT_SUCCESS",FRAME_SIGN_OUT_ERROR:"@w3m-frame/SIGN_OUT_ERROR",FRAME_IS_CONNECTED_SUCCESS:"@w3m-frame/IS_CONNECTED_SUCCESS",FRAME_IS_CONNECTED_ERROR:"@w3m-frame/IS_CONNECTED_ERROR",FRAME_GET_CHAIN_ID_SUCCESS:"@w3m-frame/GET_CHAIN_ID_SUCCESS",FRAME_GET_CHAIN_ID_ERROR:"@w3m-frame/GET_CHAIN_ID_ERROR",FRAME_RPC_REQUEST_SUCCESS:"@w3m-frame/RPC_REQUEST_SUCCESS",FRAME_RPC_REQUEST_ERROR:"@w3m-frame/RPC_REQUEST_ERROR",FRAME_SESSION_UPDATE:"@w3m-frame/SESSION_UPDATE",FRAME_UPDATE_EMAIL_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SUCCESS",FRAME_UPDATE_EMAIL_ERROR:"@w3m-frame/UPDATE_EMAIL_ERROR",FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR",FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR",FRAME_SYNC_THEME_SUCCESS:"@w3m-frame/SYNC_THEME_SUCCESS",FRAME_SYNC_THEME_ERROR:"@w3m-frame/SYNC_THEME_ERROR",FRAME_SYNC_DAPP_DATA_SUCCESS:"@w3m-frame/SYNC_DAPP_DATA_SUCCESS",FRAME_SYNC_DAPP_DATA_ERROR:"@w3m-frame/SYNC_DAPP_DATA_ERROR",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR",FRAME_INIT_SMART_ACCOUNT_SUCCESS:"@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS",FRAME_INIT_SMART_ACCOUNT_ERROR:"@w3m-frame/INIT_SMART_ACCOUNT_ERROR",FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:"@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS",FRAME_SET_PREFERRED_ACCOUNT_ERROR:"@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR",FRAME_READY:"@w3m-frame/READY",FRAME_RELOAD_SUCCESS:"@w3m-frame/RELOAD_SUCCESS",FRAME_RELOAD_ERROR:"@w3m-frame/RELOAD_ERROR",RPC_RESPONSE_TYPE_ERROR:"RPC_RESPONSE_ERROR",RPC_RESPONSE_TYPE_TX:"RPC_RESPONSE_TRANSACTION_HASH",RPC_RESPONSE_TYPE_OBJECT:"RPC_RESPONSE_OBJECT"},s={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},i=/^0x(?:[A-Fa-f0-9]{64})$/u,R=/^0x(?:[a-fA-F0-9]{62,})$/u,C={set(e,t){l.isClient&&localStorage.setItem(`${n.STORAGE_KEY}${e}`,t)},get:e=>l.isClient?localStorage.getItem(`${n.STORAGE_KEY}${e}`):null,delete(e,t){l.isClient&&(t?localStorage.removeItem(e):localStorage.removeItem(`${n.STORAGE_KEY}${e}`))}},A=3e4,l={checkIfAllowedToTriggerEmail(){const e=C.get(n.LAST_EMAIL_LOGIN_TIME);if(e){const t=Date.now()-Number(e);if(t<A){const e=Math.ceil((A-t)/1e3);throw new Error(`Please try again after ${e} seconds`)}}},getTimeToNextEmailLogin(){const e=C.get(n.LAST_EMAIL_LOGIN_TIME);if(e){const t=Date.now()-Number(e);if(t<A)return Math.ceil((A-t)/1e3)}return 0},checkIfRequestExists:e=>s.NOT_SAFE_RPC_METHODS.includes(e.method)||s.SAFE_RPC_METHODS.includes(e.method),getResponseType:e=>"string"==typeof e&&(e?.match(i)||e?.match(R))?n.RPC_RESPONSE_TYPE_TX:n.RPC_RESPONSE_TYPE_OBJECT,checkIfRequestIsSafe:e=>s.SAFE_RPC_METHODS.includes(e.method),isClient:"undefined"!=typeof window};var c=r(14476);const S=c.z.object({message:c.z.string()});function p(e){return c.z.literal(n[e])}c.z.object({accessList:c.z.array(c.z.string()),blockHash:c.z.string().nullable(),blockNumber:c.z.string().nullable(),chainId:c.z.string().or(c.z.number()),from:c.z.string(),gas:c.z.string(),hash:c.z.string(),input:c.z.string().nullable(),maxFeePerGas:c.z.string(),maxPriorityFeePerGas:c.z.string(),nonce:c.z.string(),r:c.z.string(),s:c.z.string(),to:c.z.string(),transactionIndex:c.z.string().nullable(),type:c.z.string(),v:c.z.string(),value:c.z.string()});const T=c.z.object({chainId:c.z.string().or(c.z.number())}),m=c.z.object({email:c.z.string().email()}),d=c.z.object({otp:c.z.string()}),h=c.z.object({uri:c.z.string()}),g=c.z.object({chainId:c.z.optional(c.z.string().or(c.z.number())),preferredAccountType:c.z.optional(c.z.string())}),N=c.z.object({provider:c.z.enum(["google","github","apple","facebook","x","discord"])}),y=c.z.object({email:c.z.string().email()}),O=c.z.object({otp:c.z.string()}),P=c.z.object({otp:c.z.string()}),I=c.z.object({themeMode:c.z.optional(c.z.enum(["light","dark"])),themeVariables:c.z.optional(c.z.record(c.z.string(),c.z.string().or(c.z.number()))),w3mThemeVariables:c.z.optional(c.z.record(c.z.string(),c.z.string()))}),z=c.z.object({metadata:c.z.object({name:c.z.string(),description:c.z.string(),url:c.z.string(),icons:c.z.array(c.z.string())}).optional(),sdkVersion:c.z.string().optional(),sdkType:c.z.string().optional(),projectId:c.z.string()}),U=c.z.object({type:c.z.string()}),w=c.z.object({action:c.z.enum(["VERIFY_DEVICE","VERIFY_OTP","CONNECT"])}),M=c.z.object({url:c.z.string()}),L=c.z.object({userName:c.z.string()}),u=c.z.object({email:c.z.string(),address:c.z.string(),chainId:c.z.string().or(c.z.number()),accounts:c.z.array(c.z.object({address:c.z.string(),type:c.z.enum([s.ACCOUNT_TYPES.EOA,s.ACCOUNT_TYPES.SMART_ACCOUNT])})).optional(),userName:c.z.string().optional()}),F=c.z.object({action:c.z.enum(["VERIFY_PRIMARY_OTP","VERIFY_SECONDARY_OTP"])}),D=c.z.object({email:c.z.string().email().optional().nullable(),address:c.z.string(),chainId:c.z.string().or(c.z.number()),smartAccountDeployed:c.z.optional(c.z.boolean()),accounts:c.z.array(c.z.object({address:c.z.string(),type:c.z.enum([s.ACCOUNT_TYPES.EOA,s.ACCOUNT_TYPES.SMART_ACCOUNT])})).optional(),preferredAccountType:c.z.optional(c.z.string())}),b=c.z.object({uri:c.z.string()}),f=c.z.object({isConnected:c.z.boolean()}),v=c.z.object({chainId:c.z.string().or(c.z.number())}),j=c.z.object({chainId:c.z.string().or(c.z.number())}),G=c.z.object({newEmail:c.z.string().email()}),x=c.z.object({smartAccountEnabledNetworks:c.z.array(c.z.number())}),Y=(c.z.object({address:c.z.string(),isDeployed:c.z.boolean()}),c.z.object({version:c.z.string().optional()})),B=c.z.object({type:c.z.string(),address:c.z.string()}),H=c.z.any(),k=c.z.object({method:c.z.literal("eth_accounts")}),K=c.z.object({method:c.z.literal("eth_blockNumber")}),W=c.z.object({method:c.z.literal("eth_call"),params:c.z.array(c.z.any())}),V=c.z.object({method:c.z.literal("eth_chainId")}),q=c.z.object({method:c.z.literal("eth_estimateGas"),params:c.z.array(c.z.any())}),$=c.z.object({method:c.z.literal("eth_feeHistory"),params:c.z.array(c.z.any())}),Q=c.z.object({method:c.z.literal("eth_gasPrice")}),J=c.z.object({method:c.z.literal("eth_getAccount"),params:c.z.array(c.z.any())}),X=c.z.object({method:c.z.literal("eth_getBalance"),params:c.z.array(c.z.any())}),Z=c.z.object({method:c.z.literal("eth_getBlockByHash"),params:c.z.array(c.z.any())}),ee=c.z.object({method:c.z.literal("eth_getBlockByNumber"),params:c.z.array(c.z.any())}),te=c.z.object({method:c.z.literal("eth_getBlockReceipts"),params:c.z.array(c.z.any())}),re=c.z.object({method:c.z.literal("eth_getBlockTransactionCountByHash"),params:c.z.array(c.z.any())}),ae=c.z.object({method:c.z.literal("eth_getBlockTransactionCountByNumber"),params:c.z.array(c.z.any())}),oe=c.z.object({method:c.z.literal("eth_getCode"),params:c.z.array(c.z.any())}),Ee=c.z.object({method:c.z.literal("eth_getFilterChanges"),params:c.z.array(c.z.any())}),_e=c.z.object({method:c.z.literal("eth_getFilterLogs"),params:c.z.array(c.z.any())}),ne=c.z.object({method:c.z.literal("eth_getLogs"),params:c.z.array(c.z.any())}),se=c.z.object({method:c.z.literal("eth_getProof"),params:c.z.array(c.z.any())}),ie=c.z.object({method:c.z.literal("eth_getStorageAt"),params:c.z.array(c.z.any())}),Re=c.z.object({method:c.z.literal("eth_getTransactionByBlockHashAndIndex"),params:c.z.array(c.z.any())}),Ce=c.z.object({method:c.z.literal("eth_getTransactionByBlockNumberAndIndex"),params:c.z.array(c.z.any())}),Ae=c.z.object({method:c.z.literal("eth_getTransactionByHash"),params:c.z.array(c.z.any())}),le=c.z.object({method:c.z.literal("eth_getTransactionCount"),params:c.z.array(c.z.any())}),ce=c.z.object({method:c.z.literal("eth_getTransactionReceipt"),params:c.z.array(c.z.any())}),Se=c.z.object({method:c.z.literal("eth_getUncleCountByBlockHash"),params:c.z.array(c.z.any())}),pe=c.z.object({method:c.z.literal("eth_getUncleCountByBlockNumber"),params:c.z.array(c.z.any())}),Te=c.z.object({method:c.z.literal("eth_maxPriorityFeePerGas")}),me=c.z.object({method:c.z.literal("eth_newBlockFilter")}),de=c.z.object({method:c.z.literal("eth_newFilter"),params:c.z.array(c.z.any())}),he=c.z.object({method:c.z.literal("eth_newPendingTransactionFilter")}),ge=c.z.object({method:c.z.literal("eth_sendRawTransaction"),params:c.z.array(c.z.any())}),Ne=c.z.object({method:c.z.literal("eth_syncing"),params:c.z.array(c.z.any())}),ye=c.z.object({method:c.z.literal("eth_uninstallFilter"),params:c.z.array(c.z.any())}),Oe=c.z.object({method:c.z.literal("personal_sign"),params:c.z.array(c.z.any())}),Pe=c.z.object({method:c.z.literal("eth_signTypedData_v4"),params:c.z.array(c.z.any())}),Ie=c.z.object({method:c.z.literal("eth_sendTransaction"),params:c.z.array(c.z.any())}),ze=c.z.object({method:c.z.literal("solana_signMessage"),params:c.z.object({message:c.z.string(),pubkey:c.z.string()})}),Ue=c.z.object({method:c.z.literal("solana_signTransaction"),params:c.z.object({transaction:c.z.string()})}),we=c.z.object({method:c.z.literal("solana_signAllTransactions"),params:c.z.object({transactions:c.z.array(c.z.string())})}),Me=c.z.object({method:c.z.literal("solana_signAndSendTransaction"),params:c.z.object({transaction:c.z.string(),options:c.z.object({skipPreflight:c.z.boolean().optional(),preflightCommitment:c.z.enum(["processed","confirmed","finalized","recent","single","singleGossip","root","max"]).optional(),maxRetries:c.z.number().optional(),minContextSlot:c.z.number().optional()}).optional()})}),Le=c.z.object({method:c.z.literal("wallet_sendCalls"),params:c.z.array(c.z.object({chainId:c.z.string().or(c.z.number()).optional(),from:c.z.string().optional(),version:c.z.string().optional(),capabilities:c.z.any().optional(),calls:c.z.array(c.z.object({to:c.z.string().startsWith("0x"),data:c.z.string().startsWith("0x").optional(),value:c.z.string().optional()}))}))}),ue=c.z.object({method:c.z.literal("wallet_getCallsStatus"),params:c.z.array(c.z.string())}),Fe=c.z.object({method:c.z.literal("wallet_getCapabilities")}),De=c.z.object({method:c.z.literal("wallet_grantPermissions"),params:c.z.array(c.z.any())}),be=c.z.object({method:c.z.literal("wallet_revokePermissions"),params:c.z.any()}),fe=c.z.object({token:c.z.string()}),ve=c.z.object({id:c.z.string().optional()}),je={appEvent:ve.extend({type:p("APP_SWITCH_NETWORK"),payload:T}).or(ve.extend({type:p("APP_CONNECT_EMAIL"),payload:m})).or(ve.extend({type:p("APP_CONNECT_DEVICE")})).or(ve.extend({type:p("APP_CONNECT_OTP"),payload:d})).or(ve.extend({type:p("APP_CONNECT_SOCIAL"),payload:h})).or(ve.extend({type:p("APP_GET_FARCASTER_URI")})).or(ve.extend({type:p("APP_CONNECT_FARCASTER")})).or(ve.extend({type:p("APP_GET_USER"),payload:c.z.optional(g)})).or(ve.extend({type:p("APP_GET_SOCIAL_REDIRECT_URI"),payload:N})).or(ve.extend({type:p("APP_SIGN_OUT")})).or(ve.extend({type:p("APP_IS_CONNECTED"),payload:c.z.optional(fe)})).or(ve.extend({type:p("APP_GET_CHAIN_ID")})).or(ve.extend({type:p("APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS")})).or(ve.extend({type:p("APP_INIT_SMART_ACCOUNT")})).or(ve.extend({type:p("APP_SET_PREFERRED_ACCOUNT"),payload:U})).or(ve.extend({type:p("APP_RPC_REQUEST"),payload:Oe.or(Ie).or(k).or(K).or(W).or(V).or(q).or($).or(Q).or(J).or(X).or(Z).or(ee).or(te).or(re).or(ae).or(oe).or(Ee).or(_e).or(ne).or(se).or(ie).or(Re).or(Ce).or(Ae).or(le).or(ce).or(Se).or(pe).or(Te).or(me).or(de).or(he).or(ge).or(Ne).or(ye).or(Oe).or(Pe).or(Ie).or(ze).or(Ue).or(we).or(Me).or(ue).or(Le).or(Fe).or(De).or(be)})).or(ve.extend({type:p("APP_UPDATE_EMAIL"),payload:y})).or(ve.extend({type:p("APP_UPDATE_EMAIL_PRIMARY_OTP"),payload:O})).or(ve.extend({type:p("APP_UPDATE_EMAIL_SECONDARY_OTP"),payload:P})).or(ve.extend({type:p("APP_SYNC_THEME"),payload:I})).or(ve.extend({type:p("APP_SYNC_DAPP_DATA"),payload:z})).or(ve.extend({type:p("APP_RELOAD")})),frameEvent:ve.extend({type:p("FRAME_SWITCH_NETWORK_ERROR"),payload:S}).or(ve.extend({type:p("FRAME_SWITCH_NETWORK_SUCCESS"),payload:j})).or(ve.extend({type:p("FRAME_CONNECT_EMAIL_SUCCESS"),payload:w})).or(ve.extend({type:p("FRAME_CONNECT_EMAIL_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_GET_FARCASTER_URI_SUCCESS"),payload:M})).or(ve.extend({type:p("FRAME_GET_FARCASTER_URI_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_CONNECT_FARCASTER_SUCCESS"),payload:L})).or(ve.extend({type:p("FRAME_CONNECT_FARCASTER_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_CONNECT_OTP_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_CONNECT_OTP_SUCCESS")})).or(ve.extend({type:p("FRAME_CONNECT_DEVICE_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_CONNECT_DEVICE_SUCCESS")})).or(ve.extend({type:p("FRAME_CONNECT_SOCIAL_SUCCESS"),payload:u})).or(ve.extend({type:p("FRAME_CONNECT_SOCIAL_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_GET_USER_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_GET_USER_SUCCESS"),payload:D})).or(ve.extend({type:p("FRAME_GET_SOCIAL_REDIRECT_URI_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS"),payload:b})).or(ve.extend({type:p("FRAME_SIGN_OUT_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_SIGN_OUT_SUCCESS")})).or(ve.extend({type:p("FRAME_IS_CONNECTED_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_IS_CONNECTED_SUCCESS"),payload:f})).or(ve.extend({type:p("FRAME_GET_CHAIN_ID_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_GET_CHAIN_ID_SUCCESS"),payload:v})).or(ve.extend({type:p("FRAME_RPC_REQUEST_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_RPC_REQUEST_SUCCESS"),payload:H})).or(ve.extend({type:p("FRAME_SESSION_UPDATE"),payload:fe})).or(ve.extend({type:p("FRAME_UPDATE_EMAIL_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_UPDATE_EMAIL_SUCCESS"),payload:F})).or(ve.extend({type:p("FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS")})).or(ve.extend({type:p("FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS"),payload:G})).or(ve.extend({type:p("FRAME_SYNC_THEME_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_SYNC_THEME_SUCCESS")})).or(ve.extend({type:p("FRAME_SYNC_DAPP_DATA_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_SYNC_DAPP_DATA_SUCCESS")})).or(ve.extend({type:p("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS"),payload:x})).or(ve.extend({type:p("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_INIT_SMART_ACCOUNT_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_SET_PREFERRED_ACCOUNT_SUCCESS"),payload:B})).or(ve.extend({type:p("FRAME_SET_PREFERRED_ACCOUNT_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_READY"),payload:Y})).or(ve.extend({type:p("FRAME_RELOAD_ERROR"),payload:S})).or(ve.extend({type:p("FRAME_RELOAD_SUCCESS")}))};function Ge(e,t={}){return"string"==typeof t?.type&&t?.type?.includes(e)}class xe{constructor({projectId:e,isAppClient:t=!1,chainId:r="eip155:1",enableLogger:E=!0}){if(this.iframe=null,this.rpcUrl=a.oU.BLOCKCHAIN_API_RPC_URL,this.initFrame=()=>{const e=document.getElementById("w3m-iframe");this.iframe&&!e&&document.body.appendChild(this.iframe)},this.events={registerFrameEventHandler:(e,t,r)=>{function a({data:r}){if(!Ge(n.FRAME_EVENT_KEY,r))return;const o=je.frameEvent.parse(r);o.id===e&&(t(o),window.removeEventListener("message",a))}l.isClient&&(window.addEventListener("message",a),r.addEventListener("abort",(()=>{window.removeEventListener("message",a)})))},onFrameEvent:e=>{l.isClient&&window.addEventListener("message",(({data:t})=>{if(!Ge(n.FRAME_EVENT_KEY,t))return;const r=je.frameEvent.parse(t);e(r)}))},onAppEvent:e=>{l.isClient&&window.addEventListener("message",(({data:t})=>{if(!Ge(n.APP_EVENT_KEY,t))return;const r=je.appEvent.parse(t);e(r)}))},postAppEvent:e=>{if(l.isClient){if(!this.iframe?.contentWindow)throw new Error("W3mFrame: iframe is not set");je.appEvent.parse(e),this.iframe.contentWindow.postMessage(e,"*")}},postFrameEvent:e=>{if(l.isClient){if(!parent)throw new Error("W3mFrame: parent is not set");je.frameEvent.parse(e),parent.postMessage(e,"*")}}},this.projectId=e,this.frameLoadPromise=new Promise(((e,t)=>{this.frameLoadPromiseResolver={resolve:e,reject:t}})),t&&(this.frameLoadPromise=new Promise(((e,t)=>{this.frameLoadPromiseResolver={resolve:e,reject:t}})),l.isClient)){const t=document.createElement("iframe");t.id="w3m-iframe",t.src=`${o}?projectId=${e}&chainId=${r}&version=${_}&enableLogger=${E}`,t.name="w3m-secure-iframe",t.style.position="fixed",t.style.zIndex="999999",t.style.display="none",t.style.animationDelay="0s, 50ms",t.style.borderBottomLeftRadius="clamp(0px, var(--wui-border-radius-l), 44px)",t.style.borderBottomRightRadius="clamp(0px, var(--wui-border-radius-l), 44px)",this.iframe=t,this.iframe.onerror=()=>{this.frameLoadPromiseResolver?.reject("Unable to load email login dependency")},this.events.onFrameEvent((e=>{"@w3m-frame/READY"===e.type&&this.frameLoadPromiseResolver?.resolve(void 0)}))}}get networks(){const e=["eip155:1","eip155:5","eip155:11155111","eip155:10","eip155:420","eip155:42161","eip155:421613","eip155:137","eip155:80001","eip155:42220","eip155:1313161554","eip155:1313161555","eip155:56","eip155:97","eip155:43114","eip155:43113","eip155:324","eip155:280","eip155:100","eip155:8453","eip155:84531","eip155:84532","eip155:7777777","eip155:999","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1"].map((e=>({[e]:{rpcUrl:`${this.rpcUrl}/v1/?chainId=${e}&projectId=${this.projectId}`,chainId:e}})));return Object.assign({},...e)}}var Ye=r(29838);class Be{constructor(e){const t=(0,Ye.iP)({level:E}),{logger:r,chunkLoggerController:a}=(0,Ye.D5)({opts:t});this.logger=(0,Ye.U5)(r,this.constructor.name),this.chunkLoggerController=a,"undefined"!=typeof window&&this.chunkLoggerController?.downloadLogsBlobInBrowser&&(window.downloadAppKitLogsBlob||(window.downloadAppKitLogsBlob={}),window.downloadAppKitLogsBlob.sdk=()=>{this.chunkLoggerController?.downloadLogsBlobInBrowser&&this.chunkLoggerController.downloadLogsBlobInBrowser({projectId:e})})}}class He{constructor({projectId:e,chainId:t,enableLogger:r=!0,onTimeout:a}){this.openRpcRequests=[],r&&(this.w3mLogger=new Be(e)),this.w3mFrame=new xe({projectId:e,isAppClient:!0,chainId:t,enableLogger:r}),this.onTimeout=a,this.getLoginEmailUsed()&&this.w3mFrame.initFrame(),this.w3mFrame.events.onFrameEvent((e=>{e.type===n.FRAME_GET_USER_SUCCESS&&(this.user=e.payload)}))}getLoginEmailUsed(){return Boolean(C.get(n.EMAIL_LOGIN_USED_KEY))}getEmail(){return C.get(n.EMAIL)}getUsername(){return C.get(n.SOCIAL_USERNAME)}async reload(){try{this.w3mFrame.initFrame(),await this.appEvent({type:n.APP_RELOAD})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error reloading iframe"),e}}async connectEmail(e){try{l.checkIfAllowedToTriggerEmail(),this.w3mFrame.initFrame();const t=await this.appEvent({type:n.APP_CONNECT_EMAIL,payload:e});return this.setNewLastEmailLoginTime(),t}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting email"),e}}async connectDevice(){try{return this.appEvent({type:n.APP_CONNECT_DEVICE})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting device"),e}}async connectOtp(e){try{return this.appEvent({type:n.APP_CONNECT_OTP,payload:e})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting otp"),e}}async isConnected(){try{if(!this.getLoginEmailUsed())return{isConnected:!1};const e=await this.appEvent({type:n.APP_IS_CONNECTED});return e.isConnected||this.deleteAuthLoginCache(),e}catch(e){throw this.deleteAuthLoginCache(),this.w3mLogger?.logger.error({error:e},"Error checking connection"),e}}async getChainId(){try{const e=await this.appEvent({type:n.APP_GET_CHAIN_ID});return this.setLastUsedChainId(e.chainId),e}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error getting chain id"),e}}async getSocialRedirectUri(e){try{return this.w3mFrame.initFrame(),this.appEvent({type:n.APP_GET_SOCIAL_REDIRECT_URI,payload:e})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error getting social redirect uri"),e}}async updateEmail(e){try{const t=await this.appEvent({type:n.APP_UPDATE_EMAIL,payload:e});return this.setNewLastEmailLoginTime(),t}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error updating email"),e}}async updateEmailPrimaryOtp(e){try{return this.appEvent({type:n.APP_UPDATE_EMAIL_PRIMARY_OTP,payload:e})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error updating email primary otp"),e}}async updateEmailSecondaryOtp(e){try{const t=await this.appEvent({type:n.APP_UPDATE_EMAIL_SECONDARY_OTP,payload:e});return this.setLoginSuccess(t.newEmail),t}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error updating email secondary otp"),e}}async syncTheme(e){try{return this.appEvent({type:n.APP_SYNC_THEME,payload:e})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error syncing theme"),e}}async syncDappData(e){try{return this.appEvent({type:n.APP_SYNC_DAPP_DATA,payload:e})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error syncing dapp data"),e}}async getSmartAccountEnabledNetworks(){try{const e=await this.appEvent({type:n.APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS});return this.persistSmartAccountEnabledNetworks(e.smartAccountEnabledNetworks),e}catch(e){throw this.persistSmartAccountEnabledNetworks([]),this.w3mLogger?.logger.error({error:e},"Error getting smart account enabled networks"),e}}async setPreferredAccount(e){try{return this.appEvent({type:n.APP_SET_PREFERRED_ACCOUNT,payload:{type:e}})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error setting preferred account"),e}}async connect(e){try{const t=e?.chainId||this.getLastUsedChainId()||1,r=await this.appEvent({type:n.APP_GET_USER,payload:{...e,chainId:t}});return this.setLoginSuccess(r.email),this.setLastUsedChainId(r.chainId),r}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting"),e}}async getUser(e){try{const t=e?.chainId||this.getLastUsedChainId()||1;return await this.appEvent({type:n.APP_GET_USER,payload:{...e,chainId:t}})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting"),e}}async connectSocial(e){try{const t=await this.appEvent({type:n.APP_CONNECT_SOCIAL,payload:{uri:e}});return t.userName&&this.setSocialLoginSuccess(t.userName),t}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting social"),e}}async getFarcasterUri(){try{this.w3mFrame.initFrame();return await this.appEvent({type:n.APP_GET_FARCASTER_URI})}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error getting farcaster uri"),e}}async connectFarcaster(){try{const e=await this.appEvent({type:n.APP_CONNECT_FARCASTER});return e.userName&&this.setSocialLoginSuccess(e.userName),e}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error connecting farcaster"),e}}async switchNetwork(e){try{const t=await this.appEvent({type:n.APP_SWITCH_NETWORK,payload:{chainId:e}});return this.setLastUsedChainId(t.chainId),t}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error switching network"),e}}async disconnect(){try{const e=await this.appEvent({type:n.APP_SIGN_OUT});return this.deleteAuthLoginCache(),e}catch(e){throw this.w3mLogger?.logger.error({error:e},"Error disconnecting"),e}}async request(e){try{if(s.GET_CHAIN_ID===e.method)return this.getLastUsedChainId();this.rpcRequestHandler?.(e);const t=await this.appEvent({type:n.APP_RPC_REQUEST,payload:e});return this.rpcSuccessHandler?.(t,e),t}catch(t){throw this.rpcErrorHandler?.(t,e),this.w3mLogger?.logger.error({error:t},"Error requesting"),t}}onRpcRequest(e){this.rpcRequestHandler=e}onRpcSuccess(e){this.rpcSuccessHandler=e}onRpcError(e){this.rpcErrorHandler=e}onIsConnected(e){this.w3mFrame.events.onFrameEvent((t=>{t.type===n.FRAME_IS_CONNECTED_SUCCESS&&t.payload.isConnected&&e()}))}onNotConnected(e){this.w3mFrame.events.onFrameEvent((t=>{t.type===n.FRAME_IS_CONNECTED_ERROR&&e(),t.type!==n.FRAME_IS_CONNECTED_SUCCESS||t.payload.isConnected||e()}))}onConnect(e){this.w3mFrame.events.onFrameEvent((t=>{t.type===n.FRAME_GET_USER_SUCCESS&&e(t.payload)}))}onSocialConnected(e){this.w3mFrame.events.onFrameEvent((t=>{t.type===n.FRAME_CONNECT_SOCIAL_SUCCESS&&e(t.payload)}))}async getCapabilities(){try{return await this.request({method:"wallet_getCapabilities"})||{}}catch{return{}}}onSetPreferredAccount(e){this.w3mFrame.events.onFrameEvent((t=>{t.type===n.FRAME_SET_PREFERRED_ACCOUNT_SUCCESS?e(t.payload):t.type===n.FRAME_SET_PREFERRED_ACCOUNT_ERROR&&e({type:s.ACCOUNT_TYPES.EOA})}))}onGetSmartAccountEnabledNetworks(e){this.w3mFrame.events.onFrameEvent((t=>{t.type===n.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS?e(t.payload.smartAccountEnabledNetworks):t.type===n.FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR&&e([])}))}getAvailableChainIds(){return Object.keys(this.w3mFrame.networks)}rejectRpcRequests(){try{this.openRpcRequests.forEach((({abortController:e,method:t})=>{s.SAFE_RPC_METHODS.includes(t)||e.abort()})),this.openRpcRequests=[]}catch(e){this.w3mLogger?.logger.error({error:e},"Error aborting RPC request")}}async appEvent(e){let t;function r(e){return e.replace("@w3m-app/","")}await this.w3mFrame.frameLoadPromise;const a=new AbortController,o=r(e.type);return[n.APP_CONNECT_EMAIL,n.APP_CONNECT_DEVICE,n.APP_CONNECT_OTP,n.APP_CONNECT_SOCIAL,n.APP_GET_SOCIAL_REDIRECT_URI].map(r).includes(o)&&(t=setTimeout((()=>{this.onTimeout?.(),a.abort()}),3e4)),new Promise(((r,E)=>{const _=Math.random().toString(36).substring(7);if(this.w3mLogger?.logger.info?.({event:e,id:_},"Sending app event"),this.w3mFrame.events.postAppEvent({...e,id:_}),"RPC_REQUEST"===o){const t=e;this.openRpcRequests=[...this.openRpcRequests,{...t.payload,abortController:a}]}a.signal.addEventListener("abort",(()=>{"RPC_REQUEST"===o?E(new Error("Request was aborted")):"GET_FARCASTER_URI"!==o&&E(new Error("Something went wrong"))})),this.w3mFrame.events.registerFrameEventHandler(_,(e=>{return a=e,n=this.w3mLogger,void(a.id===_&&(n?.logger.info?.({framEvent:a,id:_},"Received frame response"),a.type===`@w3m-frame/${o}_SUCCESS`?(t&&clearTimeout(t),"payload"in a&&r(a.payload),r(void 0)):a.type===`@w3m-frame/${o}_ERROR`&&(t&&clearTimeout(t),"payload"in a&&E(new Error(a.payload?.message||"An error occurred")),E(new Error("An error occurred")))));var a,n}),a.signal)}))}setNewLastEmailLoginTime(){C.set(n.LAST_EMAIL_LOGIN_TIME,Date.now().toString())}setSocialLoginSuccess(e){C.set(n.SOCIAL_USERNAME,e)}setLoginSuccess(e){e&&C.set(n.EMAIL,e),C.set(n.EMAIL_LOGIN_USED_KEY,"true"),C.delete(n.LAST_EMAIL_LOGIN_TIME)}deleteAuthLoginCache(){C.delete(n.EMAIL_LOGIN_USED_KEY),C.delete(n.EMAIL),C.delete(n.LAST_USED_CHAIN_KEY),C.delete(n.SOCIAL_USERNAME)}setLastUsedChainId(e){e&&C.set(n.LAST_USED_CHAIN_KEY,String(e))}getLastUsedChainId(){const e=C.get(n.LAST_USED_CHAIN_KEY)??void 0,t=Number(e);return isNaN(t)?e:t}persistSmartAccountEnabledNetworks(e){C.set(n.SMART_ACCOUNT_ENABLED_NETWORKS,e.join(","))}}}}]);