ETH Price: $3,186.07 (-2.42%)

Contract

0xd12526f30b216a37374972369C14C30b72867d30
 

Overview

ETH Balance

0.0127 ETH

Eth Value

$40.46 (@ $3,186.07/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve210782082024-10-30 11:38:3580 days ago1730288315IN
0xd12526f3...b72867d30
0 ETH0.000293111.15198324
Approve202404942024-07-05 13:06:35197 days ago1720184795IN
0xd12526f3...b72867d30
0 ETH0.000230079.47475078
Approve170116692023-04-09 15:38:35650 days ago1681054715IN
0xd12526f3...b72867d30
0 ETH0.0004733919.49477346
Approve169472362023-03-31 12:39:11659 days ago1680266351IN
0xd12526f3...b72867d30
0 ETH0.0006439226.51734741
Approve167871732023-03-09 0:45:23682 days ago1678322723IN
0xd12526f3...b72867d30
0 ETH0.0006486526.71218372
Approve166308212023-02-15 1:19:59704 days ago1676423999IN
0xd12526f3...b72867d30
0 ETH0.0008992837.03350103
Approve165568662023-02-04 17:20:11714 days ago1675531211IN
0xd12526f3...b72867d30
0 ETH0.00130127.93834663
Approve165532172023-02-04 5:04:23715 days ago1675487063IN
0xd12526f3...b72867d30
0 ETH0.0007725616.59047193
Approve165532172023-02-04 5:04:23715 days ago1675487063IN
0xd12526f3...b72867d30
0 ETH0.0005336319.96605018
Approve165532172023-02-04 5:04:23715 days ago1675487063IN
0xd12526f3...b72867d30
0 ETH0.0007324127.40357595
Approve165532172023-02-04 5:04:23715 days ago1675487063IN
0xd12526f3...b72867d30
0 ETH0.0004790217.92273527
Approve165532172023-02-04 5:04:23715 days ago1675487063IN
0xd12526f3...b72867d30
0 ETH0.0004229815.82615503
Approve165532172023-02-04 5:04:23715 days ago1675487063IN
0xd12526f3...b72867d30
0 ETH0.0004204615.73202699
Approve165490392023-02-03 15:05:47715 days ago1675436747IN
0xd12526f3...b72867d30
0 ETH0.0023423450.2358854
Approve165434782023-02-02 20:24:35716 days ago1675369475IN
0xd12526f3...b72867d30
0 ETH0.0016546235.48644548
Approve165306532023-02-01 1:21:35718 days ago1675214495IN
0xd12526f3...b72867d30
0 ETH0.0007614816.35251165
Transfer165298262023-01-31 22:35:23718 days ago1675204523IN
0xd12526f3...b72867d30
0 ETH0.0131220444.89854042
Approve165281802023-01-31 17:04:11718 days ago1675184651IN
0xd12526f3...b72867d30
0 ETH0.001736937.29915746
Approve165272592023-01-31 13:59:35718 days ago1675173575IN
0xd12526f3...b72867d30
0 ETH0.0008620418.51187105
Approve165263912023-01-31 11:04:59718 days ago1675163099IN
0xd12526f3...b72867d30
0 ETH0.0007807516.7663602
Transfer165261582023-01-31 10:17:59719 days ago1675160279IN
0xd12526f3...b72867d30
0 ETH0.0042712215.331632
Transfer165261432023-01-31 10:14:59719 days ago1675160099IN
0xd12526f3...b72867d30
0 ETH0.0048650416.64629326
Transfer165257942023-01-31 9:04:35719 days ago1675155875IN
0xd12526f3...b72867d30
0 ETH0.0048385916.55526529
Approve165254122023-01-31 7:47:59719 days ago1675151279IN
0xd12526f3...b72867d30
0 ETH0.0007712716.54127944
Transfer165253922023-01-31 7:43:59719 days ago1675151039IN
0xd12526f3...b72867d30
0 ETH0.0011761118.11114409
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
166772242023-02-21 13:38:35697 days ago1676986715
0xd12526f3...b72867d30
0.0001879 ETH
166772242023-02-21 13:38:35697 days ago1676986715
0xd12526f3...b72867d30
0.0001879 ETH
166772242023-02-21 13:38:35697 days ago1676986715
0xd12526f3...b72867d30
0.00056406 ETH
166772242023-02-21 13:38:35697 days ago1676986715
0xd12526f3...b72867d30
0.00056406 ETH
165568732023-02-04 17:21:35714 days ago1675531295
0xd12526f3...b72867d30
0.00001117 ETH
165568732023-02-04 17:21:35714 days ago1675531295
0xd12526f3...b72867d30
0.00001117 ETH
165568732023-02-04 17:21:35714 days ago1675531295
0xd12526f3...b72867d30
0.00003352 ETH
165568732023-02-04 17:21:35714 days ago1675531295
0xd12526f3...b72867d30
0.00003352 ETH
165331852023-02-01 9:50:59718 days ago1675245059
0xd12526f3...b72867d30
0.00001515 ETH
165331852023-02-01 9:50:59718 days ago1675245059
0xd12526f3...b72867d30
0.00001515 ETH
165331852023-02-01 9:50:59718 days ago1675245059
0xd12526f3...b72867d30
0.00004547 ETH
165331852023-02-01 9:50:59718 days ago1675245059
0xd12526f3...b72867d30
0.00004547 ETH
165331832023-02-01 9:50:35718 days ago1675245035
0xd12526f3...b72867d30
0.00004346 ETH
165331832023-02-01 9:50:35718 days ago1675245035
0xd12526f3...b72867d30
0.00004346 ETH
165331832023-02-01 9:50:35718 days ago1675245035
0xd12526f3...b72867d30
0.00013042 ETH
165331832023-02-01 9:50:35718 days ago1675245035
0xd12526f3...b72867d30
0.00013042 ETH
165331812023-02-01 9:50:11718 days ago1675245011
0xd12526f3...b72867d30
0.00008619 ETH
165331812023-02-01 9:50:11718 days ago1675245011
0xd12526f3...b72867d30
0.00008619 ETH
165331812023-02-01 9:50:11718 days ago1675245011
0xd12526f3...b72867d30
0.00025864 ETH
165331812023-02-01 9:50:11718 days ago1675245011
0xd12526f3...b72867d30
0.00025864 ETH
165298262023-01-31 22:35:23718 days ago1675204523
0xd12526f3...b72867d30
0.00021393 ETH
165298262023-01-31 22:35:23718 days ago1675204523
0xd12526f3...b72867d30
0.00021393 ETH
165298262023-01-31 22:35:23718 days ago1675204523
0xd12526f3...b72867d30
0.00064223 ETH
165298262023-01-31 22:35:23718 days ago1675204523
0xd12526f3...b72867d30
0.00064223 ETH
165282232023-01-31 17:12:47718 days ago1675185167
0xd12526f3...b72867d30
0.00018813 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NanukToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : NukeToken.sol
// SPDX-License-Identifier: MIT
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) {
        return msg.data;
    }
}

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

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

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

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

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

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) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library SafeMathInt {
    int256 private constant MIN_INT256 = int256(1) << 255;
    int256 private constant MAX_INT256 = ~(int256(1) << 255);

    function mul(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a * b;
        // Detect overflow when multiplying MIN_INT256 with -1
        require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
        require((b == 0) || (c / b == a));
        return c;
    }

    function div(int256 a, int256 b) internal pure returns (int256) {
        // Prevent overflow when dividing MIN_INT256 by -1
        require(b != -1 || a != MIN_INT256);
        // Solidity already throws when dividing by 0.
        return a / b;
    }

    function sub(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a));
        return c;
    }

    function add(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a));
        return c;
    }

    function abs(int256 a) internal pure returns (int256) {
        require(a != MIN_INT256);
        return a < 0 ? -a : a;
    }

    function toUint256Safe(int256 a) internal pure returns (uint256) {
        require(a >= 0);
        return uint256(a);
    }
}

library SafeMathUint {
  function toInt256Safe(uint256 a) internal pure returns (int256) {
    int256 b = int256(a);
    require(b >= 0);
    return b;
  }
}

library Clones {

    function clone(address implementation) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create(0, ptr, 0x37)
        }
        require(instance != address(0), "ERC1167: create failed");
    }

    function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create2(0, ptr, 0x37, salt)
        }
        require(instance != address(0), "ERC1167: create2 failed");
    }

    function predictDeterministicAddress(
        address implementation,
        bytes32 salt,
        address deployer
    ) internal pure returns (address predicted) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)
            mstore(add(ptr, 0x38), shl(0x60, deployer))
            mstore(add(ptr, 0x4c), salt)
            mstore(add(ptr, 0x6c), keccak256(ptr, 0x37))
            predicted := keccak256(add(ptr, 0x37), 0x55)
        }
    }

    function predictDeterministicAddress(address implementation, bytes32 salt)
        internal
        view
        returns (address predicted)
    {
        return predictDeterministicAddress(implementation, salt, address(this));
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    using SafeMath for uint256;

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

    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 recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

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

        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);
        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), 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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Cast(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

contract NanukToken is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private swapping;

    uint256 public swapTokensAtAmount;

    uint256 public buyMarketingFee;
    uint256 public sellMarketingFee;
    uint256 public buyDeadFee;
    uint256 public sellDeadFee;

    uint256 public AmountMarketingFee;
    uint256 public AmountDevFee;
    address public _marketingWalletAddress;

    address public devWallet;
    address public deadWallet = 0x000000000000000000000000000000000000dEaD;

    uint256 public _maxTxAmount;
    uint256 public _maxWallet;

    mapping(address => bool) public _isEnemy;
    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) public automatedMarketMakerPairs;

    event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress);
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event ExcludeMultipleAccountsFromFees(address[] accounts, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        address[3] memory addrs, //router, marketing, dev
        uint256[2] memory buyFeeSetting_, 
        uint256[2] memory sellFeeSetting_
    ) payable ERC20(name_, symbol_)  {
        _marketingWalletAddress = addrs[1];
        devWallet = addrs[2];

        buyMarketingFee = buyFeeSetting_[0];
        buyDeadFee = buyFeeSetting_[1];

        sellMarketingFee = sellFeeSetting_[0];
        sellDeadFee = sellFeeSetting_[1];

        require(buyMarketingFee.add(buyDeadFee) <= 25, "Total buy fee is over 25%");
        require(sellMarketingFee.add(sellDeadFee) <= 25, "Total sell fee is over 25%");

        uint256 totalSupply = totalSupply_.mul(10 ** 8);
        swapTokensAtAmount = totalSupply.mul(2).div(100000); // 0.002% define as 1000 = 1%

        _maxWallet = totalSupply.mul(2).div(100); // 2%
        _maxTxAmount = totalSupply.mul(2).div(100); // 2%

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(addrs[0]);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;

        _setAutomatedMarketMakerPair(_uniswapV2Pair, true);

        // exclude from paying fees or having max transaction amount
        excludeFromFees(owner(), true);
        excludeFromFees(_marketingWalletAddress, true);
        excludeFromFees(devWallet, true);
        excludeFromFees(address(this), true);

        _cast(owner(), totalSupply);
    }

    receive() external payable {}

    function updateUniswapV2Router(address newAddress) public onlyOwner {
        require(newAddress != address(uniswapV2Router), "The router already has that address");
        emit UpdateUniswapV2Router(newAddress, address(uniswapV2Router));
        uniswapV2Router = IUniswapV2Router02(newAddress);
        address _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory())
            .createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Pair = _uniswapV2Pair;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        if(_isExcludedFromFees[account] != excluded){
            _isExcludedFromFees[account] = excluded;
            emit ExcludeFromFees(account, excluded);
        }
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFees[accounts[i]] = excluded;
        }
        emit ExcludeMultipleAccountsFromFees(accounts, excluded);
    }

    function setMarketingWallet(address payable wallet) external onlyOwner{
        _marketingWalletAddress = wallet;
    }

    function setdevWallet(address payable addr) external onlyOwner {
        devWallet = addr;
    }

    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The PancakeSwap pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function EnemyAddress(address account, bool value) external onlyOwner{
        _isEnemy[account] = value;
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        require(automatedMarketMakerPairs[pair] != value, "Automated market maker pair is already set to that value");
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _isExcludedFromFees[account];
    }

    function swapManual() public onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        require(contractTokenBalance > 0 , "token balance zero");
        swapping = true;
        if(AmountMarketingFee > 0) swapAndSendToFee(AmountMarketingFee);
        if(AmountDevFee > 0) swapAndSendToFeeDev(AmountDevFee);
        swapping = false;
    }

    function setSwapTokensAtAmount(uint256 amount) public onlyOwner {
        swapTokensAtAmount = amount;
    }

    function setMaxTxPercent(uint256 maxTxPercent) public onlyOwner {
        require(maxTxPercent >= 0, "Cannot set less than 0 Percent!");
        _maxTxAmount = totalSupply().mul(maxTxPercent).div(1000);//value 10 for 1%
    }

    function setMaxWalletTxPercent(uint256 maxWalletTxPercent) public onlyOwner {
        require(maxWalletTxPercent >= 0, "Cannot set less than 0 Percent!");
        _maxWallet = totalSupply().mul(maxWalletTxPercent).div(1000);//value 10 for 1%
    }

    function recoverETH() public onlyOwner {
        uint256 amount = address(this).balance;
        require(amount > 0, "No ETH available");       
        payable(msg.sender).transfer(amount);
    }

    function recoverERC20(address tokenAddress, uint256 tokenAmount) public onlyOwner {
        require(tokenAddress != address(this), "not allow recovering self token");
        IERC20(tokenAddress).transfer(msg.sender, tokenAmount);
    } 

    function setBuyTaxes(uint256 marketingFee, uint256 deadFee) external onlyOwner {
        require(marketingFee.add(deadFee) <= 25, "Total buy fee is over 25%");
        buyMarketingFee = marketingFee;
        buyDeadFee = deadFee;
    }

    function setSelTaxes(uint256 marketingFee, uint256 deadFee) external onlyOwner {
        require(marketingFee.add(deadFee) <= 25, "Total sel fee is over 25%");
        sellMarketingFee = marketingFee;
        sellDeadFee = deadFee;
    }

    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(!_isEnemy[from] && !_isEnemy[to], 'Enemy address');
        if(from != owner() && to != owner()){
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }
        if(from != owner() && to != owner() && to != uniswapV2Pair && to != devWallet && to != deadWallet){
            require(balanceOf(to) <= _maxWallet, "Transfer amount exceeds the maxWalletAmount.");
        }

        if(amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if( canSwap &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            from != owner() &&
            to != owner()
        ) {
            swapping = true;
            if(AmountMarketingFee > 0) swapAndSendToFee(AmountMarketingFee);
            if(AmountDevFee > 0) swapAndSendToFeeDev(AmountDevFee);
            swapping = false;
        }

        bool takeFee = !swapping;

        // if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        if(takeFee) {
            uint256 fees;
            uint256 MFee;
            uint256 DFee;
            if(automatedMarketMakerPairs[from]){
                MFee = amount.mul(buyMarketingFee).div(100);
                DFee = amount.mul(buyDeadFee).div(100);
                AmountMarketingFee += MFee;
                AmountDevFee += DFee;
                fees = MFee.add(DFee);
            }
            if(automatedMarketMakerPairs[to]){
                MFee = amount.mul(sellMarketingFee).div(100);
                DFee = amount.mul(sellDeadFee).div(100);
                AmountMarketingFee += MFee;
                AmountDevFee += DFee;
                fees = MFee.add(DFee);
            }
            amount = amount.sub(fees);
            super._transfer(from, address(this), fees);
        }
        super._transfer(from, to, amount);
    }

    function swapAndSendToFee(uint256 tokens) private  {
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(tokens);
        uint256 newBalance = (address(this).balance).sub(initialETHBalance);
        payable(_marketingWalletAddress).transfer(newBalance);
        AmountMarketingFee = AmountMarketingFee - tokens;
    }

    function swapAndSendToFeeDev(uint256 tokens) private  {
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(tokens);
        uint256 newBalance = (address(this).balance).sub(initialETHBalance);
        payable(devWallet).transfer(newBalance);
        AmountDevFee = AmountDevFee - tokens;
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, //accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "london",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"address[3]","name":"addrs","type":"address[3]"},{"internalType":"uint256[2]","name":"buyFeeSetting_","type":"uint256[2]"},{"internalType":"uint256[2]","name":"sellFeeSetting_","type":"uint256[2]"}],"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":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"accounts","type":"address[]"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeMultipleAccountsFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"inputs":[],"name":"AmountDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"AmountMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"EnemyAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isEnemy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDeadFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDeadFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"deadFee","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletTxPercent","type":"uint256"}],"name":"setMaxWalletTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"deadFee","type":"uint256"}],"name":"setSelTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"addr","type":"address"}],"name":"setdevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapManual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateUniswapV2Router","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040819052601180546001600160a01b03191661dead1790556200345638819003908190833981016040819052620000399162000a96565b8585600362000049838262000c1c565b50600462000058828262000c1c565b505050620000756200006f6200046960201b60201c565b6200046d565b602080840151600f80546001600160a01b039283166001600160a01b0319918216179091556040860151601080549190931691161790558251600981905583820151600b8190558351600a5583830151600c55601992620000e1929190620014d7620004bf821b17901c565b1115620001355760405162461bcd60e51b815260206004820152601960248201527f546f74616c2062757920666565206973206f766572203235250000000000000060448201526064015b60405180910390fd5b601962000155600c54600a54620004bf60201b620014d71790919060201c565b1115620001a55760405162461bcd60e51b815260206004820152601a60248201527f546f74616c2073656c6c20666565206973206f7665722032352500000000000060448201526064016200012c565b6000620001c56305f5e100866200052b60201b6200153d1790919060201c565b9050620001fe620186a0620001ea6002846200052b60201b6200153d1790919060201c565b620005b560201b620015bf1790919060201c565b600855620002206064620001ea8360026200052b602090811b6200153d17901c565b601355620002426064620001ea8360026200052b602090811b6200153d17901c565b60125560008481602002015190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000291573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b7919062000ce8565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032b919062000ce8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000379573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039f919062000ce8565b600680546001600160a01b038086166001600160a01b03199283161790925560078054928416929091169190911790559050620003de816001620005ff565b620003fd620003f56005546001600160a01b031690565b6001620006eb565b600f5462000416906001600160a01b03166001620006eb565b6010546200042f906001600160a01b03166001620006eb565b6200043c306001620006eb565b6200045a620004536005546001600160a01b031690565b84620007ce565b50505050505050505062000da4565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080620004ce838562000d1c565b905083811015620005225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200012c565b90505b92915050565b6000826000036200053f5750600062000525565b60006200054d838562000d32565b9050826200055c858362000d4c565b14620005225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016200012c565b60006200052283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008ca60201b60201c565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503620006975760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c7565000000000000000060648201526084016200012c565b6001600160a01b038216600081815260166020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620007475760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200012c565b6001600160a01b03821660009081526015602052604090205460ff16151581151514620007ca576001600160a01b038216600081815260156020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25b5050565b6001600160a01b038216620008265760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206361737420746f20746865207a65726f20616464726573730060448201526064016200012c565b6200084281600254620004bf60201b620014d71790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000875918390620014d7620004bf821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60008183620008ee5760405162461bcd60e51b81526004016200012c919062000d6f565b506000620008fd848662000d4c565b95945050505050565b505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156200094657620009466200090b565b60405290565b60005b83811015620009695781810151838201526020016200094f565b50506000910152565b600082601f8301126200098457600080fd5b81516001600160401b0380821115620009a157620009a16200090b565b604051601f8301601f19908116603f01168101908282118183101715620009cc57620009cc6200090b565b81604052838152866020858801011115620009e657600080fd5b620009f98460208301602089016200094c565b9695505050505050565b80516001600160a01b038116811462000a1b57600080fd5b919050565b600082601f83011262000a3257600080fd5b604080519081016001600160401b038111828210171562000a575762000a576200090b565b806040525080604084018581111562000a6f57600080fd5b845b8181101562000a8b57805183526020928301920162000a71565b509195945050505050565b600080600080600080610140878903121562000ab157600080fd5b86516001600160401b038082111562000ac957600080fd5b62000ad78a838b0162000972565b975060209150818901518181111562000aef57600080fd5b62000afd8b828c0162000972565b975050506040880151945088607f89011262000b1857600080fd5b62000b2262000921565b8060c08a018b81111562000b3557600080fd5b60608b015b8181101562000b5c5762000b4e8162000a03565b845292840192840162000b3a565b5081965062000b6c8c8262000a20565b95505050505062000b8288610100890162000a20565b90509295509295509295565b600181811c9082168062000ba357607f821691505b60208210810362000bc457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200090657600081815260208120601f850160051c8101602086101562000bf35750805b601f850160051c820191505b8181101562000c145782815560010162000bff565b505050505050565b81516001600160401b0381111562000c385762000c386200090b565b62000c508162000c49845462000b8e565b8462000bca565b602080601f83116001811462000c88576000841562000c6f5750858301515b600019600386901b1c1916600185901b17855562000c14565b600085815260208120601f198616915b8281101562000cb95788860151825594840194600190910190840162000c98565b508582101562000cd85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000cfb57600080fd5b620005228262000a03565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000525576200052562000d06565b808202811582820484141762000525576200052562000d06565b60008262000d6a57634e487b7160e01b600052601260045260246000fd5b500490565b602081526000825180602084015262000d908160408501602087016200094c565b601f01601f19169190910160400192915050565b6126a28062000db46000396000f3fe6080604052600436106102815760003560e01c80638da5cb5b1161014f578063aa797dbc116100c1578063d2a8b4401161007a578063d2a8b440146107a3578063d543dbeb146107b8578063d796ce62146107d8578063dd62ed3e146107ee578063e2f4560514610834578063f2fde38b1461084a57600080fd5b8063aa797dbc146106cd578063afa4f3b2146106fd578063b62496f51461071d578063c02466681461074d578063c492f0461461076d578063cfe0e6191461078d57600080fd5b806395f4d0881161011357806395f4d0881461060d5780639a7a23d61461062d5780639df8131f1461064d578063a457c2d71461066d578063a9059cbb1461068d578063aa35822c146106ad57600080fd5b80638da5cb5b1461058e5780638de743b3146105ac5780638ea5220f146105c257806392136913146105e257806395d89b41146105f857600080fd5b80634fbee193116101f35780637d1db4a5116101ac5780637d1db4a5146104e257806382247ec0146104f857806385141a771461050e578063869236111461052e5780638980f11f1461054e5780638af8f35e1461056e57600080fd5b80634fbee193146104085780635d098b381461044157806365b8dbc01461046157806370a0823114610481578063715018a6146104b75780637bce5a04146104cc57600080fd5b806323b872dd1161024557806323b872dd1461035657806324942a0414610376578063313ce5671461038c57806339509351146103a85780634144d9e4146103c857806349bd5a5e146103e857600080fd5b80630614117a1461028d57806306fdde03146102a4578063095ea7b3146102cf5780631694505e146102ff57806318160ddd1461033757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a261086a565b005b3480156102b057600080fd5b506102b961090f565b6040516102c69190612137565b60405180910390f35b3480156102db57600080fd5b506102ef6102ea36600461219a565b6109a1565b60405190151581526020016102c6565b34801561030b57600080fd5b5060065461031f906001600160a01b031681565b6040516001600160a01b0390911681526020016102c6565b34801561034357600080fd5b506002545b6040519081526020016102c6565b34801561036257600080fd5b506102ef6103713660046121c6565b6109b8565b34801561038257600080fd5b50610348600c5481565b34801561039857600080fd5b50604051600881526020016102c6565b3480156103b457600080fd5b506102ef6103c336600461219a565b610a21565b3480156103d457600080fd5b50600f5461031f906001600160a01b031681565b3480156103f457600080fd5b5060075461031f906001600160a01b031681565b34801561041457600080fd5b506102ef610423366004612207565b6001600160a01b031660009081526015602052604090205460ff1690565b34801561044d57600080fd5b506102a261045c366004612207565b610a57565b34801561046d57600080fd5b506102a261047c366004612207565b610aa3565b34801561048d57600080fd5b5061034861049c366004612207565b6001600160a01b031660009081526020819052604090205490565b3480156104c357600080fd5b506102a2610d0d565b3480156104d857600080fd5b5061034860095481565b3480156104ee57600080fd5b5061034860125481565b34801561050457600080fd5b5061034860135481565b34801561051a57600080fd5b5060115461031f906001600160a01b031681565b34801561053a57600080fd5b506102a2610549366004612232565b610d43565b34801561055a57600080fd5b506102a261056936600461219a565b610d98565b34801561057a57600080fd5b506102a261058936600461226b565b610e90565b34801561059a57600080fd5b506005546001600160a01b031661031f565b3480156105b857600080fd5b50610348600b5481565b3480156105ce57600080fd5b5060105461031f906001600160a01b031681565b3480156105ee57600080fd5b50610348600a5481565b34801561060457600080fd5b506102b9610edf565b34801561061957600080fd5b506102a2610628366004612207565b610eee565b34801561063957600080fd5b506102a2610648366004612232565b610f3a565b34801561065957600080fd5b506102a2610668366004612284565b611000565b34801561067957600080fd5b506102ef61068836600461219a565b61108f565b34801561069957600080fd5b506102ef6106a836600461219a565b6110de565b3480156106b957600080fd5b506102a26106c8366004612284565b6110eb565b3480156106d957600080fd5b506102ef6106e8366004612207565b60146020526000908152604090205460ff1681565b34801561070957600080fd5b506102a261071836600461226b565b61117a565b34801561072957600080fd5b506102ef610738366004612207565b60166020526000908152604090205460ff1681565b34801561075957600080fd5b506102a2610768366004612232565b6111a9565b34801561077957600080fd5b506102a26107883660046122a6565b611258565b34801561079957600080fd5b50610348600d5481565b3480156107af57600080fd5b506102a2611334565b3480156107c457600080fd5b506102a26107d336600461226b565b6113f9565b3480156107e457600080fd5b50610348600e5481565b3480156107fa57600080fd5b5061034861080936600461232c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561084057600080fd5b5061034860085481565b34801561085657600080fd5b506102a2610865366004612207565b61143c565b6005546001600160a01b0316331461089d5760405162461bcd60e51b81526004016108949061235a565b60405180910390fd5b47806108de5760405162461bcd60e51b815260206004820152601060248201526f4e6f2045544820617661696c61626c6560801b6044820152606401610894565b604051339082156108fc029083906000818181858888f1935050505015801561090b573d6000803e3d6000fd5b5050565b60606003805461091e9061238f565b80601f016020809104026020016040519081016040528092919081815260200182805461094a9061238f565b80156109975780601f1061096c57610100808354040283529160200191610997565b820191906000526020600020905b81548152906001019060200180831161097a57829003601f168201915b5050505050905090565b60006109ae338484611601565b5060015b92915050565b60006109c5848484611726565b610a178433610a1285604051806060016040528060288152602001612620602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190611c26565b611601565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109ae918590610a1290866114d7565b6005546001600160a01b03163314610a815760405162461bcd60e51b81526004016108949061235a565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610acd5760405162461bcd60e51b81526004016108949061235a565b6006546001600160a01b0390811690821603610b375760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b6064820152608401610894565b6006546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf291906123c9565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7891906123c9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce991906123c9565b600780546001600160a01b0319166001600160a01b03929092169190911790555050565b6005546001600160a01b03163314610d375760405162461bcd60e51b81526004016108949061235a565b610d416000611c60565b565b6005546001600160a01b03163314610d6d5760405162461bcd60e51b81526004016108949061235a565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610dc25760405162461bcd60e51b81526004016108949061235a565b306001600160a01b03831603610e1a5760405162461bcd60e51b815260206004820152601f60248201527f6e6f7420616c6c6f77207265636f766572696e672073656c6620746f6b656e006044820152606401610894565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b91906123e6565b505050565b6005546001600160a01b03163314610eba5760405162461bcd60e51b81526004016108949061235a565b610ed96103e8610ed383610ecd60025490565b9061153d565b906115bf565b60135550565b60606004805461091e9061238f565b6005546001600160a01b03163314610f185760405162461bcd60e51b81526004016108949061235a565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f645760405162461bcd60e51b81526004016108949061235a565b6007546001600160a01b0390811690831603610ff65760405162461bcd60e51b815260206004820152604560248201527f5468652050616e63616b655377617020706169722063616e6e6f74206265207260448201527f656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6572606482015264506169727360d81b608482015260a401610894565b61090b8282611cb2565b6005546001600160a01b0316331461102a5760405162461bcd60e51b81526004016108949061235a565b601961103683836114d7565b11156110845760405162461bcd60e51b815260206004820152601960248201527f546f74616c2073656c20666565206973206f76657220323525000000000000006044820152606401610894565b600a91909155600c55565b60006109ae3384610a1285604051806060016040528060258152602001612648602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190611c26565b60006109ae338484611726565b6005546001600160a01b031633146111155760405162461bcd60e51b81526004016108949061235a565b601961112183836114d7565b111561116f5760405162461bcd60e51b815260206004820152601960248201527f546f74616c2062757920666565206973206f76657220323525000000000000006044820152606401610894565b600991909155600b55565b6005546001600160a01b031633146111a45760405162461bcd60e51b81526004016108949061235a565b600855565b6005546001600160a01b031633146111d35760405162461bcd60e51b81526004016108949061235a565b6001600160a01b03821660009081526015602052604090205460ff1615158115151461090b576001600160a01b038216600081815260156020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146112825760405162461bcd60e51b81526004016108949061235a565b60005b828110156112f35781601560008686858181106112a4576112a4612403565b90506020020160208101906112b99190612207565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806112eb8161242f565b915050611285565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b3583838360405161132793929190612448565b60405180910390a1505050565b6005546001600160a01b0316331461135e5760405162461bcd60e51b81526004016108949061235a565b30600090815260208190526040902054806113b05760405162461bcd60e51b8152602060048201526012602482015271746f6b656e2062616c616e6365207a65726f60701b6044820152606401610894565b6007805460ff60a01b1916600160a01b179055600d54156113d6576113d6600d54611d9c565b600e54156113e9576113e9600e54611e04565b506007805460ff60a01b19169055565b6005546001600160a01b031633146114235760405162461bcd60e51b81526004016108949061235a565b6114366103e8610ed383610ecd60025490565b60125550565b6005546001600160a01b031633146114665760405162461bcd60e51b81526004016108949061235a565b6001600160a01b0381166114cb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610894565b6114d481611c60565b50565b6000806114e483856124a1565b9050838110156115365760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610894565b9392505050565b60008260000361154f575060006109b2565b600061155b83856124b4565b90508261156885836124cb565b146115365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610894565b600061153683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e6c565b6001600160a01b0383166116635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610894565b6001600160a01b0382166116c45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610894565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661174c5760405162461bcd60e51b8152600401610894906124ed565b6001600160a01b0382166117725760405162461bcd60e51b815260040161089490612532565b6001600160a01b03831660009081526014602052604090205460ff161580156117b457506001600160a01b03821660009081526014602052604090205460ff16155b6117f05760405162461bcd60e51b815260206004820152600d60248201526c456e656d79206164647265737360981b6044820152606401610894565b6005546001600160a01b0384811691161480159061181c57506005546001600160a01b03838116911614155b15611884576012548111156118845760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610894565b6005546001600160a01b038481169116148015906118b057506005546001600160a01b03838116911614155b80156118ca57506007546001600160a01b03838116911614155b80156118e457506010546001600160a01b03838116911614155b80156118fe57506011546001600160a01b03838116911614155b15611982576013546001600160a01b03831660009081526020819052604090205411156119825760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b6064820152608401610894565b8060000361199657610e8b83836000611e9a565b30600090815260208190526040902054600854811080159081906119c45750600754600160a01b900460ff16155b80156119e957506001600160a01b03851660009081526016602052604090205460ff16155b8015611a0357506005546001600160a01b03868116911614155b8015611a1d57506005546001600160a01b03858116911614155b15611a69576007805460ff60a01b1916600160a01b179055600d5415611a4857611a48600d54611d9c565b600e5415611a5b57611a5b600e54611e04565b6007805460ff60a01b191690555b6007546001600160a01b03861660009081526015602052604090205460ff600160a01b909204821615911680611ab757506001600160a01b03851660009081526015602052604090205460ff165b15611ac0575060005b8015611c13576001600160a01b0386166000908152601660205260408120548190819060ff1615611b6157611b056064610ed36009548a61153d90919063ffffffff16565b9150611b216064610ed3600b548a61153d90919063ffffffff16565b905081600d6000828254611b3591906124a1565b9250508190555080600e6000828254611b4e91906124a1565b90915550611b5e905082826114d7565b92505b6001600160a01b03881660009081526016602052604090205460ff1615611bf857611b9c6064610ed3600a548a61153d90919063ffffffff16565b9150611bb86064610ed3600c548a61153d90919063ffffffff16565b905081600d6000828254611bcc91906124a1565b9250508190555080600e6000828254611be591906124a1565b90915550611bf5905082826114d7565b92505b611c028784611fa3565b9650611c0f893085611e9a565b5050505b611c1e868686611e9a565b505050505050565b60008184841115611c4a5760405162461bcd60e51b81526004016108949190612137565b506000611c578486612575565b95945050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503611d485760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c756500000000000000006064820152608401610894565b6001600160a01b038216600081815260166020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b47611da682611fe5565b6000611db24783611fa3565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611ded573d6000803e3d6000fd5b5082600d54611dfc9190612575565b600d55505050565b47611e0e82611fe5565b6000611e1a4783611fa3565b6010546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e55573d6000803e3d6000fd5b5082600e54611e649190612575565b600e55505050565b60008183611e8d5760405162461bcd60e51b81526004016108949190612137565b506000611c5784866124cb565b6001600160a01b038316611ec05760405162461bcd60e51b8152600401610894906124ed565b6001600160a01b038216611ee65760405162461bcd60e51b815260040161089490612532565b611f23816040518060600160405280602681526020016125fa602691396001600160a01b0386166000908152602081905260409020549190611c26565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611f5290826114d7565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611719565b600061153683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c26565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061201a5761201a612403565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612073573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209791906123c9565b816001815181106120aa576120aa612403565b6001600160a01b0392831660209182029290920101526006546120d09130911684611601565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612109908590600090869030904290600401612588565b600060405180830381600087803b15801561212357600080fd5b505af1158015611c1e573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561216457858101830151858201604001528201612148565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114d457600080fd5b600080604083850312156121ad57600080fd5b82356121b881612185565b946020939093013593505050565b6000806000606084860312156121db57600080fd5b83356121e681612185565b925060208401356121f681612185565b929592945050506040919091013590565b60006020828403121561221957600080fd5b813561153681612185565b80151581146114d457600080fd5b6000806040838503121561224557600080fd5b823561225081612185565b9150602083013561226081612224565b809150509250929050565b60006020828403121561227d57600080fd5b5035919050565b6000806040838503121561229757600080fd5b50508035926020909101359150565b6000806000604084860312156122bb57600080fd5b833567ffffffffffffffff808211156122d357600080fd5b818601915086601f8301126122e757600080fd5b8135818111156122f657600080fd5b8760208260051b850101111561230b57600080fd5b6020928301955093505084013561232181612224565b809150509250925092565b6000806040838503121561233f57600080fd5b823561234a81612185565b9150602083013561226081612185565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806123a357607f821691505b6020821081036123c357634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156123db57600080fd5b815161153681612185565b6000602082840312156123f857600080fd5b815161153681612224565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161244157612441612419565b5060010190565b6040808252810183905260008460608301825b8681101561248b57823561246e81612185565b6001600160a01b031682526020928301929091019060010161245b565b5080925050508215156020830152949350505050565b808201808211156109b2576109b2612419565b80820281158282048414176109b2576109b2612419565b6000826124e857634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156109b2576109b2612419565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125d85784516001600160a01b0316835293830193918301916001016125b3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f3d0df27a194d3e73e7eda45c471dfc02d708b91bb9995f852c5947df443f20364736f6c63430008110033000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000052d73e4b0e0f89e880ea7c6426a04bd6aceb9e9e000000000000000000000000f34856472e004e6812d134dfc4d575dcd2475026000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000054e616e756b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034e554b0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102815760003560e01c80638da5cb5b1161014f578063aa797dbc116100c1578063d2a8b4401161007a578063d2a8b440146107a3578063d543dbeb146107b8578063d796ce62146107d8578063dd62ed3e146107ee578063e2f4560514610834578063f2fde38b1461084a57600080fd5b8063aa797dbc146106cd578063afa4f3b2146106fd578063b62496f51461071d578063c02466681461074d578063c492f0461461076d578063cfe0e6191461078d57600080fd5b806395f4d0881161011357806395f4d0881461060d5780639a7a23d61461062d5780639df8131f1461064d578063a457c2d71461066d578063a9059cbb1461068d578063aa35822c146106ad57600080fd5b80638da5cb5b1461058e5780638de743b3146105ac5780638ea5220f146105c257806392136913146105e257806395d89b41146105f857600080fd5b80634fbee193116101f35780637d1db4a5116101ac5780637d1db4a5146104e257806382247ec0146104f857806385141a771461050e578063869236111461052e5780638980f11f1461054e5780638af8f35e1461056e57600080fd5b80634fbee193146104085780635d098b381461044157806365b8dbc01461046157806370a0823114610481578063715018a6146104b75780637bce5a04146104cc57600080fd5b806323b872dd1161024557806323b872dd1461035657806324942a0414610376578063313ce5671461038c57806339509351146103a85780634144d9e4146103c857806349bd5a5e146103e857600080fd5b80630614117a1461028d57806306fdde03146102a4578063095ea7b3146102cf5780631694505e146102ff57806318160ddd1461033757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102a261086a565b005b3480156102b057600080fd5b506102b961090f565b6040516102c69190612137565b60405180910390f35b3480156102db57600080fd5b506102ef6102ea36600461219a565b6109a1565b60405190151581526020016102c6565b34801561030b57600080fd5b5060065461031f906001600160a01b031681565b6040516001600160a01b0390911681526020016102c6565b34801561034357600080fd5b506002545b6040519081526020016102c6565b34801561036257600080fd5b506102ef6103713660046121c6565b6109b8565b34801561038257600080fd5b50610348600c5481565b34801561039857600080fd5b50604051600881526020016102c6565b3480156103b457600080fd5b506102ef6103c336600461219a565b610a21565b3480156103d457600080fd5b50600f5461031f906001600160a01b031681565b3480156103f457600080fd5b5060075461031f906001600160a01b031681565b34801561041457600080fd5b506102ef610423366004612207565b6001600160a01b031660009081526015602052604090205460ff1690565b34801561044d57600080fd5b506102a261045c366004612207565b610a57565b34801561046d57600080fd5b506102a261047c366004612207565b610aa3565b34801561048d57600080fd5b5061034861049c366004612207565b6001600160a01b031660009081526020819052604090205490565b3480156104c357600080fd5b506102a2610d0d565b3480156104d857600080fd5b5061034860095481565b3480156104ee57600080fd5b5061034860125481565b34801561050457600080fd5b5061034860135481565b34801561051a57600080fd5b5060115461031f906001600160a01b031681565b34801561053a57600080fd5b506102a2610549366004612232565b610d43565b34801561055a57600080fd5b506102a261056936600461219a565b610d98565b34801561057a57600080fd5b506102a261058936600461226b565b610e90565b34801561059a57600080fd5b506005546001600160a01b031661031f565b3480156105b857600080fd5b50610348600b5481565b3480156105ce57600080fd5b5060105461031f906001600160a01b031681565b3480156105ee57600080fd5b50610348600a5481565b34801561060457600080fd5b506102b9610edf565b34801561061957600080fd5b506102a2610628366004612207565b610eee565b34801561063957600080fd5b506102a2610648366004612232565b610f3a565b34801561065957600080fd5b506102a2610668366004612284565b611000565b34801561067957600080fd5b506102ef61068836600461219a565b61108f565b34801561069957600080fd5b506102ef6106a836600461219a565b6110de565b3480156106b957600080fd5b506102a26106c8366004612284565b6110eb565b3480156106d957600080fd5b506102ef6106e8366004612207565b60146020526000908152604090205460ff1681565b34801561070957600080fd5b506102a261071836600461226b565b61117a565b34801561072957600080fd5b506102ef610738366004612207565b60166020526000908152604090205460ff1681565b34801561075957600080fd5b506102a2610768366004612232565b6111a9565b34801561077957600080fd5b506102a26107883660046122a6565b611258565b34801561079957600080fd5b50610348600d5481565b3480156107af57600080fd5b506102a2611334565b3480156107c457600080fd5b506102a26107d336600461226b565b6113f9565b3480156107e457600080fd5b50610348600e5481565b3480156107fa57600080fd5b5061034861080936600461232c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561084057600080fd5b5061034860085481565b34801561085657600080fd5b506102a2610865366004612207565b61143c565b6005546001600160a01b0316331461089d5760405162461bcd60e51b81526004016108949061235a565b60405180910390fd5b47806108de5760405162461bcd60e51b815260206004820152601060248201526f4e6f2045544820617661696c61626c6560801b6044820152606401610894565b604051339082156108fc029083906000818181858888f1935050505015801561090b573d6000803e3d6000fd5b5050565b60606003805461091e9061238f565b80601f016020809104026020016040519081016040528092919081815260200182805461094a9061238f565b80156109975780601f1061096c57610100808354040283529160200191610997565b820191906000526020600020905b81548152906001019060200180831161097a57829003601f168201915b5050505050905090565b60006109ae338484611601565b5060015b92915050565b60006109c5848484611726565b610a178433610a1285604051806060016040528060288152602001612620602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190611c26565b611601565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109ae918590610a1290866114d7565b6005546001600160a01b03163314610a815760405162461bcd60e51b81526004016108949061235a565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610acd5760405162461bcd60e51b81526004016108949061235a565b6006546001600160a01b0390811690821603610b375760405162461bcd60e51b815260206004820152602360248201527f54686520726f7574657220616c7265616479206861732074686174206164647260448201526265737360e81b6064820152608401610894565b6006546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf291906123c9565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7891906123c9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce991906123c9565b600780546001600160a01b0319166001600160a01b03929092169190911790555050565b6005546001600160a01b03163314610d375760405162461bcd60e51b81526004016108949061235a565b610d416000611c60565b565b6005546001600160a01b03163314610d6d5760405162461bcd60e51b81526004016108949061235a565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610dc25760405162461bcd60e51b81526004016108949061235a565b306001600160a01b03831603610e1a5760405162461bcd60e51b815260206004820152601f60248201527f6e6f7420616c6c6f77207265636f766572696e672073656c6620746f6b656e006044820152606401610894565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b91906123e6565b505050565b6005546001600160a01b03163314610eba5760405162461bcd60e51b81526004016108949061235a565b610ed96103e8610ed383610ecd60025490565b9061153d565b906115bf565b60135550565b60606004805461091e9061238f565b6005546001600160a01b03163314610f185760405162461bcd60e51b81526004016108949061235a565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f645760405162461bcd60e51b81526004016108949061235a565b6007546001600160a01b0390811690831603610ff65760405162461bcd60e51b815260206004820152604560248201527f5468652050616e63616b655377617020706169722063616e6e6f74206265207260448201527f656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6572606482015264506169727360d81b608482015260a401610894565b61090b8282611cb2565b6005546001600160a01b0316331461102a5760405162461bcd60e51b81526004016108949061235a565b601961103683836114d7565b11156110845760405162461bcd60e51b815260206004820152601960248201527f546f74616c2073656c20666565206973206f76657220323525000000000000006044820152606401610894565b600a91909155600c55565b60006109ae3384610a1285604051806060016040528060258152602001612648602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190611c26565b60006109ae338484611726565b6005546001600160a01b031633146111155760405162461bcd60e51b81526004016108949061235a565b601961112183836114d7565b111561116f5760405162461bcd60e51b815260206004820152601960248201527f546f74616c2062757920666565206973206f76657220323525000000000000006044820152606401610894565b600991909155600b55565b6005546001600160a01b031633146111a45760405162461bcd60e51b81526004016108949061235a565b600855565b6005546001600160a01b031633146111d35760405162461bcd60e51b81526004016108949061235a565b6001600160a01b03821660009081526015602052604090205460ff1615158115151461090b576001600160a01b038216600081815260156020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146112825760405162461bcd60e51b81526004016108949061235a565b60005b828110156112f35781601560008686858181106112a4576112a4612403565b90506020020160208101906112b99190612207565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806112eb8161242f565b915050611285565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b3583838360405161132793929190612448565b60405180910390a1505050565b6005546001600160a01b0316331461135e5760405162461bcd60e51b81526004016108949061235a565b30600090815260208190526040902054806113b05760405162461bcd60e51b8152602060048201526012602482015271746f6b656e2062616c616e6365207a65726f60701b6044820152606401610894565b6007805460ff60a01b1916600160a01b179055600d54156113d6576113d6600d54611d9c565b600e54156113e9576113e9600e54611e04565b506007805460ff60a01b19169055565b6005546001600160a01b031633146114235760405162461bcd60e51b81526004016108949061235a565b6114366103e8610ed383610ecd60025490565b60125550565b6005546001600160a01b031633146114665760405162461bcd60e51b81526004016108949061235a565b6001600160a01b0381166114cb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610894565b6114d481611c60565b50565b6000806114e483856124a1565b9050838110156115365760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610894565b9392505050565b60008260000361154f575060006109b2565b600061155b83856124b4565b90508261156885836124cb565b146115365760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610894565b600061153683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e6c565b6001600160a01b0383166116635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610894565b6001600160a01b0382166116c45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610894565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661174c5760405162461bcd60e51b8152600401610894906124ed565b6001600160a01b0382166117725760405162461bcd60e51b815260040161089490612532565b6001600160a01b03831660009081526014602052604090205460ff161580156117b457506001600160a01b03821660009081526014602052604090205460ff16155b6117f05760405162461bcd60e51b815260206004820152600d60248201526c456e656d79206164647265737360981b6044820152606401610894565b6005546001600160a01b0384811691161480159061181c57506005546001600160a01b03838116911614155b15611884576012548111156118845760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610894565b6005546001600160a01b038481169116148015906118b057506005546001600160a01b03838116911614155b80156118ca57506007546001600160a01b03838116911614155b80156118e457506010546001600160a01b03838116911614155b80156118fe57506011546001600160a01b03838116911614155b15611982576013546001600160a01b03831660009081526020819052604090205411156119825760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b6064820152608401610894565b8060000361199657610e8b83836000611e9a565b30600090815260208190526040902054600854811080159081906119c45750600754600160a01b900460ff16155b80156119e957506001600160a01b03851660009081526016602052604090205460ff16155b8015611a0357506005546001600160a01b03868116911614155b8015611a1d57506005546001600160a01b03858116911614155b15611a69576007805460ff60a01b1916600160a01b179055600d5415611a4857611a48600d54611d9c565b600e5415611a5b57611a5b600e54611e04565b6007805460ff60a01b191690555b6007546001600160a01b03861660009081526015602052604090205460ff600160a01b909204821615911680611ab757506001600160a01b03851660009081526015602052604090205460ff165b15611ac0575060005b8015611c13576001600160a01b0386166000908152601660205260408120548190819060ff1615611b6157611b056064610ed36009548a61153d90919063ffffffff16565b9150611b216064610ed3600b548a61153d90919063ffffffff16565b905081600d6000828254611b3591906124a1565b9250508190555080600e6000828254611b4e91906124a1565b90915550611b5e905082826114d7565b92505b6001600160a01b03881660009081526016602052604090205460ff1615611bf857611b9c6064610ed3600a548a61153d90919063ffffffff16565b9150611bb86064610ed3600c548a61153d90919063ffffffff16565b905081600d6000828254611bcc91906124a1565b9250508190555080600e6000828254611be591906124a1565b90915550611bf5905082826114d7565b92505b611c028784611fa3565b9650611c0f893085611e9a565b5050505b611c1e868686611e9a565b505050505050565b60008184841115611c4a5760405162461bcd60e51b81526004016108949190612137565b506000611c578486612575565b95945050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503611d485760405162461bcd60e51b815260206004820152603860248201527f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160448201527f6c72656164792073657420746f20746861742076616c756500000000000000006064820152608401610894565b6001600160a01b038216600081815260166020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b47611da682611fe5565b6000611db24783611fa3565b600f546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611ded573d6000803e3d6000fd5b5082600d54611dfc9190612575565b600d55505050565b47611e0e82611fe5565b6000611e1a4783611fa3565b6010546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611e55573d6000803e3d6000fd5b5082600e54611e649190612575565b600e55505050565b60008183611e8d5760405162461bcd60e51b81526004016108949190612137565b506000611c5784866124cb565b6001600160a01b038316611ec05760405162461bcd60e51b8152600401610894906124ed565b6001600160a01b038216611ee65760405162461bcd60e51b815260040161089490612532565b611f23816040518060600160405280602681526020016125fa602691396001600160a01b0386166000908152602081905260409020549190611c26565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611f5290826114d7565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611719565b600061153683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c26565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061201a5761201a612403565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612073573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209791906123c9565b816001815181106120aa576120aa612403565b6001600160a01b0392831660209182029290920101526006546120d09130911684611601565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790612109908590600090869030904290600401612588565b600060405180830381600087803b15801561212357600080fd5b505af1158015611c1e573d6000803e3d6000fd5b600060208083528351808285015260005b8181101561216457858101830151858201604001528201612148565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114d457600080fd5b600080604083850312156121ad57600080fd5b82356121b881612185565b946020939093013593505050565b6000806000606084860312156121db57600080fd5b83356121e681612185565b925060208401356121f681612185565b929592945050506040919091013590565b60006020828403121561221957600080fd5b813561153681612185565b80151581146114d457600080fd5b6000806040838503121561224557600080fd5b823561225081612185565b9150602083013561226081612224565b809150509250929050565b60006020828403121561227d57600080fd5b5035919050565b6000806040838503121561229757600080fd5b50508035926020909101359150565b6000806000604084860312156122bb57600080fd5b833567ffffffffffffffff808211156122d357600080fd5b818601915086601f8301126122e757600080fd5b8135818111156122f657600080fd5b8760208260051b850101111561230b57600080fd5b6020928301955093505084013561232181612224565b809150509250925092565b6000806040838503121561233f57600080fd5b823561234a81612185565b9150602083013561226081612185565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806123a357607f821691505b6020821081036123c357634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156123db57600080fd5b815161153681612185565b6000602082840312156123f857600080fd5b815161153681612224565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161244157612441612419565b5060010190565b6040808252810183905260008460608301825b8681101561248b57823561246e81612185565b6001600160a01b031682526020928301929091019060010161245b565b5080925050508215156020830152949350505050565b808201808211156109b2576109b2612419565b80820281158282048414176109b2576109b2612419565b6000826124e857634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156109b2576109b2612419565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125d85784516001600160a01b0316835293830193918301916001016125b3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f3d0df27a194d3e73e7eda45c471dfc02d708b91bb9995f852c5947df443f20364736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000052d73e4b0e0f89e880ea7c6426a04bd6aceb9e9e000000000000000000000000f34856472e004e6812d134dfc4d575dcd2475026000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000054e616e756b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034e554b0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Nanuk
Arg [1] : symbol_ (string): NUK
Arg [2] : totalSupply_ (uint256): 100000000
Arg [3] : addrs (address[3]): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,0x52d73E4B0E0f89e880ea7c6426a04BD6aCEB9E9E,0xF34856472E004E6812D134dfC4D575dcd2475026
Arg [4] : buyFeeSetting_ (uint256[2]): 15,10
Arg [5] : sellFeeSetting_ (uint256[2]): 15,10

-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [4] : 00000000000000000000000052d73e4b0e0f89e880ea7c6426a04bd6aceb9e9e
Arg [5] : 000000000000000000000000f34856472e004e6812d134dfc4d575dcd2475026
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [8] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [9] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [11] : 4e616e756b000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [13] : 4e554b0000000000000000000000000000000000000000000000000000000000


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.