Token

Boom Hoodie Derp Club (BOOM)

Overview

Max Total Supply

2,260,000 BOOM

Holders

93

Total Transfers

-

Market

Price

-

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
DerpTraitAirdropToken

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2024-12-20
*/

// SPDX-License-Identifier: MIT
/*
This is an experimental token.

1/3 of the supply is distributed to the owners of Derps with the Boom Hoodie Fit
1/3 of the supply is available for purchase through the contract
1/3 of the supply will be paired with funds accumulated through the buyBOOM function 
*/
pragma solidity ^0.8.0;

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

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

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

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

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

        return true;
    }

    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");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

        _beforeTokenTransfer(address(0), account, amount);

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

        _afterTokenTransfer(address(0), account, amount);
    }

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

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

interface IERC165 {
    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface IERC721 is IERC165 {
    /**
     * @dev Emitted when `tokenId` token is transferred from `from` to `to`.
     */
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
     */
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

    /**
     * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
     */
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    /**
     * @dev Returns the number of tokens in ``owner``'s account.
     */
    function balanceOf(address owner) external view returns (uint256 balance);

    /**
     * @dev Returns the owner of the `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function ownerOf(uint256 tokenId) external view returns (address owner);

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
     * are aware of the ERC721 protocol to prevent tokens from being forever locked.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    /**
     * @dev Transfers `tokenId` token from `from` to `to`.
     *
     * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    /**
     * @dev Gives permission to `to` to transfer `tokenId` token to another account.
     * The approval is cleared when the token is transferred.
     *
     * Only a single account can be approved at a time, so approving the zero address clears previous approvals.
     *
     * Requirements:
     *
     * - The caller must own the token or be an approved operator.
     * - `tokenId` must exist.
     *
     * Emits an {Approval} event.
     */
    function approve(address to, uint256 tokenId) external;

    /**
     * @dev Returns the account approved for `tokenId` token.
     *
     * Requirements:
     *
     * - `tokenId` must exist.
     */
    function getApproved(uint256 tokenId) external view returns (address operator);

    /**
     * @dev Approve or remove `operator` as an operator for the caller.
     * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
     *
     * Requirements:
     *
     * - The `operator` cannot be the caller.
     *
     * Emits an {ApprovalForAll} event.
     */
    function setApprovalForAll(address operator, bool _approved) external;

    /**
     * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
     *
     * See {setApprovalForAll}
     */
    function isApprovedForAll(address owner, address operator) external view returns (bool);

    /**
     * @dev Safely transfers `tokenId` token from `from` to `to`.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `tokenId` token must exist and be owned by `from`.
     * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
     * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
     *
     * Emits a {Transfer} event.
     */
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
}

contract DerpTraitAirdropToken is ERC20 {
    uint256 claimAmount = 10000e18;
    uint256 totalClaimable = 113 * claimAmount;
    constructor () ERC20("Boom Hoodie Derp Club", "BOOM") {   
        _mint(0xA37782922918d2558c2E4841Ef48585fEDcbC7FF, totalClaimable);
    }
    uint256[113] getters = [18,
19,
104,
103,
128,
141,
190,
189,
202,
210,
239,
243,
263,
225,
303,
309,
317,
335,
340,
370,
389,
400,
416,
418,
449,
444,
488,
556,
560,
566,
600,
613,
624,
628,
652,
680,
733,
737,
761,
776,
802,
809,
819,
847,
870,
879,
877,
892,
920,
954,
965,
966,
981,
988,
1018,
1051,
1079,
1089,
1116,
1128,
1124,
1147,
1224,
1233,
1176,
1166,
1302,
1289,
1231,
1261,
1299,
1342,
1361,
1380,
1372,
1433,
1438,
1471,
1463,
1480,
1537,
1535,
1538,
1555,
1563,
1572,
1592,
1609,
1616,
1641,
1658,
1662,
1667,
1671,
1701,
1717,
1792,
1816,
1828,
1889,
1908,
1906,
1928,
1930,
1934,
1943,
1929,
1952,
1955,
1958,
1987,
1980,
1993];

    address derp = 0x8500d84b203775FC8B418148223872b35c43B050;

    mapping (uint256 => bool) claimedById;

    function airdrop(uint256 index) public {
        require(!claimedById[getters[index]], "already claimed");
        _mint(IERC721(derp).ownerOf(getters[index]), claimAmount);
        claimedById[getters[index]] = true;
    }

    function airdropRange(uint256 start, uint256 end) public {
        for (uint256 i = start; i < end + 1; i++) {
            airdrop(i);
        }
    }
    
    function airdropRemaining () public {
        for (uint256 i = 0; i < getters.length; i++) {
            airdrop(i);
        }
    }
}

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":"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":"uint256","name":"index","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"airdropRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"airdropRemaining","outputs":[],"stateMutability":"nonpayable","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":"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"}]

608060405269021e19e0c9bab2400000600581905561001f906071610644565b60065560408051610e2081018252601281526013602082015260689181019190915260676060820152608080820152608d60a082015260be60c082015260bd60e082015260ca61010082015260d261012082015260ef61014082015260f361016082015261010761018082015260e16101a08083019190915261012f6101c08301526101356101e083015261013d61020083015261014f6102208301526101546102408301526101726102608301526101856102808301526101906102a08301526102c08201526101a26102e08201526101c16103008201526101bc6103208201526101e861034082015261022c6103608201526102306103808201526102366103a08201526102586103c08201526102656103e082015261027061040082015261027461042082015261028c6104408201526102a86104608201526102dd6104808201526102e16104a08201526102f96104c08201526103086104e082015261032261050082015261032961052082015261033361054082015261034f61056082015261036661058082015261036f6105a082015261036d6105c082015261037c6105e08201526103986106008201526103ba6106208201526103c56106408201526103c66106608201526103d56106808201526103dc6106a08201526103fa6106c082015261041b6106e08201526104376107008083019190915261044161072083015261045c61074083015261046861076083015261046461078083015261047b6107a0808401919091526104c86107c08401526104d16107e084015261049861080084015261048e6108208401526105166108408401526105096108608401526104cf6108808401526104ed6108a08401526105136108c084015261053e6108e084015261055161090084015261056461092084015261055c61094084015261059961096084015261059e6109808401526105bf6109a08401526105b76109c08401526105c86109e0840152610601610a008401526105ff610a20840152610602610a40840152610613610a6084015261061b610a80840152610624610aa0840152610638610ac0840152610649610ae0840152610650610b00840152610669610b2084015261067a610b4084015261067e610b60840152610683610b80840152610687610ba08401526106a5610bc08401526106b5610be0840152610c00830191909152610718610c20830152610724610c40830152610761610c60830152610774610c80830152610772610ca0830152610788610cc083015261078a610ce083015261078e610d00830152610797610d20830152610789610d40830152610d608201526107a3610d808201526107a6610da08201526107c3610dc08201526107bc610de08201526107c9610e008201526104239060079060716105d8565b50607880546001600160a01b031916738500d84b203775fc8b418148223872b35c43b050179055348015610455575f5ffd5b506040518060400160405280601581526020017f426f6f6d20486f6f646965204465727020436c7562000000000000000000000081525060405180604001604052806004815260200163424f4f4d60e01b81525081600390816104b891906106f8565b5060046104c582826106f8565b5050506104ee73a37782922918d2558c2e4841ef48585fedcbc7ff6006546104f360201b60201c565b6107c5565b6001600160a01b03821661054d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f82825461055e91906107b2565b90915550506001600160a01b0382165f908152602081905260408120805483929061058a9084906107b2565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b826071810192821561060c579160200282015b8281111561060c578251829061ffff169055916020019190600101906105eb565b5061061892915061061c565b5090565b5b80821115610618575f815560010161061d565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761065b5761065b610630565b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061068957607f821691505b6020821081036106a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105d357805f5260205f20601f840160051c810160208510156106d25750805b601f840160051c820191505b818110156106f1575f81556001016106de565b5050505050565b81516001600160401b0381111561071157610711610661565b6107258161071f8454610675565b846106ad565b6020601f821160018114610757575f83156107405750848201515b5f19600385901b1c1916600184901b1784556106f1565b5f84815260208120601f198516915b828110156107865787850151825560209485019460019092019101610766565b50848210156107a357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561065b5761065b610630565b610ed6806107d25f395ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063837af7351161008857806397dc4a131161006357806397dc4a13146101cb578063a457c2d7146101de578063a9059cbb146101f1578063dd62ed3e14610204575f5ffd5b8063837af735146101a657806384400585146101bb57806395d89b41146101c3575f5ffd5b806323b872dd116100c357806323b872dd1461013c578063313ce5671461014f578063395093511461015e57806370a0823114610171575f5ffd5b806306fdde03146100e9578063095ea7b31461010757806318160ddd1461012a575b5f5ffd5b6100f1610249565b6040516100fe9190610c63565b60405180910390f35b61011a610115366004610cd7565b6102d9565b60405190151581526020016100fe565b6002545b6040519081526020016100fe565b61011a61014a366004610d01565b6102ef565b604051601281526020016100fe565b61011a61016c366004610cd7565b6103d8565b61012e61017f366004610d3f565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6101b96101b4366004610d61565b610420565b005b6101b961044a565b6100f1610469565b6101b96101d9366004610d81565b610478565b61011a6101ec366004610cd7565b6105ff565b61011a6101ff366004610cd7565b6106d6565b61012e610212366004610d98565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b60606003805461025890610dcf565b80601f016020809104026020016040519081016040528092919081815260200182805461028490610dcf565b80156102cf5780601f106102a6576101008083540402835291602001916102cf565b820191905f5260205f20905b8154815290600101906020018083116102b257829003601f168201915b5050505050905090565b5f6102e53384846106e2565b5060015b92915050565b5f6102fb848484610894565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160209081526040808320338452909152902054828110156103c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103cd85338584036106e2565b506001949350505050565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102e591859061041b908690610e20565b6106e2565b815b61042d826001610e20565b8110156104455761043d81610478565b600101610422565b505050565b5f5b60718110156104665761045e81610478565b60010161044c565b50565b60606004805461025890610dcf565b60795f6007836071811061048e5761048e610e58565b0154815260208101919091526040015f205460ff161561050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f616c726561647920636c61696d6564000000000000000000000000000000000060448201526064016103b7565b6078546105a69073ffffffffffffffffffffffffffffffffffffffff16636352211e6007846071811061053f5761053f610e58565b01546040518263ffffffff1660e01b815260040161055f91815260200190565b602060405180830381865afa15801561057a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059e9190610e85565b600554610b46565b600160795f600784607181106105be576105be610e58565b0154815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550565b335f90815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156106bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103b7565b6106cc33858584036106e2565b5060019392505050565b5f6102e5338484610894565b73ffffffffffffffffffffffffffffffffffffffff8316610784576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff8216610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff82166109da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020819052604090205481811015610a8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260208190526040808220858503905591851681529081208054849290610ad2908490610e20565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b3891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610bc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103b7565b8060025f828254610bd49190610e20565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604081208054839290610c0d908490610e20565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610466575f5ffd5b5f5f60408385031215610ce8575f5ffd5b8235610cf381610cb6565b946020939093013593505050565b5f5f5f60608486031215610d13575f5ffd5b8335610d1e81610cb6565b92506020840135610d2e81610cb6565b929592945050506040919091013590565b5f60208284031215610d4f575f5ffd5b8135610d5a81610cb6565b9392505050565b5f5f60408385031215610d72575f5ffd5b50508035926020909101359150565b5f60208284031215610d91575f5ffd5b5035919050565b5f5f60408385031215610da9575f5ffd5b8235610db481610cb6565b91506020830135610dc481610cb6565b809150509250929050565b600181811c90821680610de357607f821691505b602082108103610e1a577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b808201808211156102e9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610e95575f5ffd5b8151610d5a81610cb656fea264697066735822122065db01d8366b12b90c26015c7544c9317e49cb8d9147d3457e8cff4aa8212fc664736f6c634300081c0033

Deployed Bytecode

0x608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063837af7351161008857806397dc4a131161006357806397dc4a13146101cb578063a457c2d7146101de578063a9059cbb146101f1578063dd62ed3e14610204575f5ffd5b8063837af735146101a657806384400585146101bb57806395d89b41146101c3575f5ffd5b806323b872dd116100c357806323b872dd1461013c578063313ce5671461014f578063395093511461015e57806370a0823114610171575f5ffd5b806306fdde03146100e9578063095ea7b31461010757806318160ddd1461012a575b5f5ffd5b6100f1610249565b6040516100fe9190610c63565b60405180910390f35b61011a610115366004610cd7565b6102d9565b60405190151581526020016100fe565b6002545b6040519081526020016100fe565b61011a61014a366004610d01565b6102ef565b604051601281526020016100fe565b61011a61016c366004610cd7565b6103d8565b61012e61017f366004610d3f565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6101b96101b4366004610d61565b610420565b005b6101b961044a565b6100f1610469565b6101b96101d9366004610d81565b610478565b61011a6101ec366004610cd7565b6105ff565b61011a6101ff366004610cd7565b6106d6565b61012e610212366004610d98565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b60606003805461025890610dcf565b80601f016020809104026020016040519081016040528092919081815260200182805461028490610dcf565b80156102cf5780601f106102a6576101008083540402835291602001916102cf565b820191905f5260205f20905b8154815290600101906020018083116102b257829003601f168201915b5050505050905090565b5f6102e53384846106e2565b5060015b92915050565b5f6102fb848484610894565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160209081526040808320338452909152902054828110156103c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103cd85338584036106e2565b506001949350505050565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916102e591859061041b908690610e20565b6106e2565b815b61042d826001610e20565b8110156104455761043d81610478565b600101610422565b505050565b5f5b60718110156104665761045e81610478565b60010161044c565b50565b60606004805461025890610dcf565b60795f6007836071811061048e5761048e610e58565b0154815260208101919091526040015f205460ff161561050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f616c726561647920636c61696d6564000000000000000000000000000000000060448201526064016103b7565b6078546105a69073ffffffffffffffffffffffffffffffffffffffff16636352211e6007846071811061053f5761053f610e58565b01546040518263ffffffff1660e01b815260040161055f91815260200190565b602060405180830381865afa15801561057a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059e9190610e85565b600554610b46565b600160795f600784607181106105be576105be610e58565b0154815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550565b335f90815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156106bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103b7565b6106cc33858584036106e2565b5060019392505050565b5f6102e5338484610894565b73ffffffffffffffffffffffffffffffffffffffff8316610784576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff8216610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff82166109da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020819052604090205481811015610a8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103b7565b73ffffffffffffffffffffffffffffffffffffffff8085165f90815260208190526040808220858503905591851681529081208054849290610ad2908490610e20565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b3891815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610bc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103b7565b8060025f828254610bd49190610e20565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604081208054839290610c0d908490610e20565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610466575f5ffd5b5f5f60408385031215610ce8575f5ffd5b8235610cf381610cb6565b946020939093013593505050565b5f5f5f60608486031215610d13575f5ffd5b8335610d1e81610cb6565b92506020840135610d2e81610cb6565b929592945050506040919091013590565b5f60208284031215610d4f575f5ffd5b8135610d5a81610cb6565b9392505050565b5f5f60408385031215610d72575f5ffd5b50508035926020909101359150565b5f60208284031215610d91575f5ffd5b5035919050565b5f5f60408385031215610da9575f5ffd5b8235610db481610cb6565b91506020830135610dc481610cb6565b809150509250929050565b600181811c90821680610de357607f821691505b602082108103610e1a577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b808201808211156102e9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610e95575f5ffd5b8151610d5a81610cb656fea264697066735822122065db01d8366b12b90c26015c7544c9317e49cb8d9147d3457e8cff4aa8212fc664736f6c634300081c0033

Deployed Bytecode Sourcemap

11645:1698:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1914:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2828:169;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:1;;1185:22;1167:41;;1155:2;1140:18;2828:169:0;1027:187:1;2235:108:0;2323:12;;2235:108;;;1365:25:1;;;1353:2;1338:18;2235:108:0;1219:177:1;3005:492:0;;;;;;:::i;:::-;;:::i;2134:93::-;;;2217:2;2056:36:1;;2044:2;2029:18;2134:93:0;1914:184:1;3505:215:0;;;;;;:::i;:::-;;:::i;2351:127::-;;;;;;:::i;:::-;2452:18;;2425:7;2452:18;;;;;;;;;;;;2351:127;13038:154;;;;;;:::i;:::-;;:::i;:::-;;13204:136;;;:::i;2022:104::-;;;:::i;12803:227::-;;;;;;:::i;:::-;;:::i;3728:413::-;;;;;;:::i;:::-;;:::i;2486:175::-;;;;;;:::i;:::-;;:::i;2669:151::-;;;;;;:::i;:::-;2785:18;;;;2758:7;2785:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2669:151;1914:100;1968:13;2001:5;1994:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1914:100;:::o;2828:169::-;2911:4;2928:39;1382:10;2951:7;2960:6;2928:8;:39::i;:::-;-1:-1:-1;2985:4:0;2828:169;;;;;:::o;3005:492::-;3145:4;3162:36;3172:6;3180:9;3191:6;3162:9;:36::i;:::-;3238:19;;;3211:24;3238:19;;;:11;:19;;;;;;;;1382:10;3238:33;;;;;;;;3290:26;;;;3282:79;;;;;;;3974:2:1;3282:79:0;;;3956:21:1;4013:2;3993:18;;;3986:30;4052:34;4032:18;;;4025:62;4123:10;4103:18;;;4096:38;4151:19;;3282:79:0;;;;;;;;;3397:57;3406:6;1382:10;3447:6;3428:16;:25;3397:8;:57::i;:::-;-1:-1:-1;3485:4:0;;3005:492;-1:-1:-1;;;;3005:492:0:o;3505:215::-;1382:10;3593:4;3642:25;;;:11;:25;;;;;;;;;:34;;;;;;;;;;3593:4;;3610:80;;3633:7;;3642:47;;3679:10;;3642:47;:::i;:::-;3610:8;:80::i;13038:154::-;13123:5;13106:79;13134:7;:3;13140:1;13134:7;:::i;:::-;13130:1;:11;13106:79;;;13163:10;13171:1;13163:7;:10::i;:::-;13143:3;;13106:79;;;;13038:154;;:::o;13204:136::-;13256:9;13251:82;13275:14;13271:1;:18;13251:82;;;13311:10;13319:1;13311:7;:10::i;:::-;13291:3;;13251:82;;;;13204:136::o;2022:104::-;2078:13;2111:7;2104:14;;;;;:::i;12803:227::-;12862:11;:27;12874:7;12882:5;12874:14;;;;;;;:::i;:::-;;;12862:27;;;;;;;;;;;-1:-1:-1;12862:27:0;;;;12861:28;12853:56;;;;;;;4856:2:1;12853:56:0;;;4838:21:1;4895:2;4875:18;;;4868:30;4934:17;4914:18;;;4907:45;4969:18;;12853:56:0;4654:339:1;12853:56:0;12934:4;;12920:57;;12934:4;;12926:21;12948:7;12956:5;12948:14;;;;;;;:::i;:::-;;;12926:37;;;;;;;;;;;;;1365:25:1;;1353:2;1338:18;;1219:177;12926:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12965:11;;12920:5;:57::i;:::-;13018:4;12988:11;:27;13000:7;13008:5;13000:14;;;;;;;:::i;:::-;;;12988:27;;;;;;;;;;;-1:-1:-1;12988:27:0;:34;;;;;;;;;;;;;-1:-1:-1;12803:227:0:o;3728:413::-;1382:10;3821:4;3865:25;;;:11;:25;;;;;;;;;:34;;;;;;;;;;3918:35;;;;3910:85;;;;;;;5456:2:1;3910:85:0;;;5438:21:1;5495:2;5475:18;;;5468:30;5534:34;5514:18;;;5507:62;5605:7;5585:18;;;5578:35;5630:19;;3910:85:0;5254:401:1;3910:85:0;4031:67;1382:10;4054:7;4082:15;4063:16;:34;4031:8;:67::i;:::-;-1:-1:-1;4129:4:0;;3728:413;-1:-1:-1;;;3728:413:0:o;2486:175::-;2572:4;2589:42;1382:10;2613:9;2624:6;2589:9;:42::i;5896:380::-;6032:19;;;6024:68;;;;;;;5862:2:1;6024:68:0;;;5844:21:1;5901:2;5881:18;;;5874:30;5940:34;5920:18;;;5913:62;6011:6;5991:18;;;5984:34;6035:19;;6024:68:0;5660:400:1;6024:68:0;6111:21;;;6103:68;;;;;;;6267:2:1;6103:68:0;;;6249:21:1;6306:2;6286:18;;;6279:30;6345:34;6325:18;;;6318:62;6416:4;6396:18;;;6389:32;6438:19;;6103:68:0;6065:398:1;6103:68:0;6184:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6236:32;;1365:25:1;;;6236:32:0;;1338:18:1;6236:32:0;;;;;;;5896:380;;;:::o;4149:733::-;4289:20;;;4281:70;;;;;;;6670:2:1;4281:70:0;;;6652:21:1;6709:2;6689:18;;;6682:30;6748:34;6728:18;;;6721:62;6819:7;6799:18;;;6792:35;6844:19;;4281:70:0;6468:401:1;4281:70:0;4370:23;;;4362:71;;;;;;;7076:2:1;4362:71:0;;;7058:21:1;7115:2;7095:18;;;7088:30;7154:34;7134:18;;;7127:62;7225:5;7205:18;;;7198:33;7248:19;;4362:71:0;6874:399:1;4362:71:0;4530:17;;;4506:21;4530:17;;;;;;;;;;;4566:23;;;;4558:74;;;;;;;7480:2:1;4558:74:0;;;7462:21:1;7519:2;7499:18;;;7492:30;7558:34;7538:18;;;7531:62;7629:8;7609:18;;;7602:36;7655:19;;4558:74:0;7278:402:1;4558:74:0;4668:17;;;;:9;:17;;;;;;;;;;;4688:22;;;4668:42;;4732:20;;;;;;;;:30;;4704:6;;4668:9;4732:30;;4704:6;;4732:30;:::i;:::-;;;;;;;;4797:9;4780:35;;4789:6;4780:35;;;4808:6;4780:35;;;;1365:25:1;;1353:2;1338:18;;1219:177;4780:35:0;;;;;;;;4270:612;4149:733;;;:::o;4890:399::-;4974:21;;;4966:65;;;;;;;7887:2:1;4966:65:0;;;7869:21:1;7926:2;7906:18;;;7899:30;7965:33;7945:18;;;7938:61;8016:18;;4966:65:0;7685:355:1;4966:65:0;5122:6;5106:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;5139:18:0;;;:9;:18;;;;;;;;;;:28;;5161:6;;5139:9;:28;;5161:6;;5139:28;:::i;:::-;;;;-1:-1:-1;;5183:37:0;;1365:25:1;;;5183:37:0;;;;5200:1;;5183:37;;1353:2:1;1338:18;5183:37:0;;;;;;;4890:399;;:::o;14:477:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;482:2;412:66;407:2;399:6;395:15;391:88;380:9;376:104;372:113;364:121;;;14:477;;;;:::o;496:154::-;582:42;575:5;571:54;564:5;561:65;551:93;;640:1;637;630:12;655:367;723:6;731;784:2;772:9;763:7;759:23;755:32;752:52;;;800:1;797;790:12;752:52;839:9;826:23;858:31;883:5;858:31;:::i;:::-;908:5;986:2;971:18;;;;958:32;;-1:-1:-1;;;655:367:1:o;1401:508::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1602:9;1589:23;1621:31;1646:5;1621:31;:::i;:::-;1671:5;-1:-1:-1;1728:2:1;1713:18;;1700:32;1741:33;1700:32;1741:33;:::i;:::-;1401:508;;1793:7;;-1:-1:-1;;;1873:2:1;1858:18;;;;1845:32;;1401:508::o;2103:247::-;2162:6;2215:2;2203:9;2194:7;2190:23;2186:32;2183:52;;;2231:1;2228;2221:12;2183:52;2270:9;2257:23;2289:31;2314:5;2289:31;:::i;:::-;2339:5;2103:247;-1:-1:-1;;;2103:247:1:o;2355:346::-;2423:6;2431;2484:2;2472:9;2463:7;2459:23;2455:32;2452:52;;;2500:1;2497;2490:12;2452:52;-1:-1:-1;;2545:23:1;;;2665:2;2650:18;;;2637:32;;-1:-1:-1;2355:346:1:o;2706:226::-;2765:6;2818:2;2806:9;2797:7;2793:23;2789:32;2786:52;;;2834:1;2831;2824:12;2786:52;-1:-1:-1;2879:23:1;;2706:226;-1:-1:-1;2706:226:1:o;2937:388::-;3005:6;3013;3066:2;3054:9;3045:7;3041:23;3037:32;3034:52;;;3082:1;3079;3072:12;3034:52;3121:9;3108:23;3140:31;3165:5;3140:31;:::i;:::-;3190:5;-1:-1:-1;3247:2:1;3232:18;;3219:32;3260:33;3219:32;3260:33;:::i;:::-;3312:7;3302:17;;;2937:388;;;;;:::o;3330:437::-;3409:1;3405:12;;;;3452;;;3473:61;;3527:4;3519:6;3515:17;3505:27;;3473:61;3580:2;3572:6;3569:14;3549:18;3546:38;3543:218;;3617:77;3614:1;3607:88;3718:4;3715:1;3708:15;3746:4;3743:1;3736:15;3543:218;;3330:437;;;:::o;4181:279::-;4246:9;;;4267:10;;;4264:190;;;4310:77;4307:1;4300:88;4411:4;4408:1;4401:15;4439:4;4436:1;4429:15;4465:184;4517:77;4514:1;4507:88;4614:4;4611:1;4604:15;4638:4;4635:1;4628:15;4998:251;5068:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:52;;;5137:1;5134;5127:12;5089:52;5169:9;5163:16;5188:31;5213:5;5188:31;:::i

Swarm Source

ipfs://65db01d8366b12b90c26015c7544c9317e49cb8d9147d3457e8cff4aa8212fc6
[ 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.