@privy-io/react-auth 1.16.0-beta.2 → 1.16.0-beta.3

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/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{useEffect as Ir,useState as S}from"react";import Mt from"axios";import jr from"axios";var tA=class extends Error{constructor(t,o){super(t);o instanceof Error&&(this.cause=o)}toString(){return`${this.type}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},bA=class extends tA{constructor(t,o,n,r){super(n,r);this.type=t;this.status=o}},d=class extends tA{constructor(t,o){super(t,o);this.type="client_error"}};var N=class extends tA{constructor(t,o){super(t,o);this.type="connector_error"}},z=e=>{if(e instanceof tA)return e;if(!jr.isAxiosError(e))return q(e);if(!e.response)return new bA("api_error",null,e.message,e);let{type:A,message:t,error:o}=e.response.data;return new bA(A||"ApiError",e.response.status,t||o,e)},q=e=>e instanceof tA?e:e instanceof Error?new d(e.message,e):new d(`Internal error: ${e}`);var so="1.16.0-beta.2";var wo="https://api.privy.io/v0",Ct=process.env.NEXT_PUBLIC_PRIVY_AUTH_URL||"https://auth.privy.io",Be="4df5e2316331463a9130964bd6078dfa",go=1e4,sA=1400,Ht=so;var ZA="privy:token",ye="privy:refresh_token",me="privy:connectors",co="walletconnect";var ve=class{constructor(A,t,o){this.appId=A,this.sdkVersion=Ht,this.client=t,this.defaults=o}async get(A,t){try{return await Mt.get(A,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...t}))}catch(o){throw z(o)}}async post(A,t,o){try{return await Mt.post(A,t,await this.buildConfig(o))}catch(n){throw z(n)}}async delete(A,t){try{return await Mt.delete(A,await this.buildConfig(t))}catch(o){throw z(o)}}async buildConfig(A){if(A=A||{},A.headers=A.headers||{},A.headers["privy-app-id"]=this.appId,A.headers["privy-client"]=`react-auth:${this.sdkVersion}`,!A.headers.authorization){let t=await this.client.getAccessToken();t!==null&&(A.headers.authorization=`Bearer ${t}`)}return{...this.defaults,...A}}};import*as io from"jose";var lA=class{static parse(A){try{return new lA(A)}catch{return null}}constructor(A){this.value=A,this._decoded=io.decodeJwt(A)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(A=0){let t=Date.now(),o=(this.expiration-A)*1e3;return t>=o}};var pA=class{constructor(A){this.promise=null;this.fn=A}execute(A){return this.promise===null&&(this.promise=(async()=>{try{return await this.fn(A)}finally{this.promise=null}})()),this.promise}};var ft=class{constructor(){this._cache={}}get(A){return this._cache[A]}put(A,t){t!==void 0?this._cache[A]=t:this.del(A)}del(A){delete this._cache[A]}getKeys(){return Object.keys(this._cache)}},pt=class{get(A){let t=localStorage.getItem(A);return t===null?void 0:JSON.parse(t)}put(A,t){t!==void 0?localStorage.setItem(A,JSON.stringify(t)):this.del(A)}del(A){localStorage.removeItem(A)}getKeys(){return Object.entries(localStorage).map(([A])=>A)}};function Gr(){return typeof window<"u"&&window.localStorage?new pt:new ft}var Z=Gr();import{ErrorCode as yr}from"@ethersproject/logger";var KA=class extends N{constructor(){super("Wallet timeout");this.type="wallet_error"}},hA=e=>{if(e instanceof N)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let A=new FA(e);return e.code===yr.ACTION_REJECTED&&(A.details=PA.E4001_USER_REJECTED_REQUEST),A}return e!=null&&e.code?new FA(e):new N("Unknown connector error",e)},ht=class extends tA{constructor(t,o,n){super(t);this.type="provider_error";this.code=o,this.data=n}},FA=class extends ht{constructor(t){var r,s,w;let o=t;super(o.message,o.code,o.data);let n=Object.values(PA).find(c=>c.eipCode===o.code);this.details=n||PA.UNKNOWN_ERROR,o.code===-32002&&((r=o.message)!=null&&r.includes("already pending for origin")?(s=o.message)!=null&&s.includes("wallet_requestPermissions")?this.details=PA.E32002_CONNECTION_ALREADY_PENDING:this.details=PA.E32002_REQUEST_ALREADY_PENDING:(w=o.message)!=null&&w.includes("Already processing")&&o.message.includes("eth_requestAccounts")&&(this.details=PA.E32002_WALLET_LOCKED))}},mr={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0}},vr={E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}},xr={E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1}},PA={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...xr,...vr},UA={...mr,...PA};var zr=12e4,ut=(e=new KA,A=zr)=>new Promise((t,o)=>setTimeout(()=>{o(e)},A)),wA=class{constructor(A){this.removeListener=(A,t)=>{if(this.walletProvider)return this.walletProvider.removeListener(A,t)};this.setProvider=A=>{this.walletProvider=A,this._subscriptions.forEach(t=>{var o;(o=this.walletProvider)==null||o.on(t.eventName,t.listener)})};this.walletProvider=A,this._subscriptions=[]}on(A,t){if(this.walletProvider)return this.walletProvider.on(A,t);this._subscriptions.push({eventName:A,listener:t})}async request(A){if(!this.walletProvider)throw new N(`A wallet request of type ${A.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(A),ut()]).catch(t=>{throw hA(t)})}},GA=class extends wA{constructor(t){super(t)}},xe=class extends wA{constructor(A){super(A)}sendAsync(A,t){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};import{getAddress as Oo}from"@ethersproject/address";import{Web3Provider as kr}from"@ethersproject/providers";import{getAddress as Rr}from"@ethersproject/address";import{Web3Provider as Nr}from"@ethersproject/providers";var dA=class{constructor(A,t,o){this.createSiweMessage=(A,t,o,n,r,s,w)=>`${o} wants you to sign in with your Ethereum account:
1
+ import{useEffect as Ir,useState as S}from"react";import Mt from"axios";import jr from"axios";var tA=class extends Error{constructor(t,o){super(t);o instanceof Error&&(this.cause=o)}toString(){return`${this.type}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},bA=class extends tA{constructor(t,o,n,r){super(n,r);this.type=t;this.status=o}},d=class extends tA{constructor(t,o){super(t,o);this.type="client_error"}};var N=class extends tA{constructor(t,o){super(t,o);this.type="connector_error"}},z=e=>{if(e instanceof tA)return e;if(!jr.isAxiosError(e))return q(e);if(!e.response)return new bA("api_error",null,e.message,e);let{type:A,message:t,error:o}=e.response.data;return new bA(A||"ApiError",e.response.status,t||o,e)},q=e=>e instanceof tA?e:e instanceof Error?new d(e.message,e):new d(`Internal error: ${e}`);var so="1.16.0-beta.3";var wo="https://api.privy.io/v0",Ct=process.env.NEXT_PUBLIC_PRIVY_AUTH_URL||"https://auth.privy.io",Be="4df5e2316331463a9130964bd6078dfa",go=1e4,sA=1400,Ht=so;var ZA="privy:token",ye="privy:refresh_token",me="privy:connectors",co="walletconnect";var ve=class{constructor(A,t,o){this.appId=A,this.sdkVersion=Ht,this.client=t,this.defaults=o}async get(A,t){try{return await Mt.get(A,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...t}))}catch(o){throw z(o)}}async post(A,t,o){try{return await Mt.post(A,t,await this.buildConfig(o))}catch(n){throw z(n)}}async delete(A,t){try{return await Mt.delete(A,await this.buildConfig(t))}catch(o){throw z(o)}}async buildConfig(A){if(A=A||{},A.headers=A.headers||{},A.headers["privy-app-id"]=this.appId,A.headers["privy-client"]=`react-auth:${this.sdkVersion}`,!A.headers.authorization){let t=await this.client.getAccessToken();t!==null&&(A.headers.authorization=`Bearer ${t}`)}return{...this.defaults,...A}}};import*as io from"jose";var lA=class{static parse(A){try{return new lA(A)}catch{return null}}constructor(A){this.value=A,this._decoded=io.decodeJwt(A)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(A=0){let t=Date.now(),o=(this.expiration-A)*1e3;return t>=o}};var pA=class{constructor(A){this.promise=null;this.fn=A}execute(A){return this.promise===null&&(this.promise=(async()=>{try{return await this.fn(A)}finally{this.promise=null}})()),this.promise}};var ft=class{constructor(){this._cache={}}get(A){return this._cache[A]}put(A,t){t!==void 0?this._cache[A]=t:this.del(A)}del(A){delete this._cache[A]}getKeys(){return Object.keys(this._cache)}},pt=class{get(A){let t=localStorage.getItem(A);return t===null?void 0:JSON.parse(t)}put(A,t){t!==void 0?localStorage.setItem(A,JSON.stringify(t)):this.del(A)}del(A){localStorage.removeItem(A)}getKeys(){return Object.entries(localStorage).map(([A])=>A)}};function Gr(){return typeof window<"u"&&window.localStorage?new pt:new ft}var Z=Gr();import{ErrorCode as yr}from"@ethersproject/logger";var KA=class extends N{constructor(){super("Wallet timeout");this.type="wallet_error"}},hA=e=>{if(e instanceof N)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let A=new FA(e);return e.code===yr.ACTION_REJECTED&&(A.details=PA.E4001_USER_REJECTED_REQUEST),A}return e!=null&&e.code?new FA(e):new N("Unknown connector error",e)},ht=class extends tA{constructor(t,o,n){super(t);this.type="provider_error";this.code=o,this.data=n}},FA=class extends ht{constructor(t){var r,s,w;let o=t;super(o.message,o.code,o.data);let n=Object.values(PA).find(c=>c.eipCode===o.code);this.details=n||PA.UNKNOWN_ERROR,o.code===-32002&&((r=o.message)!=null&&r.includes("already pending for origin")?(s=o.message)!=null&&s.includes("wallet_requestPermissions")?this.details=PA.E32002_CONNECTION_ALREADY_PENDING:this.details=PA.E32002_REQUEST_ALREADY_PENDING:(w=o.message)!=null&&w.includes("Already processing")&&o.message.includes("eth_requestAccounts")&&(this.details=PA.E32002_WALLET_LOCKED))}},mr={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0}},vr={E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}},xr={E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1}},PA={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...xr,...vr},UA={...mr,...PA};var zr=12e4,ut=(e=new KA,A=zr)=>new Promise((t,o)=>setTimeout(()=>{o(e)},A)),wA=class{constructor(A){this.removeListener=(A,t)=>{if(this.walletProvider)return this.walletProvider.removeListener(A,t)};this.setProvider=A=>{this.walletProvider=A,this._subscriptions.forEach(t=>{var o;(o=this.walletProvider)==null||o.on(t.eventName,t.listener)})};this.walletProvider=A,this._subscriptions=[]}on(A,t){if(this.walletProvider)return this.walletProvider.on(A,t);this._subscriptions.push({eventName:A,listener:t})}async request(A){if(!this.walletProvider)throw new N(`A wallet request of type ${A.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(A),ut()]).catch(t=>{throw hA(t)})}},GA=class extends wA{constructor(t){super(t)}},xe=class extends wA{constructor(A){super(A)}sendAsync(A,t){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};import{getAddress as Oo}from"@ethersproject/address";import{Web3Provider as kr}from"@ethersproject/providers";import{getAddress as Rr}from"@ethersproject/address";import{Web3Provider as Nr}from"@ethersproject/providers";var dA=class{constructor(A,t,o){this.createSiweMessage=(A,t,o,n,r,s,w)=>`${o} wants you to sign in with your Ethereum account:
2
2
  ${t}
3
3
 
4
4
  ${w}
@@ -1006,6 +1006,9 @@ Resources:
1006
1006
  display: flex;
1007
1007
  flex-direction: column;
1008
1008
  gap: 8px;
1009
+ /* Very specifically chosen to be the height if 2 lines h3 and 1 line p.
1010
+ If we then switch to 1 line h3 and 2 lines p, we don't resize. */
1011
+ min-height: 76px;
1009
1012
  `,bw=st.div`
1010
1013
  display: flex;
1011
1014
  flex-direction: column;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var xr=Object.create;var We=Object.defineProperty;var zr=Object.getOwnPropertyDescriptor;var Rr=Object.getOwnPropertyNames;var Nr=Object.getPrototypeOf,Yr=Object.prototype.hasOwnProperty;var kr=(e,A)=>{for(var t in A)We(e,t,{get:A[t],enumerable:!0})},Eo=(e,A,t,o)=>{if(A&&typeof A=="object"||typeof A=="function")for(let n of Rr(A))!Yr.call(e,n)&&n!==t&&We(e,n,{get:()=>A[n],enumerable:!(o=zr(A,n))||o.enumerable});return e};var h=(e,A,t)=>(t=e!=null?xr(Nr(e)):{},Eo(A||!e||!e.__esModule?We(t,"default",{value:e,enumerable:!0}):t,e)),Tr=e=>Eo(We({},"__esModule",{value:!0}),e);var xw={};kr(xw,{AsExternalProvider:()=>TA,ConnectorManager:()=>ie,PrivyClient:()=>Be,PrivyProvider:()=>vr,PrivyProxyProvider:()=>OA,VERSION:()=>Ve,WalletConnector:()=>EA,getAccessToken:()=>mr,usePrivy:()=>R});module.exports=Tr(xw);var L=require("react");var qe=h(require("axios"));var Io=h(require("axios")),dA=class extends Error{constructor(t,o){super(t);o instanceof Error&&(this.cause=o)}toString(){return`${this.type}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},re=class extends dA{constructor(t,o,n,r){super(n,r);this.type=t;this.status=o}},O=class extends dA{constructor(t,o){super(t,o);this.type="client_error"}};var K=class extends dA{constructor(t,o){super(t,o);this.type="connector_error"}},T=e=>{if(e instanceof dA)return e;if(!Io.default.isAxiosError(e))return rA(e);if(!e.response)return new re("api_error",null,e.message,e);let{type:A,message:t,error:o}=e.response.data;return new re(A||"ApiError",e.response.status,t||o,e)},rA=e=>e instanceof dA?e:e instanceof Error?new O(e.message,e):new O(`Internal error: ${e}`);var Qo="1.16.0-beta.2";var jo="https://api.privy.io/v0",xt=process.env.NEXT_PUBLIC_PRIVY_AUTH_URL||"https://auth.privy.io",Pe="4df5e2316331463a9130964bd6078dfa",Po=1e4,uA=1400,Ve=Qo;var se="privy:token",Se="privy:refresh_token",Xe="privy:connectors",Go="walletconnect";var Je=class{constructor(A,t,o){this.appId=A,this.sdkVersion=Ve,this.client=t,this.defaults=o}async get(A,t){try{return await qe.default.get(A,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...t}))}catch(o){throw T(o)}}async post(A,t,o){try{return await qe.default.post(A,t,await this.buildConfig(o))}catch(n){throw T(n)}}async delete(A,t){try{return await qe.default.delete(A,await this.buildConfig(t))}catch(o){throw T(o)}}async buildConfig(A){if(A=A||{},A.headers=A.headers||{},A.headers["privy-app-id"]=this.appId,A.headers["privy-client"]=`react-auth:${this.sdkVersion}`,!A.headers.authorization){let t=await this.client.getAccessToken();t!==null&&(A.headers.authorization=`Bearer ${t}`)}return{...this.defaults,...A}}};var yo=h(require("jose")),vA=class{static parse(A){try{return new vA(A)}catch{return null}}constructor(A){this.value=A,this._decoded=yo.decodeJwt(A)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(A=0){let t=Date.now(),o=(this.expiration-A)*1e3;return t>=o}};var YA=class{constructor(A){this.promise=null;this.fn=A}execute(A){return this.promise===null&&(this.promise=(async()=>{try{return await this.fn(A)}finally{this.promise=null}})()),this.promise}};var zt=class{constructor(){this._cache={}}get(A){return this._cache[A]}put(A,t){t!==void 0?this._cache[A]=t:this.del(A)}del(A){delete this._cache[A]}getKeys(){return Object.keys(this._cache)}},Rt=class{get(A){let t=localStorage.getItem(A);return t===null?void 0:JSON.parse(t)}put(A,t){t!==void 0?localStorage.setItem(A,JSON.stringify(t)):this.del(A)}del(A){localStorage.removeItem(A)}getKeys(){return Object.entries(localStorage).map(([A])=>A)}};function Zr(){return typeof window<"u"&&window.localStorage?new Rt:new zt}var X=Zr();var mo=require("@ethersproject/logger");var we=class extends K{constructor(){super("Wallet timeout");this.type="wallet_error"}},kA=e=>{if(e instanceof K)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let A=new ge(e);return e.code===mo.ErrorCode.ACTION_REJECTED&&(A.details=VA.E4001_USER_REJECTED_REQUEST),A}return e!=null&&e.code?new ge(e):new K("Unknown connector error",e)},Nt=class extends dA{constructor(t,o,n){super(t);this.type="provider_error";this.code=o,this.data=n}},ge=class extends Nt{constructor(t){var r,s,w;let o=t;super(o.message,o.code,o.data);let n=Object.values(VA).find(c=>c.eipCode===o.code);this.details=n||VA.UNKNOWN_ERROR,o.code===-32002&&((r=o.message)!=null&&r.includes("already pending for origin")?(s=o.message)!=null&&s.includes("wallet_requestPermissions")?this.details=VA.E32002_CONNECTION_ALREADY_PENDING:this.details=VA.E32002_REQUEST_ALREADY_PENDING:(w=o.message)!=null&&w.includes("Already processing")&&o.message.includes("eth_requestAccounts")&&(this.details=VA.E32002_WALLET_LOCKED))}},Kr={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0}},Fr={E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}},Ur={E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1}},VA={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...Ur,...Fr},ce={...Kr,...VA};var Lr=12e4,Yt=(e=new we,A=Lr)=>new Promise((t,o)=>setTimeout(()=>{o(e)},A)),OA=class{constructor(A){this.removeListener=(A,t)=>{if(this.walletProvider)return this.walletProvider.removeListener(A,t)};this.setProvider=A=>{this.walletProvider=A,this._subscriptions.forEach(t=>{var o;(o=this.walletProvider)==null||o.on(t.eventName,t.listener)})};this.walletProvider=A,this._subscriptions=[]}on(A,t){if(this.walletProvider)return this.walletProvider.on(A,t);this._subscriptions.push({eventName:A,listener:t})}async request(A){if(!this.walletProvider)throw new K(`A wallet request of type ${A.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(A),Yt()]).catch(t=>{throw kA(t)})}},TA=class extends OA{constructor(t){super(t)}},_e=class extends OA{constructor(A){super(A)}sendAsync(A,t){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};var Tt=require("@ethersproject/address"),To=require("@ethersproject/providers");var vo=require("@ethersproject/address");var xo=require("@ethersproject/providers"),EA=class{constructor(A,t,o){this.createSiweMessage=(A,t,o,n,r,s,w)=>`${o} wants you to sign in with your Ethereum account:
1
+ "use strict";var xr=Object.create;var We=Object.defineProperty;var zr=Object.getOwnPropertyDescriptor;var Rr=Object.getOwnPropertyNames;var Nr=Object.getPrototypeOf,Yr=Object.prototype.hasOwnProperty;var kr=(e,A)=>{for(var t in A)We(e,t,{get:A[t],enumerable:!0})},Eo=(e,A,t,o)=>{if(A&&typeof A=="object"||typeof A=="function")for(let n of Rr(A))!Yr.call(e,n)&&n!==t&&We(e,n,{get:()=>A[n],enumerable:!(o=zr(A,n))||o.enumerable});return e};var h=(e,A,t)=>(t=e!=null?xr(Nr(e)):{},Eo(A||!e||!e.__esModule?We(t,"default",{value:e,enumerable:!0}):t,e)),Tr=e=>Eo(We({},"__esModule",{value:!0}),e);var xw={};kr(xw,{AsExternalProvider:()=>TA,ConnectorManager:()=>ie,PrivyClient:()=>Be,PrivyProvider:()=>vr,PrivyProxyProvider:()=>OA,VERSION:()=>Ve,WalletConnector:()=>EA,getAccessToken:()=>mr,usePrivy:()=>R});module.exports=Tr(xw);var L=require("react");var qe=h(require("axios"));var Io=h(require("axios")),dA=class extends Error{constructor(t,o){super(t);o instanceof Error&&(this.cause=o)}toString(){return`${this.type}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},re=class extends dA{constructor(t,o,n,r){super(n,r);this.type=t;this.status=o}},O=class extends dA{constructor(t,o){super(t,o);this.type="client_error"}};var K=class extends dA{constructor(t,o){super(t,o);this.type="connector_error"}},T=e=>{if(e instanceof dA)return e;if(!Io.default.isAxiosError(e))return rA(e);if(!e.response)return new re("api_error",null,e.message,e);let{type:A,message:t,error:o}=e.response.data;return new re(A||"ApiError",e.response.status,t||o,e)},rA=e=>e instanceof dA?e:e instanceof Error?new O(e.message,e):new O(`Internal error: ${e}`);var Qo="1.16.0-beta.3";var jo="https://api.privy.io/v0",xt=process.env.NEXT_PUBLIC_PRIVY_AUTH_URL||"https://auth.privy.io",Pe="4df5e2316331463a9130964bd6078dfa",Po=1e4,uA=1400,Ve=Qo;var se="privy:token",Se="privy:refresh_token",Xe="privy:connectors",Go="walletconnect";var Je=class{constructor(A,t,o){this.appId=A,this.sdkVersion=Ve,this.client=t,this.defaults=o}async get(A,t){try{return await qe.default.get(A,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...t}))}catch(o){throw T(o)}}async post(A,t,o){try{return await qe.default.post(A,t,await this.buildConfig(o))}catch(n){throw T(n)}}async delete(A,t){try{return await qe.default.delete(A,await this.buildConfig(t))}catch(o){throw T(o)}}async buildConfig(A){if(A=A||{},A.headers=A.headers||{},A.headers["privy-app-id"]=this.appId,A.headers["privy-client"]=`react-auth:${this.sdkVersion}`,!A.headers.authorization){let t=await this.client.getAccessToken();t!==null&&(A.headers.authorization=`Bearer ${t}`)}return{...this.defaults,...A}}};var yo=h(require("jose")),vA=class{static parse(A){try{return new vA(A)}catch{return null}}constructor(A){this.value=A,this._decoded=yo.decodeJwt(A)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(A=0){let t=Date.now(),o=(this.expiration-A)*1e3;return t>=o}};var YA=class{constructor(A){this.promise=null;this.fn=A}execute(A){return this.promise===null&&(this.promise=(async()=>{try{return await this.fn(A)}finally{this.promise=null}})()),this.promise}};var zt=class{constructor(){this._cache={}}get(A){return this._cache[A]}put(A,t){t!==void 0?this._cache[A]=t:this.del(A)}del(A){delete this._cache[A]}getKeys(){return Object.keys(this._cache)}},Rt=class{get(A){let t=localStorage.getItem(A);return t===null?void 0:JSON.parse(t)}put(A,t){t!==void 0?localStorage.setItem(A,JSON.stringify(t)):this.del(A)}del(A){localStorage.removeItem(A)}getKeys(){return Object.entries(localStorage).map(([A])=>A)}};function Zr(){return typeof window<"u"&&window.localStorage?new Rt:new zt}var X=Zr();var mo=require("@ethersproject/logger");var we=class extends K{constructor(){super("Wallet timeout");this.type="wallet_error"}},kA=e=>{if(e instanceof K)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let A=new ge(e);return e.code===mo.ErrorCode.ACTION_REJECTED&&(A.details=VA.E4001_USER_REJECTED_REQUEST),A}return e!=null&&e.code?new ge(e):new K("Unknown connector error",e)},Nt=class extends dA{constructor(t,o,n){super(t);this.type="provider_error";this.code=o,this.data=n}},ge=class extends Nt{constructor(t){var r,s,w;let o=t;super(o.message,o.code,o.data);let n=Object.values(VA).find(c=>c.eipCode===o.code);this.details=n||VA.UNKNOWN_ERROR,o.code===-32002&&((r=o.message)!=null&&r.includes("already pending for origin")?(s=o.message)!=null&&s.includes("wallet_requestPermissions")?this.details=VA.E32002_CONNECTION_ALREADY_PENDING:this.details=VA.E32002_REQUEST_ALREADY_PENDING:(w=o.message)!=null&&w.includes("Already processing")&&o.message.includes("eth_requestAccounts")&&(this.details=VA.E32002_WALLET_LOCKED))}},Kr={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0}},Fr={E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}},Ur={E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1}},VA={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...Ur,...Fr},ce={...Kr,...VA};var Lr=12e4,Yt=(e=new we,A=Lr)=>new Promise((t,o)=>setTimeout(()=>{o(e)},A)),OA=class{constructor(A){this.removeListener=(A,t)=>{if(this.walletProvider)return this.walletProvider.removeListener(A,t)};this.setProvider=A=>{this.walletProvider=A,this._subscriptions.forEach(t=>{var o;(o=this.walletProvider)==null||o.on(t.eventName,t.listener)})};this.walletProvider=A,this._subscriptions=[]}on(A,t){if(this.walletProvider)return this.walletProvider.on(A,t);this._subscriptions.push({eventName:A,listener:t})}async request(A){if(!this.walletProvider)throw new K(`A wallet request of type ${A.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(A),Yt()]).catch(t=>{throw kA(t)})}},TA=class extends OA{constructor(t){super(t)}},_e=class extends OA{constructor(A){super(A)}sendAsync(A,t){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};var Tt=require("@ethersproject/address"),To=require("@ethersproject/providers");var vo=require("@ethersproject/address");var xo=require("@ethersproject/providers"),EA=class{constructor(A,t,o){this.createSiweMessage=(A,t,o,n,r,s,w)=>`${o} wants you to sign in with your Ethereum account:
2
2
  ${t}
3
3
 
4
4
  ${w}
@@ -1006,6 +1006,9 @@ Resources:
1006
1006
  display: flex;
1007
1007
  flex-direction: column;
1008
1008
  gap: 8px;
1009
+ /* Very specifically chosen to be the height if 2 lines h3 and 1 line p.
1010
+ If we then switch to 1 line h3 and 2 lines p, we don't resize. */
1011
+ min-height: 76px;
1009
1012
  `,Aw=be.default.div`
1010
1013
  display: flex;
1011
1014
  flex-direction: column;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "1.16.0-beta.2",
3
+ "version": "1.16.0-beta.3",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",