@privy-io/js-sdk-core 0.34.0 → 0.34.2-beta-20241118141256

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Privy.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./AppApi.js"),r=require("./AuthApi.js"),i=require("./EmbeddedWalletApi.js"),s=require("./MfaApi.js"),t=require("./MfaPromises.js"),a=require("./PrivyInternal.js"),n=require("./RecoveryApi.js"),u=require("./UserApi.js");require("@privy-io/public-api"),require("./CustomProviderApi.js"),require("./EmailApi.js"),require("./FarcasterApi.js"),require("./GuestApi.js"),require("./OAuthApi.js"),require("./Error.js"),require("./pkce.js"),require("jose"),require("./PasskeyApi.js"),require("./PhoneApi.js"),require("./SiweApi.js"),require("./SmartWalletApi.js"),require("./chains/index.js"),require("./chains/arbitrum.js"),require("./chains/arbitrumGoerli.js"),require("./chains/arbitrumSepolia.js"),require("./chains/avalanche.js"),require("./chains/avalancheFuji.js"),require("./chains/base.js"),require("./chains/baseGoerli.js"),require("./chains/baseSepolia.js"),require("./chains/berachainArtio.js"),require("./chains/celo.js"),require("./chains/celoAlfajores.js"),require("./chains/filecoin.js"),require("./chains/filecoinCalibration.js"),require("./chains/garnetHolesky.js"),require("./chains/goerli.js"),require("./chains/holesky.js"),require("./chains/linea.js"),require("./chains/lineaTestnet.js"),require("./chains/mainnet.js"),require("./chains/optimism.js"),require("./chains/optimismGoerli.js"),require("./chains/optimismSepolia.js"),require("./chains/polygon.js"),require("./chains/polygonMumbai.js"),require("./chains/redstone.js"),require("./chains/redstoneHolesky.js"),require("./chains/sepolia.js"),require("./chains/zora.js"),require("./chains/zoraSepolia.js"),require("./chains/zoraTestnet.js"),require("./embedded/EmbeddedWalletProvider.js"),require("eventemitter3"),require("./embedded/errors.js"),require("./embedded/types.js"),require("./embedded/methods.js"),require("./embedded/utils/index.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./embedded/gas/arbitrum.js"),require("@ethersproject/bignumber"),require("./embedded/utils/ethers.js"),require("./embedded/gas/bsc.js"),require("./embedded/gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("./embedded/gas/polygon.js"),require("@ethersproject/units"),require("fetch-retry"),require("./chains/polygonAmoy.js"),require("./embedded/utils/gas.js"),require("./embedded/EmbeddedSolanaWalletProvider.js"),require("./embedded/EmbeddedWalletProxy.js"),require("./embedded/EventCallbackQueue.js"),require("./embedded/withMfa.js"),require("./embedded/EmbeddedBitcoinWalletProvider.js"),require("./MfaPasskeyApi.js"),require("./MfaSmsApi.js"),require("uuid"),require("@privy-io/api-base"),require("./Session.js"),require("js-cookie"),require("./Token.js"),require("./toAbortSignalTimeout.js"),require("./RecoveryICloudApi.js"),require("./RecoveryOAuthApi.js");exports.default=class{auth;user;embeddedWallet;recovery;mfa;app;mfaPromises;_privyInternal;constructor({clientId:d,...o}){this._privyInternal=new a.PrivyInternal({...o,appClientId:d}),this.user=new u.default(this._privyInternal),this.app=new e.default(this._privyInternal),this.auth=new r.default(this._privyInternal,o.storage,o.crypto),this.mfa=new s.default(this._privyInternal),this.mfaPromises=new t.default,this.embeddedWallet=new i.default(this._privyInternal,o.embeddedWalletMessagePoster,o.supportedChains,this.mfa,this.mfaPromises),this.recovery=new n.default(this._privyInternal,o.storage,o.crypto)}async initialize(){await this._privyInternal._initialize()}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}addOAuthTokensListener(e){return this._privyInternal.session.on("oauth_tokens_granted",e),{unsubscribe:()=>{this._privyInternal.session.removeListener("oauth_tokens_granted",e)}}}setCallbacks(e){this._privyInternal.setCallbacks(e)}getAccessToken(){return this._privyInternal.getAccessToken()}getIdentityToken(){return this._privyInternal.getIdentityToken()}getAppId(){return this._privyInternal.appId}getAppConfig(){return this._privyInternal.config}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./AppApi.js"),r=require("./AuthApi.js"),i=require("./EmbeddedWalletApi.js"),s=require("./MfaApi.js"),t=require("./MfaPromises.js"),a=require("./PrivyInternal.js"),u=require("./RecoveryApi.js"),n=require("./UserApi.js");require("@privy-io/public-api"),require("./CustomProviderApi.js"),require("./EmailApi.js"),require("./FarcasterApi.js"),require("./GuestApi.js"),require("./OAuthApi.js"),require("./Error.js"),require("./pkce.js"),require("jose"),require("./PasskeyApi.js"),require("./PhoneApi.js"),require("./SiweApi.js"),require("./SmartWalletApi.js"),require("./chains/index.js"),require("./chains/arbitrum.js"),require("./chains/arbitrumGoerli.js"),require("./chains/arbitrumSepolia.js"),require("./chains/avalanche.js"),require("./chains/avalancheFuji.js"),require("./chains/base.js"),require("./chains/baseGoerli.js"),require("./chains/baseSepolia.js"),require("./chains/berachainArtio.js"),require("./chains/celo.js"),require("./chains/celoAlfajores.js"),require("./chains/filecoin.js"),require("./chains/filecoinCalibration.js"),require("./chains/garnetHolesky.js"),require("./chains/goerli.js"),require("./chains/holesky.js"),require("./chains/linea.js"),require("./chains/lineaTestnet.js"),require("./chains/mainnet.js"),require("./chains/optimism.js"),require("./chains/optimismGoerli.js"),require("./chains/optimismSepolia.js"),require("./chains/polygon.js"),require("./chains/polygonMumbai.js"),require("./chains/redstone.js"),require("./chains/redstoneHolesky.js"),require("./chains/sepolia.js"),require("./chains/zora.js"),require("./chains/zoraSepolia.js"),require("./chains/zoraTestnet.js"),require("./embedded/EmbeddedWalletProvider.js"),require("eventemitter3"),require("./embedded/errors.js"),require("./embedded/types.js"),require("./embedded/methods.js"),require("./embedded/utils/index.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./embedded/gas/arbitrum.js"),require("@ethersproject/bignumber"),require("./embedded/utils/ethers.js"),require("./embedded/gas/bsc.js"),require("./embedded/gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("./embedded/gas/polygon.js"),require("@ethersproject/units"),require("fetch-retry"),require("./chains/polygonAmoy.js"),require("./embedded/utils/gas.js"),require("./embedded/EmbeddedSolanaWalletProvider.js"),require("./embedded/EmbeddedWalletProxy.js"),require("./embedded/EventCallbackQueue.js"),require("./embedded/withMfa.js"),require("./embedded/EmbeddedBitcoinWalletProvider.js"),require("./MfaPasskeyApi.js"),require("./MfaSmsApi.js"),require("uuid"),require("@privy-io/api-base"),require("./Session.js"),require("js-cookie"),require("./Token.js"),require("./utils/allSettled.js"),require("./toAbortSignalTimeout.js"),require("./RecoveryICloudApi.js"),require("./RecoveryOAuthApi.js");exports.default=class{auth;user;embeddedWallet;recovery;mfa;app;mfaPromises;_privyInternal;constructor({clientId:d,...o}){this._privyInternal=new a.PrivyInternal({...o,appClientId:d}),this.user=new n.default(this._privyInternal),this.app=new e.default(this._privyInternal),this.auth=new r.default(this._privyInternal,o.storage,o.crypto),this.mfa=new s.default(this._privyInternal),this.mfaPromises=new t.default,this.embeddedWallet=new i.default(this._privyInternal,o.embeddedWalletMessagePoster,o.supportedChains,this.mfa,this.mfaPromises),this.recovery=new u.default(this._privyInternal,o.storage,o.crypto)}async initialize(){await this._privyInternal._initialize()}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}addOAuthTokensListener(e){return this._privyInternal.session.on("oauth_tokens_granted",e),{unsubscribe:()=>{this._privyInternal.session.removeListener("oauth_tokens_granted",e)}}}setCallbacks(e){this._privyInternal.setCallbacks(e)}getAccessToken(){return this._privyInternal.getAccessToken()}getIdentityToken(){return this._privyInternal.getIdentityToken()}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("fetch-retry"),t=require("uuid"),s=require("@privy-io/api-base"),i=require("@privy-io/public-api"),a=require("./Error.js"),r=require("./Session.js"),n=require("./toAbortSignalTimeout.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("eventemitter3"),require("jose"),require("js-cookie"),require("./Token.js");var c=o(e);const h="privy:caid";exports.PrivyInternal=class{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.34.0";_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 r.Session({storage:this._storage,isUsingServerCookies:!1,appId:e.appId}),this._fetch=c.default(fetch,{retries:3,retryDelay:500}),this.session.on("error_storing_tokens",(e=>{this.createAnalyticsEvent("error_updating_tokens_in_storage",{reason:e})}))}setCallbacks(e){this.callbacks={...this.callbacks,...e}}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){if(this.isReady)this.callbacks?.setIsReady?.(!0);else{if(!await this.isStorageAccessible())throw new a.PrivyClientError({code:"storage_error",error:"Unable to access storage"});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(e,{body:t,params:s,headers:r,options:n={onRequest:this._beforeRequest.bind(this)}}){const o=`${this.baseUrl}${i.getPathWithParams(e.path,s)}`,c=new Request(o,{method:e.method,body:JSON.stringify(t),headers:r}),h=await n.onRequest(c),l=await this._fetch(c,h),d=await l.json();if(l.status>299)throw new a.PrivyApiError(d);return d}async _beforeRequestWithoutInitialize(e){const t=await this.session.getToken(),s=new Headers(e.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 ${t}`),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:n.default(2e4),headers:s,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(i.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(h);if("string"==typeof e&&e.length>0)return this._analyticsId=e,e}catch(e){console.error("Unable to load clientId",e)}try{this._analyticsId=t.v4()}catch(e){console.error("Unable to generate uuidv4",e)}if(!this._analyticsId)return null;try{await this._storage.put(h,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(h)}catch(e){console.error("Unable to delete clientId",e)}}async createAnalyticsEvent(e,t){try{await this.fetch(i.AnalyticsEvent,{body:{event_name:e,client_id:await this._getOrGenerateClientAnalyticsId(),payload:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(e){}}async refreshSession(){const e=await this.session.getRefreshToken()??void 0,t=e??"key",s=this._cache.get(t);if(s)return await s;const i=this._refreshSession(e);this._cache.set(t,i);try{return await i}catch(e){throw e}finally{this._cache.delete(t)}}async _refreshSession(e){const t=await this.session.getToken();if(!this.session.hasRefreshCredentials(t,e??null))throw await this._initialize(),new a.PrivyApiError({code:s.PrivyErrorCode.MISSING_OR_INVALID_TOKEN,error:"No tokens found in storage"});try{const t=await this.fetch(i.RefreshSession,{body:{refresh_token:e},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}}),s=t.session_update_action;return this.callbacks?.setUser?.(t.user),"set"===s&&await this.session.updateWithTokensResponse(t),"clear"===s&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===s&&t.token&&(await this.session.storeToken(t.token),t.identity_token&&await this.session.storeIdentityToken(t.identity_token)),t}catch(e){throw e instanceof a.PrivyApiError&&e.code===s.PrivyErrorCode.MISSING_OR_INVALID_TOKEN&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),e}}async getAccessToken(){const[e,t]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);return!this.session.tokenIsActive(e)&&this.session.hasRefreshCredentials(e,t)?(await this.refreshSession(),await this.session.getToken()):e}async getIdentityToken(){return await this.session.getIdentityToken()}async isStorageAccessible(){try{const e="privy:__storage__test",t="blobby";await this._storage.put(e,t);const s=await this._storage.get(e);return await this._storage.del(e),s===t}catch(e){return console.error(e),!1}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("fetch-retry"),t=require("uuid"),s=require("@privy-io/api-base"),i=require("@privy-io/public-api"),a=require("./Error.js"),r=require("./Session.js"),n=require("./toAbortSignalTimeout.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("eventemitter3"),require("jose"),require("js-cookie"),require("./Token.js"),require("./utils/allSettled.js");var c=o(e);const h="privy:caid";exports.PrivyInternal=class{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.34.2-beta-20241118141256";_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 r.Session({storage:this._storage,isUsingServerCookies:!1,appId:e.appId}),this._fetch=c.default(fetch,{retries:3,retryDelay:500}),this.session.on("error_storing_tokens",(e=>{this.createAnalyticsEvent("error_updating_tokens_in_storage",{reason:e})}))}setCallbacks(e){this.callbacks={...this.callbacks,...e}}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){if(this.isReady)this.callbacks?.setIsReady?.(!0);else{if(!await this.isStorageAccessible())throw new a.PrivyClientError({code:"storage_error",error:"Unable to access storage"});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(e,{body:t,params:s,headers:r,options:n={onRequest:this._beforeRequest.bind(this)}}){const o=`${this.baseUrl}${i.getPathWithParams(e.path,s)}`,c=new Request(o,{method:e.method,body:JSON.stringify(t),headers:r}),h=await n.onRequest(c),l=await this._fetch(c,h),d=await l.json();if(l.status>299)throw new a.PrivyApiError(d);return d}async _beforeRequestWithoutInitialize(e){const t=await this.session.getToken(),s=new Headers(e.headers);s.set("privy-app-id",this.appId),this.appClientId&&s.set("privy-client-id",this.appClientId),s.set("privy-client",this._sdkVersion),t&&s.set("Authorization",`Bearer ${t}`),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:n.default(2e4),headers:s,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(i.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(h);if("string"==typeof e&&e.length>0)return this._analyticsId=e,e}catch(e){console.error("Unable to load clientId",e)}try{this._analyticsId=t.v4()}catch(e){console.error("Unable to generate uuidv4",e)}if(!this._analyticsId)return null;try{await this._storage.put(h,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(h)}catch(e){console.error("Unable to delete clientId",e)}}async createAnalyticsEvent(e,t){try{await this.fetch(i.AnalyticsEvent,{body:{event_name:e,client_id:await this._getOrGenerateClientAnalyticsId(),payload:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(e){}}async refreshSession(){const e=await this.session.getRefreshToken()??void 0,t=e??"key",s=this._cache.get(t);if(s)return await s;const i=this._refreshSession(e);this._cache.set(t,i);try{return await i}catch(e){throw e}finally{this._cache.delete(t)}}async _refreshSession(e){const t=await this.session.getToken();if(!this.session.hasRefreshCredentials(t,e??null))throw await this._initialize(),new a.PrivyApiError({code:s.PrivyErrorCode.MISSING_OR_INVALID_TOKEN,error:"No tokens found in storage"});try{const t=await this.fetch(i.RefreshSession,{body:{refresh_token:e},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}}),s=t.session_update_action;return this.callbacks?.setUser?.(t.user),"set"===s&&await this.session.updateWithTokensResponse(t),"clear"===s&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===s&&t.token&&(await this.session.storeToken(t.token),t.identity_token&&await this.session.storeIdentityToken(t.identity_token)),t}catch(e){throw e instanceof a.PrivyApiError&&e.code===s.PrivyErrorCode.MISSING_OR_INVALID_TOKEN&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),e}}async getAccessToken(){const[e,t]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);return!this.session.tokenIsActive(e)&&this.session.hasRefreshCredentials(e,t)?(await this.refreshSession(),await this.session.getToken()):e}async getIdentityToken(){return await this.session.getIdentityToken()}async isStorageAccessible(){try{const e="privy:__storage__test",t="blobby";await this._storage.put(e,t);const s=await this._storage.get(e);return await this._storage.del(e),s===t}catch(e){return console.error(e),!1}}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("eventemitter3"),t=require("jose"),s=require("js-cookie"),r=require("./Token.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(e),n=o(s);const a="privy:token",_="privy-token",h="privy:refresh_token",g="privy-refresh-token",c="privy:id-token",l="privy-id-token",d="privy-session",k="privy:session_transfer_token",u=["storage_cleared","token_cleared","refresh_token_cleared","identity_token_cleared","forked_token_cleared","token_stored","refresh_token_stored","identity_token_stored","oauth_tokens_granted","error_storing_tokens"];class y extends i.default{static events=u;_storage;_isUsingServerCookies=!1;GUEST_CREDENTIAL_STORAGE_KEY;constructor(e){super(),this._storage=e.storage,this.GUEST_CREDENTIAL_STORAGE_KEY=`privy:guest:${e.appId}`}set isUsingServerCookies(e){this._isUsingServerCookies=e}async getToken(){const e=await this._storage.get(a);try{return"string"==typeof e?new r.Token(e).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getToken_error"}),null}}async getRefreshToken(){const e=await this._storage.get(h);return"string"==typeof e?e:null}async getIdentityToken(){const e=await this._storage.get(c);return"string"==typeof e?e:null}async getForkedToken(){const e=await this._storage.get(k);return"string"==typeof e?e:null}get mightHaveServerCookies(){try{const e=n.default.get(d);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=r.Token.parse(e);return null!==t&&!t.isExpired(30)}async destroyLocalState(e){const t=await Promise.all([this._storage.del(a),this._storage.del(h),this._storage.del(c),this._storage.del(this.GUEST_CREDENTIAL_STORAGE_KEY),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(a);if(await this._storage.put(a,e),!this._isUsingServerCookies){const t=r.Token.parse(e)?.expiration;n.default.set(_,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(a);await this._storage.del(a),n.default.remove(_),null!==e&&this.emit("token_cleared",{reason:"set_with_non_string_value"})}}async storeRefreshToken(e){"string"==typeof e?(await this._storage.put(h,e),this._isUsingServerCookies||(n.default.set(d,"t",{sameSite:"Strict",secure:!0,expires:30}),n.default.set(g,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(h),n.default.remove(g),n.default.remove(d),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async updateWithTokensResponse(e){try{await Promise.allSettled([this.storeToken(e.token),this.storeRefreshToken(e.refresh_token),this.storeIdentityToken(e.identity_token),this.processOAuthTokens(e.oauth_tokens)])}catch(e){throw this.emit("error_storing_tokens",String(e)),e}}async processOAuthTokens(e){e&&this.emit("oauth_tokens_granted",e)}async storeIdentityToken(e){if("string"==typeof e){const t=await this._storage.get(c);if(await this._storage.put(c,e),!this._isUsingServerCookies){const t=r.Token.parse(e)?.expiration;n.default.set(l,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("identity_token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(c);await this._storage.del(c),n.default.remove(l),null!==e&&this.emit("identity_token_cleared",{reason:"set_with_non_string_value"})}}async getOrCreateGuestCredential(){const e=this._storage.get(this.GUEST_CREDENTIAL_STORAGE_KEY);if(e&&"string"==typeof e)return e;const s=t.base64url.encode(crypto.getRandomValues(new Uint8Array(32)));return await this._storage.put(this.GUEST_CREDENTIAL_STORAGE_KEY,s),s}async clearForkedToken(){await this._storage.del(k)}}exports.Session=y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("eventemitter3"),t=require("jose"),s=require("js-cookie"),r=require("./Token.js"),o=require("./utils/allSettled.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=i(e),a=i(s);const _="privy:token",h="privy-token",l="privy:refresh_token",g="privy-refresh-token",c="privy:id-token",d="privy-id-token",k="privy-session",u="privy:session_transfer_token",y=["storage_cleared","token_cleared","refresh_token_cleared","identity_token_cleared","forked_token_cleared","token_stored","refresh_token_stored","identity_token_stored","oauth_tokens_granted","error_storing_tokens"];class p extends n.default{static events=y;_storage;_isUsingServerCookies=!1;GUEST_CREDENTIAL_STORAGE_KEY;constructor(e){super(),this._storage=e.storage,this.GUEST_CREDENTIAL_STORAGE_KEY=`privy:guest:${e.appId}`}set isUsingServerCookies(e){this._isUsingServerCookies=e}async getToken(){const e=await this._storage.get(_);try{return"string"==typeof e?new r.Token(e).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getToken_error"}),null}}async getRefreshToken(){const e=await this._storage.get(l);return"string"==typeof e?e:null}async getIdentityToken(){const e=await this._storage.get(c);return"string"==typeof e?e:null}async getForkedToken(){const e=await this._storage.get(u);return"string"==typeof e?e:null}get mightHaveServerCookies(){try{const e=a.default.get(k);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=r.Token.parse(e);return null!==t&&!t.isExpired(30)}async destroyLocalState(e){const t=await Promise.all([this._storage.del(_),this._storage.del(l),this._storage.del(c),this._storage.del(this.GUEST_CREDENTIAL_STORAGE_KEY),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(_);if(await this._storage.put(_,e),!this._isUsingServerCookies){const t=r.Token.parse(e)?.expiration;a.default.set(h,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(_);await this._storage.del(_),a.default.remove(h),null!==e&&this.emit("token_cleared",{reason:"set_with_non_string_value"})}}async storeRefreshToken(e){"string"==typeof e?(await this._storage.put(l,e),this._isUsingServerCookies||(a.default.set(k,"t",{sameSite:"Strict",secure:!0,expires:30}),a.default.set(g,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(l),a.default.remove(g),a.default.remove(k),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async updateWithTokensResponse(e){try{await o.allSettled([this.storeToken(e.token),this.storeRefreshToken(e.refresh_token),this.storeIdentityToken(e.identity_token),this.processOAuthTokens(e.oauth_tokens)])}catch(e){throw this.emit("error_storing_tokens",String(e)),e}}async processOAuthTokens(e){e&&this.emit("oauth_tokens_granted",e)}async storeIdentityToken(e){if("string"==typeof e){const t=await this._storage.get(c);if(await this._storage.put(c,e),!this._isUsingServerCookies){const t=r.Token.parse(e)?.expiration;a.default.set(d,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("identity_token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(c);await this._storage.del(c),a.default.remove(d),null!==e&&this.emit("identity_token_cleared",{reason:"set_with_non_string_value"})}}async getOrCreateGuestCredential(){const e=this._storage.get(this.GUEST_CREDENTIAL_STORAGE_KEY);if(e&&"string"==typeof e)return e;const s=t.base64url.encode(crypto.getRandomValues(new Uint8Array(32)));return await this._storage.put(this.GUEST_CREDENTIAL_STORAGE_KEY,s),s}async clearForkedToken(){await this._storage.del(u)}}exports.Session=p;
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Privy.js"),r=require("@privy-io/public-api"),i=require("./storage/LocalStorage.js"),t=require("./storage/InMemoryStorage.js"),s=require("./Error.js"),o=require("./embedded/errors.js"),a=require("./utils/getUserEmbeddedEthereumWallet.js"),d=require("./utils/getAllUserEmbeddedEthereumWallets.js"),u=require("./utils/getAllUserEmbeddedSolanaWallets.js"),n=require("./utils/getAllUserEmbeddedBitcoinWallets.js"),l=require("./utils/getUserSmartWallet.js"),c=require("./embedded/utils/index.js"),p=require("./utils/phoneNumberUtils.js"),m=require("./utils/getUserEmbeddedSolanaWallet.js"),j=require("./utils/toObjectKeys.js"),q=require("./embedded/utils/gas.js"),b=require("./embedded/utils/ethers.js"),E=require("./types.js"),h=require("./chains/index.js");require("./AppApi.js"),require("./AuthApi.js"),require("./CustomProviderApi.js"),require("./EmailApi.js"),require("./FarcasterApi.js"),require("./GuestApi.js"),require("./OAuthApi.js"),require("./pkce.js"),require("jose"),require("./PasskeyApi.js"),require("./PhoneApi.js"),require("./SiweApi.js"),require("./SmartWalletApi.js"),require("./EmbeddedWalletApi.js"),require("./embedded/EmbeddedWalletProvider.js"),require("eventemitter3"),require("./embedded/methods.js"),require("./embedded/EmbeddedSolanaWalletProvider.js"),require("./embedded/EmbeddedWalletProxy.js"),require("./embedded/EventCallbackQueue.js"),require("./embedded/withMfa.js"),require("./embedded/EmbeddedBitcoinWalletProvider.js"),require("./MfaApi.js"),require("./MfaPasskeyApi.js"),require("./MfaSmsApi.js"),require("./MfaPromises.js"),require("./PrivyInternal.js"),require("fetch-retry"),require("uuid"),require("@privy-io/api-base"),require("./Session.js"),require("js-cookie"),require("./Token.js"),require("./toAbortSignalTimeout.js"),require("./RecoveryApi.js"),require("./RecoveryICloudApi.js"),require("./RecoveryOAuthApi.js"),require("./UserApi.js"),require("./embedded/types.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./embedded/gas/arbitrum.js"),require("@ethersproject/bignumber"),require("./chains/arbitrum.js"),require("./chains/arbitrumGoerli.js"),require("./chains/arbitrumSepolia.js"),require("./embedded/gas/bsc.js"),require("./embedded/gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("./chains/base.js"),require("./chains/baseGoerli.js"),require("./chains/baseSepolia.js"),require("./chains/optimism.js"),require("./chains/optimismGoerli.js"),require("./chains/optimismSepolia.js"),require("./chains/zora.js"),require("./chains/zoraSepolia.js"),require("./chains/zoraTestnet.js"),require("./embedded/gas/polygon.js"),require("@ethersproject/units"),require("./chains/polygon.js"),require("./chains/polygonAmoy.js"),require("./chains/polygonMumbai.js"),require("./chains/avalanche.js"),require("./chains/avalancheFuji.js"),require("./chains/berachainArtio.js"),require("./chains/celo.js"),require("./chains/celoAlfajores.js"),require("./chains/filecoin.js"),require("./chains/filecoinCalibration.js"),require("./chains/garnetHolesky.js"),require("./chains/goerli.js"),require("./chains/holesky.js"),require("./chains/linea.js"),require("./chains/lineaTestnet.js"),require("./chains/mainnet.js"),require("./chains/redstone.js"),require("./chains/redstoneHolesky.js"),require("./chains/sepolia.js"),exports.default=e.default,Object.defineProperty(exports,"BICONOMY",{enumerable:!0,get:function(){return r.BICONOMY}}),Object.defineProperty(exports,"COINBASE_SMART_WALLET",{enumerable:!0,get:function(){return r.COINBASE_SMART_WALLET}}),Object.defineProperty(exports,"KERNEL",{enumerable:!0,get:function(){return r.KERNEL}}),Object.defineProperty(exports,"LIGHT_ACCOUNT",{enumerable:!0,get:function(){return r.LIGHT_ACCOUNT}}),Object.defineProperty(exports,"SAFE",{enumerable:!0,get:function(){return r.SAFE}}),exports.LocalStorage=i.LocalStorage,exports.InMemoryCache=t.InMemoryCache,exports.PrivyApiError=s.PrivyApiError,exports.PrivyClientError=s.PrivyClientError,exports.createErrorFormatter=s.createErrorFormatter,exports.errorIndicatesMfaCanceled=s.errorIndicatesMfaCanceled,exports.EmbeddedProviderError=o.EmbeddedProviderError,exports.PrivyConnectorError=o.PrivyConnectorError,Object.defineProperty(exports,"PrivyEmbeddedWalletErrorCode",{enumerable:!0,get:function(){return o.PrivyEmbeddedWalletErrorCode}}),exports.PrivyProviderRpcError=o.PrivyProviderRpcError,exports.ProviderErrors=o.ProviderErrors,exports.errorIndicatesMaxMfaRetries=o.errorIndicatesMaxMfaRetries,exports.errorIndicatesMfaRateLimit=o.errorIndicatesMfaRateLimit,exports.errorIndicatesMfaTimeout=o.errorIndicatesMfaTimeout,exports.errorIndicatesMfaVerificationFailed=o.errorIndicatesMfaVerificationFailed,exports.errorIndicatesRecoveryIsNeeded=o.errorIndicatesRecoveryIsNeeded,exports.getUserEmbeddedEthereumWallet=a.getUserEmbeddedEthereumWallet,exports.getUserEmbeddedWallet=a.getUserEmbeddedWallet,exports.getAllUserEmbeddedEthereumWallets=d.getAllUserEmbeddedEthereumWallets,exports.getAllUserEmbeddedSolanaWallets=u.getAllUserEmbeddedSolanaWallets,exports.getAllUserEmbeddedBitcoinWallets=n.getAllUserEmbeddedBitcoinWallets,exports.getUserSmartWallet=l.getUserSmartWallet,exports.getJsonRpcEndpointFromChain=c.getJsonRpcEndpointFromChain,exports.populateTransactionRequest=c.populateTransactionRequest,exports.throwIfInvalidRecoveryUpgradePath=c.throwIfInvalidRecoveryUpgradePath,exports.countryCodesAndNumbers=p.countryCodesAndNumbers,exports.formatPhoneNumber=p.formatPhoneNumber,exports.getCountryCallingCode=p.getCountryCallingCode,exports.getPhoneCountryCodeAndNumber=p.getPhoneCountryCodeAndNumber,exports.getPlaceholderPhoneNumber=p.getPlaceholderPhoneNumber,exports.lastFourDigits=p.lastFourDigits,exports.phoneNumberTypingFormatter=p.phoneNumberTypingFormatter,exports.validatePhoneNumber=p.validatePhoneNumber,exports.getUserEmbeddedSolanaWallet=m.getUserEmbeddedSolanaWallet,exports.toObjectKeys=j.toObjectKeys,exports.calculateTotalGasEstimate=q.calculateTotalGasEstimate,exports.QuantityToBigNumber=b.QuantityToBigNumber,exports.convertBigNumberish=b.convertBigNumberish,exports.toEthersUnsignedTransaction=b.toEthersUnsignedTransaction,exports.ALL_WALLET_CLIENT_TYPES=E.ALL_WALLET_CLIENT_TYPES,exports.SUPPORTED_CONNECTOR_TYPES=E.SUPPORTED_CONNECTOR_TYPES,exports.DEFAULT_SUPPORTED_CHAINS=h.DEFAULT_SUPPORTED_CHAINS,exports.DEFAULT_SUPPORTED_CHAIN_IDS=h.DEFAULT_SUPPORTED_CHAIN_IDS,exports.chainDefs=h.chainDefs;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Privy.js"),r=require("@privy-io/public-api"),i=require("./storage/LocalStorage.js"),t=require("./storage/InMemoryStorage.js"),s=require("./Error.js"),o=require("./embedded/errors.js"),a=require("./utils/getUserEmbeddedEthereumWallet.js"),d=require("./utils/getAllUserEmbeddedEthereumWallets.js"),u=require("./utils/getAllUserEmbeddedSolanaWallets.js"),n=require("./utils/getAllUserEmbeddedBitcoinWallets.js"),l=require("./utils/getUserSmartWallet.js"),c=require("./embedded/utils/index.js"),p=require("./utils/phoneNumberUtils.js"),m=require("./utils/getUserEmbeddedSolanaWallet.js"),j=require("./utils/toObjectKeys.js"),q=require("./embedded/utils/gas.js"),b=require("./embedded/utils/ethers.js"),E=require("./types.js"),h=require("./chains/index.js");require("./AppApi.js"),require("./AuthApi.js"),require("./CustomProviderApi.js"),require("./EmailApi.js"),require("./FarcasterApi.js"),require("./GuestApi.js"),require("./OAuthApi.js"),require("./pkce.js"),require("jose"),require("./PasskeyApi.js"),require("./PhoneApi.js"),require("./SiweApi.js"),require("./SmartWalletApi.js"),require("./EmbeddedWalletApi.js"),require("./embedded/EmbeddedWalletProvider.js"),require("eventemitter3"),require("./embedded/methods.js"),require("./embedded/EmbeddedSolanaWalletProvider.js"),require("./embedded/EmbeddedWalletProxy.js"),require("./embedded/EventCallbackQueue.js"),require("./embedded/withMfa.js"),require("./embedded/EmbeddedBitcoinWalletProvider.js"),require("./MfaApi.js"),require("./MfaPasskeyApi.js"),require("./MfaSmsApi.js"),require("./MfaPromises.js"),require("./PrivyInternal.js"),require("fetch-retry"),require("uuid"),require("@privy-io/api-base"),require("./Session.js"),require("js-cookie"),require("./Token.js"),require("./utils/allSettled.js"),require("./toAbortSignalTimeout.js"),require("./RecoveryApi.js"),require("./RecoveryICloudApi.js"),require("./RecoveryOAuthApi.js"),require("./UserApi.js"),require("./embedded/types.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./embedded/gas/arbitrum.js"),require("@ethersproject/bignumber"),require("./chains/arbitrum.js"),require("./chains/arbitrumGoerli.js"),require("./chains/arbitrumSepolia.js"),require("./embedded/gas/bsc.js"),require("./embedded/gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("./chains/base.js"),require("./chains/baseGoerli.js"),require("./chains/baseSepolia.js"),require("./chains/optimism.js"),require("./chains/optimismGoerli.js"),require("./chains/optimismSepolia.js"),require("./chains/zora.js"),require("./chains/zoraSepolia.js"),require("./chains/zoraTestnet.js"),require("./embedded/gas/polygon.js"),require("@ethersproject/units"),require("./chains/polygon.js"),require("./chains/polygonAmoy.js"),require("./chains/polygonMumbai.js"),require("./chains/avalanche.js"),require("./chains/avalancheFuji.js"),require("./chains/berachainArtio.js"),require("./chains/celo.js"),require("./chains/celoAlfajores.js"),require("./chains/filecoin.js"),require("./chains/filecoinCalibration.js"),require("./chains/garnetHolesky.js"),require("./chains/goerli.js"),require("./chains/holesky.js"),require("./chains/linea.js"),require("./chains/lineaTestnet.js"),require("./chains/mainnet.js"),require("./chains/redstone.js"),require("./chains/redstoneHolesky.js"),require("./chains/sepolia.js"),exports.default=e.default,Object.defineProperty(exports,"BICONOMY",{enumerable:!0,get:function(){return r.BICONOMY}}),Object.defineProperty(exports,"COINBASE_SMART_WALLET",{enumerable:!0,get:function(){return r.COINBASE_SMART_WALLET}}),Object.defineProperty(exports,"KERNEL",{enumerable:!0,get:function(){return r.KERNEL}}),Object.defineProperty(exports,"LIGHT_ACCOUNT",{enumerable:!0,get:function(){return r.LIGHT_ACCOUNT}}),Object.defineProperty(exports,"SAFE",{enumerable:!0,get:function(){return r.SAFE}}),exports.LocalStorage=i.LocalStorage,exports.InMemoryCache=t.InMemoryCache,exports.PrivyApiError=s.PrivyApiError,exports.PrivyClientError=s.PrivyClientError,exports.createErrorFormatter=s.createErrorFormatter,exports.errorIndicatesMfaCanceled=s.errorIndicatesMfaCanceled,exports.EmbeddedProviderError=o.EmbeddedProviderError,exports.PrivyConnectorError=o.PrivyConnectorError,Object.defineProperty(exports,"PrivyEmbeddedWalletErrorCode",{enumerable:!0,get:function(){return o.PrivyEmbeddedWalletErrorCode}}),exports.PrivyProviderRpcError=o.PrivyProviderRpcError,exports.ProviderErrors=o.ProviderErrors,exports.errorIndicatesMaxMfaRetries=o.errorIndicatesMaxMfaRetries,exports.errorIndicatesMfaRateLimit=o.errorIndicatesMfaRateLimit,exports.errorIndicatesMfaTimeout=o.errorIndicatesMfaTimeout,exports.errorIndicatesMfaVerificationFailed=o.errorIndicatesMfaVerificationFailed,exports.errorIndicatesRecoveryIsNeeded=o.errorIndicatesRecoveryIsNeeded,exports.getUserEmbeddedEthereumWallet=a.getUserEmbeddedEthereumWallet,exports.getUserEmbeddedWallet=a.getUserEmbeddedWallet,exports.getAllUserEmbeddedEthereumWallets=d.getAllUserEmbeddedEthereumWallets,exports.getAllUserEmbeddedSolanaWallets=u.getAllUserEmbeddedSolanaWallets,exports.getAllUserEmbeddedBitcoinWallets=n.getAllUserEmbeddedBitcoinWallets,exports.getUserSmartWallet=l.getUserSmartWallet,exports.getJsonRpcEndpointFromChain=c.getJsonRpcEndpointFromChain,exports.populateTransactionRequest=c.populateTransactionRequest,exports.throwIfInvalidRecoveryUpgradePath=c.throwIfInvalidRecoveryUpgradePath,exports.countryCodesAndNumbers=p.countryCodesAndNumbers,exports.formatPhoneNumber=p.formatPhoneNumber,exports.getCountryCallingCode=p.getCountryCallingCode,exports.getPhoneCountryCodeAndNumber=p.getPhoneCountryCodeAndNumber,exports.getPlaceholderPhoneNumber=p.getPlaceholderPhoneNumber,exports.lastFourDigits=p.lastFourDigits,exports.phoneNumberTypingFormatter=p.phoneNumberTypingFormatter,exports.validatePhoneNumber=p.validatePhoneNumber,exports.getUserEmbeddedSolanaWallet=m.getUserEmbeddedSolanaWallet,exports.toObjectKeys=j.toObjectKeys,exports.calculateTotalGasEstimate=q.calculateTotalGasEstimate,exports.QuantityToBigNumber=b.QuantityToBigNumber,exports.convertBigNumberish=b.convertBigNumberish,exports.toEthersUnsignedTransaction=b.toEthersUnsignedTransaction,exports.ALL_WALLET_CLIENT_TYPES=E.ALL_WALLET_CLIENT_TYPES,exports.SUPPORTED_CONNECTOR_TYPES=E.SUPPORTED_CONNECTOR_TYPES,exports.DEFAULT_SUPPORTED_CHAINS=h.DEFAULT_SUPPORTED_CHAINS,exports.DEFAULT_SUPPORTED_CHAIN_IDS=h.DEFAULT_SUPPORTED_CHAIN_IDS,exports.chainDefs=h.chainDefs;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=Promise.allSettled.bind(Promise)??(e=>Promise.all(e.map((e=>e.then((e=>({status:"fulfilled",value:e}))).catch((e=>({status:"rejected",reason:e})))))));exports.allSettled=e;