Contract 0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xdd15dfd7215c4c52ed8114679906fd446ddaa30bc35ff566ef5d5c00dce54eb9Convert Multiple397387762023-02-26 17:52:0327 days 12 hrs ago0xd21c4cdfa1d7e68dd76802ae5e1b9386a29f978c IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.882636706661181.578715947
0x208b155d4cf8a2e1e5767001834195829365dccc92a76e7c0f92d1ff34b380d0Convert Multiple397386982023-02-26 17:49:1727 days 12 hrs ago0xd21c4cdfa1d7e68dd76802ae5e1b9386a29f978c IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.666600516975151.661913181
0xeb77e2669479fa9fff5106c8d882de04a2b8678d60e6da51821e0104ee017e3eConvert Multiple397196442023-02-26 5:05:0628 days 1 hr ago0xd21c4cdfa1d7e68dd76802ae5e1b9386a29f978c IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.247620885429249.215365337
0x63cf65700dc271f64bf90fdd33445497bcd4c9f31c029b390314b3ca0a695fccConvert Multiple397005082023-02-25 16:31:5028 days 13 hrs ago0xd21c4cdfa1d7e68dd76802ae5e1b9386a29f978c IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.338154781047127.13340907
0x6fa643f4b8b493655a7f8cf15876767b7554faedf41c0750a9922215a30ef4ecConvert396959642023-02-25 13:44:1528 days 16 hrs ago0xe001ce3b6dc8cdcf9a3315036455d780063b4025 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.017202586076180.851409554
0x77f6e3affbc3ef93a56898ba589e6bc7074d720d3d837ca849cf88d97cb2b074Convert396959482023-02-25 13:43:3528 days 16 hrs ago0xe001ce3b6dc8cdcf9a3315036455d780063b4025 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.013715619209147.826293997
0xea7c8fc44cb629702b67b4adc4707daca6d49fd531e95855a699acfbfeaf4f7aConvert396959442023-02-25 13:43:1928 days 16 hrs ago0xe001ce3b6dc8cdcf9a3315036455d780063b4025 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.017723972423191.894724336
0x01d7a3847ae3a43530ebc073f716593148d7cd9f3d569babe6927106a399ac16Convert396959412023-02-25 13:43:0728 days 16 hrs ago0xe001ce3b6dc8cdcf9a3315036455d780063b4025 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.064703979934133.140144396
0x021d9164b8c1cd5de6873bc2b21fd88f1f3110f83e5e2bffb8247abe0be5b47eConvert Multiple396932502023-02-25 12:03:2928 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.084823244117.3
0x60176e97bb6ccb33d60257db4f7314fe4398e58315c07ee4c05a428412a8d0c3Convert Multiple396932432023-02-25 12:03:1328 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.1586705529114.1
0x2a88da471dd71730c4e3268781eb62a029b0e99056968a7408874e325f0e0852Convert396931522023-02-25 12:00:0128 days 18 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.094178232752181.577102796
0xcef4c1d8557bddaa9bb9b209f6fb71fc586a97f027a801193d719acb7981cc3cConvert Multiple396931312023-02-25 11:58:4328 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.180876752127.6
0xaf263a66536131a8094b9798aa8bb7833a33633fb314cf13864c059db185ca94Convert Multiple396931242023-02-25 11:58:2928 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.0563773766113.7
0x710dc3906d9c7a08691958b8e29d9f735d75e8bbeeabb8c37d2c1d942766429dConvert Multiple396931162023-02-25 11:58:1128 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.1260224836125.3
0x8ef48ab3c8a98767bda1a3093bc2b3d250fcfb9124010cd2550c152d685a5629Convert Multiple396931092023-02-25 11:57:5728 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.0466805195115.5
0x2332936355102a8524bfc0d26871606356351b8c40ef769eaf95cc11bd81704dConvert Multiple396931022023-02-25 11:57:3628 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.066332168118.8
0x3a0f1acabf2335a59605335f428c8289d0c664fcfee9b128f05f82c18e0c7abaConvert Multiple396930942023-02-25 11:57:2028 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.11016373123.5
0xc93f6d39bab09771e25c9ce27215b76e5f34c26f5acd584f92502d4db10f7b14Convert Multiple396930872023-02-25 11:57:0428 days 18 hrs ago0xb36cdd7c974c48b5c7797d4f9a74bd80773977ff IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC1.0052401982118.6
0xe7ef388f6cac9e232c48f2716000be853d0fcd20c627ad57b9abe2a798ac93ceConvert396917752023-02-25 11:07:5628 days 19 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.140439028412263.810568298
0xde3eb29205b0e465bc14b41ea3e1e8fd35c7487076ebb5612f3fbbbc63ec40a3Convert396914682023-02-25 10:54:2428 days 19 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.091876432238174.491219527
0x3dc44c35c86fc52000ef4bc250c7a517ffb634b6792ef683eae100beda70b4ecConvert396911302023-02-25 10:41:5828 days 19 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.085038052774184.42951715
0x66da79ecc2f54103f3c943bd316575e327b69f3278077471ab0e59ee93e37241Convert396910952023-02-25 10:40:4428 days 19 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.096828101192186.662337909
0x7621c0fb74898890b67f1d2742482af814c058549d6a960efc68f8265246a370Convert396908032023-02-25 10:27:5228 days 20 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.090632639268204.036117299
0x90905371e1d88c52711119c73b2c6b40a92ecf40d32d6f54c2cbf3e7485af00fConvert396907392023-02-25 10:25:2828 days 20 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.095680841598184.508662457
0x6e76d9d8d545bf18638b4a70da7a96687f9688e5b7eef5248dc44dd605e6fac3Convert396904072023-02-25 10:13:4228 days 20 hrs ago0x704eb73838e97b2bf3e3e2774a23228f26543c81 IN  0x741bbe42cbe709f665e6d318f4f21f8d0d696d8d0 MATIC0.08674332091189.085433765
[ 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 2022-11-09
*/

// 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;
}

interface ITokenSwap {
    function quickToQuickX(uint256 quickAmount) external;
}


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;

    address public constant newQuick = address(0xB5C064F955D8e7F38fE0460C556a72987494eE17);

    ITokenSwap public constant tokenSwap = ITokenSwap(address(0x333068D06563a8DfDBF330A0e04A9d128e98bf5a)); 
    // 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));
            IERC20(quick).approve(address(tokenSwap), amountQUICK);
            tokenSwap.quickToQuickX(amountQUICK);

            uint256 amountNewQUICK = IERC20(newQuick).balanceOf(address(this));
            uint256 dragonLairShare = amountNewQUICK.mul(80).div(100);
            uint256 treasuryShare = amountNewQUICK.sub(dragonLairShare);
            IERC20(newQuick).safeTransfer(dragonLair, dragonLairShare);
            IERC20(newQuick).safeTransfer(treasury, treasuryShare);
            emit LogConvert(
                msg.sender,
                token0,
                token1,
                amount0,
                amount1,
                amountNewQUICK    
            );
        }    
        
    }

    // 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":"newQuick","outputs":[{"internalType":"address","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":[],"name":"tokenSwap","outputs":[{"internalType":"contract ITokenSwap","name":"","type":"address"}],"stateMutability":"view","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"}]

61010060405234801561001157600080fd5b50604051612ee5380380612ee5833981810160405260a081101561003457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508173ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505060805160601c60a05160601c60c05160601c60e05160601c612c166102cf600039806109245280610cc55280610f355280611d745280611dcb5280611f1a5280611f715280611f9a5280611fdc5280612033528061205c525080610c6e5280611264528061167052806117345280611d185280611e2c5280611ea352806123bb525080610b4d528061199352508061121a528061128a52806123ee5250612c166000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80639653dee511610097578063bd1b820c11610066578063bd1b820c14610487578063c45a0155146104eb578063e30c39781461051f578063fdd3a8791461055357610100565b80639653dee51461033d5780639d22ae8c14610371578063a761a939146103d5578063b14f2a391461044357610100565b806361d027b3116100d357806361d027b31461026d57806374617891146102a157806375dbbba8146102d55780638da5cb5b1461030957610100565b8063078dfbe714610105578063303e6aa4146101615780633fc8cef31461022f5780634e71e0c814610263575b600080fd5b61015f6004803603606081101561011b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610587565b005b61022d6004803603604081101561017757600080fd5b810190808035906020019064010000000081111561019457600080fd5b8201836020820111156101a657600080fd5b803590602001918460208302840111640100000000831117156101c857600080fd5b9091929391929390803590602001906401000000008111156101e957600080fd5b8201836020820111156101fb57600080fd5b8035906020019184602083028401116401000000008311171561021d57600080fd5b90919293919293905050506107ff565b005b610237610922565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026b610946565b005b610275610b0d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102a9610b33565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102dd610b4b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610311610b6f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610345610b93565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d36004803603604081101561038757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bab565b005b610417600480360360208110156103eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e9a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104856004803603602081101561045957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f5c565b005b6104e96004803603604081101561049d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611169565b005b6104f3611218565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61052761123c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61055b611262565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610648576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81156107b857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806106875750805b6106f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f776e61626c653a207a65726f2061646472657373000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107fa565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b600084849050905060005b8181101561091a5761090d8686838181106108c257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168585848181106108eb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16611286565b80806001019150506108ab565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657281525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73b5c064f955d8e7f38fe0460c556a72987494ee1781565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73333068d06563a8dfdbf330a0e04a9d128e98bf5a81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610d1457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015610d4c57508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a20496e76616c696420627269646765000081525060200191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b0061360405160405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f57577f000000000000000000000000000000000000000000000000000000000000000090505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461101d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e61766c69642074726561737572790000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc714d22a2f08b695f81e7c707058db484aa5b4d6b4c9fd64beb10fe85832f60860405160405180910390a250565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461120a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b6112148282611286565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561132d57600080fd5b505afa158015611341573d6000803e3d6000fd5b505050506040513d602081101561135757600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a20496e76616c696420706169720000000081525060200191505060405180910390fd5b6114d9818273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff16611ae69092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b15801561154457600080fd5b505af1158015611558573d6000803e3d6000fd5b505050506040513d604081101561156e57600080fd5b810190808051906020019092919080519060200190929190505050915091508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156115d357600080fd5b505afa1580156115e7573d6000803e3d6000fd5b505050506040513d60208110156115fd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461164b57808280925081935050505b600082118061165a5750600081115b15611adf5761166b85858484611cc9565b5060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156116f557600080fd5b505afa158015611709573d6000803e3d6000fd5b505050506040513d602081101561171f57600080fd5b810190808051906020019092919050505090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b373333068d06563a8dfdbf330a0e04a9d128e98bf5a836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117d757600080fd5b505af11580156117eb573d6000803e3d6000fd5b505050506040513d602081101561180157600080fd5b81019080805190602001909291905050505073333068d06563a8dfdbf330a0e04a9d128e98bf5a73ffffffffffffffffffffffffffffffffffffffff1663f60d6ceb826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561187a57600080fd5b505af115801561188e573d6000803e3d6000fd5b50505050600073b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561190f57600080fd5b505afa158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b810190808051906020019092919050505090506000611975606461196760508561218f90919063ffffffff16565b61222490919063ffffffff16565b9050600061198c82846122ad90919063ffffffff16565b90506119ed7f00000000000000000000000000000000000000000000000000000000000000008373b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff16611ae69092919063ffffffff16565b611a4e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168273b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff16611ae69092919063ffffffff16565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c1589898860405180848152602001838152602001828152602001935050505060405180910390a4505050505b5050505050565b600060608473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310611ba95780518252602082019150602081019050602083039250611b86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c0b576040519150601f19603f3d011682016040523d82523d6000602084013e611c10565b606091505b5091509150818015611c505750600081511480611c4f5750808060200190516020811015611c3d57600080fd5b81019080805190602001909291905050505b5b611cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5361666545524332303a205472616e73666572206661696c656400000000000081525060200191505060405180910390fd5b5050505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611e2a576000611d14838561233090919063ffffffff16565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611d7257809150611e24565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611df757611df07f0000000000000000000000000000000000000000000000000000000000000000826123b3565b9150611e23565b6000611e0287610e9a565b9050611e10878284306123e9565b9150611e1f8182846000611cc9565b9250505b5b50612187565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611ea157611e9a83611e8c86856123b3565b61233090919063ffffffff16565b9050612186565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611f1857611f1182611f0387866123b3565b61233090919063ffffffff16565b9050612185565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611fda57611fd37f0000000000000000000000000000000000000000000000000000000000000000611fce85611fc0887f000000000000000000000000000000000000000000000000000000000000000088306123e9565b61233090919063ffffffff16565b6123b3565b9050612184565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561209c576120957f000000000000000000000000000000000000000000000000000000000000000061209084612082897f000000000000000000000000000000000000000000000000000000000000000089306123e9565b61233090919063ffffffff16565b6123b3565b9050612183565b60006120a786610e9a565b905060006120b486610e9a565b90508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121085761210182876120fb8a868a306123e9565b87611cc9565b9250612180565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561215a5761215387828761214e8a868a306123e9565b611cc9565b925061217f565b61217c828261216b8a868a306123e9565b6121778a868a306123e9565b611cc9565b92505b5b50505b5b5b5b5b949350505050565b6000808214806121ac57508282838502925082816121a957fe5b04145b61221e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600080821161229b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6469766973696f6e206279207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b8183816122a457fe5b04905092915050565b600082828403915081111561232a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008282840191508110156123ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b60006123e1837f000000000000000000000000000000000000000000000000000000000000000084306123e9565b905092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390587876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561249157600080fd5b505afa1580156124a5573d6000803e3d6000fd5b505050506040513d60208110156124bb57600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a2043616e6e6f7420636f6e76657274000081525060200191505060405180910390fd5b61259c81858873ffffffffffffffffffffffffffffffffffffffff16611ae69092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156125e557600080fd5b505afa1580156125f9573d6000803e3d6000fd5b505050506040513d606081101561260f57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561269f57600080fd5b505afa1580156126b3573d6000803e3d6000fd5b505050506040513d60208110156126c957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156129735760006127c3838a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561277a57600080fd5b505afa15801561278e573d6000803e3d6000fd5b505050506040513d60208110156127a457600080fd5b81019080805190602001909291905050506122ad90919063ffffffff16565b905060006127dc6103e58361218f90919063ffffffff16565b9050612805816127f76103e88761218f90919063ffffffff16565b61233090919063ffffffff16565b612818848361218f90919063ffffffff16565b8161281f57fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f6000888a600067ffffffffffffffff8111801561285a57600080fd5b506040519080825280601f01601f19166020018201604052801561288d5781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156129055780820151818401526020810190506128ea565b50505050905090810190601f1680156129325780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561295457600080fd5b505af1158015612968573d6000803e3d6000fd5b505050505050612bd5565b6000612a29828a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129e057600080fd5b505afa1580156129f4573d6000803e3d6000fd5b505050506040513d6020811015612a0a57600080fd5b81019080805190602001909291905050506122ad90919063ffffffff16565b90506000612a426103e58361218f90919063ffffffff16565b9050612a6b81612a5d6103e88661218f90919063ffffffff16565b61233090919063ffffffff16565b612a7e858361218f90919063ffffffff16565b81612a8557fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f8760008a600067ffffffffffffffff81118015612ac057600080fd5b506040519080825280601f01601f191660200182016040528015612af35781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612b6b578082015181840152602081019050612b50565b50505050905090810190601f168015612b985780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612bba57600080fd5b505af1158015612bce573d6000803e3d6000fd5b5050505050505b50505094935050505056fea264697066735822122028d5fd99bfa1efa8944fb7466d65d275e3be6f50df87d33a3ed7297edd306a8964736f6c634300060c00330000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000958d208cdf087843e9ad98d23823d32e17d723a1000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc130000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

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

0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000958d208cdf087843e9ad98d23823d32e17d723a1000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc130000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f

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

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32
Arg [1] : 000000000000000000000000958d208cdf087843e9ad98d23823d32e17d723a1
Arg [2] : 000000000000000000000000831753dd7087cac61ab5644b308642cc1c33dc13
Arg [3] : 0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270
Arg [4] : 000000000000000000000000cf0b86f9944a60a0ba22b51a33c11d9e4de1ce9f


Deployed ByteCode Sourcemap

9366:9876:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8358:385;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12805:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9941:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8751:301;;;:::i;:::-;;10029:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9716:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9615:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8036:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9811:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11176:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10936:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11521:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12581:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9496:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8063:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9677:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8358:385;9114:5;;;;;;;;;;9100:19;;:10;:19;;;9092:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8463:6:::1;8459:277;;;8514:1;8494:22;;:8;:22;;;;:34;;;;8520:8;8494:34;8486:68;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8628:8;8600:37;;8621:5;::::0;::::1;;;;;;;;8600:37;;;;;;;;;;;;8660:8;8652:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;8459:277;;;8716:8;8701:12;;:23;;;;;;;;;;;;;;;;;;8459:277;8358:385:::0;;;:::o;12805:360::-;12036:9;12022:23;;:10;:23;;;12014:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13029:11:::1;13043:6;;:13;;13029:27;;13072:9;13067:91;13091:3;13087:1;:7;13067:91;;;13116:30;13125:6;;13132:1;13125:9;;;;;;;;;;;;;;;13136:6;;13143:1;13136:9;;;;;;;;;;;;;;;13116:8;:30::i;:::-;13096:3;;;;;;;13067:91;;;;12089:1;12805:360:::0;;;;:::o;9941:29::-;;;:::o;8751:301::-;8795:21;8819:12;;;;;;;;;;;8795:36;;8866:13;8852:27;;:10;:27;;;8844:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8962:13;8934:42;;8955:5;;;;;;;;;;8934:42;;;;;;;;;;;;8995:13;8987:5;;:21;;;;;;;;;;;;;;;;;;9042:1;9019:12;;:25;;;;;;;;;;;;;;;;;;8751:301;:::o;10029:23::-;;;;;;;;;;;;;:::o;9716:86::-;9759:42;9716:86;:::o;9615:35::-;;;:::o;8036:20::-;;;;;;;;;;;;:::o;9811:102::-;9869:42;9811:102;:::o;11176:337::-;9114:5;;;;;;;;;;9100:19;;:10;:19;;;9092:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11306:5:::1;11297:14;;:5;:14;;;;:31;;;;;11324:4;11315:13;;:5;:13;;;;11297:31;:50;;;;;11341:6;11332:15;;:5;:15;;;;11297:50;11275:130;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11456:6;11438:8;:15;11447:5;11438:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11498:6;11478:27;;11491:5;11478:27;;;;;;;;;;;;11176:337:::0;;:::o;10936:190::-;10991:14;11027:8;:15;11036:5;11027:15;;;;;;;;;;;;;;;;;;;;;;;;;11018:24;;11075:1;11057:20;;:6;:20;;;11053:66;;;11103:4;11094:13;;11053:66;10936:190;;;:::o;11521:207::-;9114:5;;;;;;;;;;9100:19;;:10;:19;;;9092:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11623:1:::1;11602:23;;:9;:23;;;;11594:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11668:9;11657:8;;:20;;;;;;;;;;;;;;;;;;11711:8;;;;;;;;;;;11695:25;;;;;;;;;;;;11521:207:::0;:::o;12581:111::-;12036:9;12022:23;;:10;:23;;;12014:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12660:24:::1;12669:6;12677;12660:8;:24::i;:::-;12581:111:::0;;:::o;9496:42::-;;;:::o;8063:27::-;;;;;;;;;;;;;:::o;9677:30::-;;;:::o;13214:1585::-;13333:19;13370:7;:15;;;13386:6;13394;13370:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13333:69;;13446:1;13421:27;;13429:4;13421:27;;;;13413:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13561:117;13618:4;13638;:14;;;13661:4;13638:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13576:4;13561:34;;;;:117;;;;;:::i;:::-;13714:15;13731;13750:4;:9;;;13768:4;13750:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13713:61;;;;13799:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13789:23;;:6;:23;;;13785:95;;13851:7;13860;13829:39;;;;;;;;13785:95;13906:1;13896:7;:11;:26;;;;13921:1;13911:7;:11;13896:26;13892:886;;;13939:46;13952:6;13960;13968:7;13977;13939:12;:46::i;:::-;;14002:19;14031:5;14024:23;;;14056:4;14024:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14002:60;;14084:5;14077:21;;;9869:42;14119:11;14077:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9869:42;14146:23;;;14170:11;14146:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14199:22;9759:42;14224:26;;;14259:4;14224:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14199:66;;14280:23;14306:31;14333:3;14306:22;14325:2;14306:14;:18;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;14280:57;;14352:21;14376:35;14395:15;14376:14;:18;;:35;;;;:::i;:::-;14352:59;;14426:58;14456:10;14468:15;9759:42;14426:29;;;;:58;;;;;:::i;:::-;14499:54;14529:8;;;;;;;;;;;14539:13;9759:42;14499:29;;;;:54;;;;;:::i;:::-;14656:6;14573:193;;14631:6;14573:193;;14602:10;14573:193;;;14681:7;14707;14733:14;14573:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13892:886;;;;;13214:1585;;;;;:::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;14904:2534::-;15053:16;15121:6;15111:16;;:6;:16;;;15107:2324;;;15144:14;15161:20;15173:7;15161;:11;;:20;;;;:::i;:::-;15144:37;;15210:5;15200:15;;:6;:15;;;15196:383;;;15247:6;15236:17;;15196:383;;;15289:4;15279:14;;:6;:14;;;15275:304;;;15325:22;15334:4;15340:6;15325:8;:22::i;:::-;15314:33;;15275:304;;;15388:14;15405:17;15415:6;15405:9;:17::i;:::-;15388:34;;15450:44;15456:6;15464;15472;15488:4;15450:5;:44::i;:::-;15441:53;;15524:39;15537:6;15545;15553;15561:1;15524:12;:39::i;:::-;15513:50;;15275:304;;15196:383;15107:2324;;;;15610:5;15600:15;;:6;:15;;;15596:1835;;;15675:38;15705:7;15675:25;15684:6;15692:7;15675:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15664:49;;15596:1835;;;15745:5;15735:15;;:6;:15;;;15731:1700;;;15811:38;15841:7;15811:25;15820:6;15828:7;15811:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15800:49;;15731:1700;;;15881:4;15871:14;;:6;:14;;;15867:1564;;;15944:121;15971:4;15994:56;16042:7;15994:43;16000:6;16008:4;16014:7;16031:4;15994:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15944:8;:121::i;:::-;15933:132;;15867:1564;;;16097:4;16087:14;;:6;:14;;;16083:1348;;;16160:121;16187:4;16210:56;16258:7;16210:43;16216:6;16224:4;16230:7;16247:4;16210:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;16160:8;:121::i;:::-;16149:132;;16083:1348;;;16345:15;16363:17;16373:6;16363:9;:17::i;:::-;16345:35;;16395:15;16413:17;16423:6;16413:9;:17::i;:::-;16395:35;;16460:6;16449:17;;:7;:17;;;16445:975;;;16561:189;16596:7;16626:6;16655:46;16661:6;16669:7;16678;16695:4;16655:5;:46::i;:::-;16724:7;16561:12;:189::i;:::-;16550:200;;16445:975;;;16787:6;16776:17;;:7;:17;;;16772:648;;;16888:189;16923:6;16952:7;16982;17012:46;17018:6;17026:7;17035;17052:4;17012:5;:46::i;:::-;16888:12;:189::i;:::-;16877:200;;16772:648;;;17129:275;17164:7;17194;17270:46;17276:6;17284:7;17293;17310:4;17270:5;:46::i;:::-;17339;17345:6;17353:7;17362;17379:4;17339:5;:46::i;:::-;17129:12;:275::i;:::-;17118:286;;16772:648;16445:975;16083:1348;;;15867:1564;15731:1700;15596:1835;15107:2324;14904: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;19029:210::-;19116:17;19187:44;19193:5;19200;19207:8;19225:4;19187:5;:44::i;:::-;19175:56;;19029:210;;;;:::o;17532:1447::-;17674:17;17747:19;17797:7;:15;;;17813:9;17824:7;17797:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17747:86;;17877:1;17852:27;;17860:4;17852:27;;;;17844:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17937:55;17976:4;17983:8;17944:9;17937:30;;;;:55;;;;;:::i;:::-;18055:16;18073;18095:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18054:59;;;;;;;;;18141:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18128:26;;:9;:26;;;18124:848;;;18171:19;18193:56;18240:8;18200:9;18193:27;;;18229:4;18193:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;18171:78;;18264:23;18290:20;18306:3;18290:11;:15;;:20;;;;:::i;:::-;18264:46;;18403:39;18426:15;18403:18;18416:4;18403:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18354:29;18374:8;18354:15;:19;;:29;;;;:::i;:::-;:88;;;;;;18325:117;;18471:4;:9;;;18481:1;18484:9;18495:2;18509:1;18499:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18471:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18124:848;;;;;18589:19;18611:56;18658:8;18618:9;18611:27;;;18647:4;18611:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;18589:78;;18682:23;18708:20;18724:3;18708:11;:15;;:20;;;;:::i;:::-;18682:46;;18821:39;18844:15;18821:18;18834:4;18821:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18772:29;18792:8;18772:15;:19;;:29;;;;:::i;:::-;:88;;;;;;18743:117;;18875:4;:9;;;18885;18896:1;18899:2;18913:1;18903:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18875:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18124:848;;;17532:1447;;;;;;;;;:::o

Swarm Source

ipfs://28d5fd99bfa1efa8944fb7466d65d275e3be6f50df87d33a3ed7297edd306a89
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.