@privy-io/react-auth 2.6.1 → 2.6.2

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 (63) hide show
  1. package/dist/cjs/AwaitingEvmToSolBridgingScreen-pmGmvR1q.js +22 -0
  2. package/dist/cjs/abstract-smart-wallets.js +1 -1
  3. package/dist/cjs/farcaster.js +1 -1
  4. package/dist/cjs/getEmbeddedConnectedWallet-CGj_I0cc.js +2 -0
  5. package/dist/cjs/importWallet-Du1BO6qb.js +1 -0
  6. package/dist/cjs/index.js +5 -22
  7. package/dist/cjs/internal-context-D5TgeQk8.js +1 -0
  8. package/dist/cjs/prepareFundingModalData-C2_ED32S.js +1 -0
  9. package/dist/cjs/smart-wallets-CoYci1bf.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 +2 -2
  13. package/dist/cjs/useActiveWallet-CaLK0Ao4.js +1 -0
  14. package/dist/cjs/useFundWallet-92y-LJjK.js +1 -0
  15. package/dist/dts/farcaster.d.mts +1 -1
  16. package/dist/dts/farcaster.d.ts +1 -1
  17. package/dist/dts/index.d.mts +46 -8
  18. package/dist/dts/index.d.ts +46 -8
  19. package/dist/dts/smart-wallets.d.mts +1 -1
  20. package/dist/dts/smart-wallets.d.ts +1 -1
  21. package/dist/dts/solana.d.mts +4 -4
  22. package/dist/dts/solana.d.ts +4 -4
  23. package/dist/dts/{types-cJoXquFV.d.mts → types-CcosPsy6.d.mts} +1 -1
  24. package/dist/dts/{types-cJoXquFV.d.ts → types-CcosPsy6.d.ts} +1 -1
  25. package/dist/dts/ui.d.mts +1 -1
  26. package/dist/dts/ui.d.ts +1 -1
  27. package/dist/dts/{useSolanaWallets-C6q1MrJz.d.mts → useSolanaWallets-BHduxJmW.d.mts} +1 -1
  28. package/dist/dts/{useSolanaWallets-C6q1MrJz.d.ts → useSolanaWallets-BHduxJmW.d.ts} +1 -1
  29. package/dist/esm/AwaitingEvmToSolBridgingScreen-DnBONxHo.mjs +22 -0
  30. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  31. package/dist/esm/farcaster.mjs +1 -1
  32. package/dist/esm/getEmbeddedConnectedWallet-Cyt02rK3.mjs +2 -0
  33. package/dist/esm/importWallet-Bqr-aqzk.mjs +1 -0
  34. package/dist/esm/index.mjs +5 -22
  35. package/dist/esm/internal-context-CL_EG4e1.mjs +1 -0
  36. package/dist/esm/prepareFundingModalData-Bkg2jc5P.mjs +1 -0
  37. package/dist/esm/smart-wallets-KrlR2oLu.mjs +1 -0
  38. package/dist/esm/smart-wallets.mjs +1 -1
  39. package/dist/esm/solana.mjs +1 -1
  40. package/dist/esm/ui.mjs +2 -2
  41. package/dist/esm/useActiveWallet-SKrFBYMY.mjs +1 -0
  42. package/dist/esm/useFundWallet-BvMwnH48.mjs +1 -0
  43. package/package.json +3 -3
  44. package/dist/cjs/getEmbeddedConnectedWallet-DTU4T9TJ.js +0 -1
  45. package/dist/cjs/getPublicClient-hVv5ZSWd.js +0 -1
  46. package/dist/cjs/importWallet-CqIkwxB-.js +0 -1
  47. package/dist/cjs/internal-context-DV3MljLU.js +0 -1
  48. package/dist/cjs/paths-BGBZ-6Nl.js +0 -1
  49. package/dist/cjs/prepareFundingModalData-BCNQSbXb.js +0 -1
  50. package/dist/cjs/smart-wallets-BJE1oUqH.js +0 -1
  51. package/dist/cjs/useActiveWallet-CLPPplpC.js +0 -6
  52. package/dist/cjs/useFundWallet-BLEO3WzQ.js +0 -1
  53. package/dist/cjs/useWallets-Dmyb5a0t.js +0 -1
  54. package/dist/esm/getEmbeddedConnectedWallet-CSSBWE2p.mjs +0 -1
  55. package/dist/esm/getPublicClient-wHgCncHx.mjs +0 -1
  56. package/dist/esm/importWallet-CJLTGjPg.mjs +0 -1
  57. package/dist/esm/internal-context-mSHyF0Gq.mjs +0 -1
  58. package/dist/esm/paths-Q47X90aK.mjs +0 -1
  59. package/dist/esm/prepareFundingModalData-due26ueW.mjs +0 -1
  60. package/dist/esm/smart-wallets-dP5AzE1-.mjs +0 -1
  61. package/dist/esm/useActiveWallet-C8nSK6cE.mjs +0 -6
  62. package/dist/esm/useFundWallet-DR5oafbj.mjs +0 -1
  63. package/dist/esm/useWallets-DTpjk5Rk.mjs +0 -1
@@ -0,0 +1 @@
1
+ import{FetchError as a}from"ofetch";import{createContext as e,useContext as s}from"react";var t;class i extends Error{toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}constructor(a,e,s){super(a),e instanceof Error&&(this.cause=e),this.privyErrorCode=s}}class n extends i{constructor(a,e,s,t,i,n){super(s,t,i),this.type=a,this.status=e,this.data=n}}class r extends i{constructor(a,e,s){super(a,e,s),this.type="client_error"}}class o extends r{constructor(){super("Request timed out",void 0,"client_request_timeout")}}class _ extends i{constructor(a,e,s){super(a,e,s),this.type="connector_error"}}const l=e=>{if(e instanceof i)return e;if(!(e instanceof a))return u(e);if(!e.response)return new n("api_error",null,e.message,e);let{type:s,message:t,error:r,code:o}=e.data;return new n(s||"ApiError",e.response.status,t||r,e,o,e.data)},u=a=>a instanceof i?a:a instanceof Error?new r(a.message,a):new r(`Internal error: ${a}`);var d=((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);class c extends r{constructor(){super("Method called before `ready`. Ensure you wait until `ready` is true before calling.")}}class p extends r{constructor(a="Embedded wallet error",e){super(a,e,"unknown_embedded_wallet_error")}}class E extends r{constructor(a="User must be authenticated"){super(a,void 0,"must_be_authenticated")}}class A extends r{constructor(a){super("This application is in development mode and must be upgraded to production to log in new users.",a,"max_accounts_reached")}}const h="/api/v1/sessions",S="/api/v1/sessions/logout",v="/api/v1/siwe/init",T="/api/v1/siwe/authenticate",m="/api/v1/siwe/link",w="/api/v1/siwe/link_smart_wallet",I="/api/v1/siwe/unlink",O="/api/v1/siwe/transfer",g="/api/v1/siws/init",D="/api/v1/siws/authenticate",L="/api/v1/siws/link",N="/api/v1/siws/unlink",R="/api/v1/farcaster/init",W="/api/v1/farcaster/authenticate",U="/api/v1/farcaster/link",k="/api/v1/farcaster/status",y="/api/v1/farcaster/unlink",f="/api/v1/farcaster/transfer",C="api/v2/farcaster/init",P="api/v2/farcaster/authenticate",M="/api/v1/passwordless/init",b="/api/v1/passwordless/authenticate",F="/api/v1/passwordless/link",x="/api/v1/passwordless/unlink",H="/api/v1/passwordless/update",B="/api/v1/passwordless/transfer",V="/api/v1/passwordless_sms/init",G="/api/v1/passwordless_sms/link",K="/api/v1/passwordless_sms/unlink",Y="/api/v1/passwordless_sms/authenticate",X="/api/v1/passwordless_sms/update",$="/api/v1/passwordless_sms/transfer",q="/api/v1/oauth/init",j="/api/v1/oauth/authenticate",Q="/api/v1/oauth/link",z="/api/v1/oauth/unlink",J="/api/v1/oauth/transfer",Z="/api/v1/recovery/oauth/init",aa="/api/v1/recovery/oauth/init_icloud",ea="/api/v1/recovery/oauth/authenticate",sa="/api/v1/passkeys/link/init",ta="/api/v1/passkeys/authenticate/init",ia="/api/v1/passkeys/register/init",na="/api/v1/passkeys/link",ra="/api/v1/passkeys/authenticate",oa="/api/v1/passkeys/register",_a="/api/v1/telegram/authenticate",la="/api/v1/telegram/link",ua="/api/v1/telegram/unlink",da="/api/v1/telegram/transfer",ca="/api/v1/mfa/passwordless_sms/init",pa="/api/v1/mfa/passkeys/init",Ea="/api/v1/users/me/accept_terms",Aa="/api/v1/analytics_events",ha="/api/v1/custom_jwt_account/authenticate",Sa="/api/v1/guest/authenticate",va="/api/v1/plugins/moonpay_on_ramp/sign",Ta="/api/v1/funding/coinbase_on_ramp/init",ma="/api/v1/funding/coinbase_on_ramp/status",wa="/api/v1/wallets/revoke",Ia="/api/v1/users/me",Oa="/api/v1/scan/transaction",ga=()=>{throw Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")},Da=a=>()=>{throw Error(a.trim())},La=/*#__PURE__*/e({setAuthenticated:ga,setUser:ga,isNewUserThisSession:!1,walletConnectionStatus:null,connectors:[],solanaWallets:[],rpcConfig:{rpcUrls:{}},showFiatPrices:!0,chains:[],clientAnalyticsId:null,pendingTransaction:null,client:null,appId:"notAdded",customAuthStatus:{status:"not-enabled"},hideWalletUIs:{current:!1},nativeTokenSymbolForChainId:ga,initializeWalletProxy:ga,getAuthMeta:ga,getAuthFlow:ga,closePrivyModal:ga,openPrivyModal:ga,connectWallet:ga,initLoginWithWallet:ga,loginWithWallet:ga,initLoginWithFarcaster:ga,loginWithFarcaster:ga,loginWithCode:ga,initLoginWithEmail:ga,initLoginWithSms:ga,initUpdateEmail:ga,initUpdatePhone:ga,resendEmailCode:ga,resendSmsCode:ga,initLoginWithHeadlessOAuth:ga,loginWithHeadlessOAuth:ga,crossAppAuthFlow:ga,initLoginWithOAuth:ga,recoveryOAuthFlow:ga,loginWithOAuth:ga,passkeyAuthState:{status:"initial"},setPasskeyAuthState:ga,initSignupWithPasskey:ga,signupWithPasskey:ga,initLoginWithPasskey:ga,loginWithPasskey:ga,initLinkWithPasskey:ga,linkWithPasskey:ga,refreshSessionAndUser:ga,loginWithGuestAccountFlow:ga,walletProxy:null,createAnalyticsEvent:ga,acceptTerms:ga,getUsdTokenPrice:ga,getUsdPriceForSol:ga,getSplTokenMetadata:ga,recoverPrimaryWallet:ga,updateWallets:ga,fundWallet:ga,openModal:ga,setReadyToTrue:ga,requestFarcasterSignerStatus:ga,initLoginWithTelegram:ga,loginWithTelegram:ga,generateSiweMessage:ga,generateSiweMessageForSmartWallet:ga,linkWithSiwe:ga,linkSmartWallet:ga,delegateWallet:ga,revokeDelegatedWallets:ga,embeddedSolanaWallets:null,createEmbeddedSolanaWallet:ga,exportSolanaWallet:ga,solanaSignMessage:ga,sendSolanaTransaction:ga,signSolanaTransaction:ga,connectCoinbaseSmartWallet:ga,initiateAccountTransfer:ga,emailOtpState:{status:"initial"},setEmailOtpState:ga,smsOtpState:{status:"initial"},setSmsOtpState:ga,siweState:{status:"initial"},setSiweState:ga,oAuthState:{status:"initial"},setOAuthState:ga,telegramAuthState:{status:"initial"},setTelegramAuthState:ga,isHeadlessOAuthLoading:!1,isHeadlessSigning:ga}),Na=()=>s(La);export{J as $,o as A,h as B,S as C,Aa as D,u as E,n as F,ca as G,pa as H,Ea as I,x as J,K,I as L,N as M,z as N,y as O,r as P,ua as Q,wa as R,va as S,Ta as T,ma as U,v as V,T as W,m as X,w as Y,g as Z,D as _,F as a,da as a0,f as a1,O as a2,$ as a3,B as a4,L as a5,Ia as a6,Oa as a7,Na as a8,i as a9,A as aa,ga as ab,c as ac,La as ad,Da as ae,_a as af,la as ag,E as ah,p as ai,aa as aj,Z as ak,ea as al,C as am,P as an,M as b,ha as c,W as d,U as e,l as f,R as g,k as h,Sa as i,d as j,Q as k,q as l,oa as m,ra as n,j as o,b as p,na as q,ia as r,ta as s,sa as t,H as u,Y as v,G as w,V as x,X as y,_ as z};
@@ -0,0 +1 @@
1
+ import{ae as e,P as n}from"./internal-context-CL_EG4e1.mjs";import{s as t,K as a,cZ as i,l as s,di as o,dj as r,dk as d,dl as c,dm as l,dn as h,dp as u,dq as p,dr as g,ds as f,dt as m,du as C,dv as y,dw as w}from"./AwaitingEvmToSolBridgingScreen-DnBONxHo.mjs";const b=()=>{let e=t.get(a);return e&&Array.isArray(e)&&e.map((e=>(e=>e&&"string"==typeof e.address&&"string"==typeof e.connectorType&&"string"==typeof e.walletClientType&&"number"==typeof e.connectedAt)(e))).every(Boolean)?e:[]};let T=["phantom","glow","solflare","backpack","okx_wallet"];function A(e){return"solana"===e.chainType}function S(e){return"solana"===e.type}class D extends i{get isInstalled(){return"Installed"===this.adapter.readyState}buildConnectedWallet(n,t){let a,i,s,o;if("Installed"!==n.readyState||!n.publicKey)throw Error("Wallet is not connected.");return"signMessage"in n&&(a=async(...e)=>{if(!n.connected)throw Error("Wallet is not connected.");return await n.signMessage(e[0])}),"sendTransaction"in n&&(i=async(...e)=>await n.sendTransaction(e[0],e[1],e[2])),"signTransaction"in n&&(s=async e=>await n.signTransaction(e)),"signAllTransactions"in n&&(o=async e=>await n.signAllTransactions(e)),{type:"solana",address:n.publicKey.toBase58(),meta:t,imported:!1,connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:async()=>n.connected,disconnect:()=>{try{n.disconnect()}catch(e){console.error("Wallet does not support programmatic disconnect")}},getProvider:e(`${this.walletClientType||""} wallet does not support 'getProvider'`),signMessage:a??e(`${this.walletClientType||""} wallet does not support 'signMessage'`),sendTransaction:i??e(`${this.walletClientType||""} wallet does not support 'sendTransaction'`),signTransaction:s??e(`${this.walletClientType||""} wallet does not support 'signTransaction'`),signAllTransactions:o??e(`${this.walletClientType||""} wallet does not support 'signAllTransactions'`)}}async syncAccounts(){if("Installed"===this.adapter.readyState&&this.adapter.publicKey){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};this.wallets.find((e=>this.adapter.publicKey&&e.address===this.adapter.publicKey.toBase58()))||(this.wallets=[this.buildConnectedWallet(this.adapter,e)],this.emit("walletsUpdated"))}else this.wallets.length>0&&(this.wallets=[],this.emit("walletsUpdated"))}get walletBranding(){return{id:this.adapter.name,name:this.adapter.name,icon:this.adapter.icon}}async initialize(){this.subscribeListeners(),await this.syncAccounts(),this.shouldAttemptAutoConnect()&&await this.adapter.autoConnect().catch((()=>{})),this.initialized=!0,this.emit("initialized")}async connect(e){return e.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}async getConnectedWallet(){return this.wallets.sort(((e,n)=>n.connectedAt-e.connectedAt))[0]||null}async isConnected(){return this.adapter.connected&&["Installed"].includes(this.adapter.readyState)}subscribeListeners(){this.adapter.addListener("disconnect",this.onDisconnect),this.adapter.addListener("connect",this.onConnect),this.adapter.addListener("error",this.onError),this.adapter.addListener("readyStateChange",this.onReadyStateChange)}unsubscribeListeners(){this.adapter.removeAllListeners()}shouldAttemptAutoConnect(){return!(!this.autoConnectEnabled||!T.includes(this.walletClientType))&&("phantom"!==this.walletClientType||b().some((({walletClientType:e})=>"phantom"===e)))}constructor(e,n){super(function(e){return e.name.toLowerCase().split(" ").join("_")}(e)),this.chainType="solana",this.connectorType="solana_adapter",this.disconnect=()=>{this.adapter.disconnect().then((()=>this.onDisconnect())).catch((e=>console.error("Error disconnecting",e)))},this.promptConnection=async()=>{try{await this.adapter.connect()}catch(e){throw s(e)}},this.onDisconnect=()=>{this.syncAccounts()},this.onConnect=e=>{this.syncAccounts()},this.onError=e=>{this.syncAccounts()},this.onReadyStateChange=e=>{"Installed"!==e&&(this.connected=!1),this.syncAccounts()},this.adapter=e,this.autoConnectEnabled=n,this.wallets=[]}}function E(e){let n=new RegExp(RegExp("^eip155:(?<chainId>\\d+)$","gm")),t=n.exec(e)?.groups?.chainId;if(t)return parseInt(t);throw Error("Chain ID not compatible with CAIP-2 format.")}const v=e=>e.filter((e=>"wallets"===e.method||("exchange"===e.method?"coinbase"===e.provider:"card"===e.method||"payment-request"===e.method?"coinbase"===e.provider||"moonpay"===e.provider:(e.method,!1)))),x={[o.id]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[r.id]:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",[d.id]:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",[c.id]:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",[l.id]:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",[h.id]:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",[u.id]:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",[p.id]:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",[g.id]:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",[f.id]:"0x5425890298aed601595a70ab815c96711a31bc65",[m.id]:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",[C.id]:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d"},B=({address:e,appConfig:t,fundWalletConfig:a,methodScreen:i,chainIdOverride:s,comingFromSendTransactionScreen:o=!1})=>{let r,d;if(!t.fundingConfig)throw Error("Wallet funding is not enabled");let c=v(t.fundingConfig.options);if(c.length<1)throw Error("Wallet funding is not enabled");r=s||(y(a)&&a.chain?a.chain.id:E(t.fundingConfig.defaultRecommendedCurrency.chain));let l=t.chains.find((e=>e.id===r));if(!l)throw new n(`Funding chain ${r} is not in PrivyProvider chains list`);let h=y(a)&&a.amount?a.amount:t.fundingConfig.defaultRecommendedAmount,u=!1;function p(){if(!r)return;let e=x[r];c.find((e=>"wallets"===e.method))&&!e&&console.warn("Attempting to fund with USDC on chain where USDC address is not known. Funding via external wallet will be disabled."),d=e,u=!0}y(a)&&"asset"in a?"USDC"===a.asset?p():"string"!=typeof a.asset&&"erc20"in a.asset&&(u=((e,n)=>e===x[n.id])(d=a.asset.erc20,l)):"USDC"===t.fundingConfig.defaultRecommendedCurrency.asset&&p();let g=a?.defaultFundingMethod;return{chainType:"ethereum",address:e,amount:h,chain:l,erc20Address:d,erc20ContractInfo:u?{symbol:"USDC",decimals:6}:void 0,isUSDC:u,methodScreen:i,supportedOptions:c,comingFromSendTransactionScreen:o,defaultFundingMethod:g,usingDefaultFundingMethod:!!g,preferredCardProvider:a?.card?.preferredProvider,crossChainBridgingEnabled:t.fundingConfig.crossChainBridgingEnabled??!1,cluster:{name:"mainnet-beta",rpcUrl:t.solanaClusters["mainnet-beta"]},...w(a)?{moonpayConfigOverride:a.config}:{},uiConfig:a&&"uiConfig"in a?a.uiConfig:void 0}};function F({address:e,fundWalletConfig:n,appConfig:t,comingFromSendTransactionScreen:a,methodScreen:i}){if(!t.fundingConfig)throw Error("Wallet funding is not enabled");let s=v(t.fundingConfig.options);if(s.length<1)throw Error("Wallet funding is not enabled");let o=n?.amount??t.fundingConfig.defaultRecommendedAmount,r=n?.defaultFundingMethod;return{chainType:"solana",address:e,supportedOptions:s,amount:o,isUSDC:!1,methodScreen:i,comingFromSendTransactionScreen:a,cluster:{name:n?.cluster?.name??"mainnet-beta",rpcUrl:t.solanaClusters[n?.cluster?.name??"mainnet-beta"]},crossChainBridgingEnabled:t.fundingConfig.crossChainBridgingEnabled??!1,defaultFundingMethod:r,preferredCardProvider:n?.card?.preferredProvider,usingDefaultFundingMethod:!!r,uiConfig:n?.uiConfig}}export{D as S,B as a,S as b,E as e,v as f,A as i,b as l,F as p};
@@ -0,0 +1 @@
1
+ import{useRef as e,useState as n,useCallback as t}from"react";import{http as a,createPublicClient as r}from"viem";import{cY as i,aB as s,aw as o,a9 as l,aa as c,cQ as d,cN as p}from"./AwaitingEvmToSolBridgingScreen-DnBONxHo.mjs";import{P as u,a8 as m}from"./internal-context-CL_EG4e1.mjs";import{g as y,a as g,S as f}from"./getEmbeddedConnectedWallet-Cyt02rK3.mjs";import{createSmartAccountClient as w}from"permissionless";import{toThirdwebSmartAccount as h,toLightSmartAccount as I,toBiconomySmartAccount as P,toEcdsaKernelSmartAccount as v,toSafeSmartAccount as F}from"permissionless/accounts";import{createPimlicoClient as x}from"permissionless/clients/pimlico";import{toCoinbaseSmartAccount as W,entryPoint06Address as C,entryPoint07Address as T}from"viem/account-abstraction";import{THIRDWEB as G,COINBASE_SMART_WALLET as S,LIGHT_ACCOUNT as O,BICONOMY as U,KERNEL as b,SAFE as D}from"@privy-io/js-sdk-core";let M={address:C,version:"0.6"},V={address:T,version:"0.7"},A=({owner:e,smartWalletType:n,publicClient:t})=>{switch(n){case D:return F({client:t,entryPoint:V,owners:[e],version:"1.4.1"});case b:return v({client:t,version:"0.3.1",entryPoint:V,owners:[e]});case U:return P({client:t,owners:[e],entryPoint:M});case O:return I({client:t,entryPoint:M,owner:e,version:"1.1.0"});case S:return async function({client:e,owner:n}){let[t]=await n.request({method:"eth_accounts"});if(!t)throw Error("Unable to request embedded owner for eth_accounts");return await W({client:e,owners:[{type:"local",source:"privy",address:t,sign:async({hash:e})=>await n.request({method:"secp256k1_sign",params:[e]})}]})}({client:t,owner:e});case G:return h({client:t,entryPoint:V,owner:e});default:throw Error(`Invalid smart account type: ${n}.`)}},N=["rpc.zerodev.app","public.pimlico.io","api.pimlico.io"];const $=async({owner:e,smartWalletType:n,chain:t,publicClient:r,bundlerUrl:i,paymasterUrl:s,paymasterContext:o})=>{let l=await A({owner:e,smartWalletType:n,publicClient:r}),c=x({transport:a(i),entryPoint:l.entryPoint}),d=s?x({transport:a(s),entryPoint:l.entryPoint}):void 0;return w({account:l,chain:t,paymaster:d,paymasterContext:o,bundlerTransport:a(i),userOperation:{estimateFeesPerGas:async()=>{if(N.some((e=>i.includes(e))))return await c.getUserOperationGasPrice().then((e=>e.fast));{let e=await r.estimateFeesPerGas(),n=i.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*n/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*n/100n}}}}})};const _=({calls:e,chain:n,maxPriorityFeePerGas:t,maxFeePerGas:a,nonce:r})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:n.id,nonce:r,maxFeePerGas:a,maxPriorityFeePerGas:t}))),B=async({chain:e,paymasterContext:n,embeddedWallet:t,user:s,smartWalletsConfig:o,rpcConfig:l,privyAppId:c})=>{if(!o?.enabled||!s||!t)return;let d=await t.getEthereumProvider(),p=o?.configuredNetworks.find((n=>n.chainId===`eip155:${e.id}`));if(!p)throw new u(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let m=s.smartWallet?.smartWalletType??o.smartWalletType,y=i(e,l,c),g=r({chain:e,transport:a(y)}),f=n??p.paymasterContext,w=await $({owner:d,smartWalletType:m,chain:e,publicClient:g,paymasterContext:f,...p});if(!w)throw new u(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return w},q=({clientConfig:a,smartWalletsConfig:r})=>{let{hideWalletUIs:i,openPrivyModal:w,appId:h,isHeadlessSigning:I}=m(),P=s(),{setModalData:v}=o(),{user:F}=l(),{chains:x}=s(),{chainId:W,clients:C,setChainId:T,chainIdState:G}=(()=>{let t=e(),[a,r]=n();return{clients:e({}),setChainId:e=>{t.current=e,r(e)},chainId:t,chainIdState:a}})(),S=x.find((e=>e.id===G)),{wallets:O}=c(),U=t((async()=>W.current),[W]),b=t((async({id:e})=>{if(!C.current[e]){let n=y(O),t=await B({chain:x.find((n=>n.id===e)),embeddedWallet:n,user:F,paymasterContext:a?.paymasterContext,smartWalletsConfig:r,rpcConfig:P.rpcConfig,privyAppId:h});t&&(C.current[e]=t)}T(e)}),[x,a,O,F,r]);return{wrapSmartAccountClient:e=>{C.current[e.chain.id]=e,G||T(e.chain.id);return{...e,sendTransaction:async(e,n)=>{let t=C.current[W.current];if(!t)throw new u(`Smart wallet client for chain (eip155:${W.current}) not found`);if(delete e.account,I({showWalletUIs:n?.uiOptions?.showWalletUIs}))return i.current=!0,await t.sendTransaction(e).finally((()=>i.current=!1));let a=[];"calls"in e&&void 0!==e.calls?a=[...e.calls]:"to"in e&&(a=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let r=async()=>{if(!t.paymaster)return!1;let{paymasterAndData:n,paymasterData:r}=await t.prepareUserOperation({calls:a,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return Number(n??r??0)>0};return new Promise((async(s,o)=>{i.current=!0;let{entropyId:l,entropyIdVerifier:c}=d(F);v({connectWallet:{entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:p,onFailure:()=>{}},sendTransaction:{transactionRequests:_({calls:a,chain:t.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:l,entropyIdVerifier:c,transactingWallet:{address:t.account.address,walletIndex:null},getIsSponsored:r,signOnly:!1,onConfirm:()=>t.sendTransaction(e),onSuccess:e=>s(e.hash),onFailure:o,uiOptions:n?.uiOptions??{}}}),w(g)})).finally((()=>{i.current=!1}))},signMessage:async(e,n)=>{let t=C.current[W.current];if(!t)throw new u(`Smart wallet client for chain (eip155:${W.current}) not found`);return I({showWalletUIs:n?.uiOptions?.showWalletUIs})?(i.current=!0,await t.signMessage(e).finally((()=>i.current=!1))):new Promise((async(a,r)=>{let{entropyId:s,entropyIdVerifier:o}=d(F);i.current=!0,v({connectWallet:{entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:f,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>t.signMessage(e),onSuccess:e=>a(e),onFailure:r,uiOptions:n?.uiOptions??{}}}),w(g)})).finally((()=>{i.current=!1}))},signTypedData:async(e,n)=>{let t=C.current[W.current];if(!t)throw new u(`Smart wallet client for chain (eip155:${W.current}) not found`);return delete e.account,I({showWalletUIs:n?.uiOptions?.showWalletUIs})?(i.current=!0,await t.signTypedData(e).finally((()=>i.current=!1))):new Promise((async(a,r)=>{i.current=!0;let{entropyId:s,entropyIdVerifier:o}=d(F);v({connectWallet:{entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:f,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>t.signTypedData(e),onSuccess:e=>a(e),onFailure:r,uiOptions:n?.uiOptions??{}}}),w(g)})).finally((()=>{i.current=!1}))},getChainId:U,chain:S,switchChain:b}}}},E=()=>{let{hideWalletUIs:e,openPrivyModal:n,isHeadlessSigning:t}=m(),{setModalData:a}=o(),{user:r}=l();return{wrapSmartAccountClientWithUIs:i=>({...i,sendTransaction:async(s,o)=>{if(t({showWalletUIs:o?.uiOptions?.showWalletUIs}))return e.current=!0,await i.sendTransaction(s).finally((()=>e.current=!1));let l=[];"calls"in s&&void 0!==s.calls?l=[...s.calls]:"to"in s&&(l=[{to:s.to,value:s.value||BigInt(0),data:s.data||"0x"}]);let c=async()=>{if(!i.paymaster)return!1;let{paymasterAndData:e,paymasterData:n}=await i.prepareUserOperation({calls:l,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0});return Number(e??n??0)>0};return new Promise((async(t,u)=>{e.current=!0;let{entropyId:m,entropyIdVerifier:y}=d(r);a({connectWallet:{entropyId:m,entropyIdVerifier:y,onCompleteNavigateTo:p,onFailure:()=>{}},sendTransaction:{transactionRequests:_({calls:l,chain:i.chain,maxPriorityFeePerGas:s.maxPriorityFeePerGas,maxFeePerGas:s.maxFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0}),entropyId:m,entropyIdVerifier:y,transactingWallet:{address:i.account.address,walletIndex:null},getIsSponsored:c,signOnly:!1,onConfirm:()=>i.sendTransaction(s),onSuccess:e=>t(e.hash),onFailure:u,uiOptions:o?.uiOptions??{}}}),n(g)})).finally((()=>{e.current=!1}))},signMessage:async(s,o)=>t({showWalletUIs:o?.uiOptions?.showWalletUIs})?(e.current=!0,await i.signMessage(s).finally((()=>e.current=!1))):new Promise((async(t,l)=>{let{entropyId:c,entropyIdVerifier:p}=d(r);e.current=!0,a({connectWallet:{entropyId:c,entropyIdVerifier:p,onCompleteNavigateTo:f,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof s.message?s.message:s.message.raw.toString(),confirmAndSign:()=>i.signMessage(s),onSuccess:e=>t(e),onFailure:l,uiOptions:o?.uiOptions??{}}}),n(g)})).finally((()=>{e.current=!1})),signTypedData:async(s,o)=>t({showWalletUIs:o?.uiOptions?.showWalletUIs})?(e.current=!0,await i.signTypedData(s).finally((()=>e.current=!1))):new Promise((async(t,l)=>{e.current=!0;let{entropyId:c,entropyIdVerifier:p}=d(r);a({connectWallet:{entropyId:c,entropyIdVerifier:p,onCompleteNavigateTo:f,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:s,confirmAndSign:()=>i.signTypedData(s),onSuccess:e=>t(e),onFailure:l,uiOptions:o?.uiOptions??{}}}),n(g)})).finally((()=>{e.current=!1}))})}};export{q as a,_ as c,B as g,E as u};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useContext as t,useState as i,useEffect as r,createContext as n}from"react";import{q as a,E as l,r as o}from"./useWallets-DTpjk5Rk.mjs";import{u as s,P as c,n as d}from"./internal-context-mSHyF0Gq.mjs";import{g as m}from"./getEmbeddedConnectedWallet-CSSBWE2p.mjs";import{u as g,g as f,a as p}from"./smart-wallets-dP5AzE1-.mjs";import"viem/utils";import"tinycolor2";import"ofetch";import"viem";import"./getPublicClient-wHgCncHx.mjs";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";import"@privy-io/js-sdk-core";let h=/*#__PURE__*/n({client:void 0,getClientForChain:d});const u=({config:t,children:i})=>/*#__PURE__*/e(y,{children:/*#__PURE__*/e(W,{config:t,children:/*#__PURE__*/e(b,{children:i})})}),C=()=>{let{client:e,getClientForChain:i}=t(h);return{client:e,getClientForChain:i}};let w=/*#__PURE__*/n({config:void 0}),v=()=>{let{config:e}=t(w);return{config:e}},y=({children:t})=>{let[n,a]=i(void 0),{client:l}=s();return r((()=>{!n&&l&&(async()=>{try{if(!l)return void console.warn("No client found");let e=await l.getSmartWalletsConfig();a(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!l]),/*#__PURE__*/e(w.Provider,{value:{config:n},children:t})},W=({config:t,children:n})=>{let{config:d}=v(),{appId:p}=s(),{chains:h,defaultChain:u,rpcConfig:C}=a(),{wallets:w}=l(),{user:y}=o(),[W,b]=i(),{wrapSmartAccountClientWithUIs:I}=g(),P=m(w);r((()=>{(async()=>{if(!d?.enabled)return;let e=d.configuredNetworks.find((e=>e.chainId===`eip155:${u.id}`))?u:h.find((e=>d.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new c("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");b(await f({chain:e,privyAppId:p,paymasterContext:t?.paymasterContext,rpcConfig:C,embeddedWallet:P,user:y,smartWalletsConfig:d}))})()}),[!!d?.enabled,!!y?.smartWallet,!!P]);/*#__PURE__*/return e(F.Provider,{value:{client:W,config:t,getClientForChain:async({id:e})=>{let i=m(w),r=await f({chain:h.find((t=>t.id===e)),privyAppId:p,paymasterContext:t?.paymasterContext,rpcConfig:C,embeddedWallet:i,user:y,smartWalletsConfig:d});if(!r)throw new c(`Failed to create smart wallet client for chain id: ${e}`);return I(r)}},children:n})},F=/*#__PURE__*/n({client:void 0,config:void 0,getClientForChain:d}),b=({children:i})=>{let{client:n,config:a,getClientForChain:l}=(()=>{let{client:e,config:i,getClientForChain:r}=t(F);return{client:e,config:i,getClientForChain:r}})(),{config:c}=v(),{wrapSmartAccountClient:d}=p({clientConfig:a,smartWalletsConfig:c}),{user:m}=o(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:f,hideWalletUIs:u}=s();return r((()=>{(async()=>{if(n&&m&&!m?.smartWallet&&c?.enabled)try{let e=await g({address:n.account.address,chainId:`eip155:${n.chain.id}`});u.current=!0;let t=await n.signMessage({message:e});await f({signature:t,message:e,smartWalletType:c.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{u.current=!1}})()}),[!!n,!!m?.smartWallet,!!c?.enabled]),/*#__PURE__*/e(h.Provider,{value:{client:m?.smartWallet&&n?d(n):void 0,getClientForChain:l},children:i})};export{u as SmartWalletsProvider,C as useSmartWallets};
1
+ import{jsx as e}from"react/jsx-runtime";import{useContext as o,useState as t,useEffect as i,createContext as r}from"react";import{aB as n,aa as c,a9 as a}from"./AwaitingEvmToSolBridgingScreen-DnBONxHo.mjs";import{a8 as l,P as s,ab as m}from"./internal-context-CL_EG4e1.mjs";import{g as p}from"./getEmbeddedConnectedWallet-Cyt02rK3.mjs";import{u as h,g as d,a as u}from"./smart-wallets-KrlR2oLu.mjs";import"@heroicons/react/24/outline/CheckCircleIcon";import"viem";import"styled-components";import"tinycolor2";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"react-device-detect";import"@heroicons/react/24/outline/WalletIcon";import"zustand";import"@privy-io/js-sdk-core";import"@walletconnect/ethereum-provider";import"viem/utils";import"eventemitter3";import"@heroicons/react/24/outline/UserCircleIcon";import"@heroicons/react/24/outline/EnvelopeIcon";import"@heroicons/react/20/solid/CheckIcon";import"@heroicons/react/24/outline/PhoneIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/ArrowTopRightOnSquareIcon";import"@heroicons/react/24/solid/DocumentCheckIcon";import"@heroicons/react/24/solid/XCircleIcon";import"fast-password-entropy";import"secure-password-utilities";import"secure-password-utilities/wordlists";import"@heroicons/react/24/outline/LockClosedIcon";import"@heroicons/react/24/outline/PencilSquareIcon";import"@heroicons/react/24/solid/CheckCircleIcon";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"@heroicons/react/24/outline/KeyIcon";import"@heroicons/react/24/outline/ArrowDownTrayIcon";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/DocumentDuplicateIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@heroicons/react/24/outline/ShieldCheckIcon";import"jose";import"qrcode";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/InformationCircleIcon";import"@heroicons/react/24/outline/CreditCardIcon";import"@heroicons/react/24/outline/QrCodeIcon";import"@heroicons/react/24/solid/ArrowsRightLeftIcon";import"@heroicons/react/24/outline/GlobeAltIcon";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"ofetch";import"@heroicons/react/24/outline";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";let g=/*#__PURE__*/r({client:void 0,getClientForChain:m});const C=({config:o,children:t})=>/*#__PURE__*/e(v,{children:/*#__PURE__*/e(y,{config:o,children:/*#__PURE__*/e(k,{children:t})})}),f=()=>{let{client:e,getClientForChain:t}=o(g);return{client:e,getClientForChain:t}};let I=/*#__PURE__*/r({config:void 0}),w=()=>{let{config:e}=o(I);return{config:e}},v=({children:o})=>{let[r,n]=t(void 0),{client:c}=l();return i((()=>{!r&&c&&(async()=>{try{if(!c)return void console.warn("No client found");let e=await c.getSmartWalletsConfig();n(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!c]),/*#__PURE__*/e(I.Provider,{value:{config:r},children:o})},y=({config:o,children:r})=>{let{config:m}=w(),{appId:u}=l(),{chains:g,defaultChain:C,rpcConfig:f}=n(),{wallets:I}=c(),{user:v}=a(),[y,k]=t(),{wrapSmartAccountClientWithUIs:S}=h(),b=p(I);i((()=>{(async()=>{if(!m?.enabled)return;let e=m.configuredNetworks.find((e=>e.chainId===`eip155:${C.id}`))?C:g.find((e=>m.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new s("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");k(await d({chain:e,privyAppId:u,paymasterContext:o?.paymasterContext,rpcConfig:f,embeddedWallet:b,user:v,smartWalletsConfig:m}))})()}),[!!m?.enabled,!!v?.smartWallet,!!b]);/*#__PURE__*/return e(W.Provider,{value:{client:y,config:o,getClientForChain:async({id:e})=>{let t=p(I),i=await d({chain:g.find((o=>o.id===e)),privyAppId:u,paymasterContext:o?.paymasterContext,rpcConfig:f,embeddedWallet:t,user:v,smartWalletsConfig:m});if(!i)throw new s(`Failed to create smart wallet client for chain id: ${e}`);return S(i)}},children:r})},W=/*#__PURE__*/r({client:void 0,config:void 0,getClientForChain:m}),k=({children:t})=>{let{client:r,config:n,getClientForChain:c}=(()=>{let{client:e,config:t,getClientForChain:i}=o(W);return{client:e,config:t,getClientForChain:i}})(),{config:s}=w(),{wrapSmartAccountClient:m}=u({clientConfig:n,smartWalletsConfig:s}),{user:p}=a(),{generateSiweMessageForSmartWallet:h,linkSmartWallet:d,hideWalletUIs:C}=l();return i((()=>{(async()=>{if(r&&p&&!p?.smartWallet&&s?.enabled)try{let e=await h({address:r.account.address,chainId:`eip155:${r.chain.id}`});C.current=!0;let o=await r.signMessage({message:e});await d({signature:o,message:e,smartWalletType:s.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{C.current=!1}})()}),[!!r,!!p?.smartWallet,!!s?.enabled]),/*#__PURE__*/e(g.Provider,{value:{client:p?.smartWallet&&r?m(r):void 0,getClientForChain:c},children:t})};export{C as SmartWalletsProvider,f as useSmartWallets};
@@ -1 +1 @@
1
- import{isWalletAdapterCompatibleStandardWallet as e}from"@solana/wallet-adapter-base";import{StandardWalletAdapter as t}from"@solana/wallet-standard-wallet-adapter-base";import{getWallets as a}from"@wallet-standard/app";import{S as n,j as r,x as o,u as s}from"./prepareFundingModalData-due26ueW.mjs";export{c as useSolanaWallets}from"./prepareFundingModalData-due26ueW.mjs";import{useCallback as i}from"react";import{i as l}from"./importWallet-CJLTGjPg.mjs";import{u as m}from"./internal-context-mSHyF0Gq.mjs";import{r as p}from"./useWallets-DTpjk5Rk.mjs";import{t as f}from"./useFundWallet-DR5oafbj.mjs";export{u as useFundWallet}from"./useFundWallet-DR5oafbj.mjs";import"eventemitter3";import"@privy-io/js-sdk-core";import"react/jsx-runtime";import"ofetch";import"viem/utils";import"tinycolor2";import"@solana/web3.js";const d=e=>{let t,{get:r,on:o}=a(),s=e?.shouldAutoConnect??!0,i=[],l=[];function m(...e){l=(i=i.concat(...g(e))).map((e=>new n(e,s))),t?.(l)}function p(...e){l=(i=i.filter((t=>e.some((e=>t.wallet===e))))).map((e=>new n(e,s))),t?.(l)}let u=[o("register",m),o("unregister",p)];return l=(i=g(r())).map((e=>new n(e,s))),{_setOnConnectorsUpdated:e=>{t=e},onMount:()=>{u[0]||(u[0]=o("register",m)),u[1]||(u[1]=o("unregister",p))},onUnmount:()=>{let e=u.pop();for(;e;)e(),e=u.pop()},get:()=>l}};let g=a=>a.filter(e).map((e=>new t({wallet:e})));const w=()=>{let{getAccessToken:e,user:t}=p(),{refreshSessionAndUser:a,initializeWalletProxy:n}=m(),o=r();return{importWallet:i((({privateKey:r})=>l({getAccessToken:e,user:t,initializeWalletProxy:n,refreshSessionAndUser:a,emitPrivyEvent:o},{privateKey:r,chainType:"solana"})),[t,e,a,n,o])}};var S=()=>o(f);function j(e){let{sendSolanaTransaction:t}=m();return s("sendSolanaTransaction",e),{sendTransaction:t}}function y(e){let{signSolanaTransaction:t}=m();return s("signSolanaTransaction",e),{signTransaction:t}}function T(e){let{solanaSignMessage:t}=m();return s("signSolanaMessage",e),{signMessage:async e=>{let a=Buffer.from(e.message).toString("base64"),n=await t({message:a,options:e.options});return new Uint8Array(Buffer.from(n.signature,"base64"))}}}export{n as SolanaAdapterConnector,d as toSolanaWalletConnectors,w as useImportWallet,j as useSendTransaction,T as useSignMessage,y as useSignTransaction,S as useSolanaFundingPlugin};
1
+ import{isWalletAdapterCompatibleStandardWallet as o}from"@solana/wallet-adapter-base";import{StandardWalletAdapter as e}from"@solana/wallet-standard-wallet-adapter-base";import{getWallets as r}from"@wallet-standard/app";import{S as t}from"./prepareFundingModalData-Bkg2jc5P.mjs";import{useCallback as i}from"react";import{i as n}from"./importWallet-Bqr-aqzk.mjs";import{a9 as c,aI as a,dh as s,a8 as l}from"./AwaitingEvmToSolBridgingScreen-DnBONxHo.mjs";export{c_ as useSolanaWallets}from"./AwaitingEvmToSolBridgingScreen-DnBONxHo.mjs";import{a8 as m}from"./internal-context-CL_EG4e1.mjs";import{t as p}from"./useFundWallet-BvMwnH48.mjs";export{u as useFundWallet}from"./useFundWallet-BvMwnH48.mjs";import"react/jsx-runtime";import"@heroicons/react/24/outline/CheckCircleIcon";import"viem";import"styled-components";import"tinycolor2";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"react-device-detect";import"@heroicons/react/24/outline/WalletIcon";import"zustand";import"@privy-io/js-sdk-core";import"@walletconnect/ethereum-provider";import"viem/utils";import"eventemitter3";import"@heroicons/react/24/outline/UserCircleIcon";import"@heroicons/react/24/outline/EnvelopeIcon";import"@heroicons/react/20/solid/CheckIcon";import"@heroicons/react/24/outline/PhoneIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/ArrowTopRightOnSquareIcon";import"@heroicons/react/24/solid/DocumentCheckIcon";import"@heroicons/react/24/solid/XCircleIcon";import"fast-password-entropy";import"secure-password-utilities";import"secure-password-utilities/wordlists";import"@heroicons/react/24/outline/LockClosedIcon";import"@heroicons/react/24/outline/PencilSquareIcon";import"@heroicons/react/24/solid/CheckCircleIcon";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"@heroicons/react/24/outline/KeyIcon";import"@heroicons/react/24/outline/ArrowDownTrayIcon";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/DocumentDuplicateIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@heroicons/react/24/outline/ShieldCheckIcon";import"jose";import"qrcode";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/InformationCircleIcon";import"@heroicons/react/24/outline/CreditCardIcon";import"@heroicons/react/24/outline/QrCodeIcon";import"@heroicons/react/24/solid/ArrowsRightLeftIcon";import"@heroicons/react/24/outline/GlobeAltIcon";import"@headlessui/react";import"@heroicons/react/24/outline/ChevronDownIcon";import"ofetch";import"@heroicons/react/24/outline";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"@solana/web3.js";const h=o=>{let e,{get:i,on:n}=r(),c=o?.shouldAutoConnect??!0,a=[],s=[];function l(...o){s=(a=a.concat(...d(o))).map((o=>new t(o,c))),e?.(s)}function m(...o){s=(a=a.filter((e=>o.some((o=>e.wallet===o))))).map((o=>new t(o,c))),e?.(s)}let p=[n("register",l),n("unregister",m)];return s=(a=d(i())).map((o=>new t(o,c))),{_setOnConnectorsUpdated:o=>{e=o},onMount:()=>{p[0]||(p[0]=n("register",l)),p[1]||(p[1]=n("unregister",m))},onUnmount:()=>{let o=p.pop();for(;o;)o(),o=p.pop()},get:()=>s}};let d=r=>r.filter(o).map((o=>new e({wallet:o})));const I=()=>{let{getAccessToken:o,user:e}=c(),{refreshSessionAndUser:r,initializeWalletProxy:t}=m(),s=a();return{importWallet:i((({privateKey:i})=>n({getAccessToken:o,user:e,initializeWalletProxy:t,refreshSessionAndUser:r,emitPrivyEvent:s},{privateKey:i,chainType:"solana"})),[e,o,r,t,s])}};var g=()=>s(p);function f(o){let{sendSolanaTransaction:e}=m();return l("sendSolanaTransaction",o),{sendTransaction:e}}function w(o){let{signSolanaTransaction:e}=m();return l("signSolanaTransaction",o),{signTransaction:e}}function C(o){let{solanaSignMessage:e}=m();return l("signSolanaMessage",o),{signMessage:async o=>{let r=Buffer.from(o.message).toString("base64"),t=await e({message:r,options:o.options});return new Uint8Array(Buffer.from(t.signature,"base64"))}}}export{t as SolanaAdapterConnector,h as toSolanaWalletConnectors,I as useImportWallet,f as useSendTransaction,C as useSignMessage,w as useSignTransaction,g as useSolanaFundingPlugin};