@privy-io/react-auth 2.4.5 → 2.4.6-beta-20250225233939

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 (52) hide show
  1. package/dist/cjs/abstract-smart-wallets.js +1 -1
  2. package/dist/cjs/farcaster.js +1 -1
  3. package/dist/cjs/{getPublicClient-BjV7zj03.js → getPublicClient-hVv5ZSWd.js} +1 -1
  4. package/dist/cjs/{importWallet-DbohmIiw.js → importWallet-C9eckAi6.js} +1 -1
  5. package/dist/cjs/index.js +9 -9
  6. package/dist/cjs/{internal-context-BFE-DjTn.js → internal-context-DV3MljLU.js} +1 -1
  7. package/dist/cjs/paths-BGBZ-6Nl.js +1 -0
  8. package/dist/cjs/{prepareFundingModalData-BdtVxCug.js → prepareFundingModalData-F2vnJ3hL.js} +1 -1
  9. package/dist/cjs/smart-wallets-Bbw52iem.js +1 -0
  10. package/dist/cjs/smart-wallets.js +1 -1
  11. package/dist/cjs/solana.js +1 -1
  12. package/dist/cjs/ui.js +1 -1
  13. package/dist/cjs/{useActiveWallet-BmSLq25D.js → useActiveWallet-C-yNC7pr.js} +4 -3
  14. package/dist/cjs/{useFundWallet-DNBXOQPj.js → useFundWallet-BCG2BZm0.js} +1 -1
  15. package/dist/cjs/useWallets-B1FpiIFv.js +1 -0
  16. package/dist/dts/farcaster.d.mts +1 -1
  17. package/dist/dts/farcaster.d.ts +1 -1
  18. package/dist/dts/index.d.mts +12 -15
  19. package/dist/dts/index.d.ts +12 -15
  20. package/dist/dts/smart-wallets.d.mts +1 -1
  21. package/dist/dts/smart-wallets.d.ts +1 -1
  22. package/dist/dts/solana.d.mts +5 -5
  23. package/dist/dts/solana.d.ts +5 -5
  24. package/dist/dts/{types-BKBPK3tN.d.mts → types-VtXkq8Wj.d.mts} +23 -2
  25. package/dist/dts/{types-BKBPK3tN.d.ts → types-VtXkq8Wj.d.ts} +23 -2
  26. package/dist/dts/ui.d.mts +1 -1
  27. package/dist/dts/ui.d.ts +1 -1
  28. package/dist/dts/{useSolanaWallets-BkzftCx7.d.mts → useSolanaWallets-Du5sSdUt.d.mts} +1 -1
  29. package/dist/dts/{useSolanaWallets-BkzftCx7.d.ts → useSolanaWallets-Du5sSdUt.d.ts} +1 -1
  30. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  31. package/dist/esm/farcaster.mjs +1 -1
  32. package/dist/esm/{getPublicClient-BghjDv1y.mjs → getPublicClient-wHgCncHx.mjs} +1 -1
  33. package/dist/esm/importWallet-BvrVJ2kr.mjs +1 -0
  34. package/dist/esm/index.mjs +21 -21
  35. package/dist/esm/{internal-context-DBDJ7qsa.mjs → internal-context-mSHyF0Gq.mjs} +1 -1
  36. package/dist/esm/paths-Q47X90aK.mjs +1 -0
  37. package/dist/esm/{prepareFundingModalData-CsN1TYQy.mjs → prepareFundingModalData-B4bmEYDQ.mjs} +1 -1
  38. package/dist/esm/smart-wallets-BKpHV5bc.mjs +1 -0
  39. package/dist/esm/smart-wallets.mjs +1 -1
  40. package/dist/esm/solana.mjs +1 -1
  41. package/dist/esm/ui.mjs +2 -2
  42. package/dist/esm/{useActiveWallet-DvvTjRH_.mjs → useActiveWallet-DZh5_7ym.mjs} +6 -5
  43. package/dist/esm/{useFundWallet-DS1kytse.mjs → useFundWallet-CI-i6AW7.mjs} +1 -1
  44. package/dist/esm/useWallets-C6emeO1q.mjs +1 -0
  45. package/package.json +3 -3
  46. package/dist/cjs/paths-DJCfoehl.js +0 -1
  47. package/dist/cjs/smart-wallets-DR6SCvrN.js +0 -1
  48. package/dist/cjs/useWallets-C7Zst89H.js +0 -1
  49. package/dist/esm/importWallet-ylHVDCXz.mjs +0 -1
  50. package/dist/esm/paths-CasJYDld.mjs +0 -1
  51. package/dist/esm/smart-wallets-gIJUc6-6.mjs +0 -1
  52. package/dist/esm/useWallets-8w3LVxdW.mjs +0 -1
@@ -1 +1 @@
1
- "use strict";var e=require("@abstract-foundation/agw-client"),n=require("viem"),r=require("viem/accounts"),t=require("viem/chains"),a=require("./useWallets-C7Zst89H.js"),s=require("./internal-context-BFE-DjTn.js"),i=require("./getPublicClient-BjV7zj03.js"),o=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),c=require("./smart-wallets-DR6SCvrN.js");require("viem/utils"),require("react/jsx-runtime"),require("react"),require("tinycolor2"),require("ofetch"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction"),require("@privy-io/js-sdk-core"),exports.useAbstractSmartWallets=function(){let{user:l}=a.usePrivyContext(),{hideWalletUIs:d,openPrivyModal:u,chains:E,appId:p,rpcConfig:y}=s.usePrivyInternal(),{wallets:g}=a.useWallets(),{setModalData:m}=a.usePrivyModal(),T=async(a=t.abstractTestnet.id)=>{let s=o.getEmbeddedConnectedWallet(g);if(!s)throw Error("No connected wallet found");let c="string"==typeof a?n.hexToNumber(a):a;if(![t.abstractTestnet.id,2741].includes(c))throw Error("Error, only Abstract chains are supported");let l=E.find((e=>e.id===c));if(!l)throw Error("Chain not configured");await s.switchChain(l.id);let d=await s.getEthereumProvider(),u=n.createWalletClient({account:s.address,transport:n.custom(d)}),m=r.toAccount({address:s.address,signMessage:u.signMessage,signTransaction:u.signTransaction,signTypedData:u.signTypedData});return await e.createAbstractClient({chain:l,transport:n.http(i.getJsonRpcEndpointFromChain(l,y,p)),publicTransport:n.http(i.getJsonRpcEndpointFromChain(l,y,p)),signer:m})};return{signMessage:async({message:e},n)=>{let r=await T(n);return new Promise((async(n,t)=>{let{entropyId:s,entropyIdVerifier:i}=a.getEntropyDetailsFromUser(l);d.current=!0,m({connectWallet:{entropyId:s,entropyIdVerifier:i,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>r.signMessage({message:e}),onSuccess:e=>n(e),onFailure:t,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))},signTypedData:async(e,n)=>{let r=await T(n);return new Promise((async(n,t)=>{d.current=!0;let{entropyId:s,entropyIdVerifier:i}=a.getEntropyDetailsFromUser(l);m({connectWallet:{entropyId:s,entropyIdVerifier:i,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>n(e),onFailure:t,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))},sendTransaction:async e=>{let n=await T(e.chainId),r=[],t="calls"in e&&void 0!==e.calls;return r=t?[...e.calls]:[e],new Promise((async(s,i)=>{d.current=!0;let{entropyId:o,entropyIdVerifier:E}=a.getEntropyDetailsFromUser(l);m({connectWallet:{entropyId:o,entropyIdVerifier:E,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:c.callsToTransactionRequests({calls:r,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:o,entropyIdVerifier:E,transactingWallet:{address:n.account.address,walletIndex:null},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>t?n.sendTransactionBatch(e):n.sendTransaction(e),onSuccess:e=>s(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))},signTransaction:async e=>{let n=await T(e.chainId),r=[],t="calls"in e&&void 0!==e.calls;return r=t?[...e.calls]:[e],new Promise((async(s,i)=>{d.current=!0;let{entropyId:o,entropyIdVerifier:E}=a.getEntropyDetailsFromUser(l);m({connectWallet:{entropyId:o,entropyIdVerifier:E,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:c.callsToTransactionRequests({calls:r,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:o,entropyIdVerifier:E,transactingWallet:{address:n.account.address,walletIndex:null},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>{if(!t)return n.signTransaction(e);throw Error("Batch transactions not supported for signing")},onSuccess:e=>s(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))}}};
1
+ "use strict";var e=require("@abstract-foundation/agw-client"),n=require("viem"),r=require("viem/accounts"),t=require("viem/chains"),a=require("./useWallets-B1FpiIFv.js"),s=require("./internal-context-DV3MljLU.js"),i=require("./getPublicClient-hVv5ZSWd.js"),o=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),c=require("./smart-wallets-Bbw52iem.js");require("viem/utils"),require("react/jsx-runtime"),require("react"),require("tinycolor2"),require("ofetch"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction"),require("@privy-io/js-sdk-core"),exports.useAbstractSmartWallets=function(){let{user:l}=a.usePrivyContext(),{hideWalletUIs:d,openPrivyModal:u,chains:E,appId:p,rpcConfig:y}=s.usePrivyInternal(),{wallets:g}=a.useWallets(),{setModalData:m}=a.usePrivyModal(),T=async(a=t.abstractTestnet.id)=>{let s=o.getEmbeddedConnectedWallet(g);if(!s)throw Error("No connected wallet found");let c="string"==typeof a?n.hexToNumber(a):a;if(![t.abstractTestnet.id,2741].includes(c))throw Error("Error, only Abstract chains are supported");let l=E.find((e=>e.id===c));if(!l)throw Error("Chain not configured");await s.switchChain(l.id);let d=await s.getEthereumProvider(),u=n.createWalletClient({account:s.address,transport:n.custom(d)}),m=r.toAccount({address:s.address,signMessage:u.signMessage,signTransaction:u.signTransaction,signTypedData:u.signTypedData});return await e.createAbstractClient({chain:l,transport:n.http(i.getJsonRpcEndpointFromChain(l,y,p)),publicTransport:n.http(i.getJsonRpcEndpointFromChain(l,y,p)),signer:m})};return{signMessage:async({message:e},n)=>{let r=await T(n);return new Promise((async(n,t)=>{let{entropyId:s,entropyIdVerifier:i}=a.getEntropyDetailsFromUser(l);d.current=!0,m({connectWallet:{entropyId:s,entropyIdVerifier:i,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>r.signMessage({message:e}),onSuccess:e=>n(e),onFailure:t,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))},signTypedData:async(e,n)=>{let r=await T(n);return new Promise((async(n,t)=>{d.current=!0;let{entropyId:s,entropyIdVerifier:i}=a.getEntropyDetailsFromUser(l);m({connectWallet:{entropyId:s,entropyIdVerifier:i,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>n(e),onFailure:t,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))},sendTransaction:async e=>{let n=await T(e.chainId),r=[],t="calls"in e&&void 0!==e.calls;return r=t?[...e.calls]:[e],new Promise((async(s,i)=>{d.current=!0;let{entropyId:o,entropyIdVerifier:E}=a.getEntropyDetailsFromUser(l);m({connectWallet:{entropyId:o,entropyIdVerifier:E,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:c.callsToTransactionRequests({calls:r,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:o,entropyIdVerifier:E,transactingWallet:{address:n.account.address,walletIndex:null},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>t?n.sendTransactionBatch(e):n.sendTransaction(e),onSuccess:e=>s(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))},signTransaction:async e=>{let n=await T(e.chainId),r=[],t="calls"in e&&void 0!==e.calls;return r=t?[...e.calls]:[e],new Promise((async(s,i)=>{d.current=!0;let{entropyId:o,entropyIdVerifier:E}=a.getEntropyDetailsFromUser(l);m({connectWallet:{entropyId:o,entropyIdVerifier:E,onCompleteNavigateTo:a.ModalScreen.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:c.callsToTransactionRequests({calls:r,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:o,entropyIdVerifier:E,transactingWallet:{address:n.account.address,walletIndex:null},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>{if(!t)return n.signTransaction(e);throw Error("Batch transactions not supported for signing")},onSuccess:e=>s(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),u(a.ModalScreen.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{d.current=!1}))}}};
@@ -1 +1 @@
1
- "use strict";var t=require("react"),e=require("./internal-context-BFE-DjTn.js"),r=require("./paths-DJCfoehl.js");require("ofetch");class i{async init(){if(!this.api)throw new e.PrivyClientError("Auth flow has no API instance");let{nonce:t}=await this.api.post(r.initFarcasterV2Path,{});return{nonce:t}}async authenticate(){if(!this.message||!this.signature||!this.fid)throw new e.PrivyClientError("Auth flow has no message, signature, or fid");if(!this.api)throw new e.PrivyClientError("Auth flow has no API instance");try{let t=await this.api.post(r.authenticateFarcasterV2Path,{message:this.message,signature:this.signature,fid:this.fid});if(!t)throw new e.PrivyClientError("No response from authentication");return t}catch(t){throw e.formatApiError(t)}}async link(){throw Error("Not implemented")}setAuthData({message:t,signature:e,fid:r}){this.message=t,this.signature=e,this.fid=r}constructor(){this.meta={}}}exports.useLoginToFrame=()=>{let{client:r,setAuthenticated:a,setUser:s}=e.usePrivyInternal();return{initLoginToFrame:t.useCallback((async()=>{let t=new i;if(!r)throw new e.PrivyClientError("Must initialize Privy client first.");return r.startAuthFlow(t),await t.init()}),[r]),loginToFrame:t.useCallback((async({message:t,signature:n})=>{if(!r)throw new e.PrivyClientError("Must initialize Privy client first.");if(!(r.authFlow instanceof i))throw new e.PrivyClientError("Must initialize Farcaster frame flow first.");let o=(t=>{let e=t.match(/farcaster:\/\/fid\/(\d+)/);return e&&e[1]?parseInt(e[1],10):null})(t);if(!o)throw new e.PrivyClientError("Invalid message format; could not parse Farcaster ID.");r.authFlow.setAuthData({message:t,signature:n,fid:o});let{user:h}=await r.authenticate();return h&&(s(h),a(!0)),h}),[r,s,a])}};
1
+ "use strict";var t=require("react"),e=require("./internal-context-DV3MljLU.js"),r=require("./paths-BGBZ-6Nl.js");require("ofetch");class i{async init(){if(!this.api)throw new e.PrivyClientError("Auth flow has no API instance");let{nonce:t}=await this.api.post(r.initFarcasterV2Path,{});return{nonce:t}}async authenticate(){if(!this.message||!this.signature||!this.fid)throw new e.PrivyClientError("Auth flow has no message, signature, or fid");if(!this.api)throw new e.PrivyClientError("Auth flow has no API instance");try{let t=await this.api.post(r.authenticateFarcasterV2Path,{message:this.message,signature:this.signature,fid:this.fid});if(!t)throw new e.PrivyClientError("No response from authentication");return t}catch(t){throw e.formatApiError(t)}}async link(){throw Error("Not implemented")}setAuthData({message:t,signature:e,fid:r}){this.message=t,this.signature=e,this.fid=r}constructor(){this.meta={}}}exports.useLoginToFrame=()=>{let{client:r,setAuthenticated:a,setUser:s}=e.usePrivyInternal();return{initLoginToFrame:t.useCallback((async()=>{let t=new i;if(!r)throw new e.PrivyClientError("Must initialize Privy client first.");return r.startAuthFlow(t),await t.init()}),[r]),loginToFrame:t.useCallback((async({message:t,signature:n})=>{if(!r)throw new e.PrivyClientError("Must initialize Privy client first.");if(!(r.authFlow instanceof i))throw new e.PrivyClientError("Must initialize Farcaster frame flow first.");let o=(t=>{let e=t.match(/farcaster:\/\/fid\/(\d+)/);return e&&e[1]?parseInt(e[1],10):null})(t);if(!o)throw new e.PrivyClientError("Invalid message format; could not parse Farcaster ID.");r.authFlow.setAuthData({message:t,signature:n,fid:o});let{user:h}=await r.authenticate();return h&&(s(h),a(!0)),h}),[r,s,a])}};
@@ -1 +1 @@
1
- "use strict";var r=require("viem"),t=require("./internal-context-BFE-DjTn.js");const e=(r,e,p)=>{let i,l=r.id,n=Number(r.id);if(r.rpcUrls.privyWalletOverride&&r.rpcUrls.privyWalletOverride.http[0])i=r.rpcUrls.privyWalletOverride.http[0];else if(e.rpcUrls&&e.rpcUrls[n])i=e.rpcUrls[n];else if(r.rpcUrls.privy?.http[0]){let t=new URL(r.rpcUrls.privy.http[0]);t.searchParams.append("privyAppId",p),i=t.toString()}else i=r.rpcUrls.public?.http[0]?r.rpcUrls.public.http[0]:r.rpcUrls.default?.http[0];if(!i)throw new t.PrivyConnectorError(`No RPC url found for ${l}`);return i};exports.getJsonRpcEndpointFromChain=e,exports.getPublicClient=(p,i,l,n)=>{let c=Number(p),s=i.find((r=>r.id===c));if(!s)throw new t.PrivyConnectorError(`Unsupported chainId ${p}`,4901);return r.createPublicClient({transport:r.http(e(s,l,n.appId)),chain:s})};
1
+ "use strict";var r=require("viem"),t=require("./internal-context-DV3MljLU.js");const e=(r,e,p)=>{let i,l=r.id,n=Number(r.id);if(r.rpcUrls.privyWalletOverride&&r.rpcUrls.privyWalletOverride.http[0])i=r.rpcUrls.privyWalletOverride.http[0];else if(e.rpcUrls&&e.rpcUrls[n])i=e.rpcUrls[n];else if(r.rpcUrls.privy?.http[0]){let t=new URL(r.rpcUrls.privy.http[0]);t.searchParams.append("privyAppId",p),i=t.toString()}else i=r.rpcUrls.public?.http[0]?r.rpcUrls.public.http[0]:r.rpcUrls.default?.http[0];if(!i)throw new t.PrivyConnectorError(`No RPC url found for ${l}`);return i};exports.getJsonRpcEndpointFromChain=e,exports.getPublicClient=(p,i,l,n)=>{let c=Number(p),s=i.find((r=>r.id===c));if(!s)throw new t.PrivyConnectorError(`Unsupported chainId ${p}`,4901);return r.createPublicClient({transport:r.http(e(s,l,n.appId)),chain:s})};
@@ -1 +1 @@
1
- "use strict";var e=require("./useWallets-C7Zst89H.js"),r=require("./internal-context-BFE-DjTn.js");exports.importWallet=async({emitPrivyEvent:t,getAccessToken:i,initializeWalletProxy:o,refreshSessionAndUser:a,user:n},{privateKey:l,chainType:s})=>{if(!n)throw t("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");let[c,E]=await Promise.all([i(),o(15e3)]);if(!E||!c)throw t("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");await E.importWallet({privateKey:l,accessToken:c,chainType:s});let u=await a(),y="solana"===s?e.getImportedPrivySolanaWallet(u):e.getImportedPrivyEthereumWallet(u);if(!y)throw t("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return t("createWallet","onSuccess",{wallet:y}),y};
1
+ "use strict";var e=require("./useWallets-B1FpiIFv.js"),r=require("./internal-context-DV3MljLU.js");exports.importWallet=async({emitPrivyEvent:t,getAccessToken:i,initializeWalletProxy:o,refreshSessionAndUser:a,user:n},{privateKey:l,chainType:s})=>{if(!n)throw t("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");let[c,E]=await Promise.all([i(),o(15e3)]);if(!E||!c)throw t("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");await E.importWallet({privateKey:l,accessToken:c,chainType:s});let u=await a(),y="solana"===s?e.getImportedPrivySolanaWallet(u):e.getImportedPrivyEthereumWallet(u);if(!y)throw t("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return t("createWallet","onSuccess",{wallet:y}),y};