@privy-io/js-sdk-core 0.23.3 → 0.23.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{DEFAULT_SUPPORTED_CHAINS as e}from"./chains/index.js";import{EmbeddedWalletProvider as r}from"./embedded/EmbeddedWalletProvider.js";import{EmbeddedSolanaWalletProvider as t}from"./embedded/EmbeddedSolanaWalletProvider.js";import{EmbeddedWalletProxy as
|
|
1
|
+
import{DEFAULT_SUPPORTED_CHAINS as e}from"./chains/index.js";import{EmbeddedWalletProvider as r}from"./embedded/EmbeddedWalletProvider.js";import{EmbeddedSolanaWalletProvider as t}from"./embedded/EmbeddedSolanaWalletProvider.js";import{EmbeddedWalletProxy as s}from"./embedded/EmbeddedWalletProxy.js";import{errorIndicatesRecoveryIsNeeded as o}from"./embedded/errors.js";import{throwIfInvalidRecoveryUpgradePath as i}from"./embedded/utils/index.js";import"./chains/arbitrum.js";import"./chains/arbitrumGoerli.js";import"./chains/arbitrumSepolia.js";import"./chains/avalanche.js";import"./chains/avalancheFuji.js";import"./chains/base.js";import"./chains/baseGoerli.js";import"./chains/baseSepolia.js";import"./chains/berachainArtio.js";import"./chains/celo.js";import"./chains/celoAlfajores.js";import"./chains/filecoin.js";import"./chains/filecoinCalibration.js";import"./chains/garnetHolesky.js";import"./chains/goerli.js";import"./chains/holesky.js";import"./chains/linea.js";import"./chains/lineaTestnet.js";import"./chains/mainnet.js";import"./chains/optimism.js";import"./chains/optimismGoerli.js";import"./chains/optimismSepolia.js";import"./chains/polygon.js";import"./chains/polygonMumbai.js";import"./chains/redstone.js";import"./chains/redstoneHolesky.js";import"./chains/sepolia.js";import"./chains/zora.js";import"./chains/zoraSepolia.js";import"./chains/zoraTestnet.js";import"eventemitter3";import"./embedded/methods.js";import"./Error.js";import"./embedded/EventCallbackQueue.js";import"./embedded/types.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./embedded/gas/arbitrum.js";import"@ethersproject/bignumber";import"./embedded/utils/ethers.js";import"./embedded/gas/bsc.js";import"./embedded/gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"./embedded/gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"./chains/polygonAmoy.js";import"./embedded/utils/gas.js";class a{_privyInternal;_proxy;_chains=Array.from(e);constructor(e,r,t){this._privyInternal=e,r&&(this._proxy=new s(r)),t&&(this._chains=t)}setMessagePoster(e){this._proxy=new s(e)}async create(e,t,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let o;if(o=t||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===o&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const i=await this._privyInternal.getAccessToken();if(!i)throw new Error("User must be logged in to create an embedded wallet");const{address:a}=await this._proxy.create({accessToken:i,recoveryMethod:o,recoveryPassword:e,recoveryAccessToken:s});if(!a)throw new Error("Failed to create wallet");const{user:n}=await this._privyInternal.refreshSession();return{user:n,provider:new r({address:a,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("User must be logged in to create an embedded wallet");const{publicKey:r}=await this._proxy.createSolana({accessToken:e});if(!r)throw new Error("Failed to create wallet");return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new t({publicKey:r,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:r}=await this._privyInternal.refreshSession();if(!e||!r)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:r}=await this._privyInternal.refreshSession();if(!e||!r)throw new Error("User must be logged in to interact with embedded wallets");const t=this._getEmbeddedWallet(e);if(!t)return!1;if("privy"===t.recovery_method)return!1;try{return await this._proxy.connect({accessToken:r,address:t.address}),!1}catch(e){return o(e)}}async getProvider(e,t,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const o=await this._load(e,t,s);return new r({address:o,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const r=await this._loadSolana(e);return new t({publicKey:r,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,r){return this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:r})}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");i({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod:t.recoveryMethod});const s=await this._load(e),o=await this._privyInternal.getAccessToken();if(!o)throw new Error("User must be logged in to interact with embedded wallets");return await this._proxy.setRecovery({accessToken:o,address:s,recoveryMethod:t.recoveryMethod,recoveryPassword:"user-passcode"===t.recoveryMethod?t.password:void 0,recoveryAccessToken:"google-drive"===t.recoveryMethod||"icloud"===t.recoveryMethod?t.recoveryAccessToken:void 0}),this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new r({address:s,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}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)}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,r,t){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const i=e.address;try{return await this._proxy.connect({accessToken:s,address:i}),i}catch(a){if(o(a)){try{if("privy"===e.recovery_method){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:s,address:i});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}if("user-passcode"===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:s,address:i,recoveryPassword:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if(["google-drive","icloud"].includes(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:s,address:i,recoveryAccessToken:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}}catch(r){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:r instanceof Error?r.message:"Unable to recover wallet"}),r}throw a}throw a}}async _loadSolana(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const r=await this._privyInternal.getAccessToken();if(!r)throw new Error("User must be logged in to interact with embedded wallets");const t=e.public_key;try{return await this._proxy.connectSolana({accessToken:r,publicKey:t}),t}catch(e){if(o(e)){return(await this._proxy.recoverSolana({accessToken:r,publicKey:t})).publicKey}throw e}}_getEmbeddedWallet(e){return e?.linked_accounts.find((e=>"wallet"===e.type&&"embedded"===e.connector_type&&"privy"===e.wallet_client_type))}}export{a as default};
|
|
2
2
|
//# sourceMappingURL=EmbeddedWalletApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedWalletApi.js","sources":["../src/EmbeddedWalletApi.ts"],"sourcesContent":[null],"names":["EmbeddedWalletApi","_privyInternal","_proxy","_chains","Array","from","DEFAULT_SUPPORTED_CHAINS","constructor","privyInternal","embeddedWalletMessagePoster","chains","this","EmbeddedWalletProxy","setMessagePoster","poster","create","password","recoveryMethod","recoveryToken","Error","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","accessToken","getAccessToken","address","recoveryPassword","recoveryAccessToken","user","refreshSession","provider","EmbeddedWalletProvider","walletProxy","createSolana","publicKey","callbacks","setUser","EmbeddedSolanaWalletProvider","hasEmbeddedWallet","token","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","recovery_method","connect","e","errorIndicatesRecoveryIsNeeded","getProvider","wallet","_load","getSolanaProvider","_loadSolana","setPassword","setRecovery","recoveryArgs","throwIfInvalidRecoveryUpgradePath","currentRecoveryMethod","upgradeToRecoveryMethod","undefined","getURL","url","URL","baseUrl","appId","caid","searchParams","append","appClientId","href","getMessageHandler","handleEmbeddedWalletMessages","bind","ping","timeoutMs","console","error","err","recover","includes","public_key","connectSolana","recoverSolana","linked_accounts","find","account","type","connector_type","wallet_client_type"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EmbeddedWalletApi.js","sources":["../src/EmbeddedWalletApi.ts"],"sourcesContent":[null],"names":["EmbeddedWalletApi","_privyInternal","_proxy","_chains","Array","from","DEFAULT_SUPPORTED_CHAINS","constructor","privyInternal","embeddedWalletMessagePoster","chains","this","EmbeddedWalletProxy","setMessagePoster","poster","create","password","recoveryMethod","recoveryToken","Error","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","accessToken","getAccessToken","address","recoveryPassword","recoveryAccessToken","user","refreshSession","provider","EmbeddedWalletProvider","walletProxy","createSolana","publicKey","callbacks","setUser","EmbeddedSolanaWalletProvider","hasEmbeddedWallet","token","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","recovery_method","connect","e","errorIndicatesRecoveryIsNeeded","getProvider","wallet","_load","getSolanaProvider","_loadSolana","setPassword","setRecovery","recoveryArgs","throwIfInvalidRecoveryUpgradePath","currentRecoveryMethod","upgradeToRecoveryMethod","undefined","getURL","url","URL","baseUrl","appId","caid","searchParams","append","appClientId","href","getMessageHandler","handleEmbeddedWalletMessages","bind","ping","timeoutMs","console","error","err","createAnalyticsEvent","recovered","recover","includes","message","public_key","connectSolana","recoverSolana","linked_accounts","find","account","type","connector_type","wallet_client_type"],"mappings":"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"}
|
package/dist/PrivyInternal.js
CHANGED
|
@@ -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 r}from"@privy-io/public-api";import{PrivyApiError as o}from"./Error.js";import{Session as h}from"./Session.js";import c from"./toAbortSignalTimeout.js";import{getHttpOnlyHeaderCookies as l}from"./utils/getHttpOnlyHeaderCookies.js";import"eventemitter3";import"js-cookie";import"./Token.js";import"jose";import"set-cookie-parser";const d="privy:caid";class p{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.23.
|
|
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 r}from"@privy-io/public-api";import{PrivyApiError as o}from"./Error.js";import{Session as h}from"./Session.js";import c from"./toAbortSignalTimeout.js";import{getHttpOnlyHeaderCookies as l}from"./utils/getHttpOnlyHeaderCookies.js";import"eventemitter3";import"js-cookie";import"./Token.js";import"jose";import"set-cookie-parser";const d="privy:caid";class p{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.23.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 r=`${this.baseUrl}${i(t.path,s)}`,h=new Request(r,{method:t.method,body:JSON.stringify(e),headers:n}),c=await a.onRequest(h),d=await this._fetch(h,c),p=await d.json();if(d.status>299)throw new o(p);if("undefined"!=typeof document||!this.nativeAppIdentifier)return p;const{"privy-token":f,"privy-refresh-token":u}=l(d.headers);return f&&(p.token=f),u&&(p.refresh_token=u),p}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(d);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(d,this._analyticsId)}catch(t){console.error(`Unable to store clientId: ${this._analyticsId}`,t)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(d)}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(r,{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)]),"clear"===e&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===e&&s.token&&await this.session.storeToken(s.token),s}catch(t){throw(t instanceof o&&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}}export{p as PrivyInternal};
|
|
2
2
|
//# sourceMappingURL=PrivyInternal.js.map
|
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"),h=require("uuid"),d=require("@privy-io/api-base"),p=require("js-cookie"),u=require("set-cookie-parser");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(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(t),w=y(r),v=y(l),g=y(p);class f{_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.callbacks?.setUser?.(r.user),r}}class b{_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.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessLink,{body:{email:t,code:r}});return this._privyInternal.callbacks?.setUser?.(s),s}async unlink(t){const r=await this._privyInternal.fetch(e.PasswordlessUnlink,{body:{address:t}});return this._privyInternal.callbacks?.setUser?.(r),r}}class k{_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.callbacks?.setUser?.(i.user),i}async link({channel_token:t,message:r,signature:s,fid:a}){const i=await this._privyInternal.fetch(e.FarcasterLink,{body:{channel_token:t,message:r,signature:s,fid:a}});return this._privyInternal.callbacks?.setUser?.(i),i}async unlink({fid:t}){const r=await this._privyInternal.fetch(e.FarcasterUnlink,{body:{fid:t}});return this._privyInternal.callbacks?.setUser?.(r),r}}class E 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 P="privy:state_code",x="privy:code_verifier";function T(){return t.base64url.encode((e=36,crypto.getRandomValues(new Uint8Array(e))));var e}function S(){return T()}async function C({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 R{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t,r){const s=T(),a=S(),i=await C({codeVerifier:s,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,s),this._storage.put(P,a)]),this._privyInternal.fetch(e.OAuthInit,{body:{redirect_to:r,provider:t,code_challenge:i,state_code:a}})}async loginWithCode(t,r,s){const[a,i]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(i!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:i??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const n=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:t,state_code:i,code_verifier:a}});return await Promise.all([this._privyInternal.session.storeToken(n.token),this._privyInternal.session.storeRefreshToken(n.refresh_token)]),this._privyInternal.callbacks?.setUser?.(n.user),await Promise.all([this._storage.del(x),this._storage.del(P)]),n}async linkWithCode(t,r,s){const[a,i]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(i!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:i??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const n=await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:t,state_code:i,code_verifier:a}});return this._privyInternal.callbacks?.setUser?.(n),await Promise.all([this._storage.del(x),this._storage.del(P)]),n}async unlink(t,r){const s=await this._privyInternal.fetch(e.OAuthUnlink,{body:{provider:t,subject:r}});return this._privyInternal.callbacks?.setUser?.(s),s}}class A{_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.callbacks?.setUser?.(a.user),a}async linkWithPasskey(t,r){const s=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 this._privyInternal.callbacks?.setUser?.(s),s}}class U{_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.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessSmsLink,{body:{phoneNumber:t,code:r}});return this._privyInternal.callbacks?.setUser?.(s),s}async unlink(t){const r=await this._privyInternal.fetch(e.PasswordlessSmsUnlink,{body:{phoneNumber:t}});return this._privyInternal.callbacks?.setUser?.(r),r}}class F{_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{const r=await this._privyInternal.fetch(e.SiweLink,{body:{message:i,signature:t,chainId:a.chainId,walletClientType:a.walletClientType,connectorType:a.connectorType}});return this._privyInternal.callbacks?.setUser?.(r),r}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:Number(a.chainId).toString(16),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.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 N{_privyInternal;customProvider;phone;email;oauth;siwe;passkey;farcaster;constructor(e,t,r){this._privyInternal=e,this.customProvider=new f(this._privyInternal),this.phone=new U(this._privyInternal),this.email=new b(this._privyInternal),this.oauth=new R(this._privyInternal,t,r),this.siwe=new F(this._privyInternal),this.passkey=new A(this._privyInternal),this.farcaster=new k(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"}}},L={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},D={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"}}},q={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},j={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},W={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},z={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},H={id:44787,name:"Celo Alfajores Testnet",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},testnet:!0},$={id:314,name:"Filecoin - Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}},B={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"}}},J={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"}}},V={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"}}},Y={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},Q={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},Z={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"}}},X={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"}}},ee={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},te={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},re={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"}}},se={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},ae={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/"}}},ie={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"}}},ne={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},oe={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"}}},ce={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},le={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},he={mainnet:Z,goerli:V,sepolia:ne,arbitrum:O,arbitrumGoerli:L,arbitrumSepolia:D,optimism:X,optimismGoerli:ee,optimismSepolia:te,polygon:re,polygonMumbai:se,celo:z,celoAlfajores:H,filecoin:$,filecoinCalibration:B,base:M,baseGoerli:j,baseSepolia:W,linea:Y,lineaTestnet:Q,avalanche:G,avalancheFuji:q,holesky:K,redstone:ae,garnetHolesky:J,redstoneHolesky:ie,zora:oe,zoraSepolia:ce,zoraTestnet:le},de=[Z,V,ne,O,L,D,X,ee,te,re,se,z,H,$,B,M,j,W,{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},Y,Q,G,q,K,ae,J,ie,oe,ce,le],pe=new Set(de.map((e=>e.id))),ue=["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 me 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 _e extends me{type="provider_error";code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}class we extends Error{type;constructor(e,t){super(t),this.type=e}}class ve extends me{type="connector_error";constructor(e,t,r){super(e,t,r)}}class ge extends Error{code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}const fe={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 be(e){return function(e){const t=e.type;return"string"==typeof t&&ue.includes(t)}(e)&&"wallet_not_on_device"===e.type}class ke extends _e{details;constructor(e){const t=e;super(t.message,t.code,t.data);const r=Object.values(fe).find((e=>e.eipCode===t.code));this.details=r||fe.UNKNOWN_ERROR,-32002===t.code&&(t.message?.includes("already pending for origin")?t.message?.includes("wallet_requestPermissions")?this.details=fe.E32002_CONNECTION_ALREADY_PENDING:this.details=fe.E32002_REQUEST_ALREADY_PENDING:t.message?.includes("Already processing")&&t.message.includes("eth_requestAccounts")&&(this.details=fe.E32002_WALLET_LOCKED))}}const Ee=["eth_sign","eth_signTransaction","personal_sign","eth_signTypedData_v4","csw_signUserOperation"],Ie=e=>i.BigNumber.from(e);function Pe(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 Te=e=>[O.id,L.id,D.id].includes(e),Se=e=>[56,97].includes(e),Ce=81457,Re=168587773,Ae="0x420000000000000000000000000000000000000F",Ue=["function getL1Fee(bytes memory _data) external view returns (uint256)"],Fe=e=>[M.id,j.id,W.id,X.id,ee.id,te.id,oe.id,le.id,ce.id,Ce,Re].includes(e);const Ne={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}),Le=e=>[re.id,se.id,Ne.id].includes(e),De=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 re.id:t="https://gasstation.polygon.technology/v2";break;case se.id:t="https://gasstation-testnet.polygon.technology/v2";break;case Ne.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:De((a=s).safeLow),standard:De(a.standard),fast:De(a.fast)};var a};const qe=(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 Me(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&&Me(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 async function(e,t){try{return(await t.estimateGas(e)).toHexString()}catch(r){console.warn(`Gas estimation failed with error: ${r}. Retrying gas estimation by omitting the 'from' address`);try{const r={...e,from:void 0};return(await t.estimateGas(r)).toHexString()}catch(e){throw console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),r}}}(t,r)),"string"==typeof t.type&&Me(t.type)&&(t.type=Number(t.type)),[23294,23295].includes(t.chainId)&&(t.type=0),t=Le(t.chainId)?await async function(e){if(!Le(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)}catch(e){throw new Error(`Failed to set gas prices from Polygon gas station with error: ${e}.`)}return e}(t):Te(t.chainId)?await(async(e,t)=>{if(!Te(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=Pe(t),e.maxPriorityFeePerGas=Pe(i.BigNumber.from(0))}}catch(e){throw new Error(`Failed to set gas price for Arbitrum transaction: ${e}.`)}return e})(t,r):Fe(t.chainId)?await(async(e,t)=>{if(!Fe(e.chainId))throw new Error("Invalid chain ID for OP Stack gas estimation.");if(void 0===e.type&&(e.type=2),e.maxPriorityFeePerGas&&e.maxFeePerGas||e.gasPrice)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=Pe(s)}}catch(e){throw new Error(`Failed to set gas price for OP stack transaction: ${e}.`)}return e})(t,r):Se(t.chainId)?await(async(e,t)=>{if(!Se(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 w.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=qe(a,s,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(e){if(t=e.method,Ee.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=qe(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 ge(`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 ge(`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){throw console.error(t),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:e.method,address:this._address,error:t instanceof Error?t.message:"Unable to make wallet request"}),new Error("Unable to make wallet request")}}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=(Ve=0,()=>"id-"+Ve++);var Ve;const Ke=(e,t)=>"bigint"==typeof t?t.toString():t,Ye=e=>new Promise((t=>{setTimeout(t,e)})),Qe=(e,t,r="")=>Promise.race([e,new Promise(((e,s)=>{setTimeout((()=>{s(new Error(r?`Operation reached timeout: ${r}`:"Operation reached timeout"))}),t)}))]),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),e,"ping")}create(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e,this._embeddedWalletMessagePoster))),t,"create")}connect(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:connect",e,this._embeddedWalletMessagePoster))),t,"connect")}recover(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:recover",e,this._embeddedWalletMessagePoster))),t,"recover")}setRecovery(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:set-recovery",e,this._embeddedWalletMessagePoster))),t,"setRecovery")}rpc(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:rpc",e,this._embeddedWalletMessagePoster))),t,"rpc")}createSolana(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create",e,this._embeddedWalletMessagePoster))),t,"create")}connectSolana(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:connect",e,this._embeddedWalletMessagePoster))),t,"connect")}recoverSolana(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:recover",e,this._embeddedWalletMessagePoster))),t,"recover")}solanaRpc(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:rpc",e,this._embeddedWalletMessagePoster))),t,"rpc")}handleEmbeddedWalletMessages(e){switch(e.event){case"privy:iframe:ready":const t=Ze.dequeue(e.event,e.id);return Be(e)?t.reject(new we(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 we(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 we(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 we(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 we(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 we(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 we(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 we(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 we(e.error.type,e.error.message)):l.resolve(e.data);case"privy:solana-wallet:rpc":const h=Ze.dequeue(e.event,e.id);return Be(e)?h.reject(new we(e.error.type,e.error.message)):h.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,Ke)}`)(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){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let s;if(s=t||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===s&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const a=await this._privyInternal.getAccessToken();if(!a)throw new Error("User must be logged in to create an embedded wallet");const{address:i}=await this._proxy.create({accessToken:a,recoveryMethod:s,recoveryPassword:e,recoveryAccessToken:r});if(!i)throw new Error("Failed to create wallet");const{user:n}=await this._privyInternal.refreshSession();return{user:n,provider:new He({address:i,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("User must be logged in to create an embedded wallet");const{publicKey:t}=await this._proxy.createSolana({accessToken:e});if(!t)throw new Error("Failed to create wallet");return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new $e({publicKey:t,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 be(e)}}async getProvider(e,t,r){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._load(e,t,r);return new He({address:s,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const t=await this._loadSolana(e);return new $e({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,t){return this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:t})}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");ze({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod: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");return 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}),this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new He({address:r,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}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)}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){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const a=e.address;try{return await this._proxy.connect({accessToken:s,address:a}),a}catch(i){if(be(i)){if("privy"===e.recovery_method){return(await this._proxy.recover({accessToken:s,address:a})).address}if("user-passcode"===e.recovery_method&&t){return(await this._proxy.recover({accessToken:s,address:a,recoveryPassword:t})).address}if(["google-drive","icloud"].includes(e.recovery_method)&&r){return(await this._proxy.recover({accessToken:s,address:a,recoveryAccessToken:r})).address}throw i}throw i}}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(be(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=_.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-session",ot="privy:session_transfer_token",ct=["storage_cleared","token_cleared","refresh_token_cleared","forked_token_cleared","token_stored","refresh_token_stored"];class lt extends w.default{static events=ct;_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 getForkedToken(){try{const e=await this._storage.get(ot);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getForkedToken_error"}),null}}get mightHaveServerCookies(){try{const e=g.default.get(nt);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.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;g.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),g.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||(g.default.set(nt,"t",{sameSite:"Strict",secure:!0,expires:30}),g.default.set(it,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(at),g.default.remove(it),g.default.remove(nt),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async clearForkedToken(){await this._storage.del(ot)}}const ht=e=>{const t=new AbortController;return setTimeout((()=>t.abort()),e),t.signal};const dt="privy:caid";class pt{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.23.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 lt({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),h=await l.json();if(l.status>299)throw new E(h);if("undefined"!=typeof document||!this.nativeAppIdentifier)return h;const{"privy-token":d,"privy-refresh-token":p}=function(e){const t=e.get("set-cookie");return t?u.parse(u.splitCookiesString(t)).reduce(((e,{name:t,value:r,httpOnly:s})=>s?{...e,[t]:r}:e),{}):{}}(l.headers);return d&&(h.token=d),p&&(h.refresh_token=p),h}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:ht(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(dt);if("string"==typeof e&&e.length>0)return this._analyticsId=e,e}catch(e){console.error("Unable to load clientId",e)}try{this._analyticsId=h.v4()}catch(e){console.error("Unable to generate uuidv4",e)}if(!this._analyticsId)return null;try{await this._storage.put(dt,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(dt)}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)]),"clear"===r&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===r&&s.token&&await this.session.storeToken(s.token),s}catch(e){throw(e instanceof E&&e.code===d.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}}class ut{_privyInternal;constructor(e){this._privyInternal=e}async init(t){return this._privyInternal.fetch(e.RecoveryOAuthInitICloud,{body:{client_type:t}})}}class yt{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t){const r=T(),s=S(),a=await C({codeVerifier:r,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,r),this._storage.put(P,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(P)]);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(P)]),i}}class mt{_privyInternal;auth;icloudAuth;constructor(e,t,r){this._privyInternal=e,this.auth=new yt(this._privyInternal,t,r),this.icloudAuth=new ut(this._privyInternal)}}class _t{_privyInternal;constructor(e){this._privyInternal=e}async get(){try{const{user:e}=await this._privyInternal.refreshSession();return{user:e}}catch(e){throw e}}}const wt=["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=wt,exports.DEFAULT_SUPPORTED_CHAINS=de,exports.DEFAULT_SUPPORTED_CHAIN_IDS=pe,exports.EmbeddedProviderError=ge,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=E,exports.PrivyClientError=I,exports.PrivyConnectorError=ve,exports.PrivyProviderRpcError=ke,exports.ProviderErrors=fe,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 ke("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 ke("maxFeePerGas was not successfully set for transaction of type 2.");s=Ie(e.maxFeePerGas)}else{if(!e.gasPrice)throw new ke("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&&Fe(e.chainId))try{c=await async function(e,t){if(!e.chainId||e.chainId&&!Fe(e.chainId))return i.BigNumber.from(0);let r=i.BigNumber.from(0);try{const s=new n.Contract(Ae,Ue,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=he,exports.convertBigNumberish=Pe,exports.default=class{auth;user;embeddedWallet;recovery;_privyInternal;constructor({clientId:e,...t}){this._privyInternal=new pt({...t,appClientId:e}),this.user=new _t(this._privyInternal),this.auth=new N(this._privyInternal,t.storage,t.crypto),this.embeddedWallet=new et(this._privyInternal,t.embeddedWalletMessagePoster,t.supportedChains),this.recovery=new mt(this._privyInternal,t.storage,t.crypto)}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}getAccessToken(){return this._privyInternal.getAccessToken()}},exports.errorIndicatesRecoveryIsNeeded=be,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;
|
|
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"),u=require("set-cookie-parser");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function m(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(t),w=y(r),v=y(l),g=y(p);class f{_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.callbacks?.setUser?.(r.user),r}}class b{_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.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessLink,{body:{email:t,code:r}});return this._privyInternal.callbacks?.setUser?.(s),s}async unlink(t){const r=await this._privyInternal.fetch(e.PasswordlessUnlink,{body:{address:t}});return this._privyInternal.callbacks?.setUser?.(r),r}}class k{_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.callbacks?.setUser?.(i.user),i}async link({channel_token:t,message:r,signature:s,fid:a}){const i=await this._privyInternal.fetch(e.FarcasterLink,{body:{channel_token:t,message:r,signature:s,fid:a}});return this._privyInternal.callbacks?.setUser?.(i),i}async unlink({fid:t}){const r=await this._privyInternal.fetch(e.FarcasterUnlink,{body:{fid:t}});return this._privyInternal.callbacks?.setUser?.(r),r}}class E 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 P="privy:state_code",x="privy:code_verifier";function T(){return t.base64url.encode((e=36,crypto.getRandomValues(new Uint8Array(e))));var e}function S(){return T()}async function C({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 A{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t,r){const s=T(),a=S(),i=await C({codeVerifier:s,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,s),this._storage.put(P,a)]),this._privyInternal.fetch(e.OAuthInit,{body:{redirect_to:r,provider:t,code_challenge:i,state_code:a}})}async loginWithCode(t,r,s){const[a,i]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(i!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:i??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const n=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:t,state_code:i,code_verifier:a}});return await Promise.all([this._privyInternal.session.storeToken(n.token),this._privyInternal.session.storeRefreshToken(n.refresh_token)]),this._privyInternal.callbacks?.setUser?.(n.user),await Promise.all([this._storage.del(x),this._storage.del(P)]),n}async linkWithCode(t,r,s){const[a,i]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(i!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:i??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const n=await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:t,state_code:i,code_verifier:a}});return this._privyInternal.callbacks?.setUser?.(n),await Promise.all([this._storage.del(x),this._storage.del(P)]),n}async unlink(t,r){const s=await this._privyInternal.fetch(e.OAuthUnlink,{body:{provider:t,subject:r}});return this._privyInternal.callbacks?.setUser?.(s),s}}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.callbacks?.setUser?.(a.user),a}async linkWithPasskey(t,r){const s=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 this._privyInternal.callbacks?.setUser?.(s),s}}class U{_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.callbacks?.setUser?.(s.user),s}async linkWithCode(t,r){const s=await this._privyInternal.fetch(e.PasswordlessSmsLink,{body:{phoneNumber:t,code:r}});return this._privyInternal.callbacks?.setUser?.(s),s}async unlink(t){const r=await this._privyInternal.fetch(e.PasswordlessSmsUnlink,{body:{phoneNumber:t}});return this._privyInternal.callbacks?.setUser?.(r),r}}class F{_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{const r=await this._privyInternal.fetch(e.SiweLink,{body:{message:i,signature:t,chainId:a.chainId,walletClientType:a.walletClientType,connectorType:a.connectorType}});return this._privyInternal.callbacks?.setUser?.(r),r}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:Number(a.chainId).toString(16),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.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 N{_privyInternal;customProvider;phone;email;oauth;siwe;passkey;farcaster;constructor(e,t,r){this._privyInternal=e,this.customProvider=new f(this._privyInternal),this.phone=new U(this._privyInternal),this.email=new b(this._privyInternal),this.oauth=new A(this._privyInternal,t,r),this.siwe=new F(this._privyInternal),this.passkey=new R(this._privyInternal),this.farcaster=new k(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"}}},L={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},D={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"}}},q={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},j={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},W={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},z={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},H={id:44787,name:"Celo Alfajores Testnet",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},testnet:!0},$={id:314,name:"Filecoin - Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}},B={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"}}},J={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"}}},V={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"}}},Y={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},Q={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},Z={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"}}},X={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"}}},ee={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},te={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},re={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"}}},se={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},ae={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/"}}},ie={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"}}},ne={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},oe={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"}}},ce={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},le={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},de={mainnet:Z,goerli:V,sepolia:ne,arbitrum:O,arbitrumGoerli:L,arbitrumSepolia:D,optimism:X,optimismGoerli:ee,optimismSepolia:te,polygon:re,polygonMumbai:se,celo:z,celoAlfajores:H,filecoin:$,filecoinCalibration:B,base:M,baseGoerli:j,baseSepolia:W,linea:Y,lineaTestnet:Q,avalanche:G,avalancheFuji:q,holesky:K,redstone:ae,garnetHolesky:J,redstoneHolesky:ie,zora:oe,zoraSepolia:ce,zoraTestnet:le},he=[Z,V,ne,O,L,D,X,ee,te,re,se,z,H,$,B,M,j,W,{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},Y,Q,G,q,K,ae,J,ie,oe,ce,le],pe=new Set(he.map((e=>e.id))),ue=["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 me 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 _e extends me{type="provider_error";code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}class we extends Error{type;constructor(e,t){super(t),this.type=e}}class ve extends me{type="connector_error";constructor(e,t,r){super(e,t,r)}}class ge extends Error{code;data;constructor(e,t,r){super(e),this.code=t,this.data=r}}const fe={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 be(e){return function(e){const t=e.type;return"string"==typeof t&&ue.includes(t)}(e)&&"wallet_not_on_device"===e.type}class ke extends _e{details;constructor(e){const t=e;super(t.message,t.code,t.data);const r=Object.values(fe).find((e=>e.eipCode===t.code));this.details=r||fe.UNKNOWN_ERROR,-32002===t.code&&(t.message?.includes("already pending for origin")?t.message?.includes("wallet_requestPermissions")?this.details=fe.E32002_CONNECTION_ALREADY_PENDING:this.details=fe.E32002_REQUEST_ALREADY_PENDING:t.message?.includes("Already processing")&&t.message.includes("eth_requestAccounts")&&(this.details=fe.E32002_WALLET_LOCKED))}}const Ee=["eth_sign","eth_signTransaction","personal_sign","eth_signTypedData_v4","csw_signUserOperation"],Ie=e=>i.BigNumber.from(e);function Pe(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 Te=e=>[O.id,L.id,D.id].includes(e),Se=e=>[56,97].includes(e),Ce=81457,Ae=168587773,Re="0x420000000000000000000000000000000000000F",Ue=["function getL1Fee(bytes memory _data) external view returns (uint256)"],Fe=e=>[M.id,j.id,W.id,X.id,ee.id,te.id,oe.id,le.id,ce.id,Ce,Ae].includes(e);const Ne={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}),Le=e=>[re.id,se.id,Ne.id].includes(e),De=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 re.id:t="https://gasstation.polygon.technology/v2";break;case se.id:t="https://gasstation-testnet.polygon.technology/v2";break;case Ne.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:De((a=s).safeLow),standard:De(a.standard),fast:De(a.fast)};var a};const qe=(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 Me(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&&Me(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 async function(e,t){try{return(await t.estimateGas(e)).toHexString()}catch(r){console.warn(`Gas estimation failed with error: ${r}. Retrying gas estimation by omitting the 'from' address`);try{const r={...e,from:void 0};return(await t.estimateGas(r)).toHexString()}catch(e){throw console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),r}}}(t,r)),"string"==typeof t.type&&Me(t.type)&&(t.type=Number(t.type)),[23294,23295].includes(t.chainId)&&(t.type=0),t=Le(t.chainId)?await async function(e){if(!Le(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)}catch(e){throw new Error(`Failed to set gas prices from Polygon gas station with error: ${e}.`)}return e}(t):Te(t.chainId)?await(async(e,t)=>{if(!Te(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=Pe(t),e.maxPriorityFeePerGas=Pe(i.BigNumber.from(0))}}catch(e){throw new Error(`Failed to set gas price for Arbitrum transaction: ${e}.`)}return e})(t,r):Fe(t.chainId)?await(async(e,t)=>{if(!Fe(e.chainId))throw new Error("Invalid chain ID for OP Stack gas estimation.");if(void 0===e.type&&(e.type=2),e.maxPriorityFeePerGas&&e.maxFeePerGas||e.gasPrice)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=Pe(s)}}catch(e){throw new Error(`Failed to set gas price for OP stack transaction: ${e}.`)}return e})(t,r):Se(t.chainId)?await(async(e,t)=>{if(!Se(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 w.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=qe(a,s,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(e){if(t=e.method,Ee.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=qe(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 ge(`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 ge(`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){throw console.error(t),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:e.method,address:this._address,error:t instanceof Error?t.message:"Unable to make wallet request"}),new Error("Unable to make wallet request")}}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=(Ve=0,()=>"id-"+Ve++);var Ve;const Ke=(e,t)=>"bigint"==typeof t?t.toString():t,Ye=e=>new Promise((t=>{setTimeout(t,e)})),Qe=(e,t,r="")=>Promise.race([e,new Promise(((e,s)=>{setTimeout((()=>{s(new Error(r?`Operation reached timeout: ${r}`:"Operation reached timeout"))}),t)}))]),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),e,"ping")}create(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e,this._embeddedWalletMessagePoster))),t,"create")}connect(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:connect",e,this._embeddedWalletMessagePoster))),t,"connect")}recover(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:recover",e,this._embeddedWalletMessagePoster))),t,"recover")}setRecovery(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:set-recovery",e,this._embeddedWalletMessagePoster))),t,"setRecovery")}rpc(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:rpc",e,this._embeddedWalletMessagePoster))),t,"rpc")}createSolana(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create",e,this._embeddedWalletMessagePoster))),t,"create")}connectSolana(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:connect",e,this._embeddedWalletMessagePoster))),t,"connect")}recoverSolana(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:recover",e,this._embeddedWalletMessagePoster))),t,"recover")}solanaRpc(e,t=15e3){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:rpc",e,this._embeddedWalletMessagePoster))),t,"rpc")}handleEmbeddedWalletMessages(e){switch(e.event){case"privy:iframe:ready":const t=Ze.dequeue(e.event,e.id);return Be(e)?t.reject(new we(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 we(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 we(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 we(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 we(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 we(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 we(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 we(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 we(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 we(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,Ke)}`)(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(he);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){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let s;if(s=t||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===s&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const a=await this._privyInternal.getAccessToken();if(!a)throw new Error("User must be logged in to create an embedded wallet");const{address:i}=await this._proxy.create({accessToken:a,recoveryMethod:s,recoveryPassword:e,recoveryAccessToken:r});if(!i)throw new Error("Failed to create wallet");const{user:n}=await this._privyInternal.refreshSession();return{user:n,provider:new He({address:i,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("User must be logged in to create an embedded wallet");const{publicKey:t}=await this._proxy.createSolana({accessToken:e});if(!t)throw new Error("Failed to create wallet");return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new $e({publicKey:t,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 be(e)}}async getProvider(e,t,r){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._load(e,t,r);return new He({address:s,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const t=await this._loadSolana(e);return new $e({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,t){return this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:t})}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");ze({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod: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");return 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}),this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new He({address:r,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}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)}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){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const a=e.address;try{return await this._proxy.connect({accessToken:s,address:a}),a}catch(i){if(be(i)){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:s,address:a});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:s,address:a,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:s,address:a,recoveryAccessToken:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),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 i}throw i}}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(be(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=_.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-session",ot="privy:session_transfer_token",ct=["storage_cleared","token_cleared","refresh_token_cleared","forked_token_cleared","token_stored","refresh_token_stored"];class lt extends w.default{static events=ct;_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 getForkedToken(){try{const e=await this._storage.get(ot);return"string"==typeof e?e:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getForkedToken_error"}),null}}get mightHaveServerCookies(){try{const e=g.default.get(nt);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.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;g.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),g.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||(g.default.set(nt,"t",{sameSite:"Strict",secure:!0,expires:30}),g.default.set(it,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(at),g.default.remove(it),g.default.remove(nt),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async clearForkedToken(){await this._storage.del(ot)}}const dt=e=>{const t=new AbortController;return setTimeout((()=>t.abort()),e),t.signal};const ht="privy:caid";class pt{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.23.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 lt({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 E(d);if("undefined"!=typeof document||!this.nativeAppIdentifier)return d;const{"privy-token":h,"privy-refresh-token":p}=function(e){const t=e.get("set-cookie");return t?u.parse(u.splitCookiesString(t)).reduce(((e,{name:t,value:r,httpOnly:s})=>s?{...e,[t]:r}:e),{}):{}}(l.headers);return h&&(d.token=h),p&&(d.refresh_token=p),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:dt(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(ht);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(ht,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(ht)}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)]),"clear"===r&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===r&&s.token&&await this.session.storeToken(s.token),s}catch(e){throw(e instanceof E&&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}}class ut{_privyInternal;constructor(e){this._privyInternal=e}async init(t){return this._privyInternal.fetch(e.RecoveryOAuthInitICloud,{body:{client_type:t}})}}class yt{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t){const r=T(),s=S(),a=await C({codeVerifier:r,digest:this._crypto?.digest});return await Promise.all([this._storage.put(x,r),this._storage.put(P,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(P)]);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(P)]),i}}class mt{_privyInternal;auth;icloudAuth;constructor(e,t,r){this._privyInternal=e,this.auth=new yt(this._privyInternal,t,r),this.icloudAuth=new ut(this._privyInternal)}}class _t{_privyInternal;constructor(e){this._privyInternal=e}async get(){try{const{user:e}=await this._privyInternal.refreshSession();return{user:e}}catch(e){throw e}}}const wt=["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=wt,exports.DEFAULT_SUPPORTED_CHAINS=he,exports.DEFAULT_SUPPORTED_CHAIN_IDS=pe,exports.EmbeddedProviderError=ge,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=E,exports.PrivyClientError=I,exports.PrivyConnectorError=ve,exports.PrivyProviderRpcError=ke,exports.ProviderErrors=fe,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 ke("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 ke("maxFeePerGas was not successfully set for transaction of type 2.");s=Ie(e.maxFeePerGas)}else{if(!e.gasPrice)throw new ke("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&&Fe(e.chainId))try{c=await async function(e,t){if(!e.chainId||e.chainId&&!Fe(e.chainId))return i.BigNumber.from(0);let r=i.BigNumber.from(0);try{const s=new n.Contract(Re,Ue,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=de,exports.convertBigNumberish=Pe,exports.default=class{auth;user;embeddedWallet;recovery;_privyInternal;constructor({clientId:e,...t}){this._privyInternal=new pt({...t,appClientId:e}),this.user=new _t(this._privyInternal),this.auth=new N(this._privyInternal,t.storage,t.crypto),this.embeddedWallet=new et(this._privyInternal,t.embeddedWalletMessagePoster,t.supportedChains),this.recovery=new mt(this._privyInternal,t.storage,t.crypto)}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}getAccessToken(){return this._privyInternal.getAccessToken()}},exports.errorIndicatesRecoveryIsNeeded=be,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;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -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/index.ts","../src/embedded/utils/gas.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/utils/getHttpOnlyHeaderCookies.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"],"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","callbacks","setUser","user","EmailApi","sendCode","email","PasswordlessInit","loginWithCode","code","PasswordlessAuthenticate","linkWithCode","PasswordlessLink","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","storedStateCode","get","createAnalyticsEvent","flow","OAuthAuthenticate","authorization_code","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","Number","toString","init","domain","uri","SiweInit","nonce","opts","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","getJsonRpcProvider","chains","rpcConfig","options","chainIdInt","rpcProvider","privyWalletOverride","StaticJsonRpcProvider","appId","isHexString","test","isValidQuantity","validNumber","validBigInt","validHexString","populateTransactionRequest","hexStringProperties","prop","txRequestQuantity","validateTransactionRequest","signer","VoidSigner","getTransactionCount","gas","estimateGas","txRequestWithoutFrom","retryError","defaultGasLimit","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","expiringPromise","promise","msg","race","_","reject","EVENT_CALLBACK_QUEUE","enqueue","eventId","dequeue","EmbeddedWalletProxy","ready","cache","_embeddedWalletMessagePoster","embeddedWalletMessagePoster","Map","ping","timeoutMs","DEFAULT_WALLET_PROXY_TIMEOUT_MS","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","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","recoveryPassword","recoveryAccessToken","refreshSession","hasEmbeddedWallet","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","recovery_method","getProvider","_load","getSolanaProvider","_loadSolana","setPassword","recoveryArgs","getURL","URL","baseUrl","caid","searchParams","append","appClientId","href","getMessageHandler","err","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","SESSION_COOKIE_KEY","FORKED_TOKEN_STORAGE_KEY","events","Session","static","_isUsingServerCookies","o","isUsingServerCookies","getToken","refreshToken","getForkedToken","forkedToken","mightHaveServerCookies","sessionToken","Cookies","length","hasRefreshCredentials","hasRecoveryCredentials","tokenIsActive","tokenRaw","clearForkedToken","previousToken","sameSite","secure","expires","cookiesEnabled","remove","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","httpOnlyToken","httpOnlyRefreshToken","setCookieHeaderValue","parseCookies","splitCookiesString","reduce","httpOnly","getHttpOnlyHeaderCookies","_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","RecoveryOAuthApi","RecoveryOAuthInit","authorize","RecoveryOAuthAuthenticate","RecoveryApi","auth","icloudAuth","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","chain_type"],"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/index.ts","../src/embedded/utils/gas.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/utils/getHttpOnlyHeaderCookies.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"],"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","callbacks","setUser","user","EmailApi","sendCode","email","PasswordlessInit","loginWithCode","code","PasswordlessAuthenticate","linkWithCode","PasswordlessLink","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","storedStateCode","get","createAnalyticsEvent","flow","OAuthAuthenticate","authorization_code","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","Number","toString","init","domain","uri","SiweInit","nonce","opts","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","getJsonRpcProvider","chains","rpcConfig","options","chainIdInt","rpcProvider","privyWalletOverride","StaticJsonRpcProvider","appId","isHexString","test","isValidQuantity","validNumber","validBigInt","validHexString","populateTransactionRequest","hexStringProperties","prop","txRequestQuantity","validateTransactionRequest","signer","VoidSigner","getTransactionCount","gas","estimateGas","txRequestWithoutFrom","retryError","defaultGasLimit","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","expiringPromise","promise","msg","race","_","reject","EVENT_CALLBACK_QUEUE","enqueue","eventId","dequeue","EmbeddedWalletProxy","ready","cache","_embeddedWalletMessagePoster","embeddedWalletMessagePoster","Map","ping","timeoutMs","DEFAULT_WALLET_PROXY_TIMEOUT_MS","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","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","recoveryPassword","recoveryAccessToken","refreshSession","hasEmbeddedWallet","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","recovery_method","getProvider","_load","getSolanaProvider","_loadSolana","setPassword","recoveryArgs","getURL","URL","baseUrl","caid","searchParams","append","appClientId","href","getMessageHandler","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","SESSION_COOKIE_KEY","FORKED_TOKEN_STORAGE_KEY","events","Session","static","_isUsingServerCookies","o","isUsingServerCookies","getToken","refreshToken","getForkedToken","forkedToken","mightHaveServerCookies","sessionToken","Cookies","length","hasRefreshCredentials","hasRecoveryCredentials","tokenIsActive","tokenRaw","clearForkedToken","previousToken","sameSite","secure","expires","cookiesEnabled","remove","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","httpOnlyToken","httpOnlyRefreshToken","setCookieHeaderValue","parseCookies","splitCookiesString","reduce","httpOnly","getHttpOnlyHeaderCookies","_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","RecoveryOAuthApi","RecoveryOAuthInit","authorize","RecoveryOAuthAuthenticate","RecoveryApi","auth","icloudAuth","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","chain_type"],"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.23.
|
|
3
|
+
"version": "0.23.4",
|
|
4
4
|
"description": "Vanilla JS client for the Privy Auth API",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"keywords": [
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
"msw": "^2.0.13",
|
|
56
56
|
"rollup": "^4.14.0",
|
|
57
57
|
"text-encoding": "^0.7.0",
|
|
58
|
-
"ts-jest": "^29.1.1"
|
|
58
|
+
"ts-jest": "^29.1.1",
|
|
59
|
+
"typescript": "~5.5.3"
|
|
59
60
|
},
|
|
60
61
|
"dependencies": {
|
|
61
62
|
"@ethersproject/abstract-signer": "^5.7.0",
|
|
@@ -64,8 +65,8 @@
|
|
|
64
65
|
"@ethersproject/providers": "^5.7.2",
|
|
65
66
|
"@ethersproject/transactions": "^5.7.0",
|
|
66
67
|
"@ethersproject/units": "^5.7.0",
|
|
67
|
-
"@privy-io/api-base": "^1.2.
|
|
68
|
-
"@privy-io/public-api": "2.6.
|
|
68
|
+
"@privy-io/api-base": "^1.2.1",
|
|
69
|
+
"@privy-io/public-api": "2.6.2",
|
|
69
70
|
"eventemitter3": "^5.0.1",
|
|
70
71
|
"fetch-retry": "^5.0.6",
|
|
71
72
|
"jose": "^4.15.5",
|