ETH Price: $3,657.33 (+10.57%)

Token

Hokkaido (HOKK)
 

Overview

Max Total Supply

1,000,000,000 HOKK

Holders

222

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: HOKK 15
Balance
537,714,258.532367675639434866 HOKK

Value
$0.00
0x227258b9f0fe426343d82057269b72bd55abafe4
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:
Hokkaido

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Hokkaido.sol
//SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

/// @title IERC20 Token Standard
/// @notice Interface for the ERC20 standard token contract
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 transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

/// @title Interface for UniswapV2Factory Contract
/// @notice It is used to create new instances of pairs
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

/// @title Interface for UniswapV2Router02 Contract
/// @notice It is used to get information about liquidity reserves
interface IUniswapV2Router {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

/// @author Kenji Sato
/// @title Hakkaido Token Contract
/// @notice Hokkaido token is a utility token created for use on the Hokkaido platform,
/// acting as an intermediary between the user's token and Uniswap pool.
/// It implements the IERC20 token standard.
/// @custom:website https://www.hokkaido.ai
/// @custom:telegram https://t.me/hokk_token
/// @custom:twitter https://twitter.com/hokk_token
contract Hokkaido is IERC20 {
    // Address of the owner of the contract
    address public owner;

    // Total supply of the token
    uint256 public totalSupply;

    // Mapping of account addresses to their respective balances
    mapping(address => uint256) public balances;
    // Mapping of holder addresses to a mapping of spender addresses to their respective allowances
    mapping(address => mapping(address => uint256)) public allowances;

    // The timestamp when the time lock for purchasing tokens ends
    // This is an anti-sniping bot measure to prevent purchases from the Uniswap during the specified time frame
    uint256 public purchaseTimeLockEnd;

    // The maximum number of tokens that a wallet can hold
    // This is a measure to prevent price manipulation
    // The maxWallet restriction will be removed after 24 hours from allowing trading
    uint256 public maxWallet;

    // The timestamp indicating the end time of the period during
    // which a maximum wallet size is enforced
    uint256 public maxWalletEndTime;

    // The Uniswap V2 router contract
    IUniswapV2Router public uniswapV2Router;
    // The address of the Uniswap V2 liquidity pool for the token
    address public uniswapV2Pair;

    // Constants for token name, symbol and decimals
    string private constant NAME = "Hokkaido";
    string private constant SYMBOL = "HOKK";
    uint8 private constant DECIMALS = 18;

    // Event for transferring ownership of the contract
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    // Modifier to only allow the contract owner to execute a function
    modifier onlyOwner() {
        require(msg.sender == owner, "Error: Caller is not the contract owner");
        _;
    }

    // Contract constructor
    constructor(uint256 amount, uint256 timelock) {
        // Create a new instance of IUniswapV2Router
        IUniswapV2Router _uniswapV2Router = IUniswapV2Router(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        // Assign the new instance to the uniswapV2Router variable
        uniswapV2Router = _uniswapV2Router;
        // Create a new Uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        // Assign the time lock for purchasing tokens
        purchaseTimeLockEnd = timelock;

        // Assign the end time of the period during which a maximum wallet size is enforced
        maxWalletEndTime = purchaseTimeLockEnd + 24 hours;

        // Assign the totalSupply to the given amount
        totalSupply = amount;
        // Assign the maxWallet to 2% of the totalSupply
        maxWallet = (totalSupply * 2) / 100;
        // Assign the full amount to the balance of the contract creator
        balances[msg.sender] = totalSupply;

        // Emit a Transfer event from address 0 to the contract creator with the totalSupply as the value
        emit Transfer(address(0), msg.sender, totalSupply);
        // Set the owner to the contract creator
        owner = msg.sender;
    }

    /**
     * @dev Returns the balance of the specified address.
     * @param account The address to retrieve the balance of.
     * @return The balance of the specified address.
     */
    function balanceOf(address account)
        external
        view
        override
        returns (uint256)
    {
        return balances[account];
    }

    /**
     * @dev Returns the allowance of a spender for a given holder.
     * @param holder The address of the holder.
     * @param spender The address of the spender.
     * @return The allowance of the spender for the given holder.
     */
    function allowance(address holder, address spender)
        external
        view
        override
        returns (uint256)
    {
        return allowances[holder][spender];
    }

    /**
     * @dev Returns the name of the token.
     * @return string memory The name of the token.
     */
    function name() external pure returns (string memory) {
        return NAME;
    }

    /**
     * @dev Returns the symbol of the token.
     * @return string memory The symbol of the token.
     */
    function symbol() external pure returns (string memory) {
        return SYMBOL;
    }

    /**
     * @dev Returns the number of decimal places used to represent the token amount.
     * @return uint8 The number of decimal places used to represent the token amount.
     */
    function decimals() external pure returns (uint8) {
        return DECIMALS;
    }

    /**
     * @dev Approves the given spender to transfer the specified amount from the msg.sender's account.
     * @param spender The address of the spender to approve.
     * @param amount The amount of token to be approved for transfer.
     * @return bool True if the approval was successful.
     */
    function approve(address spender, uint256 amount)
        external
        virtual
        override
        returns (bool)
    {
        allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    /**
     * @dev Renounces ownership of the contract.
     */
    function renounceOwnership() external virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers the specified amount of tokens from the sender to the recipient on behalf of the sender.
     * @param sender The address of the token holder to transfer from.
     * @param recipient The address of the recipient to transfer to.
     * @param amount The amount of token to be transferred.
     * @return bool True if the transfer was successful.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        // Check if the allowance is sufficient
        require(
            allowances[sender][msg.sender] >= amount,
            "Error: insufficient allowance."
        );

        // Decrease the allowance
        allowances[sender][msg.sender] -= amount;

        return _transfer(sender, recipient, amount);
    }

    /**
     * @dev Transfers the specified amount of tokens from the msg.sender's account to the recipient.
     * @param recipient The address of the recipient to transfer to.
     * @param amount The amount of token to be transferred.
     * @return bool True if the transfer was successful.
     */
    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transfer(msg.sender, recipient, amount);
    }

    /**
     * @dev Transfers the ownership of the contract to the new owner.
     * @param newOwner The address of the new owner.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = owner;
        owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    /**
     * @dev Transfers `amount` tokens from `sender` to `recipient`.
     *
     * @param sender The address of the sender.
     * @param recipient The address of the recipient.
     * @param amount The amount of tokens to transfer.
     *
     * @return A boolean indicating whether the transfer was successful.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual returns (bool) {
        // Ensure that the `sender` and `recipient` addresses are not the zero address
        require(
            sender != address(0) && recipient != address(0),
            "Error: Transfer from/to the zero address is not allowed."
        );

        // Check the balance of the `sender` to make sure the transfer amount is valid
        uint256 senderBalance = balances[sender];
        require(
            senderBalance >= amount,
            "Error: Transfer amount exceeds the sender's balance."
        );

        // Prevent purchases from the Uniswap during a specified time lock period
        // which serves as an anti-sniping bot measure.
        if (sender == uniswapV2Pair && block.timestamp < purchaseTimeLockEnd) {
            revert(
                "Error: Purchase from Uniswap DEX not allowed during timelock period."
            );
        }

        // Check whether the maxWallet restriction is in effect
        // and the recipient is not the UniswapV2 pair since we need to add liquidity
        if (block.timestamp < maxWalletEndTime && recipient != uniswapV2Pair) {
            // Check whether the sum of the recipient's current balance
            // and the transferred amount exceeds the maxWallet limit
            require(
                balances[recipient] + amount <= maxWallet,
                "Error: Recipient balance exceeds maximum wallet size."
            );
        } else if (
            block.timestamp >= maxWalletEndTime && maxWalletEndTime != 0
        ) {
            // Remove the maxWallet restriction after the specified time lock period
            maxWallet = totalSupply;
            maxWalletEndTime = 0;
        }

        // Perform the transfer
        balances[sender] -= amount;
        balances[recipient] += amount;

        // Emit the Transfer event
        emit Transfer(sender, recipient, amount);

        // Return true to indicate the transfer was successful
        return true;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timelock","type":"uint256"}],"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":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowances","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":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"purchaseTimeLockEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162000d2938038062000d29833981016040819052620000349162000268565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156200009a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c091906200028d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013491906200028d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a891906200028d565b600880546001600160a01b0319166001600160a01b03929092169190911790556004829055620001dc8262015180620002d5565b60065560018390556064620001f3846002620002f1565b620001ff91906200030b565b60055560015433600081815260026020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050600080546001600160a01b03191633179055506200032e565b600080604083850312156200027c57600080fd5b505080516020909101519092909150565b600060208284031215620002a057600080fd5b81516001600160a01b0381168114620002b857600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115620002eb57620002eb620002bf565b92915050565b8082028115828204841417620002eb57620002eb620002bf565b6000826200032957634e487b7160e01b600052601260045260246000fd5b500490565b6109eb806200033e6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806355b6ed5c116100a25780638da5cb5b116100715780638da5cb5b1461027b57806395d89b411461028e578063a9059cbb146102ae578063dd62ed3e146102c1578063f8b45b05146102fa57600080fd5b806355b6ed5c146102145780636940b6481461023f57806370a0823114610248578063715018a61461027157600080fd5b806323b872dd116100e957806323b872dd146101b657806327e235e3146101c9578063313ce567146101e95780633d627865146101f857806349bd5a5e1461020157600080fd5b806306fdde031461011b578063095ea7b3146101515780631694505e1461017457806318160ddd1461019f575b600080fd5b604080518082019091526008815267486f6b6b6169646f60c01b60208201525b604051610148919061085b565b60405180910390f35b61016461015f3660046108c5565b610303565b6040519015158152602001610148565b600754610187906001600160a01b031681565b6040516001600160a01b039091168152602001610148565b6101a860015481565b604051908152602001610148565b6101646101c43660046108ef565b610370565b6101a86101d736600461092b565b60026020526000908152604090205481565b60405160128152602001610148565b6101a860065481565b600854610187906001600160a01b031681565b6101a8610222366004610946565b600360209081526000928352604080842090915290825290205481565b6101a860045481565b6101a861025636600461092b565b6001600160a01b031660009081526002602052604090205490565b610279610434565b005b600054610187906001600160a01b031681565b604080518082019091526004815263484f4b4b60e01b602082015261013b565b6101646102bc3660046108c5565b6104aa565b6101a86102cf366004610946565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6101a860055481565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061035e9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526003602090815260408083203384529091528120548211156103e85760405162461bcd60e51b815260206004820152601e60248201527f4572726f723a20696e73756666696369656e7420616c6c6f77616e63652e000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602090815260408083203384529091528120805484929061041b90849061098f565b9091555061042c90508484846104be565b949350505050565b6000546001600160a01b0316331461049e5760405162461bcd60e51b815260206004820152602760248201527f4572726f723a2043616c6c6572206973206e6f742074686520636f6e747261636044820152663a1037bbb732b960c91b60648201526084016103df565b6104a8600061080b565b565b60006104b73384846104be565b9392505050565b60006001600160a01b038416158015906104e057506001600160a01b03831615155b6105525760405162461bcd60e51b815260206004820152603860248201527f4572726f723a205472616e736665722066726f6d2f746f20746865207a65726f60448201527f2061646472657373206973206e6f7420616c6c6f7765642e000000000000000060648201526084016103df565b6001600160a01b038416600090815260026020526040902054828110156105d85760405162461bcd60e51b815260206004820152603460248201527f4572726f723a205472616e7366657220616d6f756e742065786365656473207460448201527334329039b2b73232b913b9903130b630b731b29760611b60648201526084016103df565b6008546001600160a01b0386811691161480156105f6575060045442105b156106775760405162461bcd60e51b8152602060048201526044602482018190527f4572726f723a2050757263686173652066726f6d20556e697377617020444558908201527f206e6f7420616c6c6f77656420647572696e672074696d656c6f636b2070657260648201526334b7b21760e11b608482015260a4016103df565b6006544210801561069657506008546001600160a01b03858116911614155b15610733576005546001600160a01b0385166000908152600260205260409020546106c29085906109a2565b111561072e5760405162461bcd60e51b815260206004820152603560248201527f4572726f723a20526563697069656e742062616c616e636520657863656564736044820152741036b0bc34b6bab6903bb0b63632ba1039b4bd329760591b60648201526084016103df565b610757565b6006544210158015610746575060065415155b156107575760015460055560006006555b6001600160a01b0385166000908152600260205260408120805485929061077f90849061098f565b90915550506001600160a01b038416600090815260026020526040812080548592906107ac9084906109a2565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107f891815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156108885785810183015185820160400152820161086c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108c057600080fd5b919050565b600080604083850312156108d857600080fd5b6108e1836108a9565b946020939093013593505050565b60008060006060848603121561090457600080fd5b61090d846108a9565b925061091b602085016108a9565b9150604084013590509250925092565b60006020828403121561093d57600080fd5b6104b7826108a9565b6000806040838503121561095957600080fd5b610962836108a9565b9150610970602084016108a9565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561036a5761036a610979565b8082018082111561036a5761036a61097956fea2646970667358221220b45e83649abaa3b77ccc6429a2842cd9e54df00af8e9025665a39f8ebbc97a8864736f6c634300081300330000000000000000000000000000000000000000033b2e3c9fd0803ce800000000000000000000000000000000000000000000000000000000000000640e8634

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c806355b6ed5c116100a25780638da5cb5b116100715780638da5cb5b1461027b57806395d89b411461028e578063a9059cbb146102ae578063dd62ed3e146102c1578063f8b45b05146102fa57600080fd5b806355b6ed5c146102145780636940b6481461023f57806370a0823114610248578063715018a61461027157600080fd5b806323b872dd116100e957806323b872dd146101b657806327e235e3146101c9578063313ce567146101e95780633d627865146101f857806349bd5a5e1461020157600080fd5b806306fdde031461011b578063095ea7b3146101515780631694505e1461017457806318160ddd1461019f575b600080fd5b604080518082019091526008815267486f6b6b6169646f60c01b60208201525b604051610148919061085b565b60405180910390f35b61016461015f3660046108c5565b610303565b6040519015158152602001610148565b600754610187906001600160a01b031681565b6040516001600160a01b039091168152602001610148565b6101a860015481565b604051908152602001610148565b6101646101c43660046108ef565b610370565b6101a86101d736600461092b565b60026020526000908152604090205481565b60405160128152602001610148565b6101a860065481565b600854610187906001600160a01b031681565b6101a8610222366004610946565b600360209081526000928352604080842090915290825290205481565b6101a860045481565b6101a861025636600461092b565b6001600160a01b031660009081526002602052604090205490565b610279610434565b005b600054610187906001600160a01b031681565b604080518082019091526004815263484f4b4b60e01b602082015261013b565b6101646102bc3660046108c5565b6104aa565b6101a86102cf366004610946565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6101a860055481565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061035e9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526003602090815260408083203384529091528120548211156103e85760405162461bcd60e51b815260206004820152601e60248201527f4572726f723a20696e73756666696369656e7420616c6c6f77616e63652e000060448201526064015b60405180910390fd5b6001600160a01b03841660009081526003602090815260408083203384529091528120805484929061041b90849061098f565b9091555061042c90508484846104be565b949350505050565b6000546001600160a01b0316331461049e5760405162461bcd60e51b815260206004820152602760248201527f4572726f723a2043616c6c6572206973206e6f742074686520636f6e747261636044820152663a1037bbb732b960c91b60648201526084016103df565b6104a8600061080b565b565b60006104b73384846104be565b9392505050565b60006001600160a01b038416158015906104e057506001600160a01b03831615155b6105525760405162461bcd60e51b815260206004820152603860248201527f4572726f723a205472616e736665722066726f6d2f746f20746865207a65726f60448201527f2061646472657373206973206e6f7420616c6c6f7765642e000000000000000060648201526084016103df565b6001600160a01b038416600090815260026020526040902054828110156105d85760405162461bcd60e51b815260206004820152603460248201527f4572726f723a205472616e7366657220616d6f756e742065786365656473207460448201527334329039b2b73232b913b9903130b630b731b29760611b60648201526084016103df565b6008546001600160a01b0386811691161480156105f6575060045442105b156106775760405162461bcd60e51b8152602060048201526044602482018190527f4572726f723a2050757263686173652066726f6d20556e697377617020444558908201527f206e6f7420616c6c6f77656420647572696e672074696d656c6f636b2070657260648201526334b7b21760e11b608482015260a4016103df565b6006544210801561069657506008546001600160a01b03858116911614155b15610733576005546001600160a01b0385166000908152600260205260409020546106c29085906109a2565b111561072e5760405162461bcd60e51b815260206004820152603560248201527f4572726f723a20526563697069656e742062616c616e636520657863656564736044820152741036b0bc34b6bab6903bb0b63632ba1039b4bd329760591b60648201526084016103df565b610757565b6006544210158015610746575060065415155b156107575760015460055560006006555b6001600160a01b0385166000908152600260205260408120805485929061077f90849061098f565b90915550506001600160a01b038416600090815260026020526040812080548592906107ac9084906109a2565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107f891815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156108885785810183015185820160400152820161086c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108c057600080fd5b919050565b600080604083850312156108d857600080fd5b6108e1836108a9565b946020939093013593505050565b60008060006060848603121561090457600080fd5b61090d846108a9565b925061091b602085016108a9565b9150604084013590509250925092565b60006020828403121561093d57600080fd5b6104b7826108a9565b6000806040838503121561095957600080fd5b610962836108a9565b9150610970602084016108a9565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561036a5761036a610979565b8082018082111561036a5761036a61097956fea2646970667358221220b45e83649abaa3b77ccc6429a2842cd9e54df00af8e9025665a39f8ebbc97a8864736f6c63430008130033

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

0000000000000000000000000000000000000000033b2e3c9fd0803ce800000000000000000000000000000000000000000000000000000000000000640e8634

-----Decoded View---------------
Arg [0] : amount (uint256): 1000000000000000000000000000
Arg [1] : timelock (uint256): 1678673460

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [1] : 00000000000000000000000000000000000000000000000000000000640e8634


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.