@privy-io/react-auth 3.4.1 → 3.5.0

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 (75) hide show
  1. package/dist/cjs/EmbeddedWalletConnectingScreen-D_YsihzO.js +27 -0
  2. package/dist/cjs/SignRequestScreen-MGUrxay9.js +1 -0
  3. package/dist/cjs/abstract-smart-wallets.js +1 -1
  4. package/dist/cjs/events-context-Dn0fJZ2h.js +1 -0
  5. package/dist/cjs/extended-chains.js +1 -1
  6. package/dist/cjs/farcaster.js +1 -1
  7. package/dist/cjs/frame-B2orQ_lK.js +1 -0
  8. package/dist/cjs/index.js +7 -7
  9. package/dist/cjs/internal-context-CeWKmK5u.js +1 -0
  10. package/dist/cjs/internal.js +1 -0
  11. package/dist/cjs/smart-wallets-5q-XiLac.js +1 -0
  12. package/dist/cjs/smart-wallets.js +1 -1
  13. package/dist/cjs/solana.js +1 -1
  14. package/dist/cjs/ui.js +2 -2
  15. package/dist/cjs/use-export-wallet-C7R1A29C.js +2 -0
  16. package/dist/cjs/use-sign-with-user-signer-BtJVKMQr.js +1 -0
  17. package/dist/cjs/useActiveWallet-E94x91YD.js +1 -0
  18. package/dist/cjs/usePrivy-BEZb4Uky.js +1 -0
  19. package/dist/dts/events-context-DB3Pn5Hg.d.mts +328 -0
  20. package/dist/dts/events-context-DB3Pn5Hg.d.ts +328 -0
  21. package/dist/dts/extended-chains.d.mts +24 -2
  22. package/dist/dts/extended-chains.d.ts +24 -2
  23. package/dist/dts/farcaster.d.mts +1 -1
  24. package/dist/dts/farcaster.d.ts +1 -1
  25. package/dist/dts/index.d.mts +20 -332
  26. package/dist/dts/index.d.ts +20 -332
  27. package/dist/dts/internal.d.mts +44 -0
  28. package/dist/dts/internal.d.ts +44 -0
  29. package/dist/dts/smart-wallets.d.mts +1 -1
  30. package/dist/dts/smart-wallets.d.ts +1 -1
  31. package/dist/dts/solana.d.mts +31 -7
  32. package/dist/dts/solana.d.ts +31 -7
  33. package/dist/dts/{types-BF33BYgd.d.mts → types-C4KyGxEF.d.mts} +3 -3
  34. package/dist/dts/{types-BF33BYgd.d.ts → types-C4KyGxEF.d.ts} +3 -3
  35. package/dist/dts/ui.d.mts +1 -1
  36. package/dist/dts/ui.d.ts +1 -1
  37. package/dist/esm/EmbeddedWalletConnectingScreen-ilL_GaJO.mjs +25 -0
  38. package/dist/esm/SignRequestScreen-B3UhThlp.mjs +1 -0
  39. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  40. package/dist/esm/events-context-CB7CF-OC.mjs +1 -0
  41. package/dist/esm/extended-chains.mjs +1 -1
  42. package/dist/esm/farcaster.mjs +1 -1
  43. package/dist/esm/frame-Dj70FEYB.mjs +1 -0
  44. package/dist/esm/index.mjs +6 -6
  45. package/dist/esm/internal-context-eGSwROSk.mjs +1 -0
  46. package/dist/esm/internal.mjs +1 -0
  47. package/dist/esm/smart-wallets-DINPJbZr.mjs +1 -0
  48. package/dist/esm/smart-wallets.mjs +1 -1
  49. package/dist/esm/solana.mjs +1 -1
  50. package/dist/esm/ui.mjs +2 -2
  51. package/dist/esm/use-export-wallet-CED1-6Km.mjs +1 -0
  52. package/dist/esm/use-sign-with-user-signer-DaTvrd5T.mjs +1 -0
  53. package/dist/esm/useActiveWallet-2NxrDpZU.mjs +1 -0
  54. package/dist/esm/usePrivy-DhsfOIjx.mjs +1 -0
  55. package/package.json +21 -7
  56. package/dist/cjs/SignRequestScreen-cAAtS6nl.js +0 -27
  57. package/dist/cjs/frame-8JZCzmCf.js +0 -1
  58. package/dist/cjs/internal-context-DNWjSiYq.js +0 -1
  59. package/dist/cjs/paths-B00ZrFQm.js +0 -1
  60. package/dist/cjs/privy-context-NMR-GjnL.js +0 -1
  61. package/dist/cjs/smart-wallets-65yy6DGK.js +0 -1
  62. package/dist/cjs/use-export-wallet-9ypqLaaB.js +0 -2
  63. package/dist/cjs/use-sign-with-user-signer-Q0_LRVtz.js +0 -1
  64. package/dist/cjs/useActiveWallet-CtNcsjJH.js +0 -1
  65. package/dist/cjs/usePrivy-dGz-b0SX.js +0 -1
  66. package/dist/esm/SignRequestScreen-cNZ56bAg.mjs +0 -25
  67. package/dist/esm/frame-Dh-xhHMG.mjs +0 -1
  68. package/dist/esm/internal-context-CfE_S5P-.mjs +0 -1
  69. package/dist/esm/paths-B891YjWw.mjs +0 -1
  70. package/dist/esm/privy-context-DDSW3jEM.mjs +0 -1
  71. package/dist/esm/smart-wallets-_lFo8N6W.mjs +0 -1
  72. package/dist/esm/use-export-wallet-E2KvvjYq.mjs +0 -1
  73. package/dist/esm/use-sign-with-user-signer-DVcbjNtZ.mjs +0 -1
  74. package/dist/esm/useActiveWallet-BLu2tB4S.mjs +0 -1
  75. package/dist/esm/usePrivy-DmWciddF.mjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";var t,e=require("ofetch"),s=require("react");class a extends Error{toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(t,e,s){super(t),e instanceof Error&&(this.cause=e),this.privyErrorCode=s}}class i extends a{constructor(t,e,s,a,i,r){super(s,a,i),this.type=t,this.status=e,this.data=r}}class r extends a{constructor(t,e,s){super(t,e,s),this.type="client_error"}}const n=t=>t instanceof a?t:t instanceof Error?new r(t.message,t):new r(`Internal error: ${t}`);var o=((t={}).OAUTH_ACCOUNT_SUSPENDED="oauth_account_suspended",t.MISSING_OR_INVALID_PRIVY_APP_ID="missing_or_invalid_privy_app_id",t.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID="missing_or_invalid_privy_account_id",t.MISSING_OR_INVALID_TOKEN="missing_or_invalid_token",t.INVALID_DATA="invalid_data",t.INVALID_CAPTCHA="invalid_captcha",t.LINKED_TO_ANOTHER_USER="linked_to_another_user",t.CANNOT_LINK_MORE_OF_TYPE="cannot_link_more_of_type",t.FAILED_TO_LINK_ACCOUNT="failed_to_link_account",t.FAILED_TO_UPDATE_ACCOUNT="failed_to_update_account",t.USER_EXITED_UPDATE_FLOW="exited_update_flow",t.ALLOWLIST_REJECTED="allowlist_rejected",t.OAUTH_USER_DENIED="oauth_user_denied",t.OAUTH_UNEXPECTED="oauth_unexpected",t.UNKNOWN_AUTH_ERROR="unknown_auth_error",t.USER_EXITED_AUTH_FLOW="exited_auth_flow",t.USER_EXITED_LINK_FLOW="exited_link_flow",t.USER_EXITED_SET_PASSWORD_FLOW="user_exited_set_password_flow",t.MUST_BE_AUTHENTICATED="must_be_authenticated",t.UNKNOWN_CONNECT_WALLET_ERROR="unknown_connect_wallet_error",t.GENERIC_CONNECT_WALLET_ERROR="generic_connect_wallet_error",t.CLIENT_REQUEST_TIMEOUT="client_request_timeout",t.INVALID_CREDENTIALS="invalid_credentials",t.MISSING_MFA_CREDENTIALS="missing_or_invalid_mfa",t.UNKNOWN_MFA_ERROR="unknown_mfa_error",t.EMBEDDED_WALLET_ALREADY_EXISTS="embedded_wallet_already_exists",t.EMBEDDED_WALLET_NOT_FOUND="embedded_wallet_not_found",t.EMBEDDED_WALLET_CREATE_ERROR="embedded_wallet_create_error",t.UNKNOWN_EMBEDDED_WALLET_ERROR="unknown_embedded_wallet_error",t.EMBEDDED_WALLET_PASSWORD_UNCONFIRMED="embedded_wallet_password_unconfirmed",t.EMBEDDED_WALLET_PASSWORD_ALREADY_EXISTS="embedded_wallet_password_already_exists",t.EMBEDDED_WALLET_RECOVERY_ALREADY_EXISTS="embedded_wallet_recovery_already_exists",t.TRANSACTION_FAILURE="transaction_failure",t.UNSUPPORTED_CHAIN_ID="unsupported_chain_id",t.NOT_SUPPORTED="not_supported",t.CAPTCHA_TIMEOUT="captcha_timeout",t.INVALID_MESSAGE="invalid_message",t.UNABLE_TO_SIGN="unable_to_sign",t.CAPTCHA_FAILURE="captcha_failure",t.CAPTCHA_DISABLED="captcha_disabled",t.SESSION_STORAGE_UNAVAILABLE="session_storage_unavailable",t.TOO_MANY_REQUESTS="too_many_requests",t.USER_LIMIT_REACHED="max_accounts_reached",t.DISALLOWED_LOGIN_METHOD="disallowed_login_method",t.DISALLOWED_PLUS_EMAIL="disallowed_plus_email",t.PASSKEY_NOT_ALLOWED="passkey_not_allowed",t.USER_DOES_NOT_EXIST="user_does_not_exist",t.INSUFFICIENT_BALANCE="insufficient_balance",t.ACCOUNT_TRANSFER_REQUIRED="account_transfer_required",t.BUFFER_NOT_DEFINED="buffer_not_defined",t.UNSUPPORTED_WALLET_TYPE="unsupported_wallet_type",t);const p=()=>{throw Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")},l=/*#__PURE__*/s.createContext({setAuthenticated:p,setUser:p,setIsNewUser:p,isNewUserThisSession:!1,walletConnectionStatus:null,setWalletConnectionStatus:p,connectors:[],rpcConfig:{rpcUrls:{}},showFiatPrices:!0,chains:[],clientAnalyticsId:null,pendingTransaction:null,client:null,privy:null,appId:"notAdded",onCustomAuthAuthenticated:p,hideWalletUIs:{current:!1},nativeTokenSymbolForChainId:p,initializeWalletProxy:p,getAuthMeta:p,getAuthFlow:p,closePrivyModal:p,openPrivyModal:p,connectWallet:p,initLoginWithWallet:p,loginWithWallet:p,initLoginWithFarcaster:p,loginWithFarcaster:p,loginWithCode:p,initLoginWithEmail:p,initLoginWithSms:p,initUpdateEmail:p,initUpdatePhone:p,resendEmailCode:p,resendSmsCode:p,initLoginWithHeadlessOAuth:p,loginWithHeadlessOAuth:p,crossAppAuthFlow:p,initLoginWithOAuth:p,loginWithOAuth:p,passkeyAuthState:{status:"initial"},setPasskeyAuthState:p,initSignupWithPasskey:p,signupWithPasskey:p,initLoginWithPasskey:p,loginWithPasskey:p,initLinkWithPasskey:p,linkWithPasskey:p,refreshSessionAndUser:p,walletProxy:null,createAnalyticsEvent:p,acceptTerms:p,getUsdTokenPrice:p,getUsdPriceForSol:p,getSplTokenMetadata:p,recoverEmbeddedWallet:p,updateWallets:p,fundWallet:p,openModal:p,setReadyToTrue:p,requestFarcasterSignerStatus:p,initLoginWithTelegram:p,loginWithTelegram:p,generateSiweMessage:p,generateSiweMessageForSmartWallet:p,loginWithSiwe:p,linkWithSiwe:p,linkSmartWallet:p,delegateWallet:p,revokeDelegatedWallets:p,connectCoinbaseSmartWallet:p,connectBaseAccount:p,initiateAccountTransfer:p,emailOtpState:{status:"initial"},setEmailOtpState:p,smsOtpState:{status:"initial"},setSmsOtpState:p,siweState:{status:"initial"},setSiweState:p,oAuthState:{status:"initial"},setOAuthState:p,telegramAuthState:{status:"initial"},setTelegramAuthState:p,isHeadlessOAuthLoading:!1,isHeadlessSigning:p,inProgressAuthFlowRef:{current:null},inProgressLoginOrLinkMethodRef:{current:null},baseAccountSdk:void 0,setBaseAccountSdk:p});exports.InternalPrivyContext=l,exports.PrivyApiError=i,exports.PrivyClientError=r,exports.PrivyConnectorError=class extends a{constructor(t,e,s){super(t,e,s),this.type="connector_error"}},exports.PrivyEmbeddedWalletError=class extends r{constructor(t="Embedded wallet error",e){super(t,e,"unknown_embedded_wallet_error")}},exports.PrivyError=a,exports.PrivyErrorCode=o,exports.PrivyNotReadyError=class extends r{constructor(){super("Method called before `ready`. Ensure you wait until `ready` is true before calling.")}},exports.PrivyTimeoutError=class extends r{constructor(){super("Request timed out",void 0,"client_request_timeout")}},exports.PrivyUnauthenticatedError=class extends r{constructor(t="User must be authenticated"){super(t,void 0,"must_be_authenticated")}},exports.PrivyUserLimitReachedError=class extends r{constructor(t){super("This application is in development mode and must be upgraded to production to log in new users.",t,"max_accounts_reached")}},exports.acceptTermsPath="/api/v1/users/me/accept_terms",exports.analyticsEventsPath="/api/v1/analytics_events",exports.authenticateFarcasterV2Path="api/v2/farcaster/authenticate",exports.coinbaseOnRampInitPath="/api/v1/funding/coinbase_on_ramp/init",exports.coinbaseOnRampStatusPath="/api/v1/funding/coinbase_on_ramp/status",exports.customJwtAccountAuthenticatePath="/api/v1/custom_jwt_account/authenticate",exports.customJwtAccountLinkPath="/api/v1/custom_jwt_account/link",exports.delegatedActionsRevokePath="/api/v1/wallets/revoke",exports.farcasterAuthenticatePath="/api/v1/farcaster/authenticate",exports.farcasterInitPath="/api/v1/farcaster/init",exports.farcasterLinkPath="/api/v1/farcaster/link",exports.farcasterStatusPath="/api/v1/farcaster/status",exports.formatApiError=t=>{if(t instanceof a)return t;if(!(t instanceof e.FetchError))return n(t);if(!t.response)return new i("api_error",null,t.message,t);let{type:s,message:r,error:o,code:p}=t.data;return new i(s||"ApiError",t.response.status,r||o,t,p,t.data)},exports.formatPrivyError=n,exports.guestAccountAuthenticatePath="/api/v1/guest/authenticate",exports.initFarcasterV2Path="api/v2/farcaster/init",exports.mfaPasskeyInitPath="/api/v1/mfa/passkeys/init",exports.mfaPasswordlessSmsInitPath="/api/v1/mfa/passwordless_sms/init",exports.moonpayPluginOnRampPath="/api/v1/plugins/moonpay_on_ramp/sign",exports.notImplemented=p,exports.notImplementedWithMessage=t=>()=>{throw Error(t.trim())},exports.oAuthAuthenticatePath="/api/v1/oauth/authenticate",exports.oAuthInitPath="/api/v1/oauth/init",exports.oAuthLinkPath="/api/v1/oauth/link",exports.passkeyAuthenticatePath="/api/v1/passkeys/authenticate",exports.passkeyInitAuthenticatePath="/api/v1/passkeys/authenticate/init",exports.passkeyInitLinkPath="/api/v1/passkeys/link/init",exports.passkeyInitRegisterPath="/api/v1/passkeys/register/init",exports.passkeyLinkPath="/api/v1/passkeys/link",exports.passkeyRegisterPath="/api/v1/passkeys/register",exports.passwordlessAuthenticatePath="/api/v1/passwordless/authenticate",exports.passwordlessInitPath="/api/v1/passwordless/init",exports.passwordlessLinkPath="/api/v1/passwordless/link",exports.passwordlessSmsAuthenticatePath="/api/v1/passwordless_sms/authenticate",exports.passwordlessSmsInitPath="/api/v1/passwordless_sms/init",exports.passwordlessSmsLinkPath="/api/v1/passwordless_sms/link",exports.recoveryOAuthAuthenticatePath="/api/v1/recovery/oauth/authenticate",exports.recoveryOAuthInitICloudPath="/api/v1/recovery/oauth/init_icloud",exports.recoveryOAuthInitPath="/api/v1/recovery/oauth/init",exports.sessionsLogoutPath="/api/v1/sessions/logout",exports.sessionsRefreshPath="/api/v1/sessions",exports.siweAuthenticatePath="/api/v1/siwe/authenticate",exports.siweInitPath="/api/v1/siwe/init",exports.siweLinkPath="/api/v1/siwe/link",exports.siwsAuthenticatePath="/api/v1/siws/authenticate",exports.siwsInitPath="/api/v1/siws/init",exports.siwsLinkPath="/api/v1/siws/link",exports.siwsTransferPath="/api/v1/siws/transfer",exports.siwsUnlinkWalletPath="/api/v1/siws/unlink",exports.smartWalletLinkPath="/api/v1/siwe/link_smart_wallet",exports.ssoAuthenticatePath="/api/v1/sso/authenticate",exports.telegramAccountAuthenticatePath="/api/v1/telegram/authenticate",exports.telegramAccountLinkPath="/api/v1/telegram/link",exports.telegramAccountTransferPath="/api/v1/telegram/transfer",exports.telegramAccountUnlinkPath="/api/v1/telegram/unlink",exports.transactionScanningPath="/api/v1/scan/transaction",exports.transferEmailPath="/api/v1/passwordless/transfer",exports.transferFarcasterPath="/api/v1/farcaster/transfer",exports.transferOAuthPath="/api/v1/oauth/transfer",exports.transferPhonePath="/api/v1/passwordless_sms/transfer",exports.transferWalletPath="/api/v1/siwe/transfer",exports.unlinkEmailPath="/api/v1/passwordless/unlink",exports.unlinkFarcasterPath="/api/v1/farcaster/unlink",exports.unlinkOAuthPath="/api/v1/oauth/unlink",exports.unlinkPhonePath="/api/v1/passwordless_sms/unlink",exports.unlinkWalletPath="/api/v1/siwe/unlink",exports.updateEmailPath="/api/v1/passwordless/update",exports.updatePhonePath="/api/v1/passwordless_sms/update",exports.usePrivyInternal=()=>s.useContext(l),exports.usersMePath="/api/v1/users/me";
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./internal-context-CeWKmK5u.js"),t=require("./events-context-Dn0fJZ2h.js");require("ofetch"),require("react"),require("react/jsx-runtime"),require("@privy-io/js-sdk-core"),require("tinycolor2");class r{async authenticate(){if(!this.api)throw new e.PrivyClientError("Auth flow has no API instance");try{return await this.api.post(e.ssoAuthenticatePath,{})}catch(t){throw e.formatApiError(t)}}async link(){throw new e.PrivyClientError("Linking is not supported for the SSO token flow")}constructor(){this.meta={}}}exports.useLoginWithSsoToken=function(){let i=t.useAppConfig(),n=t.useEmitPrivyEvent(),{client:o,setUser:s,setAuthenticated:a,setIsNewUser:u}=e.usePrivyInternal();return{loginWithSsoToken:async()=>{if(!i.id||!o)throw new e.PrivyClientError("SDK not yet ready");try{let t=new r;o.startAuthFlow(t);let i=await o.authenticate(),c=i.user,h=i.isNewUser??!1;if(!c)throw new e.PrivyClientError("Unable to authenticate with SSO response");return s(c),u(h),a(!0),n("login","onComplete",{user:c,isNewUser:h,wasAlreadyAuthenticated:!1,loginMethod:"sso",loginAccount:null}),c}catch(t){throw n("login","onError",t.privyErrorCode||e.PrivyErrorCode.UNKNOWN_AUTH_ERROR),t}}}};
@@ -0,0 +1 @@
1
+ "use strict";var e=require("react"),t=require("viem"),r=require("./EmbeddedWalletConnectingScreen-D_YsihzO.js"),n=require("./events-context-Dn0fJZ2h.js"),a=require("./internal-context-CeWKmK5u.js"),i=require("./SignRequestScreen-MGUrxay9.js"),s=require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),o=require("permissionless"),l=require("permissionless/accounts"),c=require("permissionless/clients/pimlico"),d=require("viem/account-abstraction"),u=require("@privy-io/js-sdk-core");let p={address:d.entryPoint06Address,version:"0.6"},y={address:d.entryPoint07Address,version:"0.7"},m=({owner:e,smartWalletType:t,smartWalletVersion:r,publicClient:n})=>{switch(t){case u.SAFE:return l.toSafeSmartAccount({client:n,entryPoint:y,owners:[e],version:"1.4.1"});case u.KERNEL:return l.toKernelSmartAccount({client:n,version:"0.3.1",entryPoint:y,useMetaFactory:"optional",owners:[e]});case u.BICONOMY:return l.toBiconomySmartAccount({client:n,owners:[e],entryPoint:p});case u.LIGHT_ACCOUNT:return l.toLightSmartAccount({client:n,entryPoint:p,owner:e,version:"1.1.0"});case u.COINBASE_SMART_WALLET:return async function({client:e,owner:t,version:r}){let[n]=await t.request({method:"eth_accounts"});if(!n)throw Error("Unable to request embedded owner for eth_accounts");return await d.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:n,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}],version:r})}({client:n,owner:e,version:r??"1"});case u.THIRDWEB:return l.toThirdwebSmartAccount({client:n,entryPoint:y,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const g=({calls:e,chain:t,maxPriorityFeePerGas:r,maxFeePerGas:n,nonce:a})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:a,maxFeePerGas:n,maxPriorityFeePerGas:r}))),h=async({chain:e,paymasterContext:n,account:i,signer:s,user:l,smartWalletsConfig:d,rpcConfig:u,privyAppId:p})=>{if(!(d?.enabled&&l&&i&&s))return;let y=d?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!y)throw new a.PrivyClientError(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let g=l.smartWallet?l.smartWallet.smartWalletType:d.smartWalletType,h=l.smartWallet?l.smartWallet.smartWalletVersion:d.smartWalletVersion,P=r.getJsonRpcEndpointFromChain(e,u,p),f=t.createPublicClient({chain:e,transport:t.http(P)}),W=n??y.paymasterContext,w=await(async({owner:e,smartWalletType:r,smartWalletVersion:n,chain:a,publicClient:i,bundlerUrl:s,paymasterUrl:l,paymasterContext:d})=>{let u=await m({owner:e,smartWalletType:r,publicClient:i,smartWalletVersion:n}),p=c.createPimlicoClient({transport:t.http(s),entryPoint:u.entryPoint}),y=l?c.createPimlicoClient({transport:t.http(l),entryPoint:u.entryPoint}):void 0;return o.createSmartAccountClient({account:u,chain:a,paymaster:y,paymasterContext:d,bundlerTransport:t.http(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await p.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await p.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.includes(e)))){let[e,t]=await Promise.all([i.getBlock({blockTag:"latest"}),p.request({method:"rundler_maxPriorityFeePerGas",params:[]})]);if(!e.baseFeePerGas||!t)throw Error("Failed to get block or maxPriorityFeePerGasEstimate");return{maxFeePerGas:150n*e.baseFeePerGas/100n+BigInt(t.toString()),maxPriorityFeePerGas:BigInt(t.toString())}}{let e=await i.estimateFeesPerGas(),t=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:g,smartWalletVersion:h,chain:e,publicClient:f,paymasterContext:W,...y});if(!w)throw new a.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return w};exports.callsToTransactionRequests=g,exports.getSmartWalletClient=h,exports.useSmartWalletsUIWrapper=()=>{let{hideWalletUIs:e,openPrivyModal:t,isHeadlessSigning:n}=a.usePrivyInternal(),{setModalData:s}=r.usePrivyModal(),{user:o}=r.usePrivyContext(),l=r.getPrivyEthereumWallet(o),c=!!l&&r.getIsUnifiedWallet(l);return{wrapSmartAccountClientWithUIs:a=>({...a,sendTransaction:async(i,d)=>{if(n({showWalletUIs:d?.uiOptions?.showWalletUIs}))return e.current=!0,await a.sendTransaction(i).finally((()=>e.current=!1));let u=[];"calls"in i&&void 0!==i.calls?u=[...i.calls]:"to"in i&&(u=[{to:i.to,value:i.value||BigInt(0),data:i.data||"0x"}]);let p=async()=>{if(!a.paymaster)return!1;let{paymasterData:e,paymasterAndData:t}=await a.prepareUserOperation({calls:u,maxFeePerGas:i.maxFeePerGas,maxPriorityFeePerGas:i.maxPriorityFeePerGas,nonce:i.nonce?BigInt(i.nonce):void 0});return Number(t??e??0)>0};return new Promise((async(n,y)=>{e.current=!0;let{entropyId:m,entropyIdVerifier:h}=r.getEntropyDetailsForUser(o);s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:m,entropyIdVerifier:h,onCompleteNavigateTo:r.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:g({calls:u,chain:a.chain,maxPriorityFeePerGas:i.maxPriorityFeePerGas,maxFeePerGas:i.maxFeePerGas,nonce:i.nonce?BigInt(i.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:a.account.address,entropyId:m,entropyIdVerifier:h,getIsSponsored:p,signOnly:!1,onConfirm:()=>a.sendTransaction(i),onSuccess:e=>n(e.hash),onFailure:y,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))},signMessage:async(d,u)=>n({showWalletUIs:u?.uiOptions?.showWalletUIs})?(e.current=!0,await a.signMessage(d).finally((()=>e.current=!1))):new Promise((async(n,p)=>{let{entropyId:y,entropyIdVerifier:m}=r.getEntropyDetailsForUser(o);e.current=!0,s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:y,entropyIdVerifier:m,onCompleteNavigateTo:i.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof d.message?d.message:d.message.raw.toString(),confirmAndSign:()=>a.signMessage(d),onSuccess:e=>n(e),onFailure:p,uiOptions:u?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1})),signTypedData:async(d,u)=>n({showWalletUIs:u?.uiOptions?.showWalletUIs})?(e.current=!0,await a.signTypedData(d).finally((()=>e.current=!1))):new Promise((async(n,p)=>{e.current=!0;let{entropyId:y,entropyIdVerifier:m}=r.getEntropyDetailsForUser(o);s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:y,entropyIdVerifier:m,onCompleteNavigateTo:i.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:d,confirmAndSign:()=>a.signTypedData(d),onSuccess:e=>n(e),onFailure:p,uiOptions:u?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))})}},exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:o})=>{let{hideWalletUIs:l,openPrivyModal:c,appId:d,isHeadlessSigning:u}=a.usePrivyInternal(),p=n.useAppConfig(),{setModalData:y}=r.usePrivyModal(),{user:m}=r.usePrivyContext(),{chains:P}=n.useAppConfig(),{chainId:f,clients:W,setChainId:w,chainIdState:I}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),v=P.find((e=>e.id===I)),{wallets:C}=r.useWallets(),S=r.getPrivyEthereumWallet(m),F=s.getEmbeddedConnectedWalletWithAddress(C,S?.address),x=!!S&&r.getIsUnifiedWallet(S),T=e.useCallback((async()=>f.current),[f]),U=e.useCallback((async({id:e})=>{if(!W.current[e]){let r=await h({chain:P.find((t=>t.id===e)),account:S,signer:await(F?.getEthereumProvider()),user:m,paymasterContext:t?.paymasterContext,smartWalletsConfig:o,rpcConfig:p.rpcConfig,privyAppId:d});r&&(W.current[e]=r)}w(e)}),[P,t,C,m,o]);return{wrapSmartAccountClient:e=>{W.current[e.chain.id]=e,I||w(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let n=W.current[f.current];if(!n)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${f.current}) not found`);if(delete e.account,u({showWalletUIs:t?.uiOptions?.showWalletUIs}))return l.current=!0,await n.sendTransaction(e).finally((()=>l.current=!1));let i=[];"calls"in e&&void 0!==e.calls?i=[...e.calls]:"to"in e&&(i=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let s=async()=>{let{paymasterAndData:t,paymasterData:r,maxFeePerGas:a,maxPriorityFeePerGas:s}=await n.prepareUserOperation({calls:i,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return 0===Number(a)&&0===Number(s)||Number(t??r??0)>0};return new Promise((async(a,o)=>{l.current=!0;let{entropyId:d,entropyIdVerifier:u}=r.getEntropyDetailsForUser(m);y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:d,entropyIdVerifier:u,onCompleteNavigateTo:r.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:g({calls:i,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:n.account.address,entropyId:d,entropyIdVerifier:u,getIsSponsored:s,signOnly:!1,onConfirm:()=>n.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:o,uiOptions:t?.uiOptions??{}}}),c(r.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},signMessage:async(e,t)=>{let n=W.current[f.current];if(!n)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${f.current}) not found`);return u({showWalletUIs:t?.uiOptions?.showWalletUIs})?(l.current=!0,await n.signMessage(e).finally((()=>l.current=!1))):new Promise((async(a,s)=>{let{entropyId:o,entropyIdVerifier:d}=r.getEntropyDetailsForUser(m);l.current=!0,y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:o,entropyIdVerifier:d,onCompleteNavigateTo:i.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>n.signMessage(e),onSuccess:e=>a(e),onFailure:s,uiOptions:t?.uiOptions??{}}}),c(r.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},signTypedData:async(e,t)=>{let n=W.current[f.current];if(!n)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${f.current}) not found`);return delete e.account,u({showWalletUIs:t?.uiOptions?.showWalletUIs})?(l.current=!0,await n.signTypedData(e).finally((()=>l.current=!1))):new Promise((async(a,s)=>{l.current=!0;let{entropyId:o,entropyIdVerifier:d}=r.getEntropyDetailsForUser(m);y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:o,entropyIdVerifier:d,onCompleteNavigateTo:i.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>a(e),onFailure:s,uiOptions:t?.uiOptions??{}}}),c(r.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},getChainId:T,chain:v,switchChain:U}}}};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./privy-context-NMR-GjnL.js"),t=require("./SignRequestScreen-cAAtS6nl.js"),n=require("./paths-B00ZrFQm.js"),o=require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),c=require("./smart-wallets-65yy6DGK.js"),a=require("./internal-context-DNWjSiYq.js");require("viem"),require("lucide-react"),require("styled-components"),require("@privy-io/urls"),require("@scure/base"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("zustand"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("ofetch"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction");let l=/*#__PURE__*/r.createContext({client:void 0,getClientForChain:a.notImplemented});let s=/*#__PURE__*/r.createContext({config:void 0}),u=()=>{let{config:e}=r.useContext(s);return{config:e}},d=({children:i})=>{let[t,n]=r.useState(void 0),{client:o}=a.usePrivyInternal();return r.useEffect((()=>{!t&&o&&(async()=>{try{if(!o)return void console.warn("No client found");let e=await o.getSmartWalletsConfig();n(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!o]),/*#__PURE__*/e.jsx(s.Provider,{value:{config:t},children:i})},h=({config:l,children:s})=>{let{config:d}=u(),{appId:h}=a.usePrivyInternal(),{chains:C,defaultChain:g,rpcConfig:m}=t.useAppConfig(),{wallets:f}=t.useWallets(),{user:p}=i.usePrivyContext(),[I,v]=r.useState(),{wrapSmartAccountClientWithUIs:w}=c.useSmartWalletsUIWrapper(),y=i.getPrivyEthereumWallet(p),W=o.getEmbeddedConnectedWalletWithAddress(f,y?.address);r.useEffect((()=>{(async()=>{if(!d?.enabled)return;let e=d.configuredNetworks.find((e=>e.chainId===`eip155:${g.id}`))?g:C.find((e=>d.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new n.PrivyClientError("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");v(await c.getSmartWalletClient({chain:e,privyAppId:h,paymasterContext:l?.paymasterContext,rpcConfig:m,account:y,signer:await(W?.getEthereumProvider()),user:p,smartWalletsConfig:d}))})()}),[!!d?.enabled,!!p?.smartWallet,!!W,!!y]);/*#__PURE__*/return e.jsx(q.Provider,{value:{client:I,config:l,getClientForChain:async({id:e})=>{let r=await c.getSmartWalletClient({chain:C.find((r=>r.id===e)),privyAppId:h,paymasterContext:l?.paymasterContext,rpcConfig:m,account:y,signer:await(W?.getEthereumProvider()),user:p,smartWalletsConfig:d});if(!r)throw new n.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return w(r)}},children:s})},q=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:a.notImplemented}),C=({children:t})=>{let{client:n,config:o,getClientForChain:s}=(()=>{let{client:e,config:i,getClientForChain:t}=r.useContext(q);return{client:e,config:i,getClientForChain:t}})(),{config:d}=u(),{wrapSmartAccountClient:h}=c.useSmartWalletsWrapper({clientConfig:o,smartWalletsConfig:d}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:m,hideWalletUIs:f}=a.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(n&&C&&!C?.smartWallet&&d?.enabled)try{let e=await g({address:n.account.address,chainId:`eip155:${n.chain.id}`});f.current=!0;let r=await n.signMessage({message:e});await m({signature:r,message:e,smartWalletType:d.smartWalletType,smartWalletVersion:d.smartWalletVersion})}catch(e){console.error("Error creating smart wallet:",e)}finally{f.current=!1}})()}),[!!n,!!C?.smartWallet,!!d?.enabled]),/*#__PURE__*/e.jsx(l.Provider,{value:{client:C?.smartWallet&&n?h(n):void 0,getClientForChain:s},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(d,{children:/*#__PURE__*/e.jsx(h,{config:r,children:/*#__PURE__*/e.jsx(C,{children:i})})}),exports.useSmartWallets=()=>{let{client:e,getClientForChain:i}=r.useContext(l);return{client:e,getClientForChain:i}};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./EmbeddedWalletConnectingScreen-D_YsihzO.js"),t=require("./events-context-Dn0fJZ2h.js"),n=require("./internal-context-CeWKmK5u.js"),o=require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),c=require("./smart-wallets-5q-XiLac.js");require("lucide-react"),require("viem"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("styled-components"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@privy-io/js-sdk-core"),require("zustand"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("@scure/base"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("ofetch"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@privy-io/urls"),require("tinycolor2"),require("./SignRequestScreen-MGUrxay9.js"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction");let a=/*#__PURE__*/r.createContext({client:void 0,getClientForChain:n.notImplemented});let l=/*#__PURE__*/r.createContext({config:void 0}),s=()=>{let{config:e}=r.useContext(l);return{config:e}},u=({children:i})=>{let[t,o]=r.useState(void 0),{client:c}=n.usePrivyInternal();return r.useEffect((()=>{!t&&c&&(async()=>{try{if(!c)return void console.warn("No client found");let e=await c.getSmartWalletsConfig();o(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!c]),/*#__PURE__*/e.jsx(l.Provider,{value:{config:t},children:i})},d=({config:a,children:l})=>{let{config:u}=s(),{appId:d}=n.usePrivyInternal(),{chains:q,defaultChain:C,rpcConfig:g}=t.useAppConfig(),{wallets:m}=i.useWallets(),{user:f}=i.usePrivyContext(),[p,I]=r.useState(),{wrapSmartAccountClientWithUIs:v}=c.useSmartWalletsUIWrapper(),w=i.getPrivyEthereumWallet(f),y=o.getEmbeddedConnectedWalletWithAddress(m,w?.address);r.useEffect((()=>{(async()=>{if(!u?.enabled)return;let e=u.configuredNetworks.find((e=>e.chainId===`eip155:${C.id}`))?C:q.find((e=>u.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new n.PrivyClientError("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");I(await c.getSmartWalletClient({chain:e,privyAppId:d,paymasterContext:a?.paymasterContext,rpcConfig:g,account:w,signer:await(y?.getEthereumProvider()),user:f,smartWalletsConfig:u}))})()}),[!!u?.enabled,!!f?.smartWallet,!!y,!!w]);/*#__PURE__*/return e.jsx(h.Provider,{value:{client:p,config:a,getClientForChain:async({id:e})=>{let r=await c.getSmartWalletClient({chain:q.find((r=>r.id===e)),privyAppId:d,paymasterContext:a?.paymasterContext,rpcConfig:g,account:w,signer:await(y?.getEthereumProvider()),user:f,smartWalletsConfig:u});if(!r)throw new n.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return v(r)}},children:l})},h=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:n.notImplemented}),q=({children:t})=>{let{client:o,config:l,getClientForChain:u}=(()=>{let{client:e,config:i,getClientForChain:t}=r.useContext(h);return{client:e,config:i,getClientForChain:t}})(),{config:d}=s(),{wrapSmartAccountClient:q}=c.useSmartWalletsWrapper({clientConfig:l,smartWalletsConfig:d}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:m,hideWalletUIs:f}=n.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(o&&C&&!C?.smartWallet&&d?.enabled)try{let e=await g({address:o.account.address,chainId:`eip155:${o.chain.id}`});f.current=!0;let r=await o.signMessage({message:e});await m({signature:r,message:e,smartWalletType:d.smartWalletType,smartWalletVersion:d.smartWalletVersion})}catch(e){console.error("Error creating smart wallet:",e)}finally{f.current=!1}})()}),[!!o,!!C?.smartWallet,!!d?.enabled]),/*#__PURE__*/e.jsx(a.Provider,{value:{client:C?.smartWallet&&o?q(o):void 0,getClientForChain:u},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(u,{children:/*#__PURE__*/e.jsx(d,{config:r,children:/*#__PURE__*/e.jsx(q,{children:i})})}),exports.useSmartWallets=()=>{let{client:e,getClientForChain:i}=r.useContext(a);return{client:e,getClientForChain:i}};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),r=require("./usePrivy-dGz-b0SX.js"),n=require("./SignRequestScreen-cAAtS6nl.js"),t=require("./internal-context-DNWjSiYq.js"),o=require("./privy-context-NMR-GjnL.js"),i=require("@solana/kit"),a=require("./use-export-wallet-9ypqLaaB.js"),s=require("@scure/base"),c=require("@solana-program/memo"),u=require("@wallet-standard/app");require("./paths-B00ZrFQm.js"),require("ofetch"),require("@privy-io/js-sdk-core"),require("react/jsx-runtime"),require("lucide-react"),require("styled-components"),require("@privy-io/urls"),require("viem"),require("tinycolor2"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("zustand"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("./use-sign-with-user-signer-Q0_LRVtz.js"),require("@solana-program/system"),require("@solana-program/token");var l={id:n.SOLANA_FUNDING_PLUGIN_ID,getSolanaRpcClient:a.getSolanaRpcClient,createTransactionFromRelayQuote:async function({solanaClient:e,quote:r,source:n}){let t=r.steps[0]?.items?.[0];if(!t)throw Error("Invalid quote");let o=t.data.instructions.map((({keys:e,programId:r,data:n})=>({accounts:e.map((({pubkey:e,isSigner:r,isWritable:n})=>({address:e,role:r&&n?3:r&&!n?2:!r&&n?1:0}))),programAddress:r,data:new Uint8Array(Buffer.from(n,"hex"))}))),{value:a}=await e.rpc.getLatestBlockhash().send(),s=i.pipe(i.createTransactionMessage({version:0}),(e=>i.setTransactionMessageFeePayerSigner({address:n},e)),(e=>i.setTransactionMessageLifetimeUsingBlockhash(a,e)),(e=>i.appendTransactionMessageInstructions(o,e)),(e=>i.compileTransaction(e)));return new Uint8Array(i.getTransactionEncoder().encode(s))},simulateTransaction:a.simulateTransaction,getAddressFromBuffer:a.getAddressFromBuffer,fetchTransactionEstimatedFees:a.fetchTransactionEstimatedFees};var d={id:n.SOLANA_LEDGER_PLUGIN_ID,createSiwsMemoTransaction:({address:e,nonce:r})=>{let t=c.getAddMemoInstruction({memo:n.prepareSiwsMessageWithNonce({address:i.address(e),nonce:r})});return i.pipe(i.createTransactionMessage({version:"legacy"}),(r=>i.setTransactionMessageFeePayer(i.address(e),r)),(e=>i.setTransactionMessageLifetimeUsingBlockhash({blockhash:i.blockhash("GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN"),lastValidBlockHeight:0n},e)),(e=>i.appendTransactionMessageInstructions([t],e)),(e=>i.compileTransaction(e)),(e=>s.base64.encode(Uint8Array.from(i.getTransactionEncoder().encode(e)))))},getSignatureFromTransaction:(e,r)=>{let n=i.getTransactionDecoder().decode(e).signatures[r];if(!n)throw Error(`Missing transaction signature for address: ${r}`);return s.base64.encode(n)}};exports.SolanaAdapterConnector=n.SolanaWalletConnector,exports.useExportWallet=a.useExportWallet,exports.useFundWallet=a.useFundWallet,exports.useStandardWallets=a.useSolanaStandardWallets,exports.useWallets=a.useWallets,exports.toSolanaWalletConnectors=e=>{let r,{get:t,on:o}=u.getWallets(),i=e?.shouldAutoConnect??!0,a=new Map,s=[];function c(...e){e.forEach((e=>{!(e.features["privy:"]&&"isPrivyWallet"in e&&e.isPrivyWallet||a.has(e.name))&&e.chains.some((e=>"string"==typeof e&&e.startsWith("solana:")))&&a.set(e.name,e)})),s=Array.from(a.values()).map((e=>new n.SolanaWalletConnector(e,i))),r?.(s)}function l(...e){Array.from(a.values()).forEach((r=>!e.includes(r)&&a.delete(r.name))),s=Array.from(a.values()).map((e=>new n.SolanaWalletConnector(e,i))),r?.(s)}let d=[o("register",c),o("unregister",l)];return c(...t()),{_setOnConnectorsUpdated:e=>{r=e},onMount:()=>{d[0]||(d[0]=o("register",c)),d[1]||(d[1]=o("unregister",l))},onUnmount:()=>{let e=d.pop();for(;e;)e(),e=d.pop()},get:()=>s}},exports.useCreateWallet=function(){let{create:e}=r.useCreateWalletInternal();return{createWallet:async r=>{r&&"target"in r&&r&&(r=void 0);let{account:n}=await e({chainType:"solana",options:r});return{wallet:n}}}},exports.useImportWallet=()=>{let{user:i}=o.usePrivyContext(),{client:a,refreshSessionAndUser:s,initializeWalletProxy:c}=t.usePrivyInternal(),u=n.useEmitPrivyEvent(),l=n.useAppConfig();return{importWallet:e.useCallback((({privateKey:e,additionalSigners:n})=>r.importWallet({getAccessToken:()=>a.getAccessToken(),user:i,initializeWalletProxy:c,refreshSessionAndUser:s,emitPrivyEvent:u,appConfig:l},{privateKey:e,chainType:"solana",additionalSigners:n})),[i,a,s,c,u,l])}},exports.useSignAndSendTransaction=function(){return{signAndSendTransaction:async function(...e){let r=[];for(let n of e)r.push(await n.wallet.signAndSendTransaction({...n,chain:n.chain||"solana:mainnet"}));return 1===e.length?r[0]:[...r]}}},exports.useSignMessage=function(){return{signMessage:async function(...e){let r=[];for(let n of e)r.push(await n.wallet.signMessage({...n,options:n.options}));return 1===e.length?r[0]:[...r]}}},exports.useSignTransaction=function(){return{signTransaction:async function(...e){let r=[];for(let n of e)r.push(await n.wallet.signTransaction({...n,chain:n.chain||"solana:mainnet"}));return 1===e.length?r[0]:[...r]}}},exports.useSolanaFundingPlugin=()=>n.useRegisterPlugin(l),exports.useSolanaLedgerPlugin=()=>n.useRegisterPlugin(d);
1
+ "use strict";var e=require("react"),t=require("./usePrivy-BEZb4Uky.js"),i=require("./events-context-Dn0fJZ2h.js"),r=require("./internal-context-CeWKmK5u.js"),n=require("./EmbeddedWalletConnectingScreen-D_YsihzO.js"),s=require("@solana/kit"),a=require("./use-export-wallet-C7R1A29C.js"),o=require("@scure/base"),c=require("@solana-program/memo"),l=require("@wallet-standard/app"),u=require("@walletconnect/universal-provider");require("@privy-io/js-sdk-core"),require("react/jsx-runtime"),require("tinycolor2"),require("ofetch"),require("lucide-react"),require("viem"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("styled-components"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("zustand"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@privy-io/urls"),require("./use-sign-with-user-signer-BtJVKMQr.js"),require("./SignRequestScreen-MGUrxay9.js"),require("@solana-program/system"),require("@solana-program/token");function d(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var h=0;function p(e){return"__private_"+h+++"_"+e}var g=/*#__PURE__*/p("_address"),v=/*#__PURE__*/p("_publicKey"),f=/*#__PURE__*/p("_chains"),y=/*#__PURE__*/p("_features"),b=/*#__PURE__*/p("_label"),w=/*#__PURE__*/p("_icon");class m{get address(){return d(this,g)[g]}get publicKey(){return d(this,v)[v].slice()}get chains(){return d(this,f)[f].slice()}get features(){return d(this,y)[y].slice()}get label(){return d(this,b)[b]}get icon(){return d(this,w)[w]}constructor({address:e,publicKey:t,label:i,icon:r}){Object.defineProperty(this,g,{writable:!0,value:void 0}),Object.defineProperty(this,v,{writable:!0,value:void 0}),Object.defineProperty(this,f,{writable:!0,value:void 0}),Object.defineProperty(this,y,{writable:!0,value:void 0}),Object.defineProperty(this,b,{writable:!0,value:void 0}),Object.defineProperty(this,w,{writable:!0,value:void 0}),d(this,g)[g]=e,d(this,v)[v]=t,d(this,f)[f]=a.SOLANA_CHAINS,d(this,y)[y]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],d(this,b)[b]=i,d(this,w)[w]=r}}function q(e){if("string"==typeof e)return o.base58.decode(e);if(e instanceof Uint8Array)return e;let t=e.signature;return"string"==typeof t?o.base58.decode(t):t}function P(e){if("string"==typeof e){try{return o.base58.decode(e)}catch{}return o.base64.decode(e)}if(e instanceof Uint8Array)return e;let t=e.transaction;if("string"==typeof t){try{return o.base58.decode(t)}catch{}return o.base64.decode(t)}return t}function _(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var S=0;function C(e){return"__private_"+S+++"_"+e}let T="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",I="solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";var A=/*#__PURE__*/C("_listeners"),j=/*#__PURE__*/C("_version"),O=/*#__PURE__*/C("_name"),W=/*#__PURE__*/C("_icon"),E=/*#__PURE__*/C("_provider"),k=/*#__PURE__*/C("_accounts"),M=/*#__PURE__*/C("_privyAppName"),x=/*#__PURE__*/C("_walletConnectCloudProjectId"),U=/*#__PURE__*/C("_walletEntry"),L=/*#__PURE__*/C("_onDisplayUriCallback"),F=/*#__PURE__*/C("_providerEventListeners"),N=/*#__PURE__*/C("_on"),R=/*#__PURE__*/C("_emit"),D=/*#__PURE__*/C("_off"),K=/*#__PURE__*/C("_connected"),B=/*#__PURE__*/C("_disconnected"),V=/*#__PURE__*/C("_connect"),G=/*#__PURE__*/C("_disconnect"),z=/*#__PURE__*/C("_signMessage"),J=/*#__PURE__*/C("_signAndSendTransaction"),Y=/*#__PURE__*/C("_signTransaction"),H=/*#__PURE__*/C("_getOrCreateProvider"),Q=/*#__PURE__*/C("_getOrCreateSession"),X=/*#__PURE__*/C("_restoreSession"),Z=/*#__PURE__*/C("_addProviderEventListener"),$=/*#__PURE__*/C("_destroySession"),ee=/*#__PURE__*/C("_makeRpcRequest"),te=/*#__PURE__*/C("_onDisplayUri"),ie=/*#__PURE__*/C("_onSessionDelete");class re{get version(){return _(this,j)[j]}get name(){return _(this,O)[O]}get icon(){return _(this,W)[W]}get chains(){return a.SOLANA_CHAINS.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:_(this,V)[V]},"standard:disconnect":{version:"1.0.0",disconnect:_(this,G)[G]},"standard:events":{version:"1.0.0",on:_(this,N)[N]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:_(this,J)[J]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:_(this,Y)[Y]},"solana:signMessage":{version:"1.0.0",signMessage:_(this,z)[z]}}}get accounts(){return _(this,k)[k].slice()}get isWalletConnectSolana(){return!0}async initialize({walletConnectCloudProjectId:e,privyAppName:t}){_(this,x)[x]=e,_(this,M)[M]=t,await _(this,H)[H](),await _(this,X)[X]()}setWalletEntry(e,t){_(this,U)[U]=e,_(this,L)[L]=t}constructor(){Object.defineProperty(this,R,{value:ne}),Object.defineProperty(this,D,{value:se}),Object.defineProperty(this,A,{writable:!0,value:void 0}),Object.defineProperty(this,j,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,W,{writable:!0,value:void 0}),Object.defineProperty(this,E,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,M,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,N,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),_(this,A)[A]={},_(this,j)[j]="1.0.0",_(this,O)[O]="WalletConnect",_(this,W)[W]=n.WALLET_CONNECT_LOGO_DATA_URI,_(this,E)[E]=null,_(this,k)[k]=[],_(this,M)[M]="",_(this,x)[x]="",_(this,F)[F]=new Map,_(this,N)[N]=(e,t)=>(_(this,A)[A][e]?.push(t)||(_(this,A)[A][e]=[t]),()=>_(this,D)[D](e,t)),_(this,K)[K]=e=>{_(this,O)[O]=_(this,E)[E]?.session?.peer?.metadata?.name||_(this,U)[U]?.name||"WalletConnect",_(this,W)[W]=_(this,E)[E]?.session?.peer?.metadata?.icons?.[0]||_(this,U)[U]?.image_url?.sm||_(this,W)[W],_(this,k)[k]=e.map((e=>new m({address:e,publicKey:o.base58.decode(e),label:_(this,O)[O],icon:_(this,W)[W]}))),_(this,R)[R]("change",{accounts:this.accounts})},_(this,B)[B]=()=>{_(this,k)[k]=[],_(this,R)[R]("change",{accounts:this.accounts})},_(this,V)[V]=async()=>(this.accounts.length||await _(this,Q)[Q](),{accounts:this.accounts}),_(this,G)[G]=async()=>{await _(this,$)[$](),_(this,R)[R]("change",{accounts:this.accounts})},_(this,z)[z]=async(...e)=>{let t=[];for(let{account:i,message:r}of e){let e=o.base58.encode(r);try{let n=await _(this,ee)[ee]("solana_signMessage",{message:e,pubkey:i.address},oe("solana:mainnet"));t.push({signedMessage:r,signature:q(n)})}catch(n){if(n?.message?.includes("Missing or invalid")){let n=await _(this,ee)[ee]("solana:signMessage",{message:e,pubkey:i.address},oe("solana:mainnet"));t.push({signedMessage:r,signature:q(n)})}throw n}}return t},_(this,J)[J]=async(...e)=>{let t=[];for(let{account:i,chain:r,transaction:n,options:s}of e){let e=o.base64.encode(n);try{let n=await _(this,ee)[ee]("solana_signAndSendTransaction",{transaction:e,pubkey:i.address,sendOptions:s},oe(r));t.push({signature:q(n)})}catch(n){if(n?.message?.includes("Missing or invalid")){let n=await _(this,ee)[ee]("solana:signAndSendTransaction",{transaction:e,pubkey:i.address,sendOptions:s},oe(r));t.push({signature:q(n)})}}}return t},_(this,Y)[Y]=async(...e)=>{let t=[];for(let{account:i,chain:r,transaction:n}of e){let e=o.base64.encode(n);try{let n=await _(this,ee)[ee]("solana_signTransaction",{transaction:e,pubkey:i.address},oe(r||"solana:mainnet"));t.push({signedTransaction:P(n)})}catch(n){if(n?.message?.includes("Missing or invalid")){let n=await _(this,ee)[ee]("solana:signTransaction",{transaction:e,pubkey:i.address},oe(r||"solana:mainnet"));t.push({signedTransaction:P(n)})}}}return t},_(this,H)[H]=async()=>{if(_(this,E)[E])return _(this,E)[E];if(!_(this,x)[x])throw Error("WalletConnect Cloud Project ID is required");return _(this,E)[E]=await u.UniversalProvider.init({projectId:_(this,x)[x],metadata:{name:_(this,M)[M],description:_(this,M)[M],url:window.location.origin,icons:[]},relayUrl:"wss://relay.walletconnect.com",telemetryEnabled:!1}),_(this,Z)[Z]("display_uri",_(this,te)[te]),_(this,Z)[Z]("session_delete",_(this,ie)[ie]),_(this,Z)[Z]("session_ping",(()=>{})),_(this,Z)[Z]("session_event",(()=>{})),_(this,Z)[Z]("session_update",(()=>{})),_(this,E)[E]},_(this,Q)[Q]=async()=>{if(!_(this,E)[E])throw Error("WalletConnectSolana: Failed to get or create session. Provider not initialized");if(_(this,E)[E].session)return _(this,E)[E].session;let e=await _(this,E)[E].connect({optionalNamespaces:{solana:{chains:[T,I],methods:["solana_signMessage","solana_signTransaction","solana_signAndSendTransaction"],events:[]}}});if(!e)throw Error("WalletConnectSolana: Failed to create new session");return _(this,K)[K](ae(e)),e},_(this,X)[X]=async()=>{let e=_(this,E)[E]?.session;if(e){if(!e.namespaces?.solana)return await(_(this,E)[E]?.disconnect().catch((e=>console.error("WalletConnectSolana: Error disconnecting session",e)))),void(_(this,E)[E].session=void 0);_(this,K)[K](ae(e))}},_(this,Z)[Z]=(e,t)=>{let i=_(this,F)[F].get(e);i&&(_(this,E)[E]?.off(e,i),_(this,F)[F].delete(e)),_(this,E)[E]?.on(e,t),_(this,F)[F].set(e,t)},_(this,$)[$]=async()=>{try{if(_(this,E)[E]?.session&&await(_(this,E)[E]?.disconnect().catch((e=>console.error("WalletConnectSolana: Error disconnecting session",e)))),_(this,E)[E]?.client){let e=_(this,E)[E].client.proposal.getAll();await Promise.allSettled(e.map((e=>_(this,E)[E]?.client.proposal.delete(e.id,{code:6e3,message:"User disconnected"}))));let t=_(this,E)[E].client.pairing.getAll();await Promise.allSettled(t.map((e=>_(this,E)[E]?.client.pairing.delete(e.topic,{code:6e3,message:"User disconnected"}))))}_(this,B)[B]()}catch(e){console.error("WalletConnectSolana: Error destroying session",e)}},_(this,ee)[ee]=async(e,t,i)=>{try{return await _(this,E)[E].request({method:e,params:t},i)}catch(t){if(console.error(`WalletConnectSolana: RPC Error - ${e}:`,t),t?.message?.includes("without any listeners")&&t.result)return t.result;if(t?.message?.includes("session topic does not exist in keychain"))throw Error("WalletConnectSolana: Wallet connection lost. Please reconnect.");throw t}},_(this,te)[te]=e=>{null==_(this,L)[L]||_(this,L)[L].call(this,{native:e,universal:void 0})},_(this,ie)[ie]=()=>{_(this,B)[B]()}}}function ne(e,...t){_(this,A)[A][e]?.forEach((e=>e.apply(null,t)))}function se(e,t){_(this,A)[A][e]=_(this,A)[A][e]?.filter((e=>t!==e))}function ae(e){return e.namespaces.solana.accounts.reduce(((e,t)=>{let i=t.split(":").at(-1);return e.includes(i)||e.push(i),e}),[])}function oe(e){switch(e){case"solana:mainnet":return T;case"solana:devnet":return I;default:return e}}var ce={id:n.SOLANA_FUNDING_PLUGIN_ID,getSolanaRpcClient:a.getSolanaRpcClient,createTransactionFromRelayQuote:async function({solanaClient:e,quote:t,source:i}){let r=t.steps[0]?.items?.[0];if(!r)throw Error("Invalid quote");let n=r.data.instructions.map((({keys:e,programId:t,data:i})=>({accounts:e.map((({pubkey:e,isSigner:t,isWritable:i})=>({address:e,role:t&&i?3:t&&!i?2:!t&&i?1:0}))),programAddress:t,data:new Uint8Array(Buffer.from(i,"hex"))}))),{value:a}=await e.rpc.getLatestBlockhash().send(),o=s.pipe(s.createTransactionMessage({version:0}),(e=>s.setTransactionMessageFeePayerSigner({address:i},e)),(e=>s.setTransactionMessageLifetimeUsingBlockhash(a,e)),(e=>s.appendTransactionMessageInstructions(n,e)),(e=>s.compileTransaction(e)));return new Uint8Array(s.getTransactionEncoder().encode(o))},simulateTransaction:a.simulateTransaction,getAddressFromBuffer:a.getAddressFromBuffer,fetchTransactionEstimatedFees:a.fetchTransactionEstimatedFees};var le={id:n.SOLANA_LEDGER_PLUGIN_ID,createSiwsMemoTransaction:({address:e,nonce:t})=>{let i=c.getAddMemoInstruction({memo:n.prepareSiwsMessageWithNonce({address:s.address(e),nonce:t})});return s.pipe(s.createTransactionMessage({version:"legacy"}),(t=>s.setTransactionMessageFeePayer(s.address(e),t)),(e=>s.setTransactionMessageLifetimeUsingBlockhash({blockhash:s.blockhash("GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN"),lastValidBlockHeight:0n},e)),(e=>s.appendTransactionMessageInstructions([i],e)),(e=>s.compileTransaction(e)),(e=>o.base64.encode(Uint8Array.from(s.getTransactionEncoder().encode(e)))))},getSignatureFromTransaction:(e,t)=>{let i=s.getTransactionDecoder().decode(e).signatures[t];if(!i)throw Error(`Missing transaction signature for address: ${t}`);return o.base64.encode(i)}};exports.SolanaAdapterConnector=n.SolanaWalletConnector,exports.useExportWallet=a.useExportWallet,exports.useFundWallet=a.useFundWallet,exports.useStandardWallets=a.useSolanaStandardWallets,exports.useWallets=a.useWallets,exports.toSolanaWalletConnectors=e=>{let t,{get:i,on:r}=l.getWallets(),s=e?.shouldAutoConnect??!0,a=new n.SolanaWalletConnector(new re,s),o=new Map,c=[];function u(...e){e.forEach((e=>{!(e.features["privy:"]&&"isPrivyWallet"in e&&e.isPrivyWallet||o.has(e.name))&&e.chains.some((e=>"string"==typeof e&&e.startsWith("solana:")))&&o.set(e.name,e)})),c=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,s))).concat(a),t?.(c)}function d(...e){Array.from(o.values()).forEach((t=>!e.includes(t)&&o.delete(t.name))),c=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,s))).concat(a),t?.(c)}let h=[r("register",u),r("unregister",d)];return u(...i()),{_setOnConnectorsUpdated:e=>{t=e},onMount:()=>{h[0]||(h[0]=r("register",u)),h[1]||(h[1]=r("unregister",d))},onUnmount:()=>{let e=h.pop();for(;e;)e(),e=h.pop()},get:()=>c}},exports.useCreateWallet=function(){let{create:e}=t.useCreateWalletInternal();return{createWallet:async t=>{t&&"target"in t&&t&&(t=void 0);let{account:i}=await e({chainType:"solana",options:t});return{wallet:i}}}},exports.useImportWallet=()=>{let{user:s}=n.usePrivyContext(),{client:a,refreshSessionAndUser:o,initializeWalletProxy:c}=r.usePrivyInternal(),l=i.useEmitPrivyEvent(),u=i.useAppConfig();return{importWallet:e.useCallback((({privateKey:e,additionalSigners:i})=>t.importWallet({getAccessToken:()=>a.getAccessToken(),user:s,initializeWalletProxy:c,refreshSessionAndUser:o,emitPrivyEvent:l,appConfig:u},{privateKey:e,chainType:"solana",additionalSigners:i})),[s,a,o,c,l,u])}},exports.useSignAndSendTransaction=function(){return{signAndSendTransaction:async function(...e){let t=[];for(let i of e)t.push(await i.wallet.signAndSendTransaction({...i,chain:i.chain||"solana:mainnet"}));return 1===e.length?t[0]:[...t]}}},exports.useSignMessage=function(){return{signMessage:async function(...e){let t=[];for(let i of e)t.push(await i.wallet.signMessage({...i,options:i.options}));return 1===e.length?t[0]:[...t]}}},exports.useSignTransaction=function(){return{signTransaction:async function(...e){let t=[];for(let i of e)t.push(await i.wallet.signTransaction({...i,chain:i.chain||"solana:mainnet"}));return 1===e.length?t[0]:[...t]}}},exports.useSolanaFundingPlugin=()=>n.useRegisterPlugin(ce),exports.useSolanaLedgerPlugin=()=>n.useRegisterPlugin(le);