const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/web3/etherFunctions.cjs`),n=require(`../utxo/Utxo.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/snarkjs/common.snarkjs.cjs`),a=require(`./hinkalSolanaDeposit.cjs`);var o=async(o,s,c,l,u)=>{if(s.length===0)throw Error(`erc20Tokens must not be empty`);if(s.length!==c.length)throw Error(`erc20Tokens and amountChanges length mismatch`);if(!e.isSolanaLike(r.validateAndGetChainId(s)))throw Error(`hinkalSolanaProoflessDepositHash: non-Solana chain`);let d=s[0];if(!s.every(e=>e.erc20TokenAddress===d.erc20TokenAddress))throw Error(`Solana prooflessDeposit supports one mint per transaction`);if(l&&l.length!==c.length)throw Error(`Stealth address structures length mismatch`);return a.submitSolanaProoflessDeposit(o,d,c,l??c.map(()=>{let e=o.userKeys.getShieldedPrivateKey();return i.calcStealthAddressStructure(n.Utxo.findCorrectRandomization(t.randomBigInt(31),e),e)}),u)};exports.hinkalSolanaProoflessDeposit=o;