POL Price: $0.220655 (-10.19%)
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 POL

POL Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Convert688551902025-03-09 23:19:4044 mins ago1741562380IN
0x44574D53...1cFDA4aA8
0 POL0.04589572101.43374602
Convert688546312025-03-09 22:59:201 hr ago1741561160IN
0x44574D53...1cFDA4aA8
0 POL0.04656688121.67192471
Convert688534662025-03-09 22:17:001 hr ago1741558620IN
0x44574D53...1cFDA4aA8
0 POL0.0513991133.38983136
Convert688531212025-03-09 22:04:161 hr ago1741557856IN
0x44574D53...1cFDA4aA8
0 POL0.04579889121.20086253
Convert688507672025-03-09 20:39:473 hrs ago1741552787IN
0x44574D53...1cFDA4aA8
0 POL0.0440178491.94597799
Convert688507642025-03-09 20:39:413 hrs ago1741552781IN
0x44574D53...1cFDA4aA8
0 POL0.0121866390.10183813
Convert688505952025-03-09 20:33:433 hrs ago1741552423IN
0x44574D53...1cFDA4aA8
0 POL0.1048709261.582153
Convert688500912025-03-09 20:15:473 hrs ago1741551347IN
0x44574D53...1cFDA4aA8
0 POL0.05061787111.87011601
Convert688489182025-03-09 19:34:094 hrs ago1741548849IN
0x44574D53...1cFDA4aA8
0 POL0.06272966161.99001471
Convert688484102025-03-09 19:16:074 hrs ago1741547767IN
0x44574D53...1cFDA4aA8
0 POL0.05086067112.72286646
Convert688475402025-03-09 18:45:105 hrs ago1741545910IN
0x44574D53...1cFDA4aA8
0 POL0.06648314176.34926922
Convert688474572025-03-09 18:42:145 hrs ago1741545734IN
0x44574D53...1cFDA4aA8
0 POL0.0687125175.70923541
Convert688470612025-03-09 18:28:125 hrs ago1741544892IN
0x44574D53...1cFDA4aA8
0 POL0.07014883183.1906632
Convert688469282025-03-09 18:23:305 hrs ago1741544610IN
0x44574D53...1cFDA4aA8
0 POL0.10374025229.27543683
Convert688451222025-03-09 17:19:326 hrs ago1741540772IN
0x44574D53...1cFDA4aA8
0 POL0.05935587155.08753005
Convert688449272025-03-09 17:12:366 hrs ago1741540356IN
0x44574D53...1cFDA4aA8
0 POL0.09225706205.57348271
Convert688446292025-03-09 17:02:047 hrs ago1741539724IN
0x44574D53...1cFDA4aA8
0 POL0.08496987222.01286655
Convert688445902025-03-09 17:00:407 hrs ago1741539640IN
0x44574D53...1cFDA4aA8
0 POL0.06968188180.83691778
Convert688433682025-03-09 16:17:207 hrs ago1741537040IN
0x44574D53...1cFDA4aA8
0 POL0.07035201155.48438389
Convert688430422025-03-09 16:05:487 hrs ago1741536348IN
0x44574D53...1cFDA4aA8
0 POL0.05734208149.82582587
Convert688429662025-03-09 16:03:068 hrs ago1741536186IN
0x44574D53...1cFDA4aA8
0 POL0.05240281132.81968445
Convert688425122025-03-09 15:47:028 hrs ago1741535222IN
0x44574D53...1cFDA4aA8
0 POL0.19068957475.64186435
Convert688411462025-03-09 14:58:389 hrs ago1741532318IN
0x44574D53...1cFDA4aA8
0 POL0.06931811153.19936016
Convert688395602025-03-09 14:02:2810 hrs ago1741528948IN
0x44574D53...1cFDA4aA8
0 POL0.15522531387.18244893
Convert688378122025-03-09 13:00:3011 hrs ago1741525230IN
0x44574D53...1cFDA4aA8
0 POL0.0458669694.19950534
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
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 2024-10-01
*/

/**
 *Submitted for verification at polygonscan.com on 2024-02-06
*/

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

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 communityAddress;
    // V1 - V5: OK
    address public constant quick = address(0xB5C064F955D8e7F38fE0460C556a72987494eE17);
    //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 _communityAddress,
        address _weth,
        address _treasury
    ) public {
        factory = IUniswapV2Factory(_factory);
        communityAddress = _communityAddress;
        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;
        }
    }

    function changeCommunityAddress(address _communityAddress) external onlyOwner {
        communityAddress = _communityAddress;
    }
    // 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 communityAddress, 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(communityAddress, 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));
    }

    function recoverERC20(address token, address receiver) external onlyOwner {
        require(receiver != address(0), "Invalid address");

        uint256 balance = IERC20(token).balanceOf(address(this));
        IERC20(token).transfer(receiver, balance);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_communityAddress","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":"_communityAddress","type":"address"}],"name":"changeCommunityAddress","outputs":[],"stateMutability":"nonpayable","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":[],"name":"communityAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"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":"receiver","type":"address"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","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"}]

60c060405234801561001057600080fd5b50604051612fd2380380612fd28339818101604052608081101561003357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505060805160601c60a05160601c612d7c61025660003980610964528061108c52806112fc5280611efe5280611f55528061208c52806120e3528061210c528061214e52806121a552806121ce5250806115e1528061164552806125545250612d7c6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063bd1b820c11610066578063bd1b820c146104c7578063c45a01551461052b578063e30c39781461055f578063fdd3a8791461059357610100565b80638da5cb5b1461037d5780639d22ae8c146103b1578063a761a93914610415578063b14f2a391461048357610100565b806361d027b3116100d357806361d027b31461026d57806374bf7908146102a157806386e476dd146102e5578063886f039a1461031957610100565b8063078dfbe714610105578063303e6aa4146101615780633fc8cef31461022f5780634e71e0c814610263575b600080fd5b61015f6004803603606081101561011b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035151590602001909291905050506105c7565b005b61022d6004803603604081101561017757600080fd5b810190808035906020019064010000000081111561019457600080fd5b8201836020820111156101a657600080fd5b803590602001918460208302840111640100000000831117156101c857600080fd5b9091929391929390803590602001906401000000008111156101e957600080fd5b8201836020820111156101fb57600080fd5b8035906020019184602083028401116401000000008311171561021d57600080fd5b909192939192939050505061083f565b005b610237610962565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026b610986565b005b610275610b4d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b73565b005b6102ed610c78565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61037b6004803603604081101561032f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9e565b005b610385610f5a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610413600480360360408110156103c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b005b6104576004803603602081101561042b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611261565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104c56004803603602081101561049957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611323565b005b610529600480360360408110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611530565b005b6105336115df565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610567611603565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61059b611629565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610688576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81156107f857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806106c75750805b610739576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f776e61626c653a207a65726f2061646472657373000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061083a565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b600084849050905060005b8181101561095a5761094d86868381811061090257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061092b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16611641565b80806001019150506108eb565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657281525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e6b57600080fd5b505afa158015610e7f573d6000803e3d6000fd5b505050506040513d6020811015610e9557600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b810190808051906020019092919050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461103f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b73b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156110db57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561111357508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a20496e76616c696420627269646765000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b0061360405160405180910390a35050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561131e577f000000000000000000000000000000000000000000000000000000000000000090505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e61766c69642074726561737572790000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc714d22a2f08b695f81e7c707058db484aa5b4d6b4c9fd64beb10fe85832f60860405160405180910390a250565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b6115db8282611641565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73b5c064f955d8e7f38fe0460c556a72987494ee1781565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156116e857600080fd5b505afa1580156116fc573d6000803e3d6000fd5b505050506040513d602081101561171257600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a20496e76616c696420706169720000000081525060200191505060405180910390fd5b611894818273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561183357600080fd5b505afa158015611847573d6000803e3d6000fd5b505050506040513d602081101561185d57600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b1580156118ff57600080fd5b505af1158015611913573d6000803e3d6000fd5b505050506040513d604081101561192957600080fd5b810190808051906020019092919080519060200190929190505050915091508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561198e57600080fd5b505afa1580156119a2573d6000803e3d6000fd5b505050506040513d60208110156119b857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611a0657808280925081935050505b6000821180611a155750600081115b15611c7557611a2685858484611e5f565b50600073b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611aa457600080fd5b505afa158015611ab8573d6000803e3d6000fd5b505050506040513d6020811015611ace57600080fd5b810190808051906020019092919050505090506000611b0a6064611afc60508561230190919063ffffffff16565b61239690919063ffffffff16565b90506000611b21828461241f90919063ffffffff16565b9050611b84600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b611be5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168273b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c1588888860405180848152602001838152602001828152602001935050505060405180910390a45050505b5050505050565b600060608473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310611d3f5780518252602082019150602081019050602083039250611d1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611da1576040519150601f19603f3d011682016040523d82523d6000602084013e611da6565b606091505b5091509150818015611de65750600081511480611de55750808060200190516020811015611dd357600080fd5b81019080805190602001909291905050505b5b611e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5361666545524332303a205472616e73666572206661696c656400000000000081525060200191505060405180910390fd5b5050505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611fb4576000611eaa83856124a290919063ffffffff16565b905073b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611efc57809150611fae565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611f8157611f7a7f000000000000000000000000000000000000000000000000000000000000000082612525565b9150611fad565b6000611f8c87611261565b9050611f9a8782843061254f565b9150611fa98182846000611e5f565b9250505b5b506122f9565b73b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561201f576120188361200a8685612525565b6124a290919063ffffffff16565b90506122f8565b73b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561208a57612083826120758786612525565b6124a290919063ffffffff16565b90506122f7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561214c576121457f000000000000000000000000000000000000000000000000000000000000000061214085612132887f0000000000000000000000000000000000000000000000000000000000000000883061254f565b6124a290919063ffffffff16565b612525565b90506122f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561220e576122077f0000000000000000000000000000000000000000000000000000000000000000612202846121f4897f0000000000000000000000000000000000000000000000000000000000000000893061254f565b6124a290919063ffffffff16565b612525565b90506122f5565b600061221986611261565b9050600061222686611261565b90508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561227a57612273828761226d8a868a3061254f565b87611e5f565b92506122f2565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122cc576122c58782876122c08a868a3061254f565b611e5f565b92506122f1565b6122ee82826122dd8a868a3061254f565b6122e98a868a3061254f565b611e5f565b92505b5b50505b5b5b5b5b949350505050565b60008082148061231e575082828385029250828161231b57fe5b04145b612390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600080821161240d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6469766973696f6e206279207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b81838161241657fe5b04905092915050565b600082828403915081111561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828401915081101561251f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b60006125478373b5c064f955d8e7f38fe0460c556a72987494ee17843061254f565b905092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a4390587876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156125f757600080fd5b505afa15801561260b573d6000803e3d6000fd5b505050506040513d602081101561262157600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156126d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a2043616e6e6f7420636f6e76657274000081525060200191505060405180910390fd5b61270281858873ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561274b57600080fd5b505afa15801561275f573d6000803e3d6000fd5b505050506040513d606081101561277557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561280557600080fd5b505afa158015612819573d6000803e3d6000fd5b505050506040513d602081101561282f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415612ad9576000612929838a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128e057600080fd5b505afa1580156128f4573d6000803e3d6000fd5b505050506040513d602081101561290a57600080fd5b810190808051906020019092919050505061241f90919063ffffffff16565b905060006129426103e58361230190919063ffffffff16565b905061296b8161295d6103e88761230190919063ffffffff16565b6124a290919063ffffffff16565b61297e848361230190919063ffffffff16565b8161298557fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f6000888a600067ffffffffffffffff811180156129c057600080fd5b506040519080825280601f01601f1916602001820160405280156129f35781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612a6b578082015181840152602081019050612a50565b50505050905090810190601f168015612a985780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b505050505050612d3b565b6000612b8f828a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b4657600080fd5b505afa158015612b5a573d6000803e3d6000fd5b505050506040513d6020811015612b7057600080fd5b810190808051906020019092919050505061241f90919063ffffffff16565b90506000612ba86103e58361230190919063ffffffff16565b9050612bd181612bc36103e88661230190919063ffffffff16565b6124a290919063ffffffff16565b612be4858361230190919063ffffffff16565b81612beb57fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f8760008a600067ffffffffffffffff81118015612c2657600080fd5b506040519080825280601f01601f191660200182016040528015612c595781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612cd1578082015181840152602081019050612cb6565b50505050905090810190601f168015612cfe5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612d2057600080fd5b505af1158015612d34573d6000803e3d6000fd5b5050505050505b50505094935050505056fea2646970667358221220e030325b43ad50d7d80cf3e65f202416ad7e243c282a1749954348165d2a5a7b64736f6c634300060c00330000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127000000000000000000000000016899a9b449bb8608af81846d0336b7ba58b7504

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063bd1b820c11610066578063bd1b820c146104c7578063c45a01551461052b578063e30c39781461055f578063fdd3a8791461059357610100565b80638da5cb5b1461037d5780639d22ae8c146103b1578063a761a93914610415578063b14f2a391461048357610100565b806361d027b3116100d357806361d027b31461026d57806374bf7908146102a157806386e476dd146102e5578063886f039a1461031957610100565b8063078dfbe714610105578063303e6aa4146101615780633fc8cef31461022f5780634e71e0c814610263575b600080fd5b61015f6004803603606081101561011b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035151590602001909291905050506105c7565b005b61022d6004803603604081101561017757600080fd5b810190808035906020019064010000000081111561019457600080fd5b8201836020820111156101a657600080fd5b803590602001918460208302840111640100000000831117156101c857600080fd5b9091929391929390803590602001906401000000008111156101e957600080fd5b8201836020820111156101fb57600080fd5b8035906020019184602083028401116401000000008311171561021d57600080fd5b909192939192939050505061083f565b005b610237610962565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61026b610986565b005b610275610b4d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e3600480360360208110156102b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b73565b005b6102ed610c78565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61037b6004803603604081101561032f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9e565b005b610385610f5a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610413600480360360408110156103c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b005b6104576004803603602081101561042b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611261565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104c56004803603602081101561049957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611323565b005b610529600480360360408110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611530565b005b6105336115df565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610567611603565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61059b611629565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610688576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81156107f857600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415806106c75750805b610739576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f776e61626c653a207a65726f2061646472657373000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061083a565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b600084849050905060005b8181101561095a5761094d86868381811061090257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061092b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16611641565b80806001019150506108eb565b505050505050565b7f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657281525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e76616c69642061646472657373000000000000000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e6b57600080fd5b505afa158015610e7f573d6000803e3d6000fd5b505050506040513d6020811015610e9557600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b505050506040513d6020811015610f4357600080fd5b810190808051906020019092919050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461103f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b73b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156110db57507f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561111357508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a20496e76616c696420627269646765000081525060200191505060405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b0061360405160405180910390a35050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561131e577f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127090505b919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f496e61766c69642074726561737572790000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc714d22a2f08b695f81e7c707058db484aa5b4d6b4c9fd64beb10fe85832f60860405160405180910390a250565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a206d7573742075736520454f410000000081525060200191505060405180910390fd5b6115db8282611641565b5050565b7f0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab3281565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73b5c064f955d8e7f38fe0460c556a72987494ee1781565b60007f0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab3273ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156116e857600080fd5b505afa1580156116fc573d6000803e3d6000fd5b505050506040513d602081101561171257600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f517569636b436f6e7665727465723a20496e76616c696420706169720000000081525060200191505060405180910390fd5b611894818273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561183357600080fd5b505afa158015611847573d6000803e3d6000fd5b505050506040513d602081101561185d57600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b1580156118ff57600080fd5b505af1158015611913573d6000803e3d6000fd5b505050506040513d604081101561192957600080fd5b810190808051906020019092919080519060200190929190505050915091508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561198e57600080fd5b505afa1580156119a2573d6000803e3d6000fd5b505050506040513d60208110156119b857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611a0657808280925081935050505b6000821180611a155750600081115b15611c7557611a2685858484611e5f565b50600073b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611aa457600080fd5b505afa158015611ab8573d6000803e3d6000fd5b505050506040513d6020811015611ace57600080fd5b810190808051906020019092919050505090506000611b0a6064611afc60508561230190919063ffffffff16565b61239690919063ffffffff16565b90506000611b21828461241f90919063ffffffff16565b9050611b84600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b611be5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168273b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c1588888860405180848152602001838152602001828152602001935050505060405180910390a45050505b5050505050565b600060608473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310611d3f5780518252602082019150602081019050602083039250611d1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611da1576040519150601f19603f3d011682016040523d82523d6000602084013e611da6565b606091505b5091509150818015611de65750600081511480611de55750808060200190516020811015611dd357600080fd5b81019080805190602001909291905050505b5b611e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5361666545524332303a205472616e73666572206661696c656400000000000081525060200191505060405180910390fd5b5050505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611fb4576000611eaa83856124a290919063ffffffff16565b905073b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611efc57809150611fae565b7f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611f8157611f7a7f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127082612525565b9150611fad565b6000611f8c87611261565b9050611f9a8782843061254f565b9150611fa98182846000611e5f565b9250505b5b506122f9565b73b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561201f576120188361200a8685612525565b6124a290919063ffffffff16565b90506122f8565b73b5c064f955d8e7f38fe0460c556a72987494ee1773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561208a57612083826120758786612525565b6124a290919063ffffffff16565b90506122f7565b7f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561214c576121457f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127061214085612132887f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270883061254f565b6124a290919063ffffffff16565b612525565b90506122f6565b7f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561220e576122077f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270612202846121f4897f0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270893061254f565b6124a290919063ffffffff16565b612525565b90506122f5565b600061221986611261565b9050600061222686611261565b90508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561227a57612273828761226d8a868a3061254f565b87611e5f565b92506122f2565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122cc576122c58782876122c08a868a3061254f565b611e5f565b92506122f1565b6122ee82826122dd8a868a3061254f565b6122e98a868a3061254f565b611e5f565b92505b5b50505b5b5b5b5b949350505050565b60008082148061231e575082828385029250828161231b57fe5b04145b612390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600080821161240d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6469766973696f6e206279207a65726f0000000000000000000000000000000081525060200191505060405180910390fd5b81838161241657fe5b04905092915050565b600082828403915081111561249c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828401915081101561251f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b60006125478373b5c064f955d8e7f38fe0460c556a72987494ee17843061254f565b905092915050565b6000807f0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab3273ffffffffffffffffffffffffffffffffffffffff1663e6a4390587876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156125f757600080fd5b505afa15801561260b573d6000803e3d6000fd5b505050506040513d602081101561262157600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156126d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f517569636b436f6e7665727465723a2043616e6e6f7420636f6e76657274000081525060200191505060405180910390fd5b61270281858873ffffffffffffffffffffffffffffffffffffffff16611c7c9092919063ffffffff16565b6000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561274b57600080fd5b505afa15801561275f573d6000803e3d6000fd5b505050506040513d606081101561277557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561280557600080fd5b505afa158015612819573d6000803e3d6000fd5b505050506040513d602081101561282f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415612ad9576000612929838a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128e057600080fd5b505afa1580156128f4573d6000803e3d6000fd5b505050506040513d602081101561290a57600080fd5b810190808051906020019092919050505061241f90919063ffffffff16565b905060006129426103e58361230190919063ffffffff16565b905061296b8161295d6103e88761230190919063ffffffff16565b6124a290919063ffffffff16565b61297e848361230190919063ffffffff16565b8161298557fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f6000888a600067ffffffffffffffff811180156129c057600080fd5b506040519080825280601f01601f1916602001820160405280156129f35781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612a6b578082015181840152602081019050612a50565b50505050905090810190601f168015612a985780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b505050505050612d3b565b6000612b8f828a73ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b4657600080fd5b505afa158015612b5a573d6000803e3d6000fd5b505050506040513d6020811015612b7057600080fd5b810190808051906020019092919050505061241f90919063ffffffff16565b90506000612ba86103e58361230190919063ffffffff16565b9050612bd181612bc36103e88661230190919063ffffffff16565b6124a290919063ffffffff16565b612be4858361230190919063ffffffff16565b81612beb57fe5b0495508473ffffffffffffffffffffffffffffffffffffffff1663022c0d9f8760008a600067ffffffffffffffff81118015612c2657600080fd5b506040519080825280601f01601f191660200182016040528015612c595781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612cd1578082015181840152602081019050612cb6565b50505050905090810190601f168015612cfe5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612d2057600080fd5b505af1158015612d34573d6000803e3d6000fd5b5050505050505b50505094935050505056fea2646970667358221220e030325b43ad50d7d80cf3e65f202416ad7e243c282a1749954348165d2a5a7b64736f6c634300060c0033

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

0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf127000000000000000000000000016899a9b449bb8608af81846d0336b7ba58b7504

-----Decoded View---------------
Arg [0] : _factory (address): 0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32
Arg [1] : _communityAddress (address): 0x000000000000000000000000000000000000dEaD
Arg [2] : _weth (address): 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270
Arg [3] : _treasury (address): 0x16899A9B449bb8608af81846d0336b7bA58B7504

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000005757371414417b8c6caad45baef941abc7d3ab32
Arg [1] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [2] : 0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270
Arg [3] : 00000000000000000000000016899a9b449bb8608af81846d0336b7ba58b7504


Deployed Bytecode Sourcemap

9350:9943:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8342:385;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12794:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9817:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8735:301;;;:::i;:::-;;9905:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10978:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9599:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19026:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8020:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11159:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10780:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11504:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12570:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9480:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8047:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9657:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8342:385;9098:5;;;;;;;;;;9084:19;;:10;:19;;;9076:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8447:6:::1;8443:277;;;8498:1;8478:22;;:8;:22;;;;:34;;;;8504:8;8478:34;8470:68;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8612:8;8584:37;;8605:5;::::0;::::1;;;;;;;;8584:37;;;;;;;;;;;;8644:8;8636:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;8443:277;;;8700:8;8685:12;;:23;;;;;;;;;;;;;;;;;;8443:277;8342:385:::0;;;:::o;12794:360::-;12019:9;12005:23;;:10;:23;;;11997:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13018:11:::1;13032:6;;:13;;13018:27;;13061:9;13056:91;13080:3;13076:1;:7;13056:91;;;13105:30;13114:6;;13121:1;13114:9;;;;;;;;;;;;;;;13125:6;;13132:1;13125:9;;;;;;;;;;;;;;;13105:8;:30::i;:::-;13085:3;;;;;;;13056:91;;;;12072:1;12794:360:::0;;;;:::o;9817:29::-;;;:::o;8735:301::-;8779:21;8803:12;;;;;;;;;;;8779:36;;8850:13;8836:27;;:10;:27;;;8828:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8946:13;8918:42;;8939:5;;;;;;;;;;8918:42;;;;;;;;;;;;8979:13;8971:5;;:21;;;;;;;;;;;;;;;;;;9026:1;9003:12;;:25;;;;;;;;;;;;;;;;;;8735:301;:::o;9905:23::-;;;;;;;;;;;;;:::o;10978:133::-;9098:5;;;;;;;;;;9084:19;;:10;:19;;;9076:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11086:17:::1;11067:16;;:36;;;;;;;;;;;;;;;;;;10978:133:::0;:::o;9599:31::-;;;;;;;;;;;;;:::o;19026:264::-;9098:5;;;;;;;;;;9084:19;;:10;:19;;;9076:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19139:1:::1;19119:22;;:8;:22;;;;19111:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;19174:15;19199:5;19192:23;;;19224:4;19192:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;19174:56;;19248:5;19241:22;;;19264:8;19274:7;19241:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;9151:1;19026:264:::0;;:::o;8020:20::-;;;;;;;;;;;;:::o;11159:337::-;9098:5;;;;;;;;;;9084:19;;:10;:19;;;9076:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9697:42:::1;11280:14;;:5;:14;;;;:31;;;;;11307:4;11298:13;;:5;:13;;;;11280:31;:50;;;;;11324:6;11315:15;;:5;:15;;;;11280:50;11258:130;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11439:6;11421:8;:15;11430:5;11421:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11481:6;11461:27;;11474:5;11461:27;;;;;;;;;;;;11159:337:::0;;:::o;10780:190::-;10835:14;10871:8;:15;10880:5;10871:15;;;;;;;;;;;;;;;;;;;;;;;;;10862:24;;10919:1;10901:20;;:6;:20;;;10897:66;;;10947:4;10938:13;;10897:66;10780:190;;;:::o;11504:207::-;9098:5;;;;;;;;;;9084:19;;:10;:19;;;9076:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11606:1:::1;11585:23;;:9;:23;;;;11577:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11651:9;11640:8;;:20;;;;;;;;;;;;;;;;;;11694:8;;;;;;;;;;;11678:25;;;;;;;;;;;;11504:207:::0;:::o;12570:111::-;12019:9;12005:23;;:10;:23;;;11997:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12649:24:::1;12658:6;12666;12649:8;:24::i;:::-;12570:111:::0;;:::o;9480:42::-;;;:::o;8047:27::-;;;;;;;;;;;;;:::o;9657:83::-;9697:42;9657:83;:::o;13203:1375::-;13322:19;13359:7;:15;;;13375:6;13383;13359:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13322:69;;13435:1;13410:27;;13418:4;13410:27;;;;13402:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13550:117;13607:4;13627;:14;;;13650:4;13627:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13565:4;13550:34;;;;:117;;;;;:::i;:::-;13703:15;13720;13739:4;:9;;;13757:4;13739:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13702:61;;;;13788:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13778:23;;:6;:23;;;13774:95;;13840:7;13849;13818:39;;;;;;;;13774:95;13895:1;13885:7;:11;:26;;;;13910:1;13900:7;:11;13885:26;13881:676;;;13928:46;13941:6;13949;13957:7;13966;13928:12;:46::i;:::-;;13991:19;9697:42;14013:23;;;14045:4;14013:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13991:60;;14068:23;14094:28;14118:3;14094:19;14110:2;14094:11;:15;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14068:54;;14137:21;14161:32;14177:15;14161:11;:15;;:32;;;;:::i;:::-;14137:56;;14208:61;14235:16;;;;;;;;;;;14253:15;9697:42;14208:26;;;;:61;;;;;:::i;:::-;14284:51;14311:8;;;;;;;;;;;14321:13;9697:42;14284:26;;;;:51;;;;;:::i;:::-;14438:6;14355:190;;14413:6;14355:190;;14384:10;14355:190;;;14463:7;14489;14515:11;14355:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13881:676;;;;13203:1375;;;;;:::o;2651:302::-;2736:12;2750:17;2779:5;2771:19;;2814:10;2826:2;2830:6;2791:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2771:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:103;;;;2857:7;:57;;;;;2884:1;2869:4;:11;:16;:44;;;;2900:4;2889:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2869:44;2857:57;2849:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:302;;;;;:::o;14683:2534::-;14832:16;14900:6;14890:16;;:6;:16;;;14886:2324;;;14923:14;14940:20;14952:7;14940;:11;;:20;;;;:::i;:::-;14923:37;;9697:42;14979:15;;:6;:15;;;14975:383;;;15026:6;15015:17;;14975:383;;;15068:4;15058:14;;:6;:14;;;15054:304;;;15104:22;15113:4;15119:6;15104:8;:22::i;:::-;15093:33;;15054:304;;;15167:14;15184:17;15194:6;15184:9;:17::i;:::-;15167:34;;15229:44;15235:6;15243;15251;15267:4;15229:5;:44::i;:::-;15220:53;;15303:39;15316:6;15324;15332;15340:1;15303:12;:39::i;:::-;15292:50;;15054:304;;14975:383;14886:2324;;;;9697:42;15379:15;;:6;:15;;;15375:1835;;;15454:38;15484:7;15454:25;15463:6;15471:7;15454:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15443:49;;15375:1835;;;9697:42;15514:15;;:6;:15;;;15510:1700;;;15590:38;15620:7;15590:25;15599:6;15607:7;15590:8;:25::i;:::-;:29;;:38;;;;:::i;:::-;15579:49;;15510:1700;;;15660:4;15650:14;;:6;:14;;;15646:1564;;;15723:121;15750:4;15773:56;15821:7;15773:43;15779:6;15787:4;15793:7;15810:4;15773:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15723:8;:121::i;:::-;15712:132;;15646:1564;;;15876:4;15866:14;;:6;:14;;;15862:1348;;;15939:121;15966:4;15989:56;16037:7;15989:43;15995:6;16003:4;16009:7;16026:4;15989:5;:43::i;:::-;:47;;:56;;;;:::i;:::-;15939:8;:121::i;:::-;15928:132;;15862:1348;;;16124:15;16142:17;16152:6;16142:9;:17::i;:::-;16124:35;;16174:15;16192:17;16202:6;16192:9;:17::i;:::-;16174:35;;16239:6;16228:17;;:7;:17;;;16224:975;;;16340:189;16375:7;16405:6;16434:46;16440:6;16448:7;16457;16474:4;16434:5;:46::i;:::-;16503:7;16340:12;:189::i;:::-;16329:200;;16224:975;;;16566:6;16555:17;;:7;:17;;;16551:648;;;16667:189;16702:6;16731:7;16761;16791:46;16797:6;16805:7;16814;16831:4;16791:5;:46::i;:::-;16667:12;:189::i;:::-;16656:200;;16551:648;;;16908:275;16943:7;16973;17049:46;17055:6;17063:7;17072;17089:4;17049:5;:46::i;:::-;17118;17124:6;17132:7;17141;17158:4;17118:5;:46::i;:::-;16908:12;:275::i;:::-;16897:286;;16551:648;16224:975;15862:1348;;;15646:1564;15510:1700;15375:1835;14886:2324;14683:2534;;;;;;:::o;552:142::-;604:6;636:1;631;:6;:30;;;;660:1;655;650;646;:5;642:9;;;641:15;;;;;;:20;631:30;623:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:142;;;;:::o;702:137::-;754:7;786:1;782;:5;774:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;830:1;826;:5;;;;;;819:12;;702:137;;;;:::o;415:129::-;467:6;509:1;503;499;:5;495:9;;;494:16;;486:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;415:129;;;;:::o;279:128::-;331:6;373:1;367;363;:5;359:9;;;358:16;;350:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;279:128;;;;:::o;18808:210::-;18895:17;18966:44;18972:5;9697:42;18986:8;19004:4;18966:5;:44::i;:::-;18954:56;;18808:210;;;;:::o;17311:1447::-;17453:17;17526:19;17576:7;:15;;;17592:9;17603:7;17576:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17526:86;;17656:1;17631:27;;17639:4;17631:27;;;;17623:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17716:55;17755:4;17762:8;17723:9;17716:30;;;;:55;;;;;:::i;:::-;17834:16;17852;17874:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17833:59;;;;;;;;;17920:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17907:26;;:9;:26;;;17903:848;;;17950:19;17972:56;18019:8;17979:9;17972:27;;;18008:4;17972:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;17950:78;;18043:23;18069:20;18085:3;18069:11;:15;;:20;;;;:::i;:::-;18043:46;;18182:39;18205:15;18182:18;18195:4;18182:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18133:29;18153:8;18133:15;:19;;:29;;;;:::i;:::-;:88;;;;;;18104:117;;18250:4;:9;;;18260:1;18263:9;18274:2;18288:1;18278:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18250:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17903:848;;;;;18368:19;18390:56;18437:8;18397:9;18390:27;;;18426:4;18390:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:46;;:56;;;;:::i;:::-;18368:78;;18461:23;18487:20;18503:3;18487:11;:15;;:20;;;;:::i;:::-;18461:46;;18600:39;18623:15;18600:18;18613:4;18600:8;:12;;:18;;;;:::i;:::-;:22;;:39;;;;:::i;:::-;18551:29;18571:8;18551:15;:19;;:29;;;;:::i;:::-;:88;;;;;;18522:117;;18654:4;:9;;;18664;18675:1;18678:2;18692:1;18682:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18654:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17903:848;;;17311:1447;;;;;;;;;:::o

Swarm Source

ipfs://e030325b43ad50d7d80cf3e65f202416ad7e243c282a1749954348165d2a5a7b

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.