ETH Price: $2,048.00 (-1.32%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Yield187676412023-12-12 4:11:11808 days ago1702354271IN
ChainTools: Yield Booster
0 ETH0.0123481928.43751164
Yield187676222023-12-12 4:07:11808 days ago1702354031IN
ChainTools: Yield Booster
0 ETH0.0142308733.67703278
Yield187345182023-12-07 12:48:59812 days ago1701953339IN
ChainTools: Yield Booster
0 ETH0.0154816737.74949593
Yield186987092023-12-02 12:26:11817 days ago1701519971IN
ChainTools: Yield Booster
0 ETH0.0160476929.38396064
Yield186697262023-11-28 11:08:35821 days ago1701169715IN
ChainTools: Yield Booster
0 ETH0.0158863334.79556956
Yield186059872023-11-19 12:54:59830 days ago1700398499IN
ChainTools: Yield Booster
0 ETH0.0072797114.5640881
Yield185770972023-11-15 11:50:35834 days ago1700049035IN
ChainTools: Yield Booster
0 ETH0.0131891525.29953182
Yield185544552023-11-12 7:50:47837 days ago1699775447IN
ChainTools: Yield Booster
0 ETH0.0175716819.84008112
Yield185397152023-11-10 6:19:59839 days ago1699597199IN
ChainTools: Yield Booster
0 ETH0.0193007833.92673539
Yield185185492023-11-07 7:20:59842 days ago1699341659IN
ChainTools: Yield Booster
0 ETH0.0146640824.10631519
Yield184842152023-11-02 11:51:35847 days ago1698925895IN
ChainTools: Yield Booster
0 ETH0.0185084227.80479558
Yield184615572023-10-30 7:42:23850 days ago1698651743IN
ChainTools: Yield Booster
0 ETH0.0075901212.44333557
Yield184467712023-10-28 5:59:59852 days ago1698472799IN
ChainTools: Yield Booster
0 ETH0.004947059.57666573
Yield184372042023-10-26 21:55:23854 days ago1698357323IN
ChainTools: Yield Booster
0 ETH0.0118117623.03090096
Yield184127922023-10-23 11:52:47857 days ago1698061967IN
ChainTools: Yield Booster
0 ETH0.0099177914.06675946
Yield183979342023-10-21 9:57:11859 days ago1697882231IN
ChainTools: Yield Booster
0 ETH0.00525657.65488427
Yield183911132023-10-20 11:02:59860 days ago1697799779IN
ChainTools: Yield Booster
0 ETH0.0084435614.04678559
Yield183774312023-10-18 13:07:35862 days ago1697634455IN
ChainTools: Yield Booster
0 ETH0.0067148212.75575769
Yield183689802023-10-17 8:44:35863 days ago1697532275IN
ChainTools: Yield Booster
0 ETH0.003529066.83048938
Yield183650412023-10-16 19:31:23864 days ago1697484683IN
ChainTools: Yield Booster
0 ETH0.006498812.5851877
Yield183536452023-10-15 5:18:59865 days ago1697347139IN
ChainTools: Yield Booster
0 ETH0.004947236.21326294
Yield183409452023-10-13 10:42:11867 days ago1697193731IN
ChainTools: Yield Booster
0 ETH0.003628435.82029462
Yield183262272023-10-11 9:12:35869 days ago1697015555IN
ChainTools: Yield Booster
0 ETH0.005777939.59834237
Yield183205692023-10-10 14:11:47870 days ago1696947107IN
ChainTools: Yield Booster
0 ETH0.0058506511.29439724
Yield183129612023-10-09 12:37:35871 days ago1696855055IN
ChainTools: Yield Booster
0 ETH0.004809189.56144782
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer230659532025-08-04 6:36:47206 days ago1754289407
ChainTools: Yield Booster
0.01796303 ETH
Transfer230659532025-08-04 6:36:47206 days ago1754289407
ChainTools: Yield Booster
0.03592606 ETH
Transfer230659532025-08-04 6:36:47206 days ago1754289407
ChainTools: Yield Booster
0.05388909 ETH
Transfer187234952023-12-05 23:43:23814 days ago1701819803
ChainTools: Yield Booster
0.04 ETH
Transfer187234952023-12-05 23:43:23814 days ago1701819803
ChainTools: Yield Booster
0.08 ETH
Transfer187234952023-12-05 23:43:23814 days ago1701819803
ChainTools: Yield Booster
0.12 ETH
Transfer186958062023-12-02 2:42:47818 days ago1701484967
ChainTools: Yield Booster
0.0547 ETH
Transfer186958062023-12-02 2:42:47818 days ago1701484967
ChainTools: Yield Booster
0.1094 ETH
Transfer186958062023-12-02 2:42:47818 days ago1701484967
ChainTools: Yield Booster
0.1641 ETH
Transfer184026222023-10-22 1:40:47859 days ago1697938847
ChainTools: Yield Booster
0.002 ETH
Transfer184026222023-10-22 1:40:47859 days ago1697938847
ChainTools: Yield Booster
0.004 ETH
Transfer184026222023-10-22 1:40:47859 days ago1697938847
ChainTools: Yield Booster
0.006 ETH
Transfer183709752023-10-17 15:25:59863 days ago1697556359
ChainTools: Yield Booster
0.02287734 ETH
Transfer183709752023-10-17 15:25:59863 days ago1697556359
ChainTools: Yield Booster
0.04575469 ETH
Transfer183709752023-10-17 15:25:59863 days ago1697556359
ChainTools: Yield Booster
0.06863204 ETH
Transfer183686612023-10-17 7:40:23863 days ago1697528423
ChainTools: Yield Booster
0.006 ETH
Transfer183686612023-10-17 7:40:23863 days ago1697528423
ChainTools: Yield Booster
0.012 ETH
Transfer183686612023-10-17 7:40:23863 days ago1697528423
ChainTools: Yield Booster
0.018 ETH
Transfer183670822023-10-17 2:21:23864 days ago1697509283
ChainTools: Yield Booster
0.0001 ETH
Transfer183670822023-10-17 2:21:23864 days ago1697509283
ChainTools: Yield Booster
0.0002 ETH
Transfer183670822023-10-17 2:21:23864 days ago1697509283
ChainTools: Yield Booster
0.0003 ETH
Transfer183445932023-10-13 22:57:23867 days ago1697237843
ChainTools: Yield Booster
0.009 ETH
Transfer183445932023-10-13 22:57:23867 days ago1697237843
ChainTools: Yield Booster
0.018 ETH
Transfer183445932023-10-13 22:57:23867 days ago1697237843
ChainTools: Yield Booster
0.027 ETH
Transfer183360952023-10-12 18:22:59868 days ago1697134979
ChainTools: Yield Booster
0.02124815 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ChainToolsYieldBooster

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
File 1 of 1 : YieldBooster.sol
//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);
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "viaIR": true,
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

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"}]

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

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

The Yield Booster is used to payout additional LP rewards in the form of repeated swaps.

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.