@privy-io/js-sdk-core 0.32.0 → 0.33.0-beta-20241108182016

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.
Files changed (130) hide show
  1. package/dist/ccip-37644dc1.js +1 -0
  2. package/dist/ccip-5154bda8.js +1 -0
  3. package/dist/cjs/AppApi.js +1 -0
  4. package/dist/cjs/AuthApi.js +1 -0
  5. package/dist/cjs/CustomProviderApi.js +1 -0
  6. package/dist/cjs/EmailApi.js +1 -0
  7. package/dist/cjs/EmbeddedWalletApi.js +1 -0
  8. package/dist/cjs/Error.js +1 -0
  9. package/dist/cjs/FarcasterApi.js +1 -0
  10. package/dist/cjs/GuestApi.js +1 -0
  11. package/dist/cjs/MfaApi.js +1 -0
  12. package/dist/cjs/MfaPasskeyApi.js +1 -0
  13. package/dist/cjs/MfaPromises.js +1 -0
  14. package/dist/cjs/MfaSmsApi.js +1 -0
  15. package/dist/cjs/OAuthApi.js +1 -0
  16. package/dist/cjs/PasskeyApi.js +1 -0
  17. package/dist/cjs/PhoneApi.js +1 -0
  18. package/dist/cjs/Privy.js +1 -0
  19. package/dist/cjs/PrivyInternal.js +1 -0
  20. package/dist/cjs/RecoveryApi.js +1 -0
  21. package/dist/cjs/RecoveryICloudApi.js +1 -0
  22. package/dist/cjs/RecoveryOAuthApi.js +1 -0
  23. package/dist/cjs/Session.js +1 -0
  24. package/dist/cjs/SiweApi.js +1 -0
  25. package/dist/cjs/SmartWalletApi.js +1 -0
  26. package/dist/cjs/Token.js +1 -0
  27. package/dist/cjs/UserApi.js +1 -0
  28. package/dist/cjs/chains/arbitrum.js +1 -0
  29. package/dist/cjs/chains/arbitrumGoerli.js +1 -0
  30. package/dist/cjs/chains/arbitrumSepolia.js +1 -0
  31. package/dist/cjs/chains/avalanche.js +1 -0
  32. package/dist/cjs/chains/avalancheFuji.js +1 -0
  33. package/dist/cjs/chains/base.js +1 -0
  34. package/dist/cjs/chains/baseGoerli.js +1 -0
  35. package/dist/cjs/chains/baseSepolia.js +1 -0
  36. package/dist/cjs/chains/berachainArtio.js +1 -0
  37. package/dist/cjs/chains/celo.js +1 -0
  38. package/dist/cjs/chains/celoAlfajores.js +1 -0
  39. package/dist/cjs/chains/filecoin.js +1 -0
  40. package/dist/cjs/chains/filecoinCalibration.js +1 -0
  41. package/dist/cjs/chains/garnetHolesky.js +1 -0
  42. package/dist/cjs/chains/goerli.js +1 -0
  43. package/dist/cjs/chains/holesky.js +1 -0
  44. package/dist/cjs/chains/index.js +1 -0
  45. package/dist/cjs/chains/linea.js +1 -0
  46. package/dist/cjs/chains/lineaTestnet.js +1 -0
  47. package/dist/cjs/chains/mainnet.js +1 -0
  48. package/dist/cjs/chains/optimism.js +1 -0
  49. package/dist/cjs/chains/optimismGoerli.js +1 -0
  50. package/dist/cjs/chains/optimismSepolia.js +1 -0
  51. package/dist/cjs/chains/polygon.js +1 -0
  52. package/dist/cjs/chains/polygonAmoy.js +1 -0
  53. package/dist/cjs/chains/polygonMumbai.js +1 -0
  54. package/dist/cjs/chains/redstone.js +1 -0
  55. package/dist/cjs/chains/redstoneHolesky.js +1 -0
  56. package/dist/cjs/chains/sepolia.js +1 -0
  57. package/dist/cjs/chains/types.js +1 -0
  58. package/dist/cjs/chains/zora.js +1 -0
  59. package/dist/cjs/chains/zoraSepolia.js +1 -0
  60. package/dist/cjs/chains/zoraTestnet.js +1 -0
  61. package/dist/cjs/crypto/types.js +1 -0
  62. package/dist/cjs/embedded/EmbeddedBitcoinWalletProvider.js +1 -0
  63. package/dist/cjs/embedded/EmbeddedSolanaWalletProvider.js +1 -0
  64. package/dist/cjs/embedded/EmbeddedWalletProvider.js +1 -0
  65. package/dist/cjs/embedded/EmbeddedWalletProxy.js +1 -0
  66. package/dist/cjs/embedded/EventCallbackQueue.js +1 -0
  67. package/dist/cjs/embedded/errors.js +1 -0
  68. package/dist/cjs/embedded/gas/arbitrum.js +1 -0
  69. package/dist/cjs/embedded/gas/bsc.js +1 -0
  70. package/dist/cjs/embedded/gas/op-stack.js +1 -0
  71. package/dist/cjs/embedded/gas/polygon.js +1 -0
  72. package/dist/cjs/embedded/index.js +1 -0
  73. package/dist/cjs/embedded/methods.js +1 -0
  74. package/dist/cjs/embedded/polygonGasStation.js +1 -0
  75. package/dist/cjs/embedded/types.js +1 -0
  76. package/dist/cjs/embedded/utils/ethers.js +1 -0
  77. package/dist/cjs/embedded/utils/gas.js +1 -0
  78. package/dist/cjs/embedded/utils/index.js +1 -0
  79. package/dist/cjs/embedded/withMfa.js +1 -0
  80. package/dist/cjs/index.js +1 -1
  81. package/dist/cjs/pkce.js +1 -0
  82. package/dist/cjs/smart-wallets.js +1 -0
  83. package/dist/cjs/storage/InMemoryStorage.js +1 -0
  84. package/dist/cjs/storage/LocalStorage.js +1 -0
  85. package/dist/cjs/storage/Storage.js +1 -0
  86. package/dist/cjs/toAbortSignalTimeout.js +1 -0
  87. package/dist/cjs/types.js +1 -0
  88. package/dist/cjs/utils/NonEmptyArray.js +1 -0
  89. package/dist/cjs/utils/getAllUserEmbeddedBitcoinWallets.js +1 -0
  90. package/dist/cjs/utils/getAllUserEmbeddedEthereumWallets.js +1 -0
  91. package/dist/cjs/utils/getAllUserEmbeddedSolanaWallets.js +1 -0
  92. package/dist/cjs/utils/getUserEmbeddedEthereumWallet.js +1 -0
  93. package/dist/cjs/utils/getUserEmbeddedSolanaWallet.js +1 -0
  94. package/dist/cjs/utils/getUserSmartWallet.js +1 -0
  95. package/dist/cjs/utils/phoneNumberUtils.js +1 -0
  96. package/dist/cjs/utils/toObjectKeys.js +1 -0
  97. package/dist/dts/AppApi.d.mts +80 -0
  98. package/dist/dts/AppApi.d.ts +80 -0
  99. package/dist/dts/AuthApi.d.mts +5 -0
  100. package/dist/dts/AuthApi.d.ts +5 -0
  101. package/dist/dts/EmbeddedWalletApi.d.mts +6 -1
  102. package/dist/dts/EmbeddedWalletApi.d.ts +6 -1
  103. package/dist/dts/Error.d.mts +1 -1
  104. package/dist/dts/Error.d.ts +1 -1
  105. package/dist/dts/Privy.d.mts +5 -0
  106. package/dist/dts/Privy.d.ts +5 -0
  107. package/dist/dts/SmartWalletApi.d.mts +34 -0
  108. package/dist/dts/SmartWalletApi.d.ts +34 -0
  109. package/dist/dts/embedded/utils/index.d.mts +5 -0
  110. package/dist/dts/embedded/utils/index.d.ts +5 -0
  111. package/dist/dts/index.d.mts +3 -0
  112. package/dist/dts/index.d.ts +3 -0
  113. package/dist/dts/smart-wallets.d.mts +713 -0
  114. package/dist/dts/smart-wallets.d.ts +713 -0
  115. package/dist/dts/utils/getUserSmartWallet.d.mts +12 -0
  116. package/dist/dts/utils/getUserSmartWallet.d.ts +12 -0
  117. package/dist/esm/AppApi.mjs +1 -0
  118. package/dist/esm/AuthApi.mjs +1 -1
  119. package/dist/esm/EmbeddedWalletApi.mjs +1 -1
  120. package/dist/esm/Privy.mjs +1 -1
  121. package/dist/esm/PrivyInternal.mjs +1 -1
  122. package/dist/esm/SmartWalletApi.mjs +1 -0
  123. package/dist/esm/embedded/EmbeddedSolanaWalletProvider.mjs +1 -1
  124. package/dist/esm/embedded/utils/index.mjs +1 -1
  125. package/dist/esm/index.mjs +1 -1
  126. package/dist/esm/smart-wallets.mjs +1 -0
  127. package/dist/esm/utils/getUserSmartWallet.mjs +1 -0
  128. package/dist/smart-wallets-0541c938.js +7 -0
  129. package/dist/smart-wallets-480e27c1.js +7 -0
  130. package/package.json +26 -2
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./smart-wallets-0541c938.js");require("permissionless"),require("viem");class t extends e.BaseError{constructor({callbackSelector:t,cause:r,data:a,extraData:s,sender:o,urls:n}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",n&&[" Gateway URL(s):",...n.map((t=>` ${e.getUrl(t)}`))],` Sender: ${o}`,` Data: ${a}`,` Callback selector: ${t}`,` Extra data: ${s}`].flat(),name:"OffchainLookupError"})}}class r extends e.BaseError{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${e.getUrl(r)}`,`Response: ${e.stringify(t)}`],name:"OffchainLookupResponseMalformedError"})}}class a extends e.BaseError{constructor({sender:e,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}const s={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function o({data:t,sender:a,urls:s}){let o=new Error("An unknown error occurred.");for(let n=0;n<s.length;n++){const c=s[n],d=c.includes("{data}")?"GET":"POST",i="POST"===d?{data:t,sender:a}:void 0,u="POST"===d?{"Content-Type":"application/json"}:{};try{const s=await fetch(c.replace("{sender}",a).replace("{data}",t),{body:JSON.stringify(i),headers:u,method:d});let n;if(n=s.headers.get("Content-Type")?.startsWith("application/json")?(await s.json()).data:await s.text(),!s.ok){o=new e.HttpRequestError({body:i,details:n?.error?e.stringify(n.error):s.statusText,headers:s.headers,status:s.status,url:c});continue}if(!e.isHex(n)){o=new r({result:n,url:c});continue}return n}catch(t){o=new e.HttpRequestError({body:i,details:t.message,url:c})}}throw o}exports.ccipRequest=o,exports.offchainLookup=async function(r,{blockNumber:n,blockTag:c,data:d,to:i}){const{args:u}=e.decodeErrorResult({data:d,abi:[s]}),[l,f,p,h,m]=u,{ccipRead:y}=r,w=y&&"function"==typeof y?.request?y.request:o;try{if(!function(t,r){if(!e.isAddress(t,{strict:!1}))throw new e.InvalidAddressError({address:t});if(!e.isAddress(r,{strict:!1}))throw new e.InvalidAddressError({address:r});return t.toLowerCase()===r.toLowerCase()}(i,l))throw new a({sender:l,to:i});const t=await w({data:p,sender:l,urls:f}),{data:s}=await e.call(r,{blockNumber:n,blockTag:c,data:e.concat([h,e.encodeAbiParameters([{type:"bytes"},{type:"bytes"}],[t,m])]),to:i});return s}catch(e){throw new t({callbackSelector:h,cause:e,data:d,extraData:m,sender:l,urls:f})}},exports.offchainLookupAbiItem=s,exports.offchainLookupSignature="0x556f1830";
@@ -0,0 +1 @@
1
+ import{B as e,g as a,s as t,i as s,I as r,d as n,c as o,a as c,e as d,H as l,b as i}from"./smart-wallets-480e27c1.js";import"permissionless";import"viem";class u extends e{constructor({callbackSelector:e,cause:t,data:s,extraData:r,sender:n,urls:o}){super(t.shortMessage||"An error occurred while fetching for an offchain result.",{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?"":[],"Offchain Gateway Call:",o&&[" Gateway URL(s):",...o.map((e=>` ${a(e)}`))],` Sender: ${n}`,` Data: ${s}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:"OffchainLookupError"})}}class p extends e{constructor({result:e,url:s}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${a(s)}`,`Response: ${t(e)}`],name:"OffchainLookupResponseMalformedError"})}}class f extends e{constructor({sender:e,to:a}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${a}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}const m="0x556f1830",h={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function y(e,{blockNumber:a,blockTag:t,data:l,to:i}){const{args:p}=n({data:l,abi:[h]}),[m,y,b,g,k]=p,{ccipRead:x}=e,O=x&&"function"==typeof x?.request?x.request:w;try{if(!function(e,a){if(!s(e,{strict:!1}))throw new r({address:e});if(!s(a,{strict:!1}))throw new r({address:a});return e.toLowerCase()===a.toLowerCase()}(i,m))throw new f({sender:m,to:i});const n=await O({data:b,sender:m,urls:y}),{data:l}=await o(e,{blockNumber:a,blockTag:t,data:c([g,d([{type:"bytes"},{type:"bytes"}],[n,k])]),to:i});return l}catch(e){throw new u({callbackSelector:g,cause:e,data:l,extraData:k,sender:m,urls:y})}}async function w({data:e,sender:a,urls:s}){let r=new Error("An unknown error occurred.");for(let n=0;n<s.length;n++){const o=s[n],c=o.includes("{data}")?"GET":"POST",d="POST"===c?{data:e,sender:a}:void 0,u="POST"===c?{"Content-Type":"application/json"}:{};try{const s=await fetch(o.replace("{sender}",a).replace("{data}",e),{body:JSON.stringify(d),headers:u,method:c});let n;if(n=s.headers.get("Content-Type")?.startsWith("application/json")?(await s.json()).data:await s.text(),!s.ok){r=new l({body:d,details:n?.error?t(n.error):s.statusText,headers:s.headers,status:s.status,url:o});continue}if(!i(n)){r=new p({result:n,url:o});continue}return n}catch(e){r=new l({body:d,details:e.message,url:o})}}throw r}export{w as ccipRequest,y as offchainLookup,h as offchainLookupAbiItem,m as offchainLookupSignature};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@privy-io/public-api");exports.default=class{_privyInternal;_smartWalletConfig;constructor(t){this._privyInternal=t}getConfig(){return this._privyInternal.config}async getSmartWalletConfig(){return this._smartWalletConfig||(this._smartWalletConfig=await this._privyInternal.fetch(t.GetSmartWalletConfig,{params:{app_id:this.appId}})),this._smartWalletConfig}get appId(){return this._privyInternal.appId}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),r=require("./CustomProviderApi.js"),t=require("./EmailApi.js"),i=require("./FarcasterApi.js"),s=require("./GuestApi.js"),a=require("./OAuthApi.js"),n=require("./PasskeyApi.js"),l=require("./PhoneApi.js"),o=require("./SiweApi.js"),u=require("./SmartWalletApi.js");require("./Error.js"),require("./pkce.js"),require("jose");exports.default=class{_privyInternal;customProvider;phone;email;oauth;siwe;smartWallet;passkey;farcaster;guest;constructor(e,p,h){this._privyInternal=e,this.customProvider=new r.default(this._privyInternal),this.phone=new l.default(this._privyInternal),this.email=new t.default(this._privyInternal),this.oauth=new a.default(this._privyInternal,p,h),this.guest=new s.default(this._privyInternal),this.siwe=new o.default(this._privyInternal),this.smartWallet=new u.default(this._privyInternal),this.passkey=new n.default(this._privyInternal),this.farcaster=new i.default(this._privyInternal)}async logout(){try{const r=await this._privyInternal.session.getRefreshToken()??void 0;await this._privyInternal.fetch(e.Logout,{body:{refresh_token:r}})}catch(e){console.warn("Error destroying session")}await Promise.all([this._privyInternal.session.destroyLocalState({reason:"logout"}),this._privyInternal.destroyClientAnalyticsId()]),this._privyInternal.callbacks?.setUser?.(null)}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async syncWithToken(t){const s=await this._privyInternal.fetch(e.CustomJWTAuthenticate,{body:{token:t}});return await this._privyInternal.session.updateWithTokensResponse(s),this._privyInternal.callbacks?.setUser?.(s.user),s}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(s,t){return this._privyInternal.fetch(e.PasswordlessInit,{body:{email:s,token:t}})}async loginWithCode(s,t,r){const i=await this._privyInternal.fetch(e.PasswordlessAuthenticate,{body:{email:s,code:t,mode:r}});return await this._privyInternal.session.updateWithTokensResponse(i),this._privyInternal.callbacks?.setUser?.(i.user),i}async linkWithCode(s,t){await this._privyInternal.fetch(e.PasswordlessLink,{body:{email:s,code:t}});return(await this._privyInternal.refreshSession()).user}async unlink(s){await this._privyInternal.fetch(e.PasswordlessUnlink,{body:{address:s}});return(await this._privyInternal.refreshSession()).user}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Error.js"),r=require("./chains/index.js"),t=require("./embedded/EmbeddedWalletProvider.js"),i=require("./embedded/EmbeddedSolanaWalletProvider.js"),o=require("./embedded/EmbeddedWalletProxy.js"),s=require("./embedded/EmbeddedBitcoinWalletProvider.js"),d=require("./embedded/errors.js"),a=require("./embedded/utils/index.js");require("./chains/arbitrum.js"),require("./chains/arbitrumGoerli.js"),require("./chains/arbitrumSepolia.js"),require("./chains/avalanche.js"),require("./chains/avalancheFuji.js"),require("./chains/base.js"),require("./chains/baseGoerli.js"),require("./chains/baseSepolia.js"),require("./chains/berachainArtio.js"),require("./chains/celo.js"),require("./chains/celoAlfajores.js"),require("./chains/filecoin.js"),require("./chains/filecoinCalibration.js"),require("./chains/garnetHolesky.js"),require("./chains/goerli.js"),require("./chains/holesky.js"),require("./chains/linea.js"),require("./chains/lineaTestnet.js"),require("./chains/mainnet.js"),require("./chains/optimism.js"),require("./chains/optimismGoerli.js"),require("./chains/optimismSepolia.js"),require("./chains/polygon.js"),require("./chains/polygonMumbai.js"),require("./chains/redstone.js"),require("./chains/redstoneHolesky.js"),require("./chains/sepolia.js"),require("./chains/zora.js"),require("./chains/zoraSepolia.js"),require("./chains/zoraTestnet.js"),require("eventemitter3"),require("./embedded/methods.js"),require("./embedded/EventCallbackQueue.js"),require("./embedded/withMfa.js"),require("./embedded/types.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./embedded/gas/arbitrum.js"),require("@ethersproject/bignumber"),require("./embedded/utils/ethers.js"),require("./embedded/gas/bsc.js"),require("./embedded/gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("./embedded/gas/polygon.js"),require("@ethersproject/units"),require("fetch-retry"),require("./chains/polygonAmoy.js"),require("./embedded/utils/gas.js");exports.default=class{_privyInternal;_proxy;_chains=Array.from(r.DEFAULT_SUPPORTED_CHAINS);_mfa;_mfaPromises;constructor(e,r,t,i,s){this._privyInternal=e,r&&(this._proxy=new o.EmbeddedWalletProxy(r,s),i.setProxy(this._proxy)),t&&(this._chains=t),this._mfa=i,this._mfaPromises=s}setMessagePoster(e){this._proxy=new o.EmbeddedWalletProxy(e,this._mfaPromises),this._mfa.setProxy(this._proxy)}async add(r){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const t=await this._privyInternal.getAccessToken();if(!t)throw new e.PrivyClientError({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});await this._proxy.addWallet({accessToken:t,...r});const{user:i}=await this._privyInternal.refreshSession();return{user:i}}async getBitcoinProvider({wallet:e,entropyId:r,entropyIdVerifier:t,recoveryPassword:i,recoveryAccessToken:o,recoverySecretOverride:d}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");if(!await this._privyInternal.getAccessToken())throw new Error("User must be logged in to create an embedded wallet");return await this._load({entropyId:r,entropyIdVerifier:t,wallet:e,recoveryPassword:i,recoveryAccessToken:o,recoverySecretOverride:d}),new s.EmbeddedBitcoinWalletProvider({account:e,privyInternal:this._privyInternal,proxy:this._proxy,entropyId:r,entropyIdVerifier:t})}async create(e,r,i,o,s,d){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 n=await this._privyInternal.getAccessToken();if(!n)throw new Error("User must be logged in to create an embedded wallet");const{address:c}=await this._proxy.create({accessToken:n,recoveryMethod:a,recoveryPassword:e,recoveryAccessToken:i,recoverySecretOverride:o,iCloudRecordNameOverride:s,solanaAddress:d?.address});if(!c)throw new Error("Failed to create wallet");const{user:l}=await this._privyInternal.refreshSession();return{user:l,provider:new t.EmbeddedWalletProvider({address:c,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}async createSolana(r){if(!this._proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const t=await this._privyInternal.getAccessToken();if(!t)throw new e.PrivyClientError({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.PrivyClientError({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.PrivyClientError({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});const{user:s}=await this._privyInternal.refreshSession();return{user:s,provider:new i.EmbeddedSolanaWalletProvider({proxy:this._proxy,privyInternal:this._privyInternal,entropyId:r?.ethereumAccount?.address??o,entropyIdVerifier:r?.ethereumAccount?.address?"ethereum-address-verifier":"solana-address-verifier",publicKey:o,hdWalletIndex:0})}}async createAdditionalSolana({primaryPublicKey:r,hdWalletIndex:t}){if(!this._proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_creation_error"});const o=await this._privyInternal.getAccessToken();if(!o)throw new e.PrivyClientError({error:"User must be logged in to create an embedded wallet",code:"embedded_wallet_creation_error"});const{publicKey:s}=await this._proxy.createAdditionalSolana({accessToken:o,primaryPublicKey:r,hdWalletIndex:t});if(!s)throw new e.PrivyClientError({error:"Failed to create wallet",code:"embedded_wallet_creation_error"});const{user:d}=await this._privyInternal.refreshSession();return{user:d,provider:new i.EmbeddedSolanaWalletProvider({proxy:this._proxy,privyInternal:this._privyInternal,entropyId:r,entropyIdVerifier:"solana-address-verifier",publicKey:s,hdWalletIndex:t})}}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,entropyId:t.address,entropyIdVerifier:"ethereum-address-verifier"}),!1}catch(e){return d.errorIndicatesRecoveryIsNeeded(e)}}async getProvider(e,r,i,o){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const s=await this._load({wallet:e,entropyId:e.address,entropyIdVerifier:"ethereum-address-verifier",recoveryPassword:r,recoveryAccessToken:i,recoverySecretOverride:o});return new t.EmbeddedWalletProvider({address:s,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}async getSolanaProvider(r,t,o,s,d,a){if(!this._proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});return await this._load({wallet:r,entropyId:t,entropyIdVerifier:o,recoveryPassword:s,recoveryAccessToken:d,recoverySecretOverride:a}),new i.EmbeddedSolanaWalletProvider({publicKey:r.address,privyInternal:this._privyInternal,proxy:this._proxy,entropyId:t,entropyIdVerifier:o,hdWalletIndex:r.wallet_index})}async setPassword(e,r){const{provider:t}=await this.setRecovery({wallet:e,recoveryMethod:"user-passcode",password:r});return t}async setRecovery(e){const{wallet:r,...i}=e;if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");a.throwIfInvalidRecoveryUpgradePath({currentRecoveryMethod:r.recovery_method,upgradeToRecoveryMethod:"icloud-native"===i.recoveryMethod?"icloud":i.recoveryMethod}),await this._load("solana"===r.chain_type?{wallet:r,entropyId:r.address,entropyIdVerifier:"solana-address-verifier"}:{wallet:r,entropyId:r.address,entropyIdVerifier:"ethereum-address-verifier"});const o=await this._privyInternal.getAccessToken();if(!o)throw new Error("User must be logged in to interact with embedded wallets");const s=r.recovery_method;this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_started",{address:r.address,target_recovery_method:i.recoveryMethod,existing_recovery_method:s});try{let e;if("user-passcode"===i.recoveryMethod)e={recoveryMethod:"user-passcode",recoveryPassword:i.password};else if("google-drive"===i.recoveryMethod)e={recoveryMethod:"google-drive",recoveryAccessToken:i.recoveryAccessToken};else if("icloud"===i.recoveryMethod)e={recoveryMethod:"icloud",recoveryAccessToken:i.recoveryAccessToken};else if("icloud-native"===i.recoveryMethod)e={recoveryMethod:"icloud-native",iCloudRecordNameOverride:i.iCloudRecordNameOverride,recoverySecretOverride:i.recoverySecretOverride};else{if("privy"!==i.recoveryMethod)throw new Error(`Unknown recovery method: ${i.recoveryMethod}`);e={recoveryMethod:"privy"}}await this._proxy.setRecovery({accessToken:o,entropyId:r.address,entropyIdVerifier:"solana"===r.chain_type?"solana-address-verifier":"ethereum-address-verifier",...e}),this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_completed",{address:r.address,target_recovery_method:i.recoveryMethod,existing_recovery_method:s});const{user:d}=await this._privyInternal.refreshSession();return{user:d,provider:"ethereum"!==r.chain_type?null:new t.EmbeddedWalletProvider({address:r.address,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy})}}catch(e){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_set_recovery_failed",{address:r.address,recovery_method:r.recovery_method,error:e instanceof Error?e.message:"Unable to recover wallet"}),e}}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}get chains(){return this._chains}getMessageHandler(){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages.bind(this._proxy)}onMessage(e){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");return this._proxy.handleEmbeddedWalletMessages(e)}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({entropyId:e,entropyIdVerifier:r,wallet:t,recoveryPassword:i,recoveryAccessToken:o,recoverySecretOverride:s}){if(!this._proxy)throw new Error("Embedded wallet proxy not initialized");const a=await this._privyInternal.getAccessToken();if(!a)throw new Error("User must be logged in to interact with embedded wallets");try{return await this._proxy.connect({accessToken:a,entropyId:e,entropyIdVerifier:r}),e}catch(n){if(d.errorIndicatesRecoveryIsNeeded(n)){try{if("privy"===t.recovery_method){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:t.address,recovery_method:t.recovery_method});const i=await this._proxy.recover({accessToken:a,entropyId:e,entropyIdVerifier:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:t.address,recovery_method:t.recovery_method}),i.entropyId}if("user-passcode"===t.recovery_method&&i){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:t.address,recovery_method:t.recovery_method});const o=await this._proxy.recover({accessToken:a,recoveryPassword:i,entropyId:e,entropyIdVerifier:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:t.address,recovery_method:t.recovery_method}),o.entropyId}if(["google-drive","icloud"].includes(t.recovery_method)&&o){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:t.address,recovery_method:t.recovery_method});const i=await this._proxy.recover({accessToken:a,recoveryAccessToken:o,entropyId:e,entropyIdVerifier:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:t.address,recovery_method:t.recovery_method}),i.entropyId}if("icloud"===t.recovery_method&&s){this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_started",{address:t.address,recovery_method:"icloud-native"});const i=await this._proxy.recover({accessToken:a,recoverySecretOverride:s,entropyId:e,entropyIdVerifier:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_completed",{address:t.address,recovery_method:"icloud-native"}),i.entropyId}}catch(r){throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_recovery_failed",{address:t.address,recovery_method:t.recovery_method,error:r instanceof Error?r.message:`Unable to recover wallet: ${e}`}),r}throw n}throw n}}_getEmbeddedWallet(e){return e?.linked_accounts.find((e=>"wallet"===e.type&&"embedded"===e.connector_type&&"privy"===e.wallet_client_type))}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class r extends Error{error;code;constructor({error:r,code:e}){super(r),this.error=r,this.code=e}}class e extends Error{error;code;constructor({error:r,code:e}){super(r),this.code=e,this.error=r}}exports.PrivyApiError=r,exports.PrivyClientError=e,exports.createErrorFormatter=o=>t=>o[function(o){return o instanceof r||o instanceof e?o.code:"unknown_error"}(t)]??o.default,exports.errorIndicatesMfaCanceled=function(r){return r&&"object"==typeof r&&"code"in r&&"mfa_canceled"===r.code};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async initializeAuth({relyingParty:t,redirectUrl:r,token:a}){return await this._privyInternal.fetch(e.FarcasterInit,{body:{relying_party:t,redirect_url:r,token:a}})}async getFarcasterStatus({channel_token:t}){return await this._privyInternal.fetch(e.FarcasterStatus,{headers:{"farcaster-channel-token":t}})}async authenticate({channel_token:t,message:r,signature:a,fid:n,mode:i}){const s=await this._privyInternal.fetch(e.FarcasterAuthenticate,{body:{channel_token:t,message:r,signature:a,fid:n,mode:i}});return await this._privyInternal.session.updateWithTokensResponse(s),this._privyInternal.callbacks?.setUser?.(s.user),s}async link({channel_token:t,message:r,signature:a,fid:n}){await this._privyInternal.fetch(e.FarcasterLink,{body:{channel_token:t,message:r,signature:a,fid:n}});return(await this._privyInternal.refreshSession()).user}async unlink({fid:t}){await this._privyInternal.fetch(e.FarcasterUnlink,{body:{fid:t}});return(await this._privyInternal.refreshSession()).user}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async create(){const t=await this._privyInternal.session.getOrCreateGuestCredential(),r=await this._privyInternal.fetch(e.GuestAuthenticate,{body:{guest_credential:t}});return await this._privyInternal.session.updateWithTokensResponse(r),this._privyInternal.callbacks?.setUser?.(r.user),r}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Error.js"),r=require("./MfaPasskeyApi.js"),t=require("./MfaSmsApi.js");require("@privy-io/public-api");exports.default=class{privyInternal;proxy;sms;passkey;constructor(e,i){this.proxy=i,this.privyInternal=e,this.sms=new t.default(e),this.passkey=new r.default(e)}setProxy(e){this.proxy=e}async getAccessToken(){const r=await this.privyInternal.getAccessToken();if(!r)throw new e.PrivyClientError({error:"Missing access token",code:"attempted_rpc_call_before_logged_in"});return r}async verifyMfa(){if(!this.proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});return await this.proxy.verifyMfa({accessToken:await this.getAccessToken()})}async initEnrollMfa(r){if(!this.proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});return await this.proxy.initEnrollMfa({...r,accessToken:await this.getAccessToken()})}async submitEnrollMfa(r){if(!this.proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this.proxy.submitEnrollMfa({...r,accessToken:await this.getAccessToken()});return await this.privyInternal.refreshSession(),t}async unenrollMfa(r){if(!this.proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});const t=await this.proxy.unenrollMfa({method:r,accessToken:await this.getAccessToken()});return await this.privyInternal.refreshSession(),t}async clearMfa(r){if(!this.proxy)throw new e.PrivyClientError({error:"Embedded wallet proxy not initialized",code:"embedded_wallet_webview_not_loaded"});return await this.proxy.clearMfa(r)}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async generateAuthenticationOptions(t){return await this._privyInternal.fetch(e.MfaPasskeyInit,{body:t})}};
@@ -0,0 +1 @@
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("eventemitter3"));class r extends t.default{rootPromise;submitPromise;constructor(){super(),this.rootPromise={current:null},this.submitPromise={current:null}}}exports.default=r;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(r){return await this._privyInternal.fetch(e.MfaPasswordlessSmsInit,{body:r})}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),t=require("./Error.js"),r=require("./pkce.js");require("jose");exports.default=class{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t,i){const s=r.createCodeVerifier(),a=r.createStateCode(),o=await r.deriveCodeChallengeFromCodeVerifier({codeVerifier:s,digest:this._crypto?.digest});return await Promise.all([this._storage.put(r.CODE_VERIFIER_KEY,s),this._storage.put(r.STATE_CODE_KEY,a)]),this._privyInternal.fetch(e.OAuthInit,{body:{redirect_to:i,provider:t,code_challenge:o,state_code:a}})}async loginWithCode(i,s,a,o,n){const[_,h]=await Promise.all([this._storage.get(r.CODE_VERIFIER_KEY),this._storage.get(r.STATE_CODE_KEY)]);if(h!==s)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:a,storedStateCode:h??"",returnedStateCode:s??""}),new t.PrivyClientError({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const c=await this._privyInternal.fetch(e.OAuthAuthenticate,{body:{authorization_code:i,code_type:o,state_code:h,code_verifier:_,mode:n}});return await this._privyInternal.session.updateWithTokensResponse(c),this._privyInternal.callbacks?.setUser?.(c.user),await Promise.all([this._storage.del(r.CODE_VERIFIER_KEY),this._storage.del(r.STATE_CODE_KEY)]),c}async linkWithCode(i,s,a,o){const[n,_]=await Promise.all([this._storage.get(r.CODE_VERIFIER_KEY),this._storage.get(r.STATE_CODE_KEY)]);if(_!==s)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"oauth",provider:a,storedStateCode:_??"",returnedStateCode:s??""}),new t.PrivyClientError({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const h=await this._privyInternal.fetch(e.OAuthLink,{body:{authorization_code:i,code_type:o,state_code:_,code_verifier:n}});await this._privyInternal.session.processOAuthTokens(h.oauth_tokens);const c=await this._privyInternal.refreshSession();return await Promise.all([this._storage.del(r.CODE_VERIFIER_KEY),this._storage.del(r.STATE_CODE_KEY)]),c.user}async unlink(t,r){await this._privyInternal.fetch(e.OAuthUnlink,{body:{provider:t,subject:r}});return(await this._privyInternal.refreshSession()).user}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async generateRegistrationOptions(t){return await this._privyInternal.fetch(e.PasskeyLinkInit,{body:{relying_party:t}})}async generateAuthenticationOptions(t){return await this._privyInternal.fetch(e.PasskeyAuthenticateInit,{body:{relying_party:t}})}async loginWithPasskey(t,s,a){const n=await this._privyInternal.fetch(e.PasskeyAuthenticate,{body:{relying_party:a,challenge:s,authenticator_response:{type:t.type,id:t.id,raw_id:t.rawId,response:{signature:t.response.signature,client_data_json:t.response.clientDataJSON,authenticator_data:t.response.authenticatorData,user_handle:t.response.userHandle||void 0},authenticator_attachment:t.authenticatorAttachment||void 0,client_extension_results:{app_id:t.clientExtensionResults.appid||void 0,cred_props:t.clientExtensionResults.credProps||void 0,hmac_create_secret:t.clientExtensionResults.hmacCreateSecret||void 0}}}});return await this._privyInternal.session.updateWithTokensResponse(n),this._privyInternal.callbacks?.setUser?.(n.user),n}async linkWithPasskey(t,s){await this._privyInternal.fetch(e.PasskeyLink,{body:{relying_party:s,authenticator_response:{type:t.type,id:t.id,raw_id:t.rawId,response:{client_data_json:t.response.clientDataJSON,attestation_object:t.response.attestationObject,authenticator_data:t.response.authenticatorData||void 0,transports:t.response.transports||void 0,public_key:t.response.publicKey||void 0,public_key_algorithm:t.response.publicKeyAlgorithm||void 0},authenticator_attachment:t.authenticatorAttachment||void 0,client_extension_results:{app_id:t.clientExtensionResults.appid||void 0,cred_props:t.clientExtensionResults.credProps||void 0,hmac_create_secret:t.clientExtensionResults.hmacCreateSecret||void 0}}}});return(await this._privyInternal.refreshSession()).user}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(s,r){return this._privyInternal.fetch(e.PasswordlessSmsInit,{body:{phoneNumber:s,token:r}})}async loginWithCode(s,r,t){const n=await this._privyInternal.fetch(e.PasswordlessSmsAuthenticate,{body:{phoneNumber:s,code:r,mode:t}});return await this._privyInternal.session.updateWithTokensResponse(n),this._privyInternal.callbacks?.setUser?.(n.user),n}async linkWithCode(s,r){await this._privyInternal.fetch(e.PasswordlessSmsLink,{body:{phoneNumber:s,code:r}});return(await this._privyInternal.refreshSession()).user}async unlink(s){await this._privyInternal.fetch(e.PasswordlessSmsUnlink,{body:{phoneNumber:s}});return(await this._privyInternal.refreshSession()).user}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./AppApi.js"),r=require("./AuthApi.js"),i=require("./EmbeddedWalletApi.js"),s=require("./MfaApi.js"),t=require("./MfaPromises.js"),a=require("./PrivyInternal.js"),n=require("./RecoveryApi.js"),u=require("./UserApi.js");require("@privy-io/public-api"),require("./CustomProviderApi.js"),require("./EmailApi.js"),require("./FarcasterApi.js"),require("./GuestApi.js"),require("./OAuthApi.js"),require("./Error.js"),require("./pkce.js"),require("jose"),require("./PasskeyApi.js"),require("./PhoneApi.js"),require("./SiweApi.js"),require("./SmartWalletApi.js"),require("./chains/index.js"),require("./chains/arbitrum.js"),require("./chains/arbitrumGoerli.js"),require("./chains/arbitrumSepolia.js"),require("./chains/avalanche.js"),require("./chains/avalancheFuji.js"),require("./chains/base.js"),require("./chains/baseGoerli.js"),require("./chains/baseSepolia.js"),require("./chains/berachainArtio.js"),require("./chains/celo.js"),require("./chains/celoAlfajores.js"),require("./chains/filecoin.js"),require("./chains/filecoinCalibration.js"),require("./chains/garnetHolesky.js"),require("./chains/goerli.js"),require("./chains/holesky.js"),require("./chains/linea.js"),require("./chains/lineaTestnet.js"),require("./chains/mainnet.js"),require("./chains/optimism.js"),require("./chains/optimismGoerli.js"),require("./chains/optimismSepolia.js"),require("./chains/polygon.js"),require("./chains/polygonMumbai.js"),require("./chains/redstone.js"),require("./chains/redstoneHolesky.js"),require("./chains/sepolia.js"),require("./chains/zora.js"),require("./chains/zoraSepolia.js"),require("./chains/zoraTestnet.js"),require("./embedded/EmbeddedWalletProvider.js"),require("eventemitter3"),require("./embedded/errors.js"),require("./embedded/types.js"),require("./embedded/methods.js"),require("./embedded/utils/index.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./embedded/gas/arbitrum.js"),require("@ethersproject/bignumber"),require("./embedded/utils/ethers.js"),require("./embedded/gas/bsc.js"),require("./embedded/gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("./embedded/gas/polygon.js"),require("@ethersproject/units"),require("fetch-retry"),require("./chains/polygonAmoy.js"),require("./embedded/utils/gas.js"),require("./embedded/EmbeddedSolanaWalletProvider.js"),require("./embedded/EmbeddedWalletProxy.js"),require("./embedded/EventCallbackQueue.js"),require("./embedded/withMfa.js"),require("./embedded/EmbeddedBitcoinWalletProvider.js"),require("./MfaPasskeyApi.js"),require("./MfaSmsApi.js"),require("uuid"),require("@privy-io/api-base"),require("./Session.js"),require("js-cookie"),require("./Token.js"),require("./toAbortSignalTimeout.js"),require("./RecoveryICloudApi.js"),require("./RecoveryOAuthApi.js");exports.default=class{auth;user;embeddedWallet;recovery;mfa;app;mfaPromises;_privyInternal;constructor({clientId:d,...o}){this._privyInternal=new a.PrivyInternal({...o,appClientId:d}),this.user=new u.default(this._privyInternal),this.app=new e.default(this._privyInternal),this.auth=new r.default(this._privyInternal,o.storage,o.crypto),this.mfa=new s.default(this._privyInternal),this.mfaPromises=new t.default,this.embeddedWallet=new i.default(this._privyInternal,o.embeddedWalletMessagePoster,o.supportedChains,this.mfa,this.mfaPromises),this.recovery=new n.default(this._privyInternal,o.storage,o.crypto)}async initialize(){await this._privyInternal._initialize()}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}addOAuthTokensListener(e){return this._privyInternal.session.on("oauth_tokens_granted",e),{unsubscribe:()=>{this._privyInternal.session.removeListener("oauth_tokens_granted",e)}}}setCallbacks(e){this._privyInternal.setCallbacks(e)}getAccessToken(){return this._privyInternal.getAccessToken()}getIdentityToken(){return this._privyInternal.getIdentityToken()}getAppId(){return this._privyInternal.appId}getAppConfig(){return this._privyInternal.config}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("fetch-retry"),t=require("uuid"),s=require("@privy-io/api-base"),i=require("@privy-io/public-api"),a=require("./Error.js"),r=require("./Session.js"),n=require("./toAbortSignalTimeout.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("eventemitter3"),require("jose"),require("js-cookie"),require("./Token.js");var c=o(e);const h="privy:caid";exports.PrivyInternal=class{baseUrl;_config;appId;appClientId;_storage;_analyticsId;_sdkVersion="js-sdk-core:0.33.0-beta-20241108182016";_fetch;nativeAppIdentifier;callbacks;_cache=new Map;session;constructor(e){this._storage=e.storage,this._analyticsId=null,this._getOrGenerateClientAnalyticsId(),this.baseUrl=e.baseUrl??"https://auth.privy.io",this.appId=e.appId,this.appClientId=e.appClientId,this._sdkVersion=e.sdkVersion??this._sdkVersion,this.callbacks=e.callbacks,"undefined"==typeof document&&(this.nativeAppIdentifier=e.nativeAppIdentifier),this.session=new r.Session({storage:this._storage,isUsingServerCookies:!1,appId:e.appId}),this._fetch=c.default(fetch,{retries:3,retryDelay:500}),this.session.on("error_storing_tokens",(e=>{this.createAnalyticsEvent("error_updating_tokens_in_storage",{reason:e})}))}setCallbacks(e){this.callbacks={...this.callbacks,...e}}get isReady(){return Boolean(this._config)}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){if(this.isReady)this.callbacks?.setIsReady?.(!0);else{if(!await this.isStorageAccessible())throw new a.PrivyClientError({code:"storage_error",error:"Unable to access storage"});this._config=await this.getAppConfig(),this._config?.custom_api_url&&(this.baseUrl=this._config.custom_api_url,this.session.isUsingServerCookies=!0),this.callbacks?.setIsReady?.(!0),this.createAnalyticsEvent("sdk_initialize",{})}}async fetch(e,{body:t,params:s,headers:r,options:n={onRequest:this._beforeRequest.bind(this)}}){const o=`${this.baseUrl}${i.getPathWithParams(e.path,s)}`,c=new Request(o,{method:e.method,body:JSON.stringify(t),headers:r}),h=await n.onRequest(c),l=await this._fetch(c,h),d=await l.json();if(l.status>299)throw new a.PrivyApiError(d);return d}async _beforeRequestWithoutInitialize(e){const t=await this.session.getToken(),s=new Headers(e.headers);s.set("privy-app-id",this.appId),this.appClientId&&s.set("privy-client-id",this.appClientId),s.set("privy-client",this._sdkVersion),s.set("Authorization",`Bearer ${t}`),s.set("Content-Type","application/json"),s.set("Accept","application/json");const i=await this._getOrGenerateClientAnalyticsId();return i&&s.set("privy-ca-id",i),this.nativeAppIdentifier&&s.set("x-native-app-identifier",this.nativeAppIdentifier),{signal:n.default(2e4),headers:s,credentials:"include"}}async beforeRequestWithoutRefresh(e){return await this._initialize(),this._beforeRequestWithoutInitialize(e)}async _beforeRequest(e){return await this._initialize(),await this.getAccessToken(),this.beforeRequestWithoutRefresh(e)}async getAppConfig(){return await this.fetch(i.AppConfig,{params:{app_id:this.appId},options:{onRequest:this._beforeRequestWithoutInitialize.bind(this)}})}async _getOrGenerateClientAnalyticsId(){if(this._analyticsId)return this._analyticsId;try{const e=await this._storage.get(h);if("string"==typeof e&&e.length>0)return this._analyticsId=e,e}catch(e){console.error("Unable to load clientId",e)}try{this._analyticsId=t.v4()}catch(e){console.error("Unable to generate uuidv4",e)}if(!this._analyticsId)return null;try{await this._storage.put(h,this._analyticsId)}catch(e){console.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}async destroyClientAnalyticsId(){try{return await this._storage.del(h)}catch(e){console.error("Unable to delete clientId",e)}}async createAnalyticsEvent(e,t){try{await this.fetch(i.AnalyticsEvent,{body:{event_name:e,client_id:await this._getOrGenerateClientAnalyticsId(),payload:t},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}})}catch(e){}}async refreshSession(){const e=await this.session.getRefreshToken()??void 0,t=e??"key",s=this._cache.get(t);if(s)return await s;const i=this._refreshSession(e);this._cache.set(t,i);try{return await i}catch(e){throw e}finally{this._cache.delete(t)}}async _refreshSession(e){const t=await this.session.getToken();if(!this.session.hasRefreshCredentials(t,e??null))throw await this._initialize(),new a.PrivyApiError({code:s.PrivyErrorCode.MISSING_OR_INVALID_TOKEN,error:"No tokens found in storage"});try{const t=await this.fetch(i.RefreshSession,{body:{refresh_token:e},options:{onRequest:this.beforeRequestWithoutRefresh.bind(this)}}),s=t.session_update_action;return this.callbacks?.setUser?.(t.user),"set"===s&&await this.session.updateWithTokensResponse(t),"clear"===s&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),"ignore"===s&&t.token&&(await this.session.storeToken(t.token),t.identity_token&&await this.session.storeIdentityToken(t.identity_token)),t}catch(e){throw e instanceof a.PrivyApiError&&e.code===s.PrivyErrorCode.MISSING_OR_INVALID_TOKEN&&(await this.session.destroyLocalState(),this.callbacks?.setUser?.(null)),e}}async getAccessToken(){const[e,t]=await Promise.all([this.session.getToken(),this.session.getRefreshToken()]);return!this.session.tokenIsActive(e)&&this.session.hasRefreshCredentials(e,t)?(await this.refreshSession(),await this.session.getToken()):e}async getIdentityToken(){return await this.session.getIdentityToken()}async isStorageAccessible(){try{const e="privy:__storage__test",t="blobby";await this._storage.put(e,t);const s=await this._storage.get(e);return await this._storage.del(e),s===t}catch(e){return console.error(e),!1}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),r=require("./RecoveryICloudApi.js"),t=require("./RecoveryOAuthApi.js");require("./Error.js"),require("./pkce.js"),require("jose");exports.default=class{_privyInternal;auth;icloudAuth;constructor(e,i,a){this._privyInternal=e,this.auth=new t.default(this._privyInternal,i,a),this.icloudAuth=new r.default(this._privyInternal)}async getRecoveryKeyMaterial(r,t){return this._privyInternal.fetch(e.RecoveryKeyMaterial,{body:{chain_type:t},params:{address:r}})}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async init(t){return this._privyInternal.fetch(e.RecoveryOAuthInitICloud,{body:{client_type:t}})}async getICloudConfiguration(t){return this._privyInternal.fetch(e.RecoveryConfigurationICloud,{body:{client_type:t}})}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api"),t=require("./Error.js"),r=require("./pkce.js");require("jose");exports.default=class{_privyInternal;_storage;_crypto;constructor(e,t,r){this._privyInternal=e,this._storage=t,this._crypto=r}async generateURL(t){const i=r.createCodeVerifier(),o=r.createStateCode(),a=await r.deriveCodeChallengeFromCodeVerifier({codeVerifier:i,digest:this._crypto?.digest});return await Promise.all([this._storage.put(r.CODE_VERIFIER_KEY,i),this._storage.put(r.STATE_CODE_KEY,o)]),this._privyInternal.fetch(e.RecoveryOAuthInit,{body:{redirect_to:t,code_challenge:a,state_code:o}})}async authorize(i,o){const[a,s]=await Promise.all([this._storage.get(r.CODE_VERIFIER_KEY),this._storage.get(r.STATE_CODE_KEY)]);if(s!==o)throw this._privyInternal.createAnalyticsEvent("possible_phishing_attempt",{flow:"recovery_oauth",storedStateCode:s??"",returnedStateCode:o??""}),new t.PrivyClientError({code:"pkce_state_code_mismatch",error:"Unexpected auth flow. This may be a phishing attempt."});const _=await this._privyInternal.fetch(e.RecoveryOAuthAuthenticate,{body:{authorization_code:i,state_code:s,code_verifier:a}});return await Promise.all([this._storage.del(r.CODE_VERIFIER_KEY),this._storage.del(r.STATE_CODE_KEY)]),_}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("eventemitter3"),t=require("jose"),s=require("js-cookie"),r=require("./Token.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(e),n=o(s);const a="privy:token",_="privy-token",h="privy:refresh_token",g="privy-refresh-token",c="privy:id-token",l="privy-id-token",d="privy-session",k="privy:session_transfer_token",u=["storage_cleared","token_cleared","refresh_token_cleared","identity_token_cleared","forked_token_cleared","token_stored","refresh_token_stored","identity_token_stored","oauth_tokens_granted","error_storing_tokens"];class y extends i.default{static events=u;_storage;_isUsingServerCookies=!1;GUEST_CREDENTIAL_STORAGE_KEY;constructor(e){super(),this._storage=e.storage,this.GUEST_CREDENTIAL_STORAGE_KEY=`privy:guest:${e.appId}`}set isUsingServerCookies(e){this._isUsingServerCookies=e}async getToken(){const e=await this._storage.get(a);try{return"string"==typeof e?new r.Token(e).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:"getToken_error"}),null}}async getRefreshToken(){const e=await this._storage.get(h);return"string"==typeof e?e:null}async getIdentityToken(){const e=await this._storage.get(c);return"string"==typeof e?e:null}async getForkedToken(){const e=await this._storage.get(k);return"string"==typeof e?e:null}get mightHaveServerCookies(){try{const e=n.default.get(d);return void 0!==e&&e.length>0}catch(e){console.error(e)}return!1}hasRefreshCredentials(e,t){return this.mightHaveServerCookies||"string"==typeof e&&"string"==typeof t}async hasRecoveryCredentials(){return"string"==typeof await this.getForkedToken()}tokenIsActive(e){if(!e)return!1;const t=r.Token.parse(e);return null!==t&&!t.isExpired(30)}async destroyLocalState(e){const t=await Promise.all([this._storage.del(a),this._storage.del(h),this._storage.del(c),this._storage.del(this.GUEST_CREDENTIAL_STORAGE_KEY),this.clearForkedToken()]);return e?.reason&&this.emit("storage_cleared",{reason:e.reason}),t}async storeToken(e){if("string"==typeof e){const t=await this._storage.get(a);if(await this._storage.put(a,e),!this._isUsingServerCookies){const t=r.Token.parse(e)?.expiration;n.default.set(_,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(a);await this._storage.del(a),n.default.remove(_),null!==e&&this.emit("token_cleared",{reason:"set_with_non_string_value"})}}async storeRefreshToken(e){"string"==typeof e?(await this._storage.put(h,e),this._isUsingServerCookies||(n.default.set(d,"t",{sameSite:"Strict",secure:!0,expires:30}),n.default.set(g,e,{sameSite:"Strict",secure:!0,expires:30})),this.emit("refresh_token_stored",{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(h),n.default.remove(g),n.default.remove(d),this.emit("refresh_token_cleared",{reason:"set_with_non_string_value"}))}async updateWithTokensResponse(e){try{await Promise.allSettled([this.storeToken(e.token),this.storeRefreshToken(e.refresh_token),this.storeIdentityToken(e.identity_token),this.processOAuthTokens(e.oauth_tokens)])}catch(e){throw this.emit("error_storing_tokens",String(e)),e}}async processOAuthTokens(e){e&&this.emit("oauth_tokens_granted",e)}async storeIdentityToken(e){if("string"==typeof e){const t=await this._storage.get(c);if(await this._storage.put(c,e),!this._isUsingServerCookies){const t=r.Token.parse(e)?.expiration;n.default.set(l,e,{sameSite:"Strict",secure:!0,expires:t?new Date(1e3*t):void 0})}t!==e&&this.emit("identity_token_stored",{cookiesEnabled:this._isUsingServerCookies})}else{const e=await this._storage.get(c);await this._storage.del(c),n.default.remove(l),null!==e&&this.emit("identity_token_cleared",{reason:"set_with_non_string_value"})}}async getOrCreateGuestCredential(){const e=this._storage.get(this.GUEST_CREDENTIAL_STORAGE_KEY);if(e&&"string"==typeof e)return e;const s=t.base64url.encode(crypto.getRandomValues(new Uint8Array(32)));return await this._storage.put(this.GUEST_CREDENTIAL_STORAGE_KEY,s),s}async clearForkedToken(){await this._storage.del(k)}}exports.Session=y;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;_wallet=void 0;_preparedMessage;constructor(e){this._privyInternal=e}async unlinkWallet(t){try{await this._privyInternal.fetch(e.SiweUnlink,{body:{address:t}});return(await this._privyInternal.refreshSession()).user}catch(e){throw e}}async linkWithSiwe(t,n,i){const r=n||this._wallet,s=i||this._preparedMessage;if(!r)throw new Error("A wallet must be provided in the init step or as an argument to linkWithSiwe");if(!s)throw new Error("A message must be generated and signed before being used to link a wallet to privy");try{await this._privyInternal.fetch(e.SiweLink,{body:{message:s,signature:t,chainId:r.chainId,walletClientType:r.walletClientType,connectorType:r.connectorType}});return(await this._privyInternal.refreshSession()).user}catch(e){throw e}}async loginWithSiwe(t,n,i,r){const s=n||this._wallet,a=i||this._preparedMessage;if(!s)throw new Error("A wallet must be provided in the init step or as an argument to loginWithSiwe");if(!a)throw new Error("A message must be generated and signed before being used to login to privy with a wallet");try{const n=await this._privyInternal.fetch(e.SiweAuthenticate,{body:{signature:t,message:a,chainId:s.chainId,walletClientType:s.walletClientType,connectorType:s.connectorType,mode:r}});return await this._privyInternal.session.updateWithTokensResponse(n),this._privyInternal.callbacks?.setUser?.(n.user),n}catch(e){throw e}}async init(t,n,i){this._wallet=t;const r=await this._privyInternal.fetch(e.SiweInit,{body:{address:t.address}}),{nonce:s}=r,a=`${(o={chainId:t.chainId.toString().replace("eip155:",""),address:t.address,issuedAt:(new Date).toISOString(),statement:"By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",domain:n,nonce:s,uri:i}).domain} wants you to sign in with your Ethereum account:\n${o.address}\n\n${o.statement}\n\nURI: ${o.uri}\nVersion: 1\nChain ID: ${o.chainId}\nNonce: ${o.nonce}\nIssued At: ${o.issuedAt}\nResources:\n- https://privy.io`;var o;return this._preparedMessage=a,{nonce:s,message:a}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@privy-io/public-api");exports.default=class{_privyInternal;_preparedMessage;constructor(e){this._privyInternal=e}async link(n,t){if(!this._preparedMessage)throw new Error("Must call `init` before calling `link`");try{await this._privyInternal.fetch(e.SiweLinkSmartWallet,{body:{message:this._preparedMessage,signature:n,smart_wallet_type:t}});return(await this._privyInternal.refreshSession()).user}catch(e){throw e}}async init(n){const t=await this._privyInternal.fetch(e.SiweInit,{body:{address:n.address}}),{nonce:i}=t,s=`${(r={chainId:n.chainId.toString().replace("eip155:",""),address:n.address,issuedAt:(new Date).toISOString(),statement:"By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",domain:"privy.io",uri:"https://auth.privy.io",nonce:i}).domain} wants you to sign in with your Ethereum account:\n${r.address}\n\n${r.statement}\n\nURI: ${r.uri}\nVersion: 1\nChain ID: ${r.chainId}\nNonce: ${r.nonce}\nIssued At: ${r.issuedAt}\nResources:\n- https://privy.io`;var r;return this._preparedMessage=s,{nonce:i,message:s}}};
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,u.get?u:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("jose"));class r{static parse(e){try{return new r(e)}catch(e){return null}}value;_decoded;constructor(e){this.value=e,this._decoded=t.decodeJwt(e)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(e=0){return Date.now()>=1e3*(this.expiration-e)}}exports.Token=r;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=class{_privyInternal;constructor(e){this._privyInternal=e}async get(){try{const{user:e}=await this._privyInternal.refreshSession();return{user:e}}catch(e){throw e}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.arbitrum={id:42161,name:"Arbitrum One",network:"arbitrum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://arbitrum-mainnet.rpc.privy.systems"]},alchemy:{http:["https://arb-mainnet.g.alchemy.com/v2"],webSocket:["wss://arb-mainnet.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-mainnet.infura.io/v3"],webSocket:["wss://arbitrum-mainnet.infura.io/ws/v3"]},default:{http:["https://arb1.arbitrum.io/rpc"]},public:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://arbiscan.io"},default:{name:"Arbiscan",url:"https://arbiscan.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.arbitrumGoerli={id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"AGOR",decimals:18},rpcUrls:{default:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.arbitrumSepolia={id:421614,name:"Arbitrum Sepolia",network:"arbitrum-sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://arbitrum-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]},public:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-explorer.arbitrum.io"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.avalanche={id:43114,name:"Avalanche",network:"avalanche",nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]},public:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://snowtrace.io"},default:{name:"SnowTrace",url:"https://snowtrace.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.avalancheFuji={id:43113,name:"Avalanche Fuji",network:"avalanche-fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]},public:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://testnet.snowtrace.io"},default:{name:"SnowTrace",url:"https://testnet.snowtrace.io"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.base={id:8453,network:"base",name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://base-mainnet.rpc.privy.systems"]},blast:{http:["https://base-mainnet.blastapi.io"],webSocket:["wss://base-mainnet.blastapi.io"]},default:{http:["https://mainnet.base.org"]},public:{http:["https://mainnet.base.org"]}},blockExplorers:{etherscan:{name:"Basescan",url:"https://basescan.org"},default:{name:"Basescan",url:"https://basescan.org"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.baseGoerli={id:84531,network:"base-goerli",name:"Base Goerli Testnet",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://goerli.basescan.org"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.baseSepolia={id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://base-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia.base.org"]},public:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Blockscout",url:"https://base-sepolia.blockscout.com"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.berachainArtio={id:80085,network:"berachain-artio",name:"Berachain Artio",nativeCurrency:{name:"BERA",symbol:"BERA",decimals:18},rpcUrls:{default:{http:["https://berachain-artio.rpc.privy.systems"]},public:{http:["https://berachain-artio.rpc.privy.systems"]}},blockExplorers:{default:{name:"Beratrail",url:"https://artio.beratrail.io"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.celo={id:42220,name:"Celo Mainnet",network:"celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]},infura:{http:["https://celo-mainnet.infura.io/v3"]},public:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/mainnet"},etherscan:{name:"CeloScan",url:"https://celoscan.io"}},testnet:!1};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.celoAlfajores={id:44787,name:"Celo Alfajores Testnet",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.filecoin={id:314,name:"Filecoin - Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.filecoinCalibration={id:314159,name:"Filecoin - Calibration testnet",network:"filecoin-calibration",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.calibration.node.glif.io/rpc/v1"]},public:{http:["https://api.calibration.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filscan",url:"https://calibration.filscan.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.garnetHolesky={id:17069,name:"Garnet Holesky",network:"garnet-holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.garnetchain.com"]},public:{http:["https://rpc.garnetchain.com"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.garnetchain.com"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.goerli={id:5,network:"goerli",name:"Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.ankr.com/eth_goerli"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.etherscan.io"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.holesky={id:17e3,name:"Holesky",network:"holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://ethereum-holesky.publicnode.com"]},public:{http:["https://ethereum-holesky.publicnode.com"]}},blockExplorers:{etherscan:{name:"EtherScan",url:"https://holesky.etherscan.io"},default:{name:"EtherScan",url:"https://holesky.etherscan.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./arbitrum.js"),i=require("./arbitrumGoerli.js"),r=require("./arbitrumSepolia.js"),o=require("./avalanche.js"),a=require("./avalancheFuji.js"),s=require("./base.js"),l=require("./baseGoerli.js"),t=require("./baseSepolia.js"),n=require("./berachainArtio.js"),u=require("./celo.js"),p=require("./celoAlfajores.js"),m=require("./filecoin.js"),j=require("./filecoinCalibration.js"),b=require("./garnetHolesky.js"),c=require("./goerli.js"),q=require("./holesky.js"),y=require("./linea.js"),S=require("./lineaTestnet.js"),g=require("./mainnet.js"),h=require("./optimism.js"),f=require("./optimismGoerli.js"),k=require("./optimismSepolia.js"),z=require("./polygon.js"),G=require("./polygonMumbai.js"),T=require("./redstone.js"),d=require("./redstoneHolesky.js"),v=require("./sepolia.js"),A=require("./zora.js"),H=require("./zoraSepolia.js"),_=require("./zoraTestnet.js");const C={mainnet:g.mainnet,goerli:c.goerli,sepolia:v.sepolia,arbitrum:e.arbitrum,arbitrumGoerli:i.arbitrumGoerli,arbitrumSepolia:r.arbitrumSepolia,optimism:h.optimism,optimismGoerli:f.optimismGoerli,optimismSepolia:k.optimismSepolia,polygon:z.polygon,polygonMumbai:G.polygonMumbai,celo:u.celo,celoAlfajores:p.celoAlfajores,filecoin:m.filecoin,filecoinCalibration:j.filecoinCalibration,base:s.base,baseGoerli:l.baseGoerli,baseSepolia:t.baseSepolia,linea:y.linea,lineaTestnet:S.lineaTestnet,avalanche:o.avalanche,avalancheFuji:a.avalancheFuji,holesky:q.holesky,redstone:T.redstone,garnetHolesky:b.garnetHolesky,redstoneHolesky:d.redstoneHolesky,zora:A.zora,zoraSepolia:H.zoraSepolia,zoraTestnet:_.zoraTestnet},D=[g.mainnet,c.goerli,v.sepolia,e.arbitrum,i.arbitrumGoerli,r.arbitrumSepolia,h.optimism,f.optimismGoerli,k.optimismSepolia,z.polygon,G.polygonMumbai,u.celo,p.celoAlfajores,m.filecoin,j.filecoinCalibration,s.base,l.baseGoerli,t.baseSepolia,n.berachainArtio,y.linea,S.lineaTestnet,o.avalanche,a.avalancheFuji,q.holesky,T.redstone,b.garnetHolesky,d.redstoneHolesky,A.zora,H.zoraSepolia,_.zoraTestnet],F=new Set(D.map((e=>e.id)));exports.DEFAULT_SUPPORTED_CHAINS=D,exports.DEFAULT_SUPPORTED_CHAIN_IDS=F,exports.chainDefs=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.linea={id:59144,network:"linea-mainnet",name:"Linea Mainnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]},public:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build"},etherscan:{name:"Etherscan",url:"https://lineascan.build"}},testnet:!1};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.lineaTestnet={id:59140,network:"linea-testnet",name:"Linea Goerli Testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-goerli.infura.io/v3"],webSocket:["wss://linea-goerli.infura.io/ws/v3"]},default:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]},public:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.lineascan.build"},etherscan:{name:"Etherscan",url:"https://goerli.lineascan.build"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.mainnet={id:1,network:"homestead",name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://mainnet.rpc.privy.systems"]},alchemy:{http:["https://eth-mainnet.g.alchemy.com/v2"],webSocket:["wss://eth-mainnet.g.alchemy.com/v2"]},infura:{http:["https://mainnet.infura.io/v3"],webSocket:["wss://mainnet.infura.io/ws/v3"]},default:{http:["https://cloudflare-eth.com"]},public:{http:["https://cloudflare-eth.com"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://etherscan.io"},default:{name:"Etherscan",url:"https://etherscan.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.optimism={id:10,name:"OP Mainnet",network:"optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://optimism-mainnet.rpc.privy.systems"]},alchemy:{http:["https://opt-mainnet.g.alchemy.com/v2"],webSocket:["wss://opt-mainnet.g.alchemy.com/v2"]},infura:{http:["https://optimism-mainnet.infura.io/v3"],webSocket:["wss://optimism-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.optimism.io"]},public:{http:["https://mainnet.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://optimistic.etherscan.io"},default:{name:"Optimism Explorer",url:"https://explorer.optimism.io"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.optimismGoerli={id:420,name:"Optimism Goerli Testnet",network:"optimism-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://goerli.optimism.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.optimismSepolia={id:11155420,name:"Optimism Sepolia",network:"optimism-sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{privy:{http:["https://optimism-sepolia.rpc.privy.systems"]},default:{http:["https://sepolia.optimism.io"]},public:{http:["https://sepolia.optimism.io"]},infura:{http:["https://optimism-sepolia.infura.io/v3"]}},blockExplorers:{default:{name:"Blockscout",url:"https://optimism-sepolia.blockscout.com"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.polygon={id:137,name:"Polygon Mainnet",network:"polygon",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{privy:{http:["https://polygon-mainnet.rpc.privy.systems"]},alchemy:{http:["https://polygon-mainnet.g.alchemy.com/v2"],webSocket:["wss://polygon-mainnet.g.alchemy.com/v2"]},infura:{http:["https://polygon-mainnet.infura.io/v3"],webSocket:["wss://polygon-mainnet.infura.io/ws/v3"]},default:{http:["https://polygon-rpc.com"]},public:{http:["https://polygon-rpc.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://polygonscan.com"},default:{name:"PolygonScan",url:"https://polygonscan.com"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.polygonAmoy={id:80002,name:"Polygon Amoy",network:"polygon-amoy",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{privy:{http:["https://polygon-amoy.rpc.privy.systems"]},infura:{http:["https://polygon-amoy.infura.io/v3"],webSocket:["wss://polygon-amoy.infura.io/ws/v3"]},default:{http:["https://rpc-amoy.polygon.technology"]}},blockExplorers:{default:{name:"OK LINK",url:"https://www.oklink.com/amoy"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.polygonMumbai={id:80001,name:"Mumbai",network:"maticmum",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{default:{http:["https://matic-mumbai.chainstacklabs.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.redstone={id:690,name:"Redstone",network:"redstone",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.redstonechain.com"]},public:{http:["https://rpc.redstonechain.com"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.redstone.xyz/"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.redstoneHolesky={id:17001,name:"Redstone Holesky",network:"redstone-holesky",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.holesky.redstone.xyz"]},public:{http:["https://rpc.holesky.redstone.xyz"]}},blockExplorers:{etherscan:{name:"EtherScan",url:"https://explorer.holesky.redstone.xyz"},default:{name:"EtherScan",url:"https://explorer.holesky.redstone.xyz"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.sepolia={id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{privy:{http:["https://sepolia.rpc.privy.systems"]},alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.zora={id:7777777,name:"Zora",network:"zora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]},public:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://explorer.zora.energy"}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.zoraSepolia={id:999999999,name:"Zora Sepolia",network:"zora-sepolia",nativeCurrency:{decimals:18,name:"Zora Sepolia",symbol:"ETH"},rpcUrls:{default:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]},public:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]}},blockExplorers:{default:{name:"Zora Sepolia Explorer",url:"https://sepolia.explorer.zora.energy/"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.zoraTestnet={id:999,name:"Zora Goerli Testnet",network:"zora-testnet",nativeCurrency:{decimals:18,name:"Zora Goerli",symbol:"ETH"},rpcUrls:{default:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]},public:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.explorer.zora.energy"}},testnet:!0};
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../Error.js");exports.EmbeddedBitcoinWalletProvider=class{_proxy;_privyInternal;_account;_entropyId;_entropyIdVerifier;constructor({proxy:e,privyInternal:t,account:r,entropyId:s,entropyIdVerifier:n}){this._proxy=e,this._privyInternal=t,this._account=r,this._entropyId=s,this._entropyIdVerifier=n}async sign({message:e}){return await this.request({method:"sign",params:{message:new TextDecoder("utf8").decode(e)}})}async signTransaction({psbt:e}){return await this.request({method:"signTransaction",params:{psbt:e}})}async request(t){if(!await this._privyInternal.getAccessToken())throw new e.PrivyClientError({error:"Missing access token",code:"attempted_rpc_call_before_logged_in"});return this.handleIFrameRpc(t)}async handleIFrameRpc(t){try{const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("Missing access token. User must be authenticated.");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:t.method,address:this._account.address});const r=await this._proxy.rpcWallet({accessToken:e,request:t,entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,hdWalletIndex:this._account.wallet_index,chainType:this._account.chain_type});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:t.method,address:this._account.address}),r.response.data}catch(r){console.error(r);const s=r instanceof Error?r.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:t.method,address:this._account.address,error:s}),new e.PrivyClientError({code:"embedded_wallet_request_error",error:s})}}toJSON(){return`PrivyEmbeddedBitcoinProvider { address: '${this._account.address}', request: [Function] }`}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../Error.js");exports.EmbeddedSolanaWalletProvider=class{_proxy;_privyInternal;_entropyId;_entropyIdVerifier;_hdWalletIndex;_publicKey;constructor({proxy:e,privyInternal:r,publicKey:t,hdWalletIndex:s,entropyId:i,entropyIdVerifier:n}){this._proxy=e,this._privyInternal=r,this._publicKey=t,this._hdWalletIndex=s,this._entropyId=i,this._entropyIdVerifier=n}async request(r){if(!await this._privyInternal.getAccessToken())throw new e.PrivyClientError({error:"Missing access token",code:"attempted_rpc_call_before_logged_in"});return this.handleIFrameRpc(r)}async handleIFrameRpc(r){try{const e=await this._privyInternal.getAccessToken();if(!e)throw new Error("Missing privy token. User must be logged in");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:r.method,address:this._publicKey});const t=await this._proxy.rpcWallet({accessToken:e,request:r,chainType:"solana",hdWalletIndex:this._hdWalletIndex,entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:r.method,address:this._publicKey}),t.response.data}catch(t){console.error(t);const s=t instanceof Error?t.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:r.method,address:this._publicKey,error:s}),new e.PrivyClientError({code:"embedded_wallet_request_error",error:s})}}toJSON(){return`PrivyEmbeddedSolanaProvider { address: '${this._publicKey}', request: [Function] }`}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("eventemitter3"),r=require("../Error.js"),s=require("./errors.js"),t=require("./methods.js"),a=require("./utils/index.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./types.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./gas/arbitrum.js"),require("@ethersproject/bignumber"),require("../chains/arbitrum.js"),require("../chains/arbitrumGoerli.js"),require("../chains/arbitrumSepolia.js"),require("./utils/ethers.js"),require("./gas/bsc.js"),require("./gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("../chains/base.js"),require("../chains/baseGoerli.js"),require("../chains/baseSepolia.js"),require("../chains/optimism.js"),require("../chains/optimismGoerli.js"),require("../chains/optimismSepolia.js"),require("../chains/zora.js"),require("../chains/zoraSepolia.js"),require("../chains/zoraTestnet.js"),require("./gas/polygon.js"),require("@ethersproject/units"),require("fetch-retry"),require("../chains/polygon.js"),require("../chains/polygonAmoy.js"),require("../chains/polygonMumbai.js"),require("./utils/gas.js");var n=i(e);class h extends n.default{_walletProxy;_privyInternal;_address;_chainId;_chains;_jsonRpcProvider;constructor({walletProxy:e,privyInternal:r,address:s,chains:t,chainId:i=t[0].id}){super(),this._walletProxy=e,this._privyInternal=r,this._address=s,this._chainId=i,this._chains=t,this._jsonRpcProvider=a.getJsonRpcProvider(i,t,{rpcUrls:[]},{appId:this._privyInternal.appId})}async request(e){if(t.isSupportedIframeRpcMethod(e.method))return this.handleIFrameRpc(e);switch(e.method){case"eth_accounts":case"eth_requestAccounts":return this._address?[this._address]:[];case"eth_chainId":return`0x${this._chainId.toString(16)}`;case"wallet_switchEthereumChain":return this.handleSwitchEthereumChain(e);case"eth_estimateGas":return this.handleEstimateGas(e);case"eth_sendTransaction":{const r=e.params?.[0];return this.handleSendTransaction(r)}case"eth_populateTransactionRequest":{const r=e.params?.[0];return this.handlePopulateTransaction(r)}default:return this.handleJsonRpc(e)}}ensureChainId(e){const r={chainId:this._chainId,...e};return this.internalSwitchEthereumChain(r.chainId),r}internalSwitchEthereumChain(e){e&&Number(e)!==this._chainId&&(this._chainId=Number(e),this._jsonRpcProvider=a.getJsonRpcProvider(this._chainId,this._chains,{rpcUrls:[]},{appId:this._privyInternal.appId}),this.emit("chainChanged",e))}async handlePopulateTransaction(e){const r=this.ensureChainId(e);return a.populateTransactionRequest(this._address,r,this._jsonRpcProvider)}async handleSendTransaction(e){const r=this.ensureChainId(e),s=await a.populateTransactionRequest(this._address,r,this._jsonRpcProvider),t=await this.handleIFrameRpc({method:"eth_signTransaction",params:[s]});return await this.handleJsonRpc({method:"eth_sendRawTransaction",params:[t]})}async handleEstimateGas(e){if(!e.params||!Array.isArray(e.params))throw new Error("Invalid params for eth_estimateGas");delete e.params[0].gasPrice,delete e.params[0].maxFeePerGas,delete e.params[0].maxPriorityFeePerGas;const r={...e.params[0],chainId:`0x${this._chainId.toString(16)}`};this.internalSwitchEthereumChain(r.chainId);try{return await this._jsonRpcProvider.send("eth_estimateGas",[r])}catch(e){console.warn(`Gas estimation failed with error: ${e}. Retrying gas estimation by omitting the 'from' address`);try{return delete r.from,await this._jsonRpcProvider.send("eth_estimateGas",[r])}catch(r){throw console.warn(`Gas estimation failed with error: ${r} when omitting the 'from' address`),e}}}handleSwitchEthereumChain(e){if(!e.params||!Array.isArray(e.params))throw new s.EmbeddedProviderError(`Invalid params for ${e.method}`,4200);let r;if("string"==typeof e.params[0])r=e.params[0];else{if(!("chainId"in e.params[0])||"string"!=typeof e.params[0].chainId)throw new s.EmbeddedProviderError(`Invalid params for ${e.method}`,4200);r=e.params[0].chainId}this.internalSwitchEthereumChain(r)}async handleIFrameRpc(e){try{const r=await this._privyInternal.getAccessToken();if(!r)throw new Error("Missing privy token. User must be logged in");this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_started",{method:e.method,address:this._address});const s=await this._walletProxy.rpc({request:e,address:this._address,accessToken:r});return this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_completed",{method:e.method,address:this._address}),s.response.data}catch(s){console.error(s);const t=s instanceof Error?s.message:"Unable to make wallet request";throw this._privyInternal.createAnalyticsEvent("embedded_wallet_sdk_rpc_failed",{method:e.method,address:this._address,error:t}),new r.PrivyClientError({code:"embedded_wallet_request_error",error:t})}}async handleJsonRpc(e){return this._jsonRpcProvider.send(e.method,e.params??[])}toJSON(){return`PrivyEIP1193Provider { address: '${this._address}', chainId: ${this._chainId}, request: [Function] }`}}exports.EmbeddedWalletProvider=h;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./EventCallbackQueue.js"),t=require("./errors.js"),i=require("./withMfa.js");require("./types.js");const r=15e3,a=3e5;const o=(s=0,()=>"id-"+s++);var s;const n=(e,t)=>"bigint"==typeof t?t.toString():t,l=e=>new Promise((t=>{setTimeout(t,e)})),h=(e,{ms:t,msg:i})=>Promise.race([e,new Promise(((e,a)=>{setTimeout((()=>{a(new Error(i))}),t??r)}))]),m=new e.EventCallbacksQueue;exports.DEFAULT_WALLET_PROXY_TIMEOUT_MS=r,exports.EmbeddedWalletProxy=class{ready;cache;_embeddedWalletMessagePoster;mfa;constructor(e,t){this.ready=!1,this.cache=new Map,this._embeddedWalletMessagePoster=e,this.mfa=t}invokeWithMfa(e,t){return h(i.withMfa((i=>h(this.waitForReady().then((()=>e(i))),{msg:t.timeoutMsg,ms:t.timeoutMs})),this.mfa.rootPromise,this.mfa.submitPromise,(()=>this.mfa.emit("mfaRequired")),t.mfaAlwaysRequired??!1,4,a),{msg:"Operation reached timeout: MFA verification",ms:126e4})}ping(e=15e3){return h(this.invoke("privy:iframe:ready",{}),{msg:"Ping reached timeout",ms:e})}create(e){return h(this.waitForReady().then((()=>this.invoke("privy:wallet:create",e))),{msg:"Operation reached timeout: create"})}rpc(e){return this.invokeWithMfa((t=>this.invoke("privy:wallet:rpc",{...t,...e})),{timeoutMsg:"Operation reached timeout: rpc"})}createSolana(e){return this.invokeWithMfa((t=>this.invoke("privy:solana-wallet:create",{...t,...e})),{timeoutMsg:"Operation reached timeout: create",timeoutMs:6e4})}createAdditionalSolana(e){return h(this.waitForReady().then((()=>this.invoke("privy:solana-wallet:create-additional",e))),{msg:"Operation reached timeout: create"})}solanaRpc(e){return this.invokeWithMfa((t=>this.invoke("privy:solana-wallet:rpc",{...t,...e})),{timeoutMsg:"Operation reached timeout: solana-rpc"})}verifyMfa(e){return this.invokeWithMfa((t=>this.invoke("privy:mfa:verify",{...t,...e})),{timeoutMsg:"Operation reached timeout: mfa:verify",mfaAlwaysRequired:!0})}initEnrollMfa(e){return this.invokeWithMfa((t=>this.invoke("privy:mfa:init-enrollment",{...t,...e})),{timeoutMsg:"Operation reached timeout: mfa:init-enrollment"})}submitEnrollMfa(e){return this.invokeWithMfa((t=>this.invoke("privy:mfa:submit-enrollment",{...t,...e})),{timeoutMsg:"Operation reached timeout: mfa:submit-enrollment"})}unenrollMfa(e){return this.invokeWithMfa((t=>this.invoke("privy:mfa:unenroll",{...t,...e})),{timeoutMsg:"Operation reached timeout: mfa:unenroll",mfaAlwaysRequired:!0})}clearMfa(e){return h(this.waitForReady().then((()=>this.invoke("privy:mfa:clear",e))),{msg:"Operation reached timeout: mfa:clear"})}createWallet(e){return this.invokeWithMfa((t=>this.invoke("privy:wallets:create",{...t,...e})),{timeoutMsg:"Operation reached timeout: create",timeoutMs:6e4})}addWallet(e){return h(this.waitForReady().then((()=>this.invoke("privy:wallets:add",e))),{msg:"Operation reached timeout: wallets:add"})}setRecovery(e){return this.invokeWithMfa((t=>this.invoke("privy:wallets:set-recovery",{...t,...e})),{timeoutMsg:"Operation reached timeout: wallets:set-recovery",timeoutMs:6e4})}connect(e){return h(this.waitForReady().then((()=>this.invoke("privy:wallets:connect",e))),{msg:"Operation reached timeout: wallets:connect"})}recover(e){return this.invokeWithMfa((t=>this.invoke("privy:wallets:recover",{...t,...e})),{timeoutMsg:"Operation reached timeout: wallets:recover",timeoutMs:6e4})}rpcWallet(e){return this.invokeWithMfa((t=>this.invoke("privy:wallets:rpc",{...t,...e})),{timeoutMsg:"Operation reached timeout: wallets:rpc"})}handleEmbeddedWalletMessages(e){const{reject:i,resolve:r}=m.dequeue(e.event,e.id);return function(e){return void 0!==e.error}(e)?i(new t.PrivyIframeError(e.error.type,e.error.message)):r(e.data)}waitForReady(){return this.ready?Promise.resolve():new Promise((async(e,t)=>{for(;!this.ready;)this.invoke("privy:iframe:ready",{}).then((()=>{this.ready=!0,e()})).catch(t),await l(150)}))}invoke(e,t){const i=((e,t)=>`${e}${JSON.stringify(t,n)}`)(e,t);if("privy:wallet:create"===e||"privy:solana-wallet:create"===e){const e=this.cache.get(i);if(e)return e}const r=new Promise(((i,r)=>{const a=o();m.enqueue(a,{resolve:i,reject:r}),this._embeddedWalletMessagePoster.postMessage(JSON.stringify({id:a,event:e,data:t}),"*")})).finally((()=>{this.cache.delete(i)}));return this.cache.set(i,r),r}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.EventCallbacksQueue=class{callbacks={};enqueue(e,a){this.callbacks[e]=a}dequeue(e,a){const l=this.callbacks[a];if(!l)throw new Error(`cannot dequeue ${e} event: no event found for id ${a}`);switch(delete this.callbacks[a],e){case"privy:iframe:ready":case"privy:wallets:create":case"privy:wallets:add":case"privy:wallets:set-recovery":case"privy:wallets:connect":case"privy:wallets:recover":case"privy:wallets:rpc":case"privy:wallet:create":case"privy:wallet:connect":case"privy:wallet:recover":case"privy:wallet:rpc":case"privy:solana-wallet:create":case"privy:solana-wallet:create-additional":case"privy:solana-wallet:connect":case"privy:solana-wallet:recover":case"privy:solana-wallet:rpc":case"privy:mfa:verify":case"privy:mfa:init-enrollment":case"privy:mfa:submit-enrollment":case"privy:mfa:unenroll":case"privy:mfa:clear":return l;default:throw new Error(`invalid wallet event type ${e}`)}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("./types.js");exports.PrivyEmbeddedWalletErrorCode=void 0,(e=exports.PrivyEmbeddedWalletErrorCode||(exports.PrivyEmbeddedWalletErrorCode={})).MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",e.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",e.INVALID_DATA="invalid_data",e.LINKED_TO_ANOTHER_USER="linked_to_another_user",e.ALLOWLIST_REJECTED="allowlist_rejected",e.OAUTH_USER_DENIED="oauth_user_denied",e.UNKNOWN_AUTH_ERROR="unknown_auth_error",e.USER_EXITED_AUTH_FLOW="exited_auth_flow",e.MUST_BE_AUTHENTICATED="must_be_authenticated",e.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",e.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",e.CLIENT_REQUEST_TIMEOUT="client_request_timeout",e.INVALID_CREDENTIALS="invalid_credentials";class t extends Error{cause;privyErrorCode;constructor(e,r,t){super(e),r instanceof Error&&(this.cause=r),this.privyErrorCode=t}toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}}class s extends t{type="provider_error";code;data;constructor(e,r,t){super(e),this.code=r,this.data=t}}class o extends Error{type;constructor(e,r){super(r),this.type=e}}class a extends Error{code;data;constructor(e,r,t){super(e),this.code=r,this.data=t}}const i={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1},E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don’t see your wallet? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don’t see your wallet? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don’t see your wallet? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}};function d(e){const t=e.type;return"string"==typeof t&&r.PrivyIframeErrorTypes.includes(t)}exports.EmbeddedProviderError=a,exports.PrivyConnectorError=class extends t{type="connector_error";constructor(e,r,t){super(e,r,t)}},exports.PrivyError=t,exports.PrivyIframeError=o,exports.PrivyProviderRpcError=class extends s{details;constructor(e){const r=e;super(r.message,r.code,r.data);const t=Object.values(i).find((e=>e.eipCode===r.code));this.details=t||i.UNKNOWN_ERROR,-32002===r.code&&(r.message?.includes("already pending for origin")?r.message?.includes("wallet_requestPermissions")?this.details=i.E32002_CONNECTION_ALREADY_PENDING:this.details=i.E32002_REQUEST_ALREADY_PENDING:r.message?.includes("Already processing")&&r.message.includes("eth_requestAccounts")&&(this.details=i.E32002_WALLET_LOCKED))}},exports.ProviderErrors=i,exports.ProviderRpcError=s,exports.errorIndicatesMaxMfaRetries=function(e){return d(e)&&"mfa_verification_max_attempts_reached"===e.type},exports.errorIndicatesMfaRateLimit=function(e){return d(e)&&e.message.includes("code 429")},exports.errorIndicatesMfaTimeout=function(e){return d(e)&&"mfa_timeout"===e.type},exports.errorIndicatesMfaVerificationFailed=function(e){return d(e)&&"missing_or_invalid_mfa"===e.type},exports.errorIndicatesRecoveryIsNeeded=function(e){return d(e)&&"wallet_not_on_device"===e.type},exports.isPrivyIframeError=d;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@ethersproject/bignumber"),e=require("../../chains/arbitrum.js"),i=require("../../chains/arbitrumGoerli.js"),t=require("../../chains/arbitrumSepolia.js"),a=require("../utils/ethers.js");const s=r=>[e.arbitrum.id,i.arbitrumGoerli.id,t.arbitrumSepolia.id].includes(r);exports.defaultGasForArbitrum=async(e,i)=>{if(!s(e.chainId))throw new Error("Invalid chain ID for Arbitrum gas estimation.");if(void 0===e.type&&(e.type=2),e.maxFeePerGas)return e;try{const{lastBaseFeePerGas:t}=await i.getFeeData();if(t){const i=t.mul(r.BigNumber.from(120)).div(r.BigNumber.from(100));e.maxFeePerGas=a.convertBigNumberish(i),e.maxPriorityFeePerGas=a.convertBigNumberish(r.BigNumber.from(0))}}catch(r){throw new Error(`Failed to set gas price for Arbitrum transaction: ${r}.`)}return e},exports.isArbitrum=s;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>[56,97].includes(e);exports.defaultGasForBsc=async(t,i)=>{if(!e(t.chainId))throw new Error("Invalid chain ID for BSC gas estimation.");if(void 0===t.type?t.type=0:1!=t.type&&2!=t.type||console.warn("Transaction request type specified is incompatible for chain and will result in undefined behavior. Please use transaction type 0."),!t.gasPrice){const e=await i.getFeeData();t.gasPrice=e.gasPrice?.toHexString()}return t},exports.isBsc=e;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/bignumber"),r=require("@ethersproject/contracts"),i=require("@ethersproject/transactions"),a=require("../../chains/base.js"),s=require("../../chains/baseGoerli.js"),t=require("../../chains/baseSepolia.js"),o=require("../../chains/optimism.js"),n=require("../../chains/optimismGoerli.js"),c=require("../../chains/optimismSepolia.js"),m=require("../../chains/zora.js"),u=require("../../chains/zoraSepolia.js"),P=require("../../chains/zoraTestnet.js"),l=require("../utils/ethers.js");const d=81457,h=168587773,p="0x420000000000000000000000000000000000000F",G=["function getL1Fee(bytes memory _data) external view returns (uint256)"],x=e=>[a.base.id,s.baseGoerli.id,t.baseSepolia.id,o.optimism.id,n.optimismGoerli.id,c.optimismSepolia.id,m.zora.id,P.zoraTestnet.id,u.zoraSepolia.id,d,h].includes(e);exports.OPTIMISM_STACK_GAS_PRICE_ORACLE_ABI=G,exports.OPTIMISM_STACK_GAS_PRICE_ORACLE_ADDRESS=p,exports.defaultGasForOpStack=async(r,i)=>{if(!x(r.chainId))throw new Error("Invalid chain ID for OP Stack gas estimation.");if(void 0===r.type&&(r.type=2),r.gasPrice&&(console.warn("`gasPrice` is not supported on this chain and will be ignored. Use `maxPriorityFeePerGas` and/or `maxFeePerGas` instead."),delete r.gasPrice),r.maxPriorityFeePerGas&&r.maxFeePerGas)return r;try{if(!r.maxPriorityFeePerGas){const e=await i.send("eth_maxPriorityFeePerGas",[]);r.maxPriorityFeePerGas=e}if(r.maxFeePerGas&&(console.warn("maxFeePerGas is specified without maxPriorityFeePerGas - this can result in hung transactions."),r.maxPriorityFeePerGas>=r.maxFeePerGas))throw new Error("Overridden maxFeePerGas is less than or equal to the calculated maxPriorityFeePerGas. Please set both values or maxPriorityFeePerGas alone for correct gas estimation.");if(!r.maxFeePerGas){const{lastBaseFeePerGas:a}=await i.getFeeData();if(!a)throw new Error("Unable to fetch baseFee for last block.");const s=e.BigNumber.from(a),t=s.mul(e.BigNumber.from(126)).div(e.BigNumber.from(100)).add(e.BigNumber.from(r.maxPriorityFeePerGas));r.maxFeePerGas=l.convertBigNumberish(t)}}catch(e){throw new Error(`Failed to set gas price for OP stack transaction: ${e}.`)}return r},exports.estimateOpStackL1Gas=async function(a,s){if(!a.chainId||a.chainId&&!x(a.chainId))return e.BigNumber.from(0);let t=e.BigNumber.from(0);try{const e=new r.Contract(p,G,s),o=l.toEthersUnsignedTransaction(a),n=i.serialize(o);t=await e.getL1Fee(n)}catch(e){}return t},exports.isOpStack=x;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/units"),o=require("fetch-retry"),t=require("../../chains/polygon.js"),a=require("../../chains/polygonAmoy.js"),r=require("../../chains/polygonMumbai.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const i=s(o).default(fetch,{retries:3,retryDelay:500}),n=e=>[t.polygon.id,r.polygonMumbai.id,a.polygonAmoy.id].includes(e),y=o=>({maxPriorityFee:e.parseUnits(o.maxPriorityFee.toFixed(9),"gwei").toHexString(),maxFee:e.parseUnits(o.maxFee.toFixed(9),"gwei").toHexString()}),g=async e=>{let o="";switch(e){case t.polygon.id:o="https://gasstation.polygon.technology/v2";break;case r.polygonMumbai.id:o="https://gasstation-testnet.polygon.technology/v2";break;case a.polygonAmoy.id:o="https://gasstation.polygon.technology/amoy";break;default:throw Error(`chainId ${e} does not support polygon gas stations`)}const s=await i(o),n=await s.json();if(s.status>399)throw n;return{safeLow:y((g=n).safeLow),standard:y(g.standard),fast:y(g.fast)};var g};exports.defaultGasForPolygon=async function(e){if(!n(e.chainId))throw new Error("Invalid chain ID for Polygon gas estimation.");if(void 0===e.type&&(e.type=2),e.maxPriorityFeePerGas&&e.maxFeePerGas)return e;try{const{standard:o}=await g(e.chainId);e.maxPriorityFeePerGas||(e.maxPriorityFeePerGas=o.maxPriorityFee),e.maxFeePerGas||(e.maxFeePerGas=o.maxFee),e.gasPrice&&(console.warn("`gasPrice` is not supported on this chain and will be ignored. Use `maxPriorityFeePerGas` and/or `maxFeePerGas` instead."),delete e.gasPrice)}catch(e){throw new Error(`Failed to set gas prices from Polygon gas station with error: ${e}.`)}return e},exports.getPolygonGasStationFees=g,exports.isPolygon=n;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./EmbeddedWalletProvider.js"),r=require("./EmbeddedSolanaWalletProvider.js"),i=require("./EmbeddedWalletProxy.js");require("eventemitter3"),require("../Error.js"),require("./errors.js"),require("./types.js"),require("./methods.js"),require("./utils/index.js"),require("@ethersproject/abstract-signer"),require("@ethersproject/providers"),require("./gas/arbitrum.js"),require("@ethersproject/bignumber"),require("../chains/arbitrum.js"),require("../chains/arbitrumGoerli.js"),require("../chains/arbitrumSepolia.js"),require("./utils/ethers.js"),require("./gas/bsc.js"),require("./gas/op-stack.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("../chains/base.js"),require("../chains/baseGoerli.js"),require("../chains/baseSepolia.js"),require("../chains/optimism.js"),require("../chains/optimismGoerli.js"),require("../chains/optimismSepolia.js"),require("../chains/zora.js"),require("../chains/zoraSepolia.js"),require("../chains/zoraTestnet.js"),require("./gas/polygon.js"),require("@ethersproject/units"),require("fetch-retry"),require("../chains/polygon.js"),require("../chains/polygonAmoy.js"),require("../chains/polygonMumbai.js"),require("./utils/gas.js"),require("./EventCallbackQueue.js"),require("./withMfa.js"),exports.EmbeddedWalletProvider=e.EmbeddedWalletProvider,exports.EmbeddedSolanaWalletProvider=r.EmbeddedSolanaWalletProvider,exports.EmbeddedWalletProxy=i.EmbeddedWalletProxy;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=["eth_sign","eth_signTransaction","personal_sign","eth_signTypedData_v4","csw_signUserOperation","secp256k1_sign"];exports.isSupportedIframeRpcMethod=s=>e.includes(s);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/units"),i=require("../chains/index.js");require("../chains/arbitrum.js"),require("../chains/arbitrumGoerli.js"),require("../chains/arbitrumSepolia.js"),require("../chains/avalanche.js"),require("../chains/avalancheFuji.js"),require("../chains/base.js"),require("../chains/baseGoerli.js"),require("../chains/baseSepolia.js"),require("../chains/berachainArtio.js"),require("../chains/celo.js"),require("../chains/celoAlfajores.js"),require("../chains/filecoin.js"),require("../chains/filecoinCalibration.js"),require("../chains/garnetHolesky.js"),require("../chains/goerli.js"),require("../chains/holesky.js"),require("../chains/linea.js"),require("../chains/lineaTestnet.js"),require("../chains/mainnet.js"),require("../chains/optimism.js"),require("../chains/optimismGoerli.js"),require("../chains/optimismSepolia.js"),require("../chains/polygon.js"),require("../chains/polygonMumbai.js"),require("../chains/redstone.js"),require("../chains/redstoneHolesky.js"),require("../chains/sepolia.js"),require("../chains/zora.js"),require("../chains/zoraSepolia.js"),require("../chains/zoraTestnet.js");const s=[i.chainDefs.polygon.id,i.chainDefs.polygonMumbai.id],r=i=>({maxPriorityFee:e.parseUnits(i.maxPriorityFee.toFixed(9),"gwei").toHexString(),maxFee:e.parseUnits(i.maxFee.toFixed(9),"gwei").toHexString()});exports.POLYGON_GAS_STATION_CHAIN_IDS=s,exports.getPolygonGasStationFees=async e=>{let s="";switch(e){case i.chainDefs.polygon.id:s="https://gasstation.polygon.technology/v2";break;case i.chainDefs.polygonMumbai.id:s="https://gasstation-testnet.polygon.technology/v2";break;default:throw Error(`chainId ${e} does not support polygon gas stations`)}const a=await fetch(s);return(e=>({safeLow:r(e.safeLow),standard:r(e.standard),fast:r(e.fast)}))(await a.json())};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=["eth_sign","eth_populateTransactionRequest","eth_signTransaction","personal_sign","eth_signTypedData_v4"],t=["signMessage"];exports.PrivyIframeErrorTypes=["error","invalid_request_arguments","wallet_not_on_device","invalid_recovery_pin","insufficient_funds","mfa_timeout","missing_or_invalid_mfa","mfa_verification_max_attempts_reached"],exports.SUPPORTED_JSON_RPC_METHODS=e,exports.isSupportedRpcMethod=t=>e.includes(t),exports.isSupportedSolanaRpcMethod=e=>t.includes(e);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/bignumber");const t=t=>e.BigNumber.from(t);exports.QuantityToBigNumber=t,exports.convertBigNumberish=function(e){if("number"==typeof e||"bigint"==typeof e||"string"==typeof e)return e;if("function"==typeof e.toHexString)return e.toHexString();throw new Error(`Expected numeric value but received ${e}`)},exports.toEthersUnsignedTransaction=function(e){const i={};return void 0!==e.to&&(i.to=e.to),void 0!==e.data&&(i.data=e.data),void 0!==e.chainId&&(i.chainId=e.chainId),void 0!==e.type&&(i.type=e.type),void 0!==e.accessList&&(i.accessList=e.accessList),void 0!==e.nonce&&(i.nonce=t(e.nonce).toNumber()),void 0!==e.gasLimit&&(i.gasLimit=t(e.gasLimit)),void 0!==e.gasPrice&&(i.gasPrice=t(e.gasPrice)),void 0!==e.value&&(i.value=t(e.value)),void 0!==e.maxFeePerGas&&(i.maxFeePerGas=t(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(i.maxPriorityFeePerGas=t(e.maxPriorityFeePerGas)),i};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/bignumber"),r=require("../errors.js"),t=require("../gas/op-stack.js"),i=require("./ethers.js");require("../types.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("../../chains/base.js"),require("../../chains/baseGoerli.js"),require("../../chains/baseSepolia.js"),require("../../chains/optimism.js"),require("../../chains/optimismGoerli.js"),require("../../chains/optimismSepolia.js"),require("../../chains/zora.js"),require("../../chains/zoraSepolia.js"),require("../../chains/zoraTestnet.js");exports.calculateTotalGasEstimate=async function(a,s){if(!a.gasLimit)throw new r.PrivyProviderRpcError("gasLimit was not successfully set for transaction.");const o=i.QuantityToBigNumber(a.gasLimit);let n=e.BigNumber.from(0);if(2==a.type){if(!a.maxFeePerGas)throw new r.PrivyProviderRpcError("maxFeePerGas was not successfully set for transaction of type 2.");n=i.QuantityToBigNumber(a.maxFeePerGas)}else{if(!a.gasPrice)throw new r.PrivyProviderRpcError("gasPrice was not successfully set for transaction of type 0 or 1.");n=i.QuantityToBigNumber(a.gasPrice)}let c=o.mul(n),u=e.BigNumber.from(0);if(a.chainId&&t.isOpStack(a.chainId))try{u=await t.estimateOpStackL1Gas(a,s),c=c.add(u)}catch(e){}return{totalGasEstimate:c,l1ExecutionFeeEstimate:u}},exports.defaultGasForEvmChain=async(e,r)=>{if(void 0===e.type&&(e.type=2),2===e.type){if(!e.maxFeePerGas||!e.maxPriorityFeePerGas){const t=await r.getFeeData();e.maxFeePerGas||(e.maxFeePerGas=t.maxFeePerGas?.toHexString()),e.maxPriorityFeePerGas||(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas?.toHexString())}}else if(!e.gasPrice){const t=await r.getFeeData();e.gasPrice=t.gasPrice?.toHexString()}return e},exports.defaultGasLimit=async function(e,r){try{return(await r.estimateGas(e)).toHexString()}catch(t){let i;if("message"in t&&t.message.includes("insufficient funds")&&(console.warn(`Gas estimation failed with error: ${t}. Retrying gas estimation by omitting the 'value'`),i=await async function({txRequest:e,provider:r}){try{const t={...e,value:void 0};return(await r.estimateGas(t)).toHexString()}catch(e){return console.warn(`Gas estimation failed with error: ${e} when omitting the 'value'`),null}}({txRequest:e,provider:r})),i||(console.warn(`Gas estimation failed with error: ${t}. Retrying gas estimation by omitting the 'from'`),i=await async function({txRequest:e,provider:r}){try{const t={...e,from:void 0};return(await r.estimateGas(t)).toHexString()}catch(e){return console.warn(`Gas estimation failed with error: ${e} when omitting the 'from' address`),null}}({txRequest:e,provider:r})),!i)throw t;return i}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@ethersproject/abstract-signer"),e=require("@ethersproject/providers"),t=require("../errors.js"),i=require("../gas/arbitrum.js"),s=require("../gas/bsc.js"),a=require("../gas/op-stack.js"),o=require("../gas/polygon.js"),n=require("./gas.js");require("../types.js"),require("@ethersproject/bignumber"),require("../../chains/arbitrum.js"),require("../../chains/arbitrumGoerli.js"),require("../../chains/arbitrumSepolia.js"),require("./ethers.js"),require("@ethersproject/contracts"),require("@ethersproject/transactions"),require("../../chains/base.js"),require("../../chains/baseGoerli.js"),require("../../chains/baseSepolia.js"),require("../../chains/optimism.js"),require("../../chains/optimismGoerli.js"),require("../../chains/optimismSepolia.js"),require("../../chains/zora.js"),require("../../chains/zoraSepolia.js"),require("../../chains/zoraTestnet.js"),require("@ethersproject/units"),require("fetch-retry"),require("../../chains/polygon.js"),require("../../chains/polygonAmoy.js"),require("../../chains/polygonMumbai.js");function p(r){return/^-?0x[a-f0-9]+$/i.test(r)}function c(r){const e="number"==typeof r,t="bigint"==typeof r,i="string"==typeof r&&p(r);return e||t||i}function u(r){const e=["gasLimit","gasPrice","value","maxPriorityFeePerGas","maxFeePerGas"];for(const t of e){const e=r[t];if(void 0!==e&&!c(e))throw new Error(`Transaction request property '${t}' must be a valid number, bigint, or hex string representing a quantity`)}if("number"!=typeof r.chainId)throw new Error("Transaction request property 'chainId' must be a number")}exports.getJsonRpcEndpointFromChain=(r,e,i)=>{const s=r.id,a=Number(r.id);let o;if(r.rpcUrls.privyWalletOverride&&r.rpcUrls.privyWalletOverride.http[0])o=r.rpcUrls.privyWalletOverride.http[0];else if(e.rpcUrls&&e.rpcUrls[a])o=e.rpcUrls[a];else if(r.rpcUrls.privy?.http[0]){const e=new URL(r.rpcUrls.privy.http[0]);e.searchParams.append("privyAppId",i),o=e.toString()}else o=r.rpcUrls.public?.http[0]?r.rpcUrls.public.http[0]:r.rpcUrls.default?.http[0];if(!o)throw new t.PrivyConnectorError(`No RPC url found for ${s}`);return o},exports.getJsonRpcProvider=(r,i,s,a)=>{const o=Number(r),n=i.find((r=>r.id===o));if(!n)throw new t.PrivyConnectorError(`Unsupported chainId ${r}`,4901);let p;if(p=n.rpcUrls.privyWalletOverride&&n.rpcUrls.privyWalletOverride.http[0]?new e.StaticJsonRpcProvider(n.rpcUrls.privyWalletOverride.http[0]):s.rpcUrls&&s.rpcUrls[o]?new e.StaticJsonRpcProvider(s.rpcUrls[o]):n.rpcUrls.privy?.http[0]?new e.StaticJsonRpcProvider({url:n.rpcUrls.privy.http[0],headers:{"privy-app-id":a.appId}}):n.rpcUrls.public?.http[0]?new e.StaticJsonRpcProvider(n.rpcUrls.public?.http[0]):new e.StaticJsonRpcProvider(n.rpcUrls.default?.http[0]),!p)throw new t.PrivyConnectorError(`No RPC url found for ${r}`);return p},exports.populateTransactionRequest=async function(e,t,c){if(t.chainId=Number(t.chainId),u(t),t.from||(t.from=e),!t.nonce){const i=new r.VoidSigner(e,c);t.nonce=await i.getTransactionCount("pending")}return t.gasLimit||(t.gas?(t.gasLimit=t.gas,delete t.gas):t.gasLimit=await n.defaultGasLimit(t,c)),"string"==typeof t.type&&p(t.type)&&(t.type=Number(t.type)),[23294,23295].includes(t.chainId)&&(t.type=0),0===(t=o.isPolygon(t.chainId)?await o.defaultGasForPolygon(t):i.isArbitrum(t.chainId)?await i.defaultGasForArbitrum(t,c):a.isOpStack(t.chainId)?await a.defaultGasForOpStack(t,c):s.isBsc(t.chainId)?await s.defaultGasForBsc(t,c):await n.defaultGasForEvmChain(t,c)).type&&delete t.accessList,2!==t.type&&(delete t.maxPriorityFeePerGas,delete t.maxFeePerGas),t},exports.throwIfInvalidRecoveryUpgradePath=function({currentRecoveryMethod:r,upgradeToRecoveryMethod:e}){switch(r){case"privy":case"user-passcode":return!0;case"icloud":case"google-drive":if(r===e)throw new Error("Cannot upgrade to the existing cloud platform");return!0;default:throw new Error("Unknown recovery method")}},exports.validateTransactionRequest=u;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("./errors.js");require("./types.js"),exports.withMfa=async function(e,t,i,a,n=!1,o,c){let s=n;const u=async o=>{if(s){o===(n?0:1)?a():i.current?.reject(new r.PrivyIframeError("missing_or_invalid_mfa","MFA verification failed, retry."));const s=await new Promise(((e,a)=>{t.current={resolve:e,reject:a},setTimeout((()=>{const e=new r.PrivyIframeError("mfa_timeout","Timed out waiting for MFA code");i.current?.reject(e),a(e)}),c)}));return await e(s)}return await e()};let f=null;for(let r=0;r<o;r++)try{f=await u(r),i.current?.resolve(void 0);break}catch(r){if("missing_or_invalid_mfa"!==r.type)throw i.current?.resolve(void 0),r;s=!0}if(null===f){const e=new r.PrivyIframeError("mfa_verification_max_attempts_reached","Max MFA verification attempts reached");throw i.current?.reject(e),e}return f};