MON Price: $0.018683 (-2.17%)

Contract

0xC6a7cc26fd84aE573b705423b7d1831139793025

Overview

MON Balance

Monad Chain LogoMonad Chain LogoMonad Chain Logo0 MON

MON Value

$0.00

Token Holdings

More Info

Private Name Tags

Transaction Hash
Method
Block
From
To
Set Fee Collecto...426119972025-12-17 10:54:3038 days ago1765968870IN
0xC6a7cc26...139793025
0 MON0.00919048104
Register Affilia...426119642025-12-17 10:54:1738 days ago1765968857IN
0xC6a7cc26...139793025
0 MON0.00805147102
Deposit For411344342025-12-10 13:57:3445 days ago1765375054IN
0xC6a7cc26...139793025
0 MON0.02516756125.72845
Set Fee Collecto...394590532025-12-02 18:41:1453 days ago1764700874IN
0xC6a7cc26...139793025
0 MON0.0072626102
Set Fee Collecto...394334822025-12-02 15:50:1853 days ago1764690618IN
0xC6a7cc26...139793025
0 MON0.00889949100.70716933
Grant Role394326892025-12-02 15:45:0053 days ago1764690300IN
0xC6a7cc26...139793025
0 MON0.01017499126.5625
Grant Role394316102025-12-02 15:37:4853 days ago1764689868IN
0xC6a7cc26...139793025
0 MON0.00984995101.70527709
Register Party B394316042025-12-02 15:37:4553 days ago1764689865IN
0xC6a7cc26...139793025
0 MON0.01516699126.5625
Register Party B394315992025-12-02 15:37:4353 days ago1764689863IN
0xC6a7cc26...139793025
0 MON0.01223066102.06
Register Party B394315932025-12-02 15:37:4153 days ago1764689861IN
0xC6a7cc26...139793025
0 MON0.0173483126.5625
Register Affilia...394315872025-12-02 15:37:3953 days ago1764689859IN
0xC6a7cc26...139793025
0 MON0.00999033126.5625
Grant Role384929922025-11-28 6:27:0257 days ago1764311222IN
0xC6a7cc26...139793025
0 MON0.00816124101.5143418
Grant Role384929872025-11-28 6:27:0057 days ago1764311220IN
0xC6a7cc26...139793025
0 MON0.00818709101.83588845
Set Collateral384905992025-11-28 6:11:0257 days ago1764310262IN
0xC6a7cc26...139793025
0 MON0.01283929101.9161921
Grant Role384902542025-11-28 6:08:4457 days ago1764310124IN
0xC6a7cc26...139793025
0 MON0.00672983126.5625
Set Balance Limi...384899962025-11-28 6:07:0057 days ago1764310020IN
0xC6a7cc26...139793025
0 MON0.00802472101.76810144
Set Liquidation ...384899912025-11-28 6:06:5857 days ago1764310018IN
0xC6a7cc26...139793025
0 MON0.00808096101.56179386
Set Liquidator S...384899862025-11-28 6:06:5657 days ago1764310016IN
0xC6a7cc26...139793025
0 MON0.00803544101.97520848
Set Force Cancel...384899822025-11-28 6:06:5457 days ago1764310014IN
0xC6a7cc26...139793025
0 MON0.00804989101.92194207
Set Force Close ...384899772025-11-28 6:06:5357 days ago1764310013IN
0xC6a7cc26...139793025
0 MON0.00810842101.95044662
Set Force Close ...384899722025-11-28 6:06:5057 days ago1764310010IN
0xC6a7cc26...139793025
0 MON0.01115125102
Set Force Cancel...384899662025-11-28 6:06:4857 days ago1764310008IN
0xC6a7cc26...139793025
0 MON0.00814568103.02
Set Deallocate C...384899612025-11-28 6:06:4657 days ago1764310006IN
0xC6a7cc26...139793025
0 MON0.00819894103.02
Add Symbols384899562025-11-28 6:06:4457 days ago1764310004IN
0xC6a7cc26...139793025
0 MON0.00633559126.5625
Set Invalid Brid...384899512025-11-28 6:06:4257 days ago1764310002IN
0xC6a7cc26...139793025
0 MON0.00818071103.02
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Diamond

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.18;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

import { LibDiamond } from "./libraries/LibDiamond.sol";
import { IDiamondCut } from "./facets/DiamondCut/IDiamondCut.sol";

contract Diamond {
	receive() external payable {}

	constructor(address _contractOwner, address _diamondCutFacet) payable {
		LibDiamond.setContractOwner(_contractOwner);

		// Add the diamondCut external function from the diamondCutFacet
		IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](1);
		bytes4[] memory functionSelectors = new bytes4[](1);
		functionSelectors[0] = IDiamondCut.diamondCut.selector;
		cut[0] = IDiamondCut.FacetCut({
			facetAddress: _diamondCutFacet,
			action: IDiamondCut.FacetCutAction.Add,
			functionSelectors: functionSelectors
		});
		LibDiamond.diamondCut(cut, address(0), "");
	}

	// Find facet for function that is called and execute the
	// function if a facet is found and return any value.
	fallback() external payable {
		LibDiamond.DiamondStorage storage ds;
		bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;
		// get diamond storage
		assembly {
			ds.slot := position
		}
		// get facet from function selector
		address facet = ds.facetAddressAndSelectorPosition[msg.sig].facetAddress;
		require(facet != address(0), "Diamond: Function does not exist");
		// Execute external function from facet using delegatecall and return any value.
		assembly {
			// copy function selector and any arguments
			calldatacopy(0, 0, calldatasize())
			// execute function call using the facet
			let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0)
			// get any return value
			returndatacopy(0, 0, returndatasize())
			// return any return value or error back to the caller
			switch result
			case 0 {
				revert(0, returndatasize())
			}
			default {
				return(0, returndatasize())
			}
		}
	}
}

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.18;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

interface IDiamondCut {
	// Add=0, Replace=1, Remove=2
	enum FacetCutAction {
		Add,
		Replace,
		Remove
	}

	struct FacetCut {
		address facetAddress;
		FacetCutAction action;
		bytes4[] functionSelectors;
	}

	/// @notice Add/replace/remove any number of functions and optionally execute
	///         a function with delegatecall
	/// @param _diamondCut Contains the facet addresses and function selectors
	/// @param _init The address of the contract or facet to execute _calldata
	/// @param _calldata A function call, including function selector and arguments
	///                  _calldata is executed with delegatecall on _init
	function diamondCut(FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata) external;

	event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
}

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.18;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

// A loupe is a small magnifying glass used to look at diamonds.
// These functions look at diamonds
interface IDiamondLoupe {
	struct Facet {
		address facetAddress;
		bytes4[] functionSelectors;
	}

	/// @notice Gets all facet addresses and their four byte function selectors.
	/// @return facets_ Facet
	function facets() external view returns (Facet[] memory facets_);

	/// @notice Gets all the function selectors supported by a specific facet.
	/// @param _facet The facet address.
	/// @return facetFunctionSelectors_
	function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory facetFunctionSelectors_);

	/// @notice Get all the facet addresses used by a diamond.
	/// @return facetAddresses_
	function facetAddresses() external view returns (address[] memory facetAddresses_);

	/// @notice Gets the facet that supports the given selector.
	/// @dev If facet is not found return address(0).
	/// @param _functionSelector The function selector.
	/// @return facetAddress_ The facet address.
	function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_);
}

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.18;

interface IERC165 {
	/// @notice Query if a contract implements an interface
	/// @param interfaceId The interface identifier, as specified in ERC-165
	/// @dev Interface identification is specified in ERC-165. This function
	///  uses less than 30,000 gas.
	/// @return `true` if the contract implements `interfaceID` and
	///  `interfaceID` is not 0xffffffff, `false` otherwise
	function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.18;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

import { IDiamondCut } from "../facets/DiamondCut/IDiamondCut.sol";
import { IDiamondLoupe } from "../facets/DiamondLoup/IDiamondLoupe.sol";
import { IERC165 } from "../interfaces/IERC165.sol";

library LibDiamond {
	bytes32 public constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage");

	struct FacetAddressAndSelectorPosition {
		address facetAddress;
		uint16 selectorPosition;
	}

	struct DiamondStorage {
		// function selector => facet address and selector position in selectors array
		mapping(bytes4 => FacetAddressAndSelectorPosition) facetAddressAndSelectorPosition;
		bytes4[] selectors;
		mapping(bytes4 => bool) supportedInterfaces;
		// owner of the contract
		address contractOwner;
	}

	function diamondStorage() internal pure returns (DiamondStorage storage ds) {
		bytes32 position = DIAMOND_STORAGE_POSITION;
		assembly {
			ds.slot := position
		}
	}

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

	function setContractOwner(address _newOwner) internal {
		DiamondStorage storage ds = diamondStorage();
		address previousOwner = ds.contractOwner;
		ds.contractOwner = _newOwner;
		emit OwnershipTransferred(previousOwner, _newOwner);
	}

	function contractOwner() internal view returns (address contractOwner_) {
		contractOwner_ = diamondStorage().contractOwner;
	}

	function enforceIsOwnerOrContract() internal view {
		require(msg.sender == diamondStorage().contractOwner || msg.sender == address(this), "LibDiamond: Must be contract or owner");
	}

	function enforceIsContractOwner() internal view {
		require(msg.sender == diamondStorage().contractOwner, "LibDiamond: Must be contract owner");
	}

	event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata);

	// Internal function version of diamondCut
	function diamondCut(IDiamondCut.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata) internal {
		for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) {
			IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action;
			if (action == IDiamondCut.FacetCutAction.Add) {
				addFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
			} else if (action == IDiamondCut.FacetCutAction.Replace) {
				replaceFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
			} else if (action == IDiamondCut.FacetCutAction.Remove) {
				removeFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
			} else {
				revert("LibDiamondCut: Incorrect FacetCutAction");
			}
		}
		emit DiamondCut(_diamondCut, _init, _calldata);
		initializeDiamondCut(_init, _calldata);
	}

	function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
		require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
		DiamondStorage storage ds = diamondStorage();
		uint16 selectorCount = uint16(ds.selectors.length);
		require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)");
		enforceHasContractCode(_facetAddress, "LibDiamondCut: Add facet has no code");
		for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
			bytes4 selector = _functionSelectors[selectorIndex];
			address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress;
			require(oldFacetAddress == address(0), "LibDiamondCut: Can't add function that already exists");
			ds.facetAddressAndSelectorPosition[selector] = FacetAddressAndSelectorPosition(_facetAddress, selectorCount);
			ds.selectors.push(selector);
			selectorCount++;
		}
	}

	function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
		require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
		DiamondStorage storage ds = diamondStorage();
		require(_facetAddress != address(0), "LibDiamondCut: Replace facet can't be address(0)");
		enforceHasContractCode(_facetAddress, "LibDiamondCut: Replace facet has no code");
		for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
			bytes4 selector = _functionSelectors[selectorIndex];
			address oldFacetAddress = ds.facetAddressAndSelectorPosition[selector].facetAddress;
			// can't replace immutable functions -- functions defined directly in the diamond
			require(oldFacetAddress != address(this), "LibDiamondCut: Can't replace immutable function");
			require(oldFacetAddress != _facetAddress, "LibDiamondCut: Can't replace function with same function");
			require(oldFacetAddress != address(0), "LibDiamondCut: Can't replace function that doesn't exist");
			// replace old facet address
			ds.facetAddressAndSelectorPosition[selector].facetAddress = _facetAddress;
		}
	}

	function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
		require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
		DiamondStorage storage ds = diamondStorage();
		uint256 selectorCount = ds.selectors.length;
		require(_facetAddress == address(0), "LibDiamondCut: Remove facet address must be address(0)");
		for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
			bytes4 selector = _functionSelectors[selectorIndex];
			FacetAddressAndSelectorPosition memory oldFacetAddressAndSelectorPosition = ds.facetAddressAndSelectorPosition[selector];
			require(oldFacetAddressAndSelectorPosition.facetAddress != address(0), "LibDiamondCut: Can't remove function that doesn't exist");
			// can't remove immutable functions -- functions defined directly in the diamond
			require(oldFacetAddressAndSelectorPosition.facetAddress != address(this), "LibDiamondCut: Can't remove immutable function.");
			// replace selector with last selector
			selectorCount--;
			if (oldFacetAddressAndSelectorPosition.selectorPosition != selectorCount) {
				bytes4 lastSelector = ds.selectors[selectorCount];
				ds.selectors[oldFacetAddressAndSelectorPosition.selectorPosition] = lastSelector;
				ds.facetAddressAndSelectorPosition[lastSelector].selectorPosition = oldFacetAddressAndSelectorPosition.selectorPosition;
			}
			// delete last selector
			ds.selectors.pop();
			delete ds.facetAddressAndSelectorPosition[selector];
		}
	}

	function initializeDiamondCut(address _init, bytes memory _calldata) internal {
		if (_init == address(0)) {
			require(_calldata.length == 0, "LibDiamondCut: _init is address(0) but_calldata is not empty");
		} else {
			require(_calldata.length > 0, "LibDiamondCut: _calldata is empty but _init is not address(0)");
			if (_init != address(this)) {
				enforceHasContractCode(_init, "LibDiamondCut: _init address has no code");
			}
			(bool success, bytes memory error) = _init.delegatecall(_calldata);
			if (!success) {
				if (error.length > 0) {
					// bubble up the error
					revert(string(error));
				} else {
					revert("LibDiamondCut: _init function reverted");
				}
			}
		}
	}

	function enforceHasContractCode(address _contract, string memory _errorMessage) internal view {
		uint256 contractSize;
		assembly {
			contractSize := extcodesize(_contract)
		}
		require(contractSize > 0, _errorMessage);
	}
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

60806001600160401b03601f610eab38819003918201601f191684019183831185841017610349578085926040948552833981010312610bf35761004e602061004784610c36565b9301610c36565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f80546001600160a01b039485166001600160a01b03198216811790925591939091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36100be610c17565b916001835260005b60208110610bcb57506100d7610c17565b60018152602036818301376307e4c70760e21b6100f382610c4a565b526100fc610bf8565b6001600160a01b03909216825260006020830152604082015261011e83610c4a565b5261012882610c4a565b50604051906020820190811182821017610349576040526000808252825b8051821015610a4957602061015b8383610c6d565b5101516003811015610a33578061043b57506001600160a01b0361017f8383610c6d565b51511690604061018f8483610c6d565b5101519061019f82511515610cd0565b61ffff600080516020610e8b83398151915254169083156103e1576102026101c5610bf8565b602481527f4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20602082015263636f646560e01b604082015285610d60565b6000915b83518310156103ca576001600160e01b03196102228486610c6d565b51166000818152600080516020610e6b83398151915260205260409020546001600160a01b031661035f576102b8610258610c17565b87815261ffff9390931660208085018281526000858152600080516020610e6b83398151915290925260409091209451855491516001600160b01b03199092166001600160a01b03919091161760a09190911b61ffff60a01b1617909355565b600080516020610e8b833981519152549068010000000000000000821015610349576102fa8260016103179401600080516020610e8b83398151915255610d30565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b61ffff811461033357600161032d910192610c81565b91610206565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608490fd5b5094939150506103da9150610c81565b9091610146565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b600181036106c857506001600160a01b036104568383610c6d565b5151169260406104668484610c6d565b5101519161047683511515610cd0565b841561066a576104c8610487610bf8565b602881527f4c69624469616d6f6e644375743a205265706c61636520666163657420686173602082015267206e6f20636f646560c01b604082015286610d60565b60005b835181101561065c576001600160e01b03196104e78286610c6d565b51169081600052600080516020610e6b8339815191528060205260018060a01b03604060002054163081146105ff578881146105a6571561054d576000928352602052604090912080546001600160a01b0319168717905561054890610c81565b6104cb565b60405162461bcd60e51b81526020600482015260386024820152600080516020610e4b83398151915260448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608490fd5b60405162461bcd60e51b81526020600482015260386024820152600080516020610e4b83398151915260448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201526e3aba30b1363290333ab731ba34b7b760891b6064820152608490fd5b509350916103da9150610c81565b60405162461bcd60e51b815260206004820152603060248201527f4c69624469616d6f6e644375743a205265706c6163652066616365742063616e60448201526f2774206265206164647265737328302960801b6064820152608490fd5b6002036109de576001600160a01b036106e18383610c6d565b5151169260406106f18484610c6d565b5101519161070183511515610cd0565b600080516020610e8b83398151915254946109735760005b835181101561065c576001600160e01b03196107358286610c6d565b51169081600052600080516020610e6b83398151915260205260406000209661075c610c17565b97546001600160a01b038116808a5260a09190911c61ffff1660208a0152156109085787516001600160a01b031630146108ab5780156103335760001901968761ffff60208301511603610830575b50600080516020610e8b8339815191525491821561081a5761081592600019016107d481610d30565b63ffffffff82549160031b1b19169055600080516020610e8b83398151915255600052600080516020610e6b83398151915260205260006040812055610c81565b610719565b634e487b7160e01b600052603160045260246000fd5b6108a59061ffff60206108428b610d30565b90549060031b1c60e01b9261085f846102fa858585015116610d30565b01516001600160e01b03199092166000908152600080516020610e6b83398151915260205260409020805461ffff60a01b19169190921660a01b61ffff60a01b16179055565b876107ab565b60405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526e3a30b1363290333ab731ba34b7b71760891b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b8260405160608082018183528451809152608090818401926020838360051b8701019701936000915b838310610b3757877f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738880610ab68d60006020840152828103604084015285610c90565b0390a151610acc5760405160b99081610d928239f35b60405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608490fd5b909192939497607f19878203018352885160018060a01b0381511682526020810151906003821015610a33576040916020840152015190826040820152602087848301928451809452019201906000905b808210610ba8575050506020806001929a01930193019194939290610a72565b82516001600160e01b031916845260209384019390920191600190910190610b88565b602090610bd6610bf8565b6000815260008382015260606040820152828287010152016100c6565b600080fd5b60405190606082016001600160401b0381118382101761034957604052565b60408051919082016001600160401b0381118382101761034957604052565b51906001600160a01b0382168203610bf357565b805115610c575760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610c575760209160051b010190565b60001981146103335760010190565b919082519283825260005b848110610cbc575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610c9b565b15610cd757565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b90600080516020610e8b8339815191528054831015610c5757600052601c60206000208360031c019260021b1690565b3b15610d695750565b60405162461bcd60e51b815260206004820152908190610d8d906024830190610c90565b0390fdfe6080604052361560aa57600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b03168015606c57818091368280378136915af43d82803e156068573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b00fea164736f6c6343000812000a4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d000000000000000000000000f12239317e985f6772f86407608b166efa3e2f050000000000000000000000006d87fb6e54e9c8e18bc57decd9c772e4b323a300

Deployed Bytecode

0x6080604052361560aa57600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b03168015606c57818091368280378136915af43d82803e156068573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b00fea164736f6c6343000812000a

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

000000000000000000000000f12239317e985f6772f86407608b166efa3e2f050000000000000000000000006d87fb6e54e9c8e18bc57decd9c772e4b323a300

-----Decoded View---------------
Arg [0] : _contractOwner (address): 0xf12239317e985f6772F86407608B166EfA3E2f05
Arg [1] : _diamondCutFacet (address): 0x6D87fb6e54E9C8E18Bc57DeCD9c772e4B323a300

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f12239317e985f6772f86407608b166efa3e2f05
Arg [1] : 0000000000000000000000006d87fb6e54e9c8e18bc57decd9c772e4b323a300


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
[ 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.