require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../constants/chains.constants.cjs`);require(`../../types/index.cjs`);const n=require(`./caseInsensitive.utils.cjs`),r=require(`./amounts.utils.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),a=require(`../../data-structures/crypto-keys/decodeUTXO.cjs`),o=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),s=require(`./getContractAddress.cjs`);let c=require(`ethers`);var l=(t,i,o,c)=>{let l=i.getContractWithFetcher(o,e.ContractType.HinkalContract),u=l.interface,d=i.userKeys.getShieldedPrivateKey(),f=s.getContractAddress(l);return t.logs.filter(e=>n.caseInsensitiveEqual(e.address,f)).map(e=>{try{let t=u.parseLog(e);if(t?.name===`NewCommitment`){let{encryptedOutput:e,index:i}=t.args;if(r.toBigInt(i)<0n){let t=a.decodeUtxo(e,d,o);if(n.caseInsensitiveEqual(t.erc20TokenAddress,c))return t}}}catch{return null}return null}).filter(e=>e!==null)},u=(t,a,l,u,d)=>{let f=a.getContractWithFetcher(l,e.ContractType.HinkalContract),p=f.interface;return t.logs.filter(e=>n.caseInsensitiveEqual(e.address,s.getContractAddress(f))).map(e=>{try{let t=p.parseLog(e);if(t?.name===`NewCommitment`){let{encryptedOutput:e,index:a}=t.args;if(r.toBigInt(a)>=0n){let t=new i.UserKeys(void 0,d);try{let r=o.decryptUtxo(c.ethers.getBytes(e),t);if(n.caseInsensitiveEqual(r.erc20TokenAddress,u))return r}catch{return null}}}return null}catch{return null}}).filter(e=>e!==null)},d=(e,i)=>{if(i.status!==1)throw Error(`Transaction failed: ${i.hash}`);let{contractData:a}=t.networkRegistry[e],{hinkalAddress:o,hinkalABI:s}=a;if(!o||!s)throw Error(`Hinkal contract data not found for chainId ${e}`);let l=new c.ethers.Interface(s);return i.logs.filter(e=>n.caseInsensitiveEqual(e.address,o)).map(e=>{try{let t=l.parseLog(e);if(t?.name!==`NewCommitment`)return null;let n=t.args.commitment;return n?r.toBigInt(n).toString():null}catch{return null}}).filter(e=>e!==null)};exports.getOnChainUtxosFromReceipt=l,exports.getOutputCommitmentsFromEvmReceipt=d,exports.getUtxosFromReceipt=u;