MON Price: $0.022921 (+2.73%)

Contract

0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9

Overview

MON Balance

Monad Chain LogoMonad Chain LogoMonad Chain Logo0 MON

MON Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NoOpGovernanceFactory

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 0 runs

Other Settings:
cancun EvmVersion
File 1 of 2 : NoOpGovernanceFactory.sol
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.24;

import { IGovernanceFactory } from "src/interfaces/IGovernanceFactory.sol";

/**
 * @title NoOpGovernanceFactory
 * @notice A governance factory that returns dummy addresses instead of deploying actual governance contracts
 * @dev This is used for tokens that don't require governance mechanisms
 */
contract NoOpGovernanceFactory is IGovernanceFactory {
    /// @notice The dummy address returned for both governance and timelock
    /// @dev Using 0xdead as it's a well-known burn address
    address public constant DEAD_ADDRESS = address(0xdead);

    /**
     * @notice Creates no-op governance by returning dummy addresses
     * @dev Parameters are ignored as no contracts are deployed
     * @return governance The dummy governance address (0xdead)
     * @return timelockController The dummy timelock address (0xdead)
     */
    function create(
        address, // asset (unused)
        bytes calldata // governanceData (unused)
    ) external pure returns (address governance, address timelockController) {
        // Return dummy addresses instead of deploying contracts
        return (DEAD_ADDRESS, DEAD_ADDRESS);
    }
}

File 2 of 2 : IGovernanceFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

interface IGovernanceFactory {
    function create(
        address asset,
        bytes calldata governanceData
    ) external returns (address governance, address timelockController);
}

Settings
{
  "remappings": [
    "ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-gas-snapshot/=lib/v4-core/lib/forge-gas-snapshot/src/",
    "forge-std/=lib/forge-std/src/",
    "hardhat/=lib/v4-core/node_modules/hardhat/",
    "permit2/=lib/v4-periphery/lib/permit2/",
    "@solmate/=lib/v4-core/lib/solmate/src/",
    "@solady/=lib/solady/src/",
    "src:@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/contracts/",
    "test:@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/contracts/",
    "@v4-periphery/=lib/v4-periphery/src/",
    "@v4-periphery-test/=lib/v4-periphery/test/",
    "@v4-core-test/=lib/v4-periphery/lib/v4-core/test/",
    "@v4-core/=lib/v4-periphery/lib/v4-core/src/",
    "@v3-periphery/=lib/v3-periphery/contracts/",
    "@v3-core/=lib/v3-core/contracts/",
    "@uniswap/v3-core/=lib/v3-core/",
    "@universal-router/=lib/universal-router/contracts/",
    "@uniswap/v2-core/contracts/interfaces/=src/interfaces/",
    "@ensdomains/=lib/v4-core/node_modules/@ensdomains/",
    "@openzeppelin/=lib/v4-core/lib/openzeppelin-contracts/",
    "@uniswap/v3-periphery/=lib/universal-router/lib/v3-periphery/",
    "@uniswap/v4-core/=lib/v4-periphery/lib/v4-core/",
    "@uniswap/v4-periphery/=lib/universal-router/lib/v4-periphery/",
    "openzeppelin-contracts/=lib/v4-core/lib/openzeppelin-contracts/",
    "solady/=lib/solady/src/",
    "solmate/=lib/universal-router/lib/solmate/",
    "universal-router/=lib/universal-router/",
    "v3-core/=lib/v3-core/",
    "v3-periphery/=lib/v3-periphery/contracts/",
    "v4-core/=lib/v4-core/src/",
    "v4-periphery/=lib/v4-periphery/",
    "view-quoter-v4/=lib/view-quoter-v4/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 0
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "none",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"name":"DEAD_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"create","outputs":[{"internalType":"address","name":"governance","type":"address"},{"internalType":"address","name":"timelockController","type":"address"}],"stateMutability":"pure","type":"function"}]

6080806040523460135760c1908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c9081634e6fd6c414609c575063a3f697ba14602f575f80fd5b3460985760403660031901126098576004356001600160a01b038116036098576024356001600160401b0381116098573660238201121560985760048101356001600160401b038111609857369101602401116098576040805161dead815261dead6020820152f35b5f80fd5b346098575f3660031901126098578061dead60209252f3fea164736f6c634300081a000a

Deployed Bytecode

0x60808060405260043610156011575f80fd5b5f3560e01c9081634e6fd6c414609c575063a3f697ba14602f575f80fd5b3460985760403660031901126098576004356001600160a01b038116036098576024356001600160401b0381116098573660238201121560985760048101356001600160401b038111609857369101602401116098576040805161dead815261dead6020820152f35b5f80fd5b346098575f3660031901126098578061dead60209252f3fea164736f6c634300081a000a

Block Transaction 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

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.