Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 173 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Launchpad Mint72... | 19492143 | 294 days ago | IN | 0.3 ETH | 0.00262999 | ||||
Launchpad Mint72... | 19492142 | 294 days ago | IN | 1.2 ETH | 0.00647543 | ||||
Launchpad Mint72... | 19492139 | 294 days ago | IN | 1.5 ETH | 0.0076343 | ||||
Launchpad Mint72... | 19492139 | 294 days ago | IN | 0 ETH | 0.00453701 | ||||
Launchpad Mint72... | 19492134 | 294 days ago | IN | 1.5 ETH | 0.00653736 | ||||
Launchpad Mint72... | 19492130 | 294 days ago | IN | 1.5 ETH | 0.00747575 | ||||
Launchpad Mint72... | 19492128 | 294 days ago | IN | 0.9 ETH | 0.00631092 | ||||
Launchpad Mint72... | 19492127 | 294 days ago | IN | 1.5 ETH | 0.00777521 | ||||
Launchpad Mint72... | 19492123 | 294 days ago | IN | 1.5 ETH | 0.00823439 | ||||
Delegate Launchp... | 19492121 | 294 days ago | IN | 0.6 ETH | 0.00667256 | ||||
Launchpad Mint72... | 19492120 | 294 days ago | IN | 0.6 ETH | 0.00559206 | ||||
Launchpad Mint72... | 19492120 | 294 days ago | IN | 1.5 ETH | 0.00863025 | ||||
Launchpad Mint72... | 19492116 | 294 days ago | IN | 1.5 ETH | 0.00917614 | ||||
Launchpad Mint72... | 19492115 | 294 days ago | IN | 0.3 ETH | 0.00506179 | ||||
Launchpad Mint72... | 19492113 | 294 days ago | IN | 1.5 ETH | 0.00955731 | ||||
Launchpad Mint72... | 19492110 | 294 days ago | IN | 1.5 ETH | 0.00866712 | ||||
Launchpad Mint72... | 19492106 | 294 days ago | IN | 1.5 ETH | 0.00722975 | ||||
Assign Price Per... | 19492083 | 294 days ago | IN | 0 ETH | 0.0022212 | ||||
Create721Sale | 19492083 | 294 days ago | IN | 0 ETH | 0.02678701 | ||||
Launchpad Mint72... | 19491958 | 294 days ago | IN | 0.3 ETH | 0.00126185 | ||||
Launchpad Mint72... | 19491909 | 294 days ago | IN | 0.3 ETH | 0.00384129 | ||||
Launchpad Mint72... | 19491879 | 294 days ago | IN | 0.9 ETH | 0.00546254 | ||||
Launchpad Mint72... | 19491866 | 294 days ago | IN | 0.6 ETH | 0.0047621 | ||||
Launchpad Mint72... | 19491861 | 294 days ago | IN | 0.3 ETH | 0.0032821 | ||||
Launchpad Mint72... | 19491856 | 294 days ago | IN | 0.3 ETH | 0.00363684 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
19492143 | 294 days ago | 0.3 ETH | ||||
19492142 | 294 days ago | 1.2 ETH | ||||
19492139 | 294 days ago | 1.5 ETH | ||||
19492134 | 294 days ago | 1.5 ETH | ||||
19492130 | 294 days ago | 1.5 ETH | ||||
19492128 | 294 days ago | 0.9 ETH | ||||
19492127 | 294 days ago | 1.5 ETH | ||||
19492123 | 294 days ago | 1.5 ETH | ||||
19492121 | 294 days ago | 0.6 ETH | ||||
19492120 | 294 days ago | 0.6 ETH | ||||
19492120 | 294 days ago | 1.5 ETH | ||||
19492116 | 294 days ago | 1.5 ETH | ||||
19492115 | 294 days ago | 0.3 ETH | ||||
19492113 | 294 days ago | 1.5 ETH | ||||
19492110 | 294 days ago | 1.5 ETH | ||||
19492106 | 294 days ago | 1.5 ETH | ||||
19491909 | 294 days ago | 0.3 ETH | ||||
19491879 | 294 days ago | 0.9 ETH | ||||
19491866 | 294 days ago | 0.6 ETH | ||||
19491861 | 294 days ago | 0.3 ETH | ||||
19491856 | 294 days ago | 0.3 ETH | ||||
19491851 | 294 days ago | 0.3 ETH | ||||
19491842 | 294 days ago | 0.6 ETH | ||||
19491838 | 294 days ago | 0.3 ETH | ||||
19491837 | 294 days ago | 0.3 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
Diamond
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /******************************************************************************\ * Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen) * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 * * Implementation of a diamond. /******************************************************************************/ import { LibDiamond } from "./libraries/LibDiamond.sol"; import { IDiamondCut } from "./interfaces/IDiamondCut.sol"; contract Diamond { 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.selectorToFacetAndPosition[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()) } } } receive() external payable { revert("Diamond: This contract does not accept Ether"); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /******************************************************************************\ * Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen) * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ import { IDiamondCut } from "../interfaces/IDiamondCut.sol"; // Remember to add the loupe functions from DiamondLoupeFacet to the diamond. // The loupe functions are required by the EIP2535 Diamonds standard error InitializationFunctionReverted(address _initializationContractAddress, bytes _calldata); library LibDiamond { bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage"); struct FacetAddressAndPosition { address facetAddress; uint96 functionSelectorPosition; // position in facetFunctionSelectors.functionSelectors array } struct FacetFunctionSelectors { bytes4[] functionSelectors; uint256 facetAddressPosition; // position of facetAddress in facetAddresses array } struct DiamondStorage { // maps function selector to the facet address and // the position of the selector in the facetFunctionSelectors.selectors array mapping(bytes4 => FacetAddressAndPosition) selectorToFacetAndPosition; // maps facet addresses to function selectors mapping(address => FacetFunctionSelectors) facetFunctionSelectors; // facet addresses address[] facetAddresses; // Used to query if a contract implements an interface. // Used to implement ERC-165. 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 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(); require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)"); uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length); // add new facet address if it does not exist if (selectorPosition == 0) { addFacet(ds, _facetAddress); } for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) { bytes4 selector = _functionSelectors[selectorIndex]; address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress; require(oldFacetAddress == address(0), "LibDiamondCut: Can't add function that already exists"); addFunction(ds, selector, selectorPosition, _facetAddress); selectorPosition++; } } 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: Add facet can't be address(0)"); uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length); // add new facet address if it does not exist if (selectorPosition == 0) { addFacet(ds, _facetAddress); } for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) { bytes4 selector = _functionSelectors[selectorIndex]; address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress; require(oldFacetAddress != _facetAddress, "LibDiamondCut: Can't replace function with same function"); removeFunction(ds, oldFacetAddress, selector); addFunction(ds, selector, selectorPosition, _facetAddress); selectorPosition++; } } function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal { require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut"); DiamondStorage storage ds = diamondStorage(); // if function does not exist then do nothing and return require(_facetAddress == address(0), "LibDiamondCut: Remove facet address must be address(0)"); for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) { bytes4 selector = _functionSelectors[selectorIndex]; address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress; removeFunction(ds, oldFacetAddress, selector); } } function addFacet(DiamondStorage storage ds, address _facetAddress) internal { enforceHasContractCode(_facetAddress, "LibDiamondCut: New facet has no code"); ds.facetFunctionSelectors[_facetAddress].facetAddressPosition = ds.facetAddresses.length; ds.facetAddresses.push(_facetAddress); } function addFunction(DiamondStorage storage ds, bytes4 _selector, uint96 _selectorPosition, address _facetAddress) internal { ds.selectorToFacetAndPosition[_selector].functionSelectorPosition = _selectorPosition; ds.facetFunctionSelectors[_facetAddress].functionSelectors.push(_selector); ds.selectorToFacetAndPosition[_selector].facetAddress = _facetAddress; } function removeFunction(DiamondStorage storage ds, address _facetAddress, bytes4 _selector) internal { require(_facetAddress != address(0), "LibDiamondCut: Can't remove function that doesn't exist"); // an immutable function is a function defined directly in a diamond require(_facetAddress != address(this), "LibDiamondCut: Can't remove immutable function"); // replace selector with last selector, then delete last selector uint256 selectorPosition = ds.selectorToFacetAndPosition[_selector].functionSelectorPosition; uint256 lastSelectorPosition = ds.facetFunctionSelectors[_facetAddress].functionSelectors.length - 1; // if not the same then replace _selector with lastSelector if (selectorPosition != lastSelectorPosition) { bytes4 lastSelector = ds.facetFunctionSelectors[_facetAddress].functionSelectors[lastSelectorPosition]; ds.facetFunctionSelectors[_facetAddress].functionSelectors[selectorPosition] = lastSelector; ds.selectorToFacetAndPosition[lastSelector].functionSelectorPosition = uint96(selectorPosition); } // delete the last selector ds.facetFunctionSelectors[_facetAddress].functionSelectors.pop(); delete ds.selectorToFacetAndPosition[_selector]; // if no more selectors for facet address then delete the facet address if (lastSelectorPosition == 0) { // replace facet address with last facet address and delete last facet address uint256 lastFacetAddressPosition = ds.facetAddresses.length - 1; uint256 facetAddressPosition = ds.facetFunctionSelectors[_facetAddress].facetAddressPosition; if (facetAddressPosition != lastFacetAddressPosition) { address lastFacetAddress = ds.facetAddresses[lastFacetAddressPosition]; ds.facetAddresses[facetAddressPosition] = lastFacetAddress; ds.facetFunctionSelectors[lastFacetAddress].facetAddressPosition = facetAddressPosition; } ds.facetAddresses.pop(); delete ds.facetFunctionSelectors[_facetAddress].facetAddressPosition; } } function initializeDiamondCut(address _init, bytes memory _calldata) internal { if (_init == address(0)) { return; } enforceHasContractCode(_init, "LibDiamondCut: _init address has no code"); (bool success, bytes memory error) = _init.delegatecall(_calldata); if (!success) { if (error.length > 0) { // bubble up error /// @solidity memory-safe-assembly assembly { let returndata_size := mload(error) revert(add(32, error), returndata_size) } } else { revert InitializationFunctionReverted(_init, _calldata); } } } function enforceHasContractCode(address _contract, string memory _errorMessage) internal view { uint256 contractSize; assembly { contractSize := extcodesize(_contract) } require(contractSize > 0, _errorMessage); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /******************************************************************************\ * Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen) * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ interface IDiamondCut { enum FacetCutAction {Add, Replace, Remove} // Add=0, Replace=1, Remove=2 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); }
{ "viaIR": true, "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_initializationContractAddress","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"InitializationFunctionReverted","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamondCut.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct IDiamondCut.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"indexed":false,"internalType":"address","name":"_init","type":"address"},{"indexed":false,"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"DiamondCut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6001600160401b03610f986080601f38839003908101601f19168201908482118383101761072457808391604095869485528339810103126107205761004481610776565b906100526020809201610776565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b039485166001600160a01b03198216811790925591925f9290919085167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36100c5610757565b9260019081855282845b8181106106fc5750506100e0610757565b8281528336818301376307e4c70760e21b6100fa8261078a565b5286610104610738565b9216825284848301528782015261011a8561078a565b526101248461078a565b50855196828801908111888210176106e85786528287529382855b610262575b5085519460608087019080885286518092526080938489019086868560051b8c010199019588935b8585106101bf57508b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738c8f6101af8e83928f8f850152838203878501526107e1565b0390a1516101309081610e088239f35b9091929394959699607f198c82030185528a5190828101918581511682528a810151600381101561024e578b8301528e0151818f018490528051928390528a019189918b91908601908d905b80821061022a575050819293509c01950195019396959492919061016c565b85516001600160e01b0319168352948301948c948e9493909301929091019061020b565b634e487b7160e01b8d52602160045260248dfd5b84959195518110156106e0578261027982876107ab565b51015160038110156106cc57806103ff5750818661029783886107ab565b515116886102a584896107ab565b5101516102b48151151561081f565b6102bf82151561087f565b6001600160a01b0382165f9081525f80516020610f7883398151915260205260409020546001600160601b031680156103f1575b9280949388915b610315575b5050505061030d905b6107bf565b90959161013f565b909192939483518310156103ea57506001600160e01b031961033783856107ab565b51168089525f80516020610f3883398151915288528a8c8a205416610380576103718261036c878a9897969561037795610a2b565b6108e0565b916107bf565b908495946102fa565b8b5162461bcd60e51b815260048101899052603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608490fd5b94936102ff565b6103fa8361091b565b6102f3565b80830361056c5750818661041383886107ab565b5151168861042184896107ab565b5101516104308151151561081f565b61043b82151561087f565b6001600160a01b0382165f9081525f80516020610f7883398151915260205260409020546001600160601b0316801561055e575b9280949388915b610487575050505061030d906107bf565b909192939483518310156103ea57506001600160e01b03196104a983856107ab565b51168089525f80516020610f3883398151915288528a8c8a2054168581146104f4578261036c878a98979695856104e66104eb9761037197610b13565b610a2b565b90849594610476565b8c5162461bcd60e51b8152600481018a9052603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b6105678361091b565b61046f565b600203610678578561057e82876107ab565b5151168761058c83886107ab565b5101519061059c8251151561081f565b61060e5782919085835b6105b6575b505061030d906107bf565b8192939151811015610605576105fc906103086001600160e01b03196105dc83876107ab565b5116808a525f80516020610f3883398151915289528b8d8b205416610b13565b819392916105a6565b819392506105ab565b875162461bcd60e51b815260048101859052603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608490fd5b865162461bcd60e51b815260048101849052602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b85526021600452602485fd5b949094610144565b634e487b7160e01b84526041600452602484fd5b610704610738565b868152868382015260608a8201528282890101520183906100cf565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405190606082016001600160401b0381118382101761072457604052565b60408051919082016001600160401b0381118382101761072457604052565b51906001600160a01b038216820361072057565b8051156107975760200190565b634e487b7160e01b5f52603260045260245ffd5b80518210156107975760209160051b010190565b5f1981146107cd5760010190565b634e487b7160e01b5f52601160045260245ffd5b91908251928382525f5b84811061080b575050825f602080949584010152601f8019910116010190565b6020818301810151848301820152016107eb565b1561082657565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b1561088657565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b6001600160601b039081169081146107cd5760010190565b5f80516020610f588339815191528054821015610797575f5260205f2001905f90565b610923610738565b602481527f4c69624469616d6f6e644375743a204e657720666163657420686173206e6f20602082015263636f646560e01b6040820152813b156109e257505f80516020610f5883398151915280546001600160a01b0383165f9081525f80516020610f788339815191526020526040902060010181905591906801000000000000000083101561072457826109c19160016109e0950190556108f8565b90919082549060031b9160018060a01b03809116831b921b1916179055565b565b60405162461bcd60e51b815260206004820152908190610a069060248301906107e1565b0390fd5b9190918054831015610797575f52601c60205f208360031c019260021b1690565b6001600160e01b031981165f8181525f80516020610f3883398151915260208190526040822080546001600160a01b031660a09690961b6001600160a01b031916959095179094559194939092906001600160a01b03168083525f80516020610f788339815191526020526040832080549194919068010000000000000000821015610aff5796610ac98260409798996001610ae695018155610a0a565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b82526020522080546001600160a01b0319169091179055565b634e487b7160e01b85526041600452602485fd5b9091906001600160a01b039081168015610d9c57308114610d405763ffffffff60e01b8094165f928184525f80516020610f38833981519152926020918483526040948587205460a01c908388525f80516020610f788339815191529586865287892054925f199b8c8501948511610d2c57908991888c898c89808703610cbe575b505090525050508787525087892080548015610caa578c0190610bb88282610a0a565b63ffffffff82549160031b1b191690555588528452868681205515610be2575b5050505050509050565b5f80516020610f588339815191528054898101908111610c9657838852858552826001888a20015491808303610c64575b5050508054988915610c505760019798990191610c2f836108f8565b909182549160031b1b191690555585525282200155805f8080808080610bd8565b634e487b7160e01b88526031600452602488fd5b610c6d906108f8565b90549060031b1c16610c82816109c1846108f8565b8852858552600187892001555f8281610c13565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b8b52603160045260248bfd5b610d1f9784610ac993610cdd8a9487610cf39952828a52848420610a0a565b90549060031b1c60e01b97889683525220610a0a565b168b52838852898b2080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b875f80888c898c89610b95565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fdfe6080604052361560a9575f80356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b03168015606b57818091368280378136915af43d82803e156067573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b62461bcd60e51b6080526020608452602c60a4527f4469616d6f6e643a205468697320636f6e747261637420646f6573206e6f742060c4526b30b1b1b2b83a1022ba3432b960a11b60e45260846080fdfea26469706673582212208746c2f4ff18a9c36ef1fc2f328f6cb946bcb07d622032075e6e3a86b3d9348764736f6c63430008140033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d00000000000000000000000097acf70c41c2ae8e30a1dda1a13f952b8bb594f60000000000000000000000008ba5bb34afabf6d17f22bf790453a73d13fe11ba
Deployed Bytecode
0x6080604052361560a9575f80356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b03168015606b57818091368280378136915af43d82803e156067573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b62461bcd60e51b6080526020608452602c60a4527f4469616d6f6e643a205468697320636f6e747261637420646f6573206e6f742060c4526b30b1b1b2b83a1022ba3432b960a11b60e45260846080fdfea26469706673582212208746c2f4ff18a9c36ef1fc2f328f6cb946bcb07d622032075e6e3a86b3d9348764736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000097acf70c41c2ae8e30a1dda1a13f952b8bb594f60000000000000000000000008ba5bb34afabf6d17f22bf790453a73d13fe11ba
-----Decoded View---------------
Arg [0] : _contractOwner (address): 0x97acf70c41C2AE8E30a1dda1A13F952b8bB594F6
Arg [1] : _diamondCutFacet (address): 0x8bA5bb34afABf6d17f22bF790453A73D13fE11bA
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000097acf70c41c2ae8e30a1dda1a13f952b8bb594f6
Arg [1] : 0000000000000000000000008ba5bb34afabf6d17f22bf790453a73d13fe11ba
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.