Contract 0x0e43245f7af3cfb1d4838e6704f27d09a8b4b072

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xd27cba5ac603ec1d69800f4342fc1ac232f38ce9aaea7b2ea0e0959b64fce05aConvert Multiple203659472021-10-19 2:53:4028 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.253154338524
0x37bd582fdb6c7d710bceaea017819952a360be78ef1f708bd9ace3fafd9ae244Convert Multiple203659352021-10-19 2:53:1628 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.543925914
0x21441a166a11633380827bb96acea9c99347c1b41cd80644ac604e1eceee0fd5Convert Multiple203659252021-10-19 2:52:5628 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.52589794196
0x83ea6183a5b35f4f657c80c23984add818802faf9d10d68ee79267f72177310eConvert Multiple203652382021-10-19 2:20:201 hr 1 min ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.32981739
0xb62c0f76f364eacdd34066691ed8d7cf8b69bd34c88dfe4a6927592c8fe55365Convert Multiple203652252021-10-19 2:19:541 hr 1 min ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.344342425
0x8f36f7b426959829b64d4ad8d671798ada1bbb879b7ab12b163aea0405496593Convert203616772021-10-18 23:56:303 hrs 25 mins ago0xabc665cc7308611dbef17bb8b4530c128c22577a IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.0224184
0x8f8dfe09f78725f29730b9c1c795fd7c416bc3e9540d1af816fa50d783e7052aConvert203616542021-10-18 23:55:123 hrs 26 mins ago0xabc665cc7308611dbef17bb8b4530c128c22577a IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.02222316
0xe3b4e789a7943eb96ec01803897cc4bdea3d2ebaaaa2dc16eaaac2b1f5f06249Convert203616112021-10-18 23:53:463 hrs 27 mins ago0xabc665cc7308611dbef17bb8b4530c128c22577a IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.023271
0xc3a57341350e93dfdee543fe4091f69e0acacd7d38353df34fb58713958f2c0eConvert203615412021-10-18 23:51:223 hrs 30 mins ago0xabc665cc7308611dbef17bb8b4530c128c22577a IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.02824266
0xd55599734eeeaca6150e32573a25b66ab4bf6c83ec2b6c6496d6adc7801ed2feConvert203614482021-10-18 23:47:223 hrs 34 mins ago0xabc665cc7308611dbef17bb8b4530c128c22577a IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.0278523
0x73a11d7dcc4b1496ba6fd175f53fbf352ddc431201363fe04ccb46c3ac9d4120Convert203614082021-10-18 23:44:423 hrs 37 mins ago0xabc665cc7308611dbef17bb8b4530c128c22577a IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.02348616
0x5c3d58ec1354e371fa63ca6525fc4a3e6c31edf68a24d3d7614c7757ace2390dConvert Multiple203591902021-10-18 22:17:445 hrs 4 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC1.9902554
0x8f6e56ac1c18bc7362155581f592d8a47ff85a7f91d1604ba3e04b595adaca10Convert Multiple203591592021-10-18 22:16:385 hrs 5 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC2.1496364
0x4f434e6fa5546c8559fdbc1cf0b9b37e170d018fb30db7adf85dc6cb5e7b59beConvert Multiple203581732021-10-18 21:23:345 hrs 58 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC1.082111388
0xcf6f22b5e6af7731ca5e2338a418bed3bb184006288e4013ddf3ba7d0b9c0007Convert Multiple203581462021-10-18 21:22:405 hrs 59 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC2.0835886
0x1d2025b6339804fae5096fd01c77761d23c9315374c25aec03cba8ff38713e9aConvert Multiple203581452021-10-18 21:22:385 hrs 59 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC1.8852616
0xe8d68e625d065349e68dbd3260aa9eece1b22ebbb676b29787f48830e5749db2Convert Multiple203576182021-10-18 21:00:126 hrs 21 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC1.9624814
0x5bc4f6cdb82cdbd103b0fb250aaa6d4d80be34de4603f3859ef9b3eedfceffafConvert Multiple203511872021-10-18 16:02:1111 hrs 19 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.369540045
0x7c265ddefdf3a991fd6ef5ea6304d4af2cbdad9a36ee9070dd8329cd6c286cbaConvert Multiple203511832021-10-18 16:02:0311 hrs 19 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.354357045
0xaf209d826ec20464a299b2b61e418074346e91ef1cc8aeaad25528668b022334Convert Multiple203502332021-10-18 15:16:3512 hrs 5 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.327780985
0x7edfd810e5b4404984fab22e5774d6e4e137e18e7653cb82dd169281694b03ebConvert Multiple203501102021-10-18 15:12:2112 hrs 9 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.4861702
0xebd36d4b4fd3ead85b31b9240b2d0e8cfd6f4ba4652e4c5dfd236fc291e6ffc1Convert Multiple203409952021-10-18 8:40:1818 hrs 41 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.36599178
0x2324ba58c07f74c34e453a7938dd7f6307197fc4237f1c3023825ab96c791d89Convert Multiple203409792021-10-18 8:39:4218 hrs 42 mins ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.32788728
0x4f4009bec71c2e73796a25272f5468d46ce858721a483391c9210298fc066db2Convert Multiple203401442021-10-18 8:04:3619 hrs 17 mins ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.370590516
0xc704e6aba6f43bca13d47c14f9dbf459ce9f4f6c16ed41042409e97d1d1bbcf0Convert Multiple203309132021-10-18 1:47:071 day 1 hr ago0x6adf19594bc5cd86b4fab4ba1c2b8bc6a8e74ed3 IN  0x0e43245f7af3cfb1d4838e6704f27d09a8b4b0720 MATIC0.951393
[ 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, None license

Contract Source Code (Solidity)

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

61010060405234801561001157600080fd5b50604051612c39380380612c39833981810160405260a081101561003457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505060805160601c60a05160601c60c05160601c60e05160601c6129656102d4600039806108a65280610c175280610e875280611ac35280611b1a5280611c695280611cc05280611ce95280611d2b5280611d825280611dab525080610bc052806111b652806115c252806116ed528061175a5280611a675280611b7b5280611bf2528061210a525080610ab752806116cb52508061116c52806111dc528061213d52506129656000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639d22ae8c1161008c578063bd1b820c11610066578063bd1b820c14610409578063c45a01551461046d578063e30c3978146104a1578063fdd3a879146104d5576100ea565b80639d22ae8c146102f3578063a761a93914610357578063b14f2a39146103c5576100ea565b80634e71e0c8116100c85780634e71e0c81461024d57806361d027b31461025757806375dbbba81461028b5780638da5cb5b146102bf576100ea565b8063078dfbe7146100ef578063303e6aa41461014b5780633fc8cef314610219575b600080fd5b6101496004803603606081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610509565b005b6102176004803603604081101561016157600080fd5b810190808035906020019064010000000081111561017e57600080fd5b82018360208201111561019057600080fd5b803590602001918460208302840111640100000000831117156101b257600080fd5b9091929391929390803590602001906401000000008111156101d357600080fd5b8201836020820111156101e557600080fd5b8035906020019184602083028401116401000000008311171561020757600080fd5b9091929391929390505050610781565b005b6102216108a4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102556108c8565b005b61025f610a8f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610293610ab5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c7610ad9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103556004803603604081101561030957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610afd565b005b6103996004803603602081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dec565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eae565b005b61046b6004803603604081101561041f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110bb565b005b61047561116a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104a961118e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104dd6111b4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b811561073a57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806106095750805b61067b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f776e61626c653a207a65726f2061646472657373000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061077c565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b600084849050905060005b8181101561089c5761088f86868381811061084457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061086d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166111d8565b808060010191505061082d565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657281525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610c6657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610c9e57508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610d10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a20496e76616c696420627269646765000081525060200191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b0061360405160405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ea9577f000000000000000000000000000000000000000000000000000000000000000090505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611012576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e61766c69642074726561737572790000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc714d22a2f08b695f81e7c707058db484aa5b4d6b4c9fd64beb10fe85832f60860405160405180910390a250565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b61116682826111d8565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d60208110156112a957600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a20496e76616c696420706169720000000081525060200191505060405180910390fd5b61142b818273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113ca57600080fd5b505afa1580156113de573d6000803e3d6000fd5b505050506040513d60208110156113f457600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b15801561149657600080fd5b505af11580156114aa573d6000803e3d6000fd5b505050506040513d60408110156114c057600080fd5b810190808051906020019092919080519060200190929190505050915091508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561152557600080fd5b505afa158015611539573d6000803e3d6000fd5b505050506040513d602081101561154f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461159d57808280925081935050505b60008211806115ac5750600081115b1561182e576115bd85858484611a18565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561164757600080fd5b505afa15801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b8101908080519060200190929190505050905060006116ad606461169f605085611ede90919063ffffffff16565b611f7390919063ffffffff16565b905060006116c48284611ffc90919063ffffffff16565b90506117317f0000000000000000000000000000000000000000000000000000000000000000837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b61179e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c1588888860405180848152602001838152602001828152602001935050505060405180910390a45050505b5050505050565b600060608473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106118f857805182526020820191506020810190506020830392506118d5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461195a576040519150601f19603f3d011682016040523d82523d6000602084013e61195f565b606091505b509150915081801561199f575060008151148061199e575080806020019051602081101561198c57600080fd5b81019080805190602001909291905050505b5b611a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5361666545524332303a205472616e73666572206661696c656400000000000081525060200191505060405180910390fd5b5050505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611b79576000611a63838561207f90919063ffffffff16565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611ac157809150611b73565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611b4657611b3f7f000000000000000000000000000000000000000000000000000000000000000082612102565b9150611b72565b6000611b5187610dec565b9050611b5f87828430612138565b9150611b6e8182846000611a18565b9250505b5b50611ed6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611bf057611be983611bdb8685612102565b61207f90919063ffffffff16565b9050611ed5565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611c6757611c6082611c528786612102565b61207f90919063ffffffff16565b9050611ed4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611d2957611d227f0000000000000000000000000000000000000000000000000000000000000000611d1d85611d0f887f00000000000000000000000000000000000000000000000000000000000000008830612138565b61207f90919063ffffffff16565b612102565b9050611ed3565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611deb57611de47f0000000000000000000000000000000000000000000000000000000000000000611ddf84611dd1897f00000000000000000000000000000000000000000000000000000000000000008930612138565b61207f90919063ffffffff16565b612102565b9050611ed2565b6000611df686610dec565b90506000611e0386610dec565b90508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e5757611e508287611e4a8a868a30612138565b87611a18565b9250611ecf565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ea957611ea2878287611e9d8a868a30612138565b611a18565b9250611ece565b611ecb8282611eba8a868a30612138565b611ec68a868a30612138565b611a18565b92505b5b50505b5b5b5b5b949350505050565b600080821480611efb5750828283850292508281611ef857fe5b04145b611f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000808211611fea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6469766973696f6e206279207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b818381611ff357fe5b04905092915050565b6000828284039150811115612079576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008282840191508110156120fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000612130837f00000000000000000000000000000000000000000000000000000000000000008430612138565b905092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390587876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156121e057600080fd5b505afa1580156121f4573d6000803e3d6000fd5b505050506040513d602081101561220a57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a2043616e6e6f7420636f6e76657274000081525060200191505060405180910390fd5b6122eb81858873ffffffffffffffffffffffffffffffffffffffff166118359092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561233457600080fd5b505afa158015612348573d6000803e3d6000fd5b505050506040513d606081101561235e57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ee57600080fd5b505afa158015612402573d6000803e3d6000fd5b505050506040513d602081101561241857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156126c2576000612512838a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156124c957600080fd5b505afa1580156124dd573d6000803e3d6000fd5b505050506040513d60208110156124f357600080fd5b8101908080519060200190929190505050611ffc90919063ffffffff16565b9050600061252b6103e583611ede90919063ffffffff16565b9050612554816125466103e887611ede90919063ffffffff16565b61207f90919063ffffffff16565b6125678483611ede90919063ffffffff16565b8161256e57fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f6000888a600067ffffffffffffffff811180156125a957600080fd5b506040519080825280601f01601f1916602001820160405280156125dc5781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612654578082015181840152602081019050612639565b50505050905090810190601f1680156126815780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156126a357600080fd5b505af11580156126b7573d6000803e3d6000fd5b505050505050612924565b6000612778828a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561272f57600080fd5b505afa158015612743573d6000803e3d6000fd5b505050506040513d602081101561275957600080fd5b8101908080519060200190929190505050611ffc90919063ffffffff16565b905060006127916103e583611ede90919063ffffffff16565b90506127ba816127ac6103e886611ede90919063ffffffff16565b61207f90919063ffffffff16565b6127cd8583611ede90919063ffffffff16565b816127d457fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f8760008a600067ffffffffffffffff8111801561280f57600080fd5b506040519080825280601f01601f1916602001820160405280156128425781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156128ba57808201518184015260208101905061289f565b50505050905090810190601f1680156128e75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561290957600080fd5b505af115801561291d573d6000803e3d6000fd5b5050505050505b50505094935050505056fea264697066735822122073b55f0d844317e5de5a63f4e28f04cbab93adb83b2e1299b57c29188ff9e70c64736f6c634300060c00330000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000f28164a485b0b2c90639e47b0f377b4a438a16b1000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc130000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

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

0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000f28164a485b0b2c90639e47b0f377b4a438a16b1000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc130000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

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

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32
Arg [1] : 000000000000000000000000f28164a485b0b2c90639e47b0f377b4a438a16b1
Arg [2] : 000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc13
Arg [3] : 0000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619
Arg [4] : 000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f


Deployed ByteCode Sourcemap

9314:9503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8306:385;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12596:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9732:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8699:301;;;:::i;:::-;;9820:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9563:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7984:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10967:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10727:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11312:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12372:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9444:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8011:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9625:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8306:385;9062:5;;;;;;;;;;9048:19;;:10;:19;;;9040:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8411:6:::1;8407:277;;;8462:1;8442:22;;:8;:22;;;;:34;;;;8468:8;8442:34;8434:68;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8576:8;8548:37;;8569:5;::::0;::::1;;;;;;;;8548:37;;;;;;;;;;;;8608:8;8600:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;8407:277;;;8664:8;8649:12;;:23;;;;;;;;;;;;;;;;;;8407:277;8306:385:::0;;;:::o;12596:360::-;11827:9;11813:23;;:10;:23;;;11805:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12820:11:::1;12834:6;;:13;;12820:27;;12863:9;12858:91;12882:3;12878:1;:7;12858:91;;;12907:30;12916:6;;12923:1;12916:9;;;;;;;;;;;;;;;12927:6;;12934:1;12927:9;;;;;;;;;;;;;;;12907:8;:30::i;:::-;12887:3;;;;;;;12858:91;;;;11880:1;12596:360:::0;;;;:::o;9732:29::-;;;:::o;8699:301::-;8743:21;8767:12;;;;;;;;;;;8743:36;;8814:13;8800:27;;:10;:27;;;8792:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8910:13;8882:42;;8903:5;;;;;;;;;;8882:42;;;;;;;;;;;;8943:13;8935:5;;:21;;;;;;;;;;;;;;;;;;8990:1;8967:12;;:25;;;;;;;;;;;;;;;;;;8699:301;:::o;9820:23::-;;;;;;;;;;;;;:::o;9563:35::-;;;:::o;7984:20::-;;;;;;;;;;;;:::o;10967:337::-;9062:5;;;;;;;;;;9048:19;;:10;:19;;;9040:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11097:5:::1;11088:14;;:5;:14;;;;:31;;;;;11115:4;11106:13;;:5;:13;;;;11088:31;:50;;;;;11132:6;11123:15;;:5;:15;;;;11088:50;11066:130;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11247:6;11229:8;:15;11238:5;11229:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11289:6;11269:27;;11282:5;11269:27;;;;;;;;;;;;10967:337:::0;;:::o;10727:190::-;10782:14;10818:8;:15;10827:5;10818:15;;;;;;;;;;;;;;;;;;;;;;;;;10809:24;;10866:1;10848:20;;:6;:20;;;10844:66;;;10894:4;10885:13;;10844:66;10727:190;;;:::o;11312:207::-;9062:5;;;;;;;;;;9048:19;;:10;:19;;;9040:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11414:1:::1;11393:23;;:9;:23;;;;11385:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11459:9;11448:8;;:20;;;;;;;;;;;;;;;;;;11502:8;;;;;;;;;;;11486:25;;;;;;;;;;;;11312:207:::0;:::o;12372:111::-;11827:9;11813:23;;:10;:23;;;11805:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12451:24:::1;12460:6;12468;12451:8;:24::i;:::-;12372:111:::0;;:::o;9444:42::-;;;:::o;8011:27::-;;;;;;;;;;;;;:::o;9625:30::-;;;:::o;13005:1369::-;13124:19;13161:7;:15;;;13177:6;13185;13161:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13124:69;;13237:1;13212:27;;13220:4;13212:27;;;;13204:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13352:117;13409:4;13429;:14;;;13452:4;13429:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13367:4;13352:34;;;;:117;;;;;:::i;:::-;13505:15;13522;13541:4;:9;;;13559:4;13541:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13504:61;;;;13590:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13580:23;;:6;:23;;;13576:95;;13642:7;13651;13620:39;;;;;;;;13576:95;13697:1;13687:7;:11;:26;;;;13712:1;13702:7;:11;13687:26;13683:670;;;13730:46;13743:6;13751;13759:7;13768;13730:12;:46::i;:::-;;13793:19;13822:5;13815:23;;;13847:4;13815:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13793:60;;13870:23;13896:28;13920:3;13896:19;13912:2;13896:11;:15;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13870:54;;13939:21;13963:32;13979:15;13963:11;:15;;:32;;;;:::i;:::-;13939:56;;14010:55;14037:10;14049:15;14017:5;14010:26;;;;:55;;;;;:::i;:::-;14080:51;14107:8;;;;;;;;;;;14117:13;14087:5;14080:26;;;;:51;;;;;:::i;:::-;14234:6;14151:190;;14209:6;14151:190;;14180:10;14151:190;;;14259:7;14285;14311:11;14151:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13683:670;;;;13005:1369;;;;;:::o;2577:302::-;2662:12;2676:17;2705:5;2697:19;;2740:10;2752:2;2756:6;2717:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2697:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2661:103;;;;2783:7;:57;;;;;2810:1;2795:4;:11;:16;:44;;;;2826:4;2815:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2795:44;2783:57;2775:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2577:302;;;;;:::o;14479:2534::-;14628:16;14696:6;14686:16;;:6;:16;;;14682:2324;;;14719:14;14736:20;14748:7;14736;:11;;:20;;;;:::i;:::-;14719:37;;14785:5;14775:15;;:6;:15;;;14771:383;;;14822:6;14811:17;;14771:383;;;14864:4;14854:14;;:6;:14;;;14850:304;;;14900:22;14909:4;14915:6;14900:8;:22::i;:::-;14889:33;;14850:304;;;14963:14;14980:17;14990:6;14980:9;:17::i;:::-;14963:34;;15025:44;15031:6;15039;15047;15063:4;15025:5;:44::i;:::-;15016:53;;15099:39;15112:6;15120;15128;15136:1;15099:12;:39::i;:::-;15088:50;;14850:304;;14771:383;14682:2324;;;;15185:5;15175:15;;:6;:15;;;15171:1835;;;15250:38;15280:7;15250:25;15259:6;15267:7;15250:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15239:49;;15171:1835;;;15320:5;15310:15;;:6;:15;;;15306:1700;;;15386:38;15416:7;15386:25;15395:6;15403:7;15386:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15375:49;;15306:1700;;;15456:4;15446:14;;:6;:14;;;15442:1564;;;15519:121;15546:4;15569:56;15617:7;15569:43;15575:6;15583:4;15589:7;15606:4;15569:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15519:8;:121::i;:::-;15508:132;;15442:1564;;;15672:4;15662:14;;:6;:14;;;15658:1348;;;15735:121;15762:4;15785:56;15833:7;15785:43;15791:6;15799:4;15805:7;15822:4;15785:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15735:8;:121::i;:::-;15724:132;;15658:1348;;;15920:15;15938:17;15948:6;15938:9;:17::i;:::-;15920:35;;15970:15;15988:17;15998:6;15988:9;:17::i;:::-;15970:35;;16035:6;16024:17;;:7;:17;;;16020:975;;;16136:189;16171:7;16201:6;16230:46;16236:6;16244:7;16253;16270:4;16230:5;:46::i;:::-;16299:7;16136:12;:189::i;:::-;16125:200;;16020:975;;;16362:6;16351:17;;:7;:17;;;16347:648;;;16463:189;16498:6;16527:7;16557;16587:46;16593:6;16601:7;16610;16627:4;16587:5;:46::i;:::-;16463:12;:189::i;:::-;16452:200;;16347:648;;;16704:275;16739:7;16769;16845:46;16851:6;16859:7;16868;16885:4;16845:5;:46::i;:::-;16914;16920:6;16928:7;16937;16954:4;16914:5;:46::i;:::-;16704:12;:275::i;:::-;16693:286;;16347:648;16020:975;15658:1348;;;15442:1564;15306:1700;15171:1835;14682:2324;14479:2534;;;;;;:::o;478:142::-;530:6;562:1;557;:6;:30;;;;586:1;581;576;572;:5;568:9;;;567:15;;;;;;:20;557:30;549:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;478:142;;;;:::o;628:137::-;680:7;712:1;708;:5;700:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;756:1;752;:5;;;;;;745:12;;628:137;;;;:::o;341:129::-;393:6;435:1;429;425;:5;421:9;;;420:16;;412:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;341:129;;;;:::o;205:128::-;257:6;299:1;293;289;:5;285:9;;;284:16;;276:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;205:128;;;;:::o;18604:210::-;18691:17;18762:44;18768:5;18775;18782:8;18800:4;18762:5;:44::i;:::-;18750:56;;18604:210;;;;:::o;17107:1447::-;17249:17;17322:19;17372:7;:15;;;17388:9;17399:7;17372:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17322:86;;17452:1;17427:27;;17435:4;17427:27;;;;17419:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17512:55;17551:4;17558:8;17519:9;17512:30;;;;:55;;;;;:::i;:::-;17630:16;17648;17670:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17629:59;;;;;;;;;17716:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17703:26;;:9;:26;;;17699:848;;;17746:19;17768:56;17815:8;17775:9;17768:27;;;17804:4;17768:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;17746:78;;17839:23;17865:20;17881:3;17865:11;:15;;:20;;;;:::i;:::-;17839:46;;17978:39;18001:15;17978:18;17991:4;17978:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;17929:29;17949:8;17929:15;:19;;:29;;;;:::i;:::-;:88;;;;;;17900:117;;18046:4;:9;;;18056:1;18059:9;18070:2;18084:1;18074:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18046:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17699:848;;;;;18164:19;18186:56;18233:8;18193:9;18186:27;;;18222:4;18186:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;18164:78;;18257:23;18283:20;18299:3;18283:11;:15;;:20;;;;:::i;:::-;18257:46;;18396:39;18419:15;18396:18;18409:4;18396:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18347:29;18367:8;18347:15;:19;;:29;;;;:::i;:::-;:88;;;;;;18318:117;;18450:4;:9;;;18460;18471:1;18474:2;18488:1;18478:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18450:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17699:848;;;17107:1447;;;;;;;;;:::o

Swarm Source

ipfs://73b55f0d844317e5de5a63f4e28f04cbab93adb83b2e1299b57c29188ff9e70c
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.