[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_solidStaking","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"acquired","type":"uint256"},{"internalType":"uint256","name":"min","type":"uint256"}],"name":"AcquiredSharesLessThanMin","type":"error"},{"inputs":[],"name":"GenericSwapError","type":"error"},{"inputs":[],"name":"InvalidInput","type":"error"},{"inputs":[],"name":"InvalidSwap","type":"error"},{"inputs":[],"name":"SweepAmountZero","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"zapRecipient","type":"address"},{"indexed":true,"internalType":"address","name":"inputToken","type":"address"},{"indexed":true,"internalType":"uint256","name":"inputAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"ZapStake","type":"event"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap1","type":"bytes"},{"internalType":"bytes","name":"swap2","type":"bytes"}],"name":"simulateStakeDoubleSwap","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"internalType":"struct ISolidZapStaker.Fraction","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap1","type":"bytes"},{"internalType":"bytes","name":"swap2","type":"bytes"}],"name":"simulateStakeETH","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"internalType":"struct ISolidZapStaker.Fraction","name":"","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap","type":"bytes"}],"name":"simulateStakeSingleSwap","outputs":[{"internalType":"bool","name":"isDustless","type":"bool"},{"internalType":"uint256","name":"shares","type":"uint256"},{"components":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"internalType":"struct ISolidZapStaker.Fraction","name":"ratio","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"solidStaking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap1","type":"bytes"},{"internalType":"bytes","name":"swap2","type":"bytes"},{"internalType":"uint256","name":"minShares","type":"uint256"}],"name":"stakeDoubleSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap1","type":"bytes"},{"internalType":"bytes","name":"swap2","type":"bytes"},{"internalType":"uint256","name":"minShares","type":"uint256"},{"internalType":"address","name":"zapRecipient","type":"address"}],"name":"stakeDoubleSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap1","type":"bytes"},{"internalType":"bytes","name":"swap2","type":"bytes"},{"internalType":"uint256","name":"minShares","type":"uint256"},{"internalType":"address","name":"zapRecipient","type":"address"}],"name":"stakeETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap1","type":"bytes"},{"internalType":"bytes","name":"swap2","type":"bytes"},{"internalType":"uint256","name":"minShares","type":"uint256"}],"name":"stakeETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap","type":"bytes"},{"internalType":"uint256","name":"minShares","type":"uint256"},{"internalType":"address","name":"zapRecipient","type":"address"}],"name":"stakeSingleSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"hypervisor","type":"address"},{"internalType":"bytes","name":"swap","type":"bytes"},{"internalType":"uint256","name":"minShares","type":"uint256"}],"name":"stakeSingleSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]