@privy-io/react-auth 2.17.2 → 2.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/cjs/abstract-smart-wallets.js +1 -1
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/privy-provider-DJSBO1cS.js +28 -0
  4. package/dist/cjs/{smart-wallets-CeAM3IuJ.js → smart-wallets-C5OETWB3.js} +1 -1
  5. package/dist/cjs/smart-wallets.js +1 -1
  6. package/dist/cjs/solana.js +1 -1
  7. package/dist/cjs/ui.js +1 -1
  8. package/dist/cjs/{useActiveWallet-exwS4YR8.js → useActiveWallet-C_wN_Vtk.js} +1 -1
  9. package/dist/cjs/{useFundWallet-B_Yyhki8.js → useFundWallet-D7jsZQgJ.js} +1 -1
  10. package/dist/dts/extended-chains.d.mts +1 -1
  11. package/dist/dts/extended-chains.d.ts +1 -1
  12. package/dist/dts/farcaster.d.mts +1 -1
  13. package/dist/dts/farcaster.d.ts +1 -1
  14. package/dist/dts/index.d.mts +13 -5
  15. package/dist/dts/index.d.ts +13 -5
  16. package/dist/dts/smart-wallets.d.mts +1 -1
  17. package/dist/dts/smart-wallets.d.ts +1 -1
  18. package/dist/dts/solana.d.mts +4 -4
  19. package/dist/dts/solana.d.ts +4 -4
  20. package/dist/dts/{types-BKf1TjPF.d.mts → types-C750flIl.d.mts} +3 -3
  21. package/dist/dts/{types-BKf1TjPF.d.ts → types-C750flIl.d.ts} +3 -3
  22. package/dist/dts/ui.d.mts +1 -1
  23. package/dist/dts/ui.d.ts +1 -1
  24. package/dist/dts/{useSolanaWallets-BTDsdOi4.d.mts → useSolanaWallets-BMH597gE.d.mts} +2 -2
  25. package/dist/dts/{useSolanaWallets-BTDsdOi4.d.ts → useSolanaWallets-BMH597gE.d.ts} +2 -2
  26. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  27. package/dist/esm/index.mjs +1 -1
  28. package/dist/esm/privy-provider-C8x4T-HJ.mjs +28 -0
  29. package/dist/esm/smart-wallets-DJW4A6lN.mjs +1 -0
  30. package/dist/esm/smart-wallets.mjs +1 -1
  31. package/dist/esm/solana.mjs +1 -1
  32. package/dist/esm/ui.mjs +2 -2
  33. package/dist/esm/{useActiveWallet-CFPTzCLv.mjs → useActiveWallet-DTVla7H-.mjs} +1 -1
  34. package/dist/esm/useFundWallet-Biyv49Yj.mjs +1 -0
  35. package/package.json +5 -4
  36. package/dist/cjs/privy-provider-Ds0Q6p6C.js +0 -28
  37. package/dist/esm/privy-provider-BWC5Ur7o.mjs +0 -28
  38. package/dist/esm/smart-wallets-ClIhi9mx.mjs +0 -1
  39. package/dist/esm/useFundWallet-BllWoKI2.mjs +0 -1
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("viem"),r=require("./use-sign-with-user-signer-CpEHKe74.js"),n=require("./privy-provider-Ds0Q6p6C.js"),a=require("./paths-CdRs2pll.js"),i=require("./internal-context-vhWXhsPy.js"),s=require("./getEmbeddedConnectedWallet-DTU4T9TJ.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,publicClient:r})=>{switch(t){case u.SAFE:return l.toSafeSmartAccount({client:r,entryPoint:y,owners:[e],version:"1.4.1"});case u.KERNEL:return l.toKernelSmartAccount({client:r,version:"0.3.1",entryPoint:y,useMetaFactory:"optional",owners:[e]});case u.BICONOMY:return l.toBiconomySmartAccount({client:r,owners:[e],entryPoint:p});case u.LIGHT_ACCOUNT:return l.toLightSmartAccount({client:r,entryPoint:p,owner:e,version:"1.1.0"});case u.COINBASE_SMART_WALLET:return async function({client:e,owner:t}){let[r]=await t.request({method:"eth_accounts"});if(!r)throw Error("Unable to request embedded owner for eth_accounts");return await d.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:r,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}]})}({client:r,owner:e});case u.THIRDWEB:return l.toThirdwebSmartAccount({client:r,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:r,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?.smartWalletType??d.smartWalletType,h=n.getJsonRpcEndpointFromChain(e,u,p),P=t.createPublicClient({chain:e,transport:t.http(h)}),f=r??y.paymasterContext,w=await(async({owner:e,smartWalletType:r,chain:n,publicClient:a,bundlerUrl:i,paymasterUrl:s,paymasterContext:l})=>{let d=await m({owner:e,smartWalletType:r,publicClient:a}),u=c.createPimlicoClient({transport:t.http(i),entryPoint:d.entryPoint}),p=s?c.createPimlicoClient({transport:t.http(s),entryPoint:d.entryPoint}):void 0;return o.createSmartAccountClient({account:d,chain:n,paymaster:p,paymasterContext:l,bundlerTransport:t.http(i),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>i.includes(e))))return await u.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>i.includes(e))))return(await u.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>i.includes(e)))){let[e,t]=await Promise.all([a.getBlock({blockTag:"latest"}),u.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 a.estimateFeesPerGas(),t=i.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:g,chain:e,publicClient:P,paymasterContext:f,...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:a}=i.usePrivyInternal(),{setModalData:s}=n.usePrivyModal(),{user:o}=r.usePrivyContext(),l=r.getPrivyEthereumWallet(o),c=!!l&&r.getIsUnifiedWallet(l);return{wrapSmartAccountClientWithUIs:r=>({...r,sendTransaction:async(i,d)=>{if(a({showWalletUIs:d?.uiOptions?.showWalletUIs}))return e.current=!0,await r.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(!r.paymaster)return!1;let{paymasterData:e,paymasterAndData:t}=await r.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(a,y)=>{e.current=!0;let{entropyId:m,entropyIdVerifier:h}=n.getEntropyDetailsForUser(o);s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:m,entropyIdVerifier:h,onCompleteNavigateTo:n.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:g({calls:u,chain:r.chain,maxPriorityFeePerGas:i.maxPriorityFeePerGas,maxFeePerGas:i.maxFeePerGas,nonce:i.nonce?BigInt(i.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:m,entropyIdVerifier:h,getIsSponsored:p,signOnly:!1,onConfirm:()=>r.sendTransaction(i),onSuccess:e=>a(e.hash),onFailure:y,uiOptions:d?.uiOptions??{}}}),t(n.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))},signMessage:async(i,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await r.signMessage(i).finally((()=>e.current=!1))):new Promise((async(a,u)=>{let{entropyId:p,entropyIdVerifier:y}=n.getEntropyDetailsForUser(o);e.current=!0,s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof i.message?i.message:i.message.raw.toString(),confirmAndSign:()=>r.signMessage(i),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(n.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1})),signTypedData:async(i,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await r.signTypedData(i).finally((()=>e.current=!1))):new Promise((async(a,u)=>{e.current=!0;let{entropyId:p,entropyIdVerifier:y}=n.getEntropyDetailsForUser(o);s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:i,confirmAndSign:()=>r.signTypedData(i),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(n.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))})}},exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:o})=>{let{hideWalletUIs:l,openPrivyModal:c,appId:d,isHeadlessSigning:u}=i.usePrivyInternal(),p=n.useAppConfig(),{setModalData:y}=n.usePrivyModal(),{user:m}=r.usePrivyContext(),{chains:P}=n.useAppConfig(),{chainId:f,clients:w,setChainId:I,chainIdState:v}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),W=P.find((e=>e.id===v)),{wallets:C}=n.useWallets(),S=r.getPrivyEthereumWallet(m),F=s.getEmbeddedConnectedWallet(C),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)}I(e)}),[P,t,C,m,o]);return{wrapSmartAccountClient:e=>{w.current[e.chain.id]=e,v||I(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let r=w.current[f.current];if(!r)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 r.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:n,maxFeePerGas:a,maxPriorityFeePerGas:s}=await r.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??n??0)>0};return new Promise((async(a,o)=>{l.current=!0;let{entropyId:d,entropyIdVerifier:u}=n.getEntropyDetailsForUser(m);y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:d,entropyIdVerifier:u,onCompleteNavigateTo:n.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:g({calls:i,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:d,entropyIdVerifier:u,getIsSponsored:s,signOnly:!1,onConfirm:()=>r.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:o,uiOptions:t?.uiOptions??{}}}),c(n.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},signMessage:async(e,t)=>{let r=w.current[f.current];if(!r)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${f.current}) not found`);return u({showWalletUIs:t?.uiOptions?.showWalletUIs})?(l.current=!0,await r.signMessage(e).finally((()=>l.current=!1))):new Promise((async(a,i)=>{let{entropyId:s,entropyIdVerifier:o}=n.getEntropyDetailsForUser(m);l.current=!0,y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>r.signMessage(e),onSuccess:e=>a(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),c(n.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},signTypedData:async(e,t)=>{let r=w.current[f.current];if(!r)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 r.signTypedData(e).finally((()=>l.current=!1))):new Promise((async(a,i)=>{l.current=!0;let{entropyId:s,entropyIdVerifier:o}=n.getEntropyDetailsForUser(m);y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>a(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),c(n.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},getChainId:T,chain:W,switchChain:U}}}};
1
+ "use strict";var e=require("react"),t=require("viem"),r=require("./use-sign-with-user-signer-CpEHKe74.js"),n=require("./privy-provider-DJSBO1cS.js"),a=require("./paths-CdRs2pll.js"),i=require("./internal-context-vhWXhsPy.js"),s=require("./getEmbeddedConnectedWallet-DTU4T9TJ.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,publicClient:r})=>{switch(t){case u.SAFE:return l.toSafeSmartAccount({client:r,entryPoint:y,owners:[e],version:"1.4.1"});case u.KERNEL:return l.toKernelSmartAccount({client:r,version:"0.3.1",entryPoint:y,useMetaFactory:"optional",owners:[e]});case u.BICONOMY:return l.toBiconomySmartAccount({client:r,owners:[e],entryPoint:p});case u.LIGHT_ACCOUNT:return l.toLightSmartAccount({client:r,entryPoint:p,owner:e,version:"1.1.0"});case u.COINBASE_SMART_WALLET:return async function({client:e,owner:t}){let[r]=await t.request({method:"eth_accounts"});if(!r)throw Error("Unable to request embedded owner for eth_accounts");return await d.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:r,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}]})}({client:r,owner:e});case u.THIRDWEB:return l.toThirdwebSmartAccount({client:r,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:r,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?.smartWalletType??d.smartWalletType,h=n.getJsonRpcEndpointFromChain(e,u,p),P=t.createPublicClient({chain:e,transport:t.http(h)}),f=r??y.paymasterContext,w=await(async({owner:e,smartWalletType:r,chain:n,publicClient:a,bundlerUrl:i,paymasterUrl:s,paymasterContext:l})=>{let d=await m({owner:e,smartWalletType:r,publicClient:a}),u=c.createPimlicoClient({transport:t.http(i),entryPoint:d.entryPoint}),p=s?c.createPimlicoClient({transport:t.http(s),entryPoint:d.entryPoint}):void 0;return o.createSmartAccountClient({account:d,chain:n,paymaster:p,paymasterContext:l,bundlerTransport:t.http(i),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>i.includes(e))))return await u.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>i.includes(e))))return(await u.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>i.includes(e)))){let[e,t]=await Promise.all([a.getBlock({blockTag:"latest"}),u.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 a.estimateFeesPerGas(),t=i.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:g,chain:e,publicClient:P,paymasterContext:f,...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:a}=i.usePrivyInternal(),{setModalData:s}=n.usePrivyModal(),{user:o}=r.usePrivyContext(),l=r.getPrivyEthereumWallet(o),c=!!l&&r.getIsUnifiedWallet(l);return{wrapSmartAccountClientWithUIs:r=>({...r,sendTransaction:async(i,d)=>{if(a({showWalletUIs:d?.uiOptions?.showWalletUIs}))return e.current=!0,await r.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(!r.paymaster)return!1;let{paymasterData:e,paymasterAndData:t}=await r.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(a,y)=>{e.current=!0;let{entropyId:m,entropyIdVerifier:h}=n.getEntropyDetailsForUser(o);s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:m,entropyIdVerifier:h,onCompleteNavigateTo:n.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:g({calls:u,chain:r.chain,maxPriorityFeePerGas:i.maxPriorityFeePerGas,maxFeePerGas:i.maxFeePerGas,nonce:i.nonce?BigInt(i.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:m,entropyIdVerifier:h,getIsSponsored:p,signOnly:!1,onConfirm:()=>r.sendTransaction(i),onSuccess:e=>a(e.hash),onFailure:y,uiOptions:d?.uiOptions??{}}}),t(n.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))},signMessage:async(i,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await r.signMessage(i).finally((()=>e.current=!1))):new Promise((async(a,u)=>{let{entropyId:p,entropyIdVerifier:y}=n.getEntropyDetailsForUser(o);e.current=!0,s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof i.message?i.message:i.message.raw.toString(),confirmAndSign:()=>r.signMessage(i),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(n.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1})),signTypedData:async(i,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await r.signTypedData(i).finally((()=>e.current=!1))):new Promise((async(a,u)=>{e.current=!0;let{entropyId:p,entropyIdVerifier:y}=n.getEntropyDetailsForUser(o);s({connectWallet:{recoveryMethod:l.recoveryMethod,connectingWalletAddress:l.address,isUnifiedWallet:c,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:i,confirmAndSign:()=>r.signTypedData(i),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(n.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))})}},exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:o})=>{let{hideWalletUIs:l,openPrivyModal:c,appId:d,isHeadlessSigning:u}=i.usePrivyInternal(),p=n.useAppConfig(),{setModalData:y}=n.usePrivyModal(),{user:m}=r.usePrivyContext(),{chains:P}=n.useAppConfig(),{chainId:f,clients:w,setChainId:I,chainIdState:v}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),W=P.find((e=>e.id===v)),{wallets:C}=n.useWallets(),S=r.getPrivyEthereumWallet(m),F=s.getEmbeddedConnectedWallet(C),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)}I(e)}),[P,t,C,m,o]);return{wrapSmartAccountClient:e=>{w.current[e.chain.id]=e,v||I(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let r=w.current[f.current];if(!r)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 r.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:n,maxFeePerGas:a,maxPriorityFeePerGas:s}=await r.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??n??0)>0};return new Promise((async(a,o)=>{l.current=!0;let{entropyId:d,entropyIdVerifier:u}=n.getEntropyDetailsForUser(m);y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:d,entropyIdVerifier:u,onCompleteNavigateTo:n.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:g({calls:i,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:d,entropyIdVerifier:u,getIsSponsored:s,signOnly:!1,onConfirm:()=>r.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:o,uiOptions:t?.uiOptions??{}}}),c(n.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},signMessage:async(e,t)=>{let r=w.current[f.current];if(!r)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${f.current}) not found`);return u({showWalletUIs:t?.uiOptions?.showWalletUIs})?(l.current=!0,await r.signMessage(e).finally((()=>l.current=!1))):new Promise((async(a,i)=>{let{entropyId:s,entropyIdVerifier:o}=n.getEntropyDetailsForUser(m);l.current=!0,y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>r.signMessage(e),onSuccess:e=>a(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),c(n.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},signTypedData:async(e,t)=>{let r=w.current[f.current];if(!r)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 r.signTypedData(e).finally((()=>l.current=!1))):new Promise((async(a,i)=>{l.current=!0;let{entropyId:s,entropyIdVerifier:o}=n.getEntropyDetailsForUser(m);y({connectWallet:{recoveryMethod:S.recoveryMethod,connectingWalletAddress:S.address,isUnifiedWallet:x,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:n.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>a(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),c(n.EmbeddedWalletConnectingScreen)})).finally((()=>{l.current=!1}))},getChainId:T,chain:W,switchChain:U}}}};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./use-sign-with-user-signer-CpEHKe74.js"),t=require("./privy-provider-Ds0Q6p6C.js"),o=require("./paths-CdRs2pll.js"),n=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),c=require("./smart-wallets-CeAM3IuJ.js"),a=require("./internal-context-vhWXhsPy.js");require("viem"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),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/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),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/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),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}},h=({children:i})=>{let[t,o]=r.useState(void 0),{client:n}=a.usePrivyInternal();return r.useEffect((()=>{!t&&n&&(async()=>{try{if(!n)return void console.warn("No client found");let e=await n.getSmartWalletsConfig();o(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!n]),/*#__PURE__*/e.jsx(s.Provider,{value:{config:t},children:i})},d=({config:l,children:s})=>{let{config:h}=u(),{appId:d}=a.usePrivyInternal(),{chains:C,defaultChain:g,rpcConfig:I}=t.useAppConfig(),{wallets:m}=t.useWallets(),{user:f}=i.usePrivyContext(),[p,v]=r.useState(),{wrapSmartAccountClientWithUIs:w}=c.useSmartWalletsUIWrapper(),y=i.getPrivyEthereumWallet(f),W=n.getEmbeddedConnectedWallet(m);r.useEffect((()=>{(async()=>{if(!h?.enabled)return;let e=h.configuredNetworks.find((e=>e.chainId===`eip155:${g.id}`))?g:C.find((e=>h.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new o.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:d,paymasterContext:l?.paymasterContext,rpcConfig:I,account:y,signer:await(W?.getEthereumProvider()),user:f,smartWalletsConfig:h}))})()}),[!!h?.enabled,!!f?.smartWallet,!!W,!!y]);/*#__PURE__*/return e.jsx(q.Provider,{value:{client:p,config:l,getClientForChain:async({id:e})=>{let r=await c.getSmartWalletClient({chain:C.find((r=>r.id===e)),privyAppId:d,paymasterContext:l?.paymasterContext,rpcConfig:I,account:y,signer:await(W?.getEthereumProvider()),user:f,smartWalletsConfig:h});if(!r)throw new o.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:o,config:n,getClientForChain:s}=(()=>{let{client:e,config:i,getClientForChain:t}=r.useContext(q);return{client:e,config:i,getClientForChain:t}})(),{config:h}=u(),{wrapSmartAccountClient:d}=c.useSmartWalletsWrapper({clientConfig:n,smartWalletsConfig:h}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:I,hideWalletUIs:m}=a.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(o&&C&&!C?.smartWallet&&h?.enabled)try{let e=await g({address:o.account.address,chainId:`eip155:${o.chain.id}`});m.current=!0;let r=await o.signMessage({message:e});await I({signature:r,message:e,smartWalletType:h.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{m.current=!1}})()}),[!!o,!!C?.smartWallet,!!h?.enabled]),/*#__PURE__*/e.jsx(l.Provider,{value:{client:C?.smartWallet&&o?d(o):void 0,getClientForChain:s},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(h,{children:/*#__PURE__*/e.jsx(d,{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("./use-sign-with-user-signer-CpEHKe74.js"),t=require("./privy-provider-DJSBO1cS.js"),o=require("./paths-CdRs2pll.js"),n=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),c=require("./smart-wallets-C5OETWB3.js"),a=require("./internal-context-vhWXhsPy.js");require("viem"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),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/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),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/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),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}},h=({children:i})=>{let[t,o]=r.useState(void 0),{client:n}=a.usePrivyInternal();return r.useEffect((()=>{!t&&n&&(async()=>{try{if(!n)return void console.warn("No client found");let e=await n.getSmartWalletsConfig();o(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!n]),/*#__PURE__*/e.jsx(s.Provider,{value:{config:t},children:i})},d=({config:l,children:s})=>{let{config:h}=u(),{appId:d}=a.usePrivyInternal(),{chains:C,defaultChain:g,rpcConfig:I}=t.useAppConfig(),{wallets:m}=t.useWallets(),{user:f}=i.usePrivyContext(),[p,v]=r.useState(),{wrapSmartAccountClientWithUIs:w}=c.useSmartWalletsUIWrapper(),y=i.getPrivyEthereumWallet(f),W=n.getEmbeddedConnectedWallet(m);r.useEffect((()=>{(async()=>{if(!h?.enabled)return;let e=h.configuredNetworks.find((e=>e.chainId===`eip155:${g.id}`))?g:C.find((e=>h.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new o.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:d,paymasterContext:l?.paymasterContext,rpcConfig:I,account:y,signer:await(W?.getEthereumProvider()),user:f,smartWalletsConfig:h}))})()}),[!!h?.enabled,!!f?.smartWallet,!!W,!!y]);/*#__PURE__*/return e.jsx(q.Provider,{value:{client:p,config:l,getClientForChain:async({id:e})=>{let r=await c.getSmartWalletClient({chain:C.find((r=>r.id===e)),privyAppId:d,paymasterContext:l?.paymasterContext,rpcConfig:I,account:y,signer:await(W?.getEthereumProvider()),user:f,smartWalletsConfig:h});if(!r)throw new o.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:o,config:n,getClientForChain:s}=(()=>{let{client:e,config:i,getClientForChain:t}=r.useContext(q);return{client:e,config:i,getClientForChain:t}})(),{config:h}=u(),{wrapSmartAccountClient:d}=c.useSmartWalletsWrapper({clientConfig:n,smartWalletsConfig:h}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:I,hideWalletUIs:m}=a.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(o&&C&&!C?.smartWallet&&h?.enabled)try{let e=await g({address:o.account.address,chainId:`eip155:${o.chain.id}`});m.current=!0;let r=await o.signMessage({message:e});await I({signature:r,message:e,smartWalletType:h.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{m.current=!1}})()}),[!!o,!!C?.smartWallet,!!h?.enabled]),/*#__PURE__*/e.jsx(l.Provider,{value:{client:C?.smartWallet&&o?d(o):void 0,getClientForChain:s},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(h,{children:/*#__PURE__*/e.jsx(d,{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 +1 @@
1
- "use strict";var e=require("@solana/wallet-adapter-base"),n=require("@solana/wallet-standard-wallet-adapter-base"),r=require("@wallet-standard/app"),t=require("./privy-provider-Ds0Q6p6C.js"),i=require("react"),s=require("./internal-context-vhWXhsPy.js"),o=require("./use-sign-with-user-signer-CpEHKe74.js"),a=require("@solana/web3.js"),c=require("eventemitter3"),l=require("@scure/base"),u=require("./useFundWallet-B_Yyhki8.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("react/jsx-runtime"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("./paths-CdRs2pll.js"),require("ofetch"),require("viem"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),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/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),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/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("@solana/spl-token");var h=/*#__PURE__*/d(c);let g=r=>r.filter((n=>e.isWalletAdapterCompatibleStandardWallet(n)&&!(n.features["privy:"]&&"isPrivyWallet"in n&&n.isPrivyWallet))).map((e=>new n.StandardWalletAdapter({wallet:e})));const p=["solana:mainnet","solana:devnet","solana:testnet"];function v(e){switch(e){case"solana:mainnet":return"mainnet-beta";case"solana:devnet":return"devnet";case"solana:testnet":return"testnet";default:throw Error(`Unknown chain: ${e}`)}}function A(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var y=0,f="__private_"+y+++"__implementation";class w extends h.default{setImplementation(e){A(this,f)[f]=e}async signMessage(e,n){return A(this,f)[f].signMessage(e,n)}async signAndSendTransaction(e,n,r,t){return A(this,f)[f].signAndSendTransaction(e,n,r,t)}async signTransaction(e,n,r,t){return A(this,f)[f].signTransaction(e,n,r,t)}constructor(e){super(),Object.defineProperty(this,f,{writable:!0,value:void 0}),A(this,f)[f]=e}}function q(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var b=0;function I(e){return"__private_"+b+++"_"+e}var m=/*#__PURE__*/I("_address"),P=/*#__PURE__*/I("_publicKey"),S=/*#__PURE__*/I("_chains"),T=/*#__PURE__*/I("_features"),C=/*#__PURE__*/I("_label"),j=/*#__PURE__*/I("_icon");class W{get address(){return q(this,m)[m]}get publicKey(){return q(this,P)[P].slice()}get chains(){return q(this,S)[S].slice()}get features(){return q(this,T)[T].slice()}get label(){return q(this,C)[C]}get icon(){return q(this,j)[j]}constructor({address:e,publicKey:n,label:r,icon:t}){Object.defineProperty(this,m,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,T,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),Object.defineProperty(this,j,{writable:!0,value:void 0}),q(this,m)[m]=e,q(this,P)[P]=n,q(this,S)[S]=p,q(this,C)[C]=r,q(this,j)[j]=t,q(this,T)[T]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===W&&Object.freeze(this)}}function E(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var O=0;function M(e){return"__private_"+O+++"_"+e}var _=/*#__PURE__*/M("_listeners"),k=/*#__PURE__*/M("_version"),x=/*#__PURE__*/M("_name"),B=/*#__PURE__*/M("_icon"),D=/*#__PURE__*/M("_injection"),F=/*#__PURE__*/M("_isPrivyWallet"),U=/*#__PURE__*/M("_accounts"),V=/*#__PURE__*/M("_on"),K=/*#__PURE__*/M("_emit"),R=/*#__PURE__*/M("_off"),Q=/*#__PURE__*/M("_connected"),G=/*#__PURE__*/M("_connect"),J=/*#__PURE__*/M("_disconnect"),z=/*#__PURE__*/M("_signMessage"),L=/*#__PURE__*/M("_signAndSendTransaction"),Y=/*#__PURE__*/M("_signTransaction");function H(e,...n){E(this,_)[_][e]?.forEach((e=>e.apply(null,n)))}function N(e,n){E(this,_)[_][e]=E(this,_)[_][e]?.filter((e=>n!==e))}function Z(e){let n=t.useAppConfig(),{getAccessToken:r,user:i}=t.usePrivy(),{setModalData:a}=t.usePrivyModal(),{isHeadlessSigning:c,openModal:l,walletProxy:u,recoverEmbeddedWallet:d,privy:h}=s.usePrivyInternal(),g=t.useEmitPrivyEvent(),{signWithUserSigner:p}=o.useSignWithUserSigner();return t.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:s,uiOptions:o,transactionOptions:v,address:A})=>{let{signedTransaction:y}=await t.signOrSendSolanaTransactionInternal({privy:h,appConfig:n,getAccessToken:r,isHeadlessSigning:c,emitPrivyEvent:g,setModalData:a,openModal:l,walletProxy:u,user:i,recoverEmbeddedWallet:d,signWithUserSigner:p},{transaction:e,connection:s,transactionOptions:v,uiOptions:o,address:A,signOnly:!0});return y}}}let X=new w({signTransaction:s.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:s.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:s.notImplementedWithMessage("signMessage was not injected")}),$=new class{get version(){return E(this,k)[k]}get name(){return E(this,x)[x]}get icon(){return E(this,B)[B]}get chains(){return p.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:E(this,G)[G]},"standard:disconnect":{version:"1.0.0",disconnect:E(this,J)[J]},"standard:events":{version:"1.0.0",on:E(this,V)[V]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:E(this,L)[L]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:E(this,Y)[Y]},"solana:signMessage":{version:"1.0.0",signMessage:E(this,z)[z]},"privy:":{privy:{signMessage:E(this,D)[D].signMessage,signTransaction:E(this,D)[D].signTransaction,signAndSendTransaction:E(this,D)[D].signAndSendTransaction}}}}get accounts(){return E(this,U)[U].slice()}get isPrivyWallet(){return E(this,F)[F]}constructor({name:e,icon:n,version:r,injection:i,wallets:s}){Object.defineProperty(this,K,{value:H}),Object.defineProperty(this,R,{value:N}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),E(this,_)[_]={},E(this,V)[V]=(e,n)=>(E(this,_)[_][e]?.push(n)||(E(this,_)[_][e]=[n]),()=>E(this,R)[R](e,n)),E(this,Q)[Q]=e=>{null!=e&&(E(this,U)[U]=e.map((({address:e})=>new W({address:e,publicKey:l.base58.decode(e)})))),E(this,K)[K]("change",{accounts:this.accounts})},E(this,G)[G]=async()=>(E(this,K)[K]("change",{accounts:this.accounts}),{accounts:this.accounts}),E(this,J)[J]=async()=>{E(this,K)[K]("change",{accounts:this.accounts})},E(this,z)[z]=async(...e)=>{let n=[];for(let{message:r,account:t}of e){let{signature:e}=await E(this,D)[D].signMessage(r,t.address);n.push({signedMessage:r,signature:e})}return n},E(this,L)[L]=async(...e)=>{let n=[];for(let{transaction:r,account:t,options:i,chain:s}of e){let{signature:e}=await E(this,D)[D].signAndSendTransaction(a.VersionedTransaction.deserialize(r),t.address,v(s||"solana:mainnet"),i);n.push({signature:l.base58.decode(e)})}return n},E(this,Y)[Y]=async(...e)=>{let n=[];for(let{transaction:r,account:i,options:s,chain:o}of e){let e=await E(this,D)[D].signTransaction(a.VersionedTransaction.deserialize(r),i.address,v(o||"solana:mainnet"),s),c=t.isVersionedTransaction(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}));n.push({signedTransaction:c})}return n},E(this,x)[x]=e,E(this,B)[B]=n,E(this,k)[k]=r,E(this,D)[D]=i,E(this,U)[U]=[],E(this,F)[F]=!0,i.on("accountChanged",E(this,Q)[Q],this),E(this,Q)[Q](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:X});function ee(){let{solanaClusters:e}=t.useAppConfig(),{ready:n}=t.useWallets(),{user:r}=t.usePrivy(),{signMessage:s}=t.useSignMessage(),{signTransaction:c}=Z(),{sendTransaction:l}=t.useSendTransaction(),u=i.useMemo((()=>{let e=[...o.getPrivySolanaHDWallets(r).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],n=o.getImportedPrivySolanaWallet(r);return n?[...e,n]:e}),[r]),d=i.useMemo((()=>({signMessage:async(e,n)=>({signature:await s({message:e,options:{address:n}})}),async signTransaction(n,r,t){let i=new a.Connection(e[t].rpcUrl);return await c({transaction:n,address:r,connection:i})},async signAndSendTransaction(n,r,t,i){let s=new a.Connection(e[t].rpcUrl),{signature:o}=await l({transaction:n,connection:s,address:r,transactionOptions:i});return{signature:o}}})),[s,c,l,e]);return i.useEffect((()=>{X?.setImplementation(d)}),[d]),i.useEffect((()=>{var e;!n||(e=$.accounts).length===u.length&&e.every(((e,n)=>e.address===u[n]?.address))||X?.emit("accountChanged",u)}),[n,u]),{ready:n,wallet:$}}var ne={id:t.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:n})=>{let r=t.prepareSiwsMessageWithNonce({address:e,nonce:n}),i=new a.Transaction,s=new a.TransactionInstruction({keys:[{pubkey:new a.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new a.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(r,"utf-8")});return i.add(s),i.feePayer=new a.PublicKey(e),i.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",i.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>a.Transaction.from(t.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=t.SolanaWalletConnector,exports.useSendTransaction=t.useSendTransaction,exports.useSignMessage=t.useSignMessage,exports.useSolanaWallets=t.useSolanaWallets,exports.useFundWallet=u.useFundWallet,exports.toSolanaWalletConnectors=e=>{let n,{get:i,on:s}=r.getWallets(),o=e?.shouldAutoConnect??!0,a=new Map,c=[];function l(...e){g(e).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),n?.(c)}function u(...e){Array.from(a.keys()).forEach((n=>!e.includes(n)&&a.delete(n))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),n?.(c)}let d=[s("register",l),s("unregister",u)];return g(i()).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),{_setOnConnectorsUpdated:e=>{n=e},onMount:()=>{d[0]||(d[0]=s("register",l)),d[1]||(d[1]=s("unregister",u))},onUnmount:()=>{let e=d.pop();for(;e;)e(),e=d.pop()},get:()=>c}},exports.useImportWallet=()=>{let{getAccessToken:e,user:n}=o.usePrivyContext(),{refreshSessionAndUser:r,initializeWalletProxy:a}=s.usePrivyInternal(),c=t.useEmitPrivyEvent();return{importWallet:i.useCallback((({privateKey:i})=>t.importWallet({getAccessToken:e,user:n,initializeWalletProxy:a,refreshSessionAndUser:r,emitPrivyEvent:c},{privateKey:i,chainType:"solana"})),[n,e,r,a,c])}},exports.usePrivyStandardWallet=ee,exports.useSignTransaction=Z,exports.useSolanaFundingPlugin=()=>t.useRegisterPlugin(u.t),exports.useSolanaLedgerPlugin=()=>t.useRegisterPlugin(ne),exports.useSolanaStandardWallets=function(){let{client:e}=s.usePrivyInternal(),{ready:n,wallet:r}=ee(),[t,o]=i.useState([]),[a,c]=i.useState([]);return i.useEffect((()=>{let e=[r,...t.filter((e=>"solana"===e.chainType)).map((e=>e.wallet))];c(e);let n=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{n.forEach((e=>e?.()))}}),[t]),i.useEffect((()=>{if(!n)return;o(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let r=()=>{o(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",r),()=>{e.connectors?.off("connectorInitialized",r)}}),[n,e.connectors]),{ready:n,wallets:a}};
1
+ "use strict";var e=require("@solana/wallet-adapter-base"),n=require("@solana/wallet-standard-wallet-adapter-base"),r=require("@wallet-standard/app"),t=require("./privy-provider-DJSBO1cS.js"),i=require("react"),s=require("./internal-context-vhWXhsPy.js"),o=require("./use-sign-with-user-signer-CpEHKe74.js"),a=require("@solana/web3.js"),c=require("eventemitter3"),l=require("@scure/base"),u=require("./useFundWallet-D7jsZQgJ.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("react/jsx-runtime"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("./paths-CdRs2pll.js"),require("ofetch"),require("viem"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),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/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),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/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("@solana/spl-token");var h=/*#__PURE__*/d(c);let g=r=>r.filter((n=>e.isWalletAdapterCompatibleStandardWallet(n)&&!(n.features["privy:"]&&"isPrivyWallet"in n&&n.isPrivyWallet))).map((e=>new n.StandardWalletAdapter({wallet:e})));const p=["solana:mainnet","solana:devnet","solana:testnet"];function v(e){switch(e){case"solana:mainnet":return"mainnet-beta";case"solana:devnet":return"devnet";case"solana:testnet":return"testnet";default:throw Error(`Unknown chain: ${e}`)}}function A(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var y=0,f="__private_"+y+++"__implementation";class w extends h.default{setImplementation(e){A(this,f)[f]=e}async signMessage(e,n){return A(this,f)[f].signMessage(e,n)}async signAndSendTransaction(e,n,r,t){return A(this,f)[f].signAndSendTransaction(e,n,r,t)}async signTransaction(e,n,r,t){return A(this,f)[f].signTransaction(e,n,r,t)}constructor(e){super(),Object.defineProperty(this,f,{writable:!0,value:void 0}),A(this,f)[f]=e}}function q(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var b=0;function I(e){return"__private_"+b+++"_"+e}var m=/*#__PURE__*/I("_address"),P=/*#__PURE__*/I("_publicKey"),S=/*#__PURE__*/I("_chains"),T=/*#__PURE__*/I("_features"),C=/*#__PURE__*/I("_label"),j=/*#__PURE__*/I("_icon");class W{get address(){return q(this,m)[m]}get publicKey(){return q(this,P)[P].slice()}get chains(){return q(this,S)[S].slice()}get features(){return q(this,T)[T].slice()}get label(){return q(this,C)[C]}get icon(){return q(this,j)[j]}constructor({address:e,publicKey:n,label:r,icon:t}){Object.defineProperty(this,m,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,T,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),Object.defineProperty(this,j,{writable:!0,value:void 0}),q(this,m)[m]=e,q(this,P)[P]=n,q(this,S)[S]=p,q(this,C)[C]=r,q(this,j)[j]=t,q(this,T)[T]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===W&&Object.freeze(this)}}function E(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var O=0;function M(e){return"__private_"+O+++"_"+e}var _=/*#__PURE__*/M("_listeners"),k=/*#__PURE__*/M("_version"),x=/*#__PURE__*/M("_name"),B=/*#__PURE__*/M("_icon"),D=/*#__PURE__*/M("_injection"),F=/*#__PURE__*/M("_isPrivyWallet"),U=/*#__PURE__*/M("_accounts"),V=/*#__PURE__*/M("_on"),K=/*#__PURE__*/M("_emit"),R=/*#__PURE__*/M("_off"),Q=/*#__PURE__*/M("_connected"),G=/*#__PURE__*/M("_connect"),J=/*#__PURE__*/M("_disconnect"),z=/*#__PURE__*/M("_signMessage"),L=/*#__PURE__*/M("_signAndSendTransaction"),Y=/*#__PURE__*/M("_signTransaction");function H(e,...n){E(this,_)[_][e]?.forEach((e=>e.apply(null,n)))}function N(e,n){E(this,_)[_][e]=E(this,_)[_][e]?.filter((e=>n!==e))}function Z(e){let n=t.useAppConfig(),{getAccessToken:r,user:i}=t.usePrivy(),{setModalData:a}=t.usePrivyModal(),{isHeadlessSigning:c,openModal:l,walletProxy:u,recoverEmbeddedWallet:d,privy:h}=s.usePrivyInternal(),g=t.useEmitPrivyEvent(),{signWithUserSigner:p}=o.useSignWithUserSigner();return t.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:s,uiOptions:o,transactionOptions:v,address:A})=>{let{signedTransaction:y}=await t.signOrSendSolanaTransactionInternal({privy:h,appConfig:n,getAccessToken:r,isHeadlessSigning:c,emitPrivyEvent:g,setModalData:a,openModal:l,walletProxy:u,user:i,recoverEmbeddedWallet:d,signWithUserSigner:p},{transaction:e,connection:s,transactionOptions:v,uiOptions:o,address:A,signOnly:!0});return y}}}let X=new w({signTransaction:s.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:s.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:s.notImplementedWithMessage("signMessage was not injected")}),$=new class{get version(){return E(this,k)[k]}get name(){return E(this,x)[x]}get icon(){return E(this,B)[B]}get chains(){return p.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:E(this,G)[G]},"standard:disconnect":{version:"1.0.0",disconnect:E(this,J)[J]},"standard:events":{version:"1.0.0",on:E(this,V)[V]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:E(this,L)[L]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:E(this,Y)[Y]},"solana:signMessage":{version:"1.0.0",signMessage:E(this,z)[z]},"privy:":{privy:{signMessage:E(this,D)[D].signMessage,signTransaction:E(this,D)[D].signTransaction,signAndSendTransaction:E(this,D)[D].signAndSendTransaction}}}}get accounts(){return E(this,U)[U].slice()}get isPrivyWallet(){return E(this,F)[F]}constructor({name:e,icon:n,version:r,injection:i,wallets:s}){Object.defineProperty(this,K,{value:H}),Object.defineProperty(this,R,{value:N}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),E(this,_)[_]={},E(this,V)[V]=(e,n)=>(E(this,_)[_][e]?.push(n)||(E(this,_)[_][e]=[n]),()=>E(this,R)[R](e,n)),E(this,Q)[Q]=e=>{null!=e&&(E(this,U)[U]=e.map((({address:e})=>new W({address:e,publicKey:l.base58.decode(e)})))),E(this,K)[K]("change",{accounts:this.accounts})},E(this,G)[G]=async()=>(E(this,K)[K]("change",{accounts:this.accounts}),{accounts:this.accounts}),E(this,J)[J]=async()=>{E(this,K)[K]("change",{accounts:this.accounts})},E(this,z)[z]=async(...e)=>{let n=[];for(let{message:r,account:t}of e){let{signature:e}=await E(this,D)[D].signMessage(r,t.address);n.push({signedMessage:r,signature:e})}return n},E(this,L)[L]=async(...e)=>{let n=[];for(let{transaction:r,account:t,options:i,chain:s}of e){let{signature:e}=await E(this,D)[D].signAndSendTransaction(a.VersionedTransaction.deserialize(r),t.address,v(s||"solana:mainnet"),i);n.push({signature:l.base58.decode(e)})}return n},E(this,Y)[Y]=async(...e)=>{let n=[];for(let{transaction:r,account:i,options:s,chain:o}of e){let e=await E(this,D)[D].signTransaction(a.VersionedTransaction.deserialize(r),i.address,v(o||"solana:mainnet"),s),c=t.isVersionedTransaction(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}));n.push({signedTransaction:c})}return n},E(this,x)[x]=e,E(this,B)[B]=n,E(this,k)[k]=r,E(this,D)[D]=i,E(this,U)[U]=[],E(this,F)[F]=!0,i.on("accountChanged",E(this,Q)[Q],this),E(this,Q)[Q](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:X});function ee(){let{solanaClusters:e}=t.useAppConfig(),{ready:n}=t.useWallets(),{user:r}=t.usePrivy(),{signMessage:s}=t.useSignMessage(),{signTransaction:c}=Z(),{sendTransaction:l}=t.useSendTransaction(),u=i.useMemo((()=>{let e=[...o.getPrivySolanaHDWallets(r).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],n=o.getImportedPrivySolanaWallet(r);return n?[...e,n]:e}),[r]),d=i.useMemo((()=>({signMessage:async(e,n)=>({signature:await s({message:e,options:{address:n}})}),async signTransaction(n,r,t){let i=new a.Connection(e[t].rpcUrl);return await c({transaction:n,address:r,connection:i})},async signAndSendTransaction(n,r,t,i){let s=new a.Connection(e[t].rpcUrl),{signature:o}=await l({transaction:n,connection:s,address:r,transactionOptions:i});return{signature:o}}})),[s,c,l,e]);return i.useEffect((()=>{X?.setImplementation(d)}),[d]),i.useEffect((()=>{var e;!n||(e=$.accounts).length===u.length&&e.every(((e,n)=>e.address===u[n]?.address))||X?.emit("accountChanged",u)}),[n,u]),{ready:n,wallet:$}}var ne={id:t.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:n})=>{let r=t.prepareSiwsMessageWithNonce({address:e,nonce:n}),i=new a.Transaction,s=new a.TransactionInstruction({keys:[{pubkey:new a.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new a.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(r,"utf-8")});return i.add(s),i.feePayer=new a.PublicKey(e),i.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",i.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>a.Transaction.from(t.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=t.SolanaWalletConnector,exports.useSendTransaction=t.useSendTransaction,exports.useSignMessage=t.useSignMessage,exports.useSolanaWallets=t.useSolanaWallets,exports.useFundWallet=u.useFundWallet,exports.toSolanaWalletConnectors=e=>{let n,{get:i,on:s}=r.getWallets(),o=e?.shouldAutoConnect??!0,a=new Map,c=[];function l(...e){g(e).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),n?.(c)}function u(...e){Array.from(a.keys()).forEach((n=>!e.includes(n)&&a.delete(n))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),n?.(c)}let d=[s("register",l),s("unregister",u)];return g(i()).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),{_setOnConnectorsUpdated:e=>{n=e},onMount:()=>{d[0]||(d[0]=s("register",l)),d[1]||(d[1]=s("unregister",u))},onUnmount:()=>{let e=d.pop();for(;e;)e(),e=d.pop()},get:()=>c}},exports.useImportWallet=()=>{let{getAccessToken:e,user:n}=o.usePrivyContext(),{refreshSessionAndUser:r,initializeWalletProxy:a}=s.usePrivyInternal(),c=t.useEmitPrivyEvent();return{importWallet:i.useCallback((({privateKey:i})=>t.importWallet({getAccessToken:e,user:n,initializeWalletProxy:a,refreshSessionAndUser:r,emitPrivyEvent:c},{privateKey:i,chainType:"solana"})),[n,e,r,a,c])}},exports.usePrivyStandardWallet=ee,exports.useSignTransaction=Z,exports.useSolanaFundingPlugin=()=>t.useRegisterPlugin(u.t),exports.useSolanaLedgerPlugin=()=>t.useRegisterPlugin(ne),exports.useSolanaStandardWallets=function(){let{client:e}=s.usePrivyInternal(),{ready:n,wallet:r}=ee(),[t,o]=i.useState([]),[a,c]=i.useState([]);return i.useEffect((()=>{let e=[r,...t.filter((e=>"solana"===e.chainType)).map((e=>e.wallet))];c(e);let n=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{n.forEach((e=>e?.()))}}),[t]),i.useEffect((()=>{if(!n)return;o(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let r=()=>{o(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",r),()=>{e.connectors?.off("connectorInitialized",r)}}),[n,e.connectors]),{ready:n,wallets:a}};