@privy-io/react-auth 2.13.8 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("viem"),r=require("./privy-provider-CmQLEp8p.js"),n=require("./internal-context-VGU3duZo.js"),a=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),i=require("permissionless"),s=require("permissionless/accounts"),o=require("permissionless/clients/pimlico"),l=require("viem/account-abstraction"),c=require("@privy-io/js-sdk-core");let d={address:l.entryPoint06Address,version:"0.6"},u={address:l.entryPoint07Address,version:"0.7"},p=({owner:e,smartWalletType:t,publicClient:r})=>{switch(t){case c.SAFE:return s.toSafeSmartAccount({client:r,entryPoint:u,owners:[e],version:"1.4.1"});case c.KERNEL:return s.toEcdsaKernelSmartAccount({client:r,version:"0.3.1",entryPoint:u,owners:[e]});case c.BICONOMY:return s.toBiconomySmartAccount({client:r,owners:[e],entryPoint:d});case c.LIGHT_ACCOUNT:return s.toLightSmartAccount({client:r,entryPoint:d,owner:e,version:"1.1.0"});case c.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 l.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 c.THIRDWEB:return s.toThirdwebSmartAccount({client:r,entryPoint:u,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const y=({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}))),m=async({chain:e,paymasterContext:a,account:s,signer:l,user:c,smartWalletsConfig:d,rpcConfig:u,privyAppId:y})=>{if(!(d?.enabled&&c&&s&&l))return;let m=d?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!m)throw new n.PrivyClientError(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let g=c.smartWallet?.smartWalletType??d.smartWalletType,h=r.getJsonRpcEndpointFromChain(e,u,y),P=t.createPublicClient({chain:e,transport:t.http(h)}),f=a??m.paymasterContext,w=await(async({owner:e,smartWalletType:r,chain:n,publicClient:a,bundlerUrl:s,paymasterUrl:l,paymasterContext:c})=>{let d=await p({owner:e,smartWalletType:r,publicClient:a}),u=o.createPimlicoClient({transport:t.http(s),entryPoint:d.entryPoint}),y=l?o.createPimlicoClient({transport:t.http(l),entryPoint:d.entryPoint}):void 0;return i.createSmartAccountClient({account:d,chain:n,paymaster:y,paymasterContext:c,bundlerTransport:t.http(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await u.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await u.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.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=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:l,smartWalletType:g,chain:e,publicClient:P,paymasterContext:f,...m});if(!w)throw new n.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return w};exports.callsToTransactionRequests=y,exports.getSmartWalletClient=m,exports.useSmartWalletsUIWrapper=()=>{let{hideWalletUIs:e,openPrivyModal:t,isHeadlessSigning:a}=n.usePrivyInternal(),{setModalData:i}=r.usePrivyModal(),{user:s}=r.usePrivyContext(),o=r.getPrivyEthereumWallet(s),l=!!o&&r.getIsUnifiedWallet(o);return{wrapSmartAccountClientWithUIs:n=>({...n,sendTransaction:async(c,d)=>{if(a({showWalletUIs:d?.uiOptions?.showWalletUIs}))return e.current=!0,await n.sendTransaction(c).finally((()=>e.current=!1));let u=[];"calls"in c&&void 0!==c.calls?u=[...c.calls]:"to"in c&&(u=[{to:c.to,value:c.value||BigInt(0),data:c.data||"0x"}]);let p=async()=>{if(!n.paymaster)return!1;let{paymasterAndData:e,paymasterData:t}=await n.prepareUserOperation({calls:u,maxFeePerGas:c.maxFeePerGas,maxPriorityFeePerGas:c.maxPriorityFeePerGas,nonce:c.nonce?BigInt(c.nonce):void 0});return Number(e??t??0)>0};return new Promise((async(a,m)=>{e.current=!0;let{entropyId:g,entropyIdVerifier:h}=r.getEntropyDetailsForUser(s);i({connectWallet:{recoveryMethod:o.recoveryMethod,connectingWalletAddress:o.address,isUnifiedWallet:l,entropyId:g,entropyIdVerifier:h,onCompleteNavigateTo:r.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:y({calls:u,chain:n.chain,maxPriorityFeePerGas:c.maxPriorityFeePerGas,maxFeePerGas:c.maxFeePerGas,nonce:c.nonce?BigInt(c.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:n.account.address,entropyId:g,entropyIdVerifier:h,getIsSponsored:p,signOnly:!1,onConfirm:()=>n.sendTransaction(c),onSuccess:e=>a(e.hash),onFailure:m,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))},signMessage:async(c,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await n.signMessage(c).finally((()=>e.current=!1))):new Promise((async(a,u)=>{let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(s);e.current=!0,i({connectWallet:{recoveryMethod:o.recoveryMethod,connectingWalletAddress:o.address,isUnifiedWallet:l,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof c.message?c.message:c.message.raw.toString(),confirmAndSign:()=>n.signMessage(c),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1})),signTypedData:async(c,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await n.signTypedData(c).finally((()=>e.current=!1))):new Promise((async(a,u)=>{e.current=!0;let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(s);i({connectWallet:{recoveryMethod:o.recoveryMethod,connectingWalletAddress:o.address,isUnifiedWallet:l,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:c,confirmAndSign:()=>n.signTypedData(c),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))})}},exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:i})=>{let{hideWalletUIs:s,openPrivyModal:o,appId:l,isHeadlessSigning:c}=n.usePrivyInternal(),d=r.useAppConfig(),{setModalData:u}=r.usePrivyModal(),{user:p}=r.usePrivyContext(),{chains:g}=r.useAppConfig(),{chainId:h,clients:P,setChainId:f,chainIdState:w}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),I=g.find((e=>e.id===w)),{wallets:v}=r.useWallets(),W=r.getPrivyEthereumWallet(p),C=a.getEmbeddedConnectedWallet(v),S=!!W&&r.getIsUnifiedWallet(W),F=e.useCallback((async()=>h.current),[h]),x=e.useCallback((async({id:e})=>{if(!P.current[e]){let r=await m({chain:g.find((t=>t.id===e)),account:W,signer:await(C?.getEthereumProvider()),user:p,paymasterContext:t?.paymasterContext,smartWalletsConfig:i,rpcConfig:d.rpcConfig,privyAppId:l});r&&(P.current[e]=r)}f(e)}),[g,t,v,p,i]);return{wrapSmartAccountClient:e=>{P.current[e.chain.id]=e,w||f(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let a=P.current[h.current];if(!a)throw new n.PrivyClientError(`Smart wallet client for chain (eip155:${h.current}) not found`);if(delete e.account,c({showWalletUIs:t?.uiOptions?.showWalletUIs}))return s.current=!0,await a.sendTransaction(e).finally((()=>s.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 l=async()=>{let{paymasterAndData:t,paymasterData:r,maxFeePerGas:n,maxPriorityFeePerGas:s}=await a.prepareUserOperation({calls:i,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return 0===Number(n)&&0===Number(s)||Number(t??r??0)>0};return new Promise((async(n,c)=>{s.current=!0;let{entropyId:d,entropyIdVerifier:m}=r.getEntropyDetailsForUser(p);u({connectWallet:{recoveryMethod:W.recoveryMethod,connectingWalletAddress:W.address,isUnifiedWallet:S,entropyId:d,entropyIdVerifier:m,onCompleteNavigateTo:r.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:y({calls:i,chain:a.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:a.account.address,entropyId:d,entropyIdVerifier:m,getIsSponsored:l,signOnly:!1,onConfirm:()=>a.sendTransaction(e),onSuccess:e=>n(e.hash),onFailure:c,uiOptions:t?.uiOptions??{}}}),o(r.EmbeddedWalletConnectingScreen)})).finally((()=>{s.current=!1}))},signMessage:async(e,t)=>{let a=P.current[h.current];if(!a)throw new n.PrivyClientError(`Smart wallet client for chain (eip155:${h.current}) not found`);return c({showWalletUIs:t?.uiOptions?.showWalletUIs})?(s.current=!0,await a.signMessage(e).finally((()=>s.current=!1))):new Promise((async(n,i)=>{let{entropyId:l,entropyIdVerifier:c}=r.getEntropyDetailsForUser(p);s.current=!0,u({connectWallet:{recoveryMethod:W.recoveryMethod,connectingWalletAddress:W.address,isUnifiedWallet:S,entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>a.signMessage(e),onSuccess:e=>n(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),o(r.EmbeddedWalletConnectingScreen)})).finally((()=>{s.current=!1}))},signTypedData:async(e,t)=>{let a=P.current[h.current];if(!a)throw new n.PrivyClientError(`Smart wallet client for chain (eip155:${h.current}) not found`);return delete e.account,c({showWalletUIs:t?.uiOptions?.showWalletUIs})?(s.current=!0,await a.signTypedData(e).finally((()=>s.current=!1))):new Promise((async(n,i)=>{s.current=!0;let{entropyId:l,entropyIdVerifier:c}=r.getEntropyDetailsForUser(p);u({connectWallet:{recoveryMethod:W.recoveryMethod,connectingWalletAddress:W.address,isUnifiedWallet:S,entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>a.signTypedData(e),onSuccess:e=>n(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),o(r.EmbeddedWalletConnectingScreen)})).finally((()=>{s.current=!1}))},getChainId:F,chain:I,switchChain:x}}}};
1
+ "use strict";var e=require("react"),t=require("viem"),r=require("./privy-provider-DpLtwWp1.js"),n=require("./internal-context-VGU3duZo.js"),a=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),i=require("permissionless"),s=require("permissionless/accounts"),o=require("permissionless/clients/pimlico"),l=require("viem/account-abstraction"),c=require("@privy-io/js-sdk-core");let d={address:l.entryPoint06Address,version:"0.6"},u={address:l.entryPoint07Address,version:"0.7"},p=({owner:e,smartWalletType:t,publicClient:r})=>{switch(t){case c.SAFE:return s.toSafeSmartAccount({client:r,entryPoint:u,owners:[e],version:"1.4.1"});case c.KERNEL:return s.toEcdsaKernelSmartAccount({client:r,version:"0.3.1",entryPoint:u,owners:[e]});case c.BICONOMY:return s.toBiconomySmartAccount({client:r,owners:[e],entryPoint:d});case c.LIGHT_ACCOUNT:return s.toLightSmartAccount({client:r,entryPoint:d,owner:e,version:"1.1.0"});case c.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 l.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 c.THIRDWEB:return s.toThirdwebSmartAccount({client:r,entryPoint:u,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const y=({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}))),m=async({chain:e,paymasterContext:a,account:s,signer:l,user:c,smartWalletsConfig:d,rpcConfig:u,privyAppId:y})=>{if(!(d?.enabled&&c&&s&&l))return;let m=d?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!m)throw new n.PrivyClientError(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let g=c.smartWallet?.smartWalletType??d.smartWalletType,h=r.getJsonRpcEndpointFromChain(e,u,y),P=t.createPublicClient({chain:e,transport:t.http(h)}),f=a??m.paymasterContext,w=await(async({owner:e,smartWalletType:r,chain:n,publicClient:a,bundlerUrl:s,paymasterUrl:l,paymasterContext:c})=>{let d=await p({owner:e,smartWalletType:r,publicClient:a}),u=o.createPimlicoClient({transport:t.http(s),entryPoint:d.entryPoint}),y=l?o.createPimlicoClient({transport:t.http(l),entryPoint:d.entryPoint}):void 0;return i.createSmartAccountClient({account:d,chain:n,paymaster:y,paymasterContext:c,bundlerTransport:t.http(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await u.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await u.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.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=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:l,smartWalletType:g,chain:e,publicClient:P,paymasterContext:f,...m});if(!w)throw new n.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return w};exports.callsToTransactionRequests=y,exports.getSmartWalletClient=m,exports.useSmartWalletsUIWrapper=()=>{let{hideWalletUIs:e,openPrivyModal:t,isHeadlessSigning:a}=n.usePrivyInternal(),{setModalData:i}=r.usePrivyModal(),{user:s}=r.usePrivyContext(),o=r.getPrivyEthereumWallet(s),l=!!o&&r.getIsUnifiedWallet(o);return{wrapSmartAccountClientWithUIs:n=>({...n,sendTransaction:async(c,d)=>{if(a({showWalletUIs:d?.uiOptions?.showWalletUIs}))return e.current=!0,await n.sendTransaction(c).finally((()=>e.current=!1));let u=[];"calls"in c&&void 0!==c.calls?u=[...c.calls]:"to"in c&&(u=[{to:c.to,value:c.value||BigInt(0),data:c.data||"0x"}]);let p=async()=>{if(!n.paymaster)return!1;let{paymasterAndData:e,paymasterData:t}=await n.prepareUserOperation({calls:u,maxFeePerGas:c.maxFeePerGas,maxPriorityFeePerGas:c.maxPriorityFeePerGas,nonce:c.nonce?BigInt(c.nonce):void 0});return Number(e??t??0)>0};return new Promise((async(a,m)=>{e.current=!0;let{entropyId:g,entropyIdVerifier:h}=r.getEntropyDetailsForUser(s);i({connectWallet:{recoveryMethod:o.recoveryMethod,connectingWalletAddress:o.address,isUnifiedWallet:l,entropyId:g,entropyIdVerifier:h,onCompleteNavigateTo:r.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:y({calls:u,chain:n.chain,maxPriorityFeePerGas:c.maxPriorityFeePerGas,maxFeePerGas:c.maxFeePerGas,nonce:c.nonce?BigInt(c.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:n.account.address,entropyId:g,entropyIdVerifier:h,getIsSponsored:p,signOnly:!1,onConfirm:()=>n.sendTransaction(c),onSuccess:e=>a(e.hash),onFailure:m,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))},signMessage:async(c,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await n.signMessage(c).finally((()=>e.current=!1))):new Promise((async(a,u)=>{let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(s);e.current=!0,i({connectWallet:{recoveryMethod:o.recoveryMethod,connectingWalletAddress:o.address,isUnifiedWallet:l,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof c.message?c.message:c.message.raw.toString(),confirmAndSign:()=>n.signMessage(c),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1})),signTypedData:async(c,d)=>a({showWalletUIs:d?.uiOptions?.showWalletUIs})?(e.current=!0,await n.signTypedData(c).finally((()=>e.current=!1))):new Promise((async(a,u)=>{e.current=!0;let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(s);i({connectWallet:{recoveryMethod:o.recoveryMethod,connectingWalletAddress:o.address,isUnifiedWallet:l,entropyId:p,entropyIdVerifier:y,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:c,confirmAndSign:()=>n.signTypedData(c),onSuccess:e=>a(e),onFailure:u,uiOptions:d?.uiOptions??{}}}),t(r.EmbeddedWalletConnectingScreen)})).finally((()=>{e.current=!1}))})}},exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:i})=>{let{hideWalletUIs:s,openPrivyModal:o,appId:l,isHeadlessSigning:c}=n.usePrivyInternal(),d=r.useAppConfig(),{setModalData:u}=r.usePrivyModal(),{user:p}=r.usePrivyContext(),{chains:g}=r.useAppConfig(),{chainId:h,clients:P,setChainId:f,chainIdState:w}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),I=g.find((e=>e.id===w)),{wallets:v}=r.useWallets(),W=r.getPrivyEthereumWallet(p),C=a.getEmbeddedConnectedWallet(v),S=!!W&&r.getIsUnifiedWallet(W),F=e.useCallback((async()=>h.current),[h]),x=e.useCallback((async({id:e})=>{if(!P.current[e]){let r=await m({chain:g.find((t=>t.id===e)),account:W,signer:await(C?.getEthereumProvider()),user:p,paymasterContext:t?.paymasterContext,smartWalletsConfig:i,rpcConfig:d.rpcConfig,privyAppId:l});r&&(P.current[e]=r)}f(e)}),[g,t,v,p,i]);return{wrapSmartAccountClient:e=>{P.current[e.chain.id]=e,w||f(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let a=P.current[h.current];if(!a)throw new n.PrivyClientError(`Smart wallet client for chain (eip155:${h.current}) not found`);if(delete e.account,c({showWalletUIs:t?.uiOptions?.showWalletUIs}))return s.current=!0,await a.sendTransaction(e).finally((()=>s.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 l=async()=>{let{paymasterAndData:t,paymasterData:r,maxFeePerGas:n,maxPriorityFeePerGas:s}=await a.prepareUserOperation({calls:i,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return 0===Number(n)&&0===Number(s)||Number(t??r??0)>0};return new Promise((async(n,c)=>{s.current=!0;let{entropyId:d,entropyIdVerifier:m}=r.getEntropyDetailsForUser(p);u({connectWallet:{recoveryMethod:W.recoveryMethod,connectingWalletAddress:W.address,isUnifiedWallet:S,entropyId:d,entropyIdVerifier:m,onCompleteNavigateTo:r.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:y({calls:i,chain:a.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:a.account.address,entropyId:d,entropyIdVerifier:m,getIsSponsored:l,signOnly:!1,onConfirm:()=>a.sendTransaction(e),onSuccess:e=>n(e.hash),onFailure:c,uiOptions:t?.uiOptions??{}}}),o(r.EmbeddedWalletConnectingScreen)})).finally((()=>{s.current=!1}))},signMessage:async(e,t)=>{let a=P.current[h.current];if(!a)throw new n.PrivyClientError(`Smart wallet client for chain (eip155:${h.current}) not found`);return c({showWalletUIs:t?.uiOptions?.showWalletUIs})?(s.current=!0,await a.signMessage(e).finally((()=>s.current=!1))):new Promise((async(n,i)=>{let{entropyId:l,entropyIdVerifier:c}=r.getEntropyDetailsForUser(p);s.current=!0,u({connectWallet:{recoveryMethod:W.recoveryMethod,connectingWalletAddress:W.address,isUnifiedWallet:S,entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>a.signMessage(e),onSuccess:e=>n(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),o(r.EmbeddedWalletConnectingScreen)})).finally((()=>{s.current=!1}))},signTypedData:async(e,t)=>{let a=P.current[h.current];if(!a)throw new n.PrivyClientError(`Smart wallet client for chain (eip155:${h.current}) not found`);return delete e.account,c({showWalletUIs:t?.uiOptions?.showWalletUIs})?(s.current=!0,await a.signTypedData(e).finally((()=>s.current=!1))):new Promise((async(n,i)=>{s.current=!0;let{entropyId:l,entropyIdVerifier:c}=r.getEntropyDetailsForUser(p);u({connectWallet:{recoveryMethod:W.recoveryMethod,connectingWalletAddress:W.address,isUnifiedWallet:S,entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:r.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>a.signTypedData(e),onSuccess:e=>n(e),onFailure:i,uiOptions:t?.uiOptions??{}}}),o(r.EmbeddedWalletConnectingScreen)})).finally((()=>{s.current=!1}))},getChainId:F,chain:I,switchChain:x}}}};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./privy-provider-CmQLEp8p.js"),o=require("./internal-context-VGU3duZo.js"),t=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),n=require("./smart-wallets-BP8g2d_R.js");require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("viem"),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/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),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 c=/*#__PURE__*/r.createContext({client:void 0,getClientForChain:o.notImplemented});let a=/*#__PURE__*/r.createContext({config:void 0}),l=()=>{let{config:e}=r.useContext(a);return{config:e}},s=({children:i})=>{let[t,n]=r.useState(void 0),{client:c}=o.usePrivyInternal();return r.useEffect((()=>{!t&&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.jsx(a.Provider,{value:{config:t},children:i})},u=({config:c,children:a})=>{let{config:s}=l(),{appId:u}=o.usePrivyInternal(),{chains:d,defaultChain:q,rpcConfig:C}=i.useAppConfig(),{wallets:g}=i.useWallets(),{user:I}=i.usePrivyContext(),[m,f]=r.useState(),{wrapSmartAccountClientWithUIs:p}=n.useSmartWalletsUIWrapper(),v=i.getPrivyEthereumWallet(I),w=t.getEmbeddedConnectedWallet(g);r.useEffect((()=>{(async()=>{if(!s?.enabled)return;let e=s.configuredNetworks.find((e=>e.chainId===`eip155:${q.id}`))?q:d.find((e=>s.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.");f(await n.getSmartWalletClient({chain:e,privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s}))})()}),[!!s?.enabled,!!I?.smartWallet,!!w,!!v]);/*#__PURE__*/return e.jsx(h.Provider,{value:{client:m,config:c,getClientForChain:async({id:e})=>{let r=await n.getSmartWalletClient({chain:d.find((r=>r.id===e)),privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s});if(!r)throw new o.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return p(r)}},children:a})},h=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:o.notImplemented}),d=({children:t})=>{let{client:a,config:s,getClientForChain:u}=(()=>{let{client:e,config:i,getClientForChain:o}=r.useContext(h);return{client:e,config:i,getClientForChain:o}})(),{config:d}=l(),{wrapSmartAccountClient:q}=n.useSmartWalletsWrapper({clientConfig:s,smartWalletsConfig:d}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:I,hideWalletUIs:m}=o.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(a&&C&&!C?.smartWallet&&d?.enabled)try{let e=await g({address:a.account.address,chainId:`eip155:${a.chain.id}`});m.current=!0;let r=await a.signMessage({message:e});await I({signature:r,message:e,smartWalletType:d.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{m.current=!1}})()}),[!!a,!!C?.smartWallet,!!d?.enabled]),/*#__PURE__*/e.jsx(c.Provider,{value:{client:C?.smartWallet&&a?q(a):void 0,getClientForChain:u},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(s,{children:/*#__PURE__*/e.jsx(u,{config:r,children:/*#__PURE__*/e.jsx(d,{children:i})})}),exports.useSmartWallets=()=>{let{client:e,getClientForChain:i}=r.useContext(c);return{client:e,getClientForChain:i}};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./privy-provider-DpLtwWp1.js"),o=require("./internal-context-VGU3duZo.js"),t=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),n=require("./smart-wallets-CyyUPhfI.js");require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("viem"),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/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),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 c=/*#__PURE__*/r.createContext({client:void 0,getClientForChain:o.notImplemented});let a=/*#__PURE__*/r.createContext({config:void 0}),l=()=>{let{config:e}=r.useContext(a);return{config:e}},s=({children:i})=>{let[t,n]=r.useState(void 0),{client:c}=o.usePrivyInternal();return r.useEffect((()=>{!t&&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.jsx(a.Provider,{value:{config:t},children:i})},u=({config:c,children:a})=>{let{config:s}=l(),{appId:u}=o.usePrivyInternal(),{chains:d,defaultChain:q,rpcConfig:C}=i.useAppConfig(),{wallets:g}=i.useWallets(),{user:I}=i.usePrivyContext(),[m,f]=r.useState(),{wrapSmartAccountClientWithUIs:p}=n.useSmartWalletsUIWrapper(),v=i.getPrivyEthereumWallet(I),w=t.getEmbeddedConnectedWallet(g);r.useEffect((()=>{(async()=>{if(!s?.enabled)return;let e=s.configuredNetworks.find((e=>e.chainId===`eip155:${q.id}`))?q:d.find((e=>s.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.");f(await n.getSmartWalletClient({chain:e,privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s}))})()}),[!!s?.enabled,!!I?.smartWallet,!!w,!!v]);/*#__PURE__*/return e.jsx(h.Provider,{value:{client:m,config:c,getClientForChain:async({id:e})=>{let r=await n.getSmartWalletClient({chain:d.find((r=>r.id===e)),privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s});if(!r)throw new o.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return p(r)}},children:a})},h=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:o.notImplemented}),d=({children:t})=>{let{client:a,config:s,getClientForChain:u}=(()=>{let{client:e,config:i,getClientForChain:o}=r.useContext(h);return{client:e,config:i,getClientForChain:o}})(),{config:d}=l(),{wrapSmartAccountClient:q}=n.useSmartWalletsWrapper({clientConfig:s,smartWalletsConfig:d}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:I,hideWalletUIs:m}=o.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(a&&C&&!C?.smartWallet&&d?.enabled)try{let e=await g({address:a.account.address,chainId:`eip155:${a.chain.id}`});m.current=!0;let r=await a.signMessage({message:e});await I({signature:r,message:e,smartWalletType:d.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{m.current=!1}})()}),[!!a,!!C?.smartWallet,!!d?.enabled]),/*#__PURE__*/e.jsx(c.Provider,{value:{client:C?.smartWallet&&a?q(a):void 0,getClientForChain:u},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(s,{children:/*#__PURE__*/e.jsx(u,{config:r,children:/*#__PURE__*/e.jsx(d,{children:i})})}),exports.useSmartWallets=()=>{let{client:e,getClientForChain:i}=r.useContext(c);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-CmQLEp8p.js"),i=require("react"),s=require("./internal-context-VGU3duZo.js"),o=require("@solana/web3.js"),a=require("eventemitter3"),c=require("@scure/base"),l=require("./useFundWallet-CKPFgbuL.js");function u(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("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/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),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("@solana/spl-token");var d=/*#__PURE__*/u(a);let h=r=>r.filter((n=>e.isWalletAdapterCompatibleStandardWallet(n)&&!(n.features["privy:"]&&"isPrivyWallet"in n&&n.isPrivyWallet))).map((e=>new n.StandardWalletAdapter({wallet:e})));const g=["solana:mainnet","solana:devnet","solana:testnet"];function p(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 v(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var A=0,y="__private_"+A+++"__implementation";class f extends d.default{setImplementation(e){v(this,y)[y]=e}async signMessage(e,n){return v(this,y)[y].signMessage(e,n)}async signAndSendTransaction(e,n,r,t){return v(this,y)[y].signAndSendTransaction(e,n,r,t)}async signTransaction(e,n,r,t){return v(this,y)[y].signTransaction(e,n,r,t)}constructor(e){super(),Object.defineProperty(this,y,{writable:!0,value:void 0}),v(this,y)[y]=e}}function w(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var q=0;function b(e){return"__private_"+q+++"_"+e}var I=/*#__PURE__*/b("_address"),m=/*#__PURE__*/b("_publicKey"),P=/*#__PURE__*/b("_chains"),S=/*#__PURE__*/b("_features"),T=/*#__PURE__*/b("_label"),C=/*#__PURE__*/b("_icon");class j{get address(){return w(this,I)[I]}get publicKey(){return w(this,m)[m].slice()}get chains(){return w(this,P)[P].slice()}get features(){return w(this,S)[S].slice()}get label(){return w(this,T)[T]}get icon(){return w(this,C)[C]}constructor({address:e,publicKey:n,label:r,icon:t}){Object.defineProperty(this,I,{writable:!0,value:void 0}),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}),w(this,I)[I]=e,w(this,m)[m]=n,w(this,P)[P]=g,w(this,T)[T]=r,w(this,C)[C]=t,w(this,S)[S]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===j&&Object.freeze(this)}}function W(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var E=0;function O(e){return"__private_"+E+++"_"+e}var M=/*#__PURE__*/O("_listeners"),_=/*#__PURE__*/O("_version"),k=/*#__PURE__*/O("_name"),x=/*#__PURE__*/O("_icon"),B=/*#__PURE__*/O("_injection"),D=/*#__PURE__*/O("_isPrivyWallet"),F=/*#__PURE__*/O("_accounts"),U=/*#__PURE__*/O("_on"),V=/*#__PURE__*/O("_emit"),K=/*#__PURE__*/O("_off"),R=/*#__PURE__*/O("_connected"),Q=/*#__PURE__*/O("_connect"),G=/*#__PURE__*/O("_disconnect"),J=/*#__PURE__*/O("_signMessage"),z=/*#__PURE__*/O("_signAndSendTransaction"),L=/*#__PURE__*/O("_signTransaction");function Y(e,...n){W(this,M)[M][e]?.forEach((e=>e.apply(null,n)))}function H(e,n){W(this,M)[M][e]=W(this,M)[M][e]?.filter((e=>n!==e))}function N(e){let n=t.useAppConfig(),{getAccessToken:r,user:i}=t.usePrivy(),{setModalData:o}=t.usePrivyModal(),{isHeadlessSigning:a,openModal:c,walletProxy:l,recoverEmbeddedWallet:u,privy:d}=s.usePrivyInternal(),h=t.useEmitPrivyEvent(),{signWithUserSigner:g}=t.useSignWithUserSigner();return t.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:s,uiOptions:p,transactionOptions:v,address:A})=>{let{signedTransaction:y}=await t.signOrSendSolanaTransactionInternal({privy:d,appConfig:n,getAccessToken:r,isHeadlessSigning:a,emitPrivyEvent:h,setModalData:o,openModal:c,walletProxy:l,user:i,recoverEmbeddedWallet:u,signWithUserSigner:g},{transaction:e,connection:s,transactionOptions:v,uiOptions:p,address:A,signOnly:!0});return y}}}let Z=new f({signTransaction:s.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:s.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:s.notImplementedWithMessage("signMessage was not injected")}),X=new class{get version(){return W(this,_)[_]}get name(){return W(this,k)[k]}get icon(){return W(this,x)[x]}get chains(){return g.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:W(this,Q)[Q]},"standard:disconnect":{version:"1.0.0",disconnect:W(this,G)[G]},"standard:events":{version:"1.0.0",on:W(this,U)[U]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:W(this,z)[z]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:W(this,L)[L]},"solana:signMessage":{version:"1.0.0",signMessage:W(this,J)[J]},"privy:":{privy:{signMessage:W(this,B)[B].signMessage,signTransaction:W(this,B)[B].signTransaction,signAndSendTransaction:W(this,B)[B].signAndSendTransaction}}}}get accounts(){return W(this,F)[F].slice()}get isPrivyWallet(){return W(this,D)[D]}constructor({name:e,icon:n,version:r,injection:i,wallets:s}){Object.defineProperty(this,V,{value:Y}),Object.defineProperty(this,K,{value:H}),Object.defineProperty(this,M,{writable:!0,value:void 0}),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,R,{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}),W(this,M)[M]={},W(this,U)[U]=(e,n)=>(W(this,M)[M][e]?.push(n)||(W(this,M)[M][e]=[n]),()=>W(this,K)[K](e,n)),W(this,R)[R]=e=>{null!=e&&(W(this,F)[F]=e.map((({address:e})=>new j({address:e,publicKey:c.base58.decode(e)})))),W(this,V)[V]("change",{accounts:this.accounts})},W(this,Q)[Q]=async()=>(W(this,V)[V]("change",{accounts:this.accounts}),{accounts:this.accounts}),W(this,G)[G]=async()=>{W(this,V)[V]("change",{accounts:this.accounts})},W(this,J)[J]=async(...e)=>{let n=[];for(let{message:r,account:t}of e){let{signature:e}=await W(this,B)[B].signMessage(r,t.address);n.push({signedMessage:r,signature:e})}return n},W(this,z)[z]=async(...e)=>{let n=[];for(let{transaction:r,account:t,options:i,chain:s}of e){let{signature:e}=await W(this,B)[B].signAndSendTransaction(o.VersionedTransaction.deserialize(r),t.address,p(s||"solana:mainnet"),i);n.push({signature:c.base58.decode(e)})}return n},W(this,L)[L]=async(...e)=>{let n=[];for(let{transaction:r,account:i,options:s,chain:a}of e){let e=await W(this,B)[B].signTransaction(o.VersionedTransaction.deserialize(r),i.address,p(a||"solana:mainnet"),s),c=t.isVersionedTransaction(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}));n.push({signedTransaction:c})}return n},W(this,k)[k]=e,W(this,x)[x]=n,W(this,_)[_]=r,W(this,B)[B]=i,W(this,F)[F]=[],W(this,D)[D]=!0,i.on("accountChanged",W(this,R)[R],this),W(this,R)[R](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:Z});function $(){let{solanaClusters:e}=t.useAppConfig(),{ready:n}=t.useWallets(),{user:r}=t.usePrivy(),{signMessage:s}=t.useSignMessage(),{signTransaction:a}=N(),{sendTransaction:c}=t.useSendTransaction(),l=i.useMemo((()=>{let e=[...t.getPrivySolanaHDWallets(r).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],n=t.getImportedPrivySolanaWallet(r);return n?[...e,n]:e}),[r]),u=i.useMemo((()=>({signMessage:async(e,n)=>({signature:await s({message:e,options:{address:n}})}),async signTransaction(n,r,t){let i=new o.Connection(e[t].rpcUrl);return await a({transaction:n,address:r,connection:i})},async signAndSendTransaction(n,r,t,i){let s=new o.Connection(e[t].rpcUrl),{signature:a}=await c({transaction:n,connection:s,address:r,transactionOptions:i});return{signature:a}}})),[s,a,c,e]);return i.useEffect((()=>{Z?.setImplementation(u)}),[u]),i.useEffect((()=>{var e;!n||(e=X.accounts).length===l.length&&e.every(((e,n)=>e.address===l[n]?.address))||Z?.emit("accountChanged",l)}),[n,l]),{ready:n,wallet:X}}var ee={id:t.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:n})=>{let r=t.prepareSiwsMessageWithNonce({address:e,nonce:n}),i=new o.Transaction,s=new o.TransactionInstruction({keys:[{pubkey:new o.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new o.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(r,"utf-8")});return i.add(s),i.feePayer=new o.PublicKey(e),i.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",i.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>o.Transaction.from(t.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=t.SolanaWalletConnector,exports.useSendTransaction=t.useSendTransaction,exports.useSignMessage=t.useSignMessage,exports.useSolanaWallets=t.useSolanaWallets,exports.useFundWallet=l.useFundWallet,exports.toSolanaWalletConnectors=e=>{let n,{get:i,on:s}=r.getWallets(),o=e?.shouldAutoConnect??!0,a=new Map,c=[];function l(...e){h(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 h(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}=t.usePrivyContext(),{refreshSessionAndUser:r,initializeWalletProxy:o}=s.usePrivyInternal(),a=t.useEmitPrivyEvent();return{importWallet:i.useCallback((({privateKey:i})=>t.importWallet({getAccessToken:e,user:n,initializeWalletProxy:o,refreshSessionAndUser:r,emitPrivyEvent:a},{privateKey:i,chainType:"solana"})),[n,e,r,o,a])}},exports.usePrivyStandardWallet=$,exports.useSignTransaction=N,exports.useSolanaFundingPlugin=()=>t.useRegisterPlugin(l.t),exports.useSolanaLedgerPlugin=()=>t.useRegisterPlugin(ee),exports.useSolanaStandardWallets=function(){let{client:e}=s.usePrivyInternal(),{ready:n,wallet:r}=$(),[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-DpLtwWp1.js"),i=require("react"),s=require("./internal-context-VGU3duZo.js"),o=require("@solana/web3.js"),a=require("eventemitter3"),c=require("@scure/base"),l=require("./useFundWallet-L2oYACw8.js");function u(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("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/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),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("@solana/spl-token");var d=/*#__PURE__*/u(a);let h=r=>r.filter((n=>e.isWalletAdapterCompatibleStandardWallet(n)&&!(n.features["privy:"]&&"isPrivyWallet"in n&&n.isPrivyWallet))).map((e=>new n.StandardWalletAdapter({wallet:e})));const g=["solana:mainnet","solana:devnet","solana:testnet"];function p(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 v(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var A=0,y="__private_"+A+++"__implementation";class f extends d.default{setImplementation(e){v(this,y)[y]=e}async signMessage(e,n){return v(this,y)[y].signMessage(e,n)}async signAndSendTransaction(e,n,r,t){return v(this,y)[y].signAndSendTransaction(e,n,r,t)}async signTransaction(e,n,r,t){return v(this,y)[y].signTransaction(e,n,r,t)}constructor(e){super(),Object.defineProperty(this,y,{writable:!0,value:void 0}),v(this,y)[y]=e}}function w(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var q=0;function b(e){return"__private_"+q+++"_"+e}var I=/*#__PURE__*/b("_address"),m=/*#__PURE__*/b("_publicKey"),P=/*#__PURE__*/b("_chains"),S=/*#__PURE__*/b("_features"),T=/*#__PURE__*/b("_label"),C=/*#__PURE__*/b("_icon");class j{get address(){return w(this,I)[I]}get publicKey(){return w(this,m)[m].slice()}get chains(){return w(this,P)[P].slice()}get features(){return w(this,S)[S].slice()}get label(){return w(this,T)[T]}get icon(){return w(this,C)[C]}constructor({address:e,publicKey:n,label:r,icon:t}){Object.defineProperty(this,I,{writable:!0,value:void 0}),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}),w(this,I)[I]=e,w(this,m)[m]=n,w(this,P)[P]=g,w(this,T)[T]=r,w(this,C)[C]=t,w(this,S)[S]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===j&&Object.freeze(this)}}function W(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var E=0;function O(e){return"__private_"+E+++"_"+e}var M=/*#__PURE__*/O("_listeners"),_=/*#__PURE__*/O("_version"),k=/*#__PURE__*/O("_name"),x=/*#__PURE__*/O("_icon"),B=/*#__PURE__*/O("_injection"),D=/*#__PURE__*/O("_isPrivyWallet"),F=/*#__PURE__*/O("_accounts"),U=/*#__PURE__*/O("_on"),V=/*#__PURE__*/O("_emit"),K=/*#__PURE__*/O("_off"),R=/*#__PURE__*/O("_connected"),Q=/*#__PURE__*/O("_connect"),G=/*#__PURE__*/O("_disconnect"),J=/*#__PURE__*/O("_signMessage"),z=/*#__PURE__*/O("_signAndSendTransaction"),L=/*#__PURE__*/O("_signTransaction");function Y(e,...n){W(this,M)[M][e]?.forEach((e=>e.apply(null,n)))}function H(e,n){W(this,M)[M][e]=W(this,M)[M][e]?.filter((e=>n!==e))}function N(e){let n=t.useAppConfig(),{getAccessToken:r,user:i}=t.usePrivy(),{setModalData:o}=t.usePrivyModal(),{isHeadlessSigning:a,openModal:c,walletProxy:l,recoverEmbeddedWallet:u,privy:d}=s.usePrivyInternal(),h=t.useEmitPrivyEvent(),{signWithUserSigner:g}=t.useSignWithUserSigner();return t.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:s,uiOptions:p,transactionOptions:v,address:A})=>{let{signedTransaction:y}=await t.signOrSendSolanaTransactionInternal({privy:d,appConfig:n,getAccessToken:r,isHeadlessSigning:a,emitPrivyEvent:h,setModalData:o,openModal:c,walletProxy:l,user:i,recoverEmbeddedWallet:u,signWithUserSigner:g},{transaction:e,connection:s,transactionOptions:v,uiOptions:p,address:A,signOnly:!0});return y}}}let Z=new f({signTransaction:s.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:s.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:s.notImplementedWithMessage("signMessage was not injected")}),X=new class{get version(){return W(this,_)[_]}get name(){return W(this,k)[k]}get icon(){return W(this,x)[x]}get chains(){return g.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:W(this,Q)[Q]},"standard:disconnect":{version:"1.0.0",disconnect:W(this,G)[G]},"standard:events":{version:"1.0.0",on:W(this,U)[U]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:W(this,z)[z]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:W(this,L)[L]},"solana:signMessage":{version:"1.0.0",signMessage:W(this,J)[J]},"privy:":{privy:{signMessage:W(this,B)[B].signMessage,signTransaction:W(this,B)[B].signTransaction,signAndSendTransaction:W(this,B)[B].signAndSendTransaction}}}}get accounts(){return W(this,F)[F].slice()}get isPrivyWallet(){return W(this,D)[D]}constructor({name:e,icon:n,version:r,injection:i,wallets:s}){Object.defineProperty(this,V,{value:Y}),Object.defineProperty(this,K,{value:H}),Object.defineProperty(this,M,{writable:!0,value:void 0}),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,R,{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}),W(this,M)[M]={},W(this,U)[U]=(e,n)=>(W(this,M)[M][e]?.push(n)||(W(this,M)[M][e]=[n]),()=>W(this,K)[K](e,n)),W(this,R)[R]=e=>{null!=e&&(W(this,F)[F]=e.map((({address:e})=>new j({address:e,publicKey:c.base58.decode(e)})))),W(this,V)[V]("change",{accounts:this.accounts})},W(this,Q)[Q]=async()=>(W(this,V)[V]("change",{accounts:this.accounts}),{accounts:this.accounts}),W(this,G)[G]=async()=>{W(this,V)[V]("change",{accounts:this.accounts})},W(this,J)[J]=async(...e)=>{let n=[];for(let{message:r,account:t}of e){let{signature:e}=await W(this,B)[B].signMessage(r,t.address);n.push({signedMessage:r,signature:e})}return n},W(this,z)[z]=async(...e)=>{let n=[];for(let{transaction:r,account:t,options:i,chain:s}of e){let{signature:e}=await W(this,B)[B].signAndSendTransaction(o.VersionedTransaction.deserialize(r),t.address,p(s||"solana:mainnet"),i);n.push({signature:c.base58.decode(e)})}return n},W(this,L)[L]=async(...e)=>{let n=[];for(let{transaction:r,account:i,options:s,chain:a}of e){let e=await W(this,B)[B].signTransaction(o.VersionedTransaction.deserialize(r),i.address,p(a||"solana:mainnet"),s),c=t.isVersionedTransaction(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}));n.push({signedTransaction:c})}return n},W(this,k)[k]=e,W(this,x)[x]=n,W(this,_)[_]=r,W(this,B)[B]=i,W(this,F)[F]=[],W(this,D)[D]=!0,i.on("accountChanged",W(this,R)[R],this),W(this,R)[R](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:Z});function $(){let{solanaClusters:e}=t.useAppConfig(),{ready:n}=t.useWallets(),{user:r}=t.usePrivy(),{signMessage:s}=t.useSignMessage(),{signTransaction:a}=N(),{sendTransaction:c}=t.useSendTransaction(),l=i.useMemo((()=>{let e=[...t.getPrivySolanaHDWallets(r).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],n=t.getImportedPrivySolanaWallet(r);return n?[...e,n]:e}),[r]),u=i.useMemo((()=>({signMessage:async(e,n)=>({signature:await s({message:e,options:{address:n}})}),async signTransaction(n,r,t){let i=new o.Connection(e[t].rpcUrl);return await a({transaction:n,address:r,connection:i})},async signAndSendTransaction(n,r,t,i){let s=new o.Connection(e[t].rpcUrl),{signature:a}=await c({transaction:n,connection:s,address:r,transactionOptions:i});return{signature:a}}})),[s,a,c,e]);return i.useEffect((()=>{Z?.setImplementation(u)}),[u]),i.useEffect((()=>{var e;!n||(e=X.accounts).length===l.length&&e.every(((e,n)=>e.address===l[n]?.address))||Z?.emit("accountChanged",l)}),[n,l]),{ready:n,wallet:X}}var ee={id:t.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:n})=>{let r=t.prepareSiwsMessageWithNonce({address:e,nonce:n}),i=new o.Transaction,s=new o.TransactionInstruction({keys:[{pubkey:new o.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new o.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(r,"utf-8")});return i.add(s),i.feePayer=new o.PublicKey(e),i.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",i.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>o.Transaction.from(t.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=t.SolanaWalletConnector,exports.useSendTransaction=t.useSendTransaction,exports.useSignMessage=t.useSignMessage,exports.useSolanaWallets=t.useSolanaWallets,exports.useFundWallet=l.useFundWallet,exports.toSolanaWalletConnectors=e=>{let n,{get:i,on:s}=r.getWallets(),o=e?.shouldAutoConnect??!0,a=new Map,c=[];function l(...e){h(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 h(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}=t.usePrivyContext(),{refreshSessionAndUser:r,initializeWalletProxy:o}=s.usePrivyInternal(),a=t.useEmitPrivyEvent();return{importWallet:i.useCallback((({privateKey:i})=>t.importWallet({getAccessToken:e,user:n,initializeWalletProxy:o,refreshSessionAndUser:r,emitPrivyEvent:a},{privateKey:i,chainType:"solana"})),[n,e,r,o,a])}},exports.usePrivyStandardWallet=$,exports.useSignTransaction=N,exports.useSolanaFundingPlugin=()=>t.useRegisterPlugin(l.t),exports.useSolanaLedgerPlugin=()=>t.useRegisterPlugin(ee),exports.useSolanaStandardWallets=function(){let{client:e}=s.usePrivyInternal(),{ready:n,wallet:r}=$(),[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}};