ETH Price: $2,956.76 (-0.00%)

Token

WrappedM by M^0 (wM)

Overview

Max Total Supply

672,854,563.164511 wM

Holders

148 (0.00%)

Market

Price

$0.9994 @ 0.000338 ETH (+0.03%)

Onchain Market Cap

$672,461,616.10

Circulating Supply Market Cap

$762,805,931.00

Other Info

Token Contract (WITH 6 Decimals)

Balance
0.65869 wM

Value
$0.66 ( ~0.000223217605065413 ETH) [0.0000%]
0xf5c4f3dc02c3fb9279495a8fef7b0741da956157
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

$M (wrapped) is a DeFi-native version of $M leveraging innovative wrapper technology. It maintains 1:1 redeemability with $M, while allowing for customized and automated on-chain yield distribution.

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 1500 runs

Other Settings:
cancun EvmVersion
File 1 of 1 : Proxy.sol
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.8.20 <0.9.0;

/**
 * @title  Minimal transparent proxy.
 * @author M^0 Labs
 */
contract Proxy {
    /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.
    uint256 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @dev   Constructs the contract given the address of some implementation.
     * @param implementation_ The address of some implementation.
     */
    constructor(address implementation_) {
        if (implementation_ == address(0)) revert();

        assembly {
            sstore(_IMPLEMENTATION_SLOT, implementation_)
        }
    }

    fallback() external payable virtual {
        bytes32 implementation_;

        assembly {
            implementation_ := sload(_IMPLEMENTATION_SLOT)
        }

        assembly {
            calldatacopy(0, 0, calldatasize())

            let result_ := delegatecall(gas(), implementation_, 0, calldatasize(), 0, 0)

            returndatacopy(0, 0, returndatasize())

            switch result_
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }
}

Settings
{
  "remappings": [
    "common/=lib/common/src/",
    "ds-test/=lib/native-token-transfers/evm/lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "native-token-transfers/=lib/native-token-transfers/",
    "openzeppelin-contracts/=lib/native-token-transfers/evm/lib/openzeppelin-contracts/",
    "protocol/=lib/protocol/",
    "solidity-bytes-utils/=lib/native-token-transfers/evm/lib/solidity-bytes-utils/contracts/",
    "ttg/=lib/ttg/",
    "wormhole-solidity-sdk/=lib/native-token-transfers/evm/lib/wormhole-solidity-sdk/src/",
    "wrapped-m-token/=lib/wrapped-m-token/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1500
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": true,
  "libraries": {
    "lib/native-token-transfers/evm/src/libraries/TransceiverStructs.sol": {
      "TransceiverStructs": "0x188B1E9E77B04E1699A78D929568Ed5BB15F962C"
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

608034608057601f61011038819003918201601f19168301916001600160401b03831184841017608457808492602094604052833981010312608057516001600160a01b038116808203608057156080577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55604051607790816100998239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040525f807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54368280378136915af43d5f803e15603d573d5ff35b3d5ffdfea2646970667358221220873fa86d070f0e378ace52953e252f64968354d185bab148e3a6aad8dcd9523f64736f6c634300081a0033000000000000000000000000813b926b1d096e117721bd1eb017fba122302da0

Deployed Bytecode

0x60806040525f807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54368280378136915af43d5f803e15603d573d5ff35b3d5ffdfea2646970667358221220873fa86d070f0e378ace52953e252f64968354d185bab148e3a6aad8dcd9523f64736f6c634300081a0033

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

000000000000000000000000813b926b1d096e117721bd1eb017fba122302da0

-----Decoded View---------------
Arg [0] : implementation_ (address): 0x813B926B1D096e117721bD1Eb017FbA122302DA0

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000813b926b1d096e117721bd1eb017fba122302da0


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.