S Price: $0.067753 (-0.70%)

Contract

0x803de354cbd853D9aE3BC58131A5D538DE7a72E3

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
0x3b8e6eab507007832025-10-15 7:35:39103 days ago1760513739IN
0x803de354...8DE7a72E3
0 S0.0033914655
0x3b8e6eab506210982025-10-14 15:42:51104 days ago1760456571IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x3b8e6eab506210912025-10-14 15:42:47104 days ago1760456567IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x3b8e6eab506210832025-10-14 15:42:42104 days ago1760456562IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x3b8e6eab506194212025-10-14 15:26:51104 days ago1760455611IN
0x803de354...8DE7a72E3
0 S0.0039414655
0x3b8e6eab506191152025-10-14 15:24:11104 days ago1760455451IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x3b8e6eab506190992025-10-14 15:24:02104 days ago1760455442IN
0x803de354...8DE7a72E3
0 S0.0028420755
0x3b8e6eab506190902025-10-14 15:23:58104 days ago1760455438IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x3b8e6eab506190862025-10-14 15:23:54104 days ago1760455434IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x3b8e6eab506190712025-10-14 15:23:44104 days ago1760455424IN
0x803de354...8DE7a72E3
0 S0.0028414655
0x5a6d1b35506085782025-10-14 13:54:44104 days ago1760450084IN
0x803de354...8DE7a72E3
0 S0.0022647355
0x6f01f246506036382025-10-14 13:14:31104 days ago1760447671IN
0x803de354...8DE7a72E3
0 S0.0028147355
0x6f01f246506027892025-10-14 13:05:56104 days ago1760447156IN
0x803de354...8DE7a72E3
0 S0.0028147355
0x5a6d1b35506026012025-10-14 13:04:03104 days ago1760447043IN
0x803de354...8DE7a72E3
0 S0.0022647355
Deposit506021722025-10-14 12:59:38104 days ago1760446778IN
0x803de354...8DE7a72E3
0 S0.0053610155
Transfer506017832025-10-14 12:55:20104 days ago1760446520IN
0x803de354...8DE7a72E3
0 S0.0015913155
0x5a6d1b35506010802025-10-14 12:48:40104 days ago1760446120IN
0x803de354...8DE7a72E3
0 S0.0022647355
0x6f01f246505991182025-10-14 12:29:53104 days ago1760444993IN
0x803de354...8DE7a72E3
0 S0.0028147355
0x5a6d1b35505985102025-10-14 12:22:58104 days ago1760444578IN
0x803de354...8DE7a72E3
0 S0.0022647355
Deposit For425049822025-08-11 11:48:11168 days ago1754912891IN
0x803de354...8DE7a72E3
0 S0.0041104255
Deposit For424998012025-08-11 11:01:30168 days ago1754910090IN
0x803de354...8DE7a72E3
0 S0.0050524155
Transfer Ownersh...405870662025-07-28 11:58:28182 days ago1753703908IN
0x803de354...8DE7a72E3
0 S0.0019880655.01
Deposit For379003352025-07-10 16:09:00200 days ago1752163740IN
0x803de354...8DE7a72E3
0 S0.0041097655
Deposit For378990622025-07-10 15:56:24200 days ago1752162984IN
0x803de354...8DE7a72E3
0 S0.0041097655
Deposit For370182332025-07-03 15:44:35207 days ago1751557475IN
0x803de354...8DE7a72E3
0 S0.0041104255
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
612102582026-01-26 17:41:502 mins ago1769449310
0x803de354...8DE7a72E3
0 S
612102582026-01-26 17:41:502 mins ago1769449310
0x803de354...8DE7a72E3
0 S
612102582026-01-26 17:41:502 mins ago1769449310
0x803de354...8DE7a72E3
0 S
612102582026-01-26 17:41:502 mins ago1769449310
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612102512026-01-26 17:41:452 mins ago1769449305
0x803de354...8DE7a72E3
0 S
612088332026-01-26 17:16:5727 mins ago1769447817
0x803de354...8DE7a72E3
0 S
612088332026-01-26 17:16:5727 mins ago1769447817
0x803de354...8DE7a72E3
0 S
612088332026-01-26 17:16:5727 mins ago1769447817
0x803de354...8DE7a72E3
0 S
612088332026-01-26 17:16:5727 mins ago1769447817
0x803de354...8DE7a72E3
0 S
612088332026-01-26 17:16:5727 mins ago1769447817
0x803de354...8DE7a72E3
0 S
612088332026-01-26 17:16:5727 mins ago1769447817
0x803de354...8DE7a72E3
0 S
612081552026-01-26 17:04:1440 mins ago1769447054
0x803de354...8DE7a72E3
0 S
612081552026-01-26 17:04:1440 mins ago1769447054
0x803de354...8DE7a72E3
0 S
612081552026-01-26 17:04:1440 mins ago1769447054
0x803de354...8DE7a72E3
0 S
612081552026-01-26 17:04:1440 mins ago1769447054
0x803de354...8DE7a72E3
0 S
612081552026-01-26 17:04:1440 mins ago1769447054
0x803de354...8DE7a72E3
0 S
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Diamond

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 400 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": 400
  },
  "viaIR": true,
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

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"}]

60806001600160401b03601f610ed038819003918201601f191684019183831185841017610349578085926040948552833981010312610bf35761004e602061004784610c36565b9301610c36565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f80546001600160a01b039485166001600160a01b03198216811790925591939091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36100be610c17565b916001835260005b60208110610bcb57506100d7610c17565b60018152602036818301376307e4c70760e21b6100f382610c4a565b526100fc610bf8565b6001600160a01b03909216825260006020830152604082015261011e83610c4a565b5261012882610c4a565b50604051906020820190811182821017610349576040526000808252825b8051821015610a4957602061015b8383610c6d565b5101516003811015610a33578061043b57506001600160a01b0361017f8383610c6d565b51511690604061018f8483610c6d565b5101519061019f82511515610cd0565b61ffff600080516020610eb083398151915254169083156103e1576102026101c5610bf8565b602481527f4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20602082015263636f646560e01b604082015285610d60565b6000915b83518310156103ca576001600160e01b03196102228486610c6d565b51166000818152600080516020610e9083398151915260205260409020546001600160a01b031661035f576102b8610258610c17565b87815261ffff9390931660208085018281526000858152600080516020610e9083398151915290925260409091209451855491516001600160b01b03199092166001600160a01b03919091161760a09190911b61ffff60a01b1617909355565b600080516020610eb0833981519152549068010000000000000000821015610349576102fa8260016103179401600080516020610eb083398151915255610d30565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b61ffff811461033357600161032d910192610c81565b91610206565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608490fd5b5094939150506103da9150610c81565b9091610146565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b600181036106c857506001600160a01b036104568383610c6d565b5151169260406104668484610c6d565b5101519161047683511515610cd0565b841561066a576104c8610487610bf8565b602881527f4c69624469616d6f6e644375743a205265706c61636520666163657420686173602082015267206e6f20636f646560c01b604082015286610d60565b60005b835181101561065c576001600160e01b03196104e78286610c6d565b51169081600052600080516020610e908339815191528060205260018060a01b03604060002054163081146105ff578881146105a6571561054d576000928352602052604090912080546001600160a01b0319168717905561054890610c81565b6104cb565b60405162461bcd60e51b81526020600482015260386024820152600080516020610e7083398151915260448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608490fd5b60405162461bcd60e51b81526020600482015260386024820152600080516020610e7083398151915260448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201526e3aba30b1363290333ab731ba34b7b760891b6064820152608490fd5b509350916103da9150610c81565b60405162461bcd60e51b815260206004820152603060248201527f4c69624469616d6f6e644375743a205265706c6163652066616365742063616e60448201526f2774206265206164647265737328302960801b6064820152608490fd5b6002036109de576001600160a01b036106e18383610c6d565b5151169260406106f18484610c6d565b5101519161070183511515610cd0565b600080516020610eb083398151915254946109735760005b835181101561065c576001600160e01b03196107358286610c6d565b51169081600052600080516020610e9083398151915260205260406000209661075c610c17565b97546001600160a01b038116808a5260a09190911c61ffff1660208a0152156109085787516001600160a01b031630146108ab5780156103335760001901968761ffff60208301511603610830575b50600080516020610eb08339815191525491821561081a5761081592600019016107d481610d30565b63ffffffff82549160031b1b19169055600080516020610eb083398151915255600052600080516020610e9083398151915260205260006040812055610c81565b610719565b634e487b7160e01b600052603160045260246000fd5b6108a59061ffff60206108428b610d30565b90549060031b1c60e01b9261085f846102fa858585015116610d30565b01516001600160e01b03199092166000908152600080516020610e9083398151915260205260409020805461ffff60a01b19169190921660a01b61ffff60a01b16179055565b876107ab565b60405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526e3a30b1363290333ab731ba34b7b71760891b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b8260405160608082018183528451809152608090818401926020838360051b8701019701936000915b838310610b3757877f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738880610ab68d60006020840152828103604084015285610c90565b0390a151610acc5760405160de9081610d928239f35b60405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608490fd5b909192939497607f19878203018352885160018060a01b0381511682526020810151906003821015610a33576040916020840152015190826040820152602087848301928451809452019201906000905b808210610ba8575050506020806001929a01930193019194939290610a72565b82516001600160e01b031916845260209384019390920191600190910190610b88565b602090610bd6610bf8565b6000815260008382015260606040820152828287010152016100c6565b600080fd5b60405190606082016001600160401b0381118382101761034957604052565b60408051919082016001600160401b0381118382101761034957604052565b51906001600160a01b0382168203610bf357565b805115610c575760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610c575760209160051b010190565b60001981146103335760010190565b919082519283825260005b848110610cbc575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610c9b565b15610cd757565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b90600080516020610eb08339815191528054831015610c5757600052601c60206000208360031c019260021b1690565b3b15610d695750565b60405162461bcd60e51b815260206004820152908190610d8d906024830190610c90565b0390fdfe6080604052361560cf57600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602052604081205473ffffffffffffffffffffffffffffffffffffffff168015609157818091368280378136915af43d82803e15608d573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b00fea164736f6c6343000812000a4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d0000000000000000000000009bc9ca7e6a8f013f40617c4585508a988db7c1c700000000000000000000000050e88c692b137b8a51b6017026ef414651e0d5ba

Deployed Bytecode

0x6080604052361560cf57600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602052604081205473ffffffffffffffffffffffffffffffffffffffff168015609157818091368280378136915af43d82803e15608d573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b00fea164736f6c6343000812000a

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

0000000000000000000000009bc9ca7e6a8f013f40617c4585508a988db7c1c700000000000000000000000050e88c692b137b8a51b6017026ef414651e0d5ba

-----Decoded View---------------
Arg [0] : _contractOwner (address): 0x9BC9CA7e6A8F013f40617c4585508A988DB7C1c7
Arg [1] : _diamondCutFacet (address): 0x50E88C692B137B8a51b6017026Ef414651e0d5ba

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009bc9ca7e6a8f013f40617c4585508a988db7c1c7
Arg [1] : 00000000000000000000000050e88c692b137b8a51b6017026ef414651e0d5ba


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