MNT Price: $0.91 (+0.30%)

Contract

0x000000009cA83fC2e014B149Fe7530174de0D938
 

Overview

MNT Balance

Mantle Mainnet Network LogoMantle Mainnet Network LogoMantle Mainnet Network Logo0 MNT

MNT Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Amount:Between 1-1M
Reset Filter

Transaction Hash
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
883913932025-12-05 5:38:1850 days ago1764913098
0x00000000...74de0D938
 Contract Creation0 MNT
861913992025-10-15 7:25:10101 days ago1760513110
0x00000000...74de0D938
 Contract Creation0 MNT
847981512025-09-13 1:23:34134 days ago1757726614
0x00000000...74de0D938
 Contract Creation0 MNT
840852072025-08-27 13:18:46150 days ago1756300726
0x00000000...74de0D938
 Contract Creation0 MNT
840798122025-08-27 10:18:56150 days ago1756289936
0x00000000...74de0D938
 Contract Creation0 MNT
824379942025-07-20 10:11:40188 days ago1753006300
0x00000000...74de0D938
 Contract Creation0 MNT
824378582025-07-20 10:07:08188 days ago1753006028
0x00000000...74de0D938
 Contract Creation0 MNT
824375832025-07-20 9:57:58188 days ago1753005478
0x00000000...74de0D938
 Contract Creation0 MNT
785039162025-04-20 8:35:44279 days ago1745138144
0x00000000...74de0D938
 Contract Creation0 MNT
784088312025-04-18 3:46:14281 days ago1744947974
0x00000000...74de0D938
 Contract Creation0 MNT
784087512025-04-18 3:43:34281 days ago1744947814
0x00000000...74de0D938
 Contract Creation0 MNT
776990452025-04-01 17:26:42298 days ago1743528402
0x00000000...74de0D938
 Contract Creation0 MNT
771552012025-03-20 3:18:34310 days ago1742440714
0x00000000...74de0D938
 Contract Creation0 MNT
771227112025-03-19 9:15:34311 days ago1742375734
0x00000000...74de0D938
 Contract Creation0 MNT
765193992025-03-05 10:05:10325 days ago1741169110
0x00000000...74de0D938
 Contract Creation0 MNT
765098372025-03-05 4:46:26325 days ago1741149986
0x00000000...74de0D938
 Contract Creation0 MNT
765043472025-03-05 1:43:26326 days ago1741139006
0x00000000...74de0D938
 Contract Creation0 MNT
765041662025-03-05 1:37:24326 days ago1741138644
0x00000000...74de0D938
 Contract Creation0 MNT
764983862025-03-04 22:24:44326 days ago1741127084
0x00000000...74de0D938
 Contract Creation0 MNT
753267542025-02-05 19:30:20353 days ago1738783820
0x00000000...74de0D938
 Contract Creation0 MNT
751394842025-02-01 11:28:00357 days ago1738409280
0x00000000...74de0D938
 Contract Creation0 MNT
750692742025-01-30 20:27:40359 days ago1738268860
0x00000000...74de0D938
 Contract Creation0 MNT
745427982025-01-18 15:58:28371 days ago1737215908
0x00000000...74de0D938
 Contract Creation0 MNT
744423412025-01-16 8:09:54373 days ago1737014994
0x00000000...74de0D938
 Contract Creation0 MNT
744217602025-01-15 20:43:52374 days ago1736973832
0x00000000...74de0D938
 Contract Creation0 MNT
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenFactory

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;


contract TokenFactory {

    address public owner;
    address public implementation;

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

    constructor() {
        _transferOwnership(tx.origin);
    }

    modifier onlyOwner() {
        require(owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function upgradeTo(address newImplementation) external onlyOwner {
        _upgradeTo(newImplementation);
    }

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

    function _upgradeTo(address newImplementation) private {
        if (newImplementation != address(0)) {
            require(newImplementation.code.length > 0, "Invalid implementation address");
        }
        implementation = newImplementation;
        emit Upgraded(newImplementation);
    }

    function _transferOwnership(address newOwner) private {
        address oldOwner = owner;
        owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    receive() external payable {}

    fallback() external payable {
        address impl = implementation;
        require(impl != address(0), "Implementation not set");
        assembly {
            calldatacopy(0, 0, calldatasize())

            if delegatecall(gas(), impl, 0, calldatasize(), 0, 0) {
                returndatacopy(0, 0, returndatasize())
                return(0, returndatasize())
            }

            returndatacopy(0, 0, returndatasize())
            revert(0, returndatasize())
        }
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5061001a3261001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6103fd8061007e6000396000f3fe6080604052600436106100435760003560e01c80633659cfe6146100c85780635c60da1b146100ea5780638da5cb5b14610126578063f2fde38b146101465761004a565b3661004a57005b6001546001600160a01b0316806100a15760405162461bcd60e51b8152602060048201526016602482015275125b5c1b195b595b9d185d1a5bdb881b9bdd081cd95d60521b60448201526064015b60405180910390fd5b3660008037600080366000845af4156100be573d6000803e3d6000f35b3d6000803e3d6000fd5b3480156100d457600080fd5b506100e86100e3366004610397565b610166565b005b3480156100f657600080fd5b5060015461010a906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561013257600080fd5b5060005461010a906001600160a01b031681565b34801561015257600080fd5b506100e8610161366004610397565b6101cc565b6000546001600160a01b031633146101c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610098565b6101c981610294565b50565b6000546001600160a01b031633146102265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610098565b6001600160a01b03811661028b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610098565b6101c981610347565b6001600160a01b038116156102fd576000816001600160a01b03163b116102fd5760405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420696d706c656d656e746174696f6e206164647265737300006044820152606401610098565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103a957600080fd5b81356001600160a01b03811681146103c057600080fd5b939250505056fea2646970667358221220824ef48e6bd39b2761762874a00d195d17614f152d65dede6c6143d21576b04f64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100435760003560e01c80633659cfe6146100c85780635c60da1b146100ea5780638da5cb5b14610126578063f2fde38b146101465761004a565b3661004a57005b6001546001600160a01b0316806100a15760405162461bcd60e51b8152602060048201526016602482015275125b5c1b195b595b9d185d1a5bdb881b9bdd081cd95d60521b60448201526064015b60405180910390fd5b3660008037600080366000845af4156100be573d6000803e3d6000f35b3d6000803e3d6000fd5b3480156100d457600080fd5b506100e86100e3366004610397565b610166565b005b3480156100f657600080fd5b5060015461010a906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561013257600080fd5b5060005461010a906001600160a01b031681565b34801561015257600080fd5b506100e8610161366004610397565b6101cc565b6000546001600160a01b031633146101c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610098565b6101c981610294565b50565b6000546001600160a01b031633146102265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610098565b6001600160a01b03811661028b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610098565b6101c981610347565b6001600160a01b038116156102fd576000816001600160a01b03163b116102fd5760405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420696d706c656d656e746174696f6e206164647265737300006044820152606401610098565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103a957600080fd5b81356001600160a01b03811681146103c057600080fd5b939250505056fea2646970667358221220824ef48e6bd39b2761762874a00d195d17614f152d65dede6c6143d21576b04f64736f6c63430008110033

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  ]

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.