ETH Price: $2,053.80 (+1.22%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Approve431814372026-03-10 14:17:0143 hrs ago1773152221IN
0x9EDE82AC...d6F2ED907
0 ETH0.000001590.03435208
Approve431813482026-03-10 14:14:0343 hrs ago1773152043IN
0x9EDE82AC...d6F2ED907
0 ETH0.000001690.03643055
Transfer431759742026-03-10 11:14:5546 hrs ago1773141295IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000170.00600666
Transfer431605142026-03-10 2:39:352 days ago1773110375IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000440.01507317
Transfer431601162026-03-10 2:26:192 days ago1773109579IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000260.009
Approve431326522026-03-09 11:10:512 days ago1773054651IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000280.00601783
Transfer430714682026-03-08 1:11:234 days ago1772932283IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000170.006
Transfer430156842026-03-06 18:11:555 days ago1772820715IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000180.00602339
Approve430156592026-03-06 18:11:055 days ago1772820665IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000330.00721544
Approve430150652026-03-06 17:51:175 days ago1772819477IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000360.00769033
Approve430139732026-03-06 17:14:535 days ago1772817293IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000280.00603873
Approve430086732026-03-06 14:18:135 days ago1772806693IN
0x9EDE82AC...d6F2ED907
0 ETH0.000001750.03757467
Approve429328912026-03-04 20:12:097 days ago1772655129IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000270.006
Approve429322952026-03-04 19:52:177 days ago1772653937IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000280.00611144
Approve429218402026-03-04 14:03:477 days ago1772633027IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000280.006
Transfer428882122026-03-03 19:22:518 days ago1772565771IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000330.00652611
Approve428776882026-03-03 13:32:038 days ago1772544723IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000290.00638985
Approve428765272026-03-03 12:53:218 days ago1772542401IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000280.00606339
Approve428183862026-03-02 4:35:1910 days ago1772426119IN
0x9EDE82AC...d6F2ED907
0 ETH0.000002460.05289346
Approve427489142026-02-28 13:59:3511 days ago1772287175IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000670.01461048
Approve427232702026-02-27 23:44:4712 days ago1772235887IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000270.006
Transfer426841232026-02-27 1:59:5313 days ago1772157593IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000260.00904708
Approve426774012026-02-26 22:15:4913 days ago1772144149IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000220.00769934
Approve426774012026-02-26 22:15:4913 days ago1772144149IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000350.00769934
Approve426774002026-02-26 22:15:4713 days ago1772144147IN
0x9EDE82AC...d6F2ED907
0 ETH0.000000350.0077056
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
393094742025-12-10 23:11:3591 days ago1765408295
0x9EDE82AC...d6F2ED907
0.011 ETH

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MoguonBase

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

/**
 * @title MoguonBase
 * @dev Basic ERC20 Token with Platform Fee Collection
 * 
 * Features:
 * - Standard ERC20 token with no complex features
 * - Deployment fee + CME fee collected on deployment
 * - All ETH sent to CME wallet (no refunds)
 * - All tokens minted to deployer's address
 * - Secure payment handling with validation
 * 
 * ✅ AUDIT-SAFE FEATURES:
 * - No pausable functionality (cannot freeze trading)
 * - No blocklist/blacklist capability (honeypot protection)
 * - Ownership can be renounced (full decentralization)
 * - OpenZeppelin security standards
 * 
 * Security:
 * - Payment validation ensures minimum required amount paid
 * - Uses .call() for reentrancy protection
 * - All excess ETH goes to platform (CME wallet)
 */
contract MoguonBase is ERC20, Ownable {
    
    /// @notice CME wallet that receives platform fees
    address public immutable CME_WALLET;
    
    /// @notice Total fee amount paid on deployment
    uint256 public immutable DEPLOYMENT_FEE;
    
    /// @notice Deployment timestamp
    uint256 public immutable DEPLOYED_AT;
    
    /// @notice Trading delay (3 seconds anti-snipe protection)
    uint256 public constant TRADING_DELAY = 3;
    
    /// @notice Web developer wallet address
    address public immutable WEB_DEVELOPER_WALLET;
    
    /// @notice Web developer mint percentage (scaled by 100, so 1.0 = 100)
    uint256 public immutable WEB_DEVELOPER_MINT_PERCENTAGE;
    
    /// @notice Whether web developer minting is enabled
    bool public immutable WEB_DEVELOPER_MINT_ENABLED;
    
    /// @notice Event emitted when fees are collected
    event FeeCollected(address indexed cmeWallet, uint256 feeAmount, uint256 timestamp);
    
    /// @notice Event emitted when web developer tokens are minted
    event WebDeveloperTokensMinted(address indexed webDeveloper, uint256 tokenAmount, uint256 timestamp);
    
    /**
     * @dev Constructor that collects fees and mints tokens
     * @param name Token name
     * @param symbol Token symbol
     * @param totalSupply Total supply of tokens (with 18 decimals)
     * @param cmeWallet Address to receive platform fees
     * @param requiredFee Total fee required (deployment + CME fee in wei)
     */
    constructor(
        string memory name,
        string memory symbol,
        uint256 totalSupply,
        address cmeWallet,
        uint256 requiredFee
    ) payable ERC20(name, symbol) Ownable() {
        // Security: Validate inputs
        require(cmeWallet != address(0), "Invalid CME wallet address");
        require(totalSupply > 0, "Total supply must be greater than 0");
        require(msg.value >= requiredFee, "Insufficient payment: please send the required deployment fee");
        
        // Store immutable values
        CME_WALLET = cmeWallet;
        DEPLOYMENT_FEE = requiredFee;
        DEPLOYED_AT = block.timestamp;
        
        // Web developer minting (disabled for Basic tier)
        WEB_DEVELOPER_WALLET = address(0);
        WEB_DEVELOPER_MINT_PERCENTAGE = 0;
        WEB_DEVELOPER_MINT_ENABLED = false;
        
        // Security: Transfer ALL ETH to CME wallet using call for reentrancy protection
        // All ETH (including any excess) goes to CME wallet as platform revenue
        if (msg.value > 0) {
            (bool totalPaid, ) = payable(cmeWallet).call{value: msg.value}("");
            require(totalPaid, "CME payment failed");
            
            emit FeeCollected(cmeWallet, msg.value, block.timestamp);
        }
        
        // Mint entire supply to the contract deployer
        _mint(msg.sender, totalSupply);
    }
    
    /**
     * @dev Get deployment information
     * @return cmeWallet Address that received fees
     * @return deploymentFee Total fee paid
     * @return deployedAt Deployment timestamp
     */
    function getDeploymentInfo() external view returns (
        address cmeWallet,
        uint256 deploymentFee,
        uint256 deployedAt
    ) {
        return (CME_WALLET, DEPLOYMENT_FEE, DEPLOYED_AT);
    }
    
    /**
     * @dev Get trading status and timing info
     */
    function getTradingInfo() external view returns (
        bool tradingEnabled,
        uint256 deployedAt,
        uint256 tradingStartTime,
        uint256 currentTime
    ) {
        tradingEnabled = block.timestamp >= DEPLOYED_AT + TRADING_DELAY;
        deployedAt = DEPLOYED_AT;
        tradingStartTime = DEPLOYED_AT + TRADING_DELAY;
        currentTime = block.timestamp;
        return (tradingEnabled, deployedAt, tradingStartTime, currentTime);
    }
    
    /**
     * @dev Override transfer to include 3-second trading delay
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        require(block.timestamp >= DEPLOYED_AT + TRADING_DELAY, "Trading starts in 3 seconds after deployment");
        return super.transfer(to, amount);
    }
    
    /**
     * @dev Override transferFrom to include 3-second trading delay
     */
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        require(block.timestamp >= DEPLOYED_AT + TRADING_DELAY, "Trading starts in 3 seconds after deployment");
        return super.transferFrom(from, to, amount);
    }
    
    /**
     * @dev Internal stub for web developer minting (not used in Basic tier)
     * Provided for interface consistency with Silver/Premium tiers
     */
    function _mintWebDeveloperTokens(uint256 totalSupply) internal {
        // Web developer minting is disabled for Basic tier
        // This function is a no-op (WEB_DEVELOPER_MINT_ENABLED = false)
    }
    
    /**
     * @dev Renounce ownership - makes contract fully immutable
     * @notice ⚠️ WARNING: This is IRREVERSIBLE! Call ONLY after:
     * 1. Liquidity is provisioned and locked
     * 2. All initial setup is complete
     * 3. You are ready to make the contract fully decentralized
     * 
     * After calling this function:
     * - No one can call owner-only functions
     * - Contract becomes completely immutable
     * - Full decentralization achieved
     * 
     * ✅ AUDIT-SAFE: Allows complete decentralization after setup
     * ✅ AUDIT REQUIREMENT: Many scanners require ownership to be renounced
     */
    function renounceOwnership() public override onlyOwner {
        address oldOwner = owner();
        _transferOwnership(address(0));
        emit OwnershipTransferred(oldOwner, address(0));
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import "@openzeppelin/contracts/utils/Context.sol";

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

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

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

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
        _afterTokenTransfer(from, to, amount);
    }

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

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

        _totalSupply += amount;
        unchecked {
            _balances[to] += amount;
        }
        emit Transfer(address(0), to, amount);

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

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

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

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

        emit Transfer(from, address(0), amount);
        _afterTokenTransfer(from, 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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "../IERC20.sol";

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/utils/Context.sol";

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/utils/Context.sol";

abstract contract Pausable is Context {
    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;

    constructor() {
        _paused = false;
    }

    modifier whenNotPaused() {
        _requireNotPaused();
        _;
    }

    modifier whenPaused() {
        _requirePaused();
        _;
    }

    function paused() public view virtual returns (bool) {
        return _paused;
    }

    function _requireNotPaused() internal view virtual {
        require(!paused(), "Pausable: paused");
    }

    function _requirePaused() internal view virtual {
        require(paused(), "Pausable: not paused");
    }

    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/utils/Context.sol";

abstract contract ERC20Burnable is Context, ERC20 {
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    function burnFrom(address account, uint256 amount) public virtual {
        _spendAllowance(account, _msgSender(), amount);
        _burn(account, amount);
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"address","name":"cmeWallet","type":"address"},{"internalType":"uint256","name":"requiredFee","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"cmeWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"feeAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"FeeCollected","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"webDeveloper","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"WebDeveloperTokensMinted","type":"event"},{"inputs":[],"name":"CME_WALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPLOYED_AT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPLOYMENT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRADING_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WEB_DEVELOPER_MINT_ENABLED","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WEB_DEVELOPER_MINT_PERCENTAGE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WEB_DEVELOPER_WALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"getDeploymentInfo","outputs":[{"internalType":"address","name":"cmeWallet","type":"address"},{"internalType":"uint256","name":"deploymentFee","type":"uint256"},{"internalType":"uint256","name":"deployedAt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTradingInfo","outputs":[{"internalType":"bool","name":"tradingEnabled","type":"bool"},{"internalType":"uint256","name":"deployedAt","type":"uint256"},{"internalType":"uint256","name":"tradingStartTime","type":"uint256"},{"internalType":"uint256","name":"currentTime","type":"uint256"}],"stateMutability":"view","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

610140604052604051620014cb380380620014cb83398101604081905262000027916200048e565b84846003620000378382620005b3565b506004620000468282620005b3565b505050620000636200005d620002b560201b60201c565b620002b9565b6001600160a01b038216620000bf5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420434d452077616c6c6574206164647265737300000000000060448201526064015b60405180910390fd5b5f83116200011c5760405162461bcd60e51b815260206004820152602360248201527f546f74616c20737570706c79206d75737420626520677265617465722074686160448201526206e20360ec1b6064820152608401620000b6565b80341015620001945760405162461bcd60e51b815260206004820152603d60248201527f496e73756666696369656e74207061796d656e743a20706c656173652073656e60448201527f6420746865207265717569726564206465706c6f796d656e74206665650000006064820152608401620000b6565b6001600160a01b03821660805260a08190524260c0525f60e08190526101008190526101205234156200029e575f826001600160a01b0316346040515f6040518083038185875af1925050503d805f81146200020c576040519150601f19603f3d011682016040523d82523d5f602084013e62000211565b606091505b5050905080620002595760405162461bcd60e51b815260206004820152601260248201527110d351481c185e5b595b9d0819985a5b195960721b6044820152606401620000b6565b604080513481524260208201526001600160a01b038516917f108516ddcf5ba43cea6bb2cd5ff6d59ac196c1c86ccb9178332b9dd72d1ca561910160405180910390a2505b620002aa33846200030a565b5050505050620006a1565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620003625760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620000b6565b8060025f8282546200037591906200067b565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620003f4575f80fd5b81516001600160401b0380821115620004115762000411620003d0565b604051601f8301601f19908116603f011681019082821181831017156200043c576200043c620003d0565b8160405283815260209250868385880101111562000458575f80fd5b5f91505b838210156200047b57858201830151818301840152908201906200045c565b5f93810190920192909252949350505050565b5f805f805f60a08688031215620004a3575f80fd5b85516001600160401b0380821115620004ba575f80fd5b620004c889838a01620003e4565b96506020880151915080821115620004de575f80fd5b50620004ed88828901620003e4565b60408801516060890151919650945090506001600160a01b038116811462000513575f80fd5b80925050608086015190509295509295909350565b600181811c908216806200053d57607f821691505b6020821081036200055c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003cb575f81815260208120601f850160051c810160208610156200058a5750805b601f850160051c820191505b81811015620005ab5782815560010162000596565b505050505050565b81516001600160401b03811115620005cf57620005cf620003d0565b620005e781620005e0845462000528565b8462000562565b602080601f8311600181146200061d575f8415620006055750858301515b5f19600386901b1c1916600185901b178555620005ab565b5f85815260208120601f198616915b828110156200064d578886015182559484019460019091019084016200062c565b50858210156200066b57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200069b57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c05160e0516101005161012051610db16200071a5f395f61019201525f6101b901525f6102b601525f8181610255015281816103ae015281816104da015281816105440152818161056f01526106c101525f8181610321015261038801525f818161036401526103e10152610db15ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c8063715018a6116100bf578063a8f3225111610079578063a8f322511461031c578063a9059cbb14610343578063aeefffad14610356578063c8fb4f1f146103dc578063dd62ed3e14610403578063f2fde38b14610416575f80fd5b8063715018a61461029f57806376ee241d146102a9578063781e0c07146102b15780638da5cb5b146102f057806395d89b4114610301578063a457c2d714610309575f80fd5b806323b872dd1161011057806323b872dd146101f1578063276ef78914610204578063313ce5671461022e578063395093511461023d5780636ebb8cd21461025057806370a0823114610277575f80fd5b806306fdde031461014c578063095ea7b31461016a5780630dc0a1011461018d5780630e86db32146101b457806318160ddd146101e9575b5f80fd5b610154610429565b6040516101619190610bc7565b60405180910390f35b61017d610178366004610c2d565b6104b9565b6040519015158152602001610161565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610161565b6002546101db565b61017d6101ff366004610c55565b6104d2565b61020c610539565b6040805194151585526020850193909352918301526060820152608001610161565b60405160128152602001610161565b61017d61024b366004610c2d565b6105a6565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db610285366004610c8e565b6001600160a01b03165f9081526020819052604090205490565b6102a76105c7565b005b6101db600381565b6102d87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610161565b6005546001600160a01b03166102d8565b610154610625565b61017d610317366004610c2d565b610634565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b61017d610351366004610c2d565b6106b9565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681527f000000000000000000000000000000000000000000000000000000000000000060208201527f000000000000000000000000000000000000000000000000000000000000000091810191909152606001610161565b6102d87f000000000000000000000000000000000000000000000000000000000000000081565b6101db610411366004610ca7565b610715565b6102a7610424366004610c8e565b61073f565b60606003805461043890610cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461046490610cd8565b80156104af5780601f10610486576101008083540402835291602001916104af565b820191905f5260205f20905b81548152906001019060200180831161049257829003601f168201915b5050505050905090565b5f336104c68185856107b8565b60019150505b92915050565b5f6104fe60037f0000000000000000000000000000000000000000000000000000000000000000610d10565b4210156105265760405162461bcd60e51b815260040161051d90610d2f565b60405180910390fd5b6105318484846108db565b949350505050565b5f80808061056860037f0000000000000000000000000000000000000000000000000000000000000000610d10565b42101593507f0000000000000000000000000000000000000000000000000000000000000000925061059b600384610d10565b915042905090919293565b5f336104c68185856105b88383610715565b6105c29190610d10565b6107b8565b6105cf6108f3565b5f6105e26005546001600160a01b031690565b90506105ed5f61094f565b6040515f906001600160a01b038316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b60606004805461043890610cd8565b5f33816106418286610715565b9050838110156106a15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161051d565b6106ae82868684036107b8565b506001949350505050565b5f6106e560037f0000000000000000000000000000000000000000000000000000000000000000610d10565b4210156107045760405162461bcd60e51b815260040161051d90610d2f565b61070e83836109a0565b9392505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6107476108f3565b6001600160a01b0381166107ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051d565b6107b58161094f565b50565b6001600160a01b03831661081a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051d565b6001600160a01b03821661087b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051d565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f336108e88582856109ad565b6106ae858585610a25565b6005546001600160a01b0316331461094d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161051d565b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f336104c6818585610a25565b5f6109b88484610715565b90505f198114610a1f5781811015610a125760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161051d565b610a1f84848484036107b8565b50505050565b6001600160a01b038316610a895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051d565b6001600160a01b038216610aeb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051d565b6001600160a01b0383165f9081526020819052604090205481811015610b625760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161051d565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a1f565b5f6020808352835180828501525f5b81811015610bf257858101830151858201604001528201610bd6565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c28575f80fd5b919050565b5f8060408385031215610c3e575f80fd5b610c4783610c12565b946020939093013593505050565b5f805f60608486031215610c67575f80fd5b610c7084610c12565b9250610c7e60208501610c12565b9150604084013590509250925092565b5f60208284031215610c9e575f80fd5b61070e82610c12565b5f8060408385031215610cb8575f80fd5b610cc183610c12565b9150610ccf60208401610c12565b90509250929050565b600181811c90821680610cec57607f821691505b602082108103610d0a57634e487b7160e01b5f52602260045260245ffd5b50919050565b808201808211156104cc57634e487b7160e01b5f52601160045260245ffd5b6020808252602c908201527f54726164696e672073746172747320696e2033207365636f6e6473206166746560408201526b1c8819195c1b1bde5b595b9d60a21b60608201526080019056fea264697066735822122076de7e4c8d6036932cbb6832ec9e7839b2a6b805b2f1ebd6cacd2ba756df86de64736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000aa4583f8b65ee0f77775642fdfd49a7f505ce9050000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000000000000000000c4d6f6775206f6e2042617365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d4f475500000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610148575f3560e01c8063715018a6116100bf578063a8f3225111610079578063a8f322511461031c578063a9059cbb14610343578063aeefffad14610356578063c8fb4f1f146103dc578063dd62ed3e14610403578063f2fde38b14610416575f80fd5b8063715018a61461029f57806376ee241d146102a9578063781e0c07146102b15780638da5cb5b146102f057806395d89b4114610301578063a457c2d714610309575f80fd5b806323b872dd1161011057806323b872dd146101f1578063276ef78914610204578063313ce5671461022e578063395093511461023d5780636ebb8cd21461025057806370a0823114610277575f80fd5b806306fdde031461014c578063095ea7b31461016a5780630dc0a1011461018d5780630e86db32146101b457806318160ddd146101e9575b5f80fd5b610154610429565b6040516101619190610bc7565b60405180910390f35b61017d610178366004610c2d565b6104b9565b6040519015158152602001610161565b61017d7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610161565b6002546101db565b61017d6101ff366004610c55565b6104d2565b61020c610539565b6040805194151585526020850193909352918301526060820152608001610161565b60405160128152602001610161565b61017d61024b366004610c2d565b6105a6565b6101db7f000000000000000000000000000000000000000000000000000000006939fe2781565b6101db610285366004610c8e565b6001600160a01b03165f9081526020819052604090205490565b6102a76105c7565b005b6101db600381565b6102d87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610161565b6005546001600160a01b03166102d8565b610154610625565b61017d610317366004610c2d565b610634565b6101db7f000000000000000000000000000000000000000000000000002714711487800081565b61017d610351366004610c2d565b6106b9565b604080516001600160a01b037f000000000000000000000000aa4583f8b65ee0f77775642fdfd49a7f505ce9051681527f000000000000000000000000000000000000000000000000002714711487800060208201527f000000000000000000000000000000000000000000000000000000006939fe2791810191909152606001610161565b6102d87f000000000000000000000000aa4583f8b65ee0f77775642fdfd49a7f505ce90581565b6101db610411366004610ca7565b610715565b6102a7610424366004610c8e565b61073f565b60606003805461043890610cd8565b80601f016020809104026020016040519081016040528092919081815260200182805461046490610cd8565b80156104af5780601f10610486576101008083540402835291602001916104af565b820191905f5260205f20905b81548152906001019060200180831161049257829003601f168201915b5050505050905090565b5f336104c68185856107b8565b60019150505b92915050565b5f6104fe60037f000000000000000000000000000000000000000000000000000000006939fe27610d10565b4210156105265760405162461bcd60e51b815260040161051d90610d2f565b60405180910390fd5b6105318484846108db565b949350505050565b5f80808061056860037f000000000000000000000000000000000000000000000000000000006939fe27610d10565b42101593507f000000000000000000000000000000000000000000000000000000006939fe27925061059b600384610d10565b915042905090919293565b5f336104c68185856105b88383610715565b6105c29190610d10565b6107b8565b6105cf6108f3565b5f6105e26005546001600160a01b031690565b90506105ed5f61094f565b6040515f906001600160a01b038316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b60606004805461043890610cd8565b5f33816106418286610715565b9050838110156106a15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161051d565b6106ae82868684036107b8565b506001949350505050565b5f6106e560037f000000000000000000000000000000000000000000000000000000006939fe27610d10565b4210156107045760405162461bcd60e51b815260040161051d90610d2f565b61070e83836109a0565b9392505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6107476108f3565b6001600160a01b0381166107ac5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051d565b6107b58161094f565b50565b6001600160a01b03831661081a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051d565b6001600160a01b03821661087b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051d565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f336108e88582856109ad565b6106ae858585610a25565b6005546001600160a01b0316331461094d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161051d565b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f336104c6818585610a25565b5f6109b88484610715565b90505f198114610a1f5781811015610a125760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161051d565b610a1f84848484036107b8565b50505050565b6001600160a01b038316610a895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051d565b6001600160a01b038216610aeb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051d565b6001600160a01b0383165f9081526020819052604090205481811015610b625760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161051d565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a1f565b5f6020808352835180828501525f5b81811015610bf257858101830151858201604001528201610bd6565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c28575f80fd5b919050565b5f8060408385031215610c3e575f80fd5b610c4783610c12565b946020939093013593505050565b5f805f60608486031215610c67575f80fd5b610c7084610c12565b9250610c7e60208501610c12565b9150604084013590509250925092565b5f60208284031215610c9e575f80fd5b61070e82610c12565b5f8060408385031215610cb8575f80fd5b610cc183610c12565b9150610ccf60208401610c12565b90509250929050565b600181811c90821680610cec57607f821691505b602082108103610d0a57634e487b7160e01b5f52602260045260245ffd5b50919050565b808201808211156104cc57634e487b7160e01b5f52601160045260245ffd5b6020808252602c908201527f54726164696e672073746172747320696e2033207365636f6e6473206166746560408201526b1c8819195c1b1bde5b595b9d60a21b60608201526080019056fea264697066735822122076de7e4c8d6036932cbb6832ec9e7839b2a6b805b2f1ebd6cacd2ba756df86de64736f6c63430008140033

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000aa4583f8b65ee0f77775642fdfd49a7f505ce9050000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000000000000000000c4d6f6775206f6e2042617365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d4f475500000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Mogu on Base
Arg [1] : symbol (string): MOGU
Arg [2] : totalSupply (uint256): 1000000000000000000000000000
Arg [3] : cmeWallet (address): 0xAa4583f8B65eE0F77775642FdFD49A7f505ce905
Arg [4] : requiredFee (uint256): 11000000000000000

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [3] : 000000000000000000000000aa4583f8b65ee0f77775642fdfd49a7f505ce905
Arg [4] : 0000000000000000000000000000000000000000000000000027147114878000
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [6] : 4d6f6775206f6e20426173650000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 4d4f475500000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.