Latest 25 from a total of 148 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Yield | 18767641 | 808 days ago | IN | 0 ETH | 0.01234819 | ||||
| Yield | 18767622 | 808 days ago | IN | 0 ETH | 0.01423087 | ||||
| Yield | 18734518 | 812 days ago | IN | 0 ETH | 0.01548167 | ||||
| Yield | 18698709 | 817 days ago | IN | 0 ETH | 0.01604769 | ||||
| Yield | 18669726 | 821 days ago | IN | 0 ETH | 0.01588633 | ||||
| Yield | 18605987 | 830 days ago | IN | 0 ETH | 0.00727971 | ||||
| Yield | 18577097 | 834 days ago | IN | 0 ETH | 0.01318915 | ||||
| Yield | 18554455 | 837 days ago | IN | 0 ETH | 0.01757168 | ||||
| Yield | 18539715 | 839 days ago | IN | 0 ETH | 0.01930078 | ||||
| Yield | 18518549 | 842 days ago | IN | 0 ETH | 0.01466408 | ||||
| Yield | 18484215 | 847 days ago | IN | 0 ETH | 0.01850842 | ||||
| Yield | 18461557 | 850 days ago | IN | 0 ETH | 0.00759012 | ||||
| Yield | 18446771 | 852 days ago | IN | 0 ETH | 0.00494705 | ||||
| Yield | 18437204 | 854 days ago | IN | 0 ETH | 0.01181176 | ||||
| Yield | 18412792 | 857 days ago | IN | 0 ETH | 0.00991779 | ||||
| Yield | 18397934 | 859 days ago | IN | 0 ETH | 0.0052565 | ||||
| Yield | 18391113 | 860 days ago | IN | 0 ETH | 0.00844356 | ||||
| Yield | 18377431 | 862 days ago | IN | 0 ETH | 0.00671482 | ||||
| Yield | 18368980 | 863 days ago | IN | 0 ETH | 0.00352906 | ||||
| Yield | 18365041 | 864 days ago | IN | 0 ETH | 0.0064988 | ||||
| Yield | 18353645 | 865 days ago | IN | 0 ETH | 0.00494723 | ||||
| Yield | 18340945 | 867 days ago | IN | 0 ETH | 0.00362843 | ||||
| Yield | 18326227 | 869 days ago | IN | 0 ETH | 0.00577793 | ||||
| Yield | 18320569 | 870 days ago | IN | 0 ETH | 0.00585065 | ||||
| Yield | 18312961 | 871 days ago | IN | 0 ETH | 0.00480918 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23065953 | 206 days ago | 0.01796303 ETH | ||||
| Transfer | 23065953 | 206 days ago | 0.03592606 ETH | ||||
| Transfer | 23065953 | 206 days ago | 0.05388909 ETH | ||||
| Transfer | 18723495 | 814 days ago | 0.04 ETH | ||||
| Transfer | 18723495 | 814 days ago | 0.08 ETH | ||||
| Transfer | 18723495 | 814 days ago | 0.12 ETH | ||||
| Transfer | 18695806 | 818 days ago | 0.0547 ETH | ||||
| Transfer | 18695806 | 818 days ago | 0.1094 ETH | ||||
| Transfer | 18695806 | 818 days ago | 0.1641 ETH | ||||
| Transfer | 18402622 | 859 days ago | 0.002 ETH | ||||
| Transfer | 18402622 | 859 days ago | 0.004 ETH | ||||
| Transfer | 18402622 | 859 days ago | 0.006 ETH | ||||
| Transfer | 18370975 | 863 days ago | 0.02287734 ETH | ||||
| Transfer | 18370975 | 863 days ago | 0.04575469 ETH | ||||
| Transfer | 18370975 | 863 days ago | 0.06863204 ETH | ||||
| Transfer | 18368661 | 863 days ago | 0.006 ETH | ||||
| Transfer | 18368661 | 863 days ago | 0.012 ETH | ||||
| Transfer | 18368661 | 863 days ago | 0.018 ETH | ||||
| Transfer | 18367082 | 864 days ago | 0.0001 ETH | ||||
| Transfer | 18367082 | 864 days ago | 0.0002 ETH | ||||
| Transfer | 18367082 | 864 days ago | 0.0003 ETH | ||||
| Transfer | 18344593 | 867 days ago | 0.009 ETH | ||||
| Transfer | 18344593 | 867 days ago | 0.018 ETH | ||||
| Transfer | 18344593 | 867 days ago | 0.027 ETH | ||||
| Transfer | 18336095 | 868 days ago | 0.02124815 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ChainToolsYieldBooster
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: UNLICENSED
/*
CHAINTOOLS 2023. DEFI REIMAGINED
2023
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 2021 ⣰⣾⣿⣶⡄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀2019⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠹⣿V4⡄⡷⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⠀⠀⠀⠀⠀⠀⠀⠀ ⣤⣾⣿⣷⣦⡀⠀⠀⠀⠀ ⣿⣿⡏⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⣴⣿⣿⣿⣷⡀⠀⠀⠀⠀ ⢀⣿⣿⣿⣿⣿⠄⠀⠀⠀ ⣰⣿⣿⣧⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⣴⣾⣿⣿⣿⣿⣿⣿⡄⠀⠀ ⢀⣴⣿⣿⣿⠟⠛⠋⠀⠀⠀ ⢸⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⣴⣿⣿⣿⣿⣿⠟⠉⠉⠉⠁⢀⣴⣿⣿V3⣿⣿⠀⠀⠀⠀⠀ ⣾⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣾⣿⣿⣿⣿⣿⠛⠀⠀⠀⠀⠀ ⣾⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀
⠀⠀⠀ 2017⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿V2⣿⣿⡿⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀ ⢹⣿ ⣿⣿⣿⣿⠙⢿⣆⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣴⣦⣤⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⠛⠿⠿⠶⠶⣶⠀ ⣿ ⢸⣿⣿⣿⣿⣆⠹⠇⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⣿⣿⣷⡆⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⡇⠉⠛⢿⣷⡄⠀⠀⠀⢸⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀ ⠹⠇⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀
⠀⠀⠀⠀⣠⣴⣿⣿V1⣿⣿⣿⡏⠛⠃⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣇⠀⠀⠘⠋⠁⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀
⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀ ⠸⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀ ⠀⣿⣿⡟⢿⣿⣿⠀⠀⠀⠀
⠀⢸⣿⣿⣿⣿⣿⠛⠉⠙⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀ ⢈⣿⣿⡟⢹⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡿⠈⣿⣿⡟⠀⠀⠀⠀⠀ ⢸⣿⣿⠀⢸⣿⣿⠀⠀⠀⠀
⠀⠀⠹⣿⣿⣿⣿⣷⡀⠀⠻⣿⣿⣿⣿⣶⣄⠀⠀⠀⢰⣿⣿⡟⠁⣾⣿⣿⠀⠀⠀⠀⠀⠀⢀⣶⣿⠟⠋⠀⢼⣿⣿⠃⠀⠀⠀⠀⠀ ⣿⣿⠁⠀⢹⣿⣿⠀⠀⠀⠀
⠀⢀⣴⣿⡿⠋⢹⣿⡇⠀⠀⠈⠙⣿⣇⠙⣿⣷⠀⠀⢸⣿⡟⠀⠀⢻⣿⡏⠀⠀⠀⠀⠀⢀⣼⡿⠁⠀⠀⠀⠘⣿⣿⠀⠀⠀⠀⠀ ⢨⣿⡇⠀⠀⠀⣿⣿⠀⠀⠀⠀
⣴⣿⡟⠉⠀⠀⣾⣿⡇⠀⠀⠀⠀⢈⣿⡄⠀⠉⠀⠀⣼⣿⡆⠀⠀⢸⣿⣷⠀⠀⠀⠀⢴⣿⣿⠀⠀⠀⠀⠀⠀⣿⣯⡀⠀⠀⠀⠀ ⢸⣿⣇⠀⠀⠀⢺⣿⡄⠀⠀⠀
⠈⠻⠷⠄⠀⠀⣿⣿⣷⣤⣠⠀⠀⠈⠽⠷⠀⠀⠀⠸⠟⠛⠛⠒⠶⠸⣿⣿⣷⣦⣤⣄⠈⠻⠷⠄⠀⠀⠀⠾⠿⠿⣿⣶⣤⠀ ⠘⠛⠛⠛⠒⠀⠸⠿⠿⠦
Telegram: https://t.me/ChaintoolsOfficial
Website: https://www.chaintools.ai/
Whitepaper: https://chaintools-whitepaper.gitbook.io/
Twitter: https://twitter.com/ChaintoolsTech
dApp: https://www.chaintools.wtf/
*/
pragma solidity ^0.8.19;
// import "forge-std/console.sol";
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(
address recipient,
uint256 amount
) external returns (bool);
function allowance(
address owner,
address spender
) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
interface IUniswapV2Router02 {
function getAmountsOut(
uint256 amountIn,
address[] memory path
) external view returns (uint256[] memory amounts);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}
interface IV2Pair {
function swap(
uint256 amount0Out,
uint256 amount1Out,
address to,
bytes calldata data
) external;
function token0() external view returns (address);
function burn(
address to
) external returns (uint256 amount0, uint256 amount1);
}
interface IV3Pool {
function liquidity() external view returns (uint128 Liq);
struct Info {
uint128 liquidity;
uint256 feeGrowthInside0LastX128;
uint256 feeGrowthInside1LastX128;
uint128 tokensOwed0;
uint128 tokensOwed1;
}
function initialize(uint160 sqrtPriceX96) external;
function positions(
bytes32 key
) external view returns (IV3Pool.Info memory liqInfo);
function swap(
address recipient,
bool zeroForOne,
int256 amountSpecified,
uint160 sqrtPriceLimitX96,
bytes memory data
) external returns (int256 amount0, int256 amount1);
function burn(
int24 tickLower,
int24 tickUpper,
uint128 amount
) external returns (uint256 amount0, uint256 amount1);
function collect(
address recipient,
int24 tickLower,
int24 tickUpper,
uint128 amount0Requested,
uint128 amount1Requested
) external returns (uint128 amount0, uint128 amount1);
function token0() external view returns (address);
function token1() external view returns (address);
function slot0()
external
view
returns (uint160, int24, uint16, uint16, uint16, uint8, bool);
function flash(
address recipient,
uint256 amount0,
uint256 amount1,
bytes calldata data
) external;
function uniswapV3FlashCallback(
uint256 fee0,
uint256 fee1,
bytes memory data
) external;
function mint(
address recipient,
int24 tickLower,
int24 tickUpper,
uint128 amount,
bytes calldata data
) external returns (uint256 amount0, uint256 amount1);
}
interface IWETH {
function withdraw(uint256 wad) external;
function approve(address who, uint256 wad) external returns (bool);
function deposit() external payable;
function transfer(address dst, uint256 wad) external returns (bool);
function balanceOf(address _owner) external view returns (uint256);
}
interface IQuoterV2 {
function quoteExactInputSingle(
address tokenIn,
address tokenOut,
uint24 fee,
uint256 amountIn,
uint160 sqrtPriceLimitX96
) external returns (uint256 amountOut);
}
interface IV3Factory {
function getPool(
address token0,
address token1,
uint24 poolFee
) external view returns (address);
function createPool(
address tokenA,
address tokenB,
uint24 fee
) external returns (address);
}
interface INonfungiblePositionManager {
function ownerOf(uint256 tokenId) external view returns (address owner);
function setApprovalForAll(address operator, bool approved) external;
struct IncreaseLiquidityParams {
uint256 tokenId;
uint256 amount0Desired;
uint256 amount1Desired;
uint256 amount0Min;
uint256 amount1Min;
uint256 deadline;
}
function increaseLiquidity(
INonfungiblePositionManager.IncreaseLiquidityParams calldata params
) external returns (uint128 liquidity, uint256 amount0, uint256 amount1);
function tokenOfOwnerByIndex(
address owner,
uint256 index
) external view returns (uint256 tokenId);
function safeTransferFrom(
address from,
address to,
uint256 tokenId,
bytes memory _data
) external;
function transferFrom(address from, address to, uint256 tokenId) external;
function factory() external view returns (address);
struct MintParams {
address token0;
address token1;
uint24 fee;
int24 tickLower;
int24 tickUpper;
uint256 amount0Desired;
uint256 amount1Desired;
uint256 amount0Min;
uint256 amount1Min;
address recipient;
uint256 deadline;
}
function mint(
MintParams calldata mp
)
external
payable
returns (
uint256 tokenId,
uint128 liquidity,
uint256 amount0,
uint256 amount1
);
function collect(
CollectParams calldata params
) external payable returns (uint256 amount0, uint256 amount1);
struct CollectParams {
uint256 tokenId;
address recipient;
uint128 amount0Max;
uint128 amount1Max;
}
struct DecreaseLiquidityParams {
uint256 tokenId;
uint128 liquidity;
uint256 amount0Min;
uint256 amount1Min;
uint256 deadline;
}
function decreaseLiquidity(
DecreaseLiquidityParams calldata dl
) external returns (uint256 amount0, uint256 amount1);
function positions(
uint256 tokenId
)
external
view
returns (
uint96 nonce,
address operator,
address token0,
address token1,
uint24 fee,
int24 tickLower,
int24 tickUpper,
uint128 liquidity,
uint256 feeGrowthInside0LastX128,
uint256 feeGrowthInside1LastX128,
uint128 tokensOwed0,
uint128 tokensOwed1
);
}
interface IRouterV3 {
function factory() external view returns (address);
function WETH9() external view returns (address);
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;
}
function exactOutputSingle(
ExactOutputSingleParams calldata params
) external returns (uint256 amountIn);
function exactInputSingle(
ExactInputSingleParams calldata params
) external payable returns (uint256 amountOut);
}
// Credits: https://github.com/Uniswap/v3-core/blob/main/contracts/libraries/TickMath.sol
library TickMath {
/// @dev The minimum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**-128
int24 internal constant MIN_TICK = -887272;
/// @dev The maximum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**128
int24 internal constant MAX_TICK = 887272;
/// @dev The minimum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MIN_TICK)
uint160 internal constant MIN_SQRT_RATIO = 4295128739;
/// @dev The maximum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MAX_TICK)
uint160 internal constant MAX_SQRT_RATIO =
1461446703485210103287273052203988822378723970342;
/// @notice Calculates sqrt(1.0001^tick) * 2^96
/// @dev Throws if |tick| > max tick
/// @param tick The input tick for the above formula
/// @return sqrtPriceX96 A Fixed point Q64.96 number representing the sqrt of the ratio of the two assets (token1/token0)
/// at the given tick
function getSqrtRatioAtTick(
int24 tick
) internal pure returns (uint160 sqrtPriceX96) {
uint256 absTick = tick < 0
? uint256(-int256(tick))
: uint256(int256(tick));
require(absTick <= uint256(int256(MAX_TICK)), "T");
uint256 ratio = absTick & 0x1 != 0
? 0xfffcb933bd6fad37aa2d162d1a594001
: 0x100000000000000000000000000000000;
if (absTick & 0x2 != 0)
ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128;
if (absTick & 0x4 != 0)
ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128;
if (absTick & 0x8 != 0)
ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128;
if (absTick & 0x10 != 0)
ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128;
if (absTick & 0x20 != 0)
ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128;
if (absTick & 0x40 != 0)
ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128;
if (absTick & 0x80 != 0)
ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128;
if (absTick & 0x100 != 0)
ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128;
if (absTick & 0x200 != 0)
ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128;
if (absTick & 0x400 != 0)
ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128;
if (absTick & 0x800 != 0)
ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128;
if (absTick & 0x1000 != 0)
ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128;
if (absTick & 0x2000 != 0)
ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128;
if (absTick & 0x4000 != 0)
ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128;
if (absTick & 0x8000 != 0)
ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128;
if (absTick & 0x10000 != 0)
ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128;
if (absTick & 0x20000 != 0)
ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128;
if (absTick & 0x40000 != 0)
ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128;
if (absTick & 0x80000 != 0)
ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128;
if (tick > 0) ratio = type(uint256).max / ratio;
// this divides by 1<<32 rounding up to go from a Q128.128 to a Q128.96.
// we then downcast because we know the result always fits within 160 bits due to our tick input constraint
// we round up in the division so getTickAtSqrtRatio of the output price is always consistent
sqrtPriceX96 = uint160(
(ratio >> 32) + (ratio % (1 << 32) == 0 ? 0 : 1)
);
}
}
interface YieldVault {
function getDeviation(
uint256 amountIn,
uint256 startTickDeviation
) external view returns (uint256 adjusted);
function getCurrentTick() external view returns (int24 cTick);
function getStartTickDeviation(
int24 currentTick
) external view returns (uint256 perc);
function findPoolFee(
address token0,
address token1
) external view returns (uint24 poolFee);
function getPosition(
uint256 tokenId
) external view returns (address token0, address token1, uint128 liquidity);
function getTickDistance(
uint256 flag
) external view returns (int24 tickDistance);
function findApprovalToken(
address pool
) external view returns (address token);
function findApprovalToken(
address token0,
address token1
) external view returns (address token);
function buyback(
uint256 flag,
uint128 internalWETHAmt,
uint128 internalCTLSAmt,
address to,
uint256 id
) external returns (uint256 t0, uint256 t1);
function keeper() external view returns(address);
}
interface ctls {
function adjustFomo(uint16 a,uint256 b,address c) external;
}
contract ChainToolsYieldBooster {
INonfungiblePositionManager internal immutable positionManager;
address internal immutable token;
address internal immutable pool;
address internal immutable multiSig;
address internal immutable WETH;
address internal immutable v3Router;
address internal YIELD_VAULT;
address internal immutable keeper;
event REWARDPOOLFEE(uint256 totalVolume);
constructor(address _CTLS, address _pool, address _yield_vault) {
token = _CTLS;
pool = _pool;
v3Router = 0xE592427A0AEce92De3Edee1F18E0157C05861564;
multiSig = 0xb0Df68E0bf4F54D06A4a448735D2a3d7D97A2222;
YIELD_VAULT = _yield_vault;
positionManager = INonfungiblePositionManager(
0xC36442b4a4522E871399CD717aBDD847Ab11FE88
);
keeper = 0x5648C24Ea7cFE703836924bF2080ceFa44A12cA8;
WETH = IRouterV3(v3Router).WETH9();
// WETH = 0x0877fD90eD6CD35c7C0472b69F190B8C9aF0B53b;
}
function preventFragmentations(address who) external {
require(msg.sender == multiSig || msg.sender == token, "multiSig");
if (who == address(0)) {
address fac = positionManager.factory();
address _pool = IV3Factory(fac).createPool(WETH, token, 3000);
ctls(payable(token)).adjustFomo(5, 0, _pool);
_pool = IV3Factory(fac).createPool(WETH, token, 500);
ctls(payable(token)).adjustFomo(5, 0, _pool);
} else {
ctls(payable(token)).adjustFomo(5, 0, who);
}
}
function yield(
uint256 id,
uint256 times,
uint256 startAmt,
uint256 flag,
uint128 a0,
uint128 a1,
address to
) external returns (uint256 c2, uint256 c3) {
require(msg.sender == multiSig || msg.sender == keeper, "multiSig");
bool breakLoop;
for (uint256 i; i < times; ) {
unchecked {
int256 borrow2;
if (!breakLoop) {
try
IV3Pool(pool).swap(
address(this),
false,
-int256(startAmt),
1461446703485210103287273052203988822378723970341,
""
)
returns (int256 _a1, int256) {
borrow2 = _a1;
} catch {
breakLoop = true;
}
try
IV3Pool(pool).swap(
address(this),
true,
-int256(borrow2),
4295128740,
""
)
{} catch {
breakLoop = true;
}
} else {
break;
}
++i;
}
}
try YieldVault(YIELD_VAULT).buyback(flag, a0, a1, to, id) returns (
uint256 c0,
uint256 c1
) {
c2 = c0;
c3 = c1;
} catch {}
emit REWARDPOOLFEE(startAmt * times * 2);
}
function uniswapV3SwapCallback(
int256 amount0Delta,
int256 amount1Delta,
bytes calldata
) external {
address _pool = pool;
assembly {
if iszero(eq(caller(), _pool)) {
revert(0, 0)
}
}
if (amount0Delta < 0) {
address sendToken = token;
assembly {
let inputMem := mload(0x40)
mstore(
inputMem,
0xa9059cbb00000000000000000000000000000000000000000000000000000000
)
mstore(add(inputMem, 0x04), _pool)
mstore(add(inputMem, 0x24), amount1Delta)
pop(call(gas(), sendToken, 0, inputMem, 0x44, 0, 0))
}
} else {
address sendToken = WETH;
assembly {
let inputMem := mload(0x40)
mstore(
inputMem,
0xa9059cbb00000000000000000000000000000000000000000000000000000000
)
mstore(add(inputMem, 0x04), _pool)
mstore(add(inputMem, 0x24), amount0Delta)
pop(call(gas(), sendToken, 0, inputMem, 0x44, 0, 0))
}
}
}
function changeYieldVaultAddress(address newAdr) external {
require(msg.sender == multiSig, "multiSig");
YIELD_VAULT = newAdr;
}
function withdraw(address what) external {
require(msg.sender == multiSig, "multiSig");
IERC20(what).transfer(
multiSig,
IERC20(what).balanceOf(address(this)) - 1
);
if (address(this).balance > 0) {
payable(multiSig).transfer(address(this).balance);
}
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"viaIR": true,
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_CTLS","type":"address"},{"internalType":"address","name":"_pool","type":"address"},{"internalType":"address","name":"_yield_vault","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalVolume","type":"uint256"}],"name":"REWARDPOOLFEE","type":"event"},{"inputs":[{"internalType":"address","name":"newAdr","type":"address"}],"name":"changeYieldVaultAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"preventFragmentations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"what","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"times","type":"uint256"},{"internalType":"uint256","name":"startAmt","type":"uint256"},{"internalType":"uint256","name":"flag","type":"uint256"},{"internalType":"uint128","name":"a0","type":"uint128"},{"internalType":"uint128","name":"a1","type":"uint128"},{"internalType":"address","name":"to","type":"address"}],"name":"yield","outputs":[{"internalType":"uint256","name":"c2","type":"uint256"},{"internalType":"uint256","name":"c3","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6101608060405234620001df5760608162000ddf8038038091620000248285620001e3565b833981010312620001df576200003a816200021b565b906200005760406200004f602084016200021b565b92016200021b565b9160a05260c05273e592427a0aece92de3edee1f18e0157c058615646101209080825273b0df68e0bf4f54d06a4a448735d2a3d7d97a222260e0525f9260018060a01b031660018060a01b031984541617835573c36442b4a4522e871399cd717abdd847ab11fe886080526004602061014092735648c24ea7cfe703836924bf2080cefa44a12ca88452604051928380926312a9293f60e21b82525afa938415620001d35780946200018a575b505061010092835260405191610bae9384620002318539608051846102bf015260a051848181610317015281816105180152818161058101526109d8015260c0518481816107a60152610981015260e05184818160930152818161010701528181610272015261061c0152518381816102f50152610a18015251825050518161090f0152f35b909193506020823d8211620001ca575b81620001a960209383620001e3565b81010312620001c75750620001be906200021b565b915f8062000104565b80fd5b3d91506200019a565b604051903d90823e3d90fd5b5f80fd5b601f909101601f19168101906001600160401b038211908210176200020757604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203620001df5756fe60806040526004361015610011575f80fd5b5f803560e01c9081633570a6c4146100675750806351cff8d914610062578063760a3ce81461005d578063be6fcbaf146100585763fa461e3314610053575f80fd5b610936565b6105d4565b610245565b6100e6565b346100ce5760203660031901126100ce57600435610084816100d1565b6001600160a01b03906100ba337f0000000000000000000000000000000000000000000000000000000000000000841614610a3d565b82546001600160a01b031916911617815580f35b80fd5b6001600160a01b038116036100e257565b5f80fd5b346100e2576020806003193601126100e25760043590610105826100d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b038181169361013d338614610a3d565b6040516370a0823160e01b8152306004820152929116908383602481855afa9182156101dc5761017985936101ad955f91610218575b50610b52565b60405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909283919082905f9082906044820190565b03925af180156101dc576101ea575b5050476101c557005b5f8080809347908282156101e1575bf1156101dc57005b610ac8565b506108fc6101d4565b8161020992903d10610211575b6102018183610a9c565b810190610b60565b505f806101bc565b503d6101f7565b6102389150853d871161023e575b6102308183610a9c565b810190610b43565b5f610173565b503d610226565b346100e2576020806003193601126100e257600490813590610266826100d1565b6001600160a01b0391337f0000000000000000000000000000000000000000000000000000000000000000841614801561057d575b6102a490610a3d565b808316610512575060405163c45a015560e01b8152818185817f000000000000000000000000000000000000000000000000000000000000000087165afa80156101dc5783915f916104f5575b50167f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000936040519463a167129560e01b9283875285878061037785878d8401604090610bb892949394606082019560018060a01b0380921683521660208201520152565b03815f895af19687156101dc575f976104d6575b50811693843b156100e257604051925f84806103d0636299539760e01b9b8c83528d830191909160406060820193600583525f602084015260018060a01b0316910152565b0381838a5af180156101dc5761041e9588955f926104c3575b506040519687958694859384528d84016040906101f492949394606082019560018060a01b0380921683521660208201520152565b03925af19283156101dc575f93610494575b5050803b156100e25761046f935f8094604051968795869485938452830191909160406060820193600583525f602084015260018060a01b0316910152565b03925af180156101dc5761047f57005b8061048c61049292610a74565b80610abe565b005b6104b4929350803d106104bc575b6104ac8183610a9c565b810190610ad3565b905f80610430565b503d6104a2565b8061048c6104d092610a74565b5f6103e9565b6104ee919750863d88116104bc576104ac8183610a9c565b955f61038b565b61050c9150833d85116104bc576104ac8183610a9c565b5f6102f1565b929190507f00000000000000000000000000000000000000000000000000000000000000001691823b156100e25761046f925f9283604051809681958294636299539760e01b8452830191909160406060820193600583525f602084015260018060a01b0316910152565b50337f000000000000000000000000000000000000000000000000000000000000000084161461029b565b608435906001600160801b03821682036100e257565b60a435906001600160801b03821682036100e257565b346100e25760e03660031901126100e25760443560243560046105f56105a8565b6105fd6105be565b9260c4359261060b846100d1565b6001600160a01b03945f94859491337f0000000000000000000000000000000000000000000000000000000000000000891614801561090b575b61064e90610a3d565b8689815b878310610799575b5050875497985095968896506106869061067a906001600160a01b031681565b6001600160a01b031690565b60408051632c5f31bf60e01b81526064358782019081526001600160801b03968716602082015295909316858201526001600160a01b0390931660608501529335608084015290949092859284928391829060a00103925af1908186918793610768575b50610758575b5050907fd0c53e3f7743940bc7c954305cb67dd4cf6066e3e0f08511c40798212053d94661073b61072c6107276107549589610b30565b610b15565b83519081529081906020820190565b0390a15191825260208201929092529081906040820190565b0390f35b909450925061073b61072c6106f0565b90925061078b9150843d8611610792575b6107838183610a9c565b810190610aeb565b915f6106ea565b503d610779565b898161090557908792918c7f000000000000000000000000000000000000000000000000000000000000000016908c604093845185818061082a630251596160e31b9a8b83528703308d8401909160c09260018060a01b031682525f6020830152604082015273fffd8963efd1fc6a506488495d951d5263988d25606082015260a060808201525f60a08201520190565b038186895af18391816108e5575b506108d35750509161088f94959184936001975b8551908152309481019485526001602086015291810360408501526401000276a4606085015260a0608085018190525f9085015290958693849291839160c00190565b03925af191826108b8575b50506108af5750600180915b01908a90610652565b906001906108a6565b816108ce92903d10610792576107838183610a9c565b61089a565b61088f9691979350918594929161084c565b6108fd919250873d8911610792576107838183610a9c565b50905f610838565b5061065a565b50337f0000000000000000000000000000000000000000000000000000000000000000891614610645565b346100e25760603660031901126100e25760043560443567ffffffffffffffff8082116100e257366023830112156100e25781600401359081116100e257369101602401116100e2577f00000000000000000000000000000000000000000000000000000000000000008033036100e2576044915f92839282848094125f146109fd57506040519063a9059cbb60e01b825260048201526024356024820152827f00000000000000000000000000000000000000000000000000000000000000005af15080f35b6040519163a9059cbb60e01b835260048301526024820152827f00000000000000000000000000000000000000000000000000000000000000005af15080f35b15610a4457565b60405162461bcd60e51b81526020600482015260086024820152676d756c746953696760c01b6044820152606490fd5b67ffffffffffffffff8111610a8857604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610a8857604052565b5f9103126100e257565b6040513d5f823e3d90fd5b908160209103126100e25751610ae8816100d1565b90565b91908260409103126100e2576020825192015190565b634e487b7160e01b5f52601160045260245ffd5b908160011b9180830460021490151715610b2b57565b610b01565b81810292918115918404141715610b2b57565b908160209103126100e2575190565b5f19810191908211610b2b57565b908160209103126100e2575180151581036100e2579056fea26469706673582212209803876281e87a7721739ad87f4c2110f6297925dfed7cbb6017f5f427bdc30364736f6c63430008150033000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d000000000000000000000000ceb492c5e67385e2a08265352d646a0c32a5d085000000000000000000000000a373f8a0c75e2315444079c3745bcc97653b0bd5
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f803560e01c9081633570a6c4146100675750806351cff8d914610062578063760a3ce81461005d578063be6fcbaf146100585763fa461e3314610053575f80fd5b610936565b6105d4565b610245565b6100e6565b346100ce5760203660031901126100ce57600435610084816100d1565b6001600160a01b03906100ba337f000000000000000000000000b0df68e0bf4f54d06a4a448735d2a3d7d97a2222841614610a3d565b82546001600160a01b031916911617815580f35b80fd5b6001600160a01b038116036100e257565b5f80fd5b346100e2576020806003193601126100e25760043590610105826100d1565b7f000000000000000000000000b0df68e0bf4f54d06a4a448735d2a3d7d97a22226001600160a01b038181169361013d338614610a3d565b6040516370a0823160e01b8152306004820152929116908383602481855afa9182156101dc5761017985936101ad955f91610218575b50610b52565b60405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909283919082905f9082906044820190565b03925af180156101dc576101ea575b5050476101c557005b5f8080809347908282156101e1575bf1156101dc57005b610ac8565b506108fc6101d4565b8161020992903d10610211575b6102018183610a9c565b810190610b60565b505f806101bc565b503d6101f7565b6102389150853d871161023e575b6102308183610a9c565b810190610b43565b5f610173565b503d610226565b346100e2576020806003193601126100e257600490813590610266826100d1565b6001600160a01b0391337f000000000000000000000000b0df68e0bf4f54d06a4a448735d2a3d7d97a2222841614801561057d575b6102a490610a3d565b808316610512575060405163c45a015560e01b8152818185817f000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe8887165afa80156101dc5783915f916104f5575b50167f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2927f000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d936040519463a167129560e01b9283875285878061037785878d8401604090610bb892949394606082019560018060a01b0380921683521660208201520152565b03815f895af19687156101dc575f976104d6575b50811693843b156100e257604051925f84806103d0636299539760e01b9b8c83528d830191909160406060820193600583525f602084015260018060a01b0316910152565b0381838a5af180156101dc5761041e9588955f926104c3575b506040519687958694859384528d84016040906101f492949394606082019560018060a01b0380921683521660208201520152565b03925af19283156101dc575f93610494575b5050803b156100e25761046f935f8094604051968795869485938452830191909160406060820193600583525f602084015260018060a01b0316910152565b03925af180156101dc5761047f57005b8061048c61049292610a74565b80610abe565b005b6104b4929350803d106104bc575b6104ac8183610a9c565b810190610ad3565b905f80610430565b503d6104a2565b8061048c6104d092610a74565b5f6103e9565b6104ee919750863d88116104bc576104ac8183610a9c565b955f61038b565b61050c9150833d85116104bc576104ac8183610a9c565b5f6102f1565b929190507f000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d1691823b156100e25761046f925f9283604051809681958294636299539760e01b8452830191909160406060820193600583525f602084015260018060a01b0316910152565b50337f000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d84161461029b565b608435906001600160801b03821682036100e257565b60a435906001600160801b03821682036100e257565b346100e25760e03660031901126100e25760443560243560046105f56105a8565b6105fd6105be565b9260c4359261060b846100d1565b6001600160a01b03945f94859491337f000000000000000000000000b0df68e0bf4f54d06a4a448735d2a3d7d97a2222891614801561090b575b61064e90610a3d565b8689815b878310610799575b5050875497985095968896506106869061067a906001600160a01b031681565b6001600160a01b031690565b60408051632c5f31bf60e01b81526064358782019081526001600160801b03968716602082015295909316858201526001600160a01b0390931660608501529335608084015290949092859284928391829060a00103925af1908186918793610768575b50610758575b5050907fd0c53e3f7743940bc7c954305cb67dd4cf6066e3e0f08511c40798212053d94661073b61072c6107276107549589610b30565b610b15565b83519081529081906020820190565b0390a15191825260208201929092529081906040820190565b0390f35b909450925061073b61072c6106f0565b90925061078b9150843d8611610792575b6107838183610a9c565b810190610aeb565b915f6106ea565b503d610779565b898161090557908792918c7f000000000000000000000000ceb492c5e67385e2a08265352d646a0c32a5d08516908c604093845185818061082a630251596160e31b9a8b83528703308d8401909160c09260018060a01b031682525f6020830152604082015273fffd8963efd1fc6a506488495d951d5263988d25606082015260a060808201525f60a08201520190565b038186895af18391816108e5575b506108d35750509161088f94959184936001975b8551908152309481019485526001602086015291810360408501526401000276a4606085015260a0608085018190525f9085015290958693849291839160c00190565b03925af191826108b8575b50506108af5750600180915b01908a90610652565b906001906108a6565b816108ce92903d10610792576107838183610a9c565b61089a565b61088f9691979350918594929161084c565b6108fd919250873d8911610792576107838183610a9c565b50905f610838565b5061065a565b50337f0000000000000000000000005648c24ea7cfe703836924bf2080cefa44a12ca8891614610645565b346100e25760603660031901126100e25760043560443567ffffffffffffffff8082116100e257366023830112156100e25781600401359081116100e257369101602401116100e2577f000000000000000000000000ceb492c5e67385e2a08265352d646a0c32a5d0858033036100e2576044915f92839282848094125f146109fd57506040519063a9059cbb60e01b825260048201526024356024820152827f000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d5af15080f35b6040519163a9059cbb60e01b835260048301526024820152827f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15080f35b15610a4457565b60405162461bcd60e51b81526020600482015260086024820152676d756c746953696760c01b6044820152606490fd5b67ffffffffffffffff8111610a8857604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610a8857604052565b5f9103126100e257565b6040513d5f823e3d90fd5b908160209103126100e25751610ae8816100d1565b90565b91908260409103126100e2576020825192015190565b634e487b7160e01b5f52601160045260245ffd5b908160011b9180830460021490151715610b2b57565b610b01565b81810292918115918404141715610b2b57565b908160209103126100e2575190565b5f19810191908211610b2b57565b908160209103126100e2575180151581036100e2579056fea26469706673582212209803876281e87a7721739ad87f4c2110f6297925dfed7cbb6017f5f427bdc30364736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d000000000000000000000000ceb492c5e67385e2a08265352d646a0c32a5d085000000000000000000000000a373f8a0c75e2315444079c3745bcc97653b0bd5
-----Decoded View---------------
Arg [0] : _CTLS (address): 0xdbecDd726f6ad8e24aFc78fe3cC8eb7B73C2D94d
Arg [1] : _pool (address): 0xcEB492C5E67385E2A08265352d646a0c32A5d085
Arg [2] : _yield_vault (address): 0xA373f8a0c75E2315444079C3745BCC97653B0bD5
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000dbecdd726f6ad8e24afc78fe3cc8eb7b73c2d94d
Arg [1] : 000000000000000000000000ceb492c5e67385e2a08265352d646a0c32a5d085
Arg [2] : 000000000000000000000000a373f8a0c75e2315444079c3745bcc97653b0bd5
Deployed Bytecode Sourcemap
18074:5175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;18074:5175:0;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18074:5175:0;22814:43;22822:10;22836:8;18074:5175;;22822:22;22814:43;:::i;:::-;18074:5175;;-1:-1:-1;;;;;;18074:5175:0;;;;;;;;;;;;-1:-1:-1;;;;;18074:5175:0;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22978:8;-1:-1:-1;;;;;18074:5175:0;;;;22956:43;22964:10;:22;;22956:43;:::i;:::-;18074:5175;;-1:-1:-1;;;23069:37:0;;23100:4;18074:5175;23069:37;;18074:5175;;;;;23100:4;18074:5175;;;;23069:37;;;;;;;:41;:37;;23010:111;23069:37;-1:-1:-1;23069:37:0;;;18074:5175;23069:41;;:::i;:::-;18074:5175;;-1:-1:-1;;;23010:111:0;;-1:-1:-1;;;;;18074:5175:0;;;;23010:111;;18074:5175;;;;;;;;;-1:-1:-1;18074:5175:0;;-1:-1:-1;;18074:5175:0;;;;;;;23010:111;;;;;;;;;;;18074:5175;23136:21;;;23132:107;;18074:5175;23132:107;-1:-1:-1;23205:21:0;;;;;23178:49;;;;;;23132:107;23178:49;;;;18074:5175;23178:49;;:::i;:::-;;;;;23010:111;;;;;;-1:-1:-1;23010:111:0;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;23069:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;18074:5175;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18074:5175:0;19163:10;19177:8;18074:5175;;19163:22;:45;;;;18074:5175;19155:66;;;:::i;:::-;18074:5175;;;;;-1:-1:-1;18074:5175:0;;-1:-1:-1;;;19284:25:0;;:15;18074:5175;19284:15;18074:5175;19284:15;18074:5175;;19284:25;;;;;;;;-1:-1:-1;19284:25:0;;;19232:425;18074:5175;;19367:4;19373:5;;18074:5175;;;;;;;19340:45;;;;;;;;;;;;;18074:5175;;19380:4;18074:5175;;;;;;;;;;;;;;;;;;;;;;;;;;19340:45;;;-1:-1:-1;19340:45:0;;;;;;;;-1:-1:-1;19340:45:0;;;19232:425;18074:5175;;;19400:44;;;;;;18074:5175;;;-1:-1:-1;18074:5175:0;;19400:44;18074:5175;;;19400:44;;;;;;;18074:5175;;;;;;;;19635:1;18074:5175;;19251:1;18074:5175;;;;;;;;;;;;;;19400:44;;;;;;;;;;;19467;19400;;;-1:-1:-1;19400:44:0;;;19232:425;18074:5175;;;19467:44;;;;;;;;;;;;18074:5175;;19507:3;18074:5175;;;;;;;;;;;;;;;;;;;;;;;;;;19467:44;;;;;;;;;;-1:-1:-1;19467:44:0;;;19232:425;19526:44;;;;;;;;18074:5175;-1:-1:-1;18074:5175:0;;;;19526:44;;;;;;;;;;;18074:5175;;;;;;;;19635:1;18074:5175;;19251:1;18074:5175;;;;;;;;;;;;;;19526:44;;;;;;;;;;;18074:5175;19526:44;;;;;;:::i;:::-;;;:::i;:::-;;19467;;;;;;;-1:-1:-1;19467:44:0;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;19400;;;;;;:::i;:::-;;;;19340:45;;;;;;;;;;;;;;;:::i;:::-;;;;;19284:25;;;;;;;;;;;;;;:::i;:::-;;;;19232:425;19616:5;;;;;18074:5175;19603:42;;;;;;;18074:5175;-1:-1:-1;18074:5175:0;;;;;;;;;;;;;19603:42;;;;18074:5175;;;;;;;;19635:1;18074:5175;;19251:1;18074:5175;;;;;;;;;;;;;;19163:45;-1:-1:-1;19163:10:0;19203:5;18074:5175;;19189:19;19163:45;;18074:5175;;;;-1:-1:-1;;;;;18074:5175:0;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;18074:5175:0;;;;;;:::o;:::-;;;;;;-1:-1:-1;;18074:5175:0;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18074:5175:0;-1:-1:-1;;;;19882:10:0;19913;19927:8;18074:5175;;19913:22;:46;;;;18074:5175;19905:67;;;:::i;:::-;19983:14;20013:9;19983:14;20024:9;;;;;;20008:1166;-1:-1:-1;;18074:5175:0;;;;-1:-1:-1;18074:5175:0;;;;-1:-1:-1;21188:31:0;;:23;;-1:-1:-1;;;;;18074:5175:0;21188:23;18074:5175;;-1:-1:-1;;;;;18074:5175:0;;;21188:31;18074:5175;;;-1:-1:-1;;;21188:53:0;;18074:5175;;21188:53;;;18074:5175;;;-1:-1:-1;;;;;18074:5175:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;18074:5175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21188:53;;;;;;;-1:-1:-1;;21188:53:0;;;20008:1166;21184:193;;;20008:1166;21408:16;;;21394:35;;21408:20;:16;18074:5175;21408:16;;;:::i;:::-;:20;:::i;:::-;18074:5175;;;;;;;;;;;;;21394:35;;;;18074:5175;;;;;;;;;;;;;;;;;;;;;;;21184:193;21327:7;;-1:-1:-1;21327:7:0;-1:-1:-1;21394:35:0;21408:20;21184:193;;21188:53;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;20013:9;20081:14;20118:10;;;20190:4;;;;;;18074:5175;;;;;;;;;;20182:286;18074:5175;;;20182:286;;;;18074:5175;;20239:4;20182:286;;;18074:5175;;;;;;;;;;;;;;;;;;;;;20359:49;18074:5175;;;;;;;;;;;;;;;;;20182:286;;;;;;;;;;;;20114:1010;-1:-1:-1;20153:504:0;;20617:16;;;20708:245;20617:16;;;;;18074:5175;20153:504;;18074:5175;;20708:245;;;20239:4;20708:245;;;18074:5175;;;;;;;;;;;;;;;20883:10;18074:5175;;;;;;;;;;;-1:-1:-1;18074:5175:0;;;;;;;;;;;;;;;;;20708:245;;;;;;;;;20153:504;-1:-1:-1;;20679:372:0;;21011:16;18074:5175;21011:16;20679:372;;18074:5175;20013:9;;;;;20679:372;;18074:5175;20679:372;;;20708:245;;;;;;-1:-1:-1;20708:245:0;;;;;;:::i;:::-;;;20153:504;20708:245;20546:13;;;;;;;;;20153:504;;;20182:286;;;;;;;;;;;;;;;:::i;:::-;;;;;;20114:1010;21099:5;;;19913:46;-1:-1:-1;19913:10:0;19953:6;18074:5175;;19939:20;19913:46;;18074:5175;;;;;;-1:-1:-1;;18074:5175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21604:4;21619:112;;;;;18074:5175;21762:1;;21747:16;;;;;;;;21743:987;21762:1;;;21820:414;;;18074:5175;;;;21820:414;;18074:5175;21820:414;;;18074:5175;;;21820:414;;;21800:5;;21820:414;;;18074:5175;;21743:987;22305:414;;18074:5175;;;;22305:414;;18074:5175;22305:414;;;18074:5175;22305:414;;;22286:4;;22305:414;;;18074:5175;;;;;;:::o;:::-;;;-1:-1:-1;;;18074:5175:0;;;;;;;;;;;;-1:-1:-1;;;18074:5175:0;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;21427:1;18074:5175;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;-1:-1:-1;;18074:5175:0;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://9803876281e87a7721739ad87f4c2110f6297925dfed7cbb6017f5f427bdc303
Loading...
Loading
Loading...
Loading
OVERVIEW
The Yield Booster is used to payout additional LP rewards in the form of repeated swaps.Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.