@privy-io/js-sdk-core 0.24.1 → 0.24.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Error.js","sources":["../src/Error.ts"],"sourcesContent":[null],"names":["PrivyApiError","Error","error","code","constructor","super","this","PrivyClientError"],"mappings":"AAuCM,MAAOA,UAAsBC,MACjCC,MACAC,KAEA,WAAAC,EAAYF,MAACA,EAAKC,KAAEA,IAClBE,MAAMH,GACNI,KAAKJ,MAAQA,EACbI,KAAKH,KAAOA,CACb,EAGG,MAAOI,UAAyBN,MACpCC,MACAC,KAEA,WAAAC,EAAYF,MAACA,EAAKC,KAAEA,IAClBE,MAAMH,GACNI,KAAKH,KAAOA,EACZG,KAAKJ,MAAQA,CACd"}
1
+ {"version":3,"file":"Error.js","sources":["../src/Error.ts"],"sourcesContent":[null],"names":["PrivyApiError","Error","error","code","constructor","super","this","PrivyClientError"],"mappings":"AAwCM,MAAOA,UAAsBC,MACjCC,MACAC,KAEA,WAAAC,EAAYF,MAACA,EAAKC,KAAEA,IAClBE,MAAMH,GACNI,KAAKJ,MAAQA,EACbI,KAAKH,KAAOA,CACb,EAGG,MAAOI,UAAyBN,MACpCC,MACAC,KAEA,WAAAC,EAAYF,MAACA,EAAKC,KAAEA,IAClBE,MAAMH,GACNI,KAAKH,KAAOA,EACZG,KAAKJ,MAAQA,CACd"}
@@ -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.24.1";_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};
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.24.2";_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
@@ -1 +1 @@
1
- {"version":3,"file":"Session.js","sources":["../src/Session.ts"],"sourcesContent":[null],"names":["TOKEN_STORAGE_KEY","TOKEN_COOKIE_KEY","REFRESH_TOKEN_STORAGE_KEY","REFRESH_TOKEN_COOKIE_KEY","SESSION_COOKIE_KEY","FORKED_TOKEN_STORAGE_KEY","events","Session","EventEmitter","static","_storage","_isUsingServerCookies","constructor","o","super","this","storage","isUsingServerCookies","getToken","token","get","Token","value","error","console","destroyLocalState","reason","getRefreshToken","refreshToken","getForkedToken","forkedToken","mightHaveServerCookies","sessionToken","Cookies","undefined","length","hasRefreshCredentials","hasRecoveryCredentials","tokenIsActive","tokenRaw","parse","isExpired","opts","res","Promise","all","del","clearForkedToken","emit","storeToken","previousToken","put","exp","expiration","set","sameSite","secure","expires","Date","cookiesEnabled","remove","storeRefreshToken"],"mappings":"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"}
1
+ {"version":3,"file":"Session.js","sources":["../src/Session.ts"],"sourcesContent":[null],"names":["TOKEN_STORAGE_KEY","TOKEN_COOKIE_KEY","REFRESH_TOKEN_STORAGE_KEY","REFRESH_TOKEN_COOKIE_KEY","SESSION_COOKIE_KEY","FORKED_TOKEN_STORAGE_KEY","events","Session","EventEmitter","static","_storage","_isUsingServerCookies","constructor","o","super","this","storage","isUsingServerCookies","getToken","token","get","Token","value","error","console","destroyLocalState","reason","getRefreshToken","refreshToken","getForkedToken","forkedToken","mightHaveServerCookies","sessionToken","Cookies","undefined","length","hasRefreshCredentials","hasRecoveryCredentials","tokenIsActive","tokenRaw","parse","isExpired","opts","res","Promise","all","del","clearForkedToken","emit","storeToken","previousToken","put","exp","expiration","set","sameSite","secure","expires","Date","cookiesEnabled","remove","storeRefreshToken"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { PrivyErrorCode } from '@privy-io/api-base';
2
2
  type AuthAction = 'login' | 'link';
3
3
  type Method = 'email' | 'sms' | 'oauth' | 'siwe' | 'passkey' | 'farcaster';
4
- export type ClientErrorCode = `failed_to_complete_${AuthAction}_with_oauth` | `${AuthAction}_with_oauth_returned_with_invalid_credentials` | `${AuthAction}_with_oauth_was_cancelled_by_user` | 'attempted_rpc_call_before_logged_in' | 'attempted_submit_otp_before_sending' | 'attempted_to_set_password_before_connected' | 'attempted_to_set_password_but_password_already_set' | `attempted_login_with_${Method}_while_already_logged_in` | `attempted_link_${Method}_before_logged_in` | 'embedded_wallet_needs_recovery' | 'embedded_wallet_creation_error' | 'embedded_wallet_recovery_error' | 'embedded_wallet_set_password_error' | 'embedded_wallet_set_recovery_error' | 'unknown_embedded_wallet_error' | 'embedded_wallet_does_not_exist' | 'embedded_wallet_already_exists' | 'embedded_wallet_webview_not_loaded' | 'no_passkey_found_for_challenge' | 'pkce_state_code_mismatch' | 'failed_to_create_passkey' | 'failed_to_generate_farcaster_uri' | 'failed_to_generate_farcaster_channel_token' | 'farcaster_polling_timeout' | 'farcaster_polling_canceled' | 'unsupported_recovery_method' | 'third_party_auth_error';
4
+ export type ClientErrorCode = `failed_to_complete_${AuthAction}_with_oauth` | `${AuthAction}_with_oauth_returned_with_invalid_credentials` | `${AuthAction}_with_oauth_was_cancelled_by_user` | 'attempted_rpc_call_before_logged_in' | 'attempted_submit_otp_before_sending' | 'attempted_to_set_password_before_connected' | 'attempted_to_set_password_but_password_already_set' | `attempted_login_with_${Method}_while_already_logged_in` | `attempted_link_${Method}_before_logged_in` | 'embedded_wallet_needs_recovery' | 'embedded_wallet_creation_error' | 'embedded_wallet_recovery_error' | 'embedded_wallet_set_password_error' | 'embedded_wallet_set_recovery_error' | 'unknown_embedded_wallet_error' | 'embedded_wallet_does_not_exist' | 'embedded_wallet_already_exists' | 'embedded_wallet_webview_not_loaded' | 'embedded_wallet_request_error' | 'no_passkey_found_for_challenge' | 'pkce_state_code_mismatch' | 'failed_to_create_passkey' | 'failed_to_generate_farcaster_uri' | 'failed_to_generate_farcaster_channel_token' | 'farcaster_polling_timeout' | 'farcaster_polling_canceled' | 'unsupported_recovery_method' | 'third_party_auth_error';
5
5
  export type ErrorBody<T extends PrivyErrorCode | ClientErrorCode> = {
6
6
  error: string;
7
7
  code: T;
@@ -21,25 +21,25 @@ export default class PasskeyApi {
21
21
  alg: number;
22
22
  }[];
23
23
  timeout?: number | undefined;
24
+ extensions?: {
25
+ app_id?: string | undefined;
26
+ cred_props?: {
27
+ rk?: boolean | undefined;
28
+ } | undefined;
29
+ hmac_create_secret?: boolean | undefined;
30
+ } | undefined;
24
31
  exclude_credentials?: {
25
32
  type: string;
26
33
  id: string;
27
34
  transports?: string[] | undefined;
28
35
  }[] | undefined;
29
36
  authenticator_selection?: {
37
+ user_verification?: string | undefined;
30
38
  authenticator_attachment?: string | undefined;
31
39
  require_resident_key?: boolean | undefined;
32
40
  resident_key?: string | undefined;
33
- user_verification?: string | undefined;
34
41
  } | undefined;
35
42
  attestation?: string | undefined;
36
- extensions?: {
37
- app_id?: string | undefined;
38
- cred_props?: {
39
- rk?: boolean | undefined;
40
- } | undefined;
41
- hmac_create_secret?: boolean | undefined;
42
- } | undefined;
43
43
  };
44
44
  relying_party?: string | undefined;
45
45
  }>;
@@ -71,9 +71,9 @@ export default class UserApi {
71
71
  first_verified_at: number | null;
72
72
  latest_verified_at: number | null;
73
73
  telegram_user_id: string;
74
+ username?: string | null | undefined;
74
75
  first_name?: string | null | undefined;
75
76
  last_name?: string | null | undefined;
76
- username?: string | null | undefined;
77
77
  photo_url?: string | null | undefined;
78
78
  } | {
79
79
  type: "wallet";
@@ -12,7 +12,7 @@ import type { TypedMessage, MessageTypes } from '@metamask/eth-sig-util';
12
12
  import type { PrivyEthereumEmbeddedWalletAccount } from '@privy-io/public-api';
13
13
  export declare const SUPPORTED_JSON_RPC_METHODS: readonly ["eth_sign", "eth_populateTransactionRequest", "eth_signTransaction", "personal_sign", "eth_signTypedData_v4"];
14
14
  export type JsonRpcMethodType = (typeof SUPPORTED_JSON_RPC_METHODS)[number];
15
- export declare const isSupportedRpcMethod: (method: any) => method is "eth_sign" | "eth_populateTransactionRequest" | "eth_signTransaction" | "personal_sign" | "eth_signTypedData_v4";
15
+ export declare const isSupportedRpcMethod: (method: any) => method is JsonRpcMethodType;
16
16
  export type Quantity = string | number | bigint;
17
17
  export type UnsignedTransactionRequest = {
18
18
  from?: string;
@@ -126,7 +126,7 @@ export type RpcRequestType = eth_sendTransaction | eth_signTransaction | eth_pop
126
126
  export type RpcResponseType = eth_signTransactionResponse | eth_populateTransactionRequestResponse | eth_signResponse | personal_signResponse | eth_signTypedData_v4Response;
127
127
  declare const SUPPORTED_SOLANA_RPC_METHODS: readonly ["signMessage"];
128
128
  type SolanaRpcMethodType = (typeof SUPPORTED_SOLANA_RPC_METHODS)[number];
129
- export declare const isSupportedSolanaRpcMethod: (method: any) => method is "signMessage";
129
+ export declare const isSupportedSolanaRpcMethod: (method: any) => method is SolanaRpcMethodType;
130
130
  export interface BaseSolanaRpcRequestType {
131
131
  method: SolanaRpcMethodType;
132
132
  params: any;
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Given an array, convert it into an object with a supplied value per key
3
3
  */
4
- export declare const toObjectKeys: <TArray extends string[], TValue = true>(array: TArray, value?: TValue) => Record<TArray[number], TValue>;
4
+ export declare const toObjectKeys: <TArray extends Array<string>, TValue = true>(array: TArray, value?: TValue) => Record<TArray[number], TValue>;
@@ -1,2 +1,2 @@
1
- import t from"eventemitter3";import{EmbeddedProviderError as e}from"./errors.js";import{isSupportedIframeRpcMethod as s}from"./methods.js";import{getJsonRpcProvider as r,populateTransactionRequest as a}from"./utils/index.js";import"./types.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./gas/arbitrum.js";import"@ethersproject/bignumber";import"../chains/arbitrum.js";import"../chains/arbitrumGoerli.js";import"../chains/arbitrumSepolia.js";import"./utils/ethers.js";import"./gas/bsc.js";import"./gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"../chains/base.js";import"../chains/baseGoerli.js";import"../chains/baseSepolia.js";import"../chains/optimism.js";import"../chains/optimismGoerli.js";import"../chains/optimismSepolia.js";import"../chains/zora.js";import"../chains/zoraSepolia.js";import"../chains/zoraTestnet.js";import"./gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"../chains/polygon.js";import"../chains/polygonAmoy.js";import"../chains/polygonMumbai.js";import"./utils/gas.js";class i extends t{_walletProxy;_privyInternal;_address;_chainId;_chains;_jsonRpcProvider;constructor({walletProxy:t,privyInternal:e,address:s,chains:a,chainId:i=a[0].id}){super(),this._walletProxy=t,this._privyInternal=e,this._address=s,this._chainId=i,this._chains=a,this._jsonRpcProvider=r(i,a,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(t){if(s(t.method))return this.handleIFrameRpc(t);switch(t.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(t);case"eth_estimateGas":return this.handleEstimateGas(t);case"eth_sendTransaction":{const e=t.params?.[0];return this.handleSendTransaction(e)}case"eth_populateTransactionRequest":{const e=t.params?.[0];return this.handlePopulateTransaction(e)}default:return this.handleJsonRpc(t)}}ensureChainId(t){const e={chainId:this._chainId,...t};return this.internalSwitchEthereumChain(e.chainId),e}internalSwitchEthereumChain(t){t&&Number(t)!==this._chainId&&(this._chainId=Number(t),this._jsonRpcProvider=r(this._chainId,this._chains,{rpcUrls:[]},{appId:this._privyInternal.appId}),this.emit("chainChanged",t))}async handlePopulateTransaction(t){const e=this.ensureChainId(t);return a(this._address,e,this._jsonRpcProvider)}async handleSendTransaction(t){const e=this.ensureChainId(t),s=await a(this._address,e,this._jsonRpcProvider),r=await this.handleIFrameRpc({method:"eth_signTransaction",params:[s]});return await this.handleJsonRpc({method:"eth_sendRawTransaction",params:[r]})}async handleEstimateGas(t){if(!t.params||!Array.isArray(t.params))throw new Error("Invalid params for eth_estimateGas");delete t.params[0].gasPrice,delete t.params[0].maxFeePerGas,delete t.params[0].maxPriorityFeePerGas;const e={...t.params[0],chainId:`0x${this._chainId.toString(16)}`};this.internalSwitchEthereumChain(e.chainId);try{return await this._jsonRpcProvider.send("eth_estimateGas",[e])}catch(t){console.warn(`Gas estimation failed with error: ${t}. Retrying gas estimation by omitting the 'from' address`);try{return delete e.from,await this._jsonRpcProvider.send("eth_estimateGas",[e])}catch(e){throw console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),t}}}handleSwitchEthereumChain(t){if(!t.params||!Array.isArray(t.params))throw new e(`Invalid params for ${t.method}`,4200);let s;if("string"==typeof t.params[0])s=t.params[0];else{if(!("chainId"in t.params[0])||"string"!=typeof t.params[0].chainId)throw new e(`Invalid params for ${t.method}`,4200);s=t.params[0].chainId}this.internalSwitchEthereumChain(s)}async handleIFrameRpc(t){try{const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("Missing privy token. User must be logged in");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:t.method,address:this._address});const s=await this._walletProxy.rpc({request:t,address:this._address,accessToken:e});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:t.method,address:this._address}),s.response.data}catch(e){throw console.error(e),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:t.method,address:this._address,error:e instanceof Error?e.message:"Unable to make wallet request"}),new Error("Unable to make wallet request")}}async handleJsonRpc(t){return this._jsonRpcProvider.send(t.method,t.params??[])}toJSON(){return`PrivyEIP1193Provider { address: '${this._address}', chainId: ${this._chainId}, request: [Function] }`}}export{i as EmbeddedWalletProvider};
1
+ import t from"eventemitter3";import{PrivyClientError as e}from"../Error.js";import{EmbeddedProviderError as r}from"./errors.js";import{isSupportedIframeRpcMethod as s}from"./methods.js";import{getJsonRpcProvider as a,populateTransactionRequest as i}from"./utils/index.js";import"./types.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./gas/arbitrum.js";import"@ethersproject/bignumber";import"../chains/arbitrum.js";import"../chains/arbitrumGoerli.js";import"../chains/arbitrumSepolia.js";import"./utils/ethers.js";import"./gas/bsc.js";import"./gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"../chains/base.js";import"../chains/baseGoerli.js";import"../chains/baseSepolia.js";import"../chains/optimism.js";import"../chains/optimismGoerli.js";import"../chains/optimismSepolia.js";import"../chains/zora.js";import"../chains/zoraSepolia.js";import"../chains/zoraTestnet.js";import"./gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"../chains/polygon.js";import"../chains/polygonAmoy.js";import"../chains/polygonMumbai.js";import"./utils/gas.js";class n extends t{_walletProxy;_privyInternal;_address;_chainId;_chains;_jsonRpcProvider;constructor({walletProxy:t,privyInternal:e,address:r,chains:s,chainId:i=s[0].id}){super(),this._walletProxy=t,this._privyInternal=e,this._address=r,this._chainId=i,this._chains=s,this._jsonRpcProvider=a(i,s,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(t){if(s(t.method))return this.handleIFrameRpc(t);switch(t.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(t);case"eth_estimateGas":return this.handleEstimateGas(t);case"eth_sendTransaction":{const e=t.params?.[0];return this.handleSendTransaction(e)}case"eth_populateTransactionRequest":{const e=t.params?.[0];return this.handlePopulateTransaction(e)}default:return this.handleJsonRpc(t)}}ensureChainId(t){const e={chainId:this._chainId,...t};return this.internalSwitchEthereumChain(e.chainId),e}internalSwitchEthereumChain(t){t&&Number(t)!==this._chainId&&(this._chainId=Number(t),this._jsonRpcProvider=a(this._chainId,this._chains,{rpcUrls:[]},{appId:this._privyInternal.appId}),this.emit("chainChanged",t))}async handlePopulateTransaction(t){const e=this.ensureChainId(t);return i(this._address,e,this._jsonRpcProvider)}async handleSendTransaction(t){const e=this.ensureChainId(t),r=await i(this._address,e,this._jsonRpcProvider),s=await this.handleIFrameRpc({method:"eth_signTransaction",params:[r]});return await this.handleJsonRpc({method:"eth_sendRawTransaction",params:[s]})}async handleEstimateGas(t){if(!t.params||!Array.isArray(t.params))throw new Error("Invalid params for eth_estimateGas");delete t.params[0].gasPrice,delete t.params[0].maxFeePerGas,delete t.params[0].maxPriorityFeePerGas;const e={...t.params[0],chainId:`0x${this._chainId.toString(16)}`};this.internalSwitchEthereumChain(e.chainId);try{return await this._jsonRpcProvider.send("eth_estimateGas",[e])}catch(t){console.warn(`Gas estimation failed with error: ${t}. Retrying gas estimation by omitting the 'from' address`);try{return delete e.from,await this._jsonRpcProvider.send("eth_estimateGas",[e])}catch(e){throw console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),t}}}handleSwitchEthereumChain(t){if(!t.params||!Array.isArray(t.params))throw new r(`Invalid params for ${t.method}`,4200);let e;if("string"==typeof t.params[0])e=t.params[0];else{if(!("chainId"in t.params[0])||"string"!=typeof t.params[0].chainId)throw new r(`Invalid params for ${t.method}`,4200);e=t.params[0].chainId}this.internalSwitchEthereumChain(e)}async handleIFrameRpc(t){try{const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("Missing privy token. User must be logged in");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:t.method,address:this._address});const r=await this._walletProxy.rpc({request:t,address:this._address,accessToken:e});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:t.method,address:this._address}),r.response.data}catch(r){console.error(r);const s=r instanceof Error?r.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:t.method,address:this._address,error:s}),new e({code:"embedded_wallet_request_error",error:s})}}async handleJsonRpc(t){return this._jsonRpcProvider.send(t.method,t.params??[])}toJSON(){return`PrivyEIP1193Provider { address: '${this._address}', chainId: ${this._chainId}, request: [Function] }`}}export{n as EmbeddedWalletProvider};
2
2
  //# sourceMappingURL=EmbeddedWalletProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddedWalletProvider.js","sources":["../../src/embedded/EmbeddedWalletProvider.ts"],"sourcesContent":[null],"names":["EmbeddedWalletProvider","EventEmitter","_walletProxy","_privyInternal","_address","_chainId","_chains","_jsonRpcProvider","constructor","walletProxy","privyInternal","address","chains","chainId","id","super","this","getJsonRpcProvider","rpcUrls","appId","request","isSupportedIframeRpcMethod","method","handleIFrameRpc","toString","handleSwitchEthereumChain","handleEstimateGas","data","params","handleSendTransaction","handlePopulateTransaction","handleJsonRpc","ensureChainId","tx","ensureTxChainId","internalSwitchEthereumChain","Number","emit","txRequest","populateTransactionRequest","populatedTx","signedTx","args","Array","isArray","Error","gasPrice","maxFeePerGas","maxPriorityFeePerGas","send","error","console","warn","from","retryError","EmbeddedProviderError","newChain","token","getAccessToken","createAnalyticsEvent","result","rpc","accessToken","response","message","toJSON"],"mappings":"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"}
1
+ {"version":3,"file":"EmbeddedWalletProvider.js","sources":["../../src/embedded/EmbeddedWalletProvider.ts"],"sourcesContent":[null],"names":["EmbeddedWalletProvider","EventEmitter","_walletProxy","_privyInternal","_address","_chainId","_chains","_jsonRpcProvider","constructor","walletProxy","privyInternal","address","chains","chainId","id","super","this","getJsonRpcProvider","rpcUrls","appId","request","isSupportedIframeRpcMethod","method","handleIFrameRpc","toString","handleSwitchEthereumChain","handleEstimateGas","data","params","handleSendTransaction","handlePopulateTransaction","handleJsonRpc","ensureChainId","tx","ensureTxChainId","internalSwitchEthereumChain","Number","emit","txRequest","populateTransactionRequest","populatedTx","signedTx","args","Array","isArray","Error","gasPrice","maxFeePerGas","maxPriorityFeePerGas","send","error","console","warn","from","retryError","EmbeddedProviderError","newChain","token","getAccessToken","createAnalyticsEvent","result","rpc","accessToken","response","message","PrivyClientError","code","toJSON"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{EmbeddedWalletProvider}from"./EmbeddedWalletProvider.js";export{EmbeddedSolanaWalletProvider}from"./EmbeddedSolanaWalletProvider.js";export{EmbeddedWalletProxy}from"./EmbeddedWalletProxy.js";import"eventemitter3";import"./errors.js";import"./types.js";import"./methods.js";import"./utils/index.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./gas/arbitrum.js";import"@ethersproject/bignumber";import"../chains/arbitrum.js";import"../chains/arbitrumGoerli.js";import"../chains/arbitrumSepolia.js";import"./utils/ethers.js";import"./gas/bsc.js";import"./gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"../chains/base.js";import"../chains/baseGoerli.js";import"../chains/baseSepolia.js";import"../chains/optimism.js";import"../chains/optimismGoerli.js";import"../chains/optimismSepolia.js";import"../chains/zora.js";import"../chains/zoraSepolia.js";import"../chains/zoraTestnet.js";import"./gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"../chains/polygon.js";import"../chains/polygonAmoy.js";import"../chains/polygonMumbai.js";import"./utils/gas.js";import"../Error.js";import"./EventCallbackQueue.js";
1
+ export{EmbeddedWalletProvider}from"./EmbeddedWalletProvider.js";export{EmbeddedSolanaWalletProvider}from"./EmbeddedSolanaWalletProvider.js";export{EmbeddedWalletProxy}from"./EmbeddedWalletProxy.js";import"eventemitter3";import"../Error.js";import"./errors.js";import"./types.js";import"./methods.js";import"./utils/index.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./gas/arbitrum.js";import"@ethersproject/bignumber";import"../chains/arbitrum.js";import"../chains/arbitrumGoerli.js";import"../chains/arbitrumSepolia.js";import"./utils/ethers.js";import"./gas/bsc.js";import"./gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"../chains/base.js";import"../chains/baseGoerli.js";import"../chains/baseSepolia.js";import"../chains/optimism.js";import"../chains/optimismGoerli.js";import"../chains/optimismSepolia.js";import"../chains/zora.js";import"../chains/zoraSepolia.js";import"../chains/zoraTestnet.js";import"./gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"../chains/polygon.js";import"../chains/polygonAmoy.js";import"../chains/polygonMumbai.js";import"./utils/gas.js";import"./EventCallbackQueue.js";
2
2
  //# sourceMappingURL=index.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"),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,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const o=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});return await Promise.all([this._privyInternal.session.storeToken(o.token),this._privyInternal.session.storeRefreshToken(o.refresh_token)]),this._privyInternal.callbacks?.setUser?.(o.user),await Promise.all([this._storage.del(x),this._storage.del(P)]),o}async linkWithCode(t,r,s,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const o=await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});return this._privyInternal.callbacks?.setUser?.(o),await Promise.all([this._storage.del(x),this._storage.del(P)]),o}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 O{_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 N={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"}}},K={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},V={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:K,sepolia:ne,arbitrum:N,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:V,redstone:ae,garnetHolesky:J,redstoneHolesky:ie,zora:oe,zoraSepolia:ce,zoraTestnet:le},he=[Z,K,ne,N,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,V,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=>[N.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 Oe={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},Ne=v.default(fetch,{retries:3,retryDelay:500}),Le=e=>[re.id,se.id,Oe.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 Oe.id:t="https://gasstation.polygon.technology/amoy";break;default:throw Error(`chainId ${e} does not support polygon gas stations`)}const r=await Ne(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=(Ke=0,()=>"id-"+Ke++);var Ke;const Ve=(e,t)=>"bigint"==typeof t?t.toString():t,Ye=e=>new Promise((t=>{setTimeout(t,e)})),Qe=(e,{ms:t,msg:r})=>Promise.race([e,new Promise(((e,s)=>{setTimeout((()=>{s(new Error(r))}),t??15e3)}))]),Ze=new class{callbacks={};enqueue(e,t){this.callbacks[e]=t}dequeue(e,t){const r=this.callbacks[t];if(!r)throw new Error(`cannot dequeue ${e} event: no event found for id ${t}`);switch(delete this.callbacks[t],e){case"privy:iframe:ready":case"privy:wallet:create":case"privy:wallet:connect":case"privy:wallet:recover":case"privy:wallet:rpc":case"privy:wallet:set-recovery":case"privy:solana-wallet:create":case"privy:solana-wallet:connect":case"privy:solana-wallet:recover":case"privy:solana-wallet:rpc":return r;default:throw new Error(`invalid wallet event type ${e}`)}}};class Xe{ready;cache;_embeddedWalletMessagePoster;constructor(e){this.ready=!1,this.cache=new Map,this._embeddedWalletMessagePoster=e}ping(e=15e3){return Qe(this.invoke("privy:iframe:ready",{},this._embeddedWalletMessagePoster),{msg:"Ping reached timeout",ms:e})}create(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connect(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recover(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}setRecovery(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:set-recovery",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: setRecovery",ms:6e4})}rpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}createSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connectSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recoverSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}solanaRpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}handleEmbeddedWalletMessages(e){switch(e.event){case"privy:iframe:ready":const t=Ze.dequeue(e.event,e.id);return Be(e)?t.reject(new 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,Ve)}`)(e,t);if("privy:wallet:create"===e||"privy:solana-wallet:create"===e){const e=this.cache.get(s);if(e)return e}const a=new Promise(((s,a)=>{const i=Je();Ze.enqueue(i,{resolve:s,reject:a}),r.postMessage(JSON.stringify({id:i,event:e,data:t}),"*")})).finally((()=>{this.cache.delete(s)}));return this.cache.set(s,a),a}}class et{_privyInternal;_proxy;_chains=Array.from(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(e){if(!this._proxy)throw new I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});if(e?.ethereumAccount){if("privy"!==e.ethereumAccount.recovery_method)throw new I({error:"Cannot create Solana wallet for user with Ethereum wallet with user-controlled recovery",code:"embedded_wallet_creation_error"});await this.getProvider(e.ethereumAccount)}const{publicKey:r}=await this._proxy.createSolana({accessToken:t,ethereumAddress:e?.ethereumAccount?.address});if(!r)throw new I({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new $e({publicKey:r,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");return!!this._getEmbeddedWallet(e)}async isPasswordRequired(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");const r=this._getEmbeddedWallet(e);if(!r)return!1;if("privy"===r.recovery_method)return!1;try{return await this._proxy.connect({accessToken:t,address:r.address}),!1}catch(e){return 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 I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this._loadSolana(e);return new $e({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,t){const{provider:r}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:t});return r}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");ze({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod: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");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:e.address,recovery_method:e.recovery_method});try{await this._proxy.setRecovery({accessToken:s,address:r,recoveryMethod:t.recoveryMethod,recoveryPassword:"user-passcode"===t.recoveryMethod?t.password:void 0,recoveryAccessToken:"google-drive"===t.recoveryMethod||"icloud"===t.recoveryMethod?t.recoveryAccessToken:void 0}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:e.address,recovery_method:e.recovery_method});const{user:a}=await this._privyInternal.refreshSession();return{user:a,provider:new He({address:r,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(t){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:t instanceof Error?t.message:"Unable to recover wallet"}),t}}getURL(){const e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append("caid",this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append("client_id",this._privyInternal.appClientId),e.href}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}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.24.1";_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 O(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,exports.toObjectKeys=(e,t=!0)=>e.reduce(((e,r)=>({...e,[r]:t})),{});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),t=require("jose"),r=require("eventemitter3"),s=require("@ethersproject/abstract-signer"),a=require("@ethersproject/providers"),i=require("@ethersproject/bignumber"),n=require("@ethersproject/contracts"),o=require("@ethersproject/transactions"),c=require("@ethersproject/units"),l=require("fetch-retry"),d=require("uuid"),h=require("@privy-io/api-base"),p=require("js-cookie"),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,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const o=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});return await Promise.all([this._privyInternal.session.storeToken(o.token),this._privyInternal.session.storeRefreshToken(o.refresh_token)]),this._privyInternal.callbacks?.setUser?.(o.user),await Promise.all([this._storage.del(x),this._storage.del(P)]),o}async linkWithCode(t,r,s,a){const[i,n]=await Promise.all([this._storage.get(x),this._storage.get(P)]);if(n!==r)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:s,storedStateCode:n??"",returnedStateCode:r??""}),new I({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const o=await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:t,code_type:a,state_code:n,code_verifier:i}});return this._privyInternal.callbacks?.setUser?.(o),await Promise.all([this._storage.del(x),this._storage.del(P)]),o}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 O{_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 N={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"}}},K={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},V={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:K,sepolia:ne,arbitrum:N,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:V,redstone:ae,garnetHolesky:J,redstoneHolesky:ie,zora:oe,zoraSepolia:ce,zoraTestnet:le},he=[Z,K,ne,N,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,V,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=>[N.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 Oe={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},Ne=v.default(fetch,{retries:3,retryDelay:500}),Le=e=>[re.id,se.id,Oe.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 Oe.id:t="https://gasstation.polygon.technology/amoy";break;default:throw Error(`chainId ${e} does not support polygon gas stations`)}const r=await Ne(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){console.error(t);const r=t instanceof Error?t.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:e.method,address:this._address,error:r}),new I({code:"embedded_wallet_request_error",error:r})}}async handleJsonRpc(e){return this._jsonRpcProvider.send(e.method,e.params??[])}toJSON(){return`PrivyEIP1193Provider { address: '${this._address}', chainId: ${this._chainId}, request: [Function] }`}}class $e{_walletProxy;_privyInternal;_publicKey;constructor({walletProxy:e,privyInternal:t,publicKey:r}){this._walletProxy=e,this._privyInternal=t,this._publicKey=r}async request(e){const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"Missing access token",code:"attempted_rpc_call_before_logged_in"});return(await this._walletProxy.solanaRpc({accessToken:t,request:e,publicKey:this._publicKey})).response.data}}function Be(e){return void 0!==e.error}const Je=(Ke=0,()=>"id-"+Ke++);var Ke;const Ve=(e,t)=>"bigint"==typeof t?t.toString():t,Ye=e=>new Promise((t=>{setTimeout(t,e)})),Qe=(e,{ms:t,msg:r})=>Promise.race([e,new Promise(((e,s)=>{setTimeout((()=>{s(new Error(r))}),t??15e3)}))]),Ze=new class{callbacks={};enqueue(e,t){this.callbacks[e]=t}dequeue(e,t){const r=this.callbacks[t];if(!r)throw new Error(`cannot dequeue ${e} event: no event found for id ${t}`);switch(delete this.callbacks[t],e){case"privy:iframe:ready":case"privy:wallet:create":case"privy:wallet:connect":case"privy:wallet:recover":case"privy:wallet:rpc":case"privy:wallet:set-recovery":case"privy:solana-wallet:create":case"privy:solana-wallet:connect":case"privy:solana-wallet:recover":case"privy:solana-wallet:rpc":return r;default:throw new Error(`invalid wallet event type ${e}`)}}};class Xe{ready;cache;_embeddedWalletMessagePoster;constructor(e){this.ready=!1,this.cache=new Map,this._embeddedWalletMessagePoster=e}ping(e=15e3){return Qe(this.invoke("privy:iframe:ready",{},this._embeddedWalletMessagePoster),{msg:"Ping reached timeout",ms:e})}create(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connect(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recover(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}setRecovery(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:set-recovery",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: setRecovery",ms:6e4})}rpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}createSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: create"})}connectSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:connect",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: connect"})}recoverSolana(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:recover",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: recover",ms:6e4})}solanaRpc(e){return Qe(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:rpc",e,this._embeddedWalletMessagePoster))),{msg:"Operation reached timeout: rpc"})}handleEmbeddedWalletMessages(e){switch(e.event){case"privy:iframe:ready":const t=Ze.dequeue(e.event,e.id);return Be(e)?t.reject(new 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,Ve)}`)(e,t);if("privy:wallet:create"===e||"privy:solana-wallet:create"===e){const e=this.cache.get(s);if(e)return e}const a=new Promise(((s,a)=>{const i=Je();Ze.enqueue(i,{resolve:s,reject:a}),r.postMessage(JSON.stringify({id:i,event:e,data:t}),"*")})).finally((()=>{this.cache.delete(s)}));return this.cache.set(s,a),a}}class et{_privyInternal;_proxy;_chains=Array.from(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(e){if(!this._proxy)throw new I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new I({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});if(e?.ethereumAccount){if("privy"!==e.ethereumAccount.recovery_method)throw new I({error:"Cannot create Solana wallet for user with Ethereum wallet with user-controlled recovery",code:"embedded_wallet_creation_error"});await this.getProvider(e.ethereumAccount)}const{publicKey:r}=await this._proxy.createSolana({accessToken:t,ethereumAddress:e?.ethereumAccount?.address});if(!r)throw new I({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new $e({publicKey:r,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");return!!this._getEmbeddedWallet(e)}async isPasswordRequired(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const{user:e,token:t}=await this._privyInternal.refreshSession();if(!e||!t)throw new Error("User must be logged in to interact with embedded wallets");const r=this._getEmbeddedWallet(e);if(!r)return!1;if("privy"===r.recovery_method)return!1;try{return await this._proxy.connect({accessToken:t,address:r.address}),!1}catch(e){return 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 I({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this._loadSolana(e);return new $e({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,t){const{provider:r}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:t});return r}async setRecovery({wallet:e,...t}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");ze({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod: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");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:e.address,recovery_method:e.recovery_method});try{await this._proxy.setRecovery({accessToken:s,address:r,recoveryMethod:t.recoveryMethod,recoveryPassword:"user-passcode"===t.recoveryMethod?t.password:void 0,recoveryAccessToken:"google-drive"===t.recoveryMethod||"icloud"===t.recoveryMethod?t.recoveryAccessToken:void 0}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:e.address,recovery_method:e.recovery_method});const{user:a}=await this._privyInternal.refreshSession();return{user:a,provider:new He({address:r,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(t){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:t instanceof Error?t.message:"Unable to recover wallet"}),t}}getURL(){const e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append("caid",this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append("client_id",this._privyInternal.appClientId),e.href}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}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.24.2";_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 O(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,exports.toObjectKeys=(e,t=!0)=>e.reduce(((e,r)=>({...e,[r]:t})),{});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/CustomProviderApi.ts","../src/EmailApi.ts","../src/FarcasterApi.ts","../src/Error.ts","../src/pkce.ts","../src/OAuthApi.ts","../src/PasskeyApi.ts","../src/PhoneApi.ts","../src/SiweApi.ts","../src/AuthApi.ts","../src/chains/arbitrum.ts","../src/chains/arbitrumGoerli.ts","../src/chains/arbitrumSepolia.ts","../src/chains/avalanche.ts","../src/chains/avalancheFuji.ts","../src/chains/base.ts","../src/chains/baseGoerli.ts","../src/chains/baseSepolia.ts","../src/chains/celo.ts","../src/chains/celoAlfajores.ts","../src/chains/filecoin.ts","../src/chains/filecoinCalibration.ts","../src/chains/garnetHolesky.ts","../src/chains/goerli.ts","../src/chains/holesky.ts","../src/chains/linea.ts","../src/chains/lineaTestnet.ts","../src/chains/mainnet.ts","../src/chains/optimism.ts","../src/chains/optimismGoerli.ts","../src/chains/optimismSepolia.ts","../src/chains/polygon.ts","../src/chains/polygonMumbai.ts","../src/chains/redstone.ts","../src/chains/redstoneHolesky.ts","../src/chains/sepolia.ts","../src/chains/zora.ts","../src/chains/zoraSepolia.ts","../src/chains/zoraTestnet.ts","../src/chains/index.ts","../src/chains/berachainArtio.ts","../src/embedded/types.ts","../src/embedded/errors.ts","../src/embedded/methods.ts","../src/embedded/utils/ethers.ts","../src/embedded/gas/arbitrum.ts","../src/embedded/gas/bsc.ts","../src/embedded/gas/op-stack.ts","../src/chains/polygonAmoy.ts","../src/embedded/gas/polygon.ts","../src/embedded/utils/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","../src/utils/toObjectKeys.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,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","codeType","storedStateCode","get","createAnalyticsEvent","flow","OAuthAuthenticate","authorization_code","code_type","code_verifier","del","OAuthLink","subject","OAuthUnlink","PasskeyApi","generateRegistrationOptions","PasskeyLinkInit","generateAuthenticationOptions","PasskeyAuthenticateInit","loginWithPasskey","input","challenge","PasskeyAuthenticate","authenticator_response","type","id","raw_id","rawId","response","client_data_json","clientDataJSON","authenticator_data","authenticatorData","user_handle","userHandle","undefined","authenticator_attachment","authenticatorAttachment","client_extension_results","app_id","clientExtensionResults","appid","cred_props","credProps","hmac_create_secret","hmacCreateSecret","linkWithPasskey","PasskeyLink","attestation_object","attestationObject","transports","public_key","publicKey","public_key_algorithm","publicKeyAlgorithm","PhoneApi","phoneNumber","PasswordlessSmsInit","PasswordlessSmsAuthenticate","PasswordlessSmsLink","PasswordlessSmsUnlink","SiweApi","_wallet","_preparedMessage","linkWithSiwe","walletOverride","messageOverride","wallet","SiweLink","chainId","walletClientType","connectorType","loginWithSiwe","SiweAuthenticate","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","withTimeout","promise","msg","race","_","reject","EVENT_CALLBACK_QUEUE","enqueue","eventId","dequeue","EmbeddedWalletProxy","ready","cache","_embeddedWalletMessagePoster","embeddedWalletMessagePoster","Map","ping","timeoutMs","invoke","create","waitForReady","then","connect","recover","setRecovery","createSolana","connectSolana","recoverSolana","handleEmbeddedWalletMessages","readyCallbacks","createCallbacks","connectCallbacks","recoverCallbacks","rpcCallbacks","cb","createSolanaCallbacks","connectSolanaCallbacks","recoverSolanaCallbacks","rpcSolanaCallbacks","catch","key","JSON","stringify","serialize","cached","postMessage","finally","delete","set","EmbeddedWalletApi","_proxy","setMessagePoster","poster","password","recoveryMethod","recoveryToken","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","recoveryPassword","recoveryAccessToken","refreshSession","ethereumAccount","recovery_method","getProvider","ethereumAddress","hasEmbeddedWallet","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","_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","array","acc","curr"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/CustomProviderApi.ts","../src/EmailApi.ts","../src/FarcasterApi.ts","../src/Error.ts","../src/pkce.ts","../src/OAuthApi.ts","../src/PasskeyApi.ts","../src/PhoneApi.ts","../src/SiweApi.ts","../src/AuthApi.ts","../src/chains/arbitrum.ts","../src/chains/arbitrumGoerli.ts","../src/chains/arbitrumSepolia.ts","../src/chains/avalanche.ts","../src/chains/avalancheFuji.ts","../src/chains/base.ts","../src/chains/baseGoerli.ts","../src/chains/baseSepolia.ts","../src/chains/celo.ts","../src/chains/celoAlfajores.ts","../src/chains/filecoin.ts","../src/chains/filecoinCalibration.ts","../src/chains/garnetHolesky.ts","../src/chains/goerli.ts","../src/chains/holesky.ts","../src/chains/linea.ts","../src/chains/lineaTestnet.ts","../src/chains/mainnet.ts","../src/chains/optimism.ts","../src/chains/optimismGoerli.ts","../src/chains/optimismSepolia.ts","../src/chains/polygon.ts","../src/chains/polygonMumbai.ts","../src/chains/redstone.ts","../src/chains/redstoneHolesky.ts","../src/chains/sepolia.ts","../src/chains/zora.ts","../src/chains/zoraSepolia.ts","../src/chains/zoraTestnet.ts","../src/chains/index.ts","../src/chains/berachainArtio.ts","../src/embedded/types.ts","../src/embedded/errors.ts","../src/embedded/methods.ts","../src/embedded/utils/ethers.ts","../src/embedded/gas/arbitrum.ts","../src/embedded/gas/bsc.ts","../src/embedded/gas/op-stack.ts","../src/chains/polygonAmoy.ts","../src/embedded/gas/polygon.ts","../src/embedded/utils/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","../src/utils/toObjectKeys.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,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","codeType","storedStateCode","get","createAnalyticsEvent","flow","OAuthAuthenticate","authorization_code","code_type","code_verifier","del","OAuthLink","subject","OAuthUnlink","PasskeyApi","generateRegistrationOptions","PasskeyLinkInit","generateAuthenticationOptions","PasskeyAuthenticateInit","loginWithPasskey","input","challenge","PasskeyAuthenticate","authenticator_response","type","id","raw_id","rawId","response","client_data_json","clientDataJSON","authenticator_data","authenticatorData","user_handle","userHandle","undefined","authenticator_attachment","authenticatorAttachment","client_extension_results","app_id","clientExtensionResults","appid","cred_props","credProps","hmac_create_secret","hmacCreateSecret","linkWithPasskey","PasskeyLink","attestation_object","attestationObject","transports","public_key","publicKey","public_key_algorithm","publicKeyAlgorithm","PhoneApi","phoneNumber","PasswordlessSmsInit","PasswordlessSmsAuthenticate","PasswordlessSmsLink","PasswordlessSmsUnlink","SiweApi","_wallet","_preparedMessage","linkWithSiwe","walletOverride","messageOverride","wallet","SiweLink","chainId","walletClientType","connectorType","loginWithSiwe","SiweAuthenticate","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","withTimeout","promise","msg","race","_","reject","EVENT_CALLBACK_QUEUE","enqueue","eventId","dequeue","EmbeddedWalletProxy","ready","cache","_embeddedWalletMessagePoster","embeddedWalletMessagePoster","Map","ping","timeoutMs","invoke","create","waitForReady","then","connect","recover","setRecovery","createSolana","connectSolana","recoverSolana","handleEmbeddedWalletMessages","readyCallbacks","createCallbacks","connectCallbacks","recoverCallbacks","rpcCallbacks","cb","createSolanaCallbacks","connectSolanaCallbacks","recoverSolanaCallbacks","rpcSolanaCallbacks","catch","key","JSON","stringify","serialize","cached","postMessage","finally","delete","set","EmbeddedWalletApi","_proxy","setMessagePoster","poster","password","recoveryMethod","recoveryToken","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","recoveryPassword","recoveryAccessToken","refreshSession","ethereumAccount","recovery_method","getProvider","ethereumAddress","hasEmbeddedWallet","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","_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","array","acc","curr"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/js-sdk-core",
3
- "version": "0.24.1",
3
+ "version": "0.24.2",
4
4
  "description": "Vanilla JS client for the Privy Auth API",
5
5
  "sideEffects": false,
6
6
  "keywords": [