Contract 0x0b600def612e837dfbfb7eaa11b65d33871a8763

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x65babe6b7a3e46268229e30894f20acc9631d3ad379621d16d317bfc834d7a56Convert376910542023-01-05 5:59:4776 days 10 hrs ago0x5c70b3f22595caf8314f77dabc628363aaee18ad IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.00403835262639.526202924
0xdbb7eeb76e9a4fa683c196ee88a97d79da3f5b5ac603a544d131f3c362728995Convert369364202022-12-17 10:58:0295 days 5 hrs ago0x8e29facd52fdb0e4a4addc08c601127535a364a4 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.008648458867 83.794776356
0xb4ff99fac02d20f608ba7397f4181dcdf3466c6bdabb8b52920e94b2f229ee6dConvert354501492022-11-10 20:00:46131 days 20 hrs ago0x8e29facd52fdb0e4a4addc08c601127535a364a4 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.005745954179 55.762683342
0x5d64d7929ce6eab600e2eb13ada5ed0d43744134fe052042d3d3635bf735e973Convert Multiple354454472022-11-10 17:18:59131 days 23 hrs ago0x8e29facd52fdb0e4a4addc08c601127535a364a4 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.004621626255 135.934182036
0xa29c9d1848eefb4fcd5256da818a1f2cbd8f39a621b7a60ac7f7ebd619c686a1Convert354236322022-11-10 4:46:14132 days 11 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.02031540296 68.469346833
0x86bc6e4bea8773d16d12065c379847c7355b6a069211c2e81b70ccad29448813Convert354235852022-11-10 4:44:36132 days 11 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.0367534 100
0x2686ebb0e658734d42d026d6697973387571948d67cbc2b7c304c3d04ce37a06Convert354235572022-11-10 4:43:40132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.0407434 100
0xcba9c06df5293268ad0b675815b3cebc940d1a153c87345f5f6c55872518e93fConvert354235262022-11-10 4:42:20132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.05193864 130
0x1354002119c88ef9ed036326248c0361f08f74a863357677fb75179b2bce64a4Convert354233672022-11-10 4:36:37132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.033186697465 86.581296333
0x4f806dd6a29674c0f3f33709924a27ad85ee34682a7a0f8b7873ed16dec8460dConvert354233312022-11-10 4:35:21132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.038176347135 98.15459706
0xe02dbbde35378ee851275222f0067d2d21ae1372398ddeb56f5fac48a440dbbeConvert354232812022-11-10 4:33:37132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.057688968549 146.758406641
0x8d71905897c0f96505345466b4dbfa90313c41bdf89b82a50f04cdbd13c42a46Convert354232222022-11-10 4:31:35132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.076152564814 188.676250424
0xb3cfc5a027bba1a936244ad7de2a19e5db1e42f9b5a7f3f38ca587bdd0c34fb4Convert354231472022-11-10 4:29:01132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.109266830766 223.90331073
0xb732fd6586dc6e83bc64d623985edb684f4ae1ad899d9bf2b01f860fd32a8062Convert354231052022-11-10 4:27:37132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.106095870302 359.911766631
0x73cf458be46142dd9f11d93e0c54b5c75fb6ca646fc6ccd2352649fea5638b44Convert354227972022-11-10 4:17:01132 days 12 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.028516227892 77.559089221
0xd1cae4eca5cf19456852126b942484d7f576b1b09850b05299aa07504a892c83Convert Multiple354090862022-11-09 20:22:28132 days 20 hrs ago0x8e29facd52fdb0e4a4addc08c601127535a364a4 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.011977913823 385.551029189
0x6da3a7dd11a7843f20813a1fb7297e62ad0ff69e664d2bc5b66ed5f6bdf0f243Convert354020602022-11-09 16:15:35133 days 28 mins ago0xb5d3499f0ba815337de999bb73417c4f353dfddf IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.084194910251211.336319291
0x062bc639dca31415a260c8b44ac346cf22cf7ca9c691ec842cdaba257222f6eeConvert354018332022-11-09 16:07:45133 days 36 mins ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.053201121759580.595444378
0xdeda6416d2b91c6b4fdc32ec541a999e07095676ec4ddfc863c2dbc15ba39a4bConvert354013832022-11-09 15:50:09133 days 53 mins ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.203283205417539.726703724
0xbd69f973bf57e6f95c9ece8124b227afceddc7f9df3a5b309d131f60ff49290eConvert354013442022-11-09 15:48:51133 days 55 mins ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.056125211629610.215834889
0x90da5a1e6d836effb3cd6a22a15915a1db7e867bd6d3773abe8d25924001ae63Convert354012602022-11-09 15:45:55133 days 58 mins ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.0965556932531,062.628000365
0x2ff0610197cb0357ee0beda2af78fade455ad6ea2347275aeeff507788f8d251Convert354011002022-11-09 15:40:27133 days 1 hr ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.375055917817981.382464439
0xa09b1425758bc7cd2732d1278641cb09adbb0d014c9ed00e1d4908fba349be49Convert354009262022-11-09 15:34:27133 days 1 hr ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.040115720441440.691652566
0x0b63afb1207d25898f0eda0f7e977a32fb82124e9f899b202e19d9042a8113d4Convert354009232022-11-09 15:34:21133 days 1 hr ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.045752213687449.29994783
0xc1aa7b35c659708d772dff6f5c75e6f5890f9fcb93a10fc869b35164e4e3e5aaConvert354002942022-11-09 15:12:43133 days 1 hr ago0xff12e082cd3098f0ebb690b07f0a7e4b54601852 IN  0x0b600def612e837dfbfb7eaa11b65d33871a87630 MATIC0.021685890221236.968007311
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
QuickConverter

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-10-23
*/

/**
 *Submitted for verification at polygonscan.com on 2021-06-18
*/

// File: contracts/libraries/SafeMath.sol

pragma solidity =0.6.12;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }

    function div(uint a, uint b) internal pure returns (uint256) {
        require(b > 0, "division by zero");
        return a / b;
    }
}

// File: contracts/interfaces/IERC20.sol

pragma solidity >=0.5.0;

interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint 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 (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

// File: contracts/libraries/SafeERC20.sol


pragma solidity 0.6.12;


library SafeERC20 {
    function safeSymbol(IERC20 token) internal view returns(string memory) {
        (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x95d89b41));
        return success && data.length > 0 ? abi.decode(data, (string)) : "???";
    }

    function safeName(IERC20 token) internal view returns(string memory) {
        (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x06fdde03));
        return success && data.length > 0 ? abi.decode(data, (string)) : "???";
    }

    function safeDecimals(IERC20 token) public view returns (uint8) {
        (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x313ce567));
        return success && data.length == 32 ? abi.decode(data, (uint8)) : 18;
    }

    function safeTransfer(IERC20 token, address to, uint256 amount) internal {
        (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(0xa9059cbb, to, amount));
        require(success && (data.length == 0 || abi.decode(data, (bool))), "SafeERC20: Transfer failed");
    }

    function safeTransferFrom(IERC20 token, address from, uint256 amount) internal {
        (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(0x23b872dd, from, address(this), amount));
        require(success && (data.length == 0 || abi.decode(data, (bool))), "SafeERC20: TransferFrom failed");
    }
}

// File: @uniswap/v2-core/contracts/interfaces/IUniswapV2ERC20.sol

pragma solidity >=0.5.0;

interface IUniswapV2ERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint 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 (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint 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 (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
}

// File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol

pragma solidity >=0.5.0;

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint 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 (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint 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 (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    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 (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

// File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol

pragma solidity >=0.5.0;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    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(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

// File: contracts/Ownable.sol



pragma solidity 0.6.12;

// Source: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol + Claimable.sol

contract OwnableData {
    address public owner;
    address public pendingOwner;
}

contract Ownable is OwnableData {
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () internal {
        owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    function transferOwnership(address newOwner, bool direct, bool renounce) public onlyOwner {
        if (direct) {
            require(newOwner != address(0) || renounce, "Ownable: zero address");

            // Effects
            emit OwnershipTransferred(owner, newOwner);
            owner = newOwner;
        } else {
            pendingOwner = newOwner;
        }
    }

    function claimOwnership() public {
        address _pendingOwner = pendingOwner;

        require(msg.sender == _pendingOwner, "Ownable: caller != pending owner");

        emit OwnershipTransferred(owner, _pendingOwner);
        owner = _pendingOwner;
        pendingOwner = address(0);
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Ownable: caller is not the owner");
        _;
    }
}

// File: contracts/QuickConverter.sol



// P1 - P3: OK
pragma solidity 0.6.12;







//QUICK LAIR'S CONVERTER CONTRACT. This contract converts all tokens into QUICK

contract QuickConverter is Ownable {
    using SafeMath for uint256;
    using SafeERC20 for IERC20;

    // V1 - V5: OK
    IUniswapV2Factory public immutable factory;
    //0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32
    // V1 - V5: OK
    address public immutable dragonLair;
    // V1 - V5: OK
    address public immutable quick;
    //0x831753dd7087cac61ab5644b308642cc1c33dc13
    // V1 - V5: OK
    address public immutable weth;
    //0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619

    address public treasury;
    //0x476307DaC3FD170166e007FCaA14F0A129721463

    // V1 - V5: OK
    mapping(address => address) internal _bridges;

    // E1: OK
    event LogBridgeSet(address indexed token, address indexed bridge);
    // E1: OK
    event LogConvert(
        address indexed server,
        address indexed token0,
        address indexed token1,
        uint256 amount0,
        uint256 amount1,
        uint256 amountQUICK
    );

    event TreasuryChanged(address indexed treasury);

    constructor(
        address _factory,
        address _dragonLair,
        address _quick,
        address _weth,
        address _treasury
    ) public {
        factory = IUniswapV2Factory(_factory);
        dragonLair = _dragonLair;
        quick = _quick;
        weth = _weth;
        treasury = _treasury;
    }

    // F1 - F10: OK
    // C1 - C24: OK
    function bridgeFor(address token) public view returns (address bridge) {
        bridge = _bridges[token];
        if (bridge == address(0)) {
            bridge = weth;
        }
    }

    // F1 - F10: OK
    // C1 - C24: OK
    function setBridge(address token, address bridge) external onlyOwner {
        // Checks
        require(
            token != quick && token != weth && token != bridge,
            "QuickConverter: Invalid bridge"
        );

        // Effects
        _bridges[token] = bridge;
        emit LogBridgeSet(token, bridge);
    }

    function changeTreasury(address _treasury) external onlyOwner {
        require(_treasury != address(0), "Inavlid treasury");
        treasury = _treasury;

        emit TreasuryChanged(treasury);
    }

    // M1 - M5: OK
    // C1 - C24: OK
    // C6: It's not a fool proof solution, but it prevents flash loans, so here it's ok to use tx.origin
    modifier onlyEOA() {
        // Try to make flash-loan exploit harder to do by only allowing externally owned addresses.
        require(msg.sender == tx.origin, "QuickConverter: must use EOA");
        _;
    }

    // F1 - F10: OK
    // F3: _convert is separate to save gas by only checking the 'onlyEOA' modifier once in case of convertMultiple
    // F6: There is an exploit to add lots of QUICK to the dragonLair, run convert, then remove the QUICK again.
    //     As the size of the DragonLair has grown, this requires large amounts of funds and isn't super profitable anymore
    //     The onlyEOA modifier prevents this being done with a flash loan.
    // C1 - C24: OK
    function convert(address token0, address token1) external onlyEOA() {
        _convert(token0, token1);
    }


    // F1 - F10: OK, see convert
    // C1 - C24: OK
    // C3: Loop is under control of the caller
    function convertMultiple(
        address[] calldata token0,
        address[] calldata token1
    ) external onlyEOA() {
        // TODO: This can be optimized a fair bit, but this is safer and simpler for now
        uint256 len = token0.length;
        for (uint256 i = 0; i < len; i++) {
            _convert(token0[i], token1[i]);
        }
    }

    // F1 - F10: OK
    // C1- C24: OK
    function _convert(address token0, address token1) internal {
        // Interactions
        // S1 - S4: OK
        IUniswapV2Pair pair = IUniswapV2Pair(factory.getPair(token0, token1));
        require(address(pair) != address(0), "QuickConverter: Invalid pair");
        // balanceOf: S1 - S4: OK
        // transfer: X1 - X5: OK
        IERC20(address(pair)).safeTransfer(
            address(pair),
            pair.balanceOf(address(this))
        );
        // X1 - X5: OK
        (uint256 amount0, uint256 amount1) = pair.burn(address(this));
        if (token0 != pair.token0()) {
            (amount0, amount1) = (amount1, amount0);
        }

        if (amount0 > 0 || amount1 > 0) {
            _convertStep(token0, token1, amount0, amount1);

            uint256 amountQUICK = IERC20(quick).balanceOf(address(this));

            uint256 dragonLairShare = amountQUICK.mul(80).div(100);
            uint256 treasuryShare = amountQUICK.sub(dragonLairShare);
            IERC20(quick).safeTransfer(dragonLair, dragonLairShare);
            IERC20(quick).safeTransfer(treasury, treasuryShare);
            emit LogConvert(
                msg.sender,
                token0,
                token1,
                amount0,
                amount1,
                amountQUICK    
            );
        }    
        
    }

    // F1 - F10: OK
    // C1 - C24: OK
    // All _swap, _toQUICK, _convertStep: X1 - X5: OK
    function _convertStep(
        address token0,
        address token1,
        uint256 amount0,
        uint256 amount1
    ) internal returns (uint256 quickOut) {
        // Interactions
        if (token0 == token1) {
            uint256 amount = amount0.add(amount1);
            if (token0 == quick) {
                quickOut = amount;
            } else if (token0 == weth) {
                quickOut = _toQUICK(weth, amount);
            } else {
                address bridge = bridgeFor(token0);
                amount = _swap(token0, bridge, amount, address(this));
                quickOut = _convertStep(bridge, bridge, amount, 0);
            }
        } else if (token0 == quick) {
            // eg. QUICK - ETH
            quickOut = _toQUICK(token1, amount1).add(amount0);
        } else if (token1 == quick) {
            // eg. USDT - QUICK
            quickOut = _toQUICK(token0, amount0).add(amount1);
        } else if (token0 == weth) {
            // eg. ETH - USDC
            quickOut = _toQUICK(
                weth,
                _swap(token1, weth, amount1, address(this)).add(amount0)
            );
        } else if (token1 == weth) {
            // eg. USDT - ETH
            quickOut = _toQUICK(
                weth,
                _swap(token0, weth, amount0, address(this)).add(amount1)
            );
        } else {
            // eg. MIC - USDT
            address bridge0 = bridgeFor(token0);
            address bridge1 = bridgeFor(token1);
            if (bridge0 == token1) {
                // eg. MIC - USDT - and bridgeFor(MIC) = USDT
                quickOut = _convertStep(
                    bridge0,
                    token1,
                    _swap(token0, bridge0, amount0, address(this)),
                    amount1
                );
            } else if (bridge1 == token0) {
                // eg. WBTC - DSD - and bridgeFor(DSD) = WBTC
                quickOut = _convertStep(
                    token0,
                    bridge1,
                    amount0,
                    _swap(token1, bridge1, amount1, address(this))
                );
            } else {
                quickOut = _convertStep(
                    bridge0,
                    bridge1, // eg. USDT - DSD - and bridgeFor(DSD) = WBTC
                    _swap(token0, bridge0, amount0, address(this)),
                    _swap(token1, bridge1, amount1, address(this))
                );
            }
        }
    }

    // F1 - F10: OK
    // C1 - C24: OK
    // All safeTransfer, swap: X1 - X5: OK
    function _swap(
        address fromToken,
        address toToken,
        uint256 amountIn,
        address to
    ) internal returns (uint256 amountOut) {
        // Checks
        // X1 - X5: OK
        IUniswapV2Pair pair =
            IUniswapV2Pair(factory.getPair(fromToken, toToken));
        require(address(pair) != address(0), "QuickConverter: Cannot convert");
        

        IERC20(fromToken).safeTransfer(address(pair), amountIn);

        // Interactions
        // X1 - X5: OK
        (uint256 reserve0, uint256 reserve1, ) = pair.getReserves();
        if (fromToken == pair.token0()) {
            uint256 amountInput = IERC20(fromToken).balanceOf(address(pair)).sub(reserve0);
            uint256 amountInWithFee = amountInput.mul(997);
            amountOut =
                amountInWithFee.mul(reserve1) /
                reserve0.mul(1000).add(amountInWithFee);
            
            pair.swap(0, amountOut, to, new bytes(0));
            // TODO: Add maximum slippage?
        } else {
            uint256 amountInput = IERC20(fromToken).balanceOf(address(pair)).sub(reserve1);
            uint256 amountInWithFee = amountInput.mul(997);
            amountOut =
                amountInWithFee.mul(reserve0) /
                reserve1.mul(1000).add(amountInWithFee);
            pair.swap(amountOut, 0, to, new bytes(0));
            // TODO: Add maximum slippage?
        }
    }

    // F1 - F10: OK
    // C1 - C24: OK
    function _toQUICK(address token, uint256 amountIn)
        internal
        returns (uint256 amountOut)
    {
        // X1 - X5: OK
        amountOut = _swap(token, quick, amountIn, address(this));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_dragonLair","type":"address"},{"internalType":"address","name":"_quick","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"bridge","type":"address"}],"name":"LogBridgeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"server","type":"address"},{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountQUICK","type":"uint256"}],"name":"LogConvert","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"treasury","type":"address"}],"name":"TreasuryChanged","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"bridgeFor","outputs":[{"internalType":"address","name":"bridge","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"changeTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"}],"name":"convert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"token0","type":"address[]"},{"internalType":"address[]","name":"token1","type":"address[]"}],"name":"convertMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dragonLair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quick","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"bridge","type":"address"}],"name":"setBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bool","name":"direct","type":"bool"},{"internalType":"bool","name":"renounce","type":"bool"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

61010060405234801561001157600080fd5b50604051612c39380380612c39833981810160405260a081101561003457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505060805160601c60a05160601c60c05160601c60e05160601c6129656102d4600039806108a65280610c175280610e875280611ac35280611b1a5280611c695280611cc05280611ce95280611d2b5280611d825280611dab525080610bc052806111b652806115c252806116ed528061175a5280611a675280611b7b5280611bf2528061210a525080610ab752806116cb52508061116c52806111dc528061213d52506129656000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639d22ae8c1161008c578063bd1b820c11610066578063bd1b820c14610409578063c45a01551461046d578063e30c3978146104a1578063fdd3a879146104d5576100ea565b80639d22ae8c146102f3578063a761a93914610357578063b14f2a39146103c5576100ea565b80634e71e0c8116100c85780634e71e0c81461024d57806361d027b31461025757806375dbbba81461028b5780638da5cb5b146102bf576100ea565b8063078dfbe7146100ef578063303e6aa41461014b5780633fc8cef314610219575b600080fd5b6101496004803603606081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610509565b005b6102176004803603604081101561016157600080fd5b810190808035906020019064010000000081111561017e57600080fd5b82018360208201111561019057600080fd5b803590602001918460208302840111640100000000831117156101b257600080fd5b9091929391929390803590602001906401000000008111156101d357600080fd5b8201836020820111156101e557600080fd5b8035906020019184602083028401116401000000008311171561020757600080fd5b9091929391929390505050610781565b005b6102216108a4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102556108c8565b005b61025f610a8f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610293610ab5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c7610ad9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103556004803603604081101561030957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610afd565b005b6103996004803603602081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dec565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eae565b005b61046b6004803603604081101561041f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110bb565b005b61047561116a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104a961118e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104dd6111b4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b811561073a57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806106095750805b61067b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f776e61626c653a207a65726f2061646472657373000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061077c565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b600084849050905060005b8181101561089c5761088f86868381811061084457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061086d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166111d8565b808060010191505061082d565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657281525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610c6657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610c9e57508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610d10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a20496e76616c696420627269646765000081525060200191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b0061360405160405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ea9577f000000000000000000000000000000000000000000000000000000000000000090505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611012576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e61766c69642074726561737572790000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc714d22a2f08b695f81e7c707058db484aa5b4d6b4c9fd64beb10fe85832f60860405160405180910390a250565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b61116682826111d8565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d60208110156112a957600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a20496e76616c696420706169720000000081525060200191505060405180910390fd5b61142b818273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113ca57600080fd5b505afa1580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b505050506040513d60408110156114c057600080fd5b810190808051906020019092919080519060200190929190505050915091508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561152557600080fd5b505afa158015611539573d6000803e3d6000fd5b505050506040513d602081101561154f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461159d57808280925081935050505b60008211806115ac5750600081115b1561182e576115bd85858484611a18565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561164757600080fd5b505afa15801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b8101908080519060200190929190505050905060006116ad606461169f605085611ede90919063ffffffff16565b611f7390919063ffffffff16565b905060006116c48284611ffc90919063ffffffff16565b90506117317f0000000000000000000000000000000000000000000000000000000000000000837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b61179e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c1588888860405180848152602001838152602001828152602001935050505060405180910390a45050505b5050505050565b600060608473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106118f857805182526020820191506020810190506020830392506118d5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461195a576040519150601f19603f3d011682016040523d82523d6000602084013e61195f565b606091505b509150915081801561199f575060008151148061199e575080806020019051602081101561198c57600080fd5b81019080805190602001909291905050505b5b611a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5361666545524332303a205472616e73666572206661696c656400000000000081525060200191505060405180910390fd5b5050505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611b79576000611a63838561207f90919063ffffffff16565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611ac157809150611b73565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611b4657611b3f7f000000000000000000000000000000000000000000000000000000000000000082612102565b9150611b72565b6000611b5187610dec565b9050611b5f87828430612138565b9150611b6e8182846000611a18565b9250505b5b50611ed6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611bf057611be983611bdb8685612102565b61207f90919063ffffffff16565b9050611ed5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611c6757611c6082611c528786612102565b61207f90919063ffffffff16565b9050611ed4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611d2957611d227f0000000000000000000000000000000000000000000000000000000000000000611d1d85611d0f887f00000000000000000000000000000000000000000000000000000000000000008830612138565b61207f90919063ffffffff16565b612102565b9050611ed3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611deb57611de47f0000000000000000000000000000000000000000000000000000000000000000611ddf84611dd1897f00000000000000000000000000000000000000000000000000000000000000008930612138565b61207f90919063ffffffff16565b612102565b9050611ed2565b6000611df686610dec565b90506000611e0386610dec565b90508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e5757611e508287611e4a8a868a30612138565b87611a18565b9250611ecf565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ea957611ea2878287611e9d8a868a30612138565b611a18565b9250611ece565b611ecb8282611eba8a868a30612138565b611ec68a868a30612138565b611a18565b92505b5b50505b5b5b5b5b949350505050565b600080821480611efb5750828283850292508281611ef857fe5b04145b611f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000808211611fea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6469766973696f6e206279207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b818381611ff357fe5b04905092915050565b6000828284039150811115612079576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008282840191508110156120fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000612130837f00000000000000000000000000000000000000000000000000000000000000008430612138565b905092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390587876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156121e057600080fd5b505afa1580156121f4573d6000803e3d6000fd5b505050506040513d602081101561220a57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a2043616e6e6f7420636f6e76657274000081525060200191505060405180910390fd5b6122eb81858873ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561233457600080fd5b505afa158015612348573d6000803e3d6000fd5b505050506040513d606081101561235e57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ee57600080fd5b505afa158015612402573d6000803e3d6000fd5b505050506040513d602081101561241857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156126c2576000612512838a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156124c957600080fd5b505afa1580156124dd573d6000803e3d6000fd5b505050506040513d60208110156124f357600080fd5b8101908080519060200190929190505050611ffc90919063ffffffff16565b9050600061252b6103e583611ede90919063ffffffff16565b9050612554816125466103e887611ede90919063ffffffff16565b61207f90919063ffffffff16565b6125678483611ede90919063ffffffff16565b8161256e57fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f6000888a600067ffffffffffffffff811180156125a957600080fd5b506040519080825280601f01601f1916602001820160405280156125dc5781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612654578082015181840152602081019050612639565b50505050905090810190601f1680156126815780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156126a357600080fd5b505af11580156126b7573d6000803e3d6000fd5b505050505050612924565b6000612778828a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561272f57600080fd5b505afa158015612743573d6000803e3d6000fd5b505050506040513d602081101561275957600080fd5b8101908080519060200190929190505050611ffc90919063ffffffff16565b905060006127916103e583611ede90919063ffffffff16565b90506127ba816127ac6103e886611ede90919063ffffffff16565b61207f90919063ffffffff16565b6127cd8583611ede90919063ffffffff16565b816127d457fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f8760008a600067ffffffffffffffff8111801561280f57600080fd5b506040519080825280601f01601f1916602001820160405280156128425781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156128ba57808201518184015260208101905061289f565b50505050905090810190601f1680156128e75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561290957600080fd5b505af115801561291d573d6000803e3d6000fd5b5050505050505b50505094935050505056fea26469706673582212206c4437f38c17a5ccf4a490f8ea565e810bc90a668045bf95c65e594248446c5664736f6c634300060c00330000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000958d208cdf087843e9ad98d23823d32e17d723a1000000000000000000000000b5c064f955d8e7f38fe0460c556a72987494ee170000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000958d208cdf087843e9ad98d23823d32e17d723a1000000000000000000000000b5c064f955d8e7f38fe0460c556a72987494ee170000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

-----Decoded View---------------
Arg [0] : _factory (address): 0x5757371414417b8c6caad45baef941abc7d3ab32
Arg [1] : _dragonLair (address): 0x958d208cdf087843e9ad98d23823d32e17d723a1
Arg [2] : _quick (address): 0xb5c064f955d8e7f38fe0460c556a72987494ee17
Arg [3] : _weth (address): 0x7ceb23fd6bc0add59e62ac25578270cff1b9f619
Arg [4] : _treasury (address): 0xcf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32
Arg [1] : 000000000000000000000000958d208cdf087843e9ad98d23823d32e17d723a1
Arg [2] : 000000000000000000000000b5c064f955d8e7f38fe0460c556a72987494ee17
Arg [3] : 0000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619
Arg [4] : 000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f


Deployed ByteCode Sourcemap

9388:9503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8380:385;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12670:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9806:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8773:301;;;:::i;:::-;;9894:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9637:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8058:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11041:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10801:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11386:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12446:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9518:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8085:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9699:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8380:385;9136:5;;;;;;;;;;9122:19;;:10;:19;;;9114:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8485:6:::1;8481:277;;;8536:1;8516:22;;:8;:22;;;;:34;;;;8542:8;8516:34;8508:68;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8650:8;8622:37;;8643:5;::::0;::::1;;;;;;;;8622:37;;;;;;;;;;;;8682:8;8674:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;8481:277;;;8738:8;8723:12;;:23;;;;;;;;;;;;;;;;;;8481:277;8380:385:::0;;;:::o;12670:360::-;11901:9;11887:23;;:10;:23;;;11879:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12894:11:::1;12908:6;;:13;;12894:27;;12937:9;12932:91;12956:3;12952:1;:7;12932:91;;;12981:30;12990:6;;12997:1;12990:9;;;;;;;;;;;;;;;13001:6;;13008:1;13001:9;;;;;;;;;;;;;;;12981:8;:30::i;:::-;12961:3;;;;;;;12932:91;;;;11954:1;12670:360:::0;;;;:::o;9806:29::-;;;:::o;8773:301::-;8817:21;8841:12;;;;;;;;;;;8817:36;;8888:13;8874:27;;:10;:27;;;8866:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8984:13;8956:42;;8977:5;;;;;;;;;;8956:42;;;;;;;;;;;;9017:13;9009:5;;:21;;;;;;;;;;;;;;;;;;9064:1;9041:12;;:25;;;;;;;;;;;;;;;;;;8773:301;:::o;9894:23::-;;;;;;;;;;;;;:::o;9637:35::-;;;:::o;8058:20::-;;;;;;;;;;;;:::o;11041:337::-;9136:5;;;;;;;;;;9122:19;;:10;:19;;;9114:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11171:5:::1;11162:14;;:5;:14;;;;:31;;;;;11189:4;11180:13;;:5;:13;;;;11162:31;:50;;;;;11206:6;11197:15;;:5;:15;;;;11162:50;11140:130;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11321:6;11303:8;:15;11312:5;11303:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11363:6;11343:27;;11356:5;11343:27;;;;;;;;;;;;11041:337:::0;;:::o;10801:190::-;10856:14;10892:8;:15;10901:5;10892:15;;;;;;;;;;;;;;;;;;;;;;;;;10883:24;;10940:1;10922:20;;:6;:20;;;10918:66;;;10968:4;10959:13;;10918:66;10801:190;;;:::o;11386:207::-;9136:5;;;;;;;;;;9122:19;;:10;:19;;;9114:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11488:1:::1;11467:23;;:9;:23;;;;11459:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11533:9;11522:8;;:20;;;;;;;;;;;;;;;;;;11576:8;;;;;;;;;;;11560:25;;;;;;;;;;;;11386:207:::0;:::o;12446:111::-;11901:9;11887:23;;:10;:23;;;11879:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12525:24:::1;12534:6;12542;12525:8;:24::i;:::-;12446:111:::0;;:::o;9518:42::-;;;:::o;8085:27::-;;;;;;;;;;;;;:::o;9699:30::-;;;:::o;13079:1369::-;13198:19;13235:7;:15;;;13251:6;13259;13235:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13198:69;;13311:1;13286:27;;13294:4;13286:27;;;;13278:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13426:117;13483:4;13503;:14;;;13526:4;13503:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13441:4;13426:34;;;;:117;;;;;:::i;:::-;13579:15;13596;13615:4;:9;;;13633:4;13615:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13578:61;;;;13664:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13654:23;;:6;:23;;;13650:95;;13716:7;13725;13694:39;;;;;;;;13650:95;13771:1;13761:7;:11;:26;;;;13786:1;13776:7;:11;13761:26;13757:670;;;13804:46;13817:6;13825;13833:7;13842;13804:12;:46::i;:::-;;13867:19;13896:5;13889:23;;;13921:4;13889:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13867:60;;13944:23;13970:28;13994:3;13970:19;13986:2;13970:11;:15;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13944:54;;14013:21;14037:32;14053:15;14037:11;:15;;:32;;;;:::i;:::-;14013:56;;14084:55;14111:10;14123:15;14091:5;14084:26;;;;:55;;;;;:::i;:::-;14154:51;14181:8;;;;;;;;;;;14191:13;14161:5;14154:26;;;;:51;;;;;:::i;:::-;14308:6;14225:190;;14283:6;14225:190;;14254:10;14225:190;;;14333:7;14359;14385:11;14225:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13757:670;;;;13079:1369;;;;;:::o;2651:302::-;2736:12;2750:17;2779:5;2771:19;;2814:10;2826:2;2830:6;2791:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2771:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:103;;;;2857:7;:57;;;;;2884:1;2869:4;:11;:16;:44;;;;2900:4;2889:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2869:44;2857:57;2849:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:302;;;;;:::o;14553:2534::-;14702:16;14770:6;14760:16;;:6;:16;;;14756:2324;;;14793:14;14810:20;14822:7;14810;:11;;:20;;;;:::i;:::-;14793:37;;14859:5;14849:15;;:6;:15;;;14845:383;;;14896:6;14885:17;;14845:383;;;14938:4;14928:14;;:6;:14;;;14924:304;;;14974:22;14983:4;14989:6;14974:8;:22::i;:::-;14963:33;;14924:304;;;15037:14;15054:17;15064:6;15054:9;:17::i;:::-;15037:34;;15099:44;15105:6;15113;15121;15137:4;15099:5;:44::i;:::-;15090:53;;15173:39;15186:6;15194;15202;15210:1;15173:12;:39::i;:::-;15162:50;;14924:304;;14845:383;14756:2324;;;;15259:5;15249:15;;:6;:15;;;15245:1835;;;15324:38;15354:7;15324:25;15333:6;15341:7;15324:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15313:49;;15245:1835;;;15394:5;15384:15;;:6;:15;;;15380:1700;;;15460:38;15490:7;15460:25;15469:6;15477:7;15460:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15449:49;;15380:1700;;;15530:4;15520:14;;:6;:14;;;15516:1564;;;15593:121;15620:4;15643:56;15691:7;15643:43;15649:6;15657:4;15663:7;15680:4;15643:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15593:8;:121::i;:::-;15582:132;;15516:1564;;;15746:4;15736:14;;:6;:14;;;15732:1348;;;15809:121;15836:4;15859:56;15907:7;15859:43;15865:6;15873:4;15879:7;15896:4;15859:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15809:8;:121::i;:::-;15798:132;;15732:1348;;;15994:15;16012:17;16022:6;16012:9;:17::i;:::-;15994:35;;16044:15;16062:17;16072:6;16062:9;:17::i;:::-;16044:35;;16109:6;16098:17;;:7;:17;;;16094:975;;;16210:189;16245:7;16275:6;16304:46;16310:6;16318:7;16327;16344:4;16304:5;:46::i;:::-;16373:7;16210:12;:189::i;:::-;16199:200;;16094:975;;;16436:6;16425:17;;:7;:17;;;16421:648;;;16537:189;16572:6;16601:7;16631;16661:46;16667:6;16675:7;16684;16701:4;16661:5;:46::i;:::-;16537:12;:189::i;:::-;16526:200;;16421:648;;;16778:275;16813:7;16843;16919:46;16925:6;16933:7;16942;16959:4;16919:5;:46::i;:::-;16988;16994:6;17002:7;17011;17028:4;16988:5;:46::i;:::-;16778:12;:275::i;:::-;16767:286;;16421:648;16094:975;15732:1348;;;15516:1564;15380:1700;15245:1835;14756:2324;14553:2534;;;;;;:::o;552:142::-;604:6;636:1;631;:6;:30;;;;660:1;655;650;646;:5;642:9;;;641:15;;;;;;:20;631:30;623:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:142;;;;:::o;702:137::-;754:7;786:1;782;:5;774:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:1;826;:5;;;;;;819:12;;702:137;;;;:::o;415:129::-;467:6;509:1;503;499;:5;495:9;;;494:16;;486:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;415:129;;;;:::o;279:128::-;331:6;373:1;367;363;:5;359:9;;;358:16;;350:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;279:128;;;;:::o;18678:210::-;18765:17;18836:44;18842:5;18849;18856:8;18874:4;18836:5;:44::i;:::-;18824:56;;18678:210;;;;:::o;17181:1447::-;17323:17;17396:19;17446:7;:15;;;17462:9;17473:7;17446:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17396:86;;17526:1;17501:27;;17509:4;17501:27;;;;17493:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17586:55;17625:4;17632:8;17593:9;17586:30;;;;:55;;;;;:::i;:::-;17704:16;17722;17744:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17703:59;;;;;;;;;17790:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17777:26;;:9;:26;;;17773:848;;;17820:19;17842:56;17889:8;17849:9;17842:27;;;17878:4;17842:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;17820:78;;17913:23;17939:20;17955:3;17939:11;:15;;:20;;;;:::i;:::-;17913:46;;18052:39;18075:15;18052:18;18065:4;18052:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18003:29;18023:8;18003:15;:19;;:29;;;;:::i;:::-;:88;;;;;;17974:117;;18120:4;:9;;;18130:1;18133:9;18144:2;18158:1;18148:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18120:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17773:848;;;;;18238:19;18260:56;18307:8;18267:9;18260:27;;;18296:4;18260:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;18238:78;;18331:23;18357:20;18373:3;18357:11;:15;;:20;;;;:::i;:::-;18331:46;;18470:39;18493:15;18470:18;18483:4;18470:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18421:29;18441:8;18421:15;:19;;:29;;;;:::i;:::-;:88;;;;;;18392:117;;18524:4;:9;;;18534;18545:1;18548:2;18562:1;18552:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18524:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17773:848;;;17181:1447;;;;;;;;;:::o

Swarm Source

ipfs://6c4437f38c17a5ccf4a490f8ea565e810bc90a668045bf95c65e594248446c56
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.