@privy-io/js-sdk-core 0.26.3 → 0.26.4

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.
@@ -1,2 +1,2 @@
1
- import t from"fetch-retry";import{v4 as e}from"uuid";import{PrivyErrorCode as s}from"@privy-io/api-base";import{getPathWithParams as i,AppConfig as n,AnalyticsEvent as a,RefreshSession as o}from"@privy-io/public-api";import{PrivyApiError as r}from"./Error.js";import{Session as h}from"./Session.js";import c from"./toAbortSignalTimeout.js";import"eventemitter3";import"js-cookie";import"./Token.js";import"jose";const l="privy:caid";class d{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.26.3";_fetch;nativeAppIdentifier;callbacks;_cache=new Map;session;constructor(e){this._storage=e.storage,this._analyticsId=null,this._getOrGenerateClientAnalyticsId(),this.baseUrl=e.baseUrl??"https://auth.privy.io",this.appId=e.appId,this.appClientId=e.appClientId,this._sdkVersion=e.sdkVersion??this._sdkVersion,this.callbacks=e.callbacks,"undefined"==typeof document&&(this.nativeAppIdentifier=e.nativeAppIdentifier),this.session=new h({storage:this._storage,isUsingServerCookies:!1}),this._fetch=t(fetch,{retries:3,retryDelay:500})}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){this.isReady||(this._config=await this.getAppConfig(),this._config?.custom_api_url&&(this.baseUrl=this._config.custom_api_url,this.session.isUsingServerCookies=!0),this.callbacks?.setIsReady?.(!0),this.createAnalyticsEvent("sdk_initialize",{}))}async fetch(t,{body:e,params:s,headers:n,options:a={onRequest:this._beforeRequest.bind(this)}}){const o=`${this.baseUrl}${i(t.path,s)}`,h=new Request(o,{method:t.method,body:JSON.stringify(e),headers:n}),c=await a.onRequest(h),l=await this._fetch(h,c),d=await l.json();if(l.status>299)throw new r(d);return d}async _beforeRequestWithoutInitialize(t){const e=await this.session.getToken(),s=new Headers(t.headers);s.set("privy-app-id",this.appId),this.appClientId&&s.set("privy-client-id",this.appClientId),s.set("privy-client",this._sdkVersion),s.set("Authorization",`Bearer ${e}`),s.set("Content-Type","application/json"),s.set("Accept","application/json");const i=await this._getOrGenerateClientAnalyticsId();return i&&s.set("privy-ca-id",i),this.nativeAppIdentifier&&s.set("x-native-app-identifier",this.nativeAppIdentifier),{signal:c(2e4),headers:s,credentials:"include"}}async beforeRequestWithoutRefresh(t){return await this._initialize(),this._beforeRequestWithoutInitialize(t)}async _beforeRequest(t){return await this._initialize(),await this.getAccessToken(),this.beforeRequestWithoutRefresh(t)}async getAppConfig(){return await this.fetch(n,{params:{app_id:this.appId},options:{onRequest:this._beforeRequestWithoutInitialize.bind(this)}})}async _getOrGenerateClientAnalyticsId(){if(this._analyticsId)return this._analyticsId;try{const t=await this._storage.get(l);if("string"==typeof t&&t.length>0)return this._analyticsId=t,t}catch(t){console.error("Unable to load clientId",t)}try{this._analyticsId=e()}catch(t){console.error("Unable to generate uuidv4",t)}if(!this._analyticsId)return null;try{await this._storage.put(l,this._analyticsId)}catch(t){console.error(`Unable to store clientId: ${this._analyticsId}`,t)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(l)}catch(t){console.error("Unable to delete clientId",t)}}async createAnalyticsEvent(t,e){try{await this.fetch(a,{body:{event_name:t,client_id:await this._getOrGenerateClientAnalyticsId(),payload:e},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(t){}}async refreshSession(){const t=await this.session.getRefreshToken()??void 0,e=t??"key",s=this._cache.get(e);if(s)return await s;const i=this._refreshSession(t);this._cache.set(e,i);try{return await i}catch(t){throw t}finally{this._cache.delete(e)}}async _refreshSession(t){const e=await this.session.getToken();if(!this.session.hasRefreshCredentials(e,t??null))throw await this._initialize(),new Error("missing_or_invalid_token");try{const{session_update_action:e,...s}=await this.fetch(o,{body:{refresh_token:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}});return this.callbacks?.setUser?.(s.user),"set"===e&&await Promise.all([this.session.storeToken(s.token),this.session.storeRefreshToken(s.refresh_token),this.session.storeIdentityToken(s.identity_token)]),"clear"===e&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===e&&s.token&&(await this.session.storeToken(s.token),s.identity_token&&await this.session.storeIdentityToken(s.identity_token)),s}catch(t){throw(t instanceof r&&t.code===s.MISSING_OR_INVALID_TOKEN||t instanceof Error&&"missing_or_invalid_token"===t.message)&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),t}}async getAccessToken(){const[t,e]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);if(!this.session.tokenIsActive(t)&&this.session.hasRefreshCredentials(t,e))try{return await this.refreshSession(),await this.session.getToken()}catch(t){return null}return t}async getIdentityToken(){return await this.session.getIdentityToken()}}export{d as PrivyInternal};
1
+ import t from"fetch-retry";import{v4 as e}from"uuid";import{PrivyErrorCode as s}from"@privy-io/api-base";import{getPathWithParams as i,AppConfig as n,AnalyticsEvent as a,RefreshSession as o}from"@privy-io/public-api";import{PrivyApiError as r}from"./Error.js";import{Session as h}from"./Session.js";import c from"./toAbortSignalTimeout.js";import"eventemitter3";import"js-cookie";import"./Token.js";import"jose";const l="privy:caid";class d{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.26.4";_fetch;nativeAppIdentifier;callbacks;_cache=new Map;session;constructor(e){this._storage=e.storage,this._analyticsId=null,this._getOrGenerateClientAnalyticsId(),this.baseUrl=e.baseUrl??"https://auth.privy.io",this.appId=e.appId,this.appClientId=e.appClientId,this._sdkVersion=e.sdkVersion??this._sdkVersion,this.callbacks=e.callbacks,"undefined"==typeof document&&(this.nativeAppIdentifier=e.nativeAppIdentifier),this.session=new h({storage:this._storage,isUsingServerCookies:!1}),this._fetch=t(fetch,{retries:3,retryDelay:500})}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){this.isReady||(this._config=await this.getAppConfig(),this._config?.custom_api_url&&(this.baseUrl=this._config.custom_api_url,this.session.isUsingServerCookies=!0),this.callbacks?.setIsReady?.(!0),this.createAnalyticsEvent("sdk_initialize",{}))}async fetch(t,{body:e,params:s,headers:n,options:a={onRequest:this._beforeRequest.bind(this)}}){const o=`${this.baseUrl}${i(t.path,s)}`,h=new Request(o,{method:t.method,body:JSON.stringify(e),headers:n}),c=await a.onRequest(h),l=await this._fetch(h,c),d=await l.json();if(l.status>299)throw new r(d);return d}async _beforeRequestWithoutInitialize(t){const e=await this.session.getToken(),s=new Headers(t.headers);s.set("privy-app-id",this.appId),this.appClientId&&s.set("privy-client-id",this.appClientId),s.set("privy-client",this._sdkVersion),s.set("Authorization",`Bearer ${e}`),s.set("Content-Type","application/json"),s.set("Accept","application/json");const i=await this._getOrGenerateClientAnalyticsId();return i&&s.set("privy-ca-id",i),this.nativeAppIdentifier&&s.set("x-native-app-identifier",this.nativeAppIdentifier),{signal:c(2e4),headers:s,credentials:"include"}}async beforeRequestWithoutRefresh(t){return await this._initialize(),this._beforeRequestWithoutInitialize(t)}async _beforeRequest(t){return await this._initialize(),await this.getAccessToken(),this.beforeRequestWithoutRefresh(t)}async getAppConfig(){return await this.fetch(n,{params:{app_id:this.appId},options:{onRequest:this._beforeRequestWithoutInitialize.bind(this)}})}async _getOrGenerateClientAnalyticsId(){if(this._analyticsId)return this._analyticsId;try{const t=await this._storage.get(l);if("string"==typeof t&&t.length>0)return this._analyticsId=t,t}catch(t){console.error("Unable to load clientId",t)}try{this._analyticsId=e()}catch(t){console.error("Unable to generate uuidv4",t)}if(!this._analyticsId)return null;try{await this._storage.put(l,this._analyticsId)}catch(t){console.error(`Unable to store clientId: ${this._analyticsId}`,t)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(l)}catch(t){console.error("Unable to delete clientId",t)}}async createAnalyticsEvent(t,e){try{await this.fetch(a,{body:{event_name:t,client_id:await this._getOrGenerateClientAnalyticsId(),payload:e},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(t){}}async refreshSession(){const t=await this.session.getRefreshToken()??void 0,e=t??"key",s=this._cache.get(e);if(s)return await s;const i=this._refreshSession(t);this._cache.set(e,i);try{return await i}catch(t){throw t}finally{this._cache.delete(e)}}async _refreshSession(t){const e=await this.session.getToken();if(!this.session.hasRefreshCredentials(e,t??null))throw await this._initialize(),new Error("missing_or_invalid_token");try{const{session_update_action:e,...s}=await this.fetch(o,{body:{refresh_token:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}});return this.callbacks?.setUser?.(s.user),"set"===e&&await Promise.all([this.session.storeToken(s.token),this.session.storeRefreshToken(s.refresh_token),this.session.storeIdentityToken(s.identity_token)]),"clear"===e&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===e&&s.token&&(await this.session.storeToken(s.token),s.identity_token&&await this.session.storeIdentityToken(s.identity_token)),s}catch(t){throw(t instanceof r&&t.code===s.MISSING_OR_INVALID_TOKEN||t instanceof Error&&"missing_or_invalid_token"===t.message)&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),t}}async getAccessToken(){const[t,e]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);if(!this.session.tokenIsActive(t)&&this.session.hasRefreshCredentials(t,e))try{return await this.refreshSession(),await this.session.getToken()}catch(t){return null}return t}async getIdentityToken(){return await this.session.getIdentityToken()}}export{d as PrivyInternal};
2
2
  //# sourceMappingURL=PrivyInternal.js.map
@@ -1,2 +1,2 @@
1
- const t={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"}},testnet:!0};export{t as base};
1
+ const t={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"}}};export{t as base};
2
2
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../src/chains/base.ts"],"sourcesContent":[null],"names":["base","id","network","name","nativeCurrency","symbol","decimals","rpcUrls","privy","http","blast","webSocket","default","public","blockExplorers","etherscan","url","testnet"],"mappings":"AAEa,MAAAA,EAAc,CACzBC,GAAI,KACJC,QAAS,OACTC,KAAM,OACNC,eAAgB,CAACD,KAAM,QAASE,OAAQ,MAAOC,SAAU,IACzDC,QAAS,CACPC,MAAO,CACLC,KAAM,CAAC,2CAETC,MAAO,CACLD,KAAM,CAAC,oCACPE,UAAW,CAAC,mCAEdC,QAAS,CACPH,KAAM,CAAC,6BAETI,OAAQ,CACNJ,KAAM,CAAC,8BAGXK,eAAgB,CACdC,UAAW,CACTZ,KAAM,WACNa,IAAK,wBAEPJ,QAAS,CACPT,KAAM,WACNa,IAAK,yBAGTC,SAAS"}
1
+ {"version":3,"file":"base.js","sources":["../../src/chains/base.ts"],"sourcesContent":[null],"names":["base","id","network","name","nativeCurrency","symbol","decimals","rpcUrls","privy","http","blast","webSocket","default","public","blockExplorers","etherscan","url"],"mappings":"AAEa,MAAAA,EAAc,CACzBC,GAAI,KACJC,QAAS,OACTC,KAAM,OACNC,eAAgB,CAACD,KAAM,QAASE,OAAQ,MAAOC,SAAU,IACzDC,QAAS,CACPC,MAAO,CACLC,KAAM,CAAC,2CAETC,MAAO,CACLD,KAAM,CAAC,oCACPE,UAAW,CAAC,mCAEdC,QAAS,CACPH,KAAM,CAAC,6BAETI,OAAQ,CACNJ,KAAM,CAAC,8BAGXK,eAAgB,CACdC,UAAW,CACTZ,KAAM,WACNa,IAAK,wBAEPJ,QAAS,CACPT,KAAM,WACNa,IAAK"}
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),t=require("jose"),r=require("eventemitter3"),s=require("@ethersproject/abstract-signer"),a=require("@ethersproject/providers"),i=require("@ethersproject/bignumber"),n=require("@ethersproject/contracts"),o=require("@ethersproject/transactions"),c=require("@ethersproject/units"),l=require("fetch-retry"),d=require("uuid"),h=require("@privy-io/api-base"),p=require("js-cookie");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=u(t),_=y(r),v=y(l),w=y(p);class g{_privyInternal;constructor(e){this._privyInternal=e}async syncWithToken(t){const r=await this._privyInternal.fetch(e.CustomJWTAuthenticate,{body:{token:t}});return await Promise.all([this._privyInternal.session.storeToken(r.token),this._privyInternal.session.storeRefreshToken(r.refresh_token),this._privyInternal.session.storeIdentityToken(r.identity_token)]),this._privyInternal.callbacks?.setUser?.(r.user),r}}class f{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(t,r){return this._privyInternal.fetch(e.PasswordlessInit,{body:{email:t,token:r}})}async loginWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessAuthenticate,{body:{email:t,code:r}});return await Promise.all([this._privyInternal.session.storeToken(s.token),this._privyInternal.session.storeRefreshToken(s.refresh_token),this._privyInternal.session.storeIdentityToken(s.identity_token)]),this._privyInternal.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){await this._privyInternal.fetch(e.PasswordlessLink,{body:{email:t,code:r}});return(await this._privyInternal.refreshSession()).user}async unlink(t){await this._privyInternal.fetch(e.PasswordlessUnlink,{body:{address:t}});return(await this._privyInternal.refreshSession()).user}}class b{_privyInternal;constructor(e){this._privyInternal=e}async initializeAuth({relyingParty:t,redirectUrl:r,token:s}){return await this._privyInternal.fetch(e.FarcasterInit,{body:{relying_party:t,redirect_url:r,token:s}})}async getFarcasterStatus({channel_token:t}){return await this._privyInternal.fetch(e.FarcasterStatus,{headers:{"farcaster-channel-token":t}})}async authenticate({channel_token:t,message:r,signature:s,fid:a}){const i=await this._privyInternal.fetch(e.FarcasterAuthenticate,{body:{channel_token:t,message:r,signature:s,fid:a}});return await Promise.all([this._privyInternal.session.storeToken(i.token),this._privyInternal.session.storeRefreshToken(i.refresh_token),this._privyInternal.session.storeIdentityToken(i.identity_token)]),this._privyInternal.callbacks?.setUser?.(i.user),i}async link({channel_token:t,message:r,signature:s,fid:a}){await this._privyInternal.fetch(e.FarcasterLink,{body:{channel_token:t,message:r,signature:s,fid:a}});return(await this._privyInternal.refreshSession()).user}async unlink({fid:t}){await this._privyInternal.fetch(e.FarcasterUnlink,{body:{fid:t}});return(await this._privyInternal.refreshSession()).user}}class k extends Error{error;code;constructor({error:e,code:t}){super(e),this.error=e,this.code=t}}class I extends Error{error;code;constructor({error:e,code:t}){super(e),this.code=t,this.error=e}}const E="privy:state_code",x="privy:code_verifier";function P(){return t.base64url.encode((e=36,crypto.getRandomValues(new Uint8Array(e))));var e}function T(){return P()}async function S({codeVerifier:e,method:r="S256",digest:s=crypto.subtle.digest.bind(crypto.subtle)}){if("S256"==r){const r=await async function(e,t){const r=(new TextEncoder).encode(e),s=await t("SHA-256",r);return new Uint8Array(s)}(e,s);return t.base64url.encode(r)}return e}class C{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t,r){const s=P(),a=T(),i=await S({codeVerifier:s,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,s),this._storage.put(E,a)]),this._privyInternal.fetch(e.OAuthInit,{body:{redirect_to:r,provider:t,code_challenge:i,state_code:a}})}async loginWithCode(t,r,s,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(E)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const o=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});return await Promise.all([this._privyInternal.session.storeToken(o.token),this._privyInternal.session.storeRefreshToken(o.refresh_token),this._privyInternal.session.storeIdentityToken(o.identity_token)]),this._privyInternal.callbacks?.setUser?.(o.user),await Promise.all([this._storage.del(x),this._storage.del(E)]),o}async linkWithCode(t,r,s,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(E)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});const o=await this._privyInternal.refreshSession();return await Promise.all([this._storage.del(x),this._storage.del(E)]),o.user}async unlink(t,r){await this._privyInternal.fetch(e.OAuthUnlink,{body:{provider:t,subject:r}});return(await this._privyInternal.refreshSession()).user}}class R{_privyInternal;constructor(e){this._privyInternal=e}async generateRegistrationOptions(t){return await this._privyInternal.fetch(e.PasskeyLinkInit,{body:{relying_party:t}})}async generateAuthenticationOptions(t){return await this._privyInternal.fetch(e.PasskeyAuthenticateInit,{body:{relying_party:t}})}async loginWithPasskey(t,r,s){const a=await this._privyInternal.fetch(e.PasskeyAuthenticate,{body:{relying_party:s,challenge:r,authenticator_response:{type:t.type,id:t.id,raw_id:t.rawId,response:{signature:t.response.signature,client_data_json:t.response.clientDataJSON,authenticator_data:t.response.authenticatorData,user_handle:t.response.userHandle||void 0},authenticator_attachment:t.authenticatorAttachment||void 0,client_extension_results:{app_id:t.clientExtensionResults.appid||void 0,cred_props:t.clientExtensionResults.credProps||void 0,hmac_create_secret:t.clientExtensionResults.hmacCreateSecret||void 0}}}});return await Promise.all([this._privyInternal.session.storeToken(a.token),this._privyInternal.session.storeRefreshToken(a.refresh_token),this._privyInternal.session.storeIdentityToken(a.identity_token)]),this._privyInternal.callbacks?.setUser?.(a.user),a}async linkWithPasskey(t,r){await this._privyInternal.fetch(e.PasskeyLink,{body:{relying_party:r,authenticator_response:{type:t.type,id:t.id,raw_id:t.rawId,response:{client_data_json:t.response.clientDataJSON,attestation_object:t.response.attestationObject,authenticator_data:t.response.authenticatorData||void 0,transports:t.response.transports||void 0,public_key:t.response.publicKey||void 0,public_key_algorithm:t.response.publicKeyAlgorithm||void 0},authenticator_attachment:t.authenticatorAttachment||void 0,client_extension_results:{app_id:t.clientExtensionResults.appid||void 0,cred_props:t.clientExtensionResults.credProps||void 0,hmac_create_secret:t.clientExtensionResults.hmacCreateSecret||void 0}}}});return(await this._privyInternal.refreshSession()).user}}class A{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(t,r){return this._privyInternal.fetch(e.PasswordlessSmsInit,{body:{phoneNumber:t,token:r}})}async loginWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessSmsAuthenticate,{body:{phoneNumber:t,code:r}});return await Promise.all([this._privyInternal.session.storeToken(s.token),this._privyInternal.session.storeRefreshToken(s.refresh_token),this._privyInternal.session.storeIdentityToken(s.identity_token)]),this._privyInternal.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){await this._privyInternal.fetch(e.PasswordlessSmsLink,{body:{phoneNumber:t,code:r}});return(await this._privyInternal.refreshSession()).user}async unlink(t){await this._privyInternal.fetch(e.PasswordlessSmsUnlink,{body:{phoneNumber:t}});return(await this._privyInternal.refreshSession()).user}}class U{_privyInternal;_wallet=void 0;_preparedMessage;constructor(e){this._privyInternal=e}async linkWithSiwe(t,r,s){const a=r||this._wallet,i=s||this._preparedMessage;if(!a)throw new Error("A wallet must be provided in the init step or as an argument to linkWithSiwe");if(!i)throw new Error("A message must be generated and signed before being used to link a wallet to privy");try{await this._privyInternal.fetch(e.SiweLink,{body:{message:i,signature:t,chainId:a.chainId,walletClientType:a.walletClientType,connectorType:a.connectorType}});return(await this._privyInternal.refreshSession()).user}catch(e){throw e}}async loginWithSiwe(t,r,s){const a=r||this._wallet,i=s||this._preparedMessage;if(!a)throw new Error("A wallet must be provided in the init step or as an argument to loginWithSiwe");if(!i)throw new Error("A message must be generated and signed before being used to login to privy with a wallet");try{const r=await this._privyInternal.fetch(e.SiweAuthenticate,{body:{signature:t,message:i,chainId:a.chainId,walletClientType:a.walletClientType,connectorType:a.connectorType}});return await Promise.all([this._privyInternal.session.storeToken(r.token),this._privyInternal.session.storeRefreshToken(r.refresh_token),this._privyInternal.session.storeIdentityToken(r.identity_token)]),this._privyInternal.callbacks?.setUser?.(r.user),r}catch(e){throw e}}async init(t,r,s){this._wallet=t;const a=await this._privyInternal.fetch(e.SiweInit,{body:{address:t.address}}),{nonce:i}=a,n=`${(o={chainId:t.chainId.toString().replace("eip155:",""),address:t.address,issuedAt:(new Date).toISOString(),statement:"By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",domain:r,nonce:i,uri:s}).domain} wants you to sign in with your Ethereum account:\n${o.address}\n\n${o.statement}\n\nURI: ${o.uri}\nVersion: 1\nChain ID: ${o.chainId}\nNonce: ${o.nonce}\nIssued At: ${o.issuedAt}\nResources:\n- https://privy.io`;var o;return this._preparedMessage=n,{nonce:i,message:n}}}class F{_privyInternal;customProvider;phone;email;oauth;siwe;passkey;farcaster;constructor(e,t,r){this._privyInternal=e,this.customProvider=new g(this._privyInternal),this.phone=new A(this._privyInternal),this.email=new f(this._privyInternal),this.oauth=new C(this._privyInternal,t,r),this.siwe=new U(this._privyInternal),this.passkey=new R(this._privyInternal),this.farcaster=new b(this._privyInternal)}async logout(){try{const t=await this._privyInternal.session.getRefreshToken()??void 0;await this._privyInternal.fetch(e.Logout,{body:{refresh_token:t}})}catch(e){console.warn("Error destroying session")}await Promise.all([this._privyInternal.session.destroyLocalState({reason:"logout"}),this._privyInternal.destroyClientAnalyticsId()]),this._privyInternal.callbacks?.setUser?.(null)}}const O={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"}}},N={id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"AGOR",decimals:18},rpcUrls:{default:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"}},testnet:!0},L={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},G={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"}}},D={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},M={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"}},testnet:!0},q={id:84531,network:"base-goerli",name:"Base Goerli Testnet",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://goerli.basescan.org"}},testnet:!0},j={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},W={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},z={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},H={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"}}},B={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"}}},J={id:5,network:"goerli",name:"Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.ankr.com/eth_goerli"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.etherscan.io"}},testnet:!0},K={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"}}},V={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},Y={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},Q={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"}}},Z={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"}}},X={id:420,name:"Optimism Goerli Testnet",network:"optimism-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.optimism.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"}},testnet:!0},ee={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},te={id:137,name:"Polygon Mainnet",network:"matic",nativeCurrency:{name:"MATIC",symbol:"MATIC",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"}}},re={id:80001,name:"Mumbai",network:"maticmum",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{default:{http:["https://matic-mumbai.chainstacklabs.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"}},testnet:!0},se={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/"}}},ae={id:17001,name:"Redstone Holesky",network:"redstone-holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.holesky.redstone.xyz"]},public:{http:["https://rpc.holesky.redstone.xyz"]}},blockExplorers:{etherscan:{name:"EtherScan",url:"https://explorer.holesky.redstone.xyz"},default:{name:"EtherScan",url:"https://explorer.holesky.redstone.xyz"}}},ie={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},ne={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"}}},oe={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},ce={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},le={mainnet:Q,goerli:J,sepolia:ie,arbitrum:O,arbitrumGoerli:N,arbitrumSepolia:L,optimism:Z,optimismGoerli:X,optimismSepolia:ee,polygon:te,polygonMumbai:re,celo:W,celoAlfajores:z,filecoin:H,filecoinCalibration:$,base:M,baseGoerli:q,baseSepolia:j,linea:V,lineaTestnet:Y,avalanche:G,avalancheFuji:D,holesky:K,redstone:se,garnetHolesky:B,redstoneHolesky:ae,zora:ne,zoraSepolia:oe,zoraTestnet:ce},de=[Q,J,ie,O,N,L,Z,X,ee,te,re,W,z,H,$,M,q,j,{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},V,Y,G,D,K,se,B,ae,ne,oe,ce],he=new Set(de.map((e=>e.id))),pe=["error","invalid_request_arguments","wallet_not_on_device","invalid_recovery_pin","insufficient_funds"];var ye;exports.PrivyEmbeddedWalletErrorCode=void 0,(ye=exports.PrivyEmbeddedWalletErrorCode||(exports.PrivyEmbeddedWalletErrorCode={})).MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",ye.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",ye.INVALID_DATA="invalid_data",ye.LINKED_TO_ANOTHER_USER="linked_to_another_user",ye.ALLOWLIST_REJECTED="allowlist_rejected",ye.OAUTH_USER_DENIED="oauth_user_denied",ye.UNKNOWN_AUTH_ERROR="unknown_auth_error",ye.USER_EXITED_AUTH_FLOW="exited_auth_flow",ye.MUST_BE_AUTHENTICATED="must_be_authenticated",ye.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",ye.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",ye.CLIENT_REQUEST_TIMEOUT="client_request_timeout",ye.INVALID_CREDENTIALS="invalid_credentials";class ue extends Error{cause;privyErrorCode;constructor(e,t,r){super(e),t instanceof Error&&(this.cause=t),this.privyErrorCode=r}toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}}class me extends ue{type="provider_error";code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}class _e extends Error{type;constructor(e,t){super(t),this.type=e}}class ve extends ue{type="connector_error";constructor(e,t,r){super(e,t,r)}}class we extends Error{code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}const ge={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}};function fe(e){return function(e){const t=e.type;return"string"==typeof t&&pe.includes(t)}(e)&&"wallet_not_on_device"===e.type}class be extends me{details;constructor(e){const t=e;super(t.message,t.code,t.data);const r=Object.values(ge).find((e=>e.eipCode===t.code));this.details=r||ge.UNKNOWN_ERROR,-32002===t.code&&(t.message?.includes("already pending for origin")?t.message?.includes("wallet_requestPermissions")?this.details=ge.E32002_CONNECTION_ALREADY_PENDING:this.details=ge.E32002_REQUEST_ALREADY_PENDING:t.message?.includes("Already processing")&&t.message.includes("eth_requestAccounts")&&(this.details=ge.E32002_WALLET_LOCKED))}}const ke=["eth_sign","eth_signTransaction","personal_sign","eth_signTypedData_v4","csw_signUserOperation"],Ie=e=>i.BigNumber.from(e);function Ee(e){if("number"==typeof e||"bigint"==typeof e||"string"==typeof e)return e;if("function"==typeof e.toHexString)return e.toHexString();throw new Error(`Expected numeric value but received ${e}`)}function xe(e){const t={};return void 0!==e.to&&(t.to=e.to),void 0!==e.data&&(t.data=e.data),void 0!==e.chainId&&(t.chainId=e.chainId),void 0!==e.type&&(t.type=e.type),void 0!==e.accessList&&(t.accessList=e.accessList),void 0!==e.nonce&&(t.nonce=Ie(e.nonce).toNumber()),void 0!==e.gasLimit&&(t.gasLimit=Ie(e.gasLimit)),void 0!==e.gasPrice&&(t.gasPrice=Ie(e.gasPrice)),void 0!==e.value&&(t.value=Ie(e.value)),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=Ie(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=Ie(e.maxPriorityFeePerGas)),t}const Pe=e=>[O.id,N.id,L.id].includes(e),Te=e=>[56,97].includes(e),Se=81457,Ce=168587773,Re="0x420000000000000000000000000000000000000F",Ae=["function getL1Fee(bytes memory _data) external view returns (uint256)"],Ue=e=>[M.id,q.id,j.id,Z.id,X.id,ee.id,ne.id,ce.id,oe.id,Se,Ce].includes(e);const Fe={id:80002,name:"Polygon Amoy",nativeCurrency:{name:"MATIC",symbol:"MATIC",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},Oe=v.default(fetch,{retries:3,retryDelay:500}),Ne=e=>[te.id,re.id,Fe.id].includes(e),Le=e=>({maxPriorityFee:c.parseUnits(e.maxPriorityFee.toFixed(9),"gwei").toHexString(),maxFee:c.parseUnits(e.maxFee.toFixed(9),"gwei").toHexString()}),Ge=async e=>{let t="";switch(e){case te.id:t="https://gasstation.polygon.technology/v2";break;case re.id:t="https://gasstation-testnet.polygon.technology/v2";break;case Fe.id:t="https://gasstation.polygon.technology/amoy";break;default:throw Error(`chainId ${e} does not support polygon gas stations`)}const r=await Oe(t),s=await r.json();if(r.status>399)throw s;return{safeLow:Le((a=s).safeLow),standard:Le(a.standard),fast:Le(a.fast)};var a};async function De(e,t){try{return(await t.estimateGas(e)).toHexString()}catch(r){let s;if("message"in r&&r.message.includes("insufficient funds")&&(console.warn(`Gas estimation failed with error: ${r}. Retrying gas estimation by omitting the 'value'`),s=await async function({txRequest:e,provider:t}){try{const r={...e,value:void 0};return(await t.estimateGas(r)).toHexString()}catch(e){return console.warn(`Gas estimation failed with error: ${e} when omitting the 'value'`),null}}({txRequest:e,provider:t})),s||(console.warn(`Gas estimation failed with error: ${r}. Retrying gas estimation by omitting the 'from'`),s=await async function({txRequest:e,provider:t}){try{const r={...e,from:void 0};return(await t.estimateGas(r)).toHexString()}catch(e){return console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),null}}({txRequest:e,provider:t})),!s)throw r;return s}}const Me=(e,t,r,s)=>{const i=Number(e),n=t.find((e=>e.id===i));if(!n)throw new ve(`Unsupported chainId ${e}`,4901);let o;if(o=n.rpcUrls.privyWalletOverride&&n.rpcUrls.privyWalletOverride.http[0]?new a.StaticJsonRpcProvider(n.rpcUrls.privyWalletOverride.http[0]):r.rpcUrls&&r.rpcUrls[i]?new a.StaticJsonRpcProvider(r.rpcUrls[i]):n.rpcUrls.privy?.http[0]?new a.StaticJsonRpcProvider({url:n.rpcUrls.privy.http[0],headers:{"privy-app-id":s.appId}}):n.rpcUrls.public?.http[0]?new a.StaticJsonRpcProvider(n.rpcUrls.public?.http[0]):new a.StaticJsonRpcProvider(n.rpcUrls.default?.http[0]),!o)throw new ve(`No RPC url found for ${e}`);return o};function qe(e){return/^-?0x[a-f0-9]+$/i.test(e)}function je(e){const t="number"==typeof e,r="bigint"==typeof e,s="string"==typeof e&&qe(e);return t||r||s}async function We(e,t,r){if(t.chainId=Number(t.chainId),function(e){const t=["gasLimit","gasPrice","value","maxPriorityFeePerGas","maxFeePerGas"];for(const r of t){const t=e[r];if(void 0!==t&&!je(t))throw new Error(`Transaction request property '${r}' must be a valid number, bigint, or hex string representing a quantity`)}if("number"!=typeof e.chainId)throw new Error("Transaction request property 'chainId' must be a number")}(t),t.from||(t.from=e),!t.nonce){const a=new s.VoidSigner(e,r);t.nonce=await a.getTransactionCount("pending")}return t.gasLimit||(t.gas?(t.gasLimit=t.gas,delete t.gas):t.gasLimit=await De(t,r)),"string"==typeof t.type&&qe(t.type)&&(t.type=Number(t.type)),[23294,23295].includes(t.chainId)&&(t.type=0),t=Ne(t.chainId)?await async function(e){if(!Ne(e.chainId))throw new Error("Invalid chain ID for Polygon gas estimation.");if(void 0===e.type&&(e.type=2),e.maxPriorityFeePerGas&&e.maxFeePerGas)return e;try{const{standard:t}=await Ge(e.chainId);e.maxPriorityFeePerGas||(e.maxPriorityFeePerGas=t.maxPriorityFee),e.maxFeePerGas||(e.maxFeePerGas=t.maxFee),e.gasPrice&&(console.warn("`gasPrice` is not supported on this chain and will be ignored. Use `maxPriorityFeePerGas` and/or `maxFeePerGas` instead."),delete e.gasPrice)}catch(e){throw new Error(`Failed to set gas prices from Polygon gas station with error: ${e}.`)}return e}(t):Pe(t.chainId)?await(async(e,t)=>{if(!Pe(e.chainId))throw new Error("Invalid chain ID for Arbitrum gas estimation.");if(void 0===e.type&&(e.type=2),e.maxFeePerGas)return e;try{const{lastBaseFeePerGas:r}=await t.getFeeData();if(r){const t=r.mul(i.BigNumber.from(120)).div(i.BigNumber.from(100));e.maxFeePerGas=Ee(t),e.maxPriorityFeePerGas=Ee(i.BigNumber.from(0))}}catch(e){throw new Error(`Failed to set gas price for Arbitrum transaction: ${e}.`)}return e})(t,r):Ue(t.chainId)?await(async(e,t)=>{if(!Ue(e.chainId))throw new Error("Invalid chain ID for OP Stack gas estimation.");if(void 0===e.type&&(e.type=2),e.gasPrice&&(console.warn("`gasPrice` is not supported on this chain and will be ignored. Use `maxPriorityFeePerGas` and/or `maxFeePerGas` instead."),delete e.gasPrice),e.maxPriorityFeePerGas&&e.maxFeePerGas)return e;try{if(!e.maxPriorityFeePerGas){const r=await t.send("eth_maxPriorityFeePerGas",[]);e.maxPriorityFeePerGas=r}if(e.maxFeePerGas&&(console.warn("maxFeePerGas is specified without maxPriorityFeePerGas - this can result in hung transactions."),e.maxPriorityFeePerGas>=e.maxFeePerGas))throw new Error("Overridden maxFeePerGas is less than or equal to the calculated maxPriorityFeePerGas. Please set both values or maxPriorityFeePerGas alone for correct gas estimation.");if(!e.maxFeePerGas){const{lastBaseFeePerGas:r}=await t.getFeeData();if(!r)throw new Error("Unable to fetch baseFee for last block.");const s=i.BigNumber.from(r).mul(i.BigNumber.from(126)).div(i.BigNumber.from(100)).add(i.BigNumber.from(e.maxPriorityFeePerGas));e.maxFeePerGas=Ee(s)}}catch(e){throw new Error(`Failed to set gas price for OP stack transaction: ${e}.`)}return e})(t,r):Te(t.chainId)?await(async(e,t)=>{if(!Te(e.chainId))throw new Error("Invalid chain ID for BSC gas estimation.");if(void 0===e.type?e.type=0:1!=e.type&&2!=e.type||console.warn("Transaction request type specified is incompatible for chain and will result in undefined behavior. Please use transaction type 0."),!e.gasPrice){const r=await t.getFeeData();e.gasPrice=r.gasPrice?.toHexString()}return e})(t,r):await(async(e,t)=>{if(void 0===e.type&&(e.type=2),2===e.type){if(!e.maxFeePerGas||!e.maxPriorityFeePerGas){const r=await t.getFeeData();e.maxFeePerGas||(e.maxFeePerGas=r.maxFeePerGas?.toHexString()),e.maxPriorityFeePerGas||(e.maxPriorityFeePerGas=r.maxPriorityFeePerGas?.toHexString())}}else if(!e.gasPrice){const r=await t.getFeeData();e.gasPrice=r.gasPrice?.toHexString()}return e})(t,r),0===t.type&&delete t.accessList,2!==t.type&&(delete t.maxPriorityFeePerGas,delete t.maxFeePerGas),t}function ze({currentRecoveryMethod:e,upgradeToRecoveryMethod:t}){switch(e){case"privy":case"user-passcode":return!0;case"icloud":case"google-drive":if(e===t)throw new Error("Cannot upgrade to the existing cloud platform");return!0;default:throw new Error("Unknown recovery method")}}class He extends _.default{_walletProxy;_privyInternal;_address;_chainId;_chains;_jsonRpcProvider;constructor({walletProxy:e,privyInternal:t,address:r,chains:s,chainId:a=s[0].id}){super(),this._walletProxy=e,this._privyInternal=t,this._address=r,this._chainId=a,this._chains=s,this._jsonRpcProvider=Me(a,s,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(e){if(t=e.method,ke.includes(t))return this.handleIFrameRpc(e);var t;switch(e.method){case"eth_accounts":case"eth_requestAccounts":return this._address?[this._address]:[];case"eth_chainId":return`0x${this._chainId.toString(16)}`;case"wallet_switchEthereumChain":return this.handleSwitchEthereumChain(e);case"eth_estimateGas":return this.handleEstimateGas(e);case"eth_sendTransaction":{const t=e.params?.[0];return this.handleSendTransaction(t)}case"eth_populateTransactionRequest":{const t=e.params?.[0];return this.handlePopulateTransaction(t)}default:return this.handleJsonRpc(e)}}ensureChainId(e){const t={chainId:this._chainId,...e};return this.internalSwitchEthereumChain(t.chainId),t}internalSwitchEthereumChain(e){e&&Number(e)!==this._chainId&&(this._chainId=Number(e),this._jsonRpcProvider=Me(this._chainId,this._chains,{rpcUrls:[]},{appId:this._privyInternal.appId}),this.emit("chainChanged",e))}async handlePopulateTransaction(e){const t=this.ensureChainId(e);return We(this._address,t,this._jsonRpcProvider)}async handleSendTransaction(e){const t=this.ensureChainId(e),r=await We(this._address,t,this._jsonRpcProvider),s=await this.handleIFrameRpc({method:"eth_signTransaction",params:[r]});return await this.handleJsonRpc({method:"eth_sendRawTransaction",params:[s]})}async handleEstimateGas(e){if(!e.params||!Array.isArray(e.params))throw new Error("Invalid params for eth_estimateGas");delete e.params[0].gasPrice,delete e.params[0].maxFeePerGas,delete e.params[0].maxPriorityFeePerGas;const t={...e.params[0],chainId:`0x${this._chainId.toString(16)}`};this.internalSwitchEthereumChain(t.chainId);try{return await this._jsonRpcProvider.send("eth_estimateGas",[t])}catch(e){console.warn(`Gas estimation failed with error: ${e}. Retrying gas estimation by omitting the 'from' address`);try{return delete t.from,await this._jsonRpcProvider.send("eth_estimateGas",[t])}catch(t){throw console.warn(`Gas estimation failed with error: ${t} when omitting the 'from' address`),e}}}handleSwitchEthereumChain(e){if(!e.params||!Array.isArray(e.params))throw new we(`Invalid params for ${e.method}`,4200);let t;if("string"==typeof e.params[0])t=e.params[0];else{if(!("chainId"in e.params[0])||"string"!=typeof e.params[0].chainId)throw new we(`Invalid params for ${e.method}`,4200);t=e.params[0].chainId}this.internalSwitchEthereumChain(t)}async handleIFrameRpc(e){try{const t=await this._privyInternal.getAccessToken();if(!t)throw new Error("Missing privy token. User must be logged in");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:e.method,address:this._address});const r=await this._walletProxy.rpc({request:e,address:this._address,accessToken:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:e.method,address:this._address}),r.response.data}catch(t){console.error(t);const r=t instanceof Error?t.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:e.method,address:this._address,error:r}),new I({code:"embedded_wallet_request_error",error:r})}}async handleJsonRpc(e){return this._jsonRpcProvider.send(e.method,e.params??[])}toJSON(){return`PrivyEIP1193Provider { address: '${this._address}', chainId: ${this._chainId}, request: [Function] }`}}class $e{_walletProxy;_privyInternal;_publicKey;constructor({walletProxy:e,privyInternal:t,publicKey:r}){this._walletProxy=e,this._privyInternal=t,this._publicKey=r}async request(e){const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"Missing access token",code:"attempted_rpc_call_before_logged_in"});return(await this._walletProxy.solanaRpc({accessToken:t,request:e,publicKey:this._publicKey})).response.data}}function Be(e){return void 0!==e.error}const Je=(Ke=0,()=>"id-"+Ke++);var Ke;const Ve=(e,t)=>"bigint"==typeof t?t.toString():t,Ye=e=>new Promise((t=>{setTimeout(t,e)})),Qe=(e,{ms:t,msg:r})=>Promise.race([e,new Promise(((e,s)=>{setTimeout((()=>{s(new Error(r))}),t??15e3)}))]),Ze=new class{callbacks={};enqueue(e,t){this.callbacks[e]=t}dequeue(e,t){const r=this.callbacks[t];if(!r)throw new Error(`cannot dequeue ${e} event: no event found for id ${t}`);switch(delete this.callbacks[t],e){case"privy:iframe:ready":case"privy:wallet:create":case"privy:wallet:connect":case"privy:wallet:recover":case"privy:wallet:rpc":case"privy:wallet:set-recovery":case"privy:solana-wallet:create":case"privy:solana-wallet:connect":case"privy:solana-wallet:recover":case"privy:solana-wallet:rpc":return r;default:throw new Error(`invalid wallet event type ${e}`)}}};class Xe{ready;cache;_embeddedWalletMessagePoster;constructor(e){this.ready=!1,this.cache=new Map,this._embeddedWalletMessagePoster=e}ping(e=15e3){return Qe(this.invoke("privy:iframe:ready",{},this._embeddedWalletMessagePoster),{msg:"Ping reached timeout",ms:e})}create(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connect(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recover(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}setRecovery(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:set-recovery",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: setRecovery",ms:6e4})}rpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}createSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connectSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recoverSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}solanaRpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}handleEmbeddedWalletMessages(e){switch(e.event){case"privy:iframe:ready":const t=Ze.dequeue(e.event,e.id);return Be(e)?t.reject(new _e(e.error.type,e.error.message)):t.resolve(e.data);case"privy:wallet:create":const r=Ze.dequeue(e.event,e.id);return Be(e)?r.reject(new _e(e.error.type,e.error.message)):r.resolve(e.data);case"privy:wallet:connect":const s=Ze.dequeue(e.event,e.id);return Be(e)?s.reject(new _e(e.error.type,e.error.message)):s.resolve(e.data);case"privy:wallet:recover":const a=Ze.dequeue(e.event,e.id);return Be(e)?a.reject(new _e(e.error.type,e.error.message)):a.resolve(e.data);case"privy:wallet:rpc":const i=Ze.dequeue(e.event,e.id);return Be(e)?i.reject(new _e(e.error.type,e.error.message)):i.resolve(e.data);case"privy:wallet:set-recovery":const n=Ze.dequeue(e.event,e.id);return Be(e)?n.reject(new _e(e.error.type,e.error.message)):n.resolve(e.data);case"privy:solana-wallet:create":const o=Ze.dequeue(e.event,e.id);return Be(e)?o.reject(new _e(e.error.type,e.error.message)):o.resolve(e.data);case"privy:solana-wallet:connect":const c=Ze.dequeue(e.event,e.id);return Be(e)?c.reject(new _e(e.error.type,e.error.message)):c.resolve(e.data);case"privy:solana-wallet:recover":const l=Ze.dequeue(e.event,e.id);return Be(e)?l.reject(new _e(e.error.type,e.error.message)):l.resolve(e.data);case"privy:solana-wallet:rpc":const d=Ze.dequeue(e.event,e.id);return Be(e)?d.reject(new _e(e.error.type,e.error.message)):d.resolve(e.data)}}waitForReady(){return this.ready?Promise.resolve():new Promise((async(e,t)=>{for(;!this.ready;)this.invoke("privy:iframe:ready",{},this._embeddedWalletMessagePoster).then((()=>{this.ready=!0,e()})).catch(t),await Ye(150)}))}invoke(e,t,r){const s=((e,t)=>`${e}${JSON.stringify(t,Ve)}`)(e,t);if("privy:wallet:create"===e||"privy:solana-wallet:create"===e){const e=this.cache.get(s);if(e)return e}const a=new Promise(((s,a)=>{const i=Je();Ze.enqueue(i,{resolve:s,reject:a}),r.postMessage(JSON.stringify({id:i,event:e,data:t}),"*")})).finally((()=>{this.cache.delete(s)}));return this.cache.set(s,a),a}}class et{_privyInternal;_proxy;_chains=Array.from(de);constructor(e,t,r){this._privyInternal=e,t&&(this._proxy=new Xe(t)),r&&(this._chains=r)}setMessagePoster(e){this._proxy=new Xe(e)}async create(e,t,r,s,a){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let i;if(i=t||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===i&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const n=await this._privyInternal.getAccessToken();if(!n)throw new Error("User must be logged in to create an embedded wallet");const{address:o}=await this._proxy.create({accessToken:n,recoveryMethod:i,recoveryPassword:e,recoveryAccessToken:r,recoverySecretOverride:s,iCloudRecordNameOverride:a});if(!o)throw new Error("Failed to create wallet");const{user:c}=await this._privyInternal.refreshSession();return{user:c,provider:new He({address:o,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(e){if(!this._proxy)throw new I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});if(e?.ethereumAccount){if("privy"!==e.ethereumAccount.recovery_method)throw new I({error:"Cannot create Solana wallet for user with Ethereum wallet with user-controlled recovery",code:"embedded_wallet_creation_error"});await this.getProvider(e.ethereumAccount)}const{publicKey:r}=await this._proxy.createSolana({accessToken:t,ethereumAddress:e?.ethereumAccount?.address});if(!r)throw new I({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new $e({publicKey:r,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");return!!this._getEmbeddedWallet(e)}async isPasswordRequired(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");const r=this._getEmbeddedWallet(e);if(!r)return!1;if("privy"===r.recovery_method)return!1;try{return await this._proxy.connect({accessToken:t,address:r.address}),!1}catch(e){return fe(e)}}async getProvider(e,t,r,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const a=await this._load(e,t,r,s);return new He({address:a,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(e){if(!this._proxy)throw new I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this._loadSolana(e);return new $e({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,t){const{provider:r}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:t});return r}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");ze({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod:"icloud-native"===t.recoveryMethod?"icloud":t.recoveryMethod});const r=await this._load(e),s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const a=e.recovery_method;this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:e.address,target_recovery_method:t.recoveryMethod,existing_recovery_method:a});try{await this._proxy.setRecovery({accessToken:s,address:r,recoveryMethod:t.recoveryMethod,recoveryPassword:"user-passcode"===t.recoveryMethod?t.password:void 0,recoveryAccessToken:"google-drive"===t.recoveryMethod||"icloud"===t.recoveryMethod?t.recoveryAccessToken:void 0,recoverySecretOverride:"icloud-native"===t.recoveryMethod?t.recoverySecretOverride:void 0,iCloudRecordNameOverride:"icloud-native"===t.recoveryMethod?t.iCloudRecordNameOverride:void 0}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:e.address,target_recovery_method:t.recoveryMethod,existing_recovery_method:a});const{user:i}=await this._privyInternal.refreshSession();return{user:i,provider:new He({address:r,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(t){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:t instanceof Error?t.message:"Unable to recover wallet"}),t}}getURL(){const e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append("caid",this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append("client_id",this._privyInternal.appClientId),e.href}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}onMessage(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages(e)}async ping(e){try{if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return await this._proxy.ping(e),!0}catch(e){return console.error(e),!1}}async _load(e,t,r,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const a=await this._privyInternal.getAccessToken();if(!a)throw new Error("User must be logged in to interact with embedded wallets");const i=e.address;try{return await this._proxy.connect({accessToken:a,address:i}),i}catch(n){if(fe(n)){try{if("privy"===e.recovery_method){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const t=await this._proxy.recover({accessToken:a,address:i});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if("user-passcode"===e.recovery_method&&t){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:a,address:i,recoveryPassword:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}if(["google-drive","icloud"].includes(e.recovery_method)&&r){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const t=await this._proxy.recover({accessToken:a,address:i,recoveryAccessToken:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if("icloud"===e.recovery_method&&s){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:"icloud-native"});const t=await this._proxy.recover({accessToken:a,address:i,recoverySecretOverride:s});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:"icloud-native"}),t.address}}catch(t){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:t instanceof Error?t.message:"Unable to recover wallet"}),t}throw n}throw n}}async _loadSolana(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const t=await this._privyInternal.getAccessToken();if(!t)throw new Error("User must be logged in to interact with embedded wallets");const r=e.public_key;try{return await this._proxy.connectSolana({accessToken:t,publicKey:r}),r}catch(e){if(fe(e)){return(await this._proxy.recoverSolana({accessToken:t,publicKey:r})).publicKey}throw e}}_getEmbeddedWallet(e){return e?.linked_accounts.find((e=>"wallet"===e.type&&"embedded"===e.connector_type&&"privy"===e.wallet_client_type))}}class tt{static parse(e){try{return new tt(e)}catch(e){return null}}value;_decoded;constructor(e){this.value=e,this._decoded=m.decodeJwt(e)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(e=0){return Date.now()>=1e3*(this.expiration-e)}}const rt="privy:token",st="privy-token",at="privy:refresh_token",it="privy-refresh-token",nt="privy:id-token",ot="privy-id-token",ct="privy-session",lt="privy:session_transfer_token",dt=["storage_cleared","token_cleared","refresh_token_cleared","identity_token_cleared","forked_token_cleared","token_stored","refresh_token_stored","identity_token_stored"];class ht extends _.default{static events=dt;_storage;_isUsingServerCookies=!1;constructor(e){super(),this._storage=e.storage}set isUsingServerCookies(e){this._isUsingServerCookies=e}async getToken(){const e=await this._storage.get(rt);try{return"string"==typeof e?new tt(e).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getToken_error"}),null}}async getRefreshToken(){try{const e=await this._storage.get(at);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getRefreshToken_error"}),null}}async getIdentityToken(){try{const e=await this._storage.get(nt);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getIdentityToken_error"}),null}}async getForkedToken(){try{const e=await this._storage.get(lt);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getForkedToken_error"}),null}}get mightHaveServerCookies(){try{const e=w.default.get(ct);return void 0!==e&&e.length>0}catch(e){console.error(e)}return!1}hasRefreshCredentials(e,t){return this.mightHaveServerCookies||"string"==typeof e&&"string"==typeof t}async hasRecoveryCredentials(){return"string"==typeof await this.getForkedToken()}tokenIsActive(e){if(!e)return!1;const t=tt.parse(e);return null!==t&&!t.isExpired(30)}async destroyLocalState(e){const t=await Promise.all([this._storage.del(rt),this._storage.del(at),this._storage.del(nt),this.clearForkedToken()]);return e?.reason&&this.emit("storage_cleared",{reason:e.reason}),t}async storeToken(e){if("string"==typeof e){const t=await this._storage.get(rt);if(await this._storage.put(rt,e),!this._isUsingServerCookies){const t=tt.parse(e)?.expiration;w.default.set(st,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(rt);await this._storage.del(rt),w.default.remove(st),null!==e&&this.emit("token_cleared",{reason:"set_with_non_string_value"})}}async storeRefreshToken(e){"string"==typeof e?(await this._storage.put(at,e),this._isUsingServerCookies||(w.default.set(ct,"t",{sameSite:"Strict",secure:!0,expires:30}),w.default.set(it,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(at),w.default.remove(it),w.default.remove(ct),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async storeIdentityToken(e){if("string"==typeof e){const t=await this._storage.get(nt);if(await this._storage.put(nt,e),!this._isUsingServerCookies){const t=tt.parse(e)?.expiration;w.default.set(ot,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("identity_token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(nt);await this._storage.del(nt),w.default.remove(ot),null!==e&&this.emit("identity_token_cleared",{reason:"set_with_non_string_value"})}}async clearForkedToken(){await this._storage.del(lt)}}const pt=e=>{const t=new AbortController;return setTimeout((()=>t.abort()),e),t.signal},yt="privy:caid";class ut{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.26.3";_fetch;nativeAppIdentifier;callbacks;_cache=new Map;session;constructor(e){this._storage=e.storage,this._analyticsId=null,this._getOrGenerateClientAnalyticsId(),this.baseUrl=e.baseUrl??"https://auth.privy.io",this.appId=e.appId,this.appClientId=e.appClientId,this._sdkVersion=e.sdkVersion??this._sdkVersion,this.callbacks=e.callbacks,"undefined"==typeof document&&(this.nativeAppIdentifier=e.nativeAppIdentifier),this.session=new ht({storage:this._storage,isUsingServerCookies:!1}),this._fetch=v.default(fetch,{retries:3,retryDelay:500})}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){this.isReady||(this._config=await this.getAppConfig(),this._config?.custom_api_url&&(this.baseUrl=this._config.custom_api_url,this.session.isUsingServerCookies=!0),this.callbacks?.setIsReady?.(!0),this.createAnalyticsEvent("sdk_initialize",{}))}async fetch(t,{body:r,params:s,headers:a,options:i={onRequest:this._beforeRequest.bind(this)}}){const n=`${this.baseUrl}${e.getPathWithParams(t.path,s)}`,o=new Request(n,{method:t.method,body:JSON.stringify(r),headers:a}),c=await i.onRequest(o),l=await this._fetch(o,c),d=await l.json();if(l.status>299)throw new k(d);return d}async _beforeRequestWithoutInitialize(e){const t=await this.session.getToken(),r=new Headers(e.headers);r.set("privy-app-id",this.appId),this.appClientId&&r.set("privy-client-id",this.appClientId),r.set("privy-client",this._sdkVersion),r.set("Authorization",`Bearer ${t}`),r.set("Content-Type","application/json"),r.set("Accept","application/json");const s=await this._getOrGenerateClientAnalyticsId();return s&&r.set("privy-ca-id",s),this.nativeAppIdentifier&&r.set("x-native-app-identifier",this.nativeAppIdentifier),{signal:pt(2e4),headers:r,credentials:"include"}}async beforeRequestWithoutRefresh(e){return await this._initialize(),this._beforeRequestWithoutInitialize(e)}async _beforeRequest(e){return await this._initialize(),await this.getAccessToken(),this.beforeRequestWithoutRefresh(e)}async getAppConfig(){return await this.fetch(e.AppConfig,{params:{app_id:this.appId},options:{onRequest:this._beforeRequestWithoutInitialize.bind(this)}})}async _getOrGenerateClientAnalyticsId(){if(this._analyticsId)return this._analyticsId;try{const e=await this._storage.get(yt);if("string"==typeof e&&e.length>0)return this._analyticsId=e,e}catch(e){console.error("Unable to load clientId",e)}try{this._analyticsId=d.v4()}catch(e){console.error("Unable to generate uuidv4",e)}if(!this._analyticsId)return null;try{await this._storage.put(yt,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(yt)}catch(e){console.error("Unable to delete clientId",e)}}async createAnalyticsEvent(t,r){try{await this.fetch(e.AnalyticsEvent,{body:{event_name:t,client_id:await this._getOrGenerateClientAnalyticsId(),payload:r},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(e){}}async refreshSession(){const e=await this.session.getRefreshToken()??void 0,t=e??"key",r=this._cache.get(t);if(r)return await r;const s=this._refreshSession(e);this._cache.set(t,s);try{return await s}catch(e){throw e}finally{this._cache.delete(t)}}async _refreshSession(t){const r=await this.session.getToken();if(!this.session.hasRefreshCredentials(r,t??null))throw await this._initialize(),new Error("missing_or_invalid_token");try{const{session_update_action:r,...s}=await this.fetch(e.RefreshSession,{body:{refresh_token:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}});return this.callbacks?.setUser?.(s.user),"set"===r&&await Promise.all([this.session.storeToken(s.token),this.session.storeRefreshToken(s.refresh_token),this.session.storeIdentityToken(s.identity_token)]),"clear"===r&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===r&&s.token&&(await this.session.storeToken(s.token),s.identity_token&&await this.session.storeIdentityToken(s.identity_token)),s}catch(e){throw(e instanceof k&&e.code===h.PrivyErrorCode.MISSING_OR_INVALID_TOKEN||e instanceof Error&&"missing_or_invalid_token"===e.message)&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),e}}async getAccessToken(){const[e,t]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);if(!this.session.tokenIsActive(e)&&this.session.hasRefreshCredentials(e,t))try{return await this.refreshSession(),await this.session.getToken()}catch(e){return null}return e}async getIdentityToken(){return await this.session.getIdentityToken()}}class mt{_privyInternal;constructor(e){this._privyInternal=e}async init(t){return this._privyInternal.fetch(e.RecoveryOAuthInitICloud,{body:{client_type:t}})}async getICloudConfiguration(t){return this._privyInternal.fetch(e.RecoveryConfigurationICloud,{body:{client_type:t}})}}class _t{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t){const r=P(),s=T(),a=await S({codeVerifier:r,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,r),this._storage.put(E,s)]),this._privyInternal.fetch(e.RecoveryOAuthInit,{body:{redirect_to:t,code_challenge:a,state_code:s}})}async authorize(t,r){const[s,a]=await Promise.all([this._storage.get(x),this._storage.get(E)]);if(a!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"recovery_oauth",storedStateCode:a??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const i=await this._privyInternal.fetch(e.RecoveryOAuthAuthenticate,{body:{authorization_code:t,state_code:a,code_verifier:s}});return await Promise.all([this._storage.del(x),this._storage.del(E)]),i}}class vt{_privyInternal;auth;icloudAuth;constructor(e,t,r){this._privyInternal=e,this.auth=new _t(this._privyInternal,t,r),this.icloudAuth=new mt(this._privyInternal)}async getRecoveryKeyMaterial(t,r){return this._privyInternal.fetch(e.RecoveryKeyMaterial,{body:{chain_type:r},params:{address:t}})}}class wt{_privyInternal;constructor(e){this._privyInternal=e}async get(){try{const{user:e}=await this._privyInternal.refreshSession();return{user:e}}catch(e){throw e}}}const gt=["metamask","phantom","brave_wallet","rainbow","coinbase_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","safemoon","privy","unknown"];exports.ALL_WALLET_CLIENT_TYPES=gt,exports.DEFAULT_SUPPORTED_CHAINS=de,exports.DEFAULT_SUPPORTED_CHAIN_IDS=he,exports.EmbeddedProviderError=we,exports.InMemoryCache=class{_cache={};get(e){return this._cache[e]}put(e,t){void 0!==t?this._cache[e]=t:this.del(e)}del(e){delete this._cache[e]}getKeys(){return Object.keys(this._cache)}},exports.LocalStorage=class{async get(e){const t=localStorage.getItem(e);return null===t?void 0:JSON.parse(t)}put(e,t){void 0!==t?localStorage.setItem(e,JSON.stringify(t)):this.del(e)}del(e){localStorage.removeItem(e)}getKeys(){return Object.entries(localStorage).map((([e])=>e))}},exports.PrivyApiError=k,exports.PrivyClientError=I,exports.PrivyConnectorError=ve,exports.PrivyProviderRpcError=be,exports.ProviderErrors=ge,exports.QuantityToBigNumber=Ie,exports.SUPPORTED_CONNECTOR_TYPES=["injected","wallet_connect","wallet_connect_v2","coinbase_wallet","embedded"],exports.calculateTotalGasEstimate=async function(e,t){if(!e.gasLimit)throw new be("gasLimit was not successfully set for transaction.");const r=Ie(e.gasLimit);let s=i.BigNumber.from(0);if(2==e.type){if(!e.maxFeePerGas)throw new be("maxFeePerGas was not successfully set for transaction of type 2.");s=Ie(e.maxFeePerGas)}else{if(!e.gasPrice)throw new be("gasPrice was not successfully set for transaction of type 0 or 1.");s=Ie(e.gasPrice)}let a=r.mul(s),c=i.BigNumber.from(0);if(e.chainId&&Ue(e.chainId))try{c=await async function(e,t){if(!e.chainId||e.chainId&&!Ue(e.chainId))return i.BigNumber.from(0);let r=i.BigNumber.from(0);try{const s=new n.Contract(Re,Ae,t),a=xe(e),i=o.serialize(a);r=await s.getL1Fee(i)}catch(e){}return r}(e,t),a=a.add(c)}catch(e){}return{totalGasEstimate:a,l1ExecutionFeeEstimate:c}},exports.chainDefs=le,exports.convertBigNumberish=Ee,exports.default=class{auth;user;embeddedWallet;recovery;_privyInternal;constructor({clientId:e,...t}){this._privyInternal=new ut({...t,appClientId:e}),this.user=new wt(this._privyInternal),this.auth=new F(this._privyInternal,t.storage,t.crypto),this.embeddedWallet=new et(this._privyInternal,t.embeddedWalletMessagePoster,t.supportedChains),this.recovery=new vt(this._privyInternal,t.storage,t.crypto)}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}getAccessToken(){return this._privyInternal.getAccessToken()}getIdentityToken(){return this._privyInternal.getIdentityToken()}},exports.errorIndicatesRecoveryIsNeeded=fe,exports.getUserEmbeddedSolanaWallet=e=>{if(!e)return null;const t=e.linked_accounts.find((e=>"wallet"===e.type&&"privy"===e.wallet_client_type&&"embedded"===e.connector_type&&"solana"===e.chain_type));return t||null},exports.getUserEmbeddedWallet=e=>{if(!e)return null;const t=e.linked_accounts.find((e=>"wallet"===e.type&&"privy"===e.wallet_client_type&&"embedded"===e.connector_type&&"ethereum"===e.chain_type));return t||null},exports.populateTransactionRequest=We,exports.throwIfInvalidRecoveryUpgradePath=ze,exports.toEthersUnsignedTransaction=xe,exports.toObjectKeys=(e,t=!0)=>e.reduce(((e,r)=>({...e,[r]:t})),{});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),t=require("jose"),r=require("eventemitter3"),s=require("@ethersproject/abstract-signer"),a=require("@ethersproject/providers"),i=require("@ethersproject/bignumber"),n=require("@ethersproject/contracts"),o=require("@ethersproject/transactions"),c=require("@ethersproject/units"),l=require("fetch-retry"),d=require("uuid"),h=require("@privy-io/api-base"),p=require("js-cookie");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=u(t),_=y(r),v=y(l),w=y(p);class g{_privyInternal;constructor(e){this._privyInternal=e}async syncWithToken(t){const r=await this._privyInternal.fetch(e.CustomJWTAuthenticate,{body:{token:t}});return await Promise.all([this._privyInternal.session.storeToken(r.token),this._privyInternal.session.storeRefreshToken(r.refresh_token),this._privyInternal.session.storeIdentityToken(r.identity_token)]),this._privyInternal.callbacks?.setUser?.(r.user),r}}class f{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(t,r){return this._privyInternal.fetch(e.PasswordlessInit,{body:{email:t,token:r}})}async loginWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessAuthenticate,{body:{email:t,code:r}});return await Promise.all([this._privyInternal.session.storeToken(s.token),this._privyInternal.session.storeRefreshToken(s.refresh_token),this._privyInternal.session.storeIdentityToken(s.identity_token)]),this._privyInternal.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){await this._privyInternal.fetch(e.PasswordlessLink,{body:{email:t,code:r}});return(await this._privyInternal.refreshSession()).user}async unlink(t){await this._privyInternal.fetch(e.PasswordlessUnlink,{body:{address:t}});return(await this._privyInternal.refreshSession()).user}}class b{_privyInternal;constructor(e){this._privyInternal=e}async initializeAuth({relyingParty:t,redirectUrl:r,token:s}){return await this._privyInternal.fetch(e.FarcasterInit,{body:{relying_party:t,redirect_url:r,token:s}})}async getFarcasterStatus({channel_token:t}){return await this._privyInternal.fetch(e.FarcasterStatus,{headers:{"farcaster-channel-token":t}})}async authenticate({channel_token:t,message:r,signature:s,fid:a}){const i=await this._privyInternal.fetch(e.FarcasterAuthenticate,{body:{channel_token:t,message:r,signature:s,fid:a}});return await Promise.all([this._privyInternal.session.storeToken(i.token),this._privyInternal.session.storeRefreshToken(i.refresh_token),this._privyInternal.session.storeIdentityToken(i.identity_token)]),this._privyInternal.callbacks?.setUser?.(i.user),i}async link({channel_token:t,message:r,signature:s,fid:a}){await this._privyInternal.fetch(e.FarcasterLink,{body:{channel_token:t,message:r,signature:s,fid:a}});return(await this._privyInternal.refreshSession()).user}async unlink({fid:t}){await this._privyInternal.fetch(e.FarcasterUnlink,{body:{fid:t}});return(await this._privyInternal.refreshSession()).user}}class k extends Error{error;code;constructor({error:e,code:t}){super(e),this.error=e,this.code=t}}class I extends Error{error;code;constructor({error:e,code:t}){super(e),this.code=t,this.error=e}}const E="privy:state_code",x="privy:code_verifier";function P(){return t.base64url.encode((e=36,crypto.getRandomValues(new Uint8Array(e))));var e}function T(){return P()}async function S({codeVerifier:e,method:r="S256",digest:s=crypto.subtle.digest.bind(crypto.subtle)}){if("S256"==r){const r=await async function(e,t){const r=(new TextEncoder).encode(e),s=await t("SHA-256",r);return new Uint8Array(s)}(e,s);return t.base64url.encode(r)}return e}class C{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t,r){const s=P(),a=T(),i=await S({codeVerifier:s,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,s),this._storage.put(E,a)]),this._privyInternal.fetch(e.OAuthInit,{body:{redirect_to:r,provider:t,code_challenge:i,state_code:a}})}async loginWithCode(t,r,s,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(E)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const o=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});return await Promise.all([this._privyInternal.session.storeToken(o.token),this._privyInternal.session.storeRefreshToken(o.refresh_token),this._privyInternal.session.storeIdentityToken(o.identity_token)]),this._privyInternal.callbacks?.setUser?.(o.user),await Promise.all([this._storage.del(x),this._storage.del(E)]),o}async linkWithCode(t,r,s,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(E)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});const o=await this._privyInternal.refreshSession();return await Promise.all([this._storage.del(x),this._storage.del(E)]),o.user}async unlink(t,r){await this._privyInternal.fetch(e.OAuthUnlink,{body:{provider:t,subject:r}});return(await this._privyInternal.refreshSession()).user}}class R{_privyInternal;constructor(e){this._privyInternal=e}async generateRegistrationOptions(t){return await this._privyInternal.fetch(e.PasskeyLinkInit,{body:{relying_party:t}})}async generateAuthenticationOptions(t){return await this._privyInternal.fetch(e.PasskeyAuthenticateInit,{body:{relying_party:t}})}async loginWithPasskey(t,r,s){const a=await this._privyInternal.fetch(e.PasskeyAuthenticate,{body:{relying_party:s,challenge:r,authenticator_response:{type:t.type,id:t.id,raw_id:t.rawId,response:{signature:t.response.signature,client_data_json:t.response.clientDataJSON,authenticator_data:t.response.authenticatorData,user_handle:t.response.userHandle||void 0},authenticator_attachment:t.authenticatorAttachment||void 0,client_extension_results:{app_id:t.clientExtensionResults.appid||void 0,cred_props:t.clientExtensionResults.credProps||void 0,hmac_create_secret:t.clientExtensionResults.hmacCreateSecret||void 0}}}});return await Promise.all([this._privyInternal.session.storeToken(a.token),this._privyInternal.session.storeRefreshToken(a.refresh_token),this._privyInternal.session.storeIdentityToken(a.identity_token)]),this._privyInternal.callbacks?.setUser?.(a.user),a}async linkWithPasskey(t,r){await this._privyInternal.fetch(e.PasskeyLink,{body:{relying_party:r,authenticator_response:{type:t.type,id:t.id,raw_id:t.rawId,response:{client_data_json:t.response.clientDataJSON,attestation_object:t.response.attestationObject,authenticator_data:t.response.authenticatorData||void 0,transports:t.response.transports||void 0,public_key:t.response.publicKey||void 0,public_key_algorithm:t.response.publicKeyAlgorithm||void 0},authenticator_attachment:t.authenticatorAttachment||void 0,client_extension_results:{app_id:t.clientExtensionResults.appid||void 0,cred_props:t.clientExtensionResults.credProps||void 0,hmac_create_secret:t.clientExtensionResults.hmacCreateSecret||void 0}}}});return(await this._privyInternal.refreshSession()).user}}class A{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(t,r){return this._privyInternal.fetch(e.PasswordlessSmsInit,{body:{phoneNumber:t,token:r}})}async loginWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessSmsAuthenticate,{body:{phoneNumber:t,code:r}});return await Promise.all([this._privyInternal.session.storeToken(s.token),this._privyInternal.session.storeRefreshToken(s.refresh_token),this._privyInternal.session.storeIdentityToken(s.identity_token)]),this._privyInternal.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){await this._privyInternal.fetch(e.PasswordlessSmsLink,{body:{phoneNumber:t,code:r}});return(await this._privyInternal.refreshSession()).user}async unlink(t){await this._privyInternal.fetch(e.PasswordlessSmsUnlink,{body:{phoneNumber:t}});return(await this._privyInternal.refreshSession()).user}}class U{_privyInternal;_wallet=void 0;_preparedMessage;constructor(e){this._privyInternal=e}async linkWithSiwe(t,r,s){const a=r||this._wallet,i=s||this._preparedMessage;if(!a)throw new Error("A wallet must be provided in the init step or as an argument to linkWithSiwe");if(!i)throw new Error("A message must be generated and signed before being used to link a wallet to privy");try{await this._privyInternal.fetch(e.SiweLink,{body:{message:i,signature:t,chainId:a.chainId,walletClientType:a.walletClientType,connectorType:a.connectorType}});return(await this._privyInternal.refreshSession()).user}catch(e){throw e}}async loginWithSiwe(t,r,s){const a=r||this._wallet,i=s||this._preparedMessage;if(!a)throw new Error("A wallet must be provided in the init step or as an argument to loginWithSiwe");if(!i)throw new Error("A message must be generated and signed before being used to login to privy with a wallet");try{const r=await this._privyInternal.fetch(e.SiweAuthenticate,{body:{signature:t,message:i,chainId:a.chainId,walletClientType:a.walletClientType,connectorType:a.connectorType}});return await Promise.all([this._privyInternal.session.storeToken(r.token),this._privyInternal.session.storeRefreshToken(r.refresh_token),this._privyInternal.session.storeIdentityToken(r.identity_token)]),this._privyInternal.callbacks?.setUser?.(r.user),r}catch(e){throw e}}async init(t,r,s){this._wallet=t;const a=await this._privyInternal.fetch(e.SiweInit,{body:{address:t.address}}),{nonce:i}=a,n=`${(o={chainId:t.chainId.toString().replace("eip155:",""),address:t.address,issuedAt:(new Date).toISOString(),statement:"By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",domain:r,nonce:i,uri:s}).domain} wants you to sign in with your Ethereum account:\n${o.address}\n\n${o.statement}\n\nURI: ${o.uri}\nVersion: 1\nChain ID: ${o.chainId}\nNonce: ${o.nonce}\nIssued At: ${o.issuedAt}\nResources:\n- https://privy.io`;var o;return this._preparedMessage=n,{nonce:i,message:n}}}class F{_privyInternal;customProvider;phone;email;oauth;siwe;passkey;farcaster;constructor(e,t,r){this._privyInternal=e,this.customProvider=new g(this._privyInternal),this.phone=new A(this._privyInternal),this.email=new f(this._privyInternal),this.oauth=new C(this._privyInternal,t,r),this.siwe=new U(this._privyInternal),this.passkey=new R(this._privyInternal),this.farcaster=new b(this._privyInternal)}async logout(){try{const t=await this._privyInternal.session.getRefreshToken()??void 0;await this._privyInternal.fetch(e.Logout,{body:{refresh_token:t}})}catch(e){console.warn("Error destroying session")}await Promise.all([this._privyInternal.session.destroyLocalState({reason:"logout"}),this._privyInternal.destroyClientAnalyticsId()]),this._privyInternal.callbacks?.setUser?.(null)}}const O={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"}}},N={id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"AGOR",decimals:18},rpcUrls:{default:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"}},testnet:!0},L={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},G={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"}}},D={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},M={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"}}},q={id:84531,network:"base-goerli",name:"Base Goerli Testnet",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://goerli.basescan.org"}},testnet:!0},j={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},W={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},z={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},H={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"}}},B={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"}}},J={id:5,network:"goerli",name:"Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.ankr.com/eth_goerli"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.etherscan.io"}},testnet:!0},K={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"}}},V={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},Y={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},Q={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"}}},Z={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"}}},X={id:420,name:"Optimism Goerli Testnet",network:"optimism-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.optimism.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"}},testnet:!0},ee={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},te={id:137,name:"Polygon Mainnet",network:"matic",nativeCurrency:{name:"MATIC",symbol:"MATIC",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"}}},re={id:80001,name:"Mumbai",network:"maticmum",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{default:{http:["https://matic-mumbai.chainstacklabs.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"}},testnet:!0},se={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/"}}},ae={id:17001,name:"Redstone Holesky",network:"redstone-holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.holesky.redstone.xyz"]},public:{http:["https://rpc.holesky.redstone.xyz"]}},blockExplorers:{etherscan:{name:"EtherScan",url:"https://explorer.holesky.redstone.xyz"},default:{name:"EtherScan",url:"https://explorer.holesky.redstone.xyz"}}},ie={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},ne={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"}}},oe={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},ce={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},le={mainnet:Q,goerli:J,sepolia:ie,arbitrum:O,arbitrumGoerli:N,arbitrumSepolia:L,optimism:Z,optimismGoerli:X,optimismSepolia:ee,polygon:te,polygonMumbai:re,celo:W,celoAlfajores:z,filecoin:H,filecoinCalibration:$,base:M,baseGoerli:q,baseSepolia:j,linea:V,lineaTestnet:Y,avalanche:G,avalancheFuji:D,holesky:K,redstone:se,garnetHolesky:B,redstoneHolesky:ae,zora:ne,zoraSepolia:oe,zoraTestnet:ce},de=[Q,J,ie,O,N,L,Z,X,ee,te,re,W,z,H,$,M,q,j,{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},V,Y,G,D,K,se,B,ae,ne,oe,ce],he=new Set(de.map((e=>e.id))),pe=["error","invalid_request_arguments","wallet_not_on_device","invalid_recovery_pin","insufficient_funds"];var ye;exports.PrivyEmbeddedWalletErrorCode=void 0,(ye=exports.PrivyEmbeddedWalletErrorCode||(exports.PrivyEmbeddedWalletErrorCode={})).MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",ye.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",ye.INVALID_DATA="invalid_data",ye.LINKED_TO_ANOTHER_USER="linked_to_another_user",ye.ALLOWLIST_REJECTED="allowlist_rejected",ye.OAUTH_USER_DENIED="oauth_user_denied",ye.UNKNOWN_AUTH_ERROR="unknown_auth_error",ye.USER_EXITED_AUTH_FLOW="exited_auth_flow",ye.MUST_BE_AUTHENTICATED="must_be_authenticated",ye.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",ye.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",ye.CLIENT_REQUEST_TIMEOUT="client_request_timeout",ye.INVALID_CREDENTIALS="invalid_credentials";class ue extends Error{cause;privyErrorCode;constructor(e,t,r){super(e),t instanceof Error&&(this.cause=t),this.privyErrorCode=r}toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}}class me extends ue{type="provider_error";code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}class _e extends Error{type;constructor(e,t){super(t),this.type=e}}class ve extends ue{type="connector_error";constructor(e,t,r){super(e,t,r)}}class we extends Error{code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}const ge={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}};function fe(e){return function(e){const t=e.type;return"string"==typeof t&&pe.includes(t)}(e)&&"wallet_not_on_device"===e.type}class be extends me{details;constructor(e){const t=e;super(t.message,t.code,t.data);const r=Object.values(ge).find((e=>e.eipCode===t.code));this.details=r||ge.UNKNOWN_ERROR,-32002===t.code&&(t.message?.includes("already pending for origin")?t.message?.includes("wallet_requestPermissions")?this.details=ge.E32002_CONNECTION_ALREADY_PENDING:this.details=ge.E32002_REQUEST_ALREADY_PENDING:t.message?.includes("Already processing")&&t.message.includes("eth_requestAccounts")&&(this.details=ge.E32002_WALLET_LOCKED))}}const ke=["eth_sign","eth_signTransaction","personal_sign","eth_signTypedData_v4","csw_signUserOperation"],Ie=e=>i.BigNumber.from(e);function Ee(e){if("number"==typeof e||"bigint"==typeof e||"string"==typeof e)return e;if("function"==typeof e.toHexString)return e.toHexString();throw new Error(`Expected numeric value but received ${e}`)}function xe(e){const t={};return void 0!==e.to&&(t.to=e.to),void 0!==e.data&&(t.data=e.data),void 0!==e.chainId&&(t.chainId=e.chainId),void 0!==e.type&&(t.type=e.type),void 0!==e.accessList&&(t.accessList=e.accessList),void 0!==e.nonce&&(t.nonce=Ie(e.nonce).toNumber()),void 0!==e.gasLimit&&(t.gasLimit=Ie(e.gasLimit)),void 0!==e.gasPrice&&(t.gasPrice=Ie(e.gasPrice)),void 0!==e.value&&(t.value=Ie(e.value)),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=Ie(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=Ie(e.maxPriorityFeePerGas)),t}const Pe=e=>[O.id,N.id,L.id].includes(e),Te=e=>[56,97].includes(e),Se=81457,Ce=168587773,Re="0x420000000000000000000000000000000000000F",Ae=["function getL1Fee(bytes memory _data) external view returns (uint256)"],Ue=e=>[M.id,q.id,j.id,Z.id,X.id,ee.id,ne.id,ce.id,oe.id,Se,Ce].includes(e);const Fe={id:80002,name:"Polygon Amoy",nativeCurrency:{name:"MATIC",symbol:"MATIC",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},Oe=v.default(fetch,{retries:3,retryDelay:500}),Ne=e=>[te.id,re.id,Fe.id].includes(e),Le=e=>({maxPriorityFee:c.parseUnits(e.maxPriorityFee.toFixed(9),"gwei").toHexString(),maxFee:c.parseUnits(e.maxFee.toFixed(9),"gwei").toHexString()}),Ge=async e=>{let t="";switch(e){case te.id:t="https://gasstation.polygon.technology/v2";break;case re.id:t="https://gasstation-testnet.polygon.technology/v2";break;case Fe.id:t="https://gasstation.polygon.technology/amoy";break;default:throw Error(`chainId ${e} does not support polygon gas stations`)}const r=await Oe(t),s=await r.json();if(r.status>399)throw s;return{safeLow:Le((a=s).safeLow),standard:Le(a.standard),fast:Le(a.fast)};var a};async function De(e,t){try{return(await t.estimateGas(e)).toHexString()}catch(r){let s;if("message"in r&&r.message.includes("insufficient funds")&&(console.warn(`Gas estimation failed with error: ${r}. Retrying gas estimation by omitting the 'value'`),s=await async function({txRequest:e,provider:t}){try{const r={...e,value:void 0};return(await t.estimateGas(r)).toHexString()}catch(e){return console.warn(`Gas estimation failed with error: ${e} when omitting the 'value'`),null}}({txRequest:e,provider:t})),s||(console.warn(`Gas estimation failed with error: ${r}. Retrying gas estimation by omitting the 'from'`),s=await async function({txRequest:e,provider:t}){try{const r={...e,from:void 0};return(await t.estimateGas(r)).toHexString()}catch(e){return console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),null}}({txRequest:e,provider:t})),!s)throw r;return s}}const Me=(e,t,r,s)=>{const i=Number(e),n=t.find((e=>e.id===i));if(!n)throw new ve(`Unsupported chainId ${e}`,4901);let o;if(o=n.rpcUrls.privyWalletOverride&&n.rpcUrls.privyWalletOverride.http[0]?new a.StaticJsonRpcProvider(n.rpcUrls.privyWalletOverride.http[0]):r.rpcUrls&&r.rpcUrls[i]?new a.StaticJsonRpcProvider(r.rpcUrls[i]):n.rpcUrls.privy?.http[0]?new a.StaticJsonRpcProvider({url:n.rpcUrls.privy.http[0],headers:{"privy-app-id":s.appId}}):n.rpcUrls.public?.http[0]?new a.StaticJsonRpcProvider(n.rpcUrls.public?.http[0]):new a.StaticJsonRpcProvider(n.rpcUrls.default?.http[0]),!o)throw new ve(`No RPC url found for ${e}`);return o};function qe(e){return/^-?0x[a-f0-9]+$/i.test(e)}function je(e){const t="number"==typeof e,r="bigint"==typeof e,s="string"==typeof e&&qe(e);return t||r||s}async function We(e,t,r){if(t.chainId=Number(t.chainId),function(e){const t=["gasLimit","gasPrice","value","maxPriorityFeePerGas","maxFeePerGas"];for(const r of t){const t=e[r];if(void 0!==t&&!je(t))throw new Error(`Transaction request property '${r}' must be a valid number, bigint, or hex string representing a quantity`)}if("number"!=typeof e.chainId)throw new Error("Transaction request property 'chainId' must be a number")}(t),t.from||(t.from=e),!t.nonce){const a=new s.VoidSigner(e,r);t.nonce=await a.getTransactionCount("pending")}return t.gasLimit||(t.gas?(t.gasLimit=t.gas,delete t.gas):t.gasLimit=await De(t,r)),"string"==typeof t.type&&qe(t.type)&&(t.type=Number(t.type)),[23294,23295].includes(t.chainId)&&(t.type=0),t=Ne(t.chainId)?await async function(e){if(!Ne(e.chainId))throw new Error("Invalid chain ID for Polygon gas estimation.");if(void 0===e.type&&(e.type=2),e.maxPriorityFeePerGas&&e.maxFeePerGas)return e;try{const{standard:t}=await Ge(e.chainId);e.maxPriorityFeePerGas||(e.maxPriorityFeePerGas=t.maxPriorityFee),e.maxFeePerGas||(e.maxFeePerGas=t.maxFee),e.gasPrice&&(console.warn("`gasPrice` is not supported on this chain and will be ignored. Use `maxPriorityFeePerGas` and/or `maxFeePerGas` instead."),delete e.gasPrice)}catch(e){throw new Error(`Failed to set gas prices from Polygon gas station with error: ${e}.`)}return e}(t):Pe(t.chainId)?await(async(e,t)=>{if(!Pe(e.chainId))throw new Error("Invalid chain ID for Arbitrum gas estimation.");if(void 0===e.type&&(e.type=2),e.maxFeePerGas)return e;try{const{lastBaseFeePerGas:r}=await t.getFeeData();if(r){const t=r.mul(i.BigNumber.from(120)).div(i.BigNumber.from(100));e.maxFeePerGas=Ee(t),e.maxPriorityFeePerGas=Ee(i.BigNumber.from(0))}}catch(e){throw new Error(`Failed to set gas price for Arbitrum transaction: ${e}.`)}return e})(t,r):Ue(t.chainId)?await(async(e,t)=>{if(!Ue(e.chainId))throw new Error("Invalid chain ID for OP Stack gas estimation.");if(void 0===e.type&&(e.type=2),e.gasPrice&&(console.warn("`gasPrice` is not supported on this chain and will be ignored. Use `maxPriorityFeePerGas` and/or `maxFeePerGas` instead."),delete e.gasPrice),e.maxPriorityFeePerGas&&e.maxFeePerGas)return e;try{if(!e.maxPriorityFeePerGas){const r=await t.send("eth_maxPriorityFeePerGas",[]);e.maxPriorityFeePerGas=r}if(e.maxFeePerGas&&(console.warn("maxFeePerGas is specified without maxPriorityFeePerGas - this can result in hung transactions."),e.maxPriorityFeePerGas>=e.maxFeePerGas))throw new Error("Overridden maxFeePerGas is less than or equal to the calculated maxPriorityFeePerGas. Please set both values or maxPriorityFeePerGas alone for correct gas estimation.");if(!e.maxFeePerGas){const{lastBaseFeePerGas:r}=await t.getFeeData();if(!r)throw new Error("Unable to fetch baseFee for last block.");const s=i.BigNumber.from(r).mul(i.BigNumber.from(126)).div(i.BigNumber.from(100)).add(i.BigNumber.from(e.maxPriorityFeePerGas));e.maxFeePerGas=Ee(s)}}catch(e){throw new Error(`Failed to set gas price for OP stack transaction: ${e}.`)}return e})(t,r):Te(t.chainId)?await(async(e,t)=>{if(!Te(e.chainId))throw new Error("Invalid chain ID for BSC gas estimation.");if(void 0===e.type?e.type=0:1!=e.type&&2!=e.type||console.warn("Transaction request type specified is incompatible for chain and will result in undefined behavior. Please use transaction type 0."),!e.gasPrice){const r=await t.getFeeData();e.gasPrice=r.gasPrice?.toHexString()}return e})(t,r):await(async(e,t)=>{if(void 0===e.type&&(e.type=2),2===e.type){if(!e.maxFeePerGas||!e.maxPriorityFeePerGas){const r=await t.getFeeData();e.maxFeePerGas||(e.maxFeePerGas=r.maxFeePerGas?.toHexString()),e.maxPriorityFeePerGas||(e.maxPriorityFeePerGas=r.maxPriorityFeePerGas?.toHexString())}}else if(!e.gasPrice){const r=await t.getFeeData();e.gasPrice=r.gasPrice?.toHexString()}return e})(t,r),0===t.type&&delete t.accessList,2!==t.type&&(delete t.maxPriorityFeePerGas,delete t.maxFeePerGas),t}function ze({currentRecoveryMethod:e,upgradeToRecoveryMethod:t}){switch(e){case"privy":case"user-passcode":return!0;case"icloud":case"google-drive":if(e===t)throw new Error("Cannot upgrade to the existing cloud platform");return!0;default:throw new Error("Unknown recovery method")}}class He extends _.default{_walletProxy;_privyInternal;_address;_chainId;_chains;_jsonRpcProvider;constructor({walletProxy:e,privyInternal:t,address:r,chains:s,chainId:a=s[0].id}){super(),this._walletProxy=e,this._privyInternal=t,this._address=r,this._chainId=a,this._chains=s,this._jsonRpcProvider=Me(a,s,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(e){if(t=e.method,ke.includes(t))return this.handleIFrameRpc(e);var t;switch(e.method){case"eth_accounts":case"eth_requestAccounts":return this._address?[this._address]:[];case"eth_chainId":return`0x${this._chainId.toString(16)}`;case"wallet_switchEthereumChain":return this.handleSwitchEthereumChain(e);case"eth_estimateGas":return this.handleEstimateGas(e);case"eth_sendTransaction":{const t=e.params?.[0];return this.handleSendTransaction(t)}case"eth_populateTransactionRequest":{const t=e.params?.[0];return this.handlePopulateTransaction(t)}default:return this.handleJsonRpc(e)}}ensureChainId(e){const t={chainId:this._chainId,...e};return this.internalSwitchEthereumChain(t.chainId),t}internalSwitchEthereumChain(e){e&&Number(e)!==this._chainId&&(this._chainId=Number(e),this._jsonRpcProvider=Me(this._chainId,this._chains,{rpcUrls:[]},{appId:this._privyInternal.appId}),this.emit("chainChanged",e))}async handlePopulateTransaction(e){const t=this.ensureChainId(e);return We(this._address,t,this._jsonRpcProvider)}async handleSendTransaction(e){const t=this.ensureChainId(e),r=await We(this._address,t,this._jsonRpcProvider),s=await this.handleIFrameRpc({method:"eth_signTransaction",params:[r]});return await this.handleJsonRpc({method:"eth_sendRawTransaction",params:[s]})}async handleEstimateGas(e){if(!e.params||!Array.isArray(e.params))throw new Error("Invalid params for eth_estimateGas");delete e.params[0].gasPrice,delete e.params[0].maxFeePerGas,delete e.params[0].maxPriorityFeePerGas;const t={...e.params[0],chainId:`0x${this._chainId.toString(16)}`};this.internalSwitchEthereumChain(t.chainId);try{return await this._jsonRpcProvider.send("eth_estimateGas",[t])}catch(e){console.warn(`Gas estimation failed with error: ${e}. Retrying gas estimation by omitting the 'from' address`);try{return delete t.from,await this._jsonRpcProvider.send("eth_estimateGas",[t])}catch(t){throw console.warn(`Gas estimation failed with error: ${t} when omitting the 'from' address`),e}}}handleSwitchEthereumChain(e){if(!e.params||!Array.isArray(e.params))throw new we(`Invalid params for ${e.method}`,4200);let t;if("string"==typeof e.params[0])t=e.params[0];else{if(!("chainId"in e.params[0])||"string"!=typeof e.params[0].chainId)throw new we(`Invalid params for ${e.method}`,4200);t=e.params[0].chainId}this.internalSwitchEthereumChain(t)}async handleIFrameRpc(e){try{const t=await this._privyInternal.getAccessToken();if(!t)throw new Error("Missing privy token. User must be logged in");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:e.method,address:this._address});const r=await this._walletProxy.rpc({request:e,address:this._address,accessToken:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:e.method,address:this._address}),r.response.data}catch(t){console.error(t);const r=t instanceof Error?t.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:e.method,address:this._address,error:r}),new I({code:"embedded_wallet_request_error",error:r})}}async handleJsonRpc(e){return this._jsonRpcProvider.send(e.method,e.params??[])}toJSON(){return`PrivyEIP1193Provider { address: '${this._address}', chainId: ${this._chainId}, request: [Function] }`}}class $e{_walletProxy;_privyInternal;_publicKey;constructor({walletProxy:e,privyInternal:t,publicKey:r}){this._walletProxy=e,this._privyInternal=t,this._publicKey=r}async request(e){const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"Missing access token",code:"attempted_rpc_call_before_logged_in"});return(await this._walletProxy.solanaRpc({accessToken:t,request:e,publicKey:this._publicKey})).response.data}}function Be(e){return void 0!==e.error}const Je=(Ke=0,()=>"id-"+Ke++);var Ke;const Ve=(e,t)=>"bigint"==typeof t?t.toString():t,Ye=e=>new Promise((t=>{setTimeout(t,e)})),Qe=(e,{ms:t,msg:r})=>Promise.race([e,new Promise(((e,s)=>{setTimeout((()=>{s(new Error(r))}),t??15e3)}))]),Ze=new class{callbacks={};enqueue(e,t){this.callbacks[e]=t}dequeue(e,t){const r=this.callbacks[t];if(!r)throw new Error(`cannot dequeue ${e} event: no event found for id ${t}`);switch(delete this.callbacks[t],e){case"privy:iframe:ready":case"privy:wallet:create":case"privy:wallet:connect":case"privy:wallet:recover":case"privy:wallet:rpc":case"privy:wallet:set-recovery":case"privy:solana-wallet:create":case"privy:solana-wallet:connect":case"privy:solana-wallet:recover":case"privy:solana-wallet:rpc":return r;default:throw new Error(`invalid wallet event type ${e}`)}}};class Xe{ready;cache;_embeddedWalletMessagePoster;constructor(e){this.ready=!1,this.cache=new Map,this._embeddedWalletMessagePoster=e}ping(e=15e3){return Qe(this.invoke("privy:iframe:ready",{},this._embeddedWalletMessagePoster),{msg:"Ping reached timeout",ms:e})}create(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connect(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recover(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}setRecovery(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:set-recovery",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: setRecovery",ms:6e4})}rpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}createSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connectSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recoverSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}solanaRpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}handleEmbeddedWalletMessages(e){switch(e.event){case"privy:iframe:ready":const t=Ze.dequeue(e.event,e.id);return Be(e)?t.reject(new _e(e.error.type,e.error.message)):t.resolve(e.data);case"privy:wallet:create":const r=Ze.dequeue(e.event,e.id);return Be(e)?r.reject(new _e(e.error.type,e.error.message)):r.resolve(e.data);case"privy:wallet:connect":const s=Ze.dequeue(e.event,e.id);return Be(e)?s.reject(new _e(e.error.type,e.error.message)):s.resolve(e.data);case"privy:wallet:recover":const a=Ze.dequeue(e.event,e.id);return Be(e)?a.reject(new _e(e.error.type,e.error.message)):a.resolve(e.data);case"privy:wallet:rpc":const i=Ze.dequeue(e.event,e.id);return Be(e)?i.reject(new _e(e.error.type,e.error.message)):i.resolve(e.data);case"privy:wallet:set-recovery":const n=Ze.dequeue(e.event,e.id);return Be(e)?n.reject(new _e(e.error.type,e.error.message)):n.resolve(e.data);case"privy:solana-wallet:create":const o=Ze.dequeue(e.event,e.id);return Be(e)?o.reject(new _e(e.error.type,e.error.message)):o.resolve(e.data);case"privy:solana-wallet:connect":const c=Ze.dequeue(e.event,e.id);return Be(e)?c.reject(new _e(e.error.type,e.error.message)):c.resolve(e.data);case"privy:solana-wallet:recover":const l=Ze.dequeue(e.event,e.id);return Be(e)?l.reject(new _e(e.error.type,e.error.message)):l.resolve(e.data);case"privy:solana-wallet:rpc":const d=Ze.dequeue(e.event,e.id);return Be(e)?d.reject(new _e(e.error.type,e.error.message)):d.resolve(e.data)}}waitForReady(){return this.ready?Promise.resolve():new Promise((async(e,t)=>{for(;!this.ready;)this.invoke("privy:iframe:ready",{},this._embeddedWalletMessagePoster).then((()=>{this.ready=!0,e()})).catch(t),await Ye(150)}))}invoke(e,t,r){const s=((e,t)=>`${e}${JSON.stringify(t,Ve)}`)(e,t);if("privy:wallet:create"===e||"privy:solana-wallet:create"===e){const e=this.cache.get(s);if(e)return e}const a=new Promise(((s,a)=>{const i=Je();Ze.enqueue(i,{resolve:s,reject:a}),r.postMessage(JSON.stringify({id:i,event:e,data:t}),"*")})).finally((()=>{this.cache.delete(s)}));return this.cache.set(s,a),a}}class et{_privyInternal;_proxy;_chains=Array.from(de);constructor(e,t,r){this._privyInternal=e,t&&(this._proxy=new Xe(t)),r&&(this._chains=r)}setMessagePoster(e){this._proxy=new Xe(e)}async create(e,t,r,s,a){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let i;if(i=t||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===i&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const n=await this._privyInternal.getAccessToken();if(!n)throw new Error("User must be logged in to create an embedded wallet");const{address:o}=await this._proxy.create({accessToken:n,recoveryMethod:i,recoveryPassword:e,recoveryAccessToken:r,recoverySecretOverride:s,iCloudRecordNameOverride:a});if(!o)throw new Error("Failed to create wallet");const{user:c}=await this._privyInternal.refreshSession();return{user:c,provider:new He({address:o,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(e){if(!this._proxy)throw new I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});if(e?.ethereumAccount){if("privy"!==e.ethereumAccount.recovery_method)throw new I({error:"Cannot create Solana wallet for user with Ethereum wallet with user-controlled recovery",code:"embedded_wallet_creation_error"});await this.getProvider(e.ethereumAccount)}const{publicKey:r}=await this._proxy.createSolana({accessToken:t,ethereumAddress:e?.ethereumAccount?.address});if(!r)throw new I({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new $e({publicKey:r,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");return!!this._getEmbeddedWallet(e)}async isPasswordRequired(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");const r=this._getEmbeddedWallet(e);if(!r)return!1;if("privy"===r.recovery_method)return!1;try{return await this._proxy.connect({accessToken:t,address:r.address}),!1}catch(e){return fe(e)}}async getProvider(e,t,r,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const a=await this._load(e,t,r,s);return new He({address:a,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(e){if(!this._proxy)throw new I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this._loadSolana(e);return new $e({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,t){const{provider:r}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:t});return r}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");ze({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod:"icloud-native"===t.recoveryMethod?"icloud":t.recoveryMethod});const r=await this._load(e),s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const a=e.recovery_method;this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:e.address,target_recovery_method:t.recoveryMethod,existing_recovery_method:a});try{await this._proxy.setRecovery({accessToken:s,address:r,recoveryMethod:t.recoveryMethod,recoveryPassword:"user-passcode"===t.recoveryMethod?t.password:void 0,recoveryAccessToken:"google-drive"===t.recoveryMethod||"icloud"===t.recoveryMethod?t.recoveryAccessToken:void 0,recoverySecretOverride:"icloud-native"===t.recoveryMethod?t.recoverySecretOverride:void 0,iCloudRecordNameOverride:"icloud-native"===t.recoveryMethod?t.iCloudRecordNameOverride:void 0}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:e.address,target_recovery_method:t.recoveryMethod,existing_recovery_method:a});const{user:i}=await this._privyInternal.refreshSession();return{user:i,provider:new He({address:r,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(t){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:t instanceof Error?t.message:"Unable to recover wallet"}),t}}getURL(){const e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append("caid",this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append("client_id",this._privyInternal.appClientId),e.href}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}onMessage(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages(e)}async ping(e){try{if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return await this._proxy.ping(e),!0}catch(e){return console.error(e),!1}}async _load(e,t,r,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const a=await this._privyInternal.getAccessToken();if(!a)throw new Error("User must be logged in to interact with embedded wallets");const i=e.address;try{return await this._proxy.connect({accessToken:a,address:i}),i}catch(n){if(fe(n)){try{if("privy"===e.recovery_method){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const t=await this._proxy.recover({accessToken:a,address:i});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if("user-passcode"===e.recovery_method&&t){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:a,address:i,recoveryPassword:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}if(["google-drive","icloud"].includes(e.recovery_method)&&r){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const t=await this._proxy.recover({accessToken:a,address:i,recoveryAccessToken:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if("icloud"===e.recovery_method&&s){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:"icloud-native"});const t=await this._proxy.recover({accessToken:a,address:i,recoverySecretOverride:s});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:"icloud-native"}),t.address}}catch(t){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:t instanceof Error?t.message:"Unable to recover wallet"}),t}throw n}throw n}}async _loadSolana(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const t=await this._privyInternal.getAccessToken();if(!t)throw new Error("User must be logged in to interact with embedded wallets");const r=e.public_key;try{return await this._proxy.connectSolana({accessToken:t,publicKey:r}),r}catch(e){if(fe(e)){return(await this._proxy.recoverSolana({accessToken:t,publicKey:r})).publicKey}throw e}}_getEmbeddedWallet(e){return e?.linked_accounts.find((e=>"wallet"===e.type&&"embedded"===e.connector_type&&"privy"===e.wallet_client_type))}}class tt{static parse(e){try{return new tt(e)}catch(e){return null}}value;_decoded;constructor(e){this.value=e,this._decoded=m.decodeJwt(e)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(e=0){return Date.now()>=1e3*(this.expiration-e)}}const rt="privy:token",st="privy-token",at="privy:refresh_token",it="privy-refresh-token",nt="privy:id-token",ot="privy-id-token",ct="privy-session",lt="privy:session_transfer_token",dt=["storage_cleared","token_cleared","refresh_token_cleared","identity_token_cleared","forked_token_cleared","token_stored","refresh_token_stored","identity_token_stored"];class ht extends _.default{static events=dt;_storage;_isUsingServerCookies=!1;constructor(e){super(),this._storage=e.storage}set isUsingServerCookies(e){this._isUsingServerCookies=e}async getToken(){const e=await this._storage.get(rt);try{return"string"==typeof e?new tt(e).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getToken_error"}),null}}async getRefreshToken(){try{const e=await this._storage.get(at);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getRefreshToken_error"}),null}}async getIdentityToken(){try{const e=await this._storage.get(nt);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getIdentityToken_error"}),null}}async getForkedToken(){try{const e=await this._storage.get(lt);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getForkedToken_error"}),null}}get mightHaveServerCookies(){try{const e=w.default.get(ct);return void 0!==e&&e.length>0}catch(e){console.error(e)}return!1}hasRefreshCredentials(e,t){return this.mightHaveServerCookies||"string"==typeof e&&"string"==typeof t}async hasRecoveryCredentials(){return"string"==typeof await this.getForkedToken()}tokenIsActive(e){if(!e)return!1;const t=tt.parse(e);return null!==t&&!t.isExpired(30)}async destroyLocalState(e){const t=await Promise.all([this._storage.del(rt),this._storage.del(at),this._storage.del(nt),this.clearForkedToken()]);return e?.reason&&this.emit("storage_cleared",{reason:e.reason}),t}async storeToken(e){if("string"==typeof e){const t=await this._storage.get(rt);if(await this._storage.put(rt,e),!this._isUsingServerCookies){const t=tt.parse(e)?.expiration;w.default.set(st,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(rt);await this._storage.del(rt),w.default.remove(st),null!==e&&this.emit("token_cleared",{reason:"set_with_non_string_value"})}}async storeRefreshToken(e){"string"==typeof e?(await this._storage.put(at,e),this._isUsingServerCookies||(w.default.set(ct,"t",{sameSite:"Strict",secure:!0,expires:30}),w.default.set(it,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(at),w.default.remove(it),w.default.remove(ct),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async storeIdentityToken(e){if("string"==typeof e){const t=await this._storage.get(nt);if(await this._storage.put(nt,e),!this._isUsingServerCookies){const t=tt.parse(e)?.expiration;w.default.set(ot,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("identity_token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(nt);await this._storage.del(nt),w.default.remove(ot),null!==e&&this.emit("identity_token_cleared",{reason:"set_with_non_string_value"})}}async clearForkedToken(){await this._storage.del(lt)}}const pt=e=>{const t=new AbortController;return setTimeout((()=>t.abort()),e),t.signal},yt="privy:caid";class ut{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.26.4";_fetch;nativeAppIdentifier;callbacks;_cache=new Map;session;constructor(e){this._storage=e.storage,this._analyticsId=null,this._getOrGenerateClientAnalyticsId(),this.baseUrl=e.baseUrl??"https://auth.privy.io",this.appId=e.appId,this.appClientId=e.appClientId,this._sdkVersion=e.sdkVersion??this._sdkVersion,this.callbacks=e.callbacks,"undefined"==typeof document&&(this.nativeAppIdentifier=e.nativeAppIdentifier),this.session=new ht({storage:this._storage,isUsingServerCookies:!1}),this._fetch=v.default(fetch,{retries:3,retryDelay:500})}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){this.isReady||(this._config=await this.getAppConfig(),this._config?.custom_api_url&&(this.baseUrl=this._config.custom_api_url,this.session.isUsingServerCookies=!0),this.callbacks?.setIsReady?.(!0),this.createAnalyticsEvent("sdk_initialize",{}))}async fetch(t,{body:r,params:s,headers:a,options:i={onRequest:this._beforeRequest.bind(this)}}){const n=`${this.baseUrl}${e.getPathWithParams(t.path,s)}`,o=new Request(n,{method:t.method,body:JSON.stringify(r),headers:a}),c=await i.onRequest(o),l=await this._fetch(o,c),d=await l.json();if(l.status>299)throw new k(d);return d}async _beforeRequestWithoutInitialize(e){const t=await this.session.getToken(),r=new Headers(e.headers);r.set("privy-app-id",this.appId),this.appClientId&&r.set("privy-client-id",this.appClientId),r.set("privy-client",this._sdkVersion),r.set("Authorization",`Bearer ${t}`),r.set("Content-Type","application/json"),r.set("Accept","application/json");const s=await this._getOrGenerateClientAnalyticsId();return s&&r.set("privy-ca-id",s),this.nativeAppIdentifier&&r.set("x-native-app-identifier",this.nativeAppIdentifier),{signal:pt(2e4),headers:r,credentials:"include"}}async beforeRequestWithoutRefresh(e){return await this._initialize(),this._beforeRequestWithoutInitialize(e)}async _beforeRequest(e){return await this._initialize(),await this.getAccessToken(),this.beforeRequestWithoutRefresh(e)}async getAppConfig(){return await this.fetch(e.AppConfig,{params:{app_id:this.appId},options:{onRequest:this._beforeRequestWithoutInitialize.bind(this)}})}async _getOrGenerateClientAnalyticsId(){if(this._analyticsId)return this._analyticsId;try{const e=await this._storage.get(yt);if("string"==typeof e&&e.length>0)return this._analyticsId=e,e}catch(e){console.error("Unable to load clientId",e)}try{this._analyticsId=d.v4()}catch(e){console.error("Unable to generate uuidv4",e)}if(!this._analyticsId)return null;try{await this._storage.put(yt,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(yt)}catch(e){console.error("Unable to delete clientId",e)}}async createAnalyticsEvent(t,r){try{await this.fetch(e.AnalyticsEvent,{body:{event_name:t,client_id:await this._getOrGenerateClientAnalyticsId(),payload:r},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(e){}}async refreshSession(){const e=await this.session.getRefreshToken()??void 0,t=e??"key",r=this._cache.get(t);if(r)return await r;const s=this._refreshSession(e);this._cache.set(t,s);try{return await s}catch(e){throw e}finally{this._cache.delete(t)}}async _refreshSession(t){const r=await this.session.getToken();if(!this.session.hasRefreshCredentials(r,t??null))throw await this._initialize(),new Error("missing_or_invalid_token");try{const{session_update_action:r,...s}=await this.fetch(e.RefreshSession,{body:{refresh_token:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}});return this.callbacks?.setUser?.(s.user),"set"===r&&await Promise.all([this.session.storeToken(s.token),this.session.storeRefreshToken(s.refresh_token),this.session.storeIdentityToken(s.identity_token)]),"clear"===r&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===r&&s.token&&(await this.session.storeToken(s.token),s.identity_token&&await this.session.storeIdentityToken(s.identity_token)),s}catch(e){throw(e instanceof k&&e.code===h.PrivyErrorCode.MISSING_OR_INVALID_TOKEN||e instanceof Error&&"missing_or_invalid_token"===e.message)&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),e}}async getAccessToken(){const[e,t]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);if(!this.session.tokenIsActive(e)&&this.session.hasRefreshCredentials(e,t))try{return await this.refreshSession(),await this.session.getToken()}catch(e){return null}return e}async getIdentityToken(){return await this.session.getIdentityToken()}}class mt{_privyInternal;constructor(e){this._privyInternal=e}async init(t){return this._privyInternal.fetch(e.RecoveryOAuthInitICloud,{body:{client_type:t}})}async getICloudConfiguration(t){return this._privyInternal.fetch(e.RecoveryConfigurationICloud,{body:{client_type:t}})}}class _t{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t){const r=P(),s=T(),a=await S({codeVerifier:r,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,r),this._storage.put(E,s)]),this._privyInternal.fetch(e.RecoveryOAuthInit,{body:{redirect_to:t,code_challenge:a,state_code:s}})}async authorize(t,r){const[s,a]=await Promise.all([this._storage.get(x),this._storage.get(E)]);if(a!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"recovery_oauth",storedStateCode:a??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const i=await this._privyInternal.fetch(e.RecoveryOAuthAuthenticate,{body:{authorization_code:t,state_code:a,code_verifier:s}});return await Promise.all([this._storage.del(x),this._storage.del(E)]),i}}class vt{_privyInternal;auth;icloudAuth;constructor(e,t,r){this._privyInternal=e,this.auth=new _t(this._privyInternal,t,r),this.icloudAuth=new mt(this._privyInternal)}async getRecoveryKeyMaterial(t,r){return this._privyInternal.fetch(e.RecoveryKeyMaterial,{body:{chain_type:r},params:{address:t}})}}class wt{_privyInternal;constructor(e){this._privyInternal=e}async get(){try{const{user:e}=await this._privyInternal.refreshSession();return{user:e}}catch(e){throw e}}}const gt=["metamask","phantom","brave_wallet","rainbow","coinbase_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","safemoon","privy","unknown"];exports.ALL_WALLET_CLIENT_TYPES=gt,exports.DEFAULT_SUPPORTED_CHAINS=de,exports.DEFAULT_SUPPORTED_CHAIN_IDS=he,exports.EmbeddedProviderError=we,exports.InMemoryCache=class{_cache={};get(e){return this._cache[e]}put(e,t){void 0!==t?this._cache[e]=t:this.del(e)}del(e){delete this._cache[e]}getKeys(){return Object.keys(this._cache)}},exports.LocalStorage=class{async get(e){const t=localStorage.getItem(e);return null===t?void 0:JSON.parse(t)}put(e,t){void 0!==t?localStorage.setItem(e,JSON.stringify(t)):this.del(e)}del(e){localStorage.removeItem(e)}getKeys(){return Object.entries(localStorage).map((([e])=>e))}},exports.PrivyApiError=k,exports.PrivyClientError=I,exports.PrivyConnectorError=ve,exports.PrivyProviderRpcError=be,exports.ProviderErrors=ge,exports.QuantityToBigNumber=Ie,exports.SUPPORTED_CONNECTOR_TYPES=["injected","wallet_connect","wallet_connect_v2","coinbase_wallet","embedded"],exports.calculateTotalGasEstimate=async function(e,t){if(!e.gasLimit)throw new be("gasLimit was not successfully set for transaction.");const r=Ie(e.gasLimit);let s=i.BigNumber.from(0);if(2==e.type){if(!e.maxFeePerGas)throw new be("maxFeePerGas was not successfully set for transaction of type 2.");s=Ie(e.maxFeePerGas)}else{if(!e.gasPrice)throw new be("gasPrice was not successfully set for transaction of type 0 or 1.");s=Ie(e.gasPrice)}let a=r.mul(s),c=i.BigNumber.from(0);if(e.chainId&&Ue(e.chainId))try{c=await async function(e,t){if(!e.chainId||e.chainId&&!Ue(e.chainId))return i.BigNumber.from(0);let r=i.BigNumber.from(0);try{const s=new n.Contract(Re,Ae,t),a=xe(e),i=o.serialize(a);r=await s.getL1Fee(i)}catch(e){}return r}(e,t),a=a.add(c)}catch(e){}return{totalGasEstimate:a,l1ExecutionFeeEstimate:c}},exports.chainDefs=le,exports.convertBigNumberish=Ee,exports.default=class{auth;user;embeddedWallet;recovery;_privyInternal;constructor({clientId:e,...t}){this._privyInternal=new ut({...t,appClientId:e}),this.user=new wt(this._privyInternal),this.auth=new F(this._privyInternal,t.storage,t.crypto),this.embeddedWallet=new et(this._privyInternal,t.embeddedWalletMessagePoster,t.supportedChains),this.recovery=new vt(this._privyInternal,t.storage,t.crypto)}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}getAccessToken(){return this._privyInternal.getAccessToken()}getIdentityToken(){return this._privyInternal.getIdentityToken()}},exports.errorIndicatesRecoveryIsNeeded=fe,exports.getUserEmbeddedSolanaWallet=e=>{if(!e)return null;const t=e.linked_accounts.find((e=>"wallet"===e.type&&"privy"===e.wallet_client_type&&"embedded"===e.connector_type&&"solana"===e.chain_type));return t||null},exports.getUserEmbeddedWallet=e=>{if(!e)return null;const t=e.linked_accounts.find((e=>"wallet"===e.type&&"privy"===e.wallet_client_type&&"embedded"===e.connector_type&&"ethereum"===e.chain_type));return t||null},exports.populateTransactionRequest=We,exports.throwIfInvalidRecoveryUpgradePath=ze,exports.toEthersUnsignedTransaction=xe,exports.toObjectKeys=(e,t=!0)=>e.reduce(((e,r)=>({...e,[r]:t})),{});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/CustomProviderApi.ts","../src/EmailApi.ts","../src/FarcasterApi.ts","../src/Error.ts","../src/pkce.ts","../src/OAuthApi.ts","../src/PasskeyApi.ts","../src/PhoneApi.ts","../src/SiweApi.ts","../src/AuthApi.ts","../src/chains/arbitrum.ts","../src/chains/arbitrumGoerli.ts","../src/chains/arbitrumSepolia.ts","../src/chains/avalanche.ts","../src/chains/avalancheFuji.ts","../src/chains/base.ts","../src/chains/baseGoerli.ts","../src/chains/baseSepolia.ts","../src/chains/celo.ts","../src/chains/celoAlfajores.ts","../src/chains/filecoin.ts","../src/chains/filecoinCalibration.ts","../src/chains/garnetHolesky.ts","../src/chains/goerli.ts","../src/chains/holesky.ts","../src/chains/linea.ts","../src/chains/lineaTestnet.ts","../src/chains/mainnet.ts","../src/chains/optimism.ts","../src/chains/optimismGoerli.ts","../src/chains/optimismSepolia.ts","../src/chains/polygon.ts","../src/chains/polygonMumbai.ts","../src/chains/redstone.ts","../src/chains/redstoneHolesky.ts","../src/chains/sepolia.ts","../src/chains/zora.ts","../src/chains/zoraSepolia.ts","../src/chains/zoraTestnet.ts","../src/chains/index.ts","../src/chains/berachainArtio.ts","../src/embedded/types.ts","../src/embedded/errors.ts","../src/embedded/methods.ts","../src/embedded/utils/ethers.ts","../src/embedded/gas/arbitrum.ts","../src/embedded/gas/bsc.ts","../src/embedded/gas/op-stack.ts","../src/chains/polygonAmoy.ts","../src/embedded/gas/polygon.ts","../src/embedded/utils/gas.ts","../src/embedded/utils/index.ts","../src/embedded/EmbeddedWalletProvider.ts","../src/embedded/EmbeddedSolanaWalletProvider.ts","../src/embedded/EmbeddedWalletProxy.ts","../src/embedded/EventCallbackQueue.ts","../src/EmbeddedWalletApi.ts","../src/Token.ts","../src/Session.ts","../src/toAbortSignalTimeout.ts","../src/PrivyInternal.ts","../src/RecoveryICloudApi.ts","../src/RecoveryOAuthApi.ts","../src/RecoveryApi.ts","../src/UserApi.ts","../src/utils/getUserEmbeddedWallet.ts","../src/types.ts","../src/storage/InMemoryStorage.ts","../src/storage/LocalStorage.ts","../src/Privy.ts","../src/utils/getUserEmbeddedSolanaWallet.ts","../src/utils/toObjectKeys.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CustomProviderApi","_privyInternal","constructor","privyInternal","this","syncWithToken","token","res","fetch","CustomJWTAuthenticate","body","Promise","all","session","storeToken","storeRefreshToken","refresh_token","storeIdentityToken","identity_token","callbacks","setUser","user","EmailApi","sendCode","email","PasswordlessInit","loginWithCode","code","PasswordlessAuthenticate","linkWithCode","PasswordlessLink","refreshSession","unlink","PasswordlessUnlink","address","FarcasterApi","initializeAuth","relyingParty","redirectUrl","FarcasterInit","relying_party","redirect_url","getFarcasterStatus","channel_token","FarcasterStatus","headers","authenticate","message","signature","fid","FarcasterAuthenticate","link","FarcasterLink","FarcasterUnlink","PrivyApiError","Error","error","super","PrivyClientError","STATE_CODE_KEY","CODE_VERIFIER_KEY","createCodeVerifier","base64url","encode","size","crypto","getRandomValues","Uint8Array","createStateCode","async","deriveCodeChallengeFromCodeVerifier","codeVerifier","method","digest","subtle","bind","hashBuffer","data","TextEncoder","hash","createHashBuffer","OAuthApi","_storage","_crypto","storage","generateURL","provider","redirectURI","stateCode","codeChallenge","put","OAuthInit","redirect_to","code_challenge","state_code","authorizationCode","returnedStateCode","codeType","storedStateCode","get","createAnalyticsEvent","flow","OAuthAuthenticate","authorization_code","code_type","code_verifier","del","OAuthLink","subject","OAuthUnlink","PasskeyApi","generateRegistrationOptions","PasskeyLinkInit","generateAuthenticationOptions","PasskeyAuthenticateInit","loginWithPasskey","input","challenge","PasskeyAuthenticate","authenticator_response","type","id","raw_id","rawId","response","client_data_json","clientDataJSON","authenticator_data","authenticatorData","user_handle","userHandle","undefined","authenticator_attachment","authenticatorAttachment","client_extension_results","app_id","clientExtensionResults","appid","cred_props","credProps","hmac_create_secret","hmacCreateSecret","linkWithPasskey","PasskeyLink","attestation_object","attestationObject","transports","public_key","publicKey","public_key_algorithm","publicKeyAlgorithm","PhoneApi","phoneNumber","PasswordlessSmsInit","PasswordlessSmsAuthenticate","PasswordlessSmsLink","PasswordlessSmsUnlink","SiweApi","_wallet","_preparedMessage","linkWithSiwe","walletOverride","messageOverride","wallet","SiweLink","chainId","walletClientType","connectorType","loginWithSiwe","SiweAuthenticate","init","domain","uri","SiweInit","nonce","opts","toString","replace","issuedAt","Date","toISOString","statement","AuthApi","customProvider","phone","oauth","siwe","passkey","farcaster","logout","getRefreshToken","Logout","e","console","warn","destroyLocalState","reason","destroyClientAnalyticsId","arbitrum","name","network","nativeCurrency","symbol","decimals","rpcUrls","privy","http","alchemy","webSocket","infura","default","public","blockExplorers","etherscan","url","arbitrumGoerli","testnet","arbitrumSepolia","avalanche","avalancheFuji","base","blast","baseGoerli","baseSepolia","celo","celoAlfajores","filecoin","filscan","filscout","glif","filecoinCalibration","garnetHolesky","goerli","holesky","linea","lineaTestnet","mainnet","optimism","optimismGoerli","optimismSepolia","polygon","polygonMumbai","redstone","redstoneHolesky","sepolia","zora","zoraSepolia","zoraTestnet","chainDefs","DEFAULT_SUPPORTED_CHAINS","DEFAULT_SUPPORTED_CHAIN_IDS","Set","map","chain","PrivyIframeErrorTypes","PrivyEmbeddedWalletErrorCode","PrivyError","cause","privyErrorCode","ProviderRpcError","PrivyIframeError","PrivyConnectorError","EmbeddedProviderError","ProviderErrors","UNKNOWN_ERROR","eipCode","detail","retryable","E4001_DEFAULT_USER_REJECTED_REQUEST","E4100_DEFAULT_UNAUTHORIZED","E4200_DEFAULT_UNSUPPORTED_METHOD","E4900_DEFAULT_DISCONNECTED","E4901_DEFAULT_CHAIN_DISCONNECTED","E32700_DEFAULT_PARSE_ERROR","E32600_DEFAULT_INVALID_REQUEST","E32601_DEFAULT_METHOD_NOT_FOUND","E32602_DEFAULT_INVALID_PARAMS","E32603_DEFAULT_INTERNAL_ERROR","E32000_DEFAULT_INVALID_INPUT","E32001_DEFAULT_RESOURCE_NOT_FOUND","E32002_DEFAULT_RESOURCE_UNAVAILABLE","E32003_DEFAULT_TRANSACTION_REJECTED","E32004_DEFAULT_METHOD_NOT_SUPPORTED","E32005_DEFAULT_LIMIT_EXCEEDED","E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED","E32002_CONNECTION_ALREADY_PENDING","E32002_REQUEST_ALREADY_PENDING","E32002_WALLET_LOCKED","E4001_USER_REJECTED_REQUEST","errorIndicatesRecoveryIsNeeded","includes","isPrivyIframeError","PrivyProviderRpcError","details","defaultError","Object","values","find","v","SUPPORTED_IFRAME_JSON_RPC_METHODS","QuantityToBigNumber","quantity","BigNumber","from","convertBigNumberish","value","toHexString","toEthersUnsignedTransaction","txRequest","result","to","accessList","toNumber","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","isArbitrum","isBsc","BLAST_MAINNET_ID","BLAST_TESTNET_ID","OPTIMISM_STACK_GAS_PRICE_ORACLE_ADDRESS","OPTIMISM_STACK_GAS_PRICE_ORACLE_ABI","isOpStack","polygonAmoy","_fetch","rfetch","retries","retryDelay","isPolygon","convertGasStationFeesToWei","fee","maxPriorityFee","parseUnits","toFixed","maxFee","getPolygonGasStationFees","json","status","safeLow","standard","fast","defaultGasLimit","estimateGas","txRequestWithoutValue","retryError","safeAttemptEstimateGasWithoutValue","txRequestWithoutFrom","safeAttemptEstimateGasWithoutFrom","getJsonRpcProvider","chains","rpcConfig","options","chainIdInt","Number","rpcProvider","privyWalletOverride","StaticJsonRpcProvider","appId","isHexString","test","isValidQuantity","validNumber","validBigInt","validHexString","populateTransactionRequest","hexStringProperties","prop","txRequestQuantity","validateTransactionRequest","signer","VoidSigner","getTransactionCount","gas","defaultGasForPolygon","lastBaseFeePerGas","getFeeData","newMaxFeePerGasBN","mul","div","defaultGasForArbitrum","networkMaxPriorityFeePerGas","send","add","defaultGasForOpStack","feeData","defaultGasForBsc","defaultGasForEvmChain","throwIfInvalidRecoveryUpgradePath","currentRecoveryMethod","upgradeToRecoveryMethod","EmbeddedWalletProvider","EventEmitter","_walletProxy","_address","_chainId","_chains","_jsonRpcProvider","walletProxy","request","handleIFrameRpc","handleSwitchEthereumChain","handleEstimateGas","params","handleSendTransaction","handlePopulateTransaction","handleJsonRpc","ensureChainId","tx","ensureTxChainId","internalSwitchEthereumChain","emit","populatedTx","signedTx","args","Array","isArray","newChain","getAccessToken","rpc","accessToken","toJSON","EmbeddedSolanaWalletProvider","_publicKey","solanaRpc","isErrorResponseEvent","event","uniqueId","replacer","_key","sleep","ms","resolve","setTimeout","withTimeout","promise","msg","race","_","reject","EVENT_CALLBACK_QUEUE","enqueue","eventId","dequeue","EmbeddedWalletProxy","ready","cache","_embeddedWalletMessagePoster","embeddedWalletMessagePoster","Map","ping","timeoutMs","invoke","create","waitForReady","then","connect","recover","setRecovery","createSolana","connectSolana","recoverSolana","handleEmbeddedWalletMessages","readyCallbacks","createCallbacks","connectCallbacks","recoverCallbacks","rpcCallbacks","cb","createSolanaCallbacks","connectSolanaCallbacks","recoverSolanaCallbacks","rpcSolanaCallbacks","catch","key","JSON","stringify","serialize","cached","postMessage","finally","delete","set","EmbeddedWalletApi","_proxy","setMessagePoster","poster","password","recoveryMethod","recoveryToken","recoverySecretOverride","iCloudRecordNameOverride","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","recoveryPassword","recoveryAccessToken","ethereumAccount","recovery_method","getProvider","ethereumAddress","hasEmbeddedWallet","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","_load","getSolanaProvider","_loadSolana","setPassword","recoveryArgs","existingRecoveryMethod","target_recovery_method","existing_recovery_method","getURL","URL","baseUrl","caid","searchParams","append","appClientId","href","getMessageHandler","onMessage","err","recovered","linked_accounts","account","connector_type","wallet_client_type","Token","parse","_decoded","jose","decodeJwt","sub","expiration","exp","issuer","iss","audience","aud","isExpired","seconds","now","TOKEN_STORAGE_KEY","TOKEN_COOKIE_KEY","REFRESH_TOKEN_STORAGE_KEY","REFRESH_TOKEN_COOKIE_KEY","IDENTITY_TOKEN_STORAGE_KEY","IDENTITY_TOKEN_COOKIE_KEY","SESSION_COOKIE_KEY","FORKED_TOKEN_STORAGE_KEY","events","Session","static","_isUsingServerCookies","o","isUsingServerCookies","getToken","refreshToken","getIdentityToken","identityToken","getForkedToken","forkedToken","mightHaveServerCookies","sessionToken","Cookies","length","hasRefreshCredentials","hasRecoveryCredentials","tokenIsActive","tokenRaw","clearForkedToken","previousToken","sameSite","secure","expires","cookiesEnabled","remove","previousIdentityToken","toAbortSignalTimeout","duration","controller","AbortController","abort","signal","CLIENT_ANALYTICS_ID_KEY","PrivyInternal","_config","_analyticsId","_sdkVersion","nativeAppIdentifier","_cache","_getOrGenerateClientAnalyticsId","sdkVersion","document","isReady","Boolean","_initialize","getAppConfig","custom_api_url","setIsReady","r","onRequest","_beforeRequest","getPathWithParams","path","Request","requestInit","_beforeRequestWithoutInitialize","Headers","credentials","beforeRequestWithoutRefresh","AppConfig","clientAnalyticsId","uuid","properties","AnalyticsEvent","event_name","client_id","payload","_refreshSession","session_update_action","RefreshSession","PrivyErrorCode","MISSING_OR_INVALID_TOKEN","RecoveryICloudApi","client_type","RecoveryOAuthInitICloud","getICloudConfiguration","RecoveryConfigurationICloud","RecoveryOAuthApi","RecoveryOAuthInit","authorize","RecoveryOAuthAuthenticate","RecoveryApi","auth","icloudAuth","getRecoveryKeyMaterial","chain_type","RecoveryKeyMaterial","UserApi","ALL_WALLET_CLIENT_TYPES","val","getKeys","keys","localStorage","getItem","setItem","removeItem","entries","gasFee","totalGasEstimate","l1ExecutionFeeEstimate","l1GasEstimateBN","gasPriceOracleContract","Contract","ethersRequest","rlpSerializedTransaction","getL1Fee","estimateOpStackL1Gas","recovery","clientId","supportedChains","array","reduce","acc","curr"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/CustomProviderApi.ts","../src/EmailApi.ts","../src/FarcasterApi.ts","../src/Error.ts","../src/pkce.ts","../src/OAuthApi.ts","../src/PasskeyApi.ts","../src/PhoneApi.ts","../src/SiweApi.ts","../src/AuthApi.ts","../src/chains/arbitrum.ts","../src/chains/arbitrumGoerli.ts","../src/chains/arbitrumSepolia.ts","../src/chains/avalanche.ts","../src/chains/avalancheFuji.ts","../src/chains/base.ts","../src/chains/baseGoerli.ts","../src/chains/baseSepolia.ts","../src/chains/celo.ts","../src/chains/celoAlfajores.ts","../src/chains/filecoin.ts","../src/chains/filecoinCalibration.ts","../src/chains/garnetHolesky.ts","../src/chains/goerli.ts","../src/chains/holesky.ts","../src/chains/linea.ts","../src/chains/lineaTestnet.ts","../src/chains/mainnet.ts","../src/chains/optimism.ts","../src/chains/optimismGoerli.ts","../src/chains/optimismSepolia.ts","../src/chains/polygon.ts","../src/chains/polygonMumbai.ts","../src/chains/redstone.ts","../src/chains/redstoneHolesky.ts","../src/chains/sepolia.ts","../src/chains/zora.ts","../src/chains/zoraSepolia.ts","../src/chains/zoraTestnet.ts","../src/chains/index.ts","../src/chains/berachainArtio.ts","../src/embedded/types.ts","../src/embedded/errors.ts","../src/embedded/methods.ts","../src/embedded/utils/ethers.ts","../src/embedded/gas/arbitrum.ts","../src/embedded/gas/bsc.ts","../src/embedded/gas/op-stack.ts","../src/chains/polygonAmoy.ts","../src/embedded/gas/polygon.ts","../src/embedded/utils/gas.ts","../src/embedded/utils/index.ts","../src/embedded/EmbeddedWalletProvider.ts","../src/embedded/EmbeddedSolanaWalletProvider.ts","../src/embedded/EmbeddedWalletProxy.ts","../src/embedded/EventCallbackQueue.ts","../src/EmbeddedWalletApi.ts","../src/Token.ts","../src/Session.ts","../src/toAbortSignalTimeout.ts","../src/PrivyInternal.ts","../src/RecoveryICloudApi.ts","../src/RecoveryOAuthApi.ts","../src/RecoveryApi.ts","../src/UserApi.ts","../src/utils/getUserEmbeddedWallet.ts","../src/types.ts","../src/storage/InMemoryStorage.ts","../src/storage/LocalStorage.ts","../src/Privy.ts","../src/utils/getUserEmbeddedSolanaWallet.ts","../src/utils/toObjectKeys.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CustomProviderApi","_privyInternal","constructor","privyInternal","this","syncWithToken","token","res","fetch","CustomJWTAuthenticate","body","Promise","all","session","storeToken","storeRefreshToken","refresh_token","storeIdentityToken","identity_token","callbacks","setUser","user","EmailApi","sendCode","email","PasswordlessInit","loginWithCode","code","PasswordlessAuthenticate","linkWithCode","PasswordlessLink","refreshSession","unlink","PasswordlessUnlink","address","FarcasterApi","initializeAuth","relyingParty","redirectUrl","FarcasterInit","relying_party","redirect_url","getFarcasterStatus","channel_token","FarcasterStatus","headers","authenticate","message","signature","fid","FarcasterAuthenticate","link","FarcasterLink","FarcasterUnlink","PrivyApiError","Error","error","super","PrivyClientError","STATE_CODE_KEY","CODE_VERIFIER_KEY","createCodeVerifier","base64url","encode","size","crypto","getRandomValues","Uint8Array","createStateCode","async","deriveCodeChallengeFromCodeVerifier","codeVerifier","method","digest","subtle","bind","hashBuffer","data","TextEncoder","hash","createHashBuffer","OAuthApi","_storage","_crypto","storage","generateURL","provider","redirectURI","stateCode","codeChallenge","put","OAuthInit","redirect_to","code_challenge","state_code","authorizationCode","returnedStateCode","codeType","storedStateCode","get","createAnalyticsEvent","flow","OAuthAuthenticate","authorization_code","code_type","code_verifier","del","OAuthLink","subject","OAuthUnlink","PasskeyApi","generateRegistrationOptions","PasskeyLinkInit","generateAuthenticationOptions","PasskeyAuthenticateInit","loginWithPasskey","input","challenge","PasskeyAuthenticate","authenticator_response","type","id","raw_id","rawId","response","client_data_json","clientDataJSON","authenticator_data","authenticatorData","user_handle","userHandle","undefined","authenticator_attachment","authenticatorAttachment","client_extension_results","app_id","clientExtensionResults","appid","cred_props","credProps","hmac_create_secret","hmacCreateSecret","linkWithPasskey","PasskeyLink","attestation_object","attestationObject","transports","public_key","publicKey","public_key_algorithm","publicKeyAlgorithm","PhoneApi","phoneNumber","PasswordlessSmsInit","PasswordlessSmsAuthenticate","PasswordlessSmsLink","PasswordlessSmsUnlink","SiweApi","_wallet","_preparedMessage","linkWithSiwe","walletOverride","messageOverride","wallet","SiweLink","chainId","walletClientType","connectorType","loginWithSiwe","SiweAuthenticate","init","domain","uri","SiweInit","nonce","opts","toString","replace","issuedAt","Date","toISOString","statement","AuthApi","customProvider","phone","oauth","siwe","passkey","farcaster","logout","getRefreshToken","Logout","e","console","warn","destroyLocalState","reason","destroyClientAnalyticsId","arbitrum","name","network","nativeCurrency","symbol","decimals","rpcUrls","privy","http","alchemy","webSocket","infura","default","public","blockExplorers","etherscan","url","arbitrumGoerli","testnet","arbitrumSepolia","avalanche","avalancheFuji","base","blast","baseGoerli","baseSepolia","celo","celoAlfajores","filecoin","filscan","filscout","glif","filecoinCalibration","garnetHolesky","goerli","holesky","linea","lineaTestnet","mainnet","optimism","optimismGoerli","optimismSepolia","polygon","polygonMumbai","redstone","redstoneHolesky","sepolia","zora","zoraSepolia","zoraTestnet","chainDefs","DEFAULT_SUPPORTED_CHAINS","DEFAULT_SUPPORTED_CHAIN_IDS","Set","map","chain","PrivyIframeErrorTypes","PrivyEmbeddedWalletErrorCode","PrivyError","cause","privyErrorCode","ProviderRpcError","PrivyIframeError","PrivyConnectorError","EmbeddedProviderError","ProviderErrors","UNKNOWN_ERROR","eipCode","detail","retryable","E4001_DEFAULT_USER_REJECTED_REQUEST","E4100_DEFAULT_UNAUTHORIZED","E4200_DEFAULT_UNSUPPORTED_METHOD","E4900_DEFAULT_DISCONNECTED","E4901_DEFAULT_CHAIN_DISCONNECTED","E32700_DEFAULT_PARSE_ERROR","E32600_DEFAULT_INVALID_REQUEST","E32601_DEFAULT_METHOD_NOT_FOUND","E32602_DEFAULT_INVALID_PARAMS","E32603_DEFAULT_INTERNAL_ERROR","E32000_DEFAULT_INVALID_INPUT","E32001_DEFAULT_RESOURCE_NOT_FOUND","E32002_DEFAULT_RESOURCE_UNAVAILABLE","E32003_DEFAULT_TRANSACTION_REJECTED","E32004_DEFAULT_METHOD_NOT_SUPPORTED","E32005_DEFAULT_LIMIT_EXCEEDED","E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED","E32002_CONNECTION_ALREADY_PENDING","E32002_REQUEST_ALREADY_PENDING","E32002_WALLET_LOCKED","E4001_USER_REJECTED_REQUEST","errorIndicatesRecoveryIsNeeded","includes","isPrivyIframeError","PrivyProviderRpcError","details","defaultError","Object","values","find","v","SUPPORTED_IFRAME_JSON_RPC_METHODS","QuantityToBigNumber","quantity","BigNumber","from","convertBigNumberish","value","toHexString","toEthersUnsignedTransaction","txRequest","result","to","accessList","toNumber","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","isArbitrum","isBsc","BLAST_MAINNET_ID","BLAST_TESTNET_ID","OPTIMISM_STACK_GAS_PRICE_ORACLE_ADDRESS","OPTIMISM_STACK_GAS_PRICE_ORACLE_ABI","isOpStack","polygonAmoy","_fetch","rfetch","retries","retryDelay","isPolygon","convertGasStationFeesToWei","fee","maxPriorityFee","parseUnits","toFixed","maxFee","getPolygonGasStationFees","json","status","safeLow","standard","fast","defaultGasLimit","estimateGas","txRequestWithoutValue","retryError","safeAttemptEstimateGasWithoutValue","txRequestWithoutFrom","safeAttemptEstimateGasWithoutFrom","getJsonRpcProvider","chains","rpcConfig","options","chainIdInt","Number","rpcProvider","privyWalletOverride","StaticJsonRpcProvider","appId","isHexString","test","isValidQuantity","validNumber","validBigInt","validHexString","populateTransactionRequest","hexStringProperties","prop","txRequestQuantity","validateTransactionRequest","signer","VoidSigner","getTransactionCount","gas","defaultGasForPolygon","lastBaseFeePerGas","getFeeData","newMaxFeePerGasBN","mul","div","defaultGasForArbitrum","networkMaxPriorityFeePerGas","send","add","defaultGasForOpStack","feeData","defaultGasForBsc","defaultGasForEvmChain","throwIfInvalidRecoveryUpgradePath","currentRecoveryMethod","upgradeToRecoveryMethod","EmbeddedWalletProvider","EventEmitter","_walletProxy","_address","_chainId","_chains","_jsonRpcProvider","walletProxy","request","handleIFrameRpc","handleSwitchEthereumChain","handleEstimateGas","params","handleSendTransaction","handlePopulateTransaction","handleJsonRpc","ensureChainId","tx","ensureTxChainId","internalSwitchEthereumChain","emit","populatedTx","signedTx","args","Array","isArray","newChain","getAccessToken","rpc","accessToken","toJSON","EmbeddedSolanaWalletProvider","_publicKey","solanaRpc","isErrorResponseEvent","event","uniqueId","replacer","_key","sleep","ms","resolve","setTimeout","withTimeout","promise","msg","race","_","reject","EVENT_CALLBACK_QUEUE","enqueue","eventId","dequeue","EmbeddedWalletProxy","ready","cache","_embeddedWalletMessagePoster","embeddedWalletMessagePoster","Map","ping","timeoutMs","invoke","create","waitForReady","then","connect","recover","setRecovery","createSolana","connectSolana","recoverSolana","handleEmbeddedWalletMessages","readyCallbacks","createCallbacks","connectCallbacks","recoverCallbacks","rpcCallbacks","cb","createSolanaCallbacks","connectSolanaCallbacks","recoverSolanaCallbacks","rpcSolanaCallbacks","catch","key","JSON","stringify","serialize","cached","postMessage","finally","delete","set","EmbeddedWalletApi","_proxy","setMessagePoster","poster","password","recoveryMethod","recoveryToken","recoverySecretOverride","iCloudRecordNameOverride","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","recoveryPassword","recoveryAccessToken","ethereumAccount","recovery_method","getProvider","ethereumAddress","hasEmbeddedWallet","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","_load","getSolanaProvider","_loadSolana","setPassword","recoveryArgs","existingRecoveryMethod","target_recovery_method","existing_recovery_method","getURL","URL","baseUrl","caid","searchParams","append","appClientId","href","getMessageHandler","onMessage","err","recovered","linked_accounts","account","connector_type","wallet_client_type","Token","parse","_decoded","jose","decodeJwt","sub","expiration","exp","issuer","iss","audience","aud","isExpired","seconds","now","TOKEN_STORAGE_KEY","TOKEN_COOKIE_KEY","REFRESH_TOKEN_STORAGE_KEY","REFRESH_TOKEN_COOKIE_KEY","IDENTITY_TOKEN_STORAGE_KEY","IDENTITY_TOKEN_COOKIE_KEY","SESSION_COOKIE_KEY","FORKED_TOKEN_STORAGE_KEY","events","Session","static","_isUsingServerCookies","o","isUsingServerCookies","getToken","refreshToken","getIdentityToken","identityToken","getForkedToken","forkedToken","mightHaveServerCookies","sessionToken","Cookies","length","hasRefreshCredentials","hasRecoveryCredentials","tokenIsActive","tokenRaw","clearForkedToken","previousToken","sameSite","secure","expires","cookiesEnabled","remove","previousIdentityToken","toAbortSignalTimeout","duration","controller","AbortController","abort","signal","CLIENT_ANALYTICS_ID_KEY","PrivyInternal","_config","_analyticsId","_sdkVersion","nativeAppIdentifier","_cache","_getOrGenerateClientAnalyticsId","sdkVersion","document","isReady","Boolean","_initialize","getAppConfig","custom_api_url","setIsReady","r","onRequest","_beforeRequest","getPathWithParams","path","Request","requestInit","_beforeRequestWithoutInitialize","Headers","credentials","beforeRequestWithoutRefresh","AppConfig","clientAnalyticsId","uuid","properties","AnalyticsEvent","event_name","client_id","payload","_refreshSession","session_update_action","RefreshSession","PrivyErrorCode","MISSING_OR_INVALID_TOKEN","RecoveryICloudApi","client_type","RecoveryOAuthInitICloud","getICloudConfiguration","RecoveryConfigurationICloud","RecoveryOAuthApi","RecoveryOAuthInit","authorize","RecoveryOAuthAuthenticate","RecoveryApi","auth","icloudAuth","getRecoveryKeyMaterial","chain_type","RecoveryKeyMaterial","UserApi","ALL_WALLET_CLIENT_TYPES","val","getKeys","keys","localStorage","getItem","setItem","removeItem","entries","gasFee","totalGasEstimate","l1ExecutionFeeEstimate","l1GasEstimateBN","gasPriceOracleContract","Contract","ethersRequest","rlpSerializedTransaction","getL1Fee","estimateOpStackL1Gas","recovery","clientId","supportedChains","array","reduce","acc","curr"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/js-sdk-core",
3
- "version": "0.26.3",
3
+ "version": "0.26.4",
4
4
  "description": "Vanilla JS client for the Privy Auth API",
5
5
  "sideEffects": false,
6
6
  "keywords": [