MON Price: $0.022932 (+2.78%)

Contract

0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D

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

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LaunchpadGovernanceFactory

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 0 runs

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

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

/**
 * @title LaunchpadGovernanceFactory
 * @notice A governance factory that returns a multisig instead of deploying actual governance contracts
 * @dev This is used for tokens that do not require on-chain governance, but want to sweep unused funds
 */
contract LaunchpadGovernanceFactory is IGovernanceFactory {
    /// @inheritdoc IGovernanceFactory
    function create(
        address,
        bytes calldata data
    ) external pure returns (address governance, address timelockController) {
        address multisig = abi.decode(data, (address));
        return (DEAD_ADDRESS, multisig);
    }
}

File 2 of 3 : 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);
}

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

/// @dev Empty address used to indicate no pool address exists (because Uniswap V4 is a singleton)
address constant EMPTY_ADDRESS = address(0);

/// @dev Dead address used for NoOp governance
address constant DEAD_ADDRESS = address(0xdead);

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":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"create","outputs":[{"internalType":"address","name":"governance","type":"address"},{"internalType":"address","name":"timelockController","type":"address"}],"stateMutability":"pure","type":"function"}]

6080806040523460135760b8908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63a3f697ba146023575f80fd5b3460a757604036600319011260a7576004356001600160a01b0381160360a7576024356001600160401b03811160a7573660238201121560a75760048101356001600160401b03811160a757810136602482011160a7576020908290031260a757602401359060018060a01b03821680920360a75760409161dead82526020820152f35b5f80fdfea164736f6c634300081a000a

Deployed Bytecode

0x60808060405260043610156011575f80fd5b5f3560e01c63a3f697ba146023575f80fd5b3460a757604036600319011260a7576004356001600160a01b0381160360a7576024356001600160401b03811160a7573660238201121560a75760048101356001600160401b03811160a757810136602482011160a7576020908290031260a757602401359060018060a01b03821680920360a75760409161dead82526020820152f35b5f80fdfea164736f6c634300081a000a

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.