@privy-io/react-auth 2.24.0-beta-20250829191935 → 2.24.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("./use-sign-with-user-signer-mIruAdfm.js"),n=require("./privy-provider-DvBetfj7.js"),a=require("./paths-B00ZrFQm.js"),i=require("./internal-context-B_aIJuQh.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,smartWalletVersion:r,publicClient:n})=>{switch(t){case u.SAFE:return l.toSafeSmartAccount({client:n,entryPoint:y,owners:[e],version:"1.4.1"});case u.KERNEL:return l.toKernelSmartAccount({client:n,version:"0.3.1",entryPoint:y,useMetaFactory:"optional",owners:[e]});case u.BICONOMY:return l.toBiconomySmartAccount({client:n,owners:[e],entryPoint:p});case u.LIGHT_ACCOUNT:return l.toLightSmartAccount({client:n,entryPoint:p,owner:e,version:"1.1.0"});case u.COINBASE_SMART_WALLET:return async function({client:e,owner:t,version:r}){let[n]=await t.request({method:"eth_accounts"});if(!n)throw Error("Unable to request embedded owner for eth_accounts");return await d.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:n,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}],version:r})}({client:n,owner:e,version:r??"1"});case u.THIRDWEB:return l.toThirdwebSmartAccount({client:n,entryPoint:y,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const g=({calls:e,chain:t,maxPriorityFeePerGas:r,maxFeePerGas:n,nonce:a})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:a,maxFeePerGas:n,maxPriorityFeePerGas:r}))),h=async({chain:e,paymasterContext: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?l.smartWallet.smartWalletType:d.smartWalletType,h=l.smartWallet?l.smartWallet.smartWalletVersion:d.smartWalletVersion,P=n.getJsonRpcEndpointFromChain(e,u,p),f=t.createPublicClient({chain:e,transport:t.http(P)}),w=r??y.paymasterContext,I=await(async({owner:e,smartWalletType:r,smartWalletVersion:n,chain:a,publicClient:i,bundlerUrl:s,paymasterUrl:l,paymasterContext:d})=>{let u=await m({owner:e,smartWalletType:r,publicClient:i,smartWalletVersion:n}),p=c.createPimlicoClient({transport:t.http(s),entryPoint:u.entryPoint}),y=l?c.createPimlicoClient({transport:t.http(l),entryPoint:u.entryPoint}):void 0;return o.createSmartAccountClient({account:u,chain:a,paymaster:y,paymasterContext:d,bundlerTransport:t.http(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await p.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await p.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.includes(e)))){let[e,t]=await Promise.all([i.getBlock({blockTag:"latest"}),p.request({method:"rundler_maxPriorityFeePerGas",params:[]})]);if(!e.baseFeePerGas||!t)throw Error("Failed to get block or maxPriorityFeePerGasEstimate");return{maxFeePerGas:150n*e.baseFeePerGas/100n+BigInt(t.toString()),maxPriorityFeePerGas:BigInt(t.toString())}}{let e=await i.estimateFeesPerGas(),t=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:g,smartWalletVersion:h,chain:e,publicClient:f,paymasterContext:w,...y});if(!I)throw new a.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return I};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:W}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),v=P.find((e=>e.id===W)),{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,W||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:v,switchChain:U}}}};
1
+ "use strict";var e=require("react"),t=require("viem"),r=require("./use-sign-with-user-signer-mIruAdfm.js"),n=require("./privy-provider-Cc-fBpNe.js"),a=require("./paths-B00ZrFQm.js"),i=require("./internal-context-B_aIJuQh.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,smartWalletVersion:r,publicClient:n})=>{switch(t){case u.SAFE:return l.toSafeSmartAccount({client:n,entryPoint:y,owners:[e],version:"1.4.1"});case u.KERNEL:return l.toKernelSmartAccount({client:n,version:"0.3.1",entryPoint:y,useMetaFactory:"optional",owners:[e]});case u.BICONOMY:return l.toBiconomySmartAccount({client:n,owners:[e],entryPoint:p});case u.LIGHT_ACCOUNT:return l.toLightSmartAccount({client:n,entryPoint:p,owner:e,version:"1.1.0"});case u.COINBASE_SMART_WALLET:return async function({client:e,owner:t,version:r}){let[n]=await t.request({method:"eth_accounts"});if(!n)throw Error("Unable to request embedded owner for eth_accounts");return await d.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:n,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}],version:r})}({client:n,owner:e,version:r??"1"});case u.THIRDWEB:return l.toThirdwebSmartAccount({client:n,entryPoint:y,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const g=({calls:e,chain:t,maxPriorityFeePerGas:r,maxFeePerGas:n,nonce:a})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:a,maxFeePerGas:n,maxPriorityFeePerGas:r}))),h=async({chain:e,paymasterContext: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?l.smartWallet.smartWalletType:d.smartWalletType,h=l.smartWallet?l.smartWallet.smartWalletVersion:d.smartWalletVersion,P=n.getJsonRpcEndpointFromChain(e,u,p),f=t.createPublicClient({chain:e,transport:t.http(P)}),w=r??y.paymasterContext,I=await(async({owner:e,smartWalletType:r,smartWalletVersion:n,chain:a,publicClient:i,bundlerUrl:s,paymasterUrl:l,paymasterContext:d})=>{let u=await m({owner:e,smartWalletType:r,publicClient:i,smartWalletVersion:n}),p=c.createPimlicoClient({transport:t.http(s),entryPoint:u.entryPoint}),y=l?c.createPimlicoClient({transport:t.http(l),entryPoint:u.entryPoint}):void 0;return o.createSmartAccountClient({account:u,chain:a,paymaster:y,paymasterContext:d,bundlerTransport:t.http(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await p.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await p.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.includes(e)))){let[e,t]=await Promise.all([i.getBlock({blockTag:"latest"}),p.request({method:"rundler_maxPriorityFeePerGas",params:[]})]);if(!e.baseFeePerGas||!t)throw Error("Failed to get block or maxPriorityFeePerGasEstimate");return{maxFeePerGas:150n*e.baseFeePerGas/100n+BigInt(t.toString()),maxPriorityFeePerGas:BigInt(t.toString())}}{let e=await i.estimateFeesPerGas(),t=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:g,smartWalletVersion:h,chain:e,publicClient:f,paymasterContext:w,...y});if(!I)throw new a.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return I};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:W}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),v=P.find((e=>e.id===W)),{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,W||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:v,switchChain:U}}}};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./use-sign-with-user-signer-mIruAdfm.js"),t=require("./privy-provider-DvBetfj7.js"),n=require("./paths-B00ZrFQm.js"),o=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),c=require("./smart-wallets-BxzUj4XV.js"),a=require("./internal-context-B_aIJuQh.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("zustand"),require("@headlessui/react"),require("lucide-react"),require("@walletconnect/ethereum-provider"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),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/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/outline/ClockIcon"),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,n]=r.useState(void 0),{client:o}=a.usePrivyInternal();return r.useEffect((()=>{!t&&o&&(async()=>{try{if(!o)return void console.warn("No client found");let e=await o.getSmartWalletsConfig();n(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!o]),/*#__PURE__*/e.jsx(s.Provider,{value:{config:t},children:i})},d=({config:l,children:s})=>{let{config:h}=u(),{appId:d}=a.usePrivyInternal(),{chains:C,defaultChain:g,rpcConfig:m}=t.useAppConfig(),{wallets:I}=t.useWallets(),{user:f}=i.usePrivyContext(),[p,v]=r.useState(),{wrapSmartAccountClientWithUIs:w}=c.useSmartWalletsUIWrapper(),y=i.getPrivyEthereumWallet(f),W=o.getEmbeddedConnectedWallet(I);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 n.PrivyClientError("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");v(await c.getSmartWalletClient({chain:e,privyAppId:d,paymasterContext:l?.paymasterContext,rpcConfig:m,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:m,account:y,signer:await(W?.getEthereumProvider()),user:f,smartWalletsConfig:h});if(!r)throw new n.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return w(r)}},children:s})},q=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:a.notImplemented}),C=({children:t})=>{let{client:n,config:o,getClientForChain:s}=(()=>{let{client:e,config:i,getClientForChain:t}=r.useContext(q);return{client:e,config:i,getClientForChain:t}})(),{config:h}=u(),{wrapSmartAccountClient:d}=c.useSmartWalletsWrapper({clientConfig:o,smartWalletsConfig:h}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:m,hideWalletUIs:I}=a.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(n&&C&&!C?.smartWallet&&h?.enabled)try{let e=await g({address:n.account.address,chainId:`eip155:${n.chain.id}`});I.current=!0;let r=await n.signMessage({message:e});await m({signature:r,message:e,smartWalletType:h.smartWalletType,smartWalletVersion:h.smartWalletVersion})}catch(e){console.error("Error creating smart wallet:",e)}finally{I.current=!1}})()}),[!!n,!!C?.smartWallet,!!h?.enabled]),/*#__PURE__*/e.jsx(l.Provider,{value:{client:C?.smartWallet&&n?d(n):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-mIruAdfm.js"),t=require("./privy-provider-Cc-fBpNe.js"),n=require("./paths-B00ZrFQm.js"),o=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),c=require("./smart-wallets-TcsJ7a-J.js"),a=require("./internal-context-B_aIJuQh.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("zustand"),require("@headlessui/react"),require("lucide-react"),require("@walletconnect/ethereum-provider"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),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/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/outline/ClockIcon"),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,n]=r.useState(void 0),{client:o}=a.usePrivyInternal();return r.useEffect((()=>{!t&&o&&(async()=>{try{if(!o)return void console.warn("No client found");let e=await o.getSmartWalletsConfig();n(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!o]),/*#__PURE__*/e.jsx(s.Provider,{value:{config:t},children:i})},d=({config:l,children:s})=>{let{config:h}=u(),{appId:d}=a.usePrivyInternal(),{chains:C,defaultChain:g,rpcConfig:m}=t.useAppConfig(),{wallets:I}=t.useWallets(),{user:f}=i.usePrivyContext(),[p,v]=r.useState(),{wrapSmartAccountClientWithUIs:w}=c.useSmartWalletsUIWrapper(),y=i.getPrivyEthereumWallet(f),W=o.getEmbeddedConnectedWallet(I);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 n.PrivyClientError("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");v(await c.getSmartWalletClient({chain:e,privyAppId:d,paymasterContext:l?.paymasterContext,rpcConfig:m,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:m,account:y,signer:await(W?.getEthereumProvider()),user:f,smartWalletsConfig:h});if(!r)throw new n.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return w(r)}},children:s})},q=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:a.notImplemented}),C=({children:t})=>{let{client:n,config:o,getClientForChain:s}=(()=>{let{client:e,config:i,getClientForChain:t}=r.useContext(q);return{client:e,config:i,getClientForChain:t}})(),{config:h}=u(),{wrapSmartAccountClient:d}=c.useSmartWalletsWrapper({clientConfig:o,smartWalletsConfig:h}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:m,hideWalletUIs:I}=a.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(n&&C&&!C?.smartWallet&&h?.enabled)try{let e=await g({address:n.account.address,chainId:`eip155:${n.chain.id}`});I.current=!0;let r=await n.signMessage({message:e});await m({signature:r,message:e,smartWalletType:h.smartWalletType,smartWalletVersion:h.smartWalletVersion})}catch(e){console.error("Error creating smart wallet:",e)}finally{I.current=!1}})()}),[!!n,!!C?.smartWallet,!!h?.enabled]),/*#__PURE__*/e.jsx(l.Provider,{value:{client:C?.smartWallet&&n?d(n):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("react"),n=require("./privy-provider-DvBetfj7.js"),t=require("./internal-context-B_aIJuQh.js"),r=require("./use-sign-with-user-signer-mIruAdfm.js"),a=require("./paths-B00ZrFQm.js"),i=require("react/jsx-runtime"),o=require("@privy-io/js-sdk-core"),s=require("@solana/kit"),c=require("eventemitter3"),l=require("@scure/base"),u=require("./useFundWallet-DIA0rzqo.js"),d=require("@solana/web3.js"),p=require("@solana/wallet-adapter-base"),m=require("@solana/wallet-standard-wallet-adapter-base"),g=require("@wallet-standard/app");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("mipd"),require("react-device-detect"),require("viem/utils"),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("zustand"),require("@headlessui/react"),require("lucide-react"),require("@walletconnect/ethereum-provider"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),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/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("@solana/spl-token");var f=/*#__PURE__*/h(c);let y=e=>e.filter((e=>p.isWalletAdapterCompatibleStandardWallet(e)&&!(e.features["privy:"]&&"isPrivyWallet"in e&&e.isPrivyWallet))).map((e=>new m.StandardWalletAdapter({wallet:e})));function w(e){return new Uint8Array(s.getTransactionDecoder().decode(e).messageBytes)}const v="11111111111111111111111111111111",A=["CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C","CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"],b=["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"],S={"solana:mainnet":{EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v:{symbol:"USDC",decimals:6,address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB:{symbol:"USDT",decimals:6,address:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"},So11111111111111111111111111111111111111112:{symbol:"SOL",decimals:9,address:"So11111111111111111111111111111111111111112"}},"solana:devnet":{"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU":{symbol:"USDC",decimals:6,address:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"},EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS:{symbol:"USDT",decimals:6,address:"EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS"},So11111111111111111111111111111111111111112:{symbol:"SOL",decimals:9,address:"So11111111111111111111111111111111111111112"}},"solana:testnet":{}};async function T({privyClient:e,chain:n,mint:t}){let r=S[n];if(!r[t]){let a=await e.getSplTokenMetadata({mintAddress:t,cluster:function(e){switch(e){case"solana:mainnet":return"mainnet-beta";case"solana:devnet":return"devnet";case"solana:testnet":return"testnet"}}(n)});a&&(r[t]={address:t,symbol:a.symbol,decimals:a.decimals})}return r[t]}async function I({solanaClient:e,tx:n,replaceRecentBlockhash:t}){let{value:r}=await e.rpc.simulateTransaction(s.getBase64Decoder().decode(n),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:t}).send();if("BlockhashNotFound"===r.err&&t)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===r.err?await I({solanaClient:e,tx:n,replaceRecentBlockhash:!0}):{logs:r.logs,hasError:!!r.err,hasFunds:r.logs?.every((e=>!/insufficient funds/gi.test(e)&&!/insufficient lamports/gi.test(e)))??!0}}async function C({tx:e,solanaClient:t,privyClient:r,checkFunds:a}){let i=s.getCompiledTransactionMessageDecoder().decode(w(e)),o=i.staticAccounts[0]??"",c=await async function({solanaClient:e,tx:n}){let t=s.getBase64Decoder().decode(w(n)),{value:r}=await e.rpc.getFeeForMessage(t).send();return r??0n}({solanaClient:t,tx:e}),l=a?await n.attempt(I({solanaClient:t,tx:e})):void 0,u=l?.hasFunds??!0,d={},p=[],m=await async function({solanaClient:e,message:n}){if(!("addressTableLookups"in n)||!n.addressTableLookups)return[...n.staticAccounts];let t=n.addressTableLookups.map((e=>e.lookupTableAddress)),r=await s.fetchAddressesForLookupTables(t,e.rpc),a=t.map(((e,t)=>[...n.addressTableLookups[t]?.writableIndexes.map((n=>{let a=r[e]?.[n];if(a)return{key:a,isWritable:!0,altIdx:t}}))??[],...n.addressTableLookups[t]?.readonlyIndexes.map((n=>{let a=r[e]?.[n];if(a)return{key:a,isWritable:!1,altIdx:t}}))??[]])).flat().filter((e=>!!e)).sort(((e,n)=>e.isWritable!==n.isWritable?e.isWritable?-1:1:e.altIdx-n.altIdx)).map((({key:e})=>e));return[...n.staticAccounts,...a]}({solanaClient:t,message:i});for(let e of i.instructions){let a=i.staticAccounts[e.programAddressIndex]||"";if("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"!==a&&"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"!==a)if(a!==v){if("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"===a){let t=await n.attempt(function(e,n,t){let[r,a,i,o]=e.accountIndices?.map((e=>n[e]))??[];return{type:"ata-creation",program:t,payer:r,ata:a,owner:i,mint:o}}(e,m,a));if(!t){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}if(p.push(t),t.ata&&t.owner&&t.mint){d[t.ata]={owner:t.owner,mint:t.mint};continue}}if(A.includes(a)){let i=await n.attempt(O(e,m,t,r,a));if(!i){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(i)}else if(b.includes(a)){let i=await n.attempt(W(e,m,t,r,a));if(!i){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(i)}else p.push({type:"unknown",program:a,discriminator:e.data?.[0]})}else{let t=await n.attempt(k(e,m));if(!t){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(t)}else{let i=await n.attempt(P(e,m,t,r,d,a));if(!i){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(i),"spl-transfer"===i.type&&(i.fromAta&&i.fromAccount&&i.token.address&&(d[i.fromAta]??={owner:i.fromAccount,mint:i.token.address}),i.toAta&&i.toAccount&&i.token.address&&(d[i.toAta]??={owner:i.toAccount,mint:i.token.address}))}}return{spender:o,fee:c,instructions:p,hasFunds:!!u}}function E(e,t=0){try{return n.readBigInt64LEFromUint8Array(e,t)}catch{}try{return e.readBigInt64LE(t)}catch{}let r=n.bufferFrom(e);try{return n.readBigInt64LE(r)}catch{}try{return r.subarray(t).readBigInt64LE()}catch{}try{return r.readBigInt64LE(t)}catch{}return 0n}async function P(e,n,t,r,a,i){let o=e.data?.[0],s=e.accountIndices?.map((e=>n[e]))??[];if(1===o){let[e,n,t]=s;return{type:"spl-init-account",program:i,account:e,mint:n,owner:t}}if(3===o){let n,o,[c,l,u]=s,d="",p=l?a[l]:void 0;if(p)n=p.owner,d=p.mint;else if(l){let e=await t.rpc.getAccountInfo(l,{commitment:"confirmed",encoding:"jsonParsed"}).send(),r=e.value?.data;n=r?.parsed?.info?.owner,d=r?.parsed?.info?.mint??"",o=r?.parsed?.info?.tokenAmount?.decimals}if(!d&&c){let e=await t.rpc.getAccountInfo(c,{commitment:"confirmed",encoding:"jsonParsed"}).send(),n=e.value?.data;d=n?.parsed?.info?.mint??""}let m=await T({privyClient:r,chain:t.chain,mint:d}),g=m?.symbol??"";return o??=m?.decimals??9,{type:"spl-transfer",program:i,fromAta:c,fromAccount:u,toAta:l,toAccount:n,value:E(e.data,1),token:{symbol:g,decimals:o,address:d}}}if(9===o){let[e,n,t]=s;return{type:"spl-close-account",program:i,source:e,destination:n,owner:t}}if(17===o)return{type:"spl-sync-native",program:i};throw Error(`Token program instruction type ${o} not supported`)}async function k(e,n){let t=e.data?.[0],r=e.accountIndices?.map((e=>n[e]))??[];if(0===t){let[,n]=r;return{type:"create-account",program:v,account:n?.toString(),value:E(e.data,4),withSeed:!1}}if(2===t){let[n,t]=r;return{type:"sol-transfer",program:v,fromAccount:n,toAccount:t,token:{symbol:"SOL",decimals:9},value:E(e.data,4),withSeed:!1}}if(3===t){let[,n]=r;return{type:"create-account",program:v,account:n,withSeed:!0,value:E(e.data.slice(e.data.length-32-8-8))}}if(11===t){let[n,t]=r;return{type:"sol-transfer",program:v,fromAccount:n,toAccount:t,value:E(e.data,4),token:{symbol:"SOL",decimals:9},withSeed:!0}}throw Error(`System program instruction type ${t} not supported`)}async function O(e,n,t,r,a){let i=e.accountIndices?.map((e=>n[e]))??[],o=e.data?.[0];if(143===o){let n=i[10],o=i[11];return{type:"raydium-swap-base-input",program:a,mintIn:n,mintOut:o,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:o?await T({privyClient:r,chain:t.chain,mint:o}):void 0,amountIn:E(e.data,8),minimumAmountOut:E(e.data,16)}}if(55===o){let n=i[10],o=i[11];return{type:"raydium-swap-base-output",program:a,mintIn:n,mintOut:o,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:o?await T({privyClient:r,chain:t.chain,mint:o}):void 0,maxAmountIn:E(e.data,8),amountOut:E(e.data,16)}}throw Error(`Raydium swap program instruction type ${o} not supported`)}async function W(e,n,t,r,a){let i=e.data?.[0],o=e.accountIndices?.map((e=>n[e]))??[];if([208,51,239,151,123,43,237,92].includes(i)){let n=o[5],i=o[6];return{type:"jupiter-swap-exact-out-route",program:a,mintIn:n,mintOut:i,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:i?await T({privyClient:r,chain:t.chain,mint:i}):void 0,outAmount:E(e.data,e.data.length-1-2-8-8),quotedInAmount:E(e.data,e.data.length-1-2-8)}}if([176,209,105,168,154,125,69,62].includes(i)){let n=o[7],i=o[8];return{type:"jupiter-swap-exact-out-route",program:a,mintIn:n,mintOut:i,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:i?await T({privyClient:r,chain:t.chain,mint:i}):void 0,outAmount:E(e.data,e.data.length-1-2-8-8),quotedInAmount:E(e.data,e.data.length-1-2-8)}}if([193,32,155,51,65,214,156,129].includes(i)){let n=o[7],i=o[8];return{type:"jupiter-swap-shared-accounts-route",program:a,mintIn:n,mintOut:i,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:i?await T({privyClient:r,chain:t.chain,mint:i}):void 0,inAmount:E(e.data,e.data.length-1-2-8-8),quotedOutAmount:E(e.data,e.data.length-1-2-8)}}throw[62,198,214,193,213,159,108,210].includes(i)&&console.warn("Jupiter swap program instruction 'claim' not implemented"),[116,206,27,191,166,19,0,73].includes(i)&&console.warn("Jupiter swap program instruction 'claim_token' not implemented"),[26,74,236,151,104,64,183,249].includes(i)&&console.warn("Jupiter swap program instruction 'close_token' not implemented"),[229,194,212,172,8,10,134,147].includes(i)&&console.warn("Jupiter swap program instruction 'create_open_orders' not implemented"),[28,226,32,148,188,136,113,171].includes(i)&&console.warn("Jupiter swap program instruction 'create_program_open_orders' not implemented"),[232,242,197,253,240,143,129,52].includes(i)&&console.warn("Jupiter swap program instruction 'create_token_ledger' not implemented"),[147,241,123,100,244,132,174,118].includes(i)&&console.warn("Jupiter swap program instruction 'create_token_account' not implemented"),[229,23,203,151,122,227,173,42].includes(i)&&console.warn("Jupiter swap program instruction 'route' not implemented"),[150,86,71,116,167,93,14,104].includes(i)&&console.warn("Jupiter swap program instruction 'route_with_token_ledger' not implemented"),[228,85,185,112,78,79,77,2].includes(i)&&console.warn("Jupiter swap program instruction 'set_token_ledger' not implemented"),[230,121,143,80,119,159,106,170].includes(i)&&console.warn("Jupiter swap program instruction 'shared_accounts_route_with_token_ledger' not implemented"),Error(`Jupiter swap program instruction type ${i} not supported`)}function q(){let t=n.useAppConfig(),r=e.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((e=>[e,t.solanaRpcs[e]?function({rpc:e,rpcSubscriptions:t,chain:r,blockExplorerUrl:a}){let i=function({rpc:e,rpcSubscriptions:t}){return async r=>new Promise((async(a,i)=>{try{let o=await e.sendTransaction(n.bufferFrom(r).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send(),c=new AbortController,l=await t.signatureNotifications(o,{commitment:"confirmed"}).subscribe({abortSignal:c.signal}),u=await Promise.race([new Promise((e=>{setTimeout((()=>{c.abort(),e(Error("Transaction confirmation timed out"))}),1e4)})),new Promise((async e=>{for await(let n of l){if(c.abort(),n.value.err)return e(Error("Transaction confirmation failed"));e({signature:new Uint8Array(s.getBase58Encoder().encode(o))})}}))]);return u instanceof Error?i(u):a(u)}catch(e){i(e)}}))}({rpc:e,rpcSubscriptions:t});return{rpc:e,rpcSubscriptions:t,chain:r,blockExplorerUrl:a,sendAndConfirmTransaction:i}}({chain:e,rpc:t.solanaRpcs[e].rpc,rpcSubscriptions:t.solanaRpcs[e].rpcSubscriptions,blockExplorerUrl:t.solanaRpcs[e].blockExplorerUrl??`https://explorer.solana.com?cluster=${e.replace("solana:","")}`}):null])))),[t.solanaRpcs]);return e.useCallback((e=>{if(!r[e])throw Error(`No RPC configuration found for chain ${e}`);return r[e]}),[r])}const M={component:()=>{let{data:a,onUserCloseViaDialogOrKeybindRef:c,setModalData:l,navigate:u}=n.usePrivyModal(),{client:d,closePrivyModal:p,walletProxy:m,showFiatPrices:g}=t.usePrivyInternal(),h=n.useAppConfig(),{user:f}=r.usePrivyContext(),y=q()(a?.standardSignAndSendTransaction?.chain??"solana:mainnet"),[v,A]=e.useState(a?.standardSignAndSendTransaction?.transaction),[b,S]=e.useState(),[T,I]=e.useState(),[E,P]=e.useState({value:0n,isLoading:!1}),[k,O]=e.useState(!1),[W,M]=e.useState({}),[x,F]=e.useState(),_=a?.standardSignAndSendTransaction?.account,U=!!a?.standardSignAndSendTransaction?.signOnly,D=_?.imported?r.getImportedPrivySolanaWallet(f):r.getPrivyPrimaryWallet(f),{solPrice:j,isSolPriceLoading:B}=n.useGetSolPrice({enabled:g}),L=e.useMemo((()=>{if(!b)return;let e=b.spender,t=n.getNativeCurrencyFromLamports(b.fee),r=n.getNativeCurrencyFromLamports(E.value,3,!0),a=b.instructions.filter((e=>["sol-transfer","spl-transfer","raydium-swap-base-input","raydium-swap-base-output","jupiter-swap-shared-accounts-route","jupiter-swap-exact-out-route"].includes(e.type))),i=a.at(0);if(!i||a.length>1)return{fee:t,spender:e,balance:r};if("sol-transfer"===i.type)return{fee:t,spender:e,balance:r,total:n.getNativeCurrencyFromLamports(i.value)};if("spl-transfer"===i.type)return{fee:t,spender:e,balance:r,total:`${o.formatTokenAmount({amount:i.value,decimals:i.token.decimals})} ${i.token.symbol}`};if("raydium-swap-base-input"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.amountIn,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.minimumAmountOut,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}if("raydium-swap-base-output"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.maxAmountIn,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.amountOut,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}if("jupiter-swap-shared-accounts-route"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.inAmount,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.quotedOutAmount,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}if("jupiter-swap-exact-out-route"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.quotedInAmount,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.outAmount,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}return{fee:t,spender:e,balance:r}}),[b,_?.address,E]),N=e.useMemo((()=>{let e;if(!b||!g||!j||B)return;function t(...e){return n.getDollarsFromLamport(e.reduce(((e,n)=>e+n),0n),j??0)}_?.address===b.spender&&(e=t(b.fee));let r=t(E.value),a=b.instructions.filter((e=>"sol-transfer"===e.type||"spl-transfer"===e.type)).at(0);return!a||b.instructions.length>1?{fee:e,balance:r}:"sol-transfer"===a.type?{fee:e,balance:r,total:t(a.value,_?.address===b.spender?b.fee:0n)}:"spl-transfer"===a.type?{fee:e,balance:r,total:`${o.formatTokenAmount({amount:a.value,decimals:a.token.decimals})} ${a.token.symbol}`}:{fee:e,balance:r}}),[b,g,j,B,_?.address,E]);if(e.useEffect((()=>{!async function(){if(v&&d)try{I(void 0);let e=await C({tx:v,solanaClient:y,privyClient:d,checkFunds:!U});S(e)}catch(e){console.error("Failed to prepare transaction",e),I(e)}}()}),[v,y,d,U]),e.useEffect((()=>{(async function(){if(!_)return;P({value:E.value,isLoading:!0});let{value:e}=await y.rpc.getBalance(_.address,{commitment:"confirmed"}).send();P({value:e??0n,isLoading:!1})})().catch(console.error)}),[b]),!v||!a?.standardSignAndSendTransaction||!_){let e=Error("Invalid transaction request");/*#__PURE__*/return i.jsx(n.ErrorScreenView,{error:e,allowlistConfig:h.allowlistConfig,onRetry:()=>{a?.standardSignAndSendTransaction?.onFailure(e),p({shouldCallAuthOnSuccess:!1})}})}let R=()=>{if(!k)return W.signature||W.signedTransaction?a?.standardSignAndSendTransaction?.onSuccess({signature:W.signature,signedTransaction:W.signedTransaction}):a?.standardSignAndSendTransaction?.onFailure(x??T??Error("User exited the modal before submitting the transaction")),p({shouldCallAuthOnSuccess:!1})};c.current=R;let V=a.standardSignAndSendTransaction?.uiOptions?.transactionInfo?.contractInfo?.imgUrl?/*#__PURE__*/i.jsx("img",{src:a.standardSignAndSendTransaction.uiOptions.transactionInfo.contractInfo.imgUrl,alt:a.standardSignAndSendTransaction.uiOptions.transactionInfo.contractInfo.imgAltText}):null,J=!!(a.funding&&a.funding.supportedOptions.length>0),$=!b?.hasFunds&&J;if(W.signature||W.signedTransaction){let e=b?.instructions.filter((e=>"sol-transfer"===e.type||"spl-transfer"===e.type)),t=1===e?.length?e?.at(0):void 0;/*#__PURE__*/return i.jsx(n.SolanaTransactionReceiptView,{fees:W.fees??0n,onClose:R,transactionInfo:a.standardSignAndSendTransaction?.uiOptions.transactionInfo,solPrice:j,receiptHeader:a.standardSignAndSendTransaction?.uiOptions.successHeader,receiptDescription:a.standardSignAndSendTransaction?.uiOptions.successDescription,rpcEndpoint:y.blockExplorerUrl,signOnly:U,instruction:"sol-transfer"===t?.type?{to:t.toAccount,amount:t.value}:{to:t?.toAccount||t?.toAta,total:L?.total}})}return x?/*#__PURE__*/i.jsx(n.TransactionErrorView,{transactionError:x,rpcEndpoint:y.blockExplorerUrl,onClose:R,network:"solana",onRetry:async()=>{F(void 0);let{value:e}=await y.rpc.getLatestBlockhash().send();A(function(e,n){return s.pipe(s.getCompiledTransactionMessageDecoder().decode(w(e)),(e=>s.decompileTransactionMessage(e)),(e=>s.setTransactionMessageLifetimeUsingBlockhash(n,e)),(e=>s.compileTransaction(e)),(e=>new Uint8Array(s.getTransactionEncoder().encode(e))))}(v,e))}}):/*#__PURE__*/i.jsx(n.SendSolanaTransactionScreenView,{img:V,title:a.standardSignAndSendTransaction?.uiOptions?.transactionInfo?.title||"Confirm transaction",subtitle:a.standardSignAndSendTransaction?.uiOptions?.description||`${h.name} wants your permission to approve the following transaction.`,cta:$?"Add funds":a.standardSignAndSendTransaction?.uiOptions?.buttonText||"Approve",instructions:b?.instructions??[],network:"solana:mainnet"==y.chain?"Solana":y.chain.replace("solana:",""),blockExplorerUrl:y.blockExplorerUrl,total:g?N?.total:L?.total,fee:g?N?.fee:L?.fee,balance:g?N?.balance:L?.balance,swap:L?.swap,transactingWalletAddress:_.address,disabled:!b?.hasFunds&&!J,isSubmitting:k,isPreparing:!b||E.isLoading,isTokenPriceLoading:g&&B,isMissingFunds:!b?.hasFunds,submitError:x??void 0,parseError:T,onClick:$?async()=>{if(_){if(!J)throw Error("Funding wallet is not enabled");l({...a,funding:{...a.funding,methodScreen:n.FundingMethodSelectionScreen}}),u(n.FundingMethodSelectionScreen)}}:async()=>{try{if(O(!0),k||!_||!m||!f||!D)return;let e=await a.standardSignAndSendTransaction.onConfirm(v);if("signature"in e){let n=await async function({solanaClient:e,signature:n}){let t=s.getBase58Decoder().decode(n),r=await e.rpc.getTransaction(t,{maxSupportedTransactionVersion:0,commitment:"confirmed",encoding:"base64"}).send().catch((()=>null));return r?{fee:r.meta?.fee??0n}:null}({solanaClient:y,signature:e.signature});return void M({...e,fees:n?.fee})}M(e)}catch(e){console.warn({transaction:v,error:e}),F(e)}finally{O(!1)}},onClose:R})}};function x(e,n,t){let r=structuredClone(s.getTransactionDecoder().decode(e)),a=s.address(n);return a in r.signatures&&(r.signatures[a]=t),new Uint8Array(s.getTransactionEncoder().encode(r))}function F(){let{isHeadlessSigning:e,walletProxy:i,initializeWalletProxy:s,recoverEmbeddedWallet:c,openModal:l,privy:u,client:d}=t.usePrivyInternal(),{user:p}=n.usePrivy(),{setModalData:m}=n.usePrivyModal(),{signWithUserSigner:g}=r.useSignWithUserSigner();return{signMessage:({message:t,address:h,options:f})=>new Promise((async(y,w)=>{let v=r.getPrivyWalletWithAddress(p,h);if("privy"!==v?.walletClientType)return void w(new a.PrivyClientError("Wallet is not a Privy wallet",void 0,a.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:A,entropyIdVerifier:b}=n.getEntropyDetailsForUser(p,v),S=r.getIsUnifiedWallet(v),T=n.bufferFrom(t).toString("base64");if(T.length<1)return void w(new a.PrivyClientError("Message must be a non-empty string",void 0,a.PrivyErrorCode.INVALID_MESSAGE));let I=async()=>{let e;if(!p)throw Error("User must be authenticated before signing with a Privy wallet");let n=await d.getAccessToken();if(!n)throw Error("User must be authenticated to use their embedded wallet.");let t=i??await s(15e3);if(!t)throw Error("Failed to initialize embedded wallet proxy.");if(!await c({address:v.address}))throw Error("Unable to connect to wallet");if(S){let n=await o.rpc(u,g,{chain_type:"solana",method:"signMessage",params:{message:T,encoding:"base64"},wallet_id:v.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:r}=await t.rpc({accessToken:n,entropyId:A,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:v.walletIndex??0,requesterAppId:f?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:T}}});e=r.data.signature}return e};if(e({showWalletUIs:f?.uiOptions?.showWalletUIs}))try{let e=await I(),t=new Uint8Array(n.bufferFrom(e,"base64"));y({signature:t})}catch(e){w(e)}else m({signMessage:{method:"solana_signMessage",data:T,confirmAndSign:I,onSuccess:e=>{y({signature:new Uint8Array(n.bufferFrom(e,"base64"))})},onFailure:e=>{w(e)},uiOptions:f?.uiOptions??{}},connectWallet:{recoveryMethod:v.recoveryMethod,connectingWalletAddress:v.address,entropyId:A,entropyIdVerifier:b,isUnifiedWallet:S,onCompleteNavigateTo:n.SignRequestScreen,onFailure:e=>{w(new a.PrivyClientError("Failed to connect to wallet",e,a.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))}}}),l(n.EmbeddedWalletConnectingScreen)}))}}function _(){let{isHeadlessSigning:e,openModal:i}=t.usePrivyInternal(),{setModalData:o}=n.usePrivyModal(),{signMessage:s}=F(),{user:c}=n.usePrivy();return{signTransaction:async({transaction:t,options:l,chain:u="solana:mainnet",address:d})=>{async function p(e){let{signature:n}=await s({message:w(e),address:d,options:{...l,uiOptions:{...l?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:x(e,d,n)}}return e({showWalletUIs:l?.uiOptions?.showWalletUIs})?p(t):new Promise((async(e,s)=>{let m=r.getPrivyWalletWithAddress(c,d);if("privy"!==m?.walletClientType)return void s(new a.PrivyClientError("Wallet is not a Privy wallet",void 0,a.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:g,entropyIdVerifier:h}=n.getEntropyDetailsForUser(c,m),f=r.getIsUnifiedWallet(m);function y(e){return n=>{n instanceof a.PrivyClientError?s(n):s(new a.PrivyClientError("Failed to connect to wallet",n,e))}}let w={account:m,transaction:t,chain:u,signOnly:!0,uiOptions:l?.uiOptions||{},onConfirm:p,onSuccess:e,onFailure:y(a.PrivyErrorCode.TRANSACTION_FAILURE)};o({connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,entropyId:g,entropyIdVerifier:h,isUnifiedWallet:f,onCompleteNavigateTo:M,onFailure:y(a.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:w}),i(n.EmbeddedWalletConnectingScreen)}))}}}const U=["solana:mainnet","solana:devnet","solana:testnet"];function D(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var j=0,B="__private_"+j+++"__implementation";class L extends f.default{setImplementation(e){D(this,B)[B]=e}async signMessage(e){return D(this,B)[B].signMessage(e)}async signAndSendTransaction(e){return D(this,B)[B].signAndSendTransaction(e)}async signTransaction(e){return D(this,B)[B].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,B,{writable:!0,value:void 0}),D(this,B)[B]=e}}function N(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var R=0;function V(e){return"__private_"+R+++"_"+e}var J=/*#__PURE__*/V("_address"),$=/*#__PURE__*/V("_publicKey"),G=/*#__PURE__*/V("_chains"),K=/*#__PURE__*/V("_features"),H=/*#__PURE__*/V("_label"),Q=/*#__PURE__*/V("_icon");class Y{get address(){return N(this,J)[J]}get publicKey(){return N(this,$)[$].slice()}get chains(){return N(this,G)[G].slice()}get features(){return N(this,K)[K].slice()}get label(){return N(this,H)[H]}get icon(){return N(this,Q)[Q]}constructor({address:e,publicKey:n,label:t,icon:r}){Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),N(this,J)[J]=e,N(this,$)[$]=n,N(this,G)[G]=U,N(this,H)[H]=t,N(this,Q)[Q]=r,N(this,K)[K]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===Y&&Object.freeze(this)}}function Z(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var z=0;function X(e){return"__private_"+z+++"_"+e}var ee=/*#__PURE__*/X("_listeners"),ne=/*#__PURE__*/X("_version"),te=/*#__PURE__*/X("_name"),re=/*#__PURE__*/X("_icon"),ae=/*#__PURE__*/X("_injection"),ie=/*#__PURE__*/X("_isPrivyWallet"),oe=/*#__PURE__*/X("_accounts"),se=/*#__PURE__*/X("_on"),ce=/*#__PURE__*/X("_emit"),le=/*#__PURE__*/X("_off"),ue=/*#__PURE__*/X("_connected"),de=/*#__PURE__*/X("_connect"),pe=/*#__PURE__*/X("_disconnect"),me=/*#__PURE__*/X("_signMessage"),ge=/*#__PURE__*/X("_signAndSendTransaction"),he=/*#__PURE__*/X("_signTransaction");function fe(e,...n){Z(this,ee)[ee][e]?.forEach((e=>e.apply(null,n)))}function ye(e,n){Z(this,ee)[ee][e]=Z(this,ee)[ee][e]?.filter((e=>n!==e))}let we=new L({signTransaction:t.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:t.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:t.notImplementedWithMessage("signMessage was not injected")}),ve=new class{get version(){return Z(this,ne)[ne]}get name(){return Z(this,te)[te]}get icon(){return Z(this,re)[re]}get chains(){return U.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:Z(this,de)[de]},"standard:disconnect":{version:"1.0.0",disconnect:Z(this,pe)[pe]},"standard:events":{version:"1.0.0",on:Z(this,se)[se]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:Z(this,ge)[ge]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:Z(this,he)[he]},"solana:signMessage":{version:"1.0.0",signMessage:Z(this,me)[me]},"privy:":{privy:{signMessage:Z(this,ae)[ae].signMessage,signTransaction:Z(this,ae)[ae].signTransaction,signAndSendTransaction:Z(this,ae)[ae].signAndSendTransaction}}}}get accounts(){return Z(this,oe)[oe].slice()}get isPrivyWallet(){return Z(this,ie)[ie]}constructor({name:e,icon:n,version:t,injection:r,wallets:a}){Object.defineProperty(this,ce,{value:fe}),Object.defineProperty(this,le,{value:ye}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,ae,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,ue,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),Object.defineProperty(this,pe,{writable:!0,value:void 0}),Object.defineProperty(this,me,{writable:!0,value:void 0}),Object.defineProperty(this,ge,{writable:!0,value:void 0}),Object.defineProperty(this,he,{writable:!0,value:void 0}),Z(this,ee)[ee]={},Z(this,se)[se]=(e,n)=>(Z(this,ee)[ee][e]?.push(n)||(Z(this,ee)[ee][e]=[n]),()=>Z(this,le)[le](e,n)),Z(this,ue)[ue]=e=>{null!=e&&(Z(this,oe)[oe]=e.map((({address:e})=>new Y({address:e,publicKey:l.base58.decode(e)})))),Z(this,ce)[ce]("change",{accounts:this.accounts})},Z(this,de)[de]=async()=>(Z(this,ce)[ce]("change",{accounts:this.accounts}),{accounts:this.accounts}),Z(this,pe)[pe]=async()=>{Z(this,ce)[ce]("change",{accounts:this.accounts})},Z(this,me)[me]=async(...e)=>{let n=[];for(let{account:t,...r}of e){let{signature:e}=await Z(this,ae)[ae].signMessage({...r,address:t.address});n.push({signedMessage:r.message,signature:e})}return n},Z(this,ge)[ge]=async(...e)=>{let n=[];for(let{transaction:t,account:r,options:a,chain:i}of e){let{signature:e}=await Z(this,ae)[ae].signAndSendTransaction({transaction:t,address:r.address,chain:i||"solana:mainnet",options:a});n.push({signature:e})}return n},Z(this,he)[he]=async(...e)=>{let n=[];for(let{transaction:t,account:r,options:a,chain:i}of e){let{signedTransaction:e}=await Z(this,ae)[ae].signTransaction({transaction:t,address:r.address,chain:i||"solana:mainnet",options:a});n.push({signedTransaction:e})}return n},Z(this,te)[te]=e,Z(this,re)[re]=n,Z(this,ne)[ne]=t,Z(this,ae)[ae]=r,Z(this,oe)[oe]=[],Z(this,ie)[ie]=!0,r.on("accountChanged",Z(this,ue)[ue],this),Z(this,ue)[ue](a)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:we});function Ae(){let{ready:i}=n.useWallets(),{user:o}=n.usePrivy(),{signMessage:s}=F(),{signTransaction:c}=_(),{signAndSendTransaction:l}=function(){let{isHeadlessSigning:e,openModal:i}=t.usePrivyInternal(),{setModalData:o}=n.usePrivyModal(),{signTransaction:s}=_(),c=q(),{user:l}=n.usePrivy();return{signAndSendTransaction:async({transaction:t,address:u,chain:d="solana:mainnet",options:p})=>{async function m(e){let{signedTransaction:n}=await s({transaction:e,address:u,chain:d,options:{...p,uiOptions:{...p?.uiOptions,showWalletUIs:!1}}}),{signature:t}=await c(d).sendAndConfirmTransaction(n);return{signature:t}}return e({showWalletUIs:p?.uiOptions?.showWalletUIs})?m(t):new Promise((async(e,s)=>{let c=r.getPrivyWalletWithAddress(l,u);if("privy"!==c?.walletClientType)return void s(new a.PrivyClientError("Wallet is not a Privy wallet",void 0,a.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:g,entropyIdVerifier:h}=n.getEntropyDetailsForUser(l,c),f=r.getIsUnifiedWallet(c);function y(e){return n=>{n instanceof a.PrivyClientError?s(n):s(new a.PrivyClientError("Failed to connect to wallet",n,e))}}let w={account:c,transaction:t,chain:d,signOnly:!1,uiOptions:p?.uiOptions||{},onConfirm:m,onSuccess:e,onFailure:y(a.PrivyErrorCode.TRANSACTION_FAILURE)};o({connectWallet:{recoveryMethod:c.recoveryMethod,connectingWalletAddress:c.address,entropyId:g,entropyIdVerifier:h,isUnifiedWallet:f,onCompleteNavigateTo:M,onFailure:y(a.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:w}),i(n.EmbeddedWalletConnectingScreen)}))}}}(),u=e.useMemo((()=>{let e=[...r.getPrivySolanaHDWallets(o).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],n=r.getImportedPrivySolanaWallet(o);return n?[...e,n]:e}),[o]),d=e.useMemo((()=>({signMessage:async({message:e,address:n,options:t})=>await s({message:e,address:n,options:t}),signTransaction:async({transaction:e,address:n,chain:t,options:r})=>await c({transaction:e,address:n,chain:t,options:r}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:r}){let{signature:a}=await l({transaction:e,address:n,chain:t,options:r});return{signature:a}}})),[s,c,l]);return e.useEffect((()=>{we?.setImplementation(d)}),[d]),e.useEffect((()=>{var e;!i||(e=ve.accounts).length===u.length&&e.every(((e,n)=>e.address===u[n]?.address))||we?.emit("accountChanged",u)}),[i,u]),{ready:i,wallet:ve}}function be(){let{client:n}=t.usePrivyInternal(),{ready:r,wallet:a}=Ae(),[i,o]=e.useState([]),[s,c]=e.useState([]);return e.useEffect((()=>{let e=[a,...i.filter((e=>"solana"===e.chainType&&!!e.wallet)).map((e=>e.wallet))];c(e);let n=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{n.forEach((e=>e?.()))}}),[i]),e.useEffect((()=>{if(!r)return;o(n.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let e=()=>{o(n.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return n.connectors?.on("connectorInitialized",e),()=>{n.connectors?.off("connectorInitialized",e)}}),[r,n.connectors]),{ready:r,wallets:s}}var Se={id:n.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:t})=>{let r=n.prepareSiwsMessageWithNonce({address:e,nonce:t}),a=new d.Transaction,i=new d.TransactionInstruction({keys:[{pubkey:new d.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new d.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(r,"utf-8")});return a.add(i),a.feePayer=new d.PublicKey(e),a.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",a.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>d.Transaction.from(n.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=n.SolanaWalletConnector,exports.useSendTransaction=n.useSendTransaction,exports.useSignMessage=n.useSignMessage,exports.useSolanaWallets=n.useSolanaWallets,exports.useFundWallet=u.useFundWallet,exports.toSolanaWalletConnectors=e=>{let t,{get:r,on:a}=g.getWallets(),i=e?.shouldAutoConnect??!0,o=new Map,s=[];function c(...e){y(e).forEach((e=>!o.has(e.wallet)&&o.set(e.wallet,e))),s=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,i))),t?.(s)}function l(...e){Array.from(o.keys()).forEach((n=>!e.includes(n)&&o.delete(n))),s=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,i))),t?.(s)}let u=[a("register",c),a("unregister",l)];return y(r()).forEach((e=>!o.has(e.wallet)&&o.set(e.wallet,e))),s=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,i))),{_setOnConnectorsUpdated:e=>{t=e},onMount:()=>{u[0]||(u[0]=a("register",c)),u[1]||(u[1]=a("unregister",l))},onUnmount:()=>{let e=u.pop();for(;e;)e(),e=u.pop()},get:()=>s}},exports.useConnectedStandardWallets=function(){let{ready:n,wallets:t}=be();return{ready:n,wallets:e.useMemo((()=>t.flatMap((e=>e.accounts.map((n=>new o.ConnectedStandardSolanaWallet({wallet:e,account:n})))))),[t])}},exports.useCreateWallet=function(){let{create:e}=n.useCreateWalletInternal();return{createWallet:async n=>{n&&"target"in n&&n&&(n=void 0);let{account:t}=await e({chainType:"solana",options:n});return{wallet:t}}}},exports.useExportWallet=function(){let{exportSolanaWallet:e}=t.usePrivyInternal();return{exportWallet:e}},exports.useImportWallet=()=>{let{user:a}=r.usePrivyContext(),{client:i,refreshSessionAndUser:o,initializeWalletProxy:s}=t.usePrivyInternal(),c=n.useEmitPrivyEvent(),l=n.useAppConfig();return{importWallet:e.useCallback((({privateKey:e})=>n.importWallet({getAccessToken:()=>i.getAccessToken(),user:a,initializeWalletProxy:s,refreshSessionAndUser:o,emitPrivyEvent:c,appConfig:l},{privateKey:e,chainType:"solana"})),[a,i,o,s,c])}},exports.usePrivyStandardWallet=Ae,exports.useSignTransaction=function(e){let a=n.useAppConfig(),{user:i}=n.usePrivy(),{setModalData:o}=n.usePrivyModal(),{client:s,isHeadlessSigning:c,openModal:l,walletProxy:u,recoverEmbeddedWallet:d,privy:p,solanaWallets:m}=t.usePrivyInternal(),g=n.useEmitPrivyEvent(),{signWithUserSigner:h}=r.useSignWithUserSigner();return n.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:t,uiOptions:r,transactionOptions:f,address:y})=>{let w=y?m.find((e=>e.address===y&&"privy"!==e.walletClientType)):void 0,{signedTransaction:v}=await n.signOrSendSolanaTransactionInternal({privy:p,appConfig:a,getAccessToken:()=>s.getAccessToken(),isHeadlessSigning:c,emitPrivyEvent:g,setModalData:o,openModal:l,walletProxy:u,user:i,recoverEmbeddedWallet:d,signWithUserSigner:h,connectedExternalWallet:w},{transaction:e,connection:t,transactionOptions:f,uiOptions:r,address:y,signOnly:!0});return v}}},exports.useSolanaFundingPlugin=()=>n.useRegisterPlugin(u.t),exports.useSolanaLedgerPlugin=()=>n.useRegisterPlugin(Se),exports.useSolanaStandardWallets=be,exports.useStandardSignAndSendTransaction=function(){return{signAndSendTransaction:async({transaction:e,wallet:n,chain:t="solana:mainnet",options:r})=>await n.signAndSendTransaction({transaction:e,chain:t,options:r})}},exports.useStandardSignMessage=function(){return{signMessage:async({message:e,wallet:n,options:t})=>await n.signMessage({message:e,options:t})}},exports.useStandardSignTransaction=function(){return{signTransaction:async({transaction:e,wallet:n,chain:t="solana:mainnet",options:r})=>await n.signTransaction({transaction:e,chain:t,options:r})}};
1
+ "use strict";var e=require("react"),n=require("./privy-provider-Cc-fBpNe.js"),t=require("./internal-context-B_aIJuQh.js"),r=require("./use-sign-with-user-signer-mIruAdfm.js"),a=require("./paths-B00ZrFQm.js"),i=require("react/jsx-runtime"),o=require("@privy-io/js-sdk-core"),s=require("@solana/kit"),c=require("eventemitter3"),l=require("@scure/base"),u=require("./useFundWallet-aHyY2NF8.js"),d=require("@solana/web3.js"),p=require("@solana/wallet-adapter-base"),m=require("@solana/wallet-standard-wallet-adapter-base"),g=require("@wallet-standard/app");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("mipd"),require("react-device-detect"),require("viem/utils"),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("zustand"),require("@headlessui/react"),require("lucide-react"),require("@walletconnect/ethereum-provider"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),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/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("@solana/spl-token");var f=/*#__PURE__*/h(c);let y=e=>e.filter((e=>p.isWalletAdapterCompatibleStandardWallet(e)&&!(e.features["privy:"]&&"isPrivyWallet"in e&&e.isPrivyWallet))).map((e=>new m.StandardWalletAdapter({wallet:e})));function w(e){return new Uint8Array(s.getTransactionDecoder().decode(e).messageBytes)}const v="11111111111111111111111111111111",A=["CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C","CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"],b=["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"],S={"solana:mainnet":{EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v:{symbol:"USDC",decimals:6,address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB:{symbol:"USDT",decimals:6,address:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"},So11111111111111111111111111111111111111112:{symbol:"SOL",decimals:9,address:"So11111111111111111111111111111111111111112"}},"solana:devnet":{"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU":{symbol:"USDC",decimals:6,address:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU"},EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS:{symbol:"USDT",decimals:6,address:"EJwZgeZrdC8TXTQbQBoL6bfuAnFUUy1PVCMB4DYPzVaS"},So11111111111111111111111111111111111111112:{symbol:"SOL",decimals:9,address:"So11111111111111111111111111111111111111112"}},"solana:testnet":{}};async function T({privyClient:e,chain:n,mint:t}){let r=S[n];if(!r[t]){let a=await e.getSplTokenMetadata({mintAddress:t,cluster:function(e){switch(e){case"solana:mainnet":return"mainnet-beta";case"solana:devnet":return"devnet";case"solana:testnet":return"testnet"}}(n)});a&&(r[t]={address:t,symbol:a.symbol,decimals:a.decimals})}return r[t]}async function I({solanaClient:e,tx:n,replaceRecentBlockhash:t}){let{value:r}=await e.rpc.simulateTransaction(s.getBase64Decoder().decode(n),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:t}).send();if("BlockhashNotFound"===r.err&&t)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===r.err?await I({solanaClient:e,tx:n,replaceRecentBlockhash:!0}):{logs:r.logs,hasError:!!r.err,hasFunds:r.logs?.every((e=>!/insufficient funds/gi.test(e)&&!/insufficient lamports/gi.test(e)))??!0}}async function C({tx:e,solanaClient:t,privyClient:r,checkFunds:a}){let i=s.getCompiledTransactionMessageDecoder().decode(w(e)),o=i.staticAccounts[0]??"",c=await async function({solanaClient:e,tx:n}){let t=s.getBase64Decoder().decode(w(n)),{value:r}=await e.rpc.getFeeForMessage(t).send();return r??0n}({solanaClient:t,tx:e}),l=a?await n.attempt(I({solanaClient:t,tx:e})):void 0,u=l?.hasFunds??!0,d={},p=[],m=await async function({solanaClient:e,message:n}){if(!("addressTableLookups"in n)||!n.addressTableLookups)return[...n.staticAccounts];let t=n.addressTableLookups.map((e=>e.lookupTableAddress)),r=await s.fetchAddressesForLookupTables(t,e.rpc),a=t.map(((e,t)=>[...n.addressTableLookups[t]?.writableIndexes.map((n=>{let a=r[e]?.[n];if(a)return{key:a,isWritable:!0,altIdx:t}}))??[],...n.addressTableLookups[t]?.readonlyIndexes.map((n=>{let a=r[e]?.[n];if(a)return{key:a,isWritable:!1,altIdx:t}}))??[]])).flat().filter((e=>!!e)).sort(((e,n)=>e.isWritable!==n.isWritable?e.isWritable?-1:1:e.altIdx-n.altIdx)).map((({key:e})=>e));return[...n.staticAccounts,...a]}({solanaClient:t,message:i});for(let e of i.instructions){let a=i.staticAccounts[e.programAddressIndex]||"";if("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"!==a&&"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"!==a)if(a!==v){if("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"===a){let t=await n.attempt(function(e,n,t){let[r,a,i,o]=e.accountIndices?.map((e=>n[e]))??[];return{type:"ata-creation",program:t,payer:r,ata:a,owner:i,mint:o}}(e,m,a));if(!t){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}if(p.push(t),t.ata&&t.owner&&t.mint){d[t.ata]={owner:t.owner,mint:t.mint};continue}}if(A.includes(a)){let i=await n.attempt(O(e,m,t,r,a));if(!i){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(i)}else if(b.includes(a)){let i=await n.attempt(W(e,m,t,r,a));if(!i){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(i)}else p.push({type:"unknown",program:a,discriminator:e.data?.[0]})}else{let t=await n.attempt(k(e,m));if(!t){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(t)}else{let i=await n.attempt(P(e,m,t,r,d,a));if(!i){p.push({type:"unknown",program:a,discriminator:e.data?.[0]});continue}p.push(i),"spl-transfer"===i.type&&(i.fromAta&&i.fromAccount&&i.token.address&&(d[i.fromAta]??={owner:i.fromAccount,mint:i.token.address}),i.toAta&&i.toAccount&&i.token.address&&(d[i.toAta]??={owner:i.toAccount,mint:i.token.address}))}}return{spender:o,fee:c,instructions:p,hasFunds:!!u}}function E(e,t=0){try{return n.readBigInt64LEFromUint8Array(e,t)}catch{}try{return e.readBigInt64LE(t)}catch{}let r=n.bufferFrom(e);try{return n.readBigInt64LE(r)}catch{}try{return r.subarray(t).readBigInt64LE()}catch{}try{return r.readBigInt64LE(t)}catch{}return 0n}async function P(e,n,t,r,a,i){let o=e.data?.[0],s=e.accountIndices?.map((e=>n[e]))??[];if(1===o){let[e,n,t]=s;return{type:"spl-init-account",program:i,account:e,mint:n,owner:t}}if(3===o){let n,o,[c,l,u]=s,d="",p=l?a[l]:void 0;if(p)n=p.owner,d=p.mint;else if(l){let e=await t.rpc.getAccountInfo(l,{commitment:"confirmed",encoding:"jsonParsed"}).send(),r=e.value?.data;n=r?.parsed?.info?.owner,d=r?.parsed?.info?.mint??"",o=r?.parsed?.info?.tokenAmount?.decimals}if(!d&&c){let e=await t.rpc.getAccountInfo(c,{commitment:"confirmed",encoding:"jsonParsed"}).send(),n=e.value?.data;d=n?.parsed?.info?.mint??""}let m=await T({privyClient:r,chain:t.chain,mint:d}),g=m?.symbol??"";return o??=m?.decimals??9,{type:"spl-transfer",program:i,fromAta:c,fromAccount:u,toAta:l,toAccount:n,value:E(e.data,1),token:{symbol:g,decimals:o,address:d}}}if(9===o){let[e,n,t]=s;return{type:"spl-close-account",program:i,source:e,destination:n,owner:t}}if(17===o)return{type:"spl-sync-native",program:i};throw Error(`Token program instruction type ${o} not supported`)}async function k(e,n){let t=e.data?.[0],r=e.accountIndices?.map((e=>n[e]))??[];if(0===t){let[,n]=r;return{type:"create-account",program:v,account:n?.toString(),value:E(e.data,4),withSeed:!1}}if(2===t){let[n,t]=r;return{type:"sol-transfer",program:v,fromAccount:n,toAccount:t,token:{symbol:"SOL",decimals:9},value:E(e.data,4),withSeed:!1}}if(3===t){let[,n]=r;return{type:"create-account",program:v,account:n,withSeed:!0,value:E(e.data.slice(e.data.length-32-8-8))}}if(11===t){let[n,t]=r;return{type:"sol-transfer",program:v,fromAccount:n,toAccount:t,value:E(e.data,4),token:{symbol:"SOL",decimals:9},withSeed:!0}}throw Error(`System program instruction type ${t} not supported`)}async function O(e,n,t,r,a){let i=e.accountIndices?.map((e=>n[e]))??[],o=e.data?.[0];if(143===o){let n=i[10],o=i[11];return{type:"raydium-swap-base-input",program:a,mintIn:n,mintOut:o,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:o?await T({privyClient:r,chain:t.chain,mint:o}):void 0,amountIn:E(e.data,8),minimumAmountOut:E(e.data,16)}}if(55===o){let n=i[10],o=i[11];return{type:"raydium-swap-base-output",program:a,mintIn:n,mintOut:o,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:o?await T({privyClient:r,chain:t.chain,mint:o}):void 0,maxAmountIn:E(e.data,8),amountOut:E(e.data,16)}}throw Error(`Raydium swap program instruction type ${o} not supported`)}async function W(e,n,t,r,a){let i=e.data?.[0],o=e.accountIndices?.map((e=>n[e]))??[];if([208,51,239,151,123,43,237,92].includes(i)){let n=o[5],i=o[6];return{type:"jupiter-swap-exact-out-route",program:a,mintIn:n,mintOut:i,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:i?await T({privyClient:r,chain:t.chain,mint:i}):void 0,outAmount:E(e.data,e.data.length-1-2-8-8),quotedInAmount:E(e.data,e.data.length-1-2-8)}}if([176,209,105,168,154,125,69,62].includes(i)){let n=o[7],i=o[8];return{type:"jupiter-swap-exact-out-route",program:a,mintIn:n,mintOut:i,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:i?await T({privyClient:r,chain:t.chain,mint:i}):void 0,outAmount:E(e.data,e.data.length-1-2-8-8),quotedInAmount:E(e.data,e.data.length-1-2-8)}}if([193,32,155,51,65,214,156,129].includes(i)){let n=o[7],i=o[8];return{type:"jupiter-swap-shared-accounts-route",program:a,mintIn:n,mintOut:i,tokenIn:n?await T({privyClient:r,chain:t.chain,mint:n}):void 0,tokenOut:i?await T({privyClient:r,chain:t.chain,mint:i}):void 0,inAmount:E(e.data,e.data.length-1-2-8-8),quotedOutAmount:E(e.data,e.data.length-1-2-8)}}throw[62,198,214,193,213,159,108,210].includes(i)&&console.warn("Jupiter swap program instruction 'claim' not implemented"),[116,206,27,191,166,19,0,73].includes(i)&&console.warn("Jupiter swap program instruction 'claim_token' not implemented"),[26,74,236,151,104,64,183,249].includes(i)&&console.warn("Jupiter swap program instruction 'close_token' not implemented"),[229,194,212,172,8,10,134,147].includes(i)&&console.warn("Jupiter swap program instruction 'create_open_orders' not implemented"),[28,226,32,148,188,136,113,171].includes(i)&&console.warn("Jupiter swap program instruction 'create_program_open_orders' not implemented"),[232,242,197,253,240,143,129,52].includes(i)&&console.warn("Jupiter swap program instruction 'create_token_ledger' not implemented"),[147,241,123,100,244,132,174,118].includes(i)&&console.warn("Jupiter swap program instruction 'create_token_account' not implemented"),[229,23,203,151,122,227,173,42].includes(i)&&console.warn("Jupiter swap program instruction 'route' not implemented"),[150,86,71,116,167,93,14,104].includes(i)&&console.warn("Jupiter swap program instruction 'route_with_token_ledger' not implemented"),[228,85,185,112,78,79,77,2].includes(i)&&console.warn("Jupiter swap program instruction 'set_token_ledger' not implemented"),[230,121,143,80,119,159,106,170].includes(i)&&console.warn("Jupiter swap program instruction 'shared_accounts_route_with_token_ledger' not implemented"),Error(`Jupiter swap program instruction type ${i} not supported`)}function q(){let t=n.useAppConfig(),r=e.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((e=>[e,t.solanaRpcs[e]?function({rpc:e,rpcSubscriptions:t,chain:r,blockExplorerUrl:a}){let i=function({rpc:e,rpcSubscriptions:t}){return async r=>new Promise((async(a,i)=>{try{let o=await e.sendTransaction(n.bufferFrom(r).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send(),c=new AbortController,l=await t.signatureNotifications(o,{commitment:"confirmed"}).subscribe({abortSignal:c.signal}),u=await Promise.race([new Promise((e=>{setTimeout((()=>{c.abort(),e(Error("Transaction confirmation timed out"))}),1e4)})),new Promise((async e=>{for await(let n of l){if(c.abort(),n.value.err)return e(Error("Transaction confirmation failed"));e({signature:new Uint8Array(s.getBase58Encoder().encode(o))})}}))]);return u instanceof Error?i(u):a(u)}catch(e){i(e)}}))}({rpc:e,rpcSubscriptions:t});return{rpc:e,rpcSubscriptions:t,chain:r,blockExplorerUrl:a,sendAndConfirmTransaction:i}}({chain:e,rpc:t.solanaRpcs[e].rpc,rpcSubscriptions:t.solanaRpcs[e].rpcSubscriptions,blockExplorerUrl:t.solanaRpcs[e].blockExplorerUrl??`https://explorer.solana.com?cluster=${e.replace("solana:","")}`}):null])))),[t.solanaRpcs]);return e.useCallback((e=>{if(!r[e])throw Error(`No RPC configuration found for chain ${e}`);return r[e]}),[r])}const M={component:()=>{let{data:a,onUserCloseViaDialogOrKeybindRef:c,setModalData:l,navigate:u}=n.usePrivyModal(),{client:d,closePrivyModal:p,walletProxy:m,showFiatPrices:g}=t.usePrivyInternal(),h=n.useAppConfig(),{user:f}=r.usePrivyContext(),y=q()(a?.standardSignAndSendTransaction?.chain??"solana:mainnet"),[v,A]=e.useState(a?.standardSignAndSendTransaction?.transaction),[b,S]=e.useState(),[T,I]=e.useState(),[E,P]=e.useState({value:0n,isLoading:!1}),[k,O]=e.useState(!1),[W,M]=e.useState({}),[x,F]=e.useState(),_=a?.standardSignAndSendTransaction?.account,U=!!a?.standardSignAndSendTransaction?.signOnly,D=_?.imported?r.getImportedPrivySolanaWallet(f):r.getPrivyPrimaryWallet(f),{solPrice:j,isSolPriceLoading:B}=n.useGetSolPrice({enabled:g}),L=e.useMemo((()=>{if(!b)return;let e=b.spender,t=n.getNativeCurrencyFromLamports(b.fee),r=n.getNativeCurrencyFromLamports(E.value,3,!0),a=b.instructions.filter((e=>["sol-transfer","spl-transfer","raydium-swap-base-input","raydium-swap-base-output","jupiter-swap-shared-accounts-route","jupiter-swap-exact-out-route"].includes(e.type))),i=a.at(0);if(!i||a.length>1)return{fee:t,spender:e,balance:r};if("sol-transfer"===i.type)return{fee:t,spender:e,balance:r,total:n.getNativeCurrencyFromLamports(i.value)};if("spl-transfer"===i.type)return{fee:t,spender:e,balance:r,total:`${o.formatTokenAmount({amount:i.value,decimals:i.token.decimals})} ${i.token.symbol}`};if("raydium-swap-base-input"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.amountIn,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.minimumAmountOut,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}if("raydium-swap-base-output"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.maxAmountIn,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.amountOut,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}if("jupiter-swap-shared-accounts-route"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.inAmount,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.quotedOutAmount,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}if("jupiter-swap-exact-out-route"===i.type&&i.tokenIn&&i.tokenOut){return{fee:t,spender:e,balance:r,swap:`${`${o.formatTokenAmount({amount:i.quotedInAmount,decimals:i.tokenIn.decimals})} ${i.tokenIn.symbol}`} → ${`${o.formatTokenAmount({amount:i.outAmount,decimals:i.tokenOut.decimals})} ${i.tokenOut.symbol}`}`}}return{fee:t,spender:e,balance:r}}),[b,_?.address,E]),N=e.useMemo((()=>{let e;if(!b||!g||!j||B)return;function t(...e){return n.getDollarsFromLamport(e.reduce(((e,n)=>e+n),0n),j??0)}_?.address===b.spender&&(e=t(b.fee));let r=t(E.value),a=b.instructions.filter((e=>"sol-transfer"===e.type||"spl-transfer"===e.type)).at(0);return!a||b.instructions.length>1?{fee:e,balance:r}:"sol-transfer"===a.type?{fee:e,balance:r,total:t(a.value,_?.address===b.spender?b.fee:0n)}:"spl-transfer"===a.type?{fee:e,balance:r,total:`${o.formatTokenAmount({amount:a.value,decimals:a.token.decimals})} ${a.token.symbol}`}:{fee:e,balance:r}}),[b,g,j,B,_?.address,E]);if(e.useEffect((()=>{!async function(){if(v&&d)try{I(void 0);let e=await C({tx:v,solanaClient:y,privyClient:d,checkFunds:!U});S(e)}catch(e){console.error("Failed to prepare transaction",e),I(e)}}()}),[v,y,d,U]),e.useEffect((()=>{(async function(){if(!_)return;P({value:E.value,isLoading:!0});let{value:e}=await y.rpc.getBalance(_.address,{commitment:"confirmed"}).send();P({value:e??0n,isLoading:!1})})().catch(console.error)}),[b]),!v||!a?.standardSignAndSendTransaction||!_){let e=Error("Invalid transaction request");/*#__PURE__*/return i.jsx(n.ErrorScreenView,{error:e,allowlistConfig:h.allowlistConfig,onRetry:()=>{a?.standardSignAndSendTransaction?.onFailure(e),p({shouldCallAuthOnSuccess:!1})}})}let R=()=>{if(!k)return W.signature||W.signedTransaction?a?.standardSignAndSendTransaction?.onSuccess({signature:W.signature,signedTransaction:W.signedTransaction}):a?.standardSignAndSendTransaction?.onFailure(x??T??Error("User exited the modal before submitting the transaction")),p({shouldCallAuthOnSuccess:!1})};c.current=R;let V=a.standardSignAndSendTransaction?.uiOptions?.transactionInfo?.contractInfo?.imgUrl?/*#__PURE__*/i.jsx("img",{src:a.standardSignAndSendTransaction.uiOptions.transactionInfo.contractInfo.imgUrl,alt:a.standardSignAndSendTransaction.uiOptions.transactionInfo.contractInfo.imgAltText}):null,J=!!(a.funding&&a.funding.supportedOptions.length>0),$=!b?.hasFunds&&J;if(W.signature||W.signedTransaction){let e=b?.instructions.filter((e=>"sol-transfer"===e.type||"spl-transfer"===e.type)),t=1===e?.length?e?.at(0):void 0;/*#__PURE__*/return i.jsx(n.SolanaTransactionReceiptView,{fees:W.fees??0n,onClose:R,transactionInfo:a.standardSignAndSendTransaction?.uiOptions.transactionInfo,solPrice:j,receiptHeader:a.standardSignAndSendTransaction?.uiOptions.successHeader,receiptDescription:a.standardSignAndSendTransaction?.uiOptions.successDescription,rpcEndpoint:y.blockExplorerUrl,signOnly:U,instruction:"sol-transfer"===t?.type?{to:t.toAccount,amount:t.value}:{to:t?.toAccount||t?.toAta,total:L?.total}})}return x?/*#__PURE__*/i.jsx(n.TransactionErrorView,{transactionError:x,rpcEndpoint:y.blockExplorerUrl,onClose:R,network:"solana",onRetry:async()=>{F(void 0);let{value:e}=await y.rpc.getLatestBlockhash().send();A(function(e,n){return s.pipe(s.getCompiledTransactionMessageDecoder().decode(w(e)),(e=>s.decompileTransactionMessage(e)),(e=>s.setTransactionMessageLifetimeUsingBlockhash(n,e)),(e=>s.compileTransaction(e)),(e=>new Uint8Array(s.getTransactionEncoder().encode(e))))}(v,e))}}):/*#__PURE__*/i.jsx(n.SendSolanaTransactionScreenView,{img:V,title:a.standardSignAndSendTransaction?.uiOptions?.transactionInfo?.title||"Confirm transaction",subtitle:a.standardSignAndSendTransaction?.uiOptions?.description||`${h.name} wants your permission to approve the following transaction.`,cta:$?"Add funds":a.standardSignAndSendTransaction?.uiOptions?.buttonText||"Approve",instructions:b?.instructions??[],network:"solana:mainnet"==y.chain?"Solana":y.chain.replace("solana:",""),blockExplorerUrl:y.blockExplorerUrl,total:g?N?.total:L?.total,fee:g?N?.fee:L?.fee,balance:g?N?.balance:L?.balance,swap:L?.swap,transactingWalletAddress:_.address,disabled:!b?.hasFunds&&!J,isSubmitting:k,isPreparing:!b||E.isLoading,isTokenPriceLoading:g&&B,isMissingFunds:!b?.hasFunds,submitError:x??void 0,parseError:T,onClick:$?async()=>{if(_){if(!J)throw Error("Funding wallet is not enabled");l({...a,funding:{...a.funding,methodScreen:n.FundingMethodSelectionScreen}}),u(n.FundingMethodSelectionScreen)}}:async()=>{try{if(O(!0),k||!_||!m||!f||!D)return;let e=await a.standardSignAndSendTransaction.onConfirm(v);if("signature"in e){let n=await async function({solanaClient:e,signature:n}){let t=s.getBase58Decoder().decode(n),r=await e.rpc.getTransaction(t,{maxSupportedTransactionVersion:0,commitment:"confirmed",encoding:"base64"}).send().catch((()=>null));return r?{fee:r.meta?.fee??0n}:null}({solanaClient:y,signature:e.signature});return void M({...e,fees:n?.fee})}M(e)}catch(e){console.warn({transaction:v,error:e}),F(e)}finally{O(!1)}},onClose:R})}};function x(e,n,t){let r=structuredClone(s.getTransactionDecoder().decode(e)),a=s.address(n);return a in r.signatures&&(r.signatures[a]=t),new Uint8Array(s.getTransactionEncoder().encode(r))}function F(){let{isHeadlessSigning:e,walletProxy:i,initializeWalletProxy:s,recoverEmbeddedWallet:c,openModal:l,privy:u,client:d}=t.usePrivyInternal(),{user:p}=n.usePrivy(),{setModalData:m}=n.usePrivyModal(),{signWithUserSigner:g}=r.useSignWithUserSigner();return{signMessage:({message:t,address:h,options:f})=>new Promise((async(y,w)=>{let v=r.getPrivyWalletWithAddress(p,h);if("privy"!==v?.walletClientType)return void w(new a.PrivyClientError("Wallet is not a Privy wallet",void 0,a.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:A,entropyIdVerifier:b}=n.getEntropyDetailsForUser(p,v),S=r.getIsUnifiedWallet(v),T=n.bufferFrom(t).toString("base64");if(T.length<1)return void w(new a.PrivyClientError("Message must be a non-empty string",void 0,a.PrivyErrorCode.INVALID_MESSAGE));let I=async()=>{let e;if(!p)throw Error("User must be authenticated before signing with a Privy wallet");let n=await d.getAccessToken();if(!n)throw Error("User must be authenticated to use their embedded wallet.");let t=i??await s(15e3);if(!t)throw Error("Failed to initialize embedded wallet proxy.");if(!await c({address:v.address}))throw Error("Unable to connect to wallet");if(S){let n=await o.rpc(u,g,{chain_type:"solana",method:"signMessage",params:{message:T,encoding:"base64"},wallet_id:v.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:r}=await t.rpc({accessToken:n,entropyId:A,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:v.walletIndex??0,requesterAppId:f?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:T}}});e=r.data.signature}return e};if(e({showWalletUIs:f?.uiOptions?.showWalletUIs}))try{let e=await I(),t=new Uint8Array(n.bufferFrom(e,"base64"));y({signature:t})}catch(e){w(e)}else m({signMessage:{method:"solana_signMessage",data:T,confirmAndSign:I,onSuccess:e=>{y({signature:new Uint8Array(n.bufferFrom(e,"base64"))})},onFailure:e=>{w(e)},uiOptions:f?.uiOptions??{}},connectWallet:{recoveryMethod:v.recoveryMethod,connectingWalletAddress:v.address,entropyId:A,entropyIdVerifier:b,isUnifiedWallet:S,onCompleteNavigateTo:n.SignRequestScreen,onFailure:e=>{w(new a.PrivyClientError("Failed to connect to wallet",e,a.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))}}}),l(n.EmbeddedWalletConnectingScreen)}))}}function _(){let{isHeadlessSigning:e,openModal:i}=t.usePrivyInternal(),{setModalData:o}=n.usePrivyModal(),{signMessage:s}=F(),{user:c}=n.usePrivy();return{signTransaction:async({transaction:t,options:l,chain:u="solana:mainnet",address:d})=>{async function p(e){let{signature:n}=await s({message:w(e),address:d,options:{...l,uiOptions:{...l?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:x(e,d,n)}}return e({showWalletUIs:l?.uiOptions?.showWalletUIs})?p(t):new Promise((async(e,s)=>{let m=r.getPrivyWalletWithAddress(c,d);if("privy"!==m?.walletClientType)return void s(new a.PrivyClientError("Wallet is not a Privy wallet",void 0,a.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:g,entropyIdVerifier:h}=n.getEntropyDetailsForUser(c,m),f=r.getIsUnifiedWallet(m);function y(e){return n=>{n instanceof a.PrivyClientError?s(n):s(new a.PrivyClientError("Failed to connect to wallet",n,e))}}let w={account:m,transaction:t,chain:u,signOnly:!0,uiOptions:l?.uiOptions||{},onConfirm:p,onSuccess:e,onFailure:y(a.PrivyErrorCode.TRANSACTION_FAILURE)};o({connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,entropyId:g,entropyIdVerifier:h,isUnifiedWallet:f,onCompleteNavigateTo:M,onFailure:y(a.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:w}),i(n.EmbeddedWalletConnectingScreen)}))}}}const U=["solana:mainnet","solana:devnet","solana:testnet"];function D(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var j=0,B="__private_"+j+++"__implementation";class L extends f.default{setImplementation(e){D(this,B)[B]=e}async signMessage(e){return D(this,B)[B].signMessage(e)}async signAndSendTransaction(e){return D(this,B)[B].signAndSendTransaction(e)}async signTransaction(e){return D(this,B)[B].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,B,{writable:!0,value:void 0}),D(this,B)[B]=e}}function N(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var R=0;function V(e){return"__private_"+R+++"_"+e}var J=/*#__PURE__*/V("_address"),$=/*#__PURE__*/V("_publicKey"),G=/*#__PURE__*/V("_chains"),K=/*#__PURE__*/V("_features"),H=/*#__PURE__*/V("_label"),Q=/*#__PURE__*/V("_icon");class Y{get address(){return N(this,J)[J]}get publicKey(){return N(this,$)[$].slice()}get chains(){return N(this,G)[G].slice()}get features(){return N(this,K)[K].slice()}get label(){return N(this,H)[H]}get icon(){return N(this,Q)[Q]}constructor({address:e,publicKey:n,label:t,icon:r}){Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),N(this,J)[J]=e,N(this,$)[$]=n,N(this,G)[G]=U,N(this,H)[H]=t,N(this,Q)[Q]=r,N(this,K)[K]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===Y&&Object.freeze(this)}}function Z(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var z=0;function X(e){return"__private_"+z+++"_"+e}var ee=/*#__PURE__*/X("_listeners"),ne=/*#__PURE__*/X("_version"),te=/*#__PURE__*/X("_name"),re=/*#__PURE__*/X("_icon"),ae=/*#__PURE__*/X("_injection"),ie=/*#__PURE__*/X("_isPrivyWallet"),oe=/*#__PURE__*/X("_accounts"),se=/*#__PURE__*/X("_on"),ce=/*#__PURE__*/X("_emit"),le=/*#__PURE__*/X("_off"),ue=/*#__PURE__*/X("_connected"),de=/*#__PURE__*/X("_connect"),pe=/*#__PURE__*/X("_disconnect"),me=/*#__PURE__*/X("_signMessage"),ge=/*#__PURE__*/X("_signAndSendTransaction"),he=/*#__PURE__*/X("_signTransaction");function fe(e,...n){Z(this,ee)[ee][e]?.forEach((e=>e.apply(null,n)))}function ye(e,n){Z(this,ee)[ee][e]=Z(this,ee)[ee][e]?.filter((e=>n!==e))}let we=new L({signTransaction:t.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:t.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:t.notImplementedWithMessage("signMessage was not injected")}),ve=new class{get version(){return Z(this,ne)[ne]}get name(){return Z(this,te)[te]}get icon(){return Z(this,re)[re]}get chains(){return U.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:Z(this,de)[de]},"standard:disconnect":{version:"1.0.0",disconnect:Z(this,pe)[pe]},"standard:events":{version:"1.0.0",on:Z(this,se)[se]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:Z(this,ge)[ge]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:Z(this,he)[he]},"solana:signMessage":{version:"1.0.0",signMessage:Z(this,me)[me]},"privy:":{privy:{signMessage:Z(this,ae)[ae].signMessage,signTransaction:Z(this,ae)[ae].signTransaction,signAndSendTransaction:Z(this,ae)[ae].signAndSendTransaction}}}}get accounts(){return Z(this,oe)[oe].slice()}get isPrivyWallet(){return Z(this,ie)[ie]}constructor({name:e,icon:n,version:t,injection:r,wallets:a}){Object.defineProperty(this,ce,{value:fe}),Object.defineProperty(this,le,{value:ye}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,ae,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,ue,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),Object.defineProperty(this,pe,{writable:!0,value:void 0}),Object.defineProperty(this,me,{writable:!0,value:void 0}),Object.defineProperty(this,ge,{writable:!0,value:void 0}),Object.defineProperty(this,he,{writable:!0,value:void 0}),Z(this,ee)[ee]={},Z(this,se)[se]=(e,n)=>(Z(this,ee)[ee][e]?.push(n)||(Z(this,ee)[ee][e]=[n]),()=>Z(this,le)[le](e,n)),Z(this,ue)[ue]=e=>{null!=e&&(Z(this,oe)[oe]=e.map((({address:e})=>new Y({address:e,publicKey:l.base58.decode(e)})))),Z(this,ce)[ce]("change",{accounts:this.accounts})},Z(this,de)[de]=async()=>(Z(this,ce)[ce]("change",{accounts:this.accounts}),{accounts:this.accounts}),Z(this,pe)[pe]=async()=>{Z(this,ce)[ce]("change",{accounts:this.accounts})},Z(this,me)[me]=async(...e)=>{let n=[];for(let{account:t,...r}of e){let{signature:e}=await Z(this,ae)[ae].signMessage({...r,address:t.address});n.push({signedMessage:r.message,signature:e})}return n},Z(this,ge)[ge]=async(...e)=>{let n=[];for(let{transaction:t,account:r,options:a,chain:i}of e){let{signature:e}=await Z(this,ae)[ae].signAndSendTransaction({transaction:t,address:r.address,chain:i||"solana:mainnet",options:a});n.push({signature:e})}return n},Z(this,he)[he]=async(...e)=>{let n=[];for(let{transaction:t,account:r,options:a,chain:i}of e){let{signedTransaction:e}=await Z(this,ae)[ae].signTransaction({transaction:t,address:r.address,chain:i||"solana:mainnet",options:a});n.push({signedTransaction:e})}return n},Z(this,te)[te]=e,Z(this,re)[re]=n,Z(this,ne)[ne]=t,Z(this,ae)[ae]=r,Z(this,oe)[oe]=[],Z(this,ie)[ie]=!0,r.on("accountChanged",Z(this,ue)[ue],this),Z(this,ue)[ue](a)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:we});function Ae(){let{ready:i}=n.useWallets(),{user:o}=n.usePrivy(),{signMessage:s}=F(),{signTransaction:c}=_(),{signAndSendTransaction:l}=function(){let{isHeadlessSigning:e,openModal:i}=t.usePrivyInternal(),{setModalData:o}=n.usePrivyModal(),{signTransaction:s}=_(),c=q(),{user:l}=n.usePrivy();return{signAndSendTransaction:async({transaction:t,address:u,chain:d="solana:mainnet",options:p})=>{async function m(e){let{signedTransaction:n}=await s({transaction:e,address:u,chain:d,options:{...p,uiOptions:{...p?.uiOptions,showWalletUIs:!1}}}),{signature:t}=await c(d).sendAndConfirmTransaction(n);return{signature:t}}return e({showWalletUIs:p?.uiOptions?.showWalletUIs})?m(t):new Promise((async(e,s)=>{let c=r.getPrivyWalletWithAddress(l,u);if("privy"!==c?.walletClientType)return void s(new a.PrivyClientError("Wallet is not a Privy wallet",void 0,a.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:g,entropyIdVerifier:h}=n.getEntropyDetailsForUser(l,c),f=r.getIsUnifiedWallet(c);function y(e){return n=>{n instanceof a.PrivyClientError?s(n):s(new a.PrivyClientError("Failed to connect to wallet",n,e))}}let w={account:c,transaction:t,chain:d,signOnly:!1,uiOptions:p?.uiOptions||{},onConfirm:m,onSuccess:e,onFailure:y(a.PrivyErrorCode.TRANSACTION_FAILURE)};o({connectWallet:{recoveryMethod:c.recoveryMethod,connectingWalletAddress:c.address,entropyId:g,entropyIdVerifier:h,isUnifiedWallet:f,onCompleteNavigateTo:M,onFailure:y(a.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:w}),i(n.EmbeddedWalletConnectingScreen)}))}}}(),u=e.useMemo((()=>{let e=[...r.getPrivySolanaHDWallets(o).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],n=r.getImportedPrivySolanaWallet(o);return n?[...e,n]:e}),[o]),d=e.useMemo((()=>({signMessage:async({message:e,address:n,options:t})=>await s({message:e,address:n,options:t}),signTransaction:async({transaction:e,address:n,chain:t,options:r})=>await c({transaction:e,address:n,chain:t,options:r}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:r}){let{signature:a}=await l({transaction:e,address:n,chain:t,options:r});return{signature:a}}})),[s,c,l]);return e.useEffect((()=>{we?.setImplementation(d)}),[d]),e.useEffect((()=>{var e;!i||(e=ve.accounts).length===u.length&&e.every(((e,n)=>e.address===u[n]?.address))||we?.emit("accountChanged",u)}),[i,u]),{ready:i,wallet:ve}}function be(){let{client:n}=t.usePrivyInternal(),{ready:r,wallet:a}=Ae(),[i,o]=e.useState([]),[s,c]=e.useState([]);return e.useEffect((()=>{let e=[a,...i.filter((e=>"solana"===e.chainType&&!!e.wallet)).map((e=>e.wallet))];c(e);let n=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{n.forEach((e=>e?.()))}}),[i]),e.useEffect((()=>{if(!r)return;o(n.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let e=()=>{o(n.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return n.connectors?.on("connectorInitialized",e),()=>{n.connectors?.off("connectorInitialized",e)}}),[r,n.connectors]),{ready:r,wallets:s}}var Se={id:n.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:t})=>{let r=n.prepareSiwsMessageWithNonce({address:e,nonce:t}),a=new d.Transaction,i=new d.TransactionInstruction({keys:[{pubkey:new d.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new d.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(r,"utf-8")});return a.add(i),a.feePayer=new d.PublicKey(e),a.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",a.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>d.Transaction.from(n.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=n.SolanaWalletConnector,exports.useSendTransaction=n.useSendTransaction,exports.useSignMessage=n.useSignMessage,exports.useSolanaWallets=n.useSolanaWallets,exports.useFundWallet=u.useFundWallet,exports.toSolanaWalletConnectors=e=>{let t,{get:r,on:a}=g.getWallets(),i=e?.shouldAutoConnect??!0,o=new Map,s=[];function c(...e){y(e).forEach((e=>!o.has(e.wallet)&&o.set(e.wallet,e))),s=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,i))),t?.(s)}function l(...e){Array.from(o.keys()).forEach((n=>!e.includes(n)&&o.delete(n))),s=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,i))),t?.(s)}let u=[a("register",c),a("unregister",l)];return y(r()).forEach((e=>!o.has(e.wallet)&&o.set(e.wallet,e))),s=Array.from(o.values()).map((e=>new n.SolanaWalletConnector(e,i))),{_setOnConnectorsUpdated:e=>{t=e},onMount:()=>{u[0]||(u[0]=a("register",c)),u[1]||(u[1]=a("unregister",l))},onUnmount:()=>{let e=u.pop();for(;e;)e(),e=u.pop()},get:()=>s}},exports.useConnectedStandardWallets=function(){let{ready:n,wallets:t}=be();return{ready:n,wallets:e.useMemo((()=>t.flatMap((e=>e.accounts.map((n=>new o.ConnectedStandardSolanaWallet({wallet:e,account:n})))))),[t])}},exports.useCreateWallet=function(){let{create:e}=n.useCreateWalletInternal();return{createWallet:async n=>{n&&"target"in n&&n&&(n=void 0);let{account:t}=await e({chainType:"solana",options:n});return{wallet:t}}}},exports.useExportWallet=function(){let{exportSolanaWallet:e}=t.usePrivyInternal();return{exportWallet:e}},exports.useImportWallet=()=>{let{user:a}=r.usePrivyContext(),{client:i,refreshSessionAndUser:o,initializeWalletProxy:s}=t.usePrivyInternal(),c=n.useEmitPrivyEvent(),l=n.useAppConfig();return{importWallet:e.useCallback((({privateKey:e})=>n.importWallet({getAccessToken:()=>i.getAccessToken(),user:a,initializeWalletProxy:s,refreshSessionAndUser:o,emitPrivyEvent:c,appConfig:l},{privateKey:e,chainType:"solana"})),[a,i,o,s,c])}},exports.usePrivyStandardWallet=Ae,exports.useSignTransaction=function(e){let a=n.useAppConfig(),{user:i}=n.usePrivy(),{setModalData:o}=n.usePrivyModal(),{client:s,isHeadlessSigning:c,openModal:l,walletProxy:u,recoverEmbeddedWallet:d,privy:p,solanaWallets:m}=t.usePrivyInternal(),g=n.useEmitPrivyEvent(),{signWithUserSigner:h}=r.useSignWithUserSigner();return n.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:t,uiOptions:r,transactionOptions:f,address:y})=>{let w=y?m.find((e=>e.address===y&&"privy"!==e.walletClientType)):void 0,{signedTransaction:v}=await n.signOrSendSolanaTransactionInternal({privy:p,appConfig:a,getAccessToken:()=>s.getAccessToken(),isHeadlessSigning:c,emitPrivyEvent:g,setModalData:o,openModal:l,walletProxy:u,user:i,recoverEmbeddedWallet:d,signWithUserSigner:h,connectedExternalWallet:w},{transaction:e,connection:t,transactionOptions:f,uiOptions:r,address:y,signOnly:!0});return v}}},exports.useSolanaFundingPlugin=()=>n.useRegisterPlugin(u.t),exports.useSolanaLedgerPlugin=()=>n.useRegisterPlugin(Se),exports.useSolanaStandardWallets=be,exports.useStandardSignAndSendTransaction=function(){return{signAndSendTransaction:async({transaction:e,wallet:n,chain:t="solana:mainnet",options:r})=>await n.signAndSendTransaction({transaction:e,chain:t,options:r})}},exports.useStandardSignMessage=function(){return{signMessage:async({message:e,wallet:n,options:t})=>await n.signMessage({message:e,options:t})}},exports.useStandardSignTransaction=function(){return{signTransaction:async({transaction:e,wallet:n,chain:t="solana:mainnet",options:r})=>await n.signTransaction({transaction:e,chain:t,options:r})}};