@privy-io/js-sdk-core 0.25.0 → 0.25.1-beta-20240731190849

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{PrivyClientError as e}from"./Error.js";import{DEFAULT_SUPPORTED_CHAINS as r}from"./chains/index.js";import{EmbeddedWalletProvider as t}from"./embedded/EmbeddedWalletProvider.js";import{EmbeddedSolanaWalletProvider as s}from"./embedded/EmbeddedSolanaWalletProvider.js";import{EmbeddedWalletProxy as o}from"./embedded/EmbeddedWalletProxy.js";import{errorIndicatesRecoveryIsNeeded as i}from"./embedded/errors.js";import{throwIfInvalidRecoveryUpgradePath as a}from"./embedded/utils/index.js";import"./chains/arbitrum.js";import"./chains/arbitrumGoerli.js";import"./chains/arbitrumSepolia.js";import"./chains/avalanche.js";import"./chains/avalancheFuji.js";import"./chains/base.js";import"./chains/baseGoerli.js";import"./chains/baseSepolia.js";import"./chains/berachainArtio.js";import"./chains/celo.js";import"./chains/celoAlfajores.js";import"./chains/filecoin.js";import"./chains/filecoinCalibration.js";import"./chains/garnetHolesky.js";import"./chains/goerli.js";import"./chains/holesky.js";import"./chains/linea.js";import"./chains/lineaTestnet.js";import"./chains/mainnet.js";import"./chains/optimism.js";import"./chains/optimismGoerli.js";import"./chains/optimismSepolia.js";import"./chains/polygon.js";import"./chains/polygonMumbai.js";import"./chains/redstone.js";import"./chains/redstoneHolesky.js";import"./chains/sepolia.js";import"./chains/zora.js";import"./chains/zoraSepolia.js";import"./chains/zoraTestnet.js";import"eventemitter3";import"./embedded/methods.js";import"./embedded/EventCallbackQueue.js";import"./embedded/types.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./embedded/gas/arbitrum.js";import"@ethersproject/bignumber";import"./embedded/utils/ethers.js";import"./embedded/gas/bsc.js";import"./embedded/gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"./embedded/gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"./chains/polygonAmoy.js";import"./embedded/utils/gas.js";class d{_privyInternal;_proxy;_chains=Array.from(r);constructor(e,r,t){this._privyInternal=e,r&&(this._proxy=new o(r)),t&&(this._chains=t)}setMessagePoster(e){this._proxy=new o(e)}async create(e,r,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let o;if(o=r||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===o&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const i=await this._privyInternal.getAccessToken();if(!i)throw new Error("User must be logged in to create an embedded wallet");const{address:a}=await this._proxy.create({accessToken:i,recoveryMethod:o,recoveryPassword:e,recoveryAccessToken:s});if(!a)throw new Error("Failed to create wallet");const{user:d}=await this._privyInternal.refreshSession();return{user:d,provider:new t({address:a,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(r){if(!this._proxy)throw new e({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new e({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});if(r?.ethereumAccount){if("privy"!==r.ethereumAccount.recovery_method)throw new e({error:"Cannot create Solana wallet for user with Ethereum wallet with user-controlled recovery",code:"embedded_wallet_creation_error"});await this.getProvider(r.ethereumAccount)}const{publicKey:o}=await this._proxy.createSolana({accessToken:t,ethereumAddress:r?.ethereumAccount?.address});if(!o)throw new e({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new s({publicKey:o,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:r}=await this._privyInternal.refreshSession();if(!e||!r)throw new Error("User must be logged in to interact with embedded wallets");return!!this._getEmbeddedWallet(e)}async isPasswordRequired(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const{user:e,token:r}=await this._privyInternal.refreshSession();if(!e||!r)throw new Error("User must be logged in to interact with embedded wallets");const t=this._getEmbeddedWallet(e);if(!t)return!1;if("privy"===t.recovery_method)return!1;try{return await this._proxy.connect({accessToken:r,address:t.address}),!1}catch(e){return i(e)}}async getProvider(e,r,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const o=await this._load(e,r,s);return new t({address:o,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(r){if(!this._proxy)throw new e({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this._loadSolana(r);return new s({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,r){const{provider:t}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:r});return t}async setRecovery({wallet:e,...r}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");a({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod:r.recoveryMethod});const s=await this._load(e),o=await this._privyInternal.getAccessToken();if(!o)throw new Error("User must be logged in to interact with embedded wallets");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:e.address,recovery_method:e.recovery_method});try{await this._proxy.setRecovery({accessToken:o,address:s,recoveryMethod:r.recoveryMethod,recoveryPassword:"user-passcode"===r.recoveryMethod?r.password:void 0,recoveryAccessToken:"google-drive"===r.recoveryMethod||"icloud"===r.recoveryMethod?r.recoveryAccessToken:void 0}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:e.address,recovery_method:e.recovery_method});const{user:i}=await this._privyInternal.refreshSession();return{user:i,provider:new t({address:s,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(r){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:r instanceof Error?r.message:"Unable to recover wallet"}),r}}getURL(){const e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append("caid",this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append("client_id",this._privyInternal.appClientId),e.href}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}async ping(e){try{if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return await this._proxy.ping(e),!0}catch(e){return console.error(e),!1}}async _load(e,r,t){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const o=e.address;try{return await this._proxy.connect({accessToken:s,address:o}),o}catch(a){if(i(a)){try{if("privy"===e.recovery_method){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:s,address:o});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}if("user-passcode"===e.recovery_method&&r){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const t=await this._proxy.recover({accessToken:s,address:o,recoveryPassword:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if(["google-drive","icloud"].includes(e.recovery_method)&&t){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:s,address:o,recoveryAccessToken:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}}catch(r){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:r instanceof Error?r.message:"Unable to recover wallet"}),r}throw a}throw a}}async _loadSolana(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const r=await this._privyInternal.getAccessToken();if(!r)throw new Error("User must be logged in to interact with embedded wallets");const t=e.public_key;try{return await this._proxy.connectSolana({accessToken:r,publicKey:t}),t}catch(e){if(i(e)){return(await this._proxy.recoverSolana({accessToken:r,publicKey:t})).publicKey}throw e}}_getEmbeddedWallet(e){return e?.linked_accounts.find((e=>"wallet"===e.type&&"embedded"===e.connector_type&&"privy"===e.wallet_client_type))}}export{d as default};
1
+ import{PrivyClientError as e}from"./Error.js";import{DEFAULT_SUPPORTED_CHAINS as r}from"./chains/index.js";import{EmbeddedWalletProvider as t}from"./embedded/EmbeddedWalletProvider.js";import{EmbeddedSolanaWalletProvider as o}from"./embedded/EmbeddedSolanaWalletProvider.js";import{EmbeddedWalletProxy as s}from"./embedded/EmbeddedWalletProxy.js";import{errorIndicatesRecoveryIsNeeded as i}from"./embedded/errors.js";import{throwIfInvalidRecoveryUpgradePath as a}from"./embedded/utils/index.js";import"./chains/arbitrum.js";import"./chains/arbitrumGoerli.js";import"./chains/arbitrumSepolia.js";import"./chains/avalanche.js";import"./chains/avalancheFuji.js";import"./chains/base.js";import"./chains/baseGoerli.js";import"./chains/baseSepolia.js";import"./chains/berachainArtio.js";import"./chains/celo.js";import"./chains/celoAlfajores.js";import"./chains/filecoin.js";import"./chains/filecoinCalibration.js";import"./chains/garnetHolesky.js";import"./chains/goerli.js";import"./chains/holesky.js";import"./chains/linea.js";import"./chains/lineaTestnet.js";import"./chains/mainnet.js";import"./chains/optimism.js";import"./chains/optimismGoerli.js";import"./chains/optimismSepolia.js";import"./chains/polygon.js";import"./chains/polygonMumbai.js";import"./chains/redstone.js";import"./chains/redstoneHolesky.js";import"./chains/sepolia.js";import"./chains/zora.js";import"./chains/zoraSepolia.js";import"./chains/zoraTestnet.js";import"eventemitter3";import"./embedded/methods.js";import"./embedded/EventCallbackQueue.js";import"./embedded/types.js";import"@ethersproject/abstract-signer";import"@ethersproject/providers";import"./embedded/gas/arbitrum.js";import"@ethersproject/bignumber";import"./embedded/utils/ethers.js";import"./embedded/gas/bsc.js";import"./embedded/gas/op-stack.js";import"@ethersproject/contracts";import"@ethersproject/transactions";import"./embedded/gas/polygon.js";import"@ethersproject/units";import"fetch-retry";import"./chains/polygonAmoy.js";import"./embedded/utils/gas.js";class d{_privyInternal;_proxy;_chains=Array.from(r);constructor(e,r,t){this._privyInternal=e,r&&(this._proxy=new s(r)),t&&(this._chains=t)}setMessagePoster(e){this._proxy=new s(e)}async create(e,r,o,s,i){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");let a;if(a=r||(e?"user-passcode":"privy"),e&&"string"!=typeof e)throw new Error("Invalid recovery password, must be a string");if("privy"===a&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw new Error("Password not provided yet is required by App configuration");const d=await this._privyInternal.getAccessToken();if(!d)throw new Error("User must be logged in to create an embedded wallet");const{address:n}=await this._proxy.create({accessToken:d,recoveryMethod:a,recoveryPassword:e,recoveryAccessToken:o,recoverySecretOverride:s,iCloudRecordNameOverride:i});if(!n)throw new Error("Failed to create wallet");const{user:c}=await this._privyInternal.refreshSession();return{user:c,provider:new t({address:n,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(r){if(!this._proxy)throw new e({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new e({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});if(r?.ethereumAccount){if("privy"!==r.ethereumAccount.recovery_method)throw new e({error:"Cannot create Solana wallet for user with Ethereum wallet with user-controlled recovery",code:"embedded_wallet_creation_error"});await this.getProvider(r.ethereumAccount)}const{publicKey:s}=await this._proxy.createSolana({accessToken:t,ethereumAddress:r?.ethereumAccount?.address});if(!s)throw new e({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});return this._privyInternal.callbacks?.setUser&&await this._privyInternal.refreshSession(),new o({publicKey:s,privyInternal:this._privyInternal,walletProxy:this._proxy})}async hasEmbeddedWallet(){const{user:e,token:r}=await this._privyInternal.refreshSession();if(!e||!r)throw new Error("User must be logged in to interact with embedded wallets");return!!this._getEmbeddedWallet(e)}async isPasswordRequired(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const{user:e,token:r}=await this._privyInternal.refreshSession();if(!e||!r)throw new Error("User must be logged in to interact with embedded wallets");const t=this._getEmbeddedWallet(e);if(!t)return!1;if("privy"===t.recovery_method)return!1;try{return await this._proxy.connect({accessToken:r,address:t.address}),!1}catch(e){return i(e)}}async getProvider(e,r,o,s){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const i=await this._load(e,r,o,s);return new t({address:i,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(r){if(!this._proxy)throw new e({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this._loadSolana(r);return new o({publicKey:t,privyInternal:this._privyInternal,walletProxy:this._proxy})}async setPassword(e,r){const{provider:t}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:r});return t}async setRecovery({wallet:e,...r}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");a({currentRecoveryMethod:e.recovery_method,upgradeToRecoveryMethod:"icloud-native"===r.recoveryMethod?"icloud":r.recoveryMethod});const o=await this._load(e),s=await this._privyInternal.getAccessToken();if(!s)throw new Error("User must be logged in to interact with embedded wallets");const i=e.recovery_method;this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:e.address,target_recovery_method:r.recoveryMethod,existing_recovery_method:i});try{await this._proxy.setRecovery({accessToken:s,address:o,recoveryMethod:r.recoveryMethod,recoveryPassword:"user-passcode"===r.recoveryMethod?r.password:void 0,recoveryAccessToken:"google-drive"===r.recoveryMethod||"icloud"===r.recoveryMethod?r.recoveryAccessToken:void 0,recoverySecretOverride:"icloud-native"===r.recoveryMethod?r.recoverySecretOverride:void 0,iCloudRecordNameOverride:"icloud-native"===r.recoveryMethod?r.iCloudRecordNameOverride:void 0}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:e.address,target_recovery_method:r.recoveryMethod,existing_recovery_method:i});const{user:a}=await this._privyInternal.refreshSession();return{user:a,provider:new t({address:o,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(r){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:r instanceof Error?r.message:"Unable to recover wallet"}),r}}getURL(){const e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append("caid",this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append("client_id",this._privyInternal.appClientId),e.href}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}async ping(e){try{if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return await this._proxy.ping(e),!0}catch(e){return console.error(e),!1}}async _load(e,r,t,o){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(d){if(i(d)){try{if("privy"===e.recovery_method){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:s,address:a});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}if("user-passcode"===e.recovery_method&&r){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const t=await this._proxy.recover({accessToken:s,address:a,recoveryPassword:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),t.address}if(["google-drive","icloud"].includes(e.recovery_method)&&t){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:e.recovery_method});const r=await this._proxy.recover({accessToken:s,address:a,recoveryAccessToken:t});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:e.recovery_method}),r.address}if("icloud"===e.recovery_method&&o){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:e.address,recovery_method:"icloud-native"});const r=await this._proxy.recover({accessToken:s,address:a,recoverySecretOverride:o});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:e.address,recovery_method:"icloud-native"}),r.address}}catch(r){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_failed",{address:e.address,recovery_method:e.recovery_method,error:r instanceof Error?r.message:"Unable to recover wallet"}),r}throw d}throw d}}async _loadSolana(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const r=await this._privyInternal.getAccessToken();if(!r)throw new Error("User must be logged in to interact with embedded wallets");const t=e.public_key;try{return await this._proxy.connectSolana({accessToken:r,publicKey:t}),t}catch(e){if(i(e)){return(await this._proxy.recoverSolana({accessToken:r,publicKey:t})).publicKey}throw e}}_getEmbeddedWallet(e){return e?.linked_accounts.find((e=>"wallet"===e.type&&"embedded"===e.connector_type&&"privy"===e.wallet_client_type))}}export{d as default};
2
2
  //# sourceMappingURL=EmbeddedWalletApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddedWalletApi.js","sources":["../src/EmbeddedWalletApi.ts"],"sourcesContent":[null],"names":["EmbeddedWalletApi","_privyInternal","_proxy","_chains","Array","from","DEFAULT_SUPPORTED_CHAINS","constructor","privyInternal","embeddedWalletMessagePoster","chains","this","EmbeddedWalletProxy","setMessagePoster","poster","create","password","recoveryMethod","recoveryToken","Error","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","accessToken","getAccessToken","address","recoveryPassword","recoveryAccessToken","user","refreshSession","provider","EmbeddedWalletProvider","walletProxy","createSolana","opts","PrivyClientError","error","code","ethereumAccount","recovery_method","getProvider","publicKey","ethereumAddress","callbacks","setUser","EmbeddedSolanaWalletProvider","hasEmbeddedWallet","token","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","connect","e","errorIndicatesRecoveryIsNeeded","wallet","_load","getSolanaProvider","_loadSolana","setPassword","setRecovery","recoveryArgs","throwIfInvalidRecoveryUpgradePath","currentRecoveryMethod","upgradeToRecoveryMethod","createAnalyticsEvent","undefined","message","getURL","url","URL","baseUrl","appId","caid","searchParams","append","appClientId","href","getMessageHandler","handleEmbeddedWalletMessages","bind","ping","timeoutMs","console","err","recovered","recover","includes","public_key","connectSolana","recoverSolana","linked_accounts","find","account","type","connector_type","wallet_client_type"],"mappings":"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"}
1
+ {"version":3,"file":"EmbeddedWalletApi.js","sources":["../src/EmbeddedWalletApi.ts"],"sourcesContent":[null],"names":["EmbeddedWalletApi","_privyInternal","_proxy","_chains","Array","from","DEFAULT_SUPPORTED_CHAINS","constructor","privyInternal","embeddedWalletMessagePoster","chains","this","EmbeddedWalletProxy","setMessagePoster","poster","create","password","recoveryMethod","recoveryToken","recoverySecretOverride","iCloudRecordNameOverride","Error","parsedRecoveryMethod","config","embedded_wallet_config","require_user_password_on_create","accessToken","getAccessToken","address","recoveryPassword","recoveryAccessToken","user","refreshSession","provider","EmbeddedWalletProvider","walletProxy","createSolana","opts","PrivyClientError","error","code","ethereumAccount","recovery_method","getProvider","publicKey","ethereumAddress","callbacks","setUser","EmbeddedSolanaWalletProvider","hasEmbeddedWallet","token","_getEmbeddedWallet","isPasswordRequired","embeddedWallet","connect","e","errorIndicatesRecoveryIsNeeded","wallet","_load","getSolanaProvider","_loadSolana","setPassword","setRecovery","recoveryArgs","throwIfInvalidRecoveryUpgradePath","currentRecoveryMethod","upgradeToRecoveryMethod","existingRecoveryMethod","createAnalyticsEvent","target_recovery_method","existing_recovery_method","undefined","message","getURL","url","URL","baseUrl","appId","caid","searchParams","append","appClientId","href","getMessageHandler","handleEmbeddedWalletMessages","bind","ping","timeoutMs","console","err","recovered","recover","includes","public_key","connectSolana","recoverSolana","linked_accounts","find","account","type","connector_type","wallet_client_type"],"mappings":"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"}
@@ -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.25.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 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":y,"privy-refresh-token":f}=l(d.headers);return y&&(p.token=y),f&&(p.refresh_token=f),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),this.session.storeIdentityToken(s.identity_token)]),"clear"===e&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===e&&s.token&&(await this.session.storeToken(s.token),s.identity_token&&await this.session.storeIdentityToken(s.identity_token)),s}catch(t){throw(t instanceof 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}async getIdentityToken(){return await this.session.getIdentityToken()}}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.25.1-beta-20240731190849";_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":y,"privy-refresh-token":f}=l(d.headers);return y&&(p.token=y),f&&(p.refresh_token=f),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),this.session.storeIdentityToken(s.identity_token)]),"clear"===e&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===e&&s.token&&(await this.session.storeToken(s.token),s.identity_token&&await this.session.storeIdentityToken(s.identity_token)),s}catch(t){throw(t instanceof 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}async getIdentityToken(){return await this.session.getIdentityToken()}}export{p as PrivyInternal};
2
2
  //# sourceMappingURL=PrivyInternal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivyInternal.js","sources":["../src/PrivyInternal.ts"],"sourcesContent":[null],"names":["CLIENT_ANALYTICS_ID_KEY","PrivyInternal","baseUrl","_config","appId","appClientId","_storage","_analyticsId","_sdkVersion","_fetch","nativeAppIdentifier","callbacks","_cache","Map","session","constructor","o","this","storage","_getOrGenerateClientAnalyticsId","sdkVersion","document","Session","isUsingServerCookies","rfetch","fetch","retries","retryDelay","isReady","Boolean","config","caid","_initialize","getAppConfig","custom_api_url","setIsReady","createAnalyticsEvent","r","body","params","headers","options","onRequest","_beforeRequest","bind","url","getPathWithParams","path","request","Request","method","JSON","stringify","requestInit","res","json","status","PrivyApiError","httpOnlyToken","httpOnlyRefreshToken","getHttpOnlyHeaderCookies","token","refresh_token","_beforeRequestWithoutInitialize","getToken","Headers","set","signal","toAbortSignalTimeout","credentials","beforeRequestWithoutRefresh","getAccessToken","AppConfig","app_id","clientAnalyticsId","get","length","e","console","error","uuid","put","destroyClientAnalyticsId","del","name","properties","AnalyticsEvent","event_name","client_id","payload","refreshSession","refreshToken","getRefreshToken","undefined","key","cached","promise","_refreshSession","delete","hasRefreshCredentials","Error","session_update_action","RefreshSession","setUser","user","Promise","all","storeToken","storeRefreshToken","storeIdentityToken","identity_token","destroyLocalState","code","PrivyErrorCode","MISSING_OR_INVALID_TOKEN","message","tokenIsActive","getIdentityToken"],"mappings":"qgBAmDA,MACMA,EAA0B,mBAOnBC,EACXC,QACQC,QAECC,MACAC,YACQC,SAOTC,aAGSC,YAAsB,qBACtBC,OAGRC,oBAGAC,UAMQC,OAAS,IAAIC,IAKvBC,QAUP,WAAAC,CAAYC,GAEVC,KAAKX,SAAWU,EAAEE,QAClBD,KAAKV,aAAe,KACfU,KAAKE,kCAEVF,KAAKf,QAAUc,EAAEd,SA1DS,wBA2D1Be,KAAKb,MAAQY,EAAEZ,MACfa,KAAKZ,YAAcW,EAAEX,YACrBY,KAAKT,YAAcQ,EAAEI,YAAcH,KAAKT,YACxCS,KAAKN,UAAYK,EAAEL,UAKK,oBAAbU,WACTJ,KAAKP,oBAAsBM,EAAEN,qBAG/BO,KAAKH,QAAU,IAAIQ,EAAQ,CACzBJ,QAASD,KAAKX,SACdiB,sBAAsB,IAOxBN,KAAKR,OAASe,EAAOC,MAAO,CAC1BC,QAAS,EACTC,WAAY,KAEf,CAOD,WAAIC,GACF,OAAOC,QAAQZ,KAAKd,QACrB,CAKD,UAAI2B,GACF,OAAOb,KAAKd,OACb,CASD,QAAI4B,GACF,OAAOd,KAAKV,YACb,CAOO,iBAAMyB,GACRf,KAAKW,UAITX,KAAKd,cAAgBc,KAAKgB,eAEtBhB,KAAKd,SAAS+B,iBAChBjB,KAAKf,QAAUe,KAAKd,QAAQ+B,eAC5BjB,KAAKH,QAAQS,sBAAuB,GAGtCN,KAAKN,WAAWwB,cAAa,GAIxBlB,KAAKmB,qBAAqB,iBAAkB,CAAE,GACpD,CAKD,WAAMX,CACJY,GACAC,KACEA,EAAIC,OACJA,EAAMC,QACNA,EAAOC,QACPA,EAAU,CAACC,UAAWzB,KAAK0B,eAAeC,KAAK3B,SAUjD,MAAM4B,EAAM,GAAG5B,KAAKf,UAAU4C,EAAkBT,EAAEU,KAAMR,KAClDS,EAAU,IAAIC,QAAQJ,EAAK,CAC/BK,OAAQb,EAAEa,OACVZ,KAAMa,KAAKC,UAAUd,GACrBE,YAEIa,QAAoBZ,EAAQC,UAAUM,GACtCM,QAAYrC,KAAKR,OAAOuC,EAASK,GAEjCE,QAAaD,EAAIC,OAEvB,GAAID,EAAIE,OAAS,IACf,MAAM,IAAIC,EAAcF,GAG1B,GAAwB,oBAAblC,WAA6BJ,KAAKP,oBAG3C,OAAO6C,EAGT,MAAO,cAAiBG,EAAe,sBAAyBC,GAC9DC,EAAyBN,EAAId,SAK/B,OAHIkB,IAAeH,EAAKM,MAAQH,GAC5BC,IAAsBJ,EAAKO,cAAgBH,GAExCJ,CACR,CAUO,qCAAMQ,CAAgCf,GAC5C,MAAMa,QAAc5C,KAAKH,QAAQkD,WAC3BxB,EAAU,IAAIyB,QAAQjB,EAAQR,SACpCA,EAAQ0B,IAAI,eAAgBjD,KAAKb,OAC7Ba,KAAKZ,aAAamC,EAAQ0B,IAAI,kBAAmBjD,KAAKZ,aAC1DmC,EAAQ0B,IAAI,eAAgBjD,KAAKT,aACjCgC,EAAQ0B,IAAI,gBAAiB,UAAUL,KACvCrB,EAAQ0B,IAAI,eAAgB,oBAC5B1B,EAAQ0B,IAAI,SAAU,oBAEtB,MAAMnC,QAAad,KAAKE,kCAUxB,OARIY,GACFS,EAAQ0B,IAAI,cAAenC,GAGzBd,KAAKP,qBACP8B,EAAQ0B,IAAI,0BAA2BjD,KAAKP,qBAGvC,CAELyD,OAAQC,EAAqB,KAC7B5B,UACA6B,YAAa,UAEhB,CAYM,iCAAMC,CAA4BtB,GAIvC,aAFM/B,KAAKe,cAEJf,KAAK8C,gCAAgCf,EAC7C,CAWO,oBAAML,CAAeK,GAO3B,aALM/B,KAAKe,oBAGLf,KAAKsD,iBAEJtD,KAAKqD,4BAA4BtB,EACzC,CAQM,kBAAMf,GACX,aAAahB,KAAKQ,MAAM+C,EAAW,CACjCjC,OAAQ,CAACkC,OAAQxD,KAAKb,OACtBqC,QAAS,CACPC,UAAWzB,KAAK8C,gCAAgCnB,KAAK3B,QAG1D,CAKO,qCAAME,GACZ,GAAIF,KAAKV,aACP,OAAOU,KAAKV,aAGd,IACE,MAAMmE,QAA0BzD,KAAKX,SAASqE,IAAI3E,GAClD,GAAiC,iBAAtB0E,GAAkCA,EAAkBE,OAAS,EAEtE,OADA3D,KAAKV,aAAemE,EACbA,CAEV,CAAC,MAAOG,GACPC,QAAQC,MAAM,0BAA2BF,EAC1C,CAED,IACE5D,KAAKV,aAAeyE,GACrB,CAAC,MAAOH,GACPC,QAAQC,MAAM,4BAA6BF,EAC5C,CAED,IAAK5D,KAAKV,aACR,OAAO,KAGT,UACQU,KAAKX,SAAS2E,IAAIjF,EAAyBiB,KAAKV,aACvD,CAAC,MAAOsE,GACPC,QAAQC,MAAM,6BAA6B9D,KAAKV,eAAgBsE,EACjE,CAED,OAAO5D,KAAKV,YACb,CAIM,8BAAM2E,GACX,IACE,aAAajE,KAAKX,SAAS6E,IAAInF,EAChC,CAAC,MAAO6E,GACPC,QAAQC,MAAM,4BAA6BF,EAC5C,CACF,CAUM,0BAAMzC,CAAqBgD,EAAcC,GAC9C,UACQpE,KAAKQ,MAAM6D,EAAgB,CAC/BhD,KAAM,CACJiD,WAAYH,EACZI,gBAAiBvE,KAAKE,kCACtBsE,QAASJ,GAEX5C,QAAS,CACPC,UAAWzB,KAAKqD,4BAA4B1B,KAAK3B,QAGtD,CAAC,MAAO4D,GAER,CACF,CAQM,oBAAMa,GACX,MAAMC,QAAsB1E,KAAKH,QAAQ8E,wBAAsBC,EAIzDC,EAAMH,GAAgB,MAEtBI,EAAS9E,KAAKL,OAAO+D,IAAImB,GAC/B,GAAIC,EACF,aAAaA,EAGf,MAAMC,EAAU/E,KAAKgF,gBAAgBN,GAErC1E,KAAKL,OAAOsD,IAAI4B,EAAKE,GAErB,IACE,aAAaA,CACd,CAAC,MAAOnB,GACP,MAAMA,CACP,CAAS,QACR5D,KAAKL,OAAOsF,OAAOJ,EACpB,CACF,CAMO,qBAAMG,CAAgBN,GAY5B,MAAM9B,QAAc5C,KAAKH,QAAQkD,WACjC,IAAK/C,KAAKH,QAAQqF,sBAAsBtC,EAAO8B,GAAgB,MAE7D,YADM1E,KAAKe,cACL,IAAIoE,MAAM,4BAGlB,IACE,MAAMC,sBAACA,KAA0B/C,SAAarC,KAAKQ,MAAM6E,EAAgB,CACvEhE,KAAM,CAACwB,cAAe6B,GACtBlD,QAAS,CACPC,UAAWzB,KAAKqD,4BAA4B1B,KAAK3B,SA+BrD,OA3BAA,KAAKN,WAAW4F,UAAUjD,EAAIkD,MAEA,QAA1BH,SACII,QAAQC,IAAI,CAChBzF,KAAKH,QAAQ6F,WAAWrD,EAAIO,OAC5B5C,KAAKH,QAAQ8F,kBAAkBtD,EAAIQ,eACnC7C,KAAKH,QAAQ+F,mBAAmBvD,EAAIwD,kBAIV,UAA1BT,UACIpF,KAAKH,QAAQiG,oBACnB9F,KAAKN,WAAW4F,UAAU,OAME,WAA1BF,GAAsC/C,EAAIO,cACtC5C,KAAKH,QAAQ6F,WAAWrD,EAAIO,OAG9BP,EAAIwD,sBACA7F,KAAKH,QAAQ+F,mBAAmBvD,EAAIwD,iBAIvCxD,CACR,CAAC,MAAOyB,GAeP,MAbEA,aAAiBtB,GACjBsB,EAAMiC,OAASC,EAAeC,0BAMrBnC,aAAiBqB,OAA2B,6BAAlBrB,EAAMoC,iBAFnClG,KAAKH,QAAQiG,oBACnB9F,KAAKN,WAAW4F,UAAU,OAOtBxB,CACP,CACF,CAEM,oBAAMR,GACX,MAAOV,EAAO8B,SAAsBc,QAAQC,IAAI,CAC9CzF,KAAKH,QAAQkD,WACb/C,KAAKH,QAAQ8E,oBAGf,IACG3E,KAAKH,QAAQsG,cAAcvD,IAC5B5C,KAAKH,QAAQqF,sBAAsBtC,EAAO8B,GAE1C,IAIE,aAHM1E,KAAKyE,uBAGEzE,KAAKH,QAAQkD,UAC3B,CAAC,MAAOe,GACP,OAAO,IACR,CAGH,OAAOlB,CACR,CAEM,sBAAMwD,GACX,aAAapG,KAAKH,QAAQuG,kBAC3B"}
1
+ {"version":3,"file":"PrivyInternal.js","sources":["../src/PrivyInternal.ts"],"sourcesContent":[null],"names":["CLIENT_ANALYTICS_ID_KEY","PrivyInternal","baseUrl","_config","appId","appClientId","_storage","_analyticsId","_sdkVersion","_fetch","nativeAppIdentifier","callbacks","_cache","Map","session","constructor","o","this","storage","_getOrGenerateClientAnalyticsId","sdkVersion","document","Session","isUsingServerCookies","rfetch","fetch","retries","retryDelay","isReady","Boolean","config","caid","_initialize","getAppConfig","custom_api_url","setIsReady","createAnalyticsEvent","r","body","params","headers","options","onRequest","_beforeRequest","bind","url","getPathWithParams","path","request","Request","method","JSON","stringify","requestInit","res","json","status","PrivyApiError","httpOnlyToken","httpOnlyRefreshToken","getHttpOnlyHeaderCookies","token","refresh_token","_beforeRequestWithoutInitialize","getToken","Headers","set","signal","toAbortSignalTimeout","credentials","beforeRequestWithoutRefresh","getAccessToken","AppConfig","app_id","clientAnalyticsId","get","length","e","console","error","uuid","put","destroyClientAnalyticsId","del","name","properties","AnalyticsEvent","event_name","client_id","payload","refreshSession","refreshToken","getRefreshToken","undefined","key","cached","promise","_refreshSession","delete","hasRefreshCredentials","Error","session_update_action","RefreshSession","setUser","user","Promise","all","storeToken","storeRefreshToken","storeIdentityToken","identity_token","destroyLocalState","code","PrivyErrorCode","MISSING_OR_INVALID_TOKEN","message","tokenIsActive","getIdentityToken"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import r from"./RecoveryICloudApi.js";import t from"./RecoveryOAuthApi.js";import"@privy-io/public-api";import"./Error.js";import"./pkce.js";import"jose";class i{_privyInternal;auth;icloudAuth;constructor(i,o,p){this._privyInternal=i,this.auth=new t(this._privyInternal,o,p),this.icloudAuth=new r(this._privyInternal)}}export{i as default};
1
+ import{RecoveryKeyMaterial as r}from"@privy-io/public-api";import t from"./RecoveryICloudApi.js";import i from"./RecoveryOAuthApi.js";import"./Error.js";import"./pkce.js";import"jose";class e{_privyInternal;auth;icloudAuth;constructor(r,e,o){this._privyInternal=r,this.auth=new i(this._privyInternal,e,o),this.icloudAuth=new t(this._privyInternal)}async getRecoveryKeyMaterial(t,i){return this._privyInternal.fetch(r,{body:{chain_type:i},params:{address:t}})}}export{e as default};
2
2
  //# sourceMappingURL=RecoveryApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryApi.js","sources":["../src/RecoveryApi.ts"],"sourcesContent":[null],"names":["RecoveryApi","_privyInternal","auth","icloudAuth","constructor","privyInternal","storage","crypto","this","RecoveryOAuthApi","RecoveryICloudApi"],"mappings":"0JAMc,MAAOA,EAIFC,eAKRC,KAKAC,WAGT,WAAAC,CACEC,EACAC,EACAC,GAEAC,KAAKP,eAAiBI,EAEtBG,KAAKN,KAAO,IAAIO,EAAiBD,KAAKP,eAAgBK,EAASC,GAC/DC,KAAKL,WAAa,IAAIO,EAAkBF,KAAKP,eAC9C"}
1
+ {"version":3,"file":"RecoveryApi.js","sources":["../src/RecoveryApi.ts"],"sourcesContent":[null],"names":["RecoveryApi","_privyInternal","auth","icloudAuth","constructor","privyInternal","storage","crypto","this","RecoveryOAuthApi","RecoveryICloudApi","getRecoveryKeyMaterial","address","chain_type","fetch","RecoveryKeyMaterial","body","params"],"mappings":"wLAQc,MAAOA,EAIFC,eAKRC,KAKAC,WAGT,WAAAC,CACEC,EACAC,EACAC,GAEAC,KAAKP,eAAiBI,EAEtBG,KAAKN,KAAO,IAAIO,EAAiBD,KAAKP,eAAgBK,EAASC,GAC/DC,KAAKL,WAAa,IAAIO,EAAkBF,KAAKP,eAC9C,CAQM,4BAAMU,CAAuBC,EAAiBC,GACnD,OAAOL,KAAKP,eAAea,MAAMC,EAAqB,CACpDC,KAAM,CACJH,cAEFI,OAAQ,CACNL,YAGL"}
@@ -1,2 +1,2 @@
1
- import{RecoveryOAuthInitICloud as t}from"@privy-io/public-api";class r{_privyInternal;constructor(t){this._privyInternal=t}async init(r){return this._privyInternal.fetch(t,{body:{client_type:r}})}}export{r as default};
1
+ import{RecoveryOAuthInitICloud as t,RecoveryConfigurationICloud as r}from"@privy-io/public-api";class i{_privyInternal;constructor(t){this._privyInternal=t}async init(r){return this._privyInternal.fetch(t,{body:{client_type:r}})}async getICloudConfiguration(t){return this._privyInternal.fetch(r,{body:{client_type:t}})}}export{i as default};
2
2
  //# sourceMappingURL=RecoveryICloudApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryICloudApi.js","sources":["../src/RecoveryICloudApi.ts"],"sourcesContent":[null],"names":["RecoveryICloudApi","_privyInternal","constructor","privyInternal","this","init","client_type","fetch","RecoveryOAuthInitICloud","body"],"mappings":"+DAIc,MAAOA,EAIFC,eAKjB,WAAAC,CAAmBC,GACjBC,KAAKH,eAAiBE,CACvB,CAQM,UAAME,CAAKC,GAChB,OAAOF,KAAKH,eAAeM,MAAMC,EAAyB,CACxDC,KAAM,CACJH,gBAGL"}
1
+ {"version":3,"file":"RecoveryICloudApi.js","sources":["../src/RecoveryICloudApi.ts"],"sourcesContent":[null],"names":["RecoveryICloudApi","_privyInternal","constructor","privyInternal","this","init","client_type","fetch","RecoveryOAuthInitICloud","body","getICloudConfiguration","RecoveryConfigurationICloud"],"mappings":"gGAIc,MAAOA,EAIFC,eAKjB,WAAAC,CAAmBC,GACjBC,KAAKH,eAAiBE,CACvB,CAQM,UAAME,CAAKC,GAChB,OAAOF,KAAKH,eAAeM,MAAMC,EAAyB,CACxDC,KAAM,CACJH,gBAGL,CAOM,4BAAMI,CAAuBJ,GAClC,OAAOF,KAAKH,eAAeM,MAAMI,EAA6B,CAC5DF,KAAM,CACJH,gBAGL"}
@@ -46,10 +46,10 @@ export default class EmailApi {
46
46
  } | {
47
47
  type: "wallet";
48
48
  address: string;
49
+ chain_type: "ethereum";
49
50
  verified_at: number;
50
51
  first_verified_at: number | null;
51
52
  latest_verified_at: number | null;
52
- chain_type: "ethereum";
53
53
  wallet_client: "unknown";
54
54
  chain_id?: string | undefined;
55
55
  wallet_client_type?: string | undefined;
@@ -94,11 +94,11 @@ export default class EmailApi {
94
94
  } | {
95
95
  type: "wallet";
96
96
  address: string;
97
+ chain_type: "ethereum";
97
98
  verified_at: number;
98
99
  first_verified_at: number | null;
99
100
  latest_verified_at: number | null;
100
101
  chain_id: "eip155:1";
101
- chain_type: "ethereum";
102
102
  wallet_client: "privy";
103
103
  wallet_client_type: "privy";
104
104
  connector_type: "embedded";
@@ -109,10 +109,10 @@ export default class EmailApi {
109
109
  type: "wallet";
110
110
  address: string;
111
111
  public_key: string;
112
+ chain_type: "solana";
112
113
  verified_at: number;
113
114
  first_verified_at: number | null;
114
115
  latest_verified_at: number | null;
115
- chain_type: "solana";
116
116
  wallet_client_type: "privy";
117
117
  connector_type: "embedded";
118
118
  imported: boolean;
@@ -240,10 +240,10 @@ export default class EmailApi {
240
240
  } | {
241
241
  type: "wallet";
242
242
  address: string;
243
+ chain_type: "ethereum";
243
244
  verified_at: number;
244
245
  first_verified_at: number | null;
245
246
  latest_verified_at: number | null;
246
- chain_type: "ethereum";
247
247
  wallet_client: "unknown";
248
248
  chain_id?: string | undefined;
249
249
  wallet_client_type?: string | undefined;
@@ -288,11 +288,11 @@ export default class EmailApi {
288
288
  } | {
289
289
  type: "wallet";
290
290
  address: string;
291
+ chain_type: "ethereum";
291
292
  verified_at: number;
292
293
  first_verified_at: number | null;
293
294
  latest_verified_at: number | null;
294
295
  chain_id: "eip155:1";
295
- chain_type: "ethereum";
296
296
  wallet_client: "privy";
297
297
  wallet_client_type: "privy";
298
298
  connector_type: "embedded";
@@ -303,10 +303,10 @@ export default class EmailApi {
303
303
  type: "wallet";
304
304
  address: string;
305
305
  public_key: string;
306
+ chain_type: "solana";
306
307
  verified_at: number;
307
308
  first_verified_at: number | null;
308
309
  latest_verified_at: number | null;
309
- chain_type: "solana";
310
310
  wallet_client_type: "privy";
311
311
  connector_type: "embedded";
312
312
  imported: boolean;
@@ -1,6 +1,6 @@
1
1
  import type { PrivyEthereumEmbeddedWalletAccount, PrivySolanaEmbeddedWalletAccount, PrivyUser } from '@privy-io/public-api/schemas';
2
2
  import { EmbeddedSolanaWalletProvider, EmbeddedWalletProvider } from './embedded';
3
- import type { EmbeddedWalletRecoveryOptions, PrivyResponseEvent, SetRecoveryInput } from './embedded/types';
3
+ import type { IEmbeddedWalletRecoveryOptions, PrivyResponseEvent, SetRecoveryInput } from './embedded/types';
4
4
  /** Options for creating the Solana embedded wallet */
5
5
  type CreateSolanaOpts = {
6
6
  /**
@@ -17,7 +17,7 @@ export default class EmbeddedWalletApi {
17
17
  * @param password Recovery password for the embedded wallet
18
18
  * @returns EmbeddedWalletProvider implementing EIP1193Provider
19
19
  */
20
- create(password?: string, recoveryMethod?: EmbeddedWalletRecoveryOptions, recoveryToken?: string): Promise<{
20
+ create(password?: string, recoveryMethod?: IEmbeddedWalletRecoveryOptions, recoveryToken?: string, recoverySecretOverride?: string, iCloudRecordNameOverride?: string): Promise<{
21
21
  user: PrivyUser;
22
22
  provider: EmbeddedWalletProvider;
23
23
  }>;
@@ -38,7 +38,7 @@ export default class EmbeddedWalletApi {
38
38
  * @param password Recovery password for the embedded wallet
39
39
  * @returns EmbeddedWalletProvider implementing EIP1193Provider
40
40
  */
41
- getProvider(wallet: PrivyEthereumEmbeddedWalletAccount, password?: string, recoveryToken?: string): Promise<EmbeddedWalletProvider>;
41
+ getProvider(wallet: PrivyEthereumEmbeddedWalletAccount, password?: string, recoveryToken?: string, recoverySecretOverride?: string): Promise<EmbeddedWalletProvider>;
42
42
  /**
43
43
  * Retrieve this users embedded Solana wallet.
44
44
  * If the wallet has never been used on this device recover.
@@ -57,10 +57,10 @@ export default class FarcasterApi {
57
57
  } | {
58
58
  type: "wallet";
59
59
  address: string;
60
+ chain_type: "ethereum";
60
61
  verified_at: number;
61
62
  first_verified_at: number | null;
62
63
  latest_verified_at: number | null;
63
- chain_type: "ethereum";
64
64
  wallet_client: "unknown";
65
65
  chain_id?: string | undefined;
66
66
  wallet_client_type?: string | undefined;
@@ -105,11 +105,11 @@ export default class FarcasterApi {
105
105
  } | {
106
106
  type: "wallet";
107
107
  address: string;
108
+ chain_type: "ethereum";
108
109
  verified_at: number;
109
110
  first_verified_at: number | null;
110
111
  latest_verified_at: number | null;
111
112
  chain_id: "eip155:1";
112
- chain_type: "ethereum";
113
113
  wallet_client: "privy";
114
114
  wallet_client_type: "privy";
115
115
  connector_type: "embedded";
@@ -120,10 +120,10 @@ export default class FarcasterApi {
120
120
  type: "wallet";
121
121
  address: string;
122
122
  public_key: string;
123
+ chain_type: "solana";
123
124
  verified_at: number;
124
125
  first_verified_at: number | null;
125
126
  latest_verified_at: number | null;
126
- chain_type: "solana";
127
127
  wallet_client_type: "privy";
128
128
  connector_type: "embedded";
129
129
  imported: boolean;
@@ -256,10 +256,10 @@ export default class FarcasterApi {
256
256
  } | {
257
257
  type: "wallet";
258
258
  address: string;
259
+ chain_type: "ethereum";
259
260
  verified_at: number;
260
261
  first_verified_at: number | null;
261
262
  latest_verified_at: number | null;
262
- chain_type: "ethereum";
263
263
  wallet_client: "unknown";
264
264
  chain_id?: string | undefined;
265
265
  wallet_client_type?: string | undefined;
@@ -304,11 +304,11 @@ export default class FarcasterApi {
304
304
  } | {
305
305
  type: "wallet";
306
306
  address: string;
307
+ chain_type: "ethereum";
307
308
  verified_at: number;
308
309
  first_verified_at: number | null;
309
310
  latest_verified_at: number | null;
310
311
  chain_id: "eip155:1";
311
- chain_type: "ethereum";
312
312
  wallet_client: "privy";
313
313
  wallet_client_type: "privy";
314
314
  connector_type: "embedded";
@@ -319,10 +319,10 @@ export default class FarcasterApi {
319
319
  type: "wallet";
320
320
  address: string;
321
321
  public_key: string;
322
+ chain_type: "solana";
322
323
  verified_at: number;
323
324
  first_verified_at: number | null;
324
325
  latest_verified_at: number | null;
325
- chain_type: "solana";
326
326
  wallet_client_type: "privy";
327
327
  connector_type: "embedded";
328
328
  imported: boolean;
@@ -48,10 +48,10 @@ export default class OAuthApi {
48
48
  } | {
49
49
  type: "wallet";
50
50
  address: string;
51
+ chain_type: "ethereum";
51
52
  verified_at: number;
52
53
  first_verified_at: number | null;
53
54
  latest_verified_at: number | null;
54
- chain_type: "ethereum";
55
55
  wallet_client: "unknown";
56
56
  chain_id?: string | undefined;
57
57
  wallet_client_type?: string | undefined;
@@ -96,11 +96,11 @@ export default class OAuthApi {
96
96
  } | {
97
97
  type: "wallet";
98
98
  address: string;
99
+ chain_type: "ethereum";
99
100
  verified_at: number;
100
101
  first_verified_at: number | null;
101
102
  latest_verified_at: number | null;
102
103
  chain_id: "eip155:1";
103
- chain_type: "ethereum";
104
104
  wallet_client: "privy";
105
105
  wallet_client_type: "privy";
106
106
  connector_type: "embedded";
@@ -111,10 +111,10 @@ export default class OAuthApi {
111
111
  type: "wallet";
112
112
  address: string;
113
113
  public_key: string;
114
+ chain_type: "solana";
114
115
  verified_at: number;
115
116
  first_verified_at: number | null;
116
117
  latest_verified_at: number | null;
117
- chain_type: "solana";
118
118
  wallet_client_type: "privy";
119
119
  connector_type: "embedded";
120
120
  imported: boolean;
@@ -248,10 +248,10 @@ export default class OAuthApi {
248
248
  } | {
249
249
  type: "wallet";
250
250
  address: string;
251
+ chain_type: "ethereum";
251
252
  verified_at: number;
252
253
  first_verified_at: number | null;
253
254
  latest_verified_at: number | null;
254
- chain_type: "ethereum";
255
255
  wallet_client: "unknown";
256
256
  chain_id?: string | undefined;
257
257
  wallet_client_type?: string | undefined;
@@ -296,11 +296,11 @@ export default class OAuthApi {
296
296
  } | {
297
297
  type: "wallet";
298
298
  address: string;
299
+ chain_type: "ethereum";
299
300
  verified_at: number;
300
301
  first_verified_at: number | null;
301
302
  latest_verified_at: number | null;
302
303
  chain_id: "eip155:1";
303
- chain_type: "ethereum";
304
304
  wallet_client: "privy";
305
305
  wallet_client_type: "privy";
306
306
  connector_type: "embedded";
@@ -311,10 +311,10 @@ export default class OAuthApi {
311
311
  type: "wallet";
312
312
  address: string;
313
313
  public_key: string;
314
+ chain_type: "solana";
314
315
  verified_at: number;
315
316
  first_verified_at: number | null;
316
317
  latest_verified_at: number | null;
317
- chain_type: "solana";
318
318
  wallet_client_type: "privy";
319
319
  connector_type: "embedded";
320
320
  imported: boolean;
@@ -46,10 +46,10 @@ export default class PhoneApi {
46
46
  } | {
47
47
  type: "wallet";
48
48
  address: string;
49
+ chain_type: "ethereum";
49
50
  verified_at: number;
50
51
  first_verified_at: number | null;
51
52
  latest_verified_at: number | null;
52
- chain_type: "ethereum";
53
53
  wallet_client: "unknown";
54
54
  chain_id?: string | undefined;
55
55
  wallet_client_type?: string | undefined;
@@ -94,11 +94,11 @@ export default class PhoneApi {
94
94
  } | {
95
95
  type: "wallet";
96
96
  address: string;
97
+ chain_type: "ethereum";
97
98
  verified_at: number;
98
99
  first_verified_at: number | null;
99
100
  latest_verified_at: number | null;
100
101
  chain_id: "eip155:1";
101
- chain_type: "ethereum";
102
102
  wallet_client: "privy";
103
103
  wallet_client_type: "privy";
104
104
  connector_type: "embedded";
@@ -109,10 +109,10 @@ export default class PhoneApi {
109
109
  type: "wallet";
110
110
  address: string;
111
111
  public_key: string;
112
+ chain_type: "solana";
112
113
  verified_at: number;
113
114
  first_verified_at: number | null;
114
115
  latest_verified_at: number | null;
115
- chain_type: "solana";
116
116
  wallet_client_type: "privy";
117
117
  connector_type: "embedded";
118
118
  imported: boolean;
@@ -240,10 +240,10 @@ export default class PhoneApi {
240
240
  } | {
241
241
  type: "wallet";
242
242
  address: string;
243
+ chain_type: "ethereum";
243
244
  verified_at: number;
244
245
  first_verified_at: number | null;
245
246
  latest_verified_at: number | null;
246
- chain_type: "ethereum";
247
247
  wallet_client: "unknown";
248
248
  chain_id?: string | undefined;
249
249
  wallet_client_type?: string | undefined;
@@ -288,11 +288,11 @@ export default class PhoneApi {
288
288
  } | {
289
289
  type: "wallet";
290
290
  address: string;
291
+ chain_type: "ethereum";
291
292
  verified_at: number;
292
293
  first_verified_at: number | null;
293
294
  latest_verified_at: number | null;
294
295
  chain_id: "eip155:1";
295
- chain_type: "ethereum";
296
296
  wallet_client: "privy";
297
297
  wallet_client_type: "privy";
298
298
  connector_type: "embedded";
@@ -303,10 +303,10 @@ export default class PhoneApi {
303
303
  type: "wallet";
304
304
  address: string;
305
305
  public_key: string;
306
+ chain_type: "solana";
306
307
  verified_at: number;
307
308
  first_verified_at: number | null;
308
309
  latest_verified_at: number | null;
309
- chain_type: "solana";
310
310
  wallet_client_type: "privy";
311
311
  connector_type: "embedded";
312
312
  imported: boolean;
@@ -9,4 +9,11 @@ export default class RecoveryApi {
9
9
  * APIs for recovery auth with iCloud
10
10
  */
11
11
  readonly icloudAuth: RecoveryICloudApi;
12
+ /**
13
+ * Pulls the recovery material
14
+ *
15
+ * @param address The embedded wallet's address
16
+ * @param chain_type The chain_type to fetch the recovery material for
17
+ */
18
+ getRecoveryKeyMaterial(address: string, chain_type?: string): Promise<import("@privy-io/public-api").PrivyRecoveryKeyMaterialResponse>;
12
19
  }
@@ -6,4 +6,10 @@ export default class RecoveryICloudApi {
6
6
  * @param redirectURI The URL to redirect to after a successful OAuth flow
7
7
  */
8
8
  init(client_type: 'web' | 'expo-ios'): Promise<import("@privy-io/public-api").PrivyOAuthInitResponse>;
9
+ /**
10
+ * Pulls the iCloud configuration for recovery
11
+ *
12
+ * @param client_type The querying client (web | expo-ios)
13
+ */
14
+ getICloudConfiguration(client_type: 'web' | 'expo-ios'): Promise<import("@privy-io/public-api").PrivyRecoveryConfigurationICloudResponse>;
9
15
  }
@@ -30,10 +30,10 @@ export default class UserApi {
30
30
  } | {
31
31
  type: "wallet";
32
32
  address: string;
33
+ chain_type: "ethereum";
33
34
  verified_at: number;
34
35
  first_verified_at: number | null;
35
36
  latest_verified_at: number | null;
36
- chain_type: "ethereum";
37
37
  wallet_client: "unknown";
38
38
  chain_id?: string | undefined;
39
39
  wallet_client_type?: string | undefined;
@@ -78,11 +78,11 @@ export default class UserApi {
78
78
  } | {
79
79
  type: "wallet";
80
80
  address: string;
81
+ chain_type: "ethereum";
81
82
  verified_at: number;
82
83
  first_verified_at: number | null;
83
84
  latest_verified_at: number | null;
84
85
  chain_id: "eip155:1";
85
- chain_type: "ethereum";
86
86
  wallet_client: "privy";
87
87
  wallet_client_type: "privy";
88
88
  connector_type: "embedded";
@@ -93,10 +93,10 @@ export default class UserApi {
93
93
  type: "wallet";
94
94
  address: string;
95
95
  public_key: string;
96
+ chain_type: "solana";
96
97
  verified_at: number;
97
98
  first_verified_at: number | null;
98
99
  latest_verified_at: number | null;
99
- chain_type: "solana";
100
100
  wallet_client_type: "privy";
101
101
  connector_type: "embedded";
102
102
  imported: boolean;
@@ -143,8 +143,9 @@ export interface SolanaRpcResponseType {
143
143
  };
144
144
  }
145
145
  export type PrivyEventType = 'privy:iframe:ready' | 'privy:wallet:create' | 'privy:wallet:connect' | 'privy:wallet:recover' | 'privy:wallet:rpc' | 'privy:wallet:set-recovery' | 'privy:solana-wallet:create' | 'privy:solana-wallet:connect' | 'privy:solana-wallet:recover' | 'privy:solana-wallet:rpc';
146
+ export type IEmbeddedWalletRecoveryOptions = 'privy' | 'user-passcode' | 'google-drive' | 'icloud' | 'icloud-native';
147
+ export type IUserRecoveryMethod = 'user-passcode' | 'google-drive' | 'icloud' | 'icloud-native';
146
148
  export type EmbeddedWalletRecoveryOptions = 'privy' | 'user-passcode' | 'google-drive' | 'icloud';
147
- export type UserRecoveryMethod = Omit<EmbeddedWalletRecoveryOptions, 'privy'>;
148
149
  export type PasswordRecoveryInput = {
149
150
  recoveryMethod: 'user-passcode';
150
151
  password: string;
@@ -153,15 +154,22 @@ export type CloudRecoveryInput = {
153
154
  recoveryMethod: 'google-drive' | 'icloud';
154
155
  recoveryAccessToken: string;
155
156
  };
157
+ export type ICloudNativeRecoveryInput = {
158
+ recoveryMethod: 'icloud-native';
159
+ recoverySecretOverride: string;
160
+ iCloudRecordNameOverride: string;
161
+ };
156
162
  export type SetRecoveryInput = {
157
163
  wallet: PrivyEthereumEmbeddedWalletAccount;
158
- } & (PasswordRecoveryInput | CloudRecoveryInput);
164
+ } & (PasswordRecoveryInput | CloudRecoveryInput | ICloudNativeRecoveryInput);
159
165
  export type IframeReadyRequestDataType = Record<string, never>;
160
166
  export type WalletCreateRequestDataType = {
161
167
  accessToken: string;
162
168
  recoveryPassword?: string;
163
- recoveryMethod?: EmbeddedWalletRecoveryOptions;
169
+ recoveryMethod?: IEmbeddedWalletRecoveryOptions;
164
170
  recoveryAccessToken?: string;
171
+ recoverySecretOverride?: string;
172
+ iCloudRecordNameOverride?: string;
165
173
  };
166
174
  export type WalletConnectRequestDataType = {
167
175
  accessToken: string;
@@ -173,13 +181,16 @@ export type WalletRecoverRequestDataType = {
173
181
  recoveryPassword?: string;
174
182
  recoveryMethod?: string;
175
183
  recoveryAccessToken?: string;
184
+ recoverySecretOverride?: string;
176
185
  };
177
186
  export type WalletSetRecoveryRequestDataType = {
178
187
  accessToken: string;
179
188
  address: string;
180
- recoveryMethod: UserRecoveryMethod;
189
+ recoveryMethod: IUserRecoveryMethod;
181
190
  recoveryPassword?: string;
182
191
  recoveryAccessToken?: string;
192
+ recoverySecretOverride?: string;
193
+ iCloudRecordNameOverride?: string;
183
194
  };
184
195
  export type WalletRpcRequestDataType = {
185
196
  accessToken: string;