ETH Price: $2,669.98 (-0.51%)

Contract

0x387f0314a91Cd878A6A62F6a58dfBDC4C93be496
 

Overview

ETH Balance

0.5598166 ETH

Eth Value

$1,494.70 (@ $2,669.98/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer208528232024-09-29 0:50:234 hrs ago1727571023IN
0x387f0314...4C93be496
0 ETH0.000304817.08660129
Approve208522122024-09-28 22:47:356 hrs ago1727563655IN
0x387f0314...4C93be496
0 ETH0.000326377.0146475
Approve208503742024-09-28 16:37:1112 hrs ago1727541431IN
0x387f0314...4C93be496
0 ETH0.000363727.80734621
Approve208502572024-09-28 16:13:4713 hrs ago1727540027IN
0x387f0314...4C93be496
0 ETH0.000524411.25646718
Approve208501152024-09-28 15:45:2313 hrs ago1727538323IN
0x387f0314...4C93be496
0 ETH0.000353067.58843207
Transfer208501042024-09-28 15:43:1113 hrs ago1727538191IN
0x387f0314...4C93be496
0 ETH0.000470438.08086453
Transfer208500792024-09-28 15:38:1113 hrs ago1727537891IN
0x387f0314...4C93be496
0 ETH0.000494148.48814981
Approve208477012024-09-28 7:40:5921 hrs ago1727509259IN
0x387f0314...4C93be496
0 ETH0.000333447.1667513
Approve208475472024-09-28 7:10:1122 hrs ago1727507411IN
0x387f0314...4C93be496
0 ETH0.000369357.93848429
Approve208448592024-09-27 22:09:5931 hrs ago1727474999IN
0x387f0314...4C93be496
0 ETH0.0005935712.74123951
Transfer208442172024-09-27 20:01:2333 hrs ago1727467283IN
0x387f0314...4C93be496
0 ETH0.0013159722.60500683
Approve208434592024-09-27 17:29:3535 hrs ago1727458175IN
0x387f0314...4C93be496
0 ETH0.0008721118.74417894
Transfer208434392024-09-27 17:25:3535 hrs ago1727457935IN
0x387f0314...4C93be496
0 ETH0.0011763918.1260666
Transfer208434252024-09-27 17:22:4735 hrs ago1727457767IN
0x387f0314...4C93be496
0 ETH0.0012414619.1179787
Transfer208433712024-09-27 17:11:5936 hrs ago1727457119IN
0x387f0314...4C93be496
0 ETH0.001270923.78730435
Approve208428872024-09-27 15:34:3537 hrs ago1727451275IN
0x387f0314...4C93be496
0 ETH0.0009510120.55137068
Transfer208428322024-09-27 15:23:3537 hrs ago1727450615IN
0x387f0314...4C93be496
0 ETH0.0013454523.10671103
Transfer208428102024-09-27 15:19:1137 hrs ago1727450351IN
0x387f0314...4C93be496
0 ETH0.0014195224.38378534
Approve208395792024-09-27 4:30:352 days ago1727411435IN
0x387f0314...4C93be496
0 ETH0.0006024912.94932314
Approve208373052024-09-26 20:52:592 days ago1727383979IN
0x387f0314...4C93be496
0 ETH0.001172925.20922476
Transfer208372892024-09-26 20:49:472 days ago1727383787IN
0x387f0314...4C93be496
0 ETH0.0018864432.40420419
Approve208372352024-09-26 20:38:592 days ago1727383139IN
0x387f0314...4C93be496
0 ETH0.0015948934.23470332
Approve208371092024-09-26 20:13:352 days ago1727381615IN
0x387f0314...4C93be496
0 ETH0.001356729.12196953
Approve208371082024-09-26 20:13:232 days ago1727381603IN
0x387f0314...4C93be496
0 ETH0.0014964132.12096953
Transfer208370462024-09-26 20:00:592 days ago1727380859IN
0x387f0314...4C93be496
0 ETH0.0010840618.6175511
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VanguardEmbeddingSolutions

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-17
*/

// SPDX-License-Identifier: Unlicensed

/**


Website - https://www.vesdb.io/
Whitepaper - https://vanguard-embedding-solutions.gitbook.io/ves
Twitter - https://x.com/ves_db


**/

pragma solidity 0.8.18;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract VanguardEmbeddingSolutions is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 1_000_000_000e18;
    uint256 private constant onePercent = 10_000_000e18;
    uint256 private constant minSwap = 250_000e18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent; 

    string private constant _name = "Vanguard Embedding Solutions";
    string private constant _symbol = "VES";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;
    mapping(address => bool) private _blacklist;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 25;
        sellTax = 45;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0x92BE1F5858cb11a6EaE5CBe3ae6C5621Ae114c2D);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function whitelistMany(address[] calldata _addresses) external onlyOwner {
        for (uint256 i = 0; i < _addresses.length; i++) {
            _isExcludedFromFeeWallet[_addresses[i]] = true;
        }
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function addToBlacklist(address account) external onlyOwner {
        _blacklist[account] = true;
    }

    function removeFromBlacklist(address account) external onlyOwner {
        _blacklist[account] = false;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");
        require(!_blacklist[from], "Sender is blacklisted");
        require(!_blacklist[to], "Recipient is blacklisted");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 2% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > onePercent) {
                        tokensToSwap = onePercent;
                    }
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addToBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","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":"pure","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"whitelistMany","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101006040526a084595161401484a0000006006553480156200002157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000330565b6001600160a01b0390811660c0526019600255602d6003556080516040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200013a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000160919062000330565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d8919062000330565b6001600160a01b0390811660a0527392be1f5858cb11a6eae5cbe3ae6c5621ae114c2d60e0523360008181526007602090815260408083206b033b2e3c9fd0803ce80000009055600982527fe0670480b3b331c4ab84172ade5c46564b49d6c55b96049061e905ff34e9d6f18054600160ff19918216811790925582852080548216831790553085528285208054909116909117905560088083528184206080519096168085529583528184206000199081905594845282528083209483529381528382208390557f586b0076d309c9637387a86916dbdf2dd309c316256db31827b3ec05323873cc90529190912055620002d03390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040516200032291815260200190565b60405180910390a362000362565b6000602082840312156200034357600080fd5b81516001600160a01b03811681146200035b57600080fd5b9392505050565b60805160a05160c05160e05161137f620003a36000396000610d9b01526000610d0e015260008181610bd80152610c1a01526000610d65015261137f6000f3fe6080604052600436106101395760003560e01c80638c0b5e22116100ab578063a9059cbb1161006f578063a9059cbb14610394578063c9567bf9146103b4578063cc1776d3146103c9578063dba9d420146103df578063dd62ed3e146103ff578063f2fde38b1461044557600080fd5b80638c0b5e22146102ea5780638da5cb5b146103005780639036ed4d1461032857806395d89b4114610348578063a77f7c8c1461037457600080fd5b806344337ea1116100fd57806344337ea1146102325780634f7041a514610254578063537df3b61461026a57806370a082311461028a578063715018a6146102c0578063751039fc146102d557600080fd5b806306fdde0314610145578063095ea7b31461019d57806318160ddd146101cd57806323b872dd146101f6578063313ce5671461021657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152601c81527f56616e677561726420456d62656464696e6720536f6c7574696f6e730000000060208201525b6040516101949190611043565b60405180910390f35b3480156101a957600080fd5b506101bd6101b83660046110ad565b610465565b6040519015158152602001610194565b3480156101d957600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610194565b34801561020257600080fd5b506101bd6102113660046110d7565b61047c565b34801561022257600080fd5b5060405160128152602001610194565b34801561023e57600080fd5b5061025261024d366004611113565b6104ce565b005b34801561026057600080fd5b506101e860025481565b34801561027657600080fd5b50610252610285366004611113565b610525565b34801561029657600080fd5b506101e86102a5366004611113565b6001600160a01b031660009081526007602052604090205490565b3480156102cc57600080fd5b50610252610570565b3480156102e157600080fd5b506102526105e4565b3480156102f657600080fd5b506101e860065481565b34801561030c57600080fd5b506000546040516001600160a01b039091168152602001610194565b34801561033457600080fd5b50610252610343366004611135565b610620565b34801561035457600080fd5b5060408051808201909152600381526256455360e81b6020820152610187565b34801561038057600080fd5b5061025261038f366004611157565b610655565b3480156103a057600080fd5b506101bd6103af3660046110ad565b6106f6565b3480156103c057600080fd5b50610252610703565b3480156103d557600080fd5b506101e860035481565b3480156103eb57600080fd5b506102526103fa366004611113565b610740565b34801561040b57600080fd5b506101e861041a3660046111cc565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561045157600080fd5b50610252610460366004611113565b61078e565b60006104723384846107c4565b5060015b92915050565b60006104898484846108e8565b6001600160a01b0384166000908152600860209081526040808320338085529252909120546104c49186916104bf908690611215565b6107c4565b5060019392505050565b6000546001600160a01b031633146105015760405162461bcd60e51b81526004016104f890611228565b60405180910390fd5b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b0316331461054f5760405162461bcd60e51b81526004016104f890611228565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b0316331461059a5760405162461bcd60e51b81526004016104f890611228565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060e5760405162461bcd60e51b81526004016104f890611228565b6b033b2e3c9fd0803ce8000000600655565b6000546001600160a01b0316331461064a5760405162461bcd60e51b81526004016104f890611228565b600291909155600355565b6000546001600160a01b0316331461067f5760405162461bcd60e51b81526004016104f890611228565b60005b818110156106f1576001600960008585858181106106a2576106a261125d565b90506020020160208101906106b79190611113565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106e981611273565b915050610682565b505050565b60006104723384846108e8565b6000546001600160a01b0316331461072d5760405162461bcd60e51b81526004016104f890611228565b6004805460ff1916600117905543600555565b6000546001600160a01b0316331461076a5760405162461bcd60e51b81526004016104f890611228565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146107b85760405162461bcd60e51b81526004016104f890611228565b6107c181610f83565b50565b6001600160a01b0383166108265760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f8565b6001600160a01b0382166108875760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f8565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661094c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f8565b633b9aca0081116109925760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016104f8565b6001600160a01b0383166000908152600a602052604090205460ff16156109f35760405162461bcd60e51b815260206004820152601560248201527414d95b99195c881a5cc8189b1858dadb1a5cdd1959605a1b60448201526064016104f8565b6001600160a01b0382166000908152600a602052604090205460ff1615610a5c5760405162461bcd60e51b815260206004820152601860248201527f526563697069656e7420697320626c61636b6c6973746564000000000000000060448201526064016104f8565b6001600160a01b03831660009081526009602052604081205460ff1680610a9b57506001600160a01b03831660009081526009602052604090205460ff165b15610aa857506000610e12565b60045460ff1615801590610abe57506006548211155b610b155760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203225206174206c61756e6044820152610c6d60f31b60648201526084016104f8565b600454610100900460ff16600103610bd6576001600160a01b03841660009081526007602052604081208054849290610b4f908490611215565b90915550506001600160a01b03831660009081526007602052604081208054849290610b7c90849061128c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bc891815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610c185750600254610e12565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610e0e57306000908152600760205260409020546934f086f3b33b6840000081118015610c825750600454610100900460ff16155b15610e04576a084595161401484a000000811115610ca857506a084595161401484a0000005b6004805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cec57610cec61125d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610d4057610d4061125d565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610dc590859060009086907f000000000000000000000000000000000000000000000000000000000000000090429060040161129f565b600060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b50506004805461ff00191690555050505b5050600354610e12565b5060005b8015610f555760006064610e268385611310565b610e309190611327565b90506000610e3e8285611215565b6001600160a01b038716600090815260076020526040812080549293508692909190610e6b908490611215565b90915550506001600160a01b03851660009081526007602052604081208054839290610e9890849061128c565b90915550503060009081526007602052604081208054849290610ebc90849061128c565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f4691815260200190565b60405180910390a35050610f7d565b6001600160a01b03841660009081526007602052604081208054849290610b4f908490611215565b50505050565b6001600160a01b038116610fe85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b8181101561107057858101830151858201604001528201611054565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146110a857600080fd5b919050565b600080604083850312156110c057600080fd5b6110c983611091565b946020939093013593505050565b6000806000606084860312156110ec57600080fd5b6110f584611091565b925061110360208501611091565b9150604084013590509250925092565b60006020828403121561112557600080fd5b61112e82611091565b9392505050565b6000806040838503121561114857600080fd5b50508035926020909101359150565b6000806020838503121561116a57600080fd5b823567ffffffffffffffff8082111561118257600080fd5b818501915085601f83011261119657600080fd5b8135818111156111a557600080fd5b8660208260051b85010111156111ba57600080fd5b60209290920196919550909350505050565b600080604083850312156111df57600080fd5b6111e883611091565b91506111f660208401611091565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610476576104766111ff565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611285576112856111ff565b5060010190565b80820180821115610476576104766111ff565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112ef5784516001600160a01b0316835293830193918301916001016112ca565b50506001600160a01b03969096166060850152505050608001529392505050565b8082028115828204841417610476576104766111ff565b60008261134457634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212200f71798693c8a438edf3cca4752287969e3d74419a88b22b9d269eb53773eaa564736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80638c0b5e22116100ab578063a9059cbb1161006f578063a9059cbb14610394578063c9567bf9146103b4578063cc1776d3146103c9578063dba9d420146103df578063dd62ed3e146103ff578063f2fde38b1461044557600080fd5b80638c0b5e22146102ea5780638da5cb5b146103005780639036ed4d1461032857806395d89b4114610348578063a77f7c8c1461037457600080fd5b806344337ea1116100fd57806344337ea1146102325780634f7041a514610254578063537df3b61461026a57806370a082311461028a578063715018a6146102c0578063751039fc146102d557600080fd5b806306fdde0314610145578063095ea7b31461019d57806318160ddd146101cd57806323b872dd146101f6578063313ce5671461021657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5060408051808201909152601c81527f56616e677561726420456d62656464696e6720536f6c7574696f6e730000000060208201525b6040516101949190611043565b60405180910390f35b3480156101a957600080fd5b506101bd6101b83660046110ad565b610465565b6040519015158152602001610194565b3480156101d957600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610194565b34801561020257600080fd5b506101bd6102113660046110d7565b61047c565b34801561022257600080fd5b5060405160128152602001610194565b34801561023e57600080fd5b5061025261024d366004611113565b6104ce565b005b34801561026057600080fd5b506101e860025481565b34801561027657600080fd5b50610252610285366004611113565b610525565b34801561029657600080fd5b506101e86102a5366004611113565b6001600160a01b031660009081526007602052604090205490565b3480156102cc57600080fd5b50610252610570565b3480156102e157600080fd5b506102526105e4565b3480156102f657600080fd5b506101e860065481565b34801561030c57600080fd5b506000546040516001600160a01b039091168152602001610194565b34801561033457600080fd5b50610252610343366004611135565b610620565b34801561035457600080fd5b5060408051808201909152600381526256455360e81b6020820152610187565b34801561038057600080fd5b5061025261038f366004611157565b610655565b3480156103a057600080fd5b506101bd6103af3660046110ad565b6106f6565b3480156103c057600080fd5b50610252610703565b3480156103d557600080fd5b506101e860035481565b3480156103eb57600080fd5b506102526103fa366004611113565b610740565b34801561040b57600080fd5b506101e861041a3660046111cc565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561045157600080fd5b50610252610460366004611113565b61078e565b60006104723384846107c4565b5060015b92915050565b60006104898484846108e8565b6001600160a01b0384166000908152600860209081526040808320338085529252909120546104c49186916104bf908690611215565b6107c4565b5060019392505050565b6000546001600160a01b031633146105015760405162461bcd60e51b81526004016104f890611228565b60405180910390fd5b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b0316331461054f5760405162461bcd60e51b81526004016104f890611228565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b0316331461059a5760405162461bcd60e51b81526004016104f890611228565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060e5760405162461bcd60e51b81526004016104f890611228565b6b033b2e3c9fd0803ce8000000600655565b6000546001600160a01b0316331461064a5760405162461bcd60e51b81526004016104f890611228565b600291909155600355565b6000546001600160a01b0316331461067f5760405162461bcd60e51b81526004016104f890611228565b60005b818110156106f1576001600960008585858181106106a2576106a261125d565b90506020020160208101906106b79190611113565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106e981611273565b915050610682565b505050565b60006104723384846108e8565b6000546001600160a01b0316331461072d5760405162461bcd60e51b81526004016104f890611228565b6004805460ff1916600117905543600555565b6000546001600160a01b0316331461076a5760405162461bcd60e51b81526004016104f890611228565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146107b85760405162461bcd60e51b81526004016104f890611228565b6107c181610f83565b50565b6001600160a01b0383166108265760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f8565b6001600160a01b0382166108875760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f8565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661094c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f8565b633b9aca0081116109925760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016104f8565b6001600160a01b0383166000908152600a602052604090205460ff16156109f35760405162461bcd60e51b815260206004820152601560248201527414d95b99195c881a5cc8189b1858dadb1a5cdd1959605a1b60448201526064016104f8565b6001600160a01b0382166000908152600a602052604090205460ff1615610a5c5760405162461bcd60e51b815260206004820152601860248201527f526563697069656e7420697320626c61636b6c6973746564000000000000000060448201526064016104f8565b6001600160a01b03831660009081526009602052604081205460ff1680610a9b57506001600160a01b03831660009081526009602052604090205460ff165b15610aa857506000610e12565b60045460ff1615801590610abe57506006548211155b610b155760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203225206174206c61756e6044820152610c6d60f31b60648201526084016104f8565b600454610100900460ff16600103610bd6576001600160a01b03841660009081526007602052604081208054849290610b4f908490611215565b90915550506001600160a01b03831660009081526007602052604081208054849290610b7c90849061128c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bc891815260200190565b60405180910390a350505050565b7f000000000000000000000000791717433289e31db21be2d704f756fada85f0b56001600160a01b0316846001600160a01b031603610c185750600254610e12565b7f000000000000000000000000791717433289e31db21be2d704f756fada85f0b56001600160a01b0316836001600160a01b031603610e0e57306000908152600760205260409020546934f086f3b33b6840000081118015610c825750600454610100900460ff16155b15610e04576a084595161401484a000000811115610ca857506a084595161401484a0000005b6004805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cec57610cec61125d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610d4057610d4061125d565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610dc590859060009086907f00000000000000000000000092be1f5858cb11a6eae5cbe3ae6c5621ae114c2d90429060040161129f565b600060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b50506004805461ff00191690555050505b5050600354610e12565b5060005b8015610f555760006064610e268385611310565b610e309190611327565b90506000610e3e8285611215565b6001600160a01b038716600090815260076020526040812080549293508692909190610e6b908490611215565b90915550506001600160a01b03851660009081526007602052604081208054839290610e9890849061128c565b90915550503060009081526007602052604081208054849290610ebc90849061128c565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f4691815260200190565b60405180910390a35050610f7d565b6001600160a01b03841660009081526007602052604081208054849290610b4f908490611215565b50505050565b6001600160a01b038116610fe85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b8181101561107057858101830151858201604001528201611054565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146110a857600080fd5b919050565b600080604083850312156110c057600080fd5b6110c983611091565b946020939093013593505050565b6000806000606084860312156110ec57600080fd5b6110f584611091565b925061110360208501611091565b9150604084013590509250925092565b60006020828403121561112557600080fd5b61112e82611091565b9392505050565b6000806040838503121561114857600080fd5b50508035926020909101359150565b6000806020838503121561116a57600080fd5b823567ffffffffffffffff8082111561118257600080fd5b818501915085601f83011261119657600080fd5b8135818111156111a557600080fd5b8660208260051b85010111156111ba57600080fd5b60209290920196919550909350505050565b600080604083850312156111df57600080fd5b6111e883611091565b91506111f660208401611091565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610476576104766111ff565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611285576112856111ff565b5060010190565b80820180821115610476576104766111ff565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112ef5784516001600160a01b0316835293830193918301916001016112ca565b50506001600160a01b03969096166060850152505050608001529392505050565b8082028115828204841417610476576104766111ff565b60008261134457634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212200f71798693c8a438edf3cca4752287969e3d74419a88b22b9d269eb53773eaa564736f6c63430008120033

Deployed Bytecode Sourcemap

2817:7523:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4853:83;;;;;;;;;;-1:-1:-1;4923:5:0;;;;;;;;;;;;;;;;;4853:83;;;;;;;:::i;:::-;;;;;;;;5763:193;;;;;;;;;;-1:-1:-1;5763:193:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5763:193:0;1004:187:1;5130:100:0;;;;;;;;;;-1:-1:-1;2928:16:0;5130:100;;;1342:25:1;;;1330:2;1315:18;5130:100:0;1196:177:1;5964:350:0;;;;;;;;;;-1:-1:-1;5964:350:0;;;;;:::i;:::-;;:::i;5039:83::-;;;;;;;;;;-1:-1:-1;5039:83:0;;3096:2;1853:36:1;;1841:2;1826:18;5039:83:0;1711:184:1;7412:105:0;;;;;;;;;;-1:-1:-1;7412:105:0;;;;;:::i;:::-;;:::i;:::-;;3275:21;;;;;;;;;;;;;;;;7525:111;;;;;;;;;;-1:-1:-1;7525:111:0;;;;;:::i;:::-;;:::i;5238:118::-;;;;;;;;;;-1:-1:-1;5238:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5331:17:0;5304:7;5331:17;;;:8;:17;;;;;;;5238:118;2144:148;;;;;;;;;;;;;:::i;7163:88::-;;;;;;;;;;;;;:::i;3434:39::-;;;;;;;;;;;;;;;;1539:79;;;;;;;;;;-1:-1:-1;1577:7:0;1604:6;1539:79;;-1:-1:-1;;;;;1604:6:0;;;2237:51:1;;2225:2;2210:18;1539:79:0;2091:203:1;7259:145:0;;;;;;;;;;-1:-1:-1;7259:145:0;;;;;:::i;:::-;;:::i;4944:87::-;;;;;;;;;;-1:-1:-1;5016:7:0;;;;;;;;;;;;-1:-1:-1;;;5016:7:0;;;;4944:87;;6943:212;;;;;;;;;;-1:-1:-1;6943:212:0;;;;;:::i;:::-;;:::i;5364:199::-;;;;;;;;;;-1:-1:-1;5364:199:0;;;;;:::i;:::-;;:::i;6699:108::-;;;;;;;;;;;;;:::i;3303:22::-;;;;;;;;;;;;;;;;6815:120;;;;;;;;;;-1:-1:-1;6815:120:0;;;;;:::i;:::-;;:::i;5571:184::-;;;;;;;;;;-1:-1:-1;5571:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;5720:18:0;;;5688:7;5720:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5571:184;1753:109;;;;;;;;;;-1:-1:-1;1753:109:0;;;;;:::i;:::-;;:::i;5763:193::-;5865:4;5887:39;333:10;5910:7;5919:6;5887:8;:39::i;:::-;-1:-1:-1;5944:4:0;5763:193;;;;;:::o;5964:350::-;6096:4;6113:36;6123:6;6131:9;6142:6;6113:9;:36::i;:::-;-1:-1:-1;;;;;6231:19:0;;;;;;:11;:19;;;;;;;;333:10;6231:33;;;;;;;;;6160:124;;6183:6;;6231:42;;6267:6;;6231:42;:::i;:::-;6160:8;:124::i;:::-;-1:-1:-1;6302:4:0;5964:350;;;;;:::o;7412:105::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;7483:19:0::1;;::::0;;;:10:::1;:19;::::0;;;;:26;;-1:-1:-1;;7483:26:0::1;7505:4;7483:26;::::0;;7412:105::o;7525:111::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7601:19:0::1;7623:5;7601:19:::0;;;:10:::1;:19;::::0;;;;:27;;-1:-1:-1;;7601:27:0::1;::::0;;7525:111::o;2144:148::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;2251:1:::1;2235:6:::0;;2214:40:::1;::::0;-1:-1:-1;;;;;2235:6:0;;::::1;::::0;2214:40:::1;::::0;2251:1;;2214:40:::1;2282:1;2265:19:::0;;-1:-1:-1;;;;;;2265:19:0::1;::::0;;2144:148::o;7163:88::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;2928:16:::1;7217:11;:26:::0;7163:88::o;7259:145::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;7347:6:::1;:18:::0;;;;7376:7:::1;:20:::0;7259:145::o;6943:212::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;7032:9:::1;7027:121;7047:21:::0;;::::1;7027:121;;;7132:4;7090:24;:39;7115:10;;7126:1;7115:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7090:39:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7090:39:0;:46;;-1:-1:-1;;7090:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7070:3;::::1;::::0;::::1;:::i;:::-;;;;7027:121;;;;6943:212:::0;;:::o;5364:199::-;5469:4;5491:42;333:10;5515:9;5526:6;5491:9;:42::i;6699:108::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;6752:6:::1;:10:::0;;-1:-1:-1;;6752:10:0::1;6761:1;6752:10;::::0;;6787:12:::1;6773:11;:26:::0;6699:108::o;6815:120::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6888:32:0::1;;::::0;;;:24:::1;:32;::::0;;;;:39;;-1:-1:-1;;6888:39:0::1;6923:4;6888:39;::::0;;6815:120::o;1753:109::-;1666:6;;-1:-1:-1;;;;;1666:6:0;333:10;1666:22;1658:67;;;;-1:-1:-1;;;1658:67:0;;;;;;;:::i;:::-;1826:28:::1;1845:8;1826:18;:28::i;:::-;1753:109:::0;:::o;6322:369::-;-1:-1:-1;;;;;6449:19:0;;6441:68;;;;-1:-1:-1;;;6441:68:0;;4537:2:1;6441:68:0;;;4519:21:1;4576:2;4556:18;;;4549:30;4615:34;4595:18;;;4588:62;-1:-1:-1;;;4666:18:1;;;4659:34;4710:19;;6441:68:0;4335:400:1;6441:68:0;-1:-1:-1;;;;;6528:21:0;;6520:68;;;;-1:-1:-1;;;6520:68:0;;4942:2:1;6520:68:0;;;4924:21:1;4981:2;4961:18;;;4954:30;5020:34;5000:18;;;4993:62;-1:-1:-1;;;5071:18:1;;;5064:32;5113:19;;6520:68:0;4740:398:1;6520:68:0;-1:-1:-1;;;;;6599:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6651:32;;1342:25:1;;;6651:32:0;;1315:18:1;6651:32:0;;;;;;;6322:369;;;:::o;7644:2656::-;-1:-1:-1;;;;;7766:18:0;;7758:68;;;;-1:-1:-1;;;7758:68:0;;5345:2:1;7758:68:0;;;5327:21:1;5384:2;5364:18;;;5357:30;5423:34;5403:18;;;5396:62;-1:-1:-1;;;5474:18:1;;;5467:35;5519:19;;7758:68:0;5143:401:1;7758:68:0;7854:3;7845:6;:12;7837:41;;;;-1:-1:-1;;;7837:41:0;;5751:2:1;7837:41:0;;;5733:21:1;5790:2;5770:18;;;5763:30;-1:-1:-1;;;5809:18:1;;;5802:46;5865:18;;7837:41:0;5549:340:1;7837:41:0;-1:-1:-1;;;;;7898:16:0;;;;;;:10;:16;;;;;;;;7897:17;7889:51;;;;-1:-1:-1;;;7889:51:0;;6096:2:1;7889:51:0;;;6078:21:1;6135:2;6115:18;;;6108:30;-1:-1:-1;;;6154:18:1;;;6147:51;6215:18;;7889:51:0;5894:345:1;7889:51:0;-1:-1:-1;;;;;7960:14:0;;;;;;:10;:14;;;;;;;;7959:15;7951:52;;;;-1:-1:-1;;;7951:52:0;;6446:2:1;7951:52:0;;;6428:21:1;6485:2;6465:18;;;6458:30;6524:26;6504:18;;;6497:54;6568:18;;7951:52:0;6244:348:1;7951:52:0;-1:-1:-1;;;;;8043:30:0;;8016:12;8043:30;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;8077:28:0;;;;;;:24;:28;;;;;;;;8043:62;8039:1604;;;-1:-1:-1;8129:1:0;8039:1604;;;8189:6;;;;:11;;;;:36;;;8214:11;;8204:6;:21;;8189:36;8163:132;;;;-1:-1:-1;;;8163:132:0;;6799:2:1;8163:132:0;;;6781:21:1;6838:2;6818:18;;;6811:30;6877:34;6857:18;;;6850:62;-1:-1:-1;;;6928:18:1;;;6921:32;6970:19;;8163:132:0;6597:398:1;8163:132:0;8316:16;;;;;;;;:21;8312:239;;-1:-1:-1;;;;;8393:14:0;;;;;;:8;:14;;;;;:24;;8411:6;;8393:14;:24;;8411:6;;8393:24;:::i;:::-;;;;-1:-1:-1;;;;;;;8436:12:0;;;;;;:8;:12;;;;;:22;;8452:6;;8436:12;:22;;8452:6;;8436:22;:::i;:::-;;;;;;;;8499:2;-1:-1:-1;;;;;8484:26:0;8493:4;-1:-1:-1;;;;;8484:26:0;;8503:6;8484:26;;;;1342:25:1;;1330:2;1315:18;;1196:177;8484:26:0;;;;;;;;8529:7;7644:2656;;;:::o;8312:239::-;8579:13;-1:-1:-1;;;;;8571:21:0;:4;-1:-1:-1;;;;;8571:21:0;;8567:1065;;-1:-1:-1;8620:6:0;;8567:1065;;;8658:13;-1:-1:-1;;;;;8652:19:0;:2;-1:-1:-1;;;;;8652:19:0;;8648:984;;8732:4;8692:20;8715:23;;;:8;:23;;;;;;3044:10;8761:22;;:47;;;;-1:-1:-1;8787:16:0;;;;;;;:21;8761:47;8757:778;;;2989:13;8837:12;:25;8833:107;;;-1:-1:-1;2989:13:0;8833:107;8962:16;:20;;-1:-1:-1;;8962:20:0;;;;;9029:16;;;9043:1;9029:16;;;;;;;;-1:-1:-1;;9029:16:0;;;;;;;;;;-1:-1:-1;9029:16:0;9005:40;;9086:4;9068;9073:1;9068:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;9068:23:0;;;-1:-1:-1;;;;;9068:23:0;;;;;9124:4;9114;9119:1;9114:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9114:14:0;;;:7;;;;;;;;;:14;9151:321;;-1:-1:-1;;;9151:321:0;;:15;:92;;;;;;:321;;9274:12;;9317:1;;9349:4;;9384:15;;9430;;9151:321;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9495:16:0;:20;;-1:-1:-1;;9495:20:0;;;-1:-1:-1;;;8757:778:0;-1:-1:-1;;9560:7:0;;8648:984;;;-1:-1:-1;9615:1:0;8648:984;9704:9;;9700:593;;9758:17;9796:3;9779:13;9788:4;9779:6;:13;:::i;:::-;9778:21;;;;:::i;:::-;9758:41;-1:-1:-1;9814:22:0;9839:18;9758:41;9839:6;:18;:::i;:::-;-1:-1:-1;;;;;9874:14:0;;;;;;:8;:14;;;;;:24;;9814:43;;-1:-1:-1;9892:6:0;;9874:14;;;:24;;9892:6;;9874:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9913:12:0;;;;;;:8;:12;;;;;:30;;9929:14;;9913:12;:30;;9929:14;;9913:30;:::i;:::-;;;;-1:-1:-1;;9975:4:0;9958:23;;;;:8;:23;;;;;:36;;9985:9;;9958:23;:36;;9985:9;;9958:36;:::i;:::-;;;;-1:-1:-1;;10014:40:0;;1342:25:1;;;10037:4:0;;-1:-1:-1;;;;;10014:40:0;;;;;1330:2:1;1315:18;10014:40:0;;;;;;;10089:2;-1:-1:-1;;;;;10074:34:0;10083:4;-1:-1:-1;;;;;10074:34:0;;10093:14;10074:34;;;;1342:25:1;;1330:2;1315:18;;1196:177;10074:34:0;;;;;;;;9715:405;;9700:593;;;-1:-1:-1;;;;;10172:14:0;;;;;;:8;:14;;;;;:24;;10190:6;;10172:14;:24;;10190:6;;10172:24;:::i;9700:593::-;7747:2553;7644:2656;;;:::o;1870:266::-;-1:-1:-1;;;;;1958:22:0;;1936:110;;;;-1:-1:-1;;;1936:110:0;;8852:2:1;1936:110:0;;;8834:21:1;8891:2;8871:18;;;8864:30;8930:34;8910:18;;;8903:62;-1:-1:-1;;;8981:18:1;;;8974:36;9027:19;;1936:110:0;8650:402:1;1936:110:0;2083:6;;;2062:38;;-1:-1:-1;;;;;2062:38:0;;;;2083:6;;;2062:38;;;2111:6;:17;;-1:-1:-1;;;;;;2111:17:0;-1:-1:-1;;;;;2111:17:0;;;;;;;;;;1870:266::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:1:o;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2552:615::-;2638:6;2646;2699:2;2687:9;2678:7;2674:23;2670:32;2667:52;;;2715:1;2712;2705:12;2667:52;2755:9;2742:23;2784:18;2825:2;2817:6;2814:14;2811:34;;;2841:1;2838;2831:12;2811:34;2879:6;2868:9;2864:22;2854:32;;2924:7;2917:4;2913:2;2909:13;2905:27;2895:55;;2946:1;2943;2936:12;2895:55;2986:2;2973:16;3012:2;3004:6;3001:14;2998:34;;;3028:1;3025;3018:12;2998:34;3081:7;3076:2;3066:6;3063:1;3059:14;3055:2;3051:23;3047:32;3044:45;3041:65;;;3102:1;3099;3092:12;3041:65;3133:2;3125:11;;;;;3155:6;;-1:-1:-1;2552:615:1;;-1:-1:-1;;;;2552:615:1:o;3172:260::-;3240:6;3248;3301:2;3289:9;3280:7;3276:23;3272:32;3269:52;;;3317:1;3314;3307:12;3269:52;3340:29;3359:9;3340:29;:::i;:::-;3330:39;;3388:38;3422:2;3411:9;3407:18;3388:38;:::i;:::-;3378:48;;3172:260;;;;;:::o;3437:127::-;3498:10;3493:3;3489:20;3486:1;3479:31;3529:4;3526:1;3519:15;3553:4;3550:1;3543:15;3569:128;3636:9;;;3657:11;;;3654:37;;;3671:18;;:::i;3702:356::-;3904:2;3886:21;;;3923:18;;;3916:30;3982:34;3977:2;3962:18;;3955:62;4049:2;4034:18;;3702:356::o;4063:127::-;4124:10;4119:3;4115:20;4112:1;4105:31;4155:4;4152:1;4145:15;4179:4;4176:1;4169:15;4195:135;4234:3;4255:17;;;4252:43;;4275:18;;:::i;:::-;-1:-1:-1;4322:1:1;4311:13;;4195:135::o;7000:125::-;7065:9;;;7086:10;;;7083:36;;;7099:18;;:::i;7262:988::-;7532:4;7580:3;7569:9;7565:19;7611:6;7600:9;7593:25;7637:2;7675:6;7670:2;7659:9;7655:18;7648:34;7718:3;7713:2;7702:9;7698:18;7691:31;7742:6;7777;7771:13;7808:6;7800;7793:22;7846:3;7835:9;7831:19;7824:26;;7885:2;7877:6;7873:15;7859:29;;7906:1;7916:195;7930:6;7927:1;7924:13;7916:195;;;7995:13;;-1:-1:-1;;;;;7991:39:1;7979:52;;8086:15;;;;8051:12;;;;8027:1;7945:9;7916:195;;;-1:-1:-1;;;;;;;8167:32:1;;;;8162:2;8147:18;;8140:60;-1:-1:-1;;;8231:3:1;8216:19;8209:35;8128:3;7262:988;-1:-1:-1;;;7262:988:1:o;8255:168::-;8328:9;;;8359;;8376:15;;;8370:22;;8356:37;8346:71;;8397:18;;:::i;8428:217::-;8468:1;8494;8484:132;;8538:10;8533:3;8529:20;8526:1;8519:31;8573:4;8570:1;8563:15;8601:4;8598:1;8591:15;8484:132;-1:-1:-1;8630:9:1;;8428:217::o

Swarm Source

ipfs://0f71798693c8a438edf3cca4752287969e3d74419a88b22b9d269eb53773eaa5

Block Transaction Difficulty 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
Loading...
Loading
[ 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.