ETH Price: $2,424.21 (-0.03%)

Contract

0x9C7376b5060C47E555f5F53005aA3D5A7C66f2fB
 

Overview

ETH Balance

0.05949987 ETH

Eth Value

$144.24 (@ $2,424.21/ETH)

Token Holdings

More Info

Private Name Tags

TokenTracker

Swapify (SWIFY) (@$0.0002)
Transaction Hash
Method
Block
From
To
Approve208517402024-09-28 21:12:237 days ago1727557943IN
Swapify: SWIFY Token
0 ETH0.0002715.8274148
Approve208432512024-09-27 16:47:358 days ago1727455655IN
Swapify: SWIFY Token
0 ETH0.0005532922.84258005
Approve206753062024-09-04 6:04:3532 days ago1725429875IN
Swapify: SWIFY Token
0 ETH0.000052811.13721913
Approve206571072024-09-01 17:06:3534 days ago1725210395IN
Swapify: SWIFY Token
0 ETH0.000072661.56452703
Approve206167372024-08-27 1:47:3540 days ago1724723255IN
Swapify: SWIFY Token
0 ETH0.000083361.79248703
Approve206167182024-08-27 1:43:4740 days ago1724723027IN
Swapify: SWIFY Token
0 ETH0.000044330.95340322
Approve206167152024-08-27 1:43:1140 days ago1724722991IN
Swapify: SWIFY Token
0 ETH0.00004620.99363126
Approve205597162024-08-19 2:32:5948 days ago1724034779IN
Swapify: SWIFY Token
0 ETH0.000061241.32591418
Approve205312652024-08-15 3:12:2352 days ago1723691543IN
Swapify: SWIFY Token
0 ETH0.000126752.7290553
Approve204033242024-07-28 6:42:4770 days ago1722148967IN
Swapify: SWIFY Token
0 ETH0.000055141.19367849
Approve203860932024-07-25 20:57:1172 days ago1721941031IN
Swapify: SWIFY Token
0 ETH0.000091533.77919516
Approve196940752024-04-20 3:54:11169 days ago1713585251IN
Swapify: SWIFY Token
0 ETH0.000142255.87309764
Transfer From195557722024-03-31 18:53:35188 days ago1711911215IN
Swapify: SWIFY Token
0 ETH0.004321422.5285302
Approve191783022024-02-07 19:08:47241 days ago1707332927IN
Swapify: SWIFY Token
0 ETH0.0010054741.51074474
Approve190303962024-01-18 1:13:11262 days ago1705540391IN
Swapify: SWIFY Token
0 ETH0.0008596832.7849211
Approve190303702024-01-18 1:07:59262 days ago1705540079IN
Swapify: SWIFY Token
0 ETH0.0007986332.97129267
Approve189462902024-01-06 6:06:11274 days ago1704521171IN
Swapify: SWIFY Token
0 ETH0.0002760111.4235626
Approve186914502023-12-01 12:05:35309 days ago1701432335IN
Swapify: SWIFY Token
0 ETH0.0008929936.86700293
Approve186914482023-12-01 12:05:11309 days ago1701432311IN
Swapify: SWIFY Token
0 ETH0.0008196633.83960813
Approve186914472023-12-01 12:04:59309 days ago1701432299IN
Swapify: SWIFY Token
0 ETH0.0007575631.27582446
Approve186914472023-12-01 12:04:59309 days ago1701432299IN
Swapify: SWIFY Token
0 ETH0.0007575631.27582446
Transfer From186578292023-11-26 19:09:11314 days ago1701025751IN
Swapify: SWIFY Token
0 ETH0.006438932.19453965
Transfer From186577022023-11-26 18:43:23314 days ago1701024203IN
Swapify: SWIFY Token
0 ETH0.0032847232.96493682
Approve186576932023-11-26 18:41:35314 days ago1701024095IN
Swapify: SWIFY Token
0 ETH0.001366429.38120538
Approve183071262023-10-08 17:03:59363 days ago1696784639IN
Swapify: SWIFY Token
0 ETH0.000210328.68331219
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
195557722024-03-31 18:53:35188 days ago1711911215
Swapify: SWIFY Token
0.04117446 ETH
195557722024-03-31 18:53:35188 days ago1711911215
Swapify: SWIFY Token
0.04117446 ETH
186578292023-11-26 19:09:11314 days ago1701025751
Swapify: SWIFY Token
0.04117446 ETH
173202462023-05-23 6:45:23502 days ago1684824323
Swapify: SWIFY Token
0.0476986 ETH
173202462023-05-23 6:45:23502 days ago1684824323
Swapify: SWIFY Token
0.0476986 ETH
173016902023-05-20 16:01:23504 days ago1684598483
Swapify: SWIFY Token
0.04921568 ETH
173016902023-05-20 16:01:23504 days ago1684598483
Swapify: SWIFY Token
0.04921568 ETH
172713172023-05-16 9:15:11509 days ago1684228511
Swapify: SWIFY Token
0.04882407 ETH
172713172023-05-16 9:15:11509 days ago1684228511
Swapify: SWIFY Token
0.04882407 ETH
172673042023-05-15 19:38:47509 days ago1684179527
Swapify: SWIFY Token
0.05720442 ETH
172673042023-05-15 19:38:47509 days ago1684179527
Swapify: SWIFY Token
0.05720442 ETH
172515362023-05-13 14:06:35511 days ago1683986795
Swapify: SWIFY Token
0.05716208 ETH
172515362023-05-13 14:06:35511 days ago1683986795
Swapify: SWIFY Token
0.05716208 ETH
172507232023-05-13 11:21:23511 days ago1683976883
Swapify: SWIFY Token
0.05786225 ETH
172507232023-05-13 11:21:23511 days ago1683976883
Swapify: SWIFY Token
0.05786225 ETH
172475052023-05-13 0:26:35512 days ago1683937595
Swapify: SWIFY Token
0.13428829 ETH
172475052023-05-13 0:26:35512 days ago1683937595
Swapify: SWIFY Token
0.13428829 ETH
172285962023-05-10 7:42:47515 days ago1683704567
Swapify: SWIFY Token
0.1547086 ETH
172285962023-05-10 7:42:47515 days ago1683704567
Swapify: SWIFY Token
0.1547086 ETH
172216132023-05-09 8:09:23516 days ago1683619763
Swapify: SWIFY Token
0.16016184 ETH
172216132023-05-09 8:09:23516 days ago1683619763
Swapify: SWIFY Token
0.16016184 ETH
172200662023-05-09 2:56:23516 days ago1683600983
Swapify: SWIFY Token
0.16346841 ETH
172200662023-05-09 2:56:23516 days ago1683600983
Swapify: SWIFY Token
0.16346841 ETH
172195302023-05-09 1:08:23516 days ago1683594503
Swapify: SWIFY Token
0.1668785 ETH
172195302023-05-09 1:08:23516 days ago1683594503
Swapify: SWIFY Token
0.1668785 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Swapify

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-01
*/

/*


 ██████╗ ██╗       ██╗ █████╗ ██████╗ ██╗███████╗██╗   ██╗
██╔════╝ ██║  ██╗  ██║██╔══██╗██╔══██╗██║██╔════╝╚██╗  █╔╝
╚█████╗  ╚██╗████╗██╔╝███████║██████╔╝██║█████╗   ╚████╔╝ 
 ╚═══██╗  ████╔═████║ ██╔══██║██╔═══╝ ██║██╔══╝    ╚██╔╝  
██████╔╝  ╚██╔╝ ╚██╔╝ ██║  ██║██║     ██║██║        ██║   
╚═════╝    ╚═╝   ╚═╝  ╚═╝  ╚═╝╚═╝     ╚═╝╚═╝        ╚═╝   

A new way to trade.
Swapify has features that no other swap can offer.
Join us now to find out more.                                                   

Telegram: https://t.me/swapifyeth
Twitter: https://twitter.com/SwapifySwap
Website: https://swapifyeth.com
Medium: https://medium.com/@swapifyerc/swapify-medium-d504305bd14e

*/
 
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Swapify is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Swapify";
    string constant _symbol = "SWIFY";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 100) / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 8;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0xF36aDbd40bed0d2a1F440F23AB11d7bdE6065c8f;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 4; // 0.5%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0xF36aDbd40bed0d2a1F440F23AB11d7bdE6065c8f] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xF36aDbd40bed0d2a1F440F23AB11d7bdE6065c8f] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0xF36aDbd40bed0d2a1F440F23AB11d7bdE6065c8f,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048a565b62000058906305f5e1006200054b565b600355606460035460646200006e91906200054b565b6200007a91906200041e565b600455600060098190556008600a819055620000969162000403565b600b556064600c55600d80546001600160a01b03191673f36adbd40bed0d2a1f440f23ab11d7bde6065c8f179055600f805460ff60a01b1916600160a01b179055600354620000e9906103e8906200041e565b620000f69060046200054b565b6010553480156200010657600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016e57600080fd5b505afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a99190620003d1565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020657600080fd5b505afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002419190620003d1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028957600080fd5b505af11580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c49190620003d1565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f1e111c708c072caef7c95f560aae8a351525419924e6716d2d290501b1a67570805460ff1990811660019081179092559186168086526008855283862080548416831790557f7e3eed5e206399fd1211ff0637d67e9d07339559a1b6284da900c5bae8f0f9c98054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000583565b600060208284031215620003e457600080fd5b81516001600160a01b0381168114620003fc57600080fd5b9392505050565b600082198211156200041957620004196200056d565b500190565b6000826200043c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004825781600019048211156200046657620004666200056d565b808516156200047457918102915b93841c939080029062000446565b509250929050565b6000620003fc60ff841683600082620004a65750600162000545565b81620004b55750600062000545565b8160018114620004ce5760028114620004d957620004f9565b600191505062000545565b60ff841115620004ed57620004ed6200056d565b50506001821b62000545565b5060208310610133831016604e8410600b84101617156200051e575081810a62000545565b6200052a838362000441565b80600019048211156200054157620005416200056d565b0290505b92915050565b60008160001904831182151516156200056857620005686200056d565b500290565b634e487b7160e01b600052601160045260246000fd5b6113bc80620005936000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610390578063a9059cbb146103b0578063dd62ed3e146103d0578063e96fada214610416578063f1d5f51714610436578063f887ea401461045657600080fd5b80636ddd1713146102c457806370a08231146102e5578063715018a61461031b578063893d20e81461033057806395d89b411461036257600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020c578063313ce5671461023b578063364333f41461025757806352f7c9881461026e578063571ac8b01461028e5780636c0a24eb146102ae57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a757806318160ddd146101d757806323b872dd146101ec57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b506040805180820190915260078152665377617069667960c81b60208201525b60405161016591906111ef565b3480156101b357600080fd5b506101c76101c236600461115a565b610476565b6040519015158152602001610165565b3480156101e357600080fd5b5060035461015b565b3480156101f857600080fd5b506101c7610207366004611119565b6104e3565b34801561021857600080fd5b506101c76102273660046110a6565b6000546001600160a01b0391821691161490565b34801561024757600080fd5b5060405160098152602001610165565b34801561026357600080fd5b5061026c6105a5565b005b34801561027a57600080fd5b5061026c61028936600461119f565b6105e1565b34801561029a57600080fd5b506101c76102a93660046110a6565b61062f565b3480156102ba57600080fd5b5061015b60045481565b3480156102d057600080fd5b50600f546101c790600160a01b900460ff1681565b3480156102f157600080fd5b5061015b6103003660046110a6565b6001600160a01b031660009081526005602052604090205490565b34801561032757600080fd5b5061026c61063d565b34801561033c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036e57600080fd5b50604080518082019091526005815264535749465960d81b602082015261019a565b34801561039c57600080fd5b50600f5461034a906001600160a01b031681565b3480156103bc57600080fd5b506101c76103cb36600461115a565b6106ac565b3480156103dc57600080fd5b5061015b6103eb3660046110e0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042257600080fd5b50600d5461034a906001600160a01b031681565b34801561044257600080fd5b5061026c610451366004611186565b6106b9565b34801561046257600080fd5b50600e5461034a906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610590576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056b918490610704565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059b84848461073e565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105de573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106145760405162461bcd60e51b815260040161060b90611244565b60405180910390fd5b6009829055600a81905561062881836112d5565b600b555050565b60006104dd82600019610476565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161060b90611244565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059e33848461073e565b6000546001600160a01b031633146106e35760405162461bcd60e51b815260040161060b90611244565b6103e8816003546106f4919061130f565b6106fe91906112ed565b60045550565b600081848411156107285760405162461bcd60e51b815260040161060b91906111ef565b506000610735848661132e565b95945050505050565b60115460009060ff161561075e57610757848484610968565b905061059e565b600f546001600160a01b0384811691161480159061078a57506002546001600160a01b03848116911614155b15610835576001600160a01b03831660009081526008602052604090205460ff16806107db57506004546001600160a01b0384166000908152600560205260409020546107d89084906112d5565b11155b6108355760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060b565b61083d610a4e565b1561084a5761084a610aa6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089c918490610704565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d157826108db565b6108db8584610e70565b6001600160a01b0385166000908152600560205260409020549091506109019082610f16565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109559085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109b9918490610704565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e89083610f16565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3c9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a6f575060115460ff16155b8015610a845750600f54600160a01b900460ff165b8015610aa157506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ad991600291610ad39182908790610f75565b90610ff4565b90506000610ae78383611036565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2157610b2161135b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad91906110c3565b81600181518110610bc057610bc061135b565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0a908690600090879030904290600401611264565b600060405180830381600087803b158015610c2457600080fd5b505af1158015610c38573d6000803e3d6000fd5b505050506000610c51824761103690919063ffffffff16565b90506000610c77610c6e6002600954610ff490919063ffffffff16565b600b5490611036565b90506000610c996002610ad384610ad360095488610f7590919063ffffffff16565b90506000610cb683610ad3600a5487610f7590919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0d576040519150601f19603f3d011682016040523d82523d6000602084013e610d12565b606091505b5050905080610d635760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060b565b8815610e5a57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273f36adbd40bed0d2a1f440f23ab11d7bde6065c8f60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1d91906111c1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8e600c54610ad3600b5486610f7590919063ffffffff16565b30600090815260056020526040902054909150610eab9082610f16565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efc9085815260200190565b60405180910390a3610f0e8382611036565b949350505050565b600080610f2383856112d5565b90508381101561059e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060b565b600082610f84575060006104dd565b6000610f90838561130f565b905082610f9d85836112ed565b1461059e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060b565b600061059e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611078565b600061059e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610704565b600081836110995760405162461bcd60e51b815260040161060b91906111ef565b50600061073584866112ed565b6000602082840312156110b857600080fd5b813561059e81611371565b6000602082840312156110d557600080fd5b815161059e81611371565b600080604083850312156110f357600080fd5b82356110fe81611371565b9150602083013561110e81611371565b809150509250929050565b60008060006060848603121561112e57600080fd5b833561113981611371565b9250602084013561114981611371565b929592945050506040919091013590565b6000806040838503121561116d57600080fd5b823561117881611371565b946020939093013593505050565b60006020828403121561119857600080fd5b5035919050565b600080604083850312156111b257600080fd5b50508035926020909101359150565b6000806000606084860312156111d657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121c57858101830151858201604001528201611200565b8181111561122e576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b45784516001600160a01b03168352938301939183019160010161128f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e8576112e8611345565b500190565b60008261130a57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132957611329611345565b500290565b60008282101561134057611340611345565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105de57600080fdfea26469706673582212208aaea4f33a6d976b94615a77f02708dd579c6185547e0f91f869e57ec30a2fde64736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610390578063a9059cbb146103b0578063dd62ed3e146103d0578063e96fada214610416578063f1d5f51714610436578063f887ea401461045657600080fd5b80636ddd1713146102c457806370a08231146102e5578063715018a61461031b578063893d20e81461033057806395d89b411461036257600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020c578063313ce5671461023b578063364333f41461025757806352f7c9881461026e578063571ac8b01461028e5780636c0a24eb146102ae57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a757806318160ddd146101d757806323b872dd146101ec57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b506040805180820190915260078152665377617069667960c81b60208201525b60405161016591906111ef565b3480156101b357600080fd5b506101c76101c236600461115a565b610476565b6040519015158152602001610165565b3480156101e357600080fd5b5060035461015b565b3480156101f857600080fd5b506101c7610207366004611119565b6104e3565b34801561021857600080fd5b506101c76102273660046110a6565b6000546001600160a01b0391821691161490565b34801561024757600080fd5b5060405160098152602001610165565b34801561026357600080fd5b5061026c6105a5565b005b34801561027a57600080fd5b5061026c61028936600461119f565b6105e1565b34801561029a57600080fd5b506101c76102a93660046110a6565b61062f565b3480156102ba57600080fd5b5061015b60045481565b3480156102d057600080fd5b50600f546101c790600160a01b900460ff1681565b3480156102f157600080fd5b5061015b6103003660046110a6565b6001600160a01b031660009081526005602052604090205490565b34801561032757600080fd5b5061026c61063d565b34801561033c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036e57600080fd5b50604080518082019091526005815264535749465960d81b602082015261019a565b34801561039c57600080fd5b50600f5461034a906001600160a01b031681565b3480156103bc57600080fd5b506101c76103cb36600461115a565b6106ac565b3480156103dc57600080fd5b5061015b6103eb3660046110e0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042257600080fd5b50600d5461034a906001600160a01b031681565b34801561044257600080fd5b5061026c610451366004611186565b6106b9565b34801561046257600080fd5b50600e5461034a906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610590576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056b918490610704565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059b84848461073e565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105de573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106145760405162461bcd60e51b815260040161060b90611244565b60405180910390fd5b6009829055600a81905561062881836112d5565b600b555050565b60006104dd82600019610476565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161060b90611244565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059e33848461073e565b6000546001600160a01b031633146106e35760405162461bcd60e51b815260040161060b90611244565b6103e8816003546106f4919061130f565b6106fe91906112ed565b60045550565b600081848411156107285760405162461bcd60e51b815260040161060b91906111ef565b506000610735848661132e565b95945050505050565b60115460009060ff161561075e57610757848484610968565b905061059e565b600f546001600160a01b0384811691161480159061078a57506002546001600160a01b03848116911614155b15610835576001600160a01b03831660009081526008602052604090205460ff16806107db57506004546001600160a01b0384166000908152600560205260409020546107d89084906112d5565b11155b6108355760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060b565b61083d610a4e565b1561084a5761084a610aa6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089c918490610704565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d157826108db565b6108db8584610e70565b6001600160a01b0385166000908152600560205260409020549091506109019082610f16565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109559085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109b9918490610704565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e89083610f16565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3c9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a6f575060115460ff16155b8015610a845750600f54600160a01b900460ff165b8015610aa157506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ad991600291610ad39182908790610f75565b90610ff4565b90506000610ae78383611036565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2157610b2161135b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad91906110c3565b81600181518110610bc057610bc061135b565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0a908690600090879030904290600401611264565b600060405180830381600087803b158015610c2457600080fd5b505af1158015610c38573d6000803e3d6000fd5b505050506000610c51824761103690919063ffffffff16565b90506000610c77610c6e6002600954610ff490919063ffffffff16565b600b5490611036565b90506000610c996002610ad384610ad360095488610f7590919063ffffffff16565b90506000610cb683610ad3600a5487610f7590919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0d576040519150601f19603f3d011682016040523d82523d6000602084013e610d12565b606091505b5050905080610d635760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060b565b8815610e5a57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273f36adbd40bed0d2a1f440f23ab11d7bde6065c8f60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1d91906111c1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8e600c54610ad3600b5486610f7590919063ffffffff16565b30600090815260056020526040902054909150610eab9082610f16565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efc9085815260200190565b60405180910390a3610f0e8382611036565b949350505050565b600080610f2383856112d5565b90508381101561059e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060b565b600082610f84575060006104dd565b6000610f90838561130f565b905082610f9d85836112ed565b1461059e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060b565b600061059e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611078565b600061059e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610704565b600081836110995760405162461bcd60e51b815260040161060b91906111ef565b50600061073584866112ed565b6000602082840312156110b857600080fd5b813561059e81611371565b6000602082840312156110d557600080fd5b815161059e81611371565b600080604083850312156110f357600080fd5b82356110fe81611371565b9150602083013561110e81611371565b809150509250929050565b60008060006060848603121561112e57600080fd5b833561113981611371565b9250602084013561114981611371565b929592945050506040919091013590565b6000806040838503121561116d57600080fd5b823561117881611371565b946020939093013593505050565b60006020828403121561119857600080fd5b5035919050565b600080604083850312156111b257600080fd5b50508035926020909101359150565b6000806000606084860312156111d657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121c57858101830151858201604001528201611200565b8181111561122e576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b45784516001600160a01b03168352938301939183019160010161128f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e8576112e8611345565b500190565b60008261130a57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132957611329611345565b500290565b60008282101561134057611340611345565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105de57600080fdfea26469706673582212208aaea4f33a6d976b94615a77f02708dd579c6185547e0f91f869e57ec30a2fde64736f6c63430008050033

Deployed Bytecode Sourcemap

5316:7745:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6323:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;6323:54:0;;;;;;;;7408:80;;;;;;;;;;-1:-1:-1;7480:5:0;;;;;;;;;;;;-1:-1:-1;;;7480:5:0;;;;7408:80;;;;;;;:::i;7830:216::-;;;;;;;;;;-1:-1:-1;7830:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;7830:216:0;3570:92:1;7138:88:0;;;;;;;;;;-1:-1:-1;7211:12:0;;7138:88;;8348:370;;;;;;;;;;-1:-1:-1;8348:370:0;;;;;:::i;:::-;;:::i;3554:103::-;;;;;;;;;;-1:-1:-1;3554:103:0;;;;;:::i;:::-;3609:4;3644:5;-1:-1:-1;;;;;3633:16:0;;;3644:5;;3633:16;;3554:103;7232:80;;;;;;;;;;-1:-1:-1;7232:80:0;;5636:1;7914:36:1;;7902:2;7887:18;7232:80:0;7869:87:1;12490:118:0;;;;;;;;;;;;;:::i;:::-;;12766:220;;;;;;;;;;-1:-1:-1;12766:220:0;;;;;:::i;:::-;;:::i;8054:122::-;;;;;;;;;;-1:-1:-1;8054:122:0;;;;;:::i;:::-;;:::i;5707:60::-;;;;;;;;;;;;;;;;6286:30;;;;;;;;;;-1:-1:-1;6286:30:0;;;;-1:-1:-1;;;6286:30:0;;;;;;7578:105;;;;;;;;;;-1:-1:-1;7578:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;7662:18:0;7644:7;7662:18;;;:9;:18;;;;;;;7578:105;3663:131;;;;;;;;;;;;;:::i;7494:78::-;;;;;;;;;;-1:-1:-1;7546:7:0;7564:5;-1:-1:-1;;;;;7564:5:0;7494:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;7494:78:0;2756:102:1;7318:84:0;;;;;;;;;;-1:-1:-1;7392:7:0;;;;;;;;;;;;-1:-1:-1;;;7392:7:0;;;;7318:84;;6258:19;;;;;;;;;;-1:-1:-1;6258:19:0;;;;-1:-1:-1;;;;;6258:19:0;;;8184:156;;;;;;;;;;-1:-1:-1;8184:156:0;;;;;:::i;:::-;;:::i;7689:133::-;;;;;;;;;;-1:-1:-1;7689:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7791:19:0;;;7773:7;7791:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7689:133;6138:80;;;;;;;;;;-1:-1:-1;6138:80:0;;;;-1:-1:-1;;;;;6138:80:0;;;12616:142;;;;;;;;;;-1:-1:-1;12616:142:0;;;;;:::i;:::-;;:::i;6227:24::-;;;;;;;;;;-1:-1:-1;6227:24:0;;;;-1:-1:-1;;;;;6227:24:0;;;7830:216;7934:10;7905:4;7922:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7922:32:0;;;;;;;;;;:41;;;7979:37;7905:4;;7922:32;;7979:37;;;;7957:6;6498:25:1;;6486:2;6471:18;;6453:76;7979:37:0;;;;;;;;-1:-1:-1;8034:4:0;7830:216;;;;;:::o;8348:370::-;-1:-1:-1;;;;;8468:19:0;;8448:4;8468:19;;;:11;:19;;;;;;;;8488:10;8468:31;;;;;;;;-1:-1:-1;;8468:52:0;8465:186;;8570:69;;;;;;;;;;;-1:-1:-1;;;8570:69:0;;;;;;;;-1:-1:-1;;;;;8570:19:0;;-1:-1:-1;8570:19:0;;;:11;:19;;;;;8590:10;8570:31;;;;;;;;;;:69;;8606:6;;8570:35;:69::i;:::-;-1:-1:-1;;;;;8536:19:0;;;;;;:11;:19;;;;;;;;8556:10;8536:31;;;;;;;:103;8465:186;8670:40;8684:6;8692:9;8703:6;8670:13;:40::i;:::-;8663:47;;8348:370;;;;;;:::o;12490:118::-;12547:20;;12539:61;;-1:-1:-1;;;;;12547:20:0;;;;12578:21;12539:61;;;;;12547:20;12539:61;12547:20;12539:61;12578:21;12547:20;12539:61;;;;;;;;;;;;;;;;;;;;;12490:118::o;12766:220::-;3609:4;3644:5;-1:-1:-1;;;;;3644:5:0;3515:10;3633:16;3499:38;;;;-1:-1:-1;;;3499:38:0;;;;;;;:::i;:::-;;;;;;;;;12859:12:::1;:28:::0;;;12900:12:::1;:28:::0;;;12951:27:::1;12915:13:::0;12874;12951:27:::1;:::i;:::-;12940:8;:38:::0;-1:-1:-1;;12766:220:0:o;8054:122::-;8109:4;8133:35;8141:7;-1:-1:-1;;8133:7:0;:35::i;3663:131::-;3609:4;3644:5;-1:-1:-1;;;;;3644:5:0;3515:10;3633:16;3499:38;;;;-1:-1:-1;;;3499:38:0;;;;;;;:::i;:::-;3736:1:::1;3720:18:::0;;-1:-1:-1;;;;;;3720:18:0::1;::::0;;3754:32:::1;::::0;2801:51:1;;;3754:32:0::1;::::0;2789:2:1;2774:18;3754:32:0::1;;;;;;;3663:131::o:0;8184:156::-;8264:4;8288:44;8302:10;8314:9;8325:6;8288:13;:44::i;12616:142::-;3609:4;3644:5;-1:-1:-1;;;;;3644:5:0;3515:10;3633:16;3499:38;;;;-1:-1:-1;;;3499:38:0;;;;;;;:::i;:::-;12746:4:::1;12728:13;12713:12;;:28;;;;:::i;:::-;12712:38;;;;:::i;:::-;12693:16;:57:::0;-1:-1:-1;12616:142:0:o;1643:190::-;1729:7;1765:12;1757:6;;;;1749:29;;;;-1:-1:-1;;;1749:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1789:9:0;1801:5;1805:1;1801;:5;:::i;:::-;1789:17;1643:190;-1:-1:-1;;;;;1643:190:0:o;8726:792::-;8838:6;;8818:4;;8838:6;;8835:63;;;8854:41;8869:6;8877:9;8888:6;8854:14;:41::i;:::-;8847:48;;;;8835:63;8935:4;;-1:-1:-1;;;;;8922:17:0;;;8935:4;;8922:17;;;;:38;;-1:-1:-1;8956:4:0;;-1:-1:-1;;;;;8943:17:0;;;8956:4;;8943:17;;8922:38;8918:200;;;-1:-1:-1;;;;;8985:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;9048:16:0;;-1:-1:-1;;;;;9015:20:0;;;;;;:9;:20;;;;;;:29;;9038:6;;9015:29;:::i;:::-;:49;;8985:79;8977:129;;;;-1:-1:-1;;;8977:129:0;;4697:2:1;8977:129:0;;;4679:21:1;4736:2;4716:18;;;4709:30;4775:34;4755:18;;;4748:62;-1:-1:-1;;;4826:18:1;;;4819:35;4871:19;;8977:129:0;4669:227:1;8977:129:0;9141:16;:14;:16::i;:::-;9138:35;;;9160:10;:8;:10::i;:::-;9206:53;;;;;;;;;;;-1:-1:-1;;;9206:53:0;;;;;;;;-1:-1:-1;;;;;9206:17:0;;-1:-1:-1;9206:17:0;;;:9;:17;;;;;;;;:53;;9228:6;;9206:21;:53::i;:::-;-1:-1:-1;;;;;9186:17:0;;;;;;:9;:17;;;;;;;;:73;;;;9955:11;:19;;;;;;;;9954:20;9297:56;;9347:6;9297:56;;;9321:23;9329:6;9337;9321:7;:23::i;:::-;-1:-1:-1;;;;;9387:20:0;;;;;;:9;:20;;;;;;9272:81;;-1:-1:-1;9387:40:0;;9272:81;9387:24;:40::i;:::-;-1:-1:-1;;;;;9364:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9445:43;;;;;;;;;;9473:14;6498:25:1;;6486:2;6471:18;;6453:76;9445:43:0;;;;;;;;-1:-1:-1;9506:4:0;;8726:792;-1:-1:-1;;;;8726:792:0:o;9530:330::-;9660:53;;;;;;;;;;;-1:-1:-1;;;9660:53:0;;;;;;;;-1:-1:-1;;;;;9660:17:0;;9623:4;9660:17;;;:9;:17;;;;;;;:53;;9682:6;;9660:21;:53::i;:::-;-1:-1:-1;;;;;9640:17:0;;;;;;;:9;:17;;;;;;:73;;;;9747:20;;;;;;;:32;;9772:6;9747:24;:32::i;:::-;-1:-1:-1;;;;;9724:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9795:35;;;;;;;;;;9823:6;6498:25:1;;6486:2;6471:18;;6453:76;9795:35:0;;;;;;;;-1:-1:-1;9848:4:0;9530:330;;;;;:::o;10327:197::-;10414:4;;10376;;-1:-1:-1;;;;;10414:4:0;10400:10;:18;;;;:38;;-1:-1:-1;10432:6:0;;;;10431:7;10400:38;:62;;;;-1:-1:-1;10451:11:0;;-1:-1:-1;;;10451:11:0;;;;10400:62;:116;;;;-1:-1:-1;10503:13:0;;10493:4;10475:24;;;;:9;:24;;;;;;:41;;10400:116;10393:123;;10327:197;:::o;10532:1572::-;6432:6;:13;;-1:-1:-1;;6432:13:0;6441:4;6432:13;;;10612::::1;::::0;10705:8:::1;::::0;10687:12:::1;::::0;6432:6;;10662:59:::1;::::0;10719:1:::1;::::0;10662:52:::1;::::0;;;10612:13;;10662:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;10636:85:::0;-1:-1:-1;10732:20:0::1;10755:41;:20:::0;10636:85;10755:24:::1;:41::i;:::-;10833:16;::::0;;10847:1:::1;10833:16:::0;;;;;::::1;::::0;;10732:64;;-1:-1:-1;10809:21:0::1;::::0;10833:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10833:16:0::1;10809:40;;10878:4;10860;10865:1;10860:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10860:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10904:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10904:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10860:7;;10904:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10894:4;10899:1;10894:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10894:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10988:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10988:188:0;;10954:21:::1;::::0;10988:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;11060:12;;10930:21:::1;::::0;11103:4;;11130::::1;::::0;11150:15:::1;::::0;10988:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11187:17;11207:40;11233:13;11207:21;:25;;:40;;;;:::i;:::-;11187:60;;11258:19;11280:33;11293:19;11310:1;11293:12;;:16;;:19;;;;:::i;:::-;11280:8;::::0;;:12:::1;:33::i;:::-;11258:55;;11324:26;11353:51;11402:1;11353:44;11385:11;11353:27;11367:12;;11353:9;:13;;:27;;;;:::i;:51::-;11324:80;;11415:26;11444:44;11476:11;11444:27;11458:12;;11444:9;:13;;:27;;;;:::i;:44::-;11562:20;::::0;11554:77:::1;::::0;11415:73;;-1:-1:-1;11504:21:0::1;::::0;-1:-1:-1;;;;;11562:20:0;;::::1;::::0;11621:5:::1;::::0;11415:73;;11504:21;11554:77;11504:21;11554:77;11415:73;11562:20;11621:5;11554:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11503:128;;;11650:16;11642:59;;;::::0;-1:-1:-1;;;11642:59:0;;5459:2:1;11642:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;11642:59:0::1;5431:180:1::0;11642:59:0::1;11717:19:::0;;11714:383:::1;;11752:6;::::0;:265:::1;::::0;-1:-1:-1;;;11752:265:0;;11828:4:::1;11752:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;11752:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;11926:42:0::1;3383:19:1::0;;;3376:44;11987:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;11752:6:0;;::::1;::::0;:22:::1;::::0;11782:18;;3138:19:1;;11752:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12037:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;12037:48:0::1;::::0;-1:-1:-1;7666:18:1;12037:48:0::1;;;;;;;11714:383;-1:-1:-1::0;;6450:6:0;:14;;-1:-1:-1;;6450:14:0;;;-1:-1:-1;;;;;;;;10532:1572:0:o;9990:329::-;10057:7;10077:17;10097:40;10122:14;;10097:20;10108:8;;10097:6;:10;;:20;;;;:::i;:40::-;10193:4;10175:24;;;;:9;:24;;;;;;10077:60;;-1:-1:-1;10175:39:0;;10077:60;10175:28;:39::i;:::-;10166:4;10148:24;;;;:9;:24;;;;;;;:66;;;;10230:42;;-1:-1:-1;;;;;10230:42:0;;;;;;;10262:9;6498:25:1;;6486:2;6471:18;;6453:76;10230:42:0;;;;;;;;10290:21;:6;10301:9;10290:10;:21::i;:::-;10283:28;9990:329;-1:-1:-1;;;;9990:329:0:o;1316:179::-;1374:7;;1406:5;1410:1;1406;:5;:::i;:::-;1394:17;;1435:1;1430;:6;;1422:46;;;;-1:-1:-1;;;1422:46:0;;5103:2:1;1422:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;1422:46:0;5075:177:1;1839:246:0;1897:7;1921:6;1917:47;;-1:-1:-1;1951:1:0;1944:8;;1917:47;1974:9;1986:5;1990:1;1986;:5;:::i;:::-;1974:17;-1:-1:-1;2019:1:0;2010:5;2014:1;1974:17;2010:5;:::i;:::-;:10;2002:56;;;;-1:-1:-1;;;2002:56:0;;5818:2:1;2002:56:0;;;5800:21:1;5857:2;5837:18;;;5830:30;5896:34;5876:18;;;5869:62;-1:-1:-1;;;5947:18:1;;;5940:31;5988:19;;2002:56:0;5790:223:1;2091:132:0;2149:7;2176:39;2180:1;2183;2176:39;;;;;;;;;;;;;;;;;:3;:39::i;1501:136::-;1559:7;1586:43;1590:1;1593;1586:43;;;;;;;;;;;;;;;;;:3;:43::i;2229:189::-;2315:7;2350:12;2343:5;2335:28;;;;-1:-1:-1;;;2335:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2374:9:0;2386:5;2390:1;2386;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1696:180::-;1755:6;1808:2;1796:9;1787:7;1783:23;1779:32;1776:2;;;1824:1;1821;1814:12;1776:2;-1:-1:-1;1847:23:1;;1766:110;-1:-1:-1;1766:110:1:o;1881:248::-;1949:6;1957;2010:2;1998:9;1989:7;1985:23;1981:32;1978:2;;;2026:1;2023;2016:12;1978:2;-1:-1:-1;;2049:23:1;;;2119:2;2104:18;;;2091:32;;-1:-1:-1;1968:161:1:o;2134:306::-;2222:6;2230;2238;2291:2;2279:9;2270:7;2266:23;2262:32;2259:2;;;2307:1;2304;2297:12;2259:2;2336:9;2330:16;2320:26;;2386:2;2375:9;2371:18;2365:25;2355:35;;2430:2;2419:9;2415:18;2409:25;2399:35;;2249:191;;;;;:::o;3893:597::-;4005:4;4034:2;4063;4052:9;4045:21;4095:6;4089:13;4138:6;4133:2;4122:9;4118:18;4111:34;4163:1;4173:140;4187:6;4184:1;4181:13;4173:140;;;4282:14;;;4278:23;;4272:30;4248:17;;;4267:2;4244:26;4237:66;4202:10;;4173:140;;;4331:6;4328:1;4325:13;4322:2;;;4401:1;4396:2;4387:6;4376:9;4372:22;4368:31;4361:42;4322:2;-1:-1:-1;4474:2:1;4453:15;-1:-1:-1;;4449:29:1;4434:45;;;;4481:2;4430:54;;4014:476;-1:-1:-1;;;4014:476:1:o;6018:329::-;6220:2;6202:21;;;6259:1;6239:18;;;6232:29;-1:-1:-1;;;6292:2:1;6277:18;;6270:36;6338:2;6323:18;;6192:155::o;6534:980::-;6796:4;6844:3;6833:9;6829:19;6875:6;6864:9;6857:25;6901:2;6939:6;6934:2;6923:9;6919:18;6912:34;6982:3;6977:2;6966:9;6962:18;6955:31;7006:6;7041;7035:13;7072:6;7064;7057:22;7110:3;7099:9;7095:19;7088:26;;7149:2;7141:6;7137:15;7123:29;;7170:1;7180:195;7194:6;7191:1;7188:13;7180:195;;;7259:13;;-1:-1:-1;;;;;7255:39:1;7243:52;;7350:15;;;;7315:12;;;;7291:1;7209:9;7180:195;;;-1:-1:-1;;;;;;;7431:32:1;;;;7426:2;7411:18;;7404:60;-1:-1:-1;;;7495:3:1;7480:19;7473:35;7392:3;6805:709;-1:-1:-1;;;6805:709:1:o;7961:128::-;8001:3;8032:1;8028:6;8025:1;8022:13;8019:2;;;8038:18;;:::i;:::-;-1:-1:-1;8074:9:1;;8009:80::o;8094:217::-;8134:1;8160;8150:2;;8204:10;8199:3;8195:20;8192:1;8185:31;8239:4;8236:1;8229:15;8267:4;8264:1;8257:15;8150:2;-1:-1:-1;8296:9:1;;8140:171::o;8316:168::-;8356:7;8422:1;8418;8414:6;8410:14;8407:1;8404:21;8399:1;8392:9;8385:17;8381:45;8378:2;;;8429:18;;:::i;:::-;-1:-1:-1;8469:9:1;;8368:116::o;8489:125::-;8529:4;8557:1;8554;8551:8;8548:2;;;8562:18;;:::i;:::-;-1:-1:-1;8599:9:1;;8538:76::o;8619:127::-;8680:10;8675:3;8671:20;8668:1;8661:31;8711:4;8708:1;8701:15;8735:4;8732:1;8725:15;8751:127;8812:10;8807:3;8803:20;8800:1;8793:31;8843:4;8840:1;8833:15;8867:4;8864:1;8857:15;9015:131;-1:-1:-1;;;;;9090:31:1;;9080:42;;9070:2;;9136:1;9133;9126:12

Swarm Source

ipfs://8aaea4f33a6d976b94615a77f02708dd579c6185547e0f91f869e57ec30a2fde

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Swapify is packed with features that all traders will love. We have created a ground breaking coin swapping experience Dapp.

Validator Index Block Amount
View All Withdrawals

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

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