require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../data-structures/crypto-keys/keys.cjs`),n=require(`../../../data-structures/utxo/Utxo.cjs`),r=require(`../../utils/encryptInputForEnclave.cjs`),i=require(`../../utils/solanaMint.utils.cjs`);let a=require(`ethers`),o=require(`@solana/web3.js`);var s=e=>{if(!e)return;let t=a.ethers.getBytes(e);if(t.length!==32)return;let n=new o.PublicKey(t),r=n.toBase58(),{compressedAddress:s}=i.formatMintAddress(n);return{mintBase58:r,compressedAddress:s}},c=async(i,o,c)=>{let l=c.getShieldedPrivateKey(),{privateKey:u,publicKey:d}=t.UserKeys.getEncryptionKeyPair(l),f=a.ethers.solidityPacked([`uint256`,`uint256`,`uint256`],[d,u,l]),{keyCiphertext:p,inputCiphertext:m}=await r.makeEnclaveHandshakeAndEncryptUint8Array(a.ethers.getBytes(f)),{utxos:h,lastOutput:g,encryptedOutputs:_}=await i.getAPI().decryptUtxoEnclaveCall(o,p,m);return{utxos:h.map(t=>{let r=t;if(e.isSolanaLike(o)){let e=s(t.mintAddress);if(!e)throw Error(`Invalid mint address`);r={...r,erc20TokenAddress:e.compressedAddress,mintAddress:e.mintBase58}}return new n.Utxo({...r,amount:BigInt(r.amount),randomization:r.randomization?BigInt(r.randomization):void 0,shieldedPrivateKey:l})}),encryptedOutputs:_,lastOutput:g}};exports.getInputUtxosEnclave=c;