ETH Price: $2,032.34 (+9.33%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve171304222023-04-26 12:32:591036 days ago1682512379IN
0x3DE34ca8...9AF567645
0 ETH0.0022820885.5
Approve171304122023-04-26 12:30:591036 days ago1682512259IN
0x3DE34ca8...9AF567645
0 ETH0.0021989347.19658984
Approve171304082023-04-26 12:30:111036 days ago1682512211IN
0x3DE34ca8...9AF567645
0 ETH0.0018850740.46000432
Approve171304072023-04-26 12:29:591036 days ago1682512199IN
0x3DE34ca8...9AF567645
0 ETH0.0016799636.10415761
Approve171304072023-04-26 12:29:591036 days ago1682512199IN
0x3DE34ca8...9AF567645
0 ETH0.0018172439.00415761
Approve171304062023-04-26 12:29:471036 days ago1682512187IN
0x3DE34ca8...9AF567645
0 ETH0.0016917336.55506115
Approve171304052023-04-26 12:29:351036 days ago1682512175IN
0x3DE34ca8...9AF567645
0 ETH0.0017178436.87076029
Approve171304052023-04-26 12:29:351036 days ago1682512175IN
0x3DE34ca8...9AF567645
0 ETH0.0017580537.78240029
Approve171304042023-04-26 12:29:231036 days ago1682512163IN
0x3DE34ca8...9AF567645
0 ETH0.0019075740.94290556
Approve171304032023-04-26 12:29:111036 days ago1682512151IN
0x3DE34ca8...9AF567645
0 ETH0.0019009640.80121778
Approve171304012023-04-26 12:28:471036 days ago1682512127IN
0x3DE34ca8...9AF567645
0 ETH0.0017384837.31376692
Remove Limits171304002023-04-26 12:28:351036 days ago1682512115IN
0x3DE34ca8...9AF567645
0 ETH0.0009694236.39380596
Approve171304002023-04-26 12:28:351036 days ago1682512115IN
0x3DE34ca8...9AF567645
0 ETH0.0021013245.39380596
Approve171303992023-04-26 12:28:231036 days ago1682512103IN
0x3DE34ca8...9AF567645
0 ETH0.0017704537.99990824
Approve171303992023-04-26 12:28:231036 days ago1682512103IN
0x3DE34ca8...9AF567645
0 ETH0.0017704537.99990824
Approve171303992023-04-26 12:28:231036 days ago1682512103IN
0x3DE34ca8...9AF567645
0 ETH0.0017704537.99990824
Approve171303982023-04-26 12:28:111036 days ago1682512091IN
0x3DE34ca8...9AF567645
0 ETH0.0016549135.52004243
Approve171303982023-04-26 12:28:111036 days ago1682512091IN
0x3DE34ca8...9AF567645
0 ETH0.001678236.02004243
Approve171303982023-04-26 12:28:111036 days ago1682512091IN
0x3DE34ca8...9AF567645
0 ETH0.0017713938.02004243
Approve171303972023-04-26 12:27:591036 days ago1682512079IN
0x3DE34ca8...9AF567645
0 ETH0.0017591637.75764941
Approve171303972023-04-26 12:27:591036 days ago1682512079IN
0x3DE34ca8...9AF567645
0 ETH0.0017591637.75764941
Approve171303972023-04-26 12:27:591036 days ago1682512079IN
0x3DE34ca8...9AF567645
0 ETH0.0017591637.75764941
Approve171303972023-04-26 12:27:591036 days ago1682512079IN
0x3DE34ca8...9AF567645
0 ETH0.0017591637.75764941
Approve171303972023-04-26 12:27:591036 days ago1682512079IN
0x3DE34ca8...9AF567645
0 ETH0.0017591637.75764941
Approve171303972023-04-26 12:27:591036 days ago1682512079IN
0x3DE34ca8...9AF567645
0 ETH0.0026556857
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VirusToken

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2023-04-26
*/

// SPDX-License-Identifier: Unlicensed
// https://t.me/virustokenportal

pragma solidity ^0.8.9;

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

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

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract VirusToken is ERC20, Ownable {
    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool public limitsInEffect = true;
    uint256 public maxTransactionAmount;

    mapping(address => bool) private excludedMaxTransactionAmount;

    constructor() ERC20("Virus Token", "VIRUS") {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uint256 totalSupply = 1000000000 * 10**decimals();

        maxTransactionAmount = totalSupply * 2 / 100;

        excludedMaxTransactionAmount[address(_uniswapV2Router)] = true;
        excludedMaxTransactionAmount[address(uniswapV2Pair)] = true;
        excludedMaxTransactionAmount[owner()] = true;
        excludedMaxTransactionAmount[address(this)] = true;

        _mint(_msgSender(), totalSupply);
    }

    receive() external payable {}

    function removeLimits() external onlyOwner {
        require(limitsInEffect == true, "The limits has been removed.");
        limitsInEffect = false;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "ERC20: transfer from the zero address.");
        require(to != address(0), "ERC20: transfer to the zero address.");
        require(amount > 0, "ERC20: transfer amount must be greater than zero.");

        if (limitsInEffect == true && from != owner() && to != owner() && to != address(0) && to != address(0xdead)) {
            if (uniswapV2Pair == from && !excludedMaxTransactionAmount[to]) {
                require(amount <= maxTransactionAmount, "ERC20: Buy transfer amount exceeds the max transaction amount.");
            } else if (uniswapV2Pair == to && !excludedMaxTransactionAmount[from]) {
                require(amount <= maxTransactionAmount, "ERC20: Sell transfer amount exceeds the max transaction amount.");
            }
        }
        super._transfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526005805460ff60a01b1916600160a01b1790553480156200002457600080fd5b506040518060400160405280600b81526020016a2b34b93ab9902a37b5b2b760a91b81525060405180604001604052806005815260200164564952555360d81b8152508160039081620000789190620004c5565b506004620000878282620004c5565b505050620000a46200009e6200030460201b60201c565b62000308565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620000fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000121919062000591565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200016f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000195919062000591565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000209919062000591565b6001600160a01b031660a0526000620002256012600a620006d8565b6200023590633b9aca00620006e9565b9050606462000246826002620006e9565b62000252919062000703565b6006556001600160a01b0382811660009081526007602081905260408083208054600160ff19918216811790925560a05190951684529083208054909416811790935590620002a96005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526007909252902080549091166001179055620002fc620002f53390565b826200035a565b50506200073c565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620003b55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620003c9919062000726565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200044b57607f821691505b6020821081036200046c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004c057600081815260208120601f850160051c810160208610156200049b5750805b601f850160051c820191505b81811015620004bc57828155600101620004a7565b5050505b505050565b81516001600160401b03811115620004e157620004e162000420565b620004f981620004f2845462000436565b8462000472565b602080601f831160018114620005315760008415620005185750858301515b600019600386901b1c1916600185901b178555620004bc565b600085815260208120601f198616915b82811015620005625788860151825594840194600190910190840162000541565b5085821015620005815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005a457600080fd5b81516001600160a01b0381168114620005bc57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200061a578160001904821115620005fe57620005fe620005c3565b808516156200060c57918102915b93841c9390800290620005de565b509250929050565b6000826200063357506001620006d2565b816200064257506000620006d2565b81600181146200065b5760028114620006665762000686565b6001915050620006d2565b60ff8411156200067a576200067a620005c3565b50506001821b620006d2565b5060208310610133831016604e8410600b8410161715620006ab575081810a620006d2565b620006b78383620005d9565b8060001904821115620006ce57620006ce620005c3565b0290505b92915050565b6000620005bc60ff84168362000622565b8082028115828204841417620006d257620006d2620005c3565b6000826200072157634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620006d257620006d2620005c3565b60805160a051610e0b62000770600039600081816102380152818161086e015261094a0152600061017b0152610e0b6000f3fe6080604052600436106101025760003560e01c80634a62bb65116100955780638da5cb5b116100645780638da5cb5b146102dd57806395d89b41146102fb578063a9059cbb14610310578063c8c8ebe414610330578063dd62ed3e1461034657600080fd5b80634a62bb651461025a57806370a082311461027b578063715018a6146102b1578063751039fc146102c857600080fd5b806323b872dd116100d157806323b872dd146101d457806327c8f835146101f4578063313ce5671461020a57806349bd5a5e1461022657600080fd5b806306fdde031461010e578063095ea7b3146101395780631694505e1461016957806318160ddd146101b557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012361038c565b6040516101309190610c76565b60405180910390f35b34801561014557600080fd5b50610159610154366004610ce0565b61041e565b6040519015158152602001610130565b34801561017557600080fd5b5061019d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610130565b3480156101c157600080fd5b506002545b604051908152602001610130565b3480156101e057600080fd5b506101596101ef366004610d0a565b610436565b34801561020057600080fd5b5061019d61dead81565b34801561021657600080fd5b5060405160128152602001610130565b34801561023257600080fd5b5061019d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561026657600080fd5b5060055461015990600160a01b900460ff1681565b34801561028757600080fd5b506101c6610296366004610d46565b6001600160a01b031660009081526020819052604090205490565b3480156102bd57600080fd5b506102c661045a565b005b3480156102d457600080fd5b506102c661046e565b3480156102e957600080fd5b506005546001600160a01b031661019d565b34801561030757600080fd5b506101236104e8565b34801561031c57600080fd5b5061015961032b366004610ce0565b6104f7565b34801561033c57600080fd5b506101c660065481565b34801561035257600080fd5b506101c6610361366004610d68565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461039b90610d9b565b80601f01602080910402602001604051908101604052809291908181526020018280546103c790610d9b565b80156104145780601f106103e957610100808354040283529160200191610414565b820191906000526020600020905b8154815290600101906020018083116103f757829003601f168201915b5050505050905090565b60003361042c818585610505565b5060019392505050565b600033610444858285610629565b61044f8585856106bb565b506001949350505050565b610462610a25565b61046c6000610a7f565b565b610476610a25565b600554600160a01b900460ff1615156001146104d95760405162461bcd60e51b815260206004820152601c60248201527f546865206c696d69747320686173206265656e2072656d6f7665642e0000000060448201526064015b60405180910390fd5b6005805460ff60a01b19169055565b60606004805461039b90610d9b565b60003361042c8185856106bb565b6001600160a01b0383166105675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d0565b6001600160a01b0382166105c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146106b557818110156106a85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104d0565b6106b58484848403610505565b50505050565b6001600160a01b0383166107205760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015265323932b9b99760d11b60648201526084016104d0565b6001600160a01b0382166107825760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526332b9b99760e11b60648201526084016104d0565b600081116107ec5760405162461bcd60e51b815260206004820152603160248201527f45524332303a207472616e7366657220616d6f756e74206d75737420626520676044820152703932b0ba32b9103a3430b7103d32b9379760791b60648201526084016104d0565b600554600160a01b900460ff161515600114801561081857506005546001600160a01b03848116911614155b801561083257506005546001600160a01b03838116911614155b801561084657506001600160a01b03821615155b801561085d57506001600160a01b03821661dead14155b15610a1557826001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480156108bc57506001600160a01b03821660009081526007602052604090205460ff16155b1561093e576006548111156109395760405162461bcd60e51b815260206004820152603e60248201527f45524332303a20427579207472616e7366657220616d6f756e7420657863656560448201527f647320746865206d6178207472616e73616374696f6e20616d6f756e742e000060648201526084016104d0565b610a15565b816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614801561099857506001600160a01b03831660009081526007602052604090205460ff16155b15610a1557600654811115610a155760405162461bcd60e51b815260206004820152603f60248201527f45524332303a2053656c6c207472616e7366657220616d6f756e74206578636560448201527f65647320746865206d6178207472616e73616374696f6e20616d6f756e742e0060648201526084016104d0565b610a20838383610ad1565b505050565b6005546001600160a01b0316331461046c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d0565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610b355760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d0565b6001600160a01b038216610b975760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d0565b6001600160a01b03831660009081526020819052604090205481811015610c0f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104d0565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b600060208083528351808285015260005b81811015610ca357858101830151858201604001528201610c87565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cdb57600080fd5b919050565b60008060408385031215610cf357600080fd5b610cfc83610cc4565b946020939093013593505050565b600080600060608486031215610d1f57600080fd5b610d2884610cc4565b9250610d3660208501610cc4565b9150604084013590509250925092565b600060208284031215610d5857600080fd5b610d6182610cc4565b9392505050565b60008060408385031215610d7b57600080fd5b610d8483610cc4565b9150610d9260208401610cc4565b90509250929050565b600181811c90821680610daf57607f821691505b602082108103610dcf57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220bbd4e45650ecf68fa07df0115aa0908030508c247309be5777c4070cf129b68064736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c80634a62bb65116100955780638da5cb5b116100645780638da5cb5b146102dd57806395d89b41146102fb578063a9059cbb14610310578063c8c8ebe414610330578063dd62ed3e1461034657600080fd5b80634a62bb651461025a57806370a082311461027b578063715018a6146102b1578063751039fc146102c857600080fd5b806323b872dd116100d157806323b872dd146101d457806327c8f835146101f4578063313ce5671461020a57806349bd5a5e1461022657600080fd5b806306fdde031461010e578063095ea7b3146101395780631694505e1461016957806318160ddd146101b557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012361038c565b6040516101309190610c76565b60405180910390f35b34801561014557600080fd5b50610159610154366004610ce0565b61041e565b6040519015158152602001610130565b34801561017557600080fd5b5061019d7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610130565b3480156101c157600080fd5b506002545b604051908152602001610130565b3480156101e057600080fd5b506101596101ef366004610d0a565b610436565b34801561020057600080fd5b5061019d61dead81565b34801561021657600080fd5b5060405160128152602001610130565b34801561023257600080fd5b5061019d7f000000000000000000000000c8eb80296b134208bd30290fff86bb89ce2ff76a81565b34801561026657600080fd5b5060055461015990600160a01b900460ff1681565b34801561028757600080fd5b506101c6610296366004610d46565b6001600160a01b031660009081526020819052604090205490565b3480156102bd57600080fd5b506102c661045a565b005b3480156102d457600080fd5b506102c661046e565b3480156102e957600080fd5b506005546001600160a01b031661019d565b34801561030757600080fd5b506101236104e8565b34801561031c57600080fd5b5061015961032b366004610ce0565b6104f7565b34801561033c57600080fd5b506101c660065481565b34801561035257600080fd5b506101c6610361366004610d68565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461039b90610d9b565b80601f01602080910402602001604051908101604052809291908181526020018280546103c790610d9b565b80156104145780601f106103e957610100808354040283529160200191610414565b820191906000526020600020905b8154815290600101906020018083116103f757829003601f168201915b5050505050905090565b60003361042c818585610505565b5060019392505050565b600033610444858285610629565b61044f8585856106bb565b506001949350505050565b610462610a25565b61046c6000610a7f565b565b610476610a25565b600554600160a01b900460ff1615156001146104d95760405162461bcd60e51b815260206004820152601c60248201527f546865206c696d69747320686173206265656e2072656d6f7665642e0000000060448201526064015b60405180910390fd5b6005805460ff60a01b19169055565b60606004805461039b90610d9b565b60003361042c8185856106bb565b6001600160a01b0383166105675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d0565b6001600160a01b0382166105c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146106b557818110156106a85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104d0565b6106b58484848403610505565b50505050565b6001600160a01b0383166107205760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015265323932b9b99760d11b60648201526084016104d0565b6001600160a01b0382166107825760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526332b9b99760e11b60648201526084016104d0565b600081116107ec5760405162461bcd60e51b815260206004820152603160248201527f45524332303a207472616e7366657220616d6f756e74206d75737420626520676044820152703932b0ba32b9103a3430b7103d32b9379760791b60648201526084016104d0565b600554600160a01b900460ff161515600114801561081857506005546001600160a01b03848116911614155b801561083257506005546001600160a01b03838116911614155b801561084657506001600160a01b03821615155b801561085d57506001600160a01b03821661dead14155b15610a1557826001600160a01b03167f000000000000000000000000c8eb80296b134208bd30290fff86bb89ce2ff76a6001600160a01b03161480156108bc57506001600160a01b03821660009081526007602052604090205460ff16155b1561093e576006548111156109395760405162461bcd60e51b815260206004820152603e60248201527f45524332303a20427579207472616e7366657220616d6f756e7420657863656560448201527f647320746865206d6178207472616e73616374696f6e20616d6f756e742e000060648201526084016104d0565b610a15565b816001600160a01b03167f000000000000000000000000c8eb80296b134208bd30290fff86bb89ce2ff76a6001600160a01b031614801561099857506001600160a01b03831660009081526007602052604090205460ff16155b15610a1557600654811115610a155760405162461bcd60e51b815260206004820152603f60248201527f45524332303a2053656c6c207472616e7366657220616d6f756e74206578636560448201527f65647320746865206d6178207472616e73616374696f6e20616d6f756e742e0060648201526084016104d0565b610a20838383610ad1565b505050565b6005546001600160a01b0316331461046c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d0565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610b355760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d0565b6001600160a01b038216610b975760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d0565b6001600160a01b03831660009081526020819052604090205481811015610c0f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104d0565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b600060208083528351808285015260005b81811015610ca357858101830151858201604001528201610c87565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cdb57600080fd5b919050565b60008060408385031215610cf357600080fd5b610cfc83610cc4565b946020939093013593505050565b600080600060608486031215610d1f57600080fd5b610d2884610cc4565b9250610d3660208501610cc4565b9150604084013590509250925092565b600060208284031215610d5857600080fd5b610d6182610cc4565b9392505050565b60008060408385031215610d7b57600080fd5b610d8483610cc4565b9150610d9260208401610cc4565b90509250929050565b600181811c90821680610daf57607f821691505b602082108103610dcf57634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220bbd4e45650ecf68fa07df0115aa0908030508c247309be5777c4070cf129b68064736f6c63430008130033

Deployed Bytecode Sourcemap

5996:2266:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2386:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3318:201;;;;;;;;;;-1:-1:-1;3318:201:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;3318:201:0;1004:187:1;6041:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1386:32:1;;;1368:51;;1356:2;1341:18;6041:51:0;1196:229:1;2707:108:0;;;;;;;;;;-1:-1:-1;2795:12:0;;2707:108;;;1576:25:1;;;1564:2;1549:18;2707:108:0;1430:177:1;3527:261:0;;;;;;;;;;-1:-1:-1;3527:261:0;;;;;:::i;:::-;;:::i;6144:53::-;;;;;;;;;;;;6190:6;6144:53;;2606:93;;;;;;;;;;-1:-1:-1;2606:93:0;;2689:2;2295:36:1;;2283:2;2268:18;2606:93:0;2153:184:1;6099:38:0;;;;;;;;;;;;;;;6206:33;;;;;;;;;;-1:-1:-1;6206:33:0;;;;-1:-1:-1;;;6206:33:0;;;;;;2823:127;;;;;;;;;;-1:-1:-1;2823:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2924:18:0;2897:7;2924:18;;;;;;;;;;;;2823:127;789:103;;;;;;;;;;;;;:::i;:::-;;7161:158;;;;;;;;;;;;;:::i;554:87::-;;;;;;;;;;-1:-1:-1;627:6:0;;-1:-1:-1;;;;;627:6:0;554:87;;2494:104;;;;;;;;;;;;;:::i;2958:193::-;;;;;;;;;;-1:-1:-1;2958:193:0;;;;;:::i;:::-;;:::i;6246:35::-;;;;;;;;;;;;;;;;3159:151;;;;;;;;;;-1:-1:-1;3159:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3275:18:0;;;3248:7;3275:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3159:151;2386:100;2440:13;2473:5;2466:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2386:100;:::o;3318:201::-;3401:4;216:10;3457:32;216:10;3473:7;3482:6;3457:8;:32::i;:::-;-1:-1:-1;3507:4:0;;3318:201;-1:-1:-1;;;3318:201:0:o;3527:261::-;3624:4;216:10;3682:38;3698:4;216:10;3713:6;3682:15;:38::i;:::-;3731:27;3741:4;3747:2;3751:6;3731:9;:27::i;:::-;-1:-1:-1;3776:4:0;;3527:261;-1:-1:-1;;;;3527:261:0:o;789:103::-;513:13;:11;:13::i;:::-;854:30:::1;881:1;854:18;:30::i;:::-;789:103::o:0;7161:158::-;513:13;:11;:13::i;:::-;7223:14:::1;::::0;-1:-1:-1;;;7223:14:0;::::1;;;:22;;7241:4;7223:22;7215:63;;;::::0;-1:-1:-1;;;7215:63:0;;3385:2:1;7215:63:0::1;::::0;::::1;3367:21:1::0;3424:2;3404:18;;;3397:30;3463;3443:18;;;3436:58;3511:18;;7215:63:0::1;;;;;;;;;7289:14;:22:::0;;-1:-1:-1;;;;7289:22:0::1;::::0;;7161:158::o;2494:104::-;2550:13;2583:7;2576:14;;;;;:::i;2958:193::-;3037:4;216:10;3093:28;216:10;3110:2;3114:6;3093:9;:28::i;4942:346::-;-1:-1:-1;;;;;5044:19:0;;5036:68;;;;-1:-1:-1;;;5036:68:0;;3742:2:1;5036:68:0;;;3724:21:1;3781:2;3761:18;;;3754:30;3820:34;3800:18;;;3793:62;-1:-1:-1;;;3871:18:1;;;3864:34;3915:19;;5036:68:0;3540:400:1;5036:68:0;-1:-1:-1;;;;;5123:21:0;;5115:68;;;;-1:-1:-1;;;5115:68:0;;4147:2:1;5115:68:0;;;4129:21:1;4186:2;4166:18;;;4159:30;4225:34;4205:18;;;4198:62;-1:-1:-1;;;4276:18:1;;;4269:32;4318:19;;5115:68:0;3945:398:1;5115:68:0;-1:-1:-1;;;;;5196:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5248:32;;1576:25:1;;;5248:32:0;;1549:18:1;5248:32:0;;;;;;;4942:346;;;:::o;5296:419::-;-1:-1:-1;;;;;3275:18:0;;;5397:24;3275:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;5464:37:0;;5460:248;;5546:6;5526:16;:26;;5518:68;;;;-1:-1:-1;;;5518:68:0;;4550:2:1;5518:68:0;;;4532:21:1;4589:2;4569:18;;;4562:30;4628:31;4608:18;;;4601:59;4677:18;;5518:68:0;4348:353:1;5518:68:0;5630:51;5639:5;5646:7;5674:6;5655:16;:25;5630:8;:51::i;:::-;5386:329;5296:419;;;:::o;7327:932::-;-1:-1:-1;;;;;7425:18:0;;7417:69;;;;-1:-1:-1;;;7417:69:0;;4908:2:1;7417:69:0;;;4890:21:1;4947:2;4927:18;;;4920:30;4986:34;4966:18;;;4959:62;-1:-1:-1;;;5037:18:1;;;5030:36;5083:19;;7417:69:0;4706:402:1;7417:69:0;-1:-1:-1;;;;;7505:16:0;;7497:65;;;;-1:-1:-1;;;7497:65:0;;5315:2:1;7497:65:0;;;5297:21:1;5354:2;5334:18;;;5327:30;5393:34;5373:18;;;5366:62;-1:-1:-1;;;5444:18:1;;;5437:34;5488:19;;7497:65:0;5113:400:1;7497:65:0;7590:1;7581:6;:10;7573:72;;;;-1:-1:-1;;;7573:72:0;;5720:2:1;7573:72:0;;;5702:21:1;5759:2;5739:18;;;5732:30;5798:34;5778:18;;;5771:62;-1:-1:-1;;;5849:18:1;;;5842:47;5906:19;;7573:72:0;5518:413:1;7573:72:0;7662:14;;-1:-1:-1;;;7662:14:0;;;;:22;;7680:4;7662:22;:41;;;;-1:-1:-1;627:6:0;;-1:-1:-1;;;;;7688:15:0;;;627:6;;7688:15;;7662:41;:58;;;;-1:-1:-1;627:6:0;;-1:-1:-1;;;;;7707:13:0;;;627:6;;7707:13;;7662:58;:78;;;;-1:-1:-1;;;;;;7724:16:0;;;;7662:78;:103;;;;-1:-1:-1;;;;;;7744:21:0;;7758:6;7744:21;;7662:103;7658:550;;;7803:4;-1:-1:-1;;;;;7786:21:0;:13;-1:-1:-1;;;;;7786:21:0;;:58;;;;-1:-1:-1;;;;;;7812:32:0;;;;;;:28;:32;;;;;;;;7811:33;7786:58;7782:415;;;7883:20;;7873:6;:30;;7865:105;;;;-1:-1:-1;;;7865:105:0;;6138:2:1;7865:105:0;;;6120:21:1;6177:2;6157:18;;;6150:30;6216:34;6196:18;;;6189:62;6287:32;6267:18;;;6260:60;6337:19;;7865:105:0;5936:426:1;7865:105:0;7782:415;;;8013:2;-1:-1:-1;;;;;7996:19:0;:13;-1:-1:-1;;;;;7996:19:0;;:58;;;;-1:-1:-1;;;;;;8020:34:0;;;;;;:28;:34;;;;;;;;8019:35;7996:58;7992:205;;;8093:20;;8083:6;:30;;8075:106;;;;-1:-1:-1;;;8075:106:0;;6569:2:1;8075:106:0;;;6551:21:1;6608:2;6588:18;;;6581:30;6647:34;6627:18;;;6620:62;6718:33;6698:18;;;6691:61;6769:19;;8075:106:0;6367:427:1;8075:106:0;8218:33;8234:4;8240:2;8244:6;8218:15;:33::i;:::-;7327:932;;;:::o;649:132::-;627:6;;-1:-1:-1;;;;;627:6:0;216:10;713:23;705:68;;;;-1:-1:-1;;;705:68:0;;7001:2:1;705:68:0;;;6983:21:1;;;7020:18;;;7013:30;7079:34;7059:18;;;7052:62;7131:18;;705:68:0;6799:356:1;900:191:0;993:6;;;-1:-1:-1;;;;;1010:17:0;;;-1:-1:-1;;;;;;1010:17:0;;;;;;;1043:40;;993:6;;;1010:17;993:6;;1043:40;;974:16;;1043:40;963:128;900:191;:::o;3796:705::-;-1:-1:-1;;;;;3893:18:0;;3885:68;;;;-1:-1:-1;;;3885:68:0;;7362:2:1;3885:68:0;;;7344:21:1;7401:2;7381:18;;;7374:30;7440:34;7420:18;;;7413:62;-1:-1:-1;;;7491:18:1;;;7484:35;7536:19;;3885:68:0;7160:401:1;3885:68:0;-1:-1:-1;;;;;3972:16:0;;3964:64;;;;-1:-1:-1;;;3964:64:0;;7768:2:1;3964:64:0;;;7750:21:1;7807:2;7787:18;;;7780:30;7846:34;7826:18;;;7819:62;-1:-1:-1;;;7897:18:1;;;7890:33;7940:19;;3964:64:0;7566:399:1;3964:64:0;-1:-1:-1;;;;;4063:15:0;;4041:19;4063:15;;;;;;;;;;;4097:21;;;;4089:72;;;;-1:-1:-1;;;4089:72:0;;8172:2:1;4089:72:0;;;8154:21:1;8211:2;8191:18;;;8184:30;8250:34;8230:18;;;8223:62;-1:-1:-1;;;8301:18:1;;;8294:36;8347:19;;4089:72:0;7970:402:1;4089:72:0;-1:-1:-1;;;;;4197:15:0;;;:9;:15;;;;;;;;;;;4215:20;;;4197:38;;4415:13;;;;;;;;;;:23;;;;;;4467:26;;1576:25:1;;;4415:13:0;;4467:26;;1549:18:1;4467:26:0;;;;;;;3874:627;3796:705;;;:::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;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;2342:186::-;2401:6;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;2493:29;2512:9;2493:29;:::i;:::-;2483:39;2342:186;-1:-1:-1;;;2342:186:1:o;2533:260::-;2601:6;2609;2662:2;2650:9;2641:7;2637:23;2633:32;2630:52;;;2678:1;2675;2668:12;2630:52;2701:29;2720:9;2701:29;:::i;:::-;2691:39;;2749:38;2783:2;2772:9;2768:18;2749:38;:::i;:::-;2739:48;;2533:260;;;;;:::o;2798:380::-;2877:1;2873:12;;;;2920;;;2941:61;;2995:4;2987:6;2983:17;2973:27;;2941:61;3048:2;3040:6;3037:14;3017:18;3014:38;3011:161;;3094:10;3089:3;3085:20;3082:1;3075:31;3129:4;3126:1;3119:15;3157:4;3154:1;3147:15;3011:161;;2798:380;;;:::o

Swarm Source

ipfs://bbd4e45650ecf68fa07df0115aa0908030508c247309be5777c4070cf129b680

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.