{"_format":"hh-sol-artifact-1","contractName":"DonateGDClone","sourceName":"contracts/utils/BuyGDClone.sol","abi":[{"inputs":[{"internalType":"contract ISwapRouter","name":"_router","type":"address"},{"internalType":"address","name":"_stable","type":"address"},{"internalType":"address","name":"_gd","type":"address"},{"internalType":"contract IStaticOracle","name":"_oracle","type":"address"},{"internalType":"contract IQuoterV2","name":"_quoter","type":"address"},{"internalType":"contract IBroker","name":"_mentoBroker","type":"address"},{"internalType":"address","name":"_mentoExchangeProvider","type":"address"},{"internalType":"bytes32","name":"_mentoExchangeId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"error","type":"bytes"}],"name":"EXEC_FAILED","type":"error"},{"inputs":[],"name":"MENTO_NOT_CONFIGURED","type":"error"},{"inputs":[],"name":"NO_BALANCE","type":"error"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFUND_FAILED","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"inAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outAmount","type":"uint256"}],"name":"Bought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"inAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outAmount","type":"uint256"}],"name":"BoughtFromMento","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"inAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outAmount","type":"uint256"}],"name":"BoughtFromUniswap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"donor","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"tokenDonated","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountDonated","type":"uint256"}],"name":"Donated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"inputs":[],"name":"CELO_STABLE_FEE_TIER","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CUSD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CUSD_GAS_COSTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CUSD_STABLE_FEE_TIER","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GD_FEE_TIER","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GLOUSD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC_GAS_COSTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"callData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"celo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address payable","name":"refundGas","type":"address"},{"internalType":"bool","name":"withSwap","type":"bool"}],"name":"exec","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"gd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cusdAmount","type":"uint256"}],"name":"getExpectedReturnFromMento","outputs":[{"internalType":"uint256","name":"expectedReturn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"components":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint24[]","name":"fees","type":"uint24[]"}],"internalType":"struct UniswapPath","name":"_path","type":"tuple"}],"name":"getExpectedReturnFromUniswapPath","outputs":[{"internalType":"uint256","name":"expectedReturn","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint24[]","name":"fees","type":"uint24[]"}],"name":"getSwapPath","outputs":[{"internalType":"bytes","name":"path","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recoverTo","type":"address"},{"internalType":"address","name":"_donateTo","type":"address"},{"internalType":"bytes","name":"_callData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mentoBroker","outputs":[{"internalType":"contract IBroker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mentoExchangeId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mentoExchangeProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"baseAmount","type":"uint256"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"uint32","name":"period","type":"uint32"}],"name":"minAmountByTWAP","outputs":[{"internalType":"uint256","name":"minTwap","type":"uint256"},{"internalType":"uint256","name":"quote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"contract IStaticOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quoter","outputs":[{"internalType":"contract IQuoterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverTo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stable","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address payable","name":"refundGas","type":"address"}],"name":"swap","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address payable","name":"refundGas","type":"address"}],"name":"swapCelo","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address payable","name":"refundGas","type":"address"},{"components":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint24[]","name":"fees","type":"uint24[]"}],"internalType":"struct UniswapPath","name":"_path","type":"tuple"}],"name":"swapCeloWithPath","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address","name":"refundGas","type":"address"}],"name":"swapCusd","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address","name":"refundGas","type":"address"},{"components":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint24[]","name":"fees","type":"uint24[]"}],"internalType":"struct UniswapPath","name":"_path","type":"tuple"}],"name":"swapCusdWithPath","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address","name":"refundGas","type":"address"}],"name":"swapUsdc","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"address","name":"refundGas","type":"address"},{"components":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint24[]","name":"fees","type":"uint24[]"}],"internalType":"struct UniswapPath","name":"_path","type":"tuple"}],"name":"swapUsdcWithPath","outputs":[{"internalType":"uint256","name":"bought","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"twapPeriod","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"linkReferences":{},"deployedLinkReferences":{}}
