Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 477 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Milestone ... | 21446044 | 3 days ago | IN | 0 ETH | 0.00238052 | ||||
Unlock Milestone | 21430105 | 5 days ago | IN | 0 ETH | 0.00513532 | ||||
Finish Raise | 21430031 | 5 days ago | IN | 0 ETH | 0.00210745 | ||||
Invest | 21411349 | 8 days ago | IN | 0 ETH | 0.00310571 | ||||
Invest | 21408473 | 8 days ago | IN | 0 ETH | 0.00204361 | ||||
Invest | 21401735 | 9 days ago | IN | 0 ETH | 0.0020069 | ||||
Invest | 21400702 | 9 days ago | IN | 0 ETH | 0.00171791 | ||||
Invest | 21400606 | 9 days ago | IN | 0 ETH | 0.00161131 | ||||
Invest | 21396960 | 10 days ago | IN | 0 ETH | 0.00227637 | ||||
Submit Claiming ... | 21387644 | 11 days ago | IN | 0.00009751 ETH | 0.13308352 | ||||
Invest | 21380054 | 12 days ago | IN | 0 ETH | 0.00552426 | ||||
Refund Investmen... | 21378406 | 12 days ago | IN | 0 ETH | 0.00158912 | ||||
Invest | 21372275 | 13 days ago | IN | 0 ETH | 0.00421937 | ||||
Invest | 21367283 | 14 days ago | IN | 0 ETH | 0.00518803 | ||||
Invest | 21367027 | 14 days ago | IN | 0 ETH | 0.00398694 | ||||
Invest | 21366971 | 14 days ago | IN | 0 ETH | 0.00436389 | ||||
Invest | 21366495 | 14 days ago | IN | 0 ETH | 0.00524858 | ||||
Invest | 21366485 | 14 days ago | IN | 0 ETH | 0.00537154 | ||||
Invest | 21366016 | 14 days ago | IN | 0 ETH | 0.00704067 | ||||
Invest | 21365773 | 14 days ago | IN | 0 ETH | 0.00731969 | ||||
Invest | 21365156 | 14 days ago | IN | 0 ETH | 0.00887348 | ||||
Invest | 21365000 | 14 days ago | IN | 0 ETH | 0.00641315 | ||||
Invest | 21364891 | 14 days ago | IN | 0 ETH | 0.00678539 | ||||
Invest | 21364818 | 14 days ago | IN | 0 ETH | 0.00899549 | ||||
Claim Rejected I... | 21342334 | 17 days ago | IN | 0 ETH | 0.00204601 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21387644 | 11 days ago | 0.00009751 ETH | ||||
21343882 | 17 days ago | Contract Creation | 0 ETH | |||
21272010 | 27 days ago | 0.00120445 ETH | ||||
21215394 | 35 days ago | 0.0011444 ETH | ||||
21215394 | 35 days ago | Contract Creation | 0 ETH | |||
21135265 | 46 days ago | 0.00006639 ETH | ||||
21122278 | 48 days ago | Contract Creation | 0 ETH | |||
21012834 | 63 days ago | 0.00107617 ETH | ||||
20856956 | 85 days ago | 0.00087424 ETH | ||||
20851826 | 86 days ago | 0.00086527 ETH | ||||
20851763 | 86 days ago | 0.00086527 ETH | ||||
20843890 | 87 days ago | 0.00009984 ETH | ||||
20843883 | 87 days ago | 0.00009984 ETH | ||||
20843875 | 87 days ago | 0.00009984 ETH | ||||
20843870 | 87 days ago | 0.00009984 ETH | ||||
20843864 | 87 days ago | 0.00009984 ETH | ||||
20843855 | 87 days ago | 0.00009984 ETH | ||||
20843848 | 87 days ago | 0.00009984 ETH | ||||
20843829 | 87 days ago | 0.0010877 ETH | ||||
20843815 | 87 days ago | 0.0010877 ETH | ||||
20843810 | 87 days ago | 0.0010877 ETH | ||||
20843799 | 87 days ago | 0.0010877 ETH | ||||
20843780 | 87 days ago | 0.0010877 ETH | ||||
20843773 | 87 days ago | 0.0010877 ETH | ||||
20843764 | 87 days ago | 0.0010877 ETH |
Loading...
Loading
Contract Name:
FundraisingDiamond
Compiler Version
v0.8.17+commit.8df45f5f
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.17; /************************************** security-contact: - [email protected] maintainers: - [email protected] - [email protected] - [email protected] - [email protected] contributors: - [email protected] **************************************/ // Diamond imports import { LibDiamond } from "../diamond/libraries/LibDiamond.sol"; import { IDiamondCut } from "../diamond/interfaces/IDiamondCut.sol"; /************************************** Fundraising diamond **************************************/ /// @notice Main fundraising diamond that delegate calls to its facets. contract FundraisingDiamond { // ----------------------------------------------------------------------- // Setup // ----------------------------------------------------------------------- /// @dev Constructor of diamond. /// @dev Performs diamond cut to add diamond cut functionality to main diamond. /// @param _diamondCutFacet Address of diamond cut facet constructor(address _diamondCutFacet) payable { // owner address owner_ = msg.sender; // setup ownership LibDiamond.setContractOwner(owner_); // add diamond cut facet LibDiamond.diamondCut(_getFirstCut(_diamondCutFacet), address(0), ""); } /// ----------------------------------------------------------------------- // Internal // ----------------------------------------------------------------------- /// @dev Builds and returns first diamond cut. /// @param _diamondCutFacet Address of diamond cut facet /// @return List of diamond cuts to perform (in this case only diamond cut from diamond cut facet is returned) function _getFirstCut(address _diamondCutFacet) internal pure returns (IDiamondCut.FacetCut[] memory) { // cut array IDiamondCut.FacetCut[] memory cut_ = new IDiamondCut.FacetCut[](1); // selector array bytes4[] memory functionSelectors_ = new bytes4[](1); // selector with cut opp functionSelectors_[0] = IDiamondCut.diamondCut.selector; // first cut with cut selector cut_[0] = IDiamondCut.FacetCut({ facetAddress: _diamondCutFacet, action: IDiamondCut.FacetCutAction.Add, functionSelectors: functionSelectors_ }); // return return cut_; } // ----------------------------------------------------------------------- // Delegate call // ----------------------------------------------------------------------- /************************************** Fallback **************************************/ /// @dev Delegate call through particular facet on fallback. fallback() external payable { // set slot position LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); // get facet address address facet = ds.selectorToFacetAndPosition[msg.sig].facetAddress; require(facet != address(0), "Diamond: Function does not exist"); // delegatecall assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /************************************** Receive **************************************/ /// @dev Revert on receive. Contract does not accept Ether without function signature. receive() external payable { // revert sending ETH without data revert("Please use invest() function and specify actual raise"); } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; /************************************** Diamond cut interface ------------------------------ @author Nick Mudge **************************************/ interface IDiamondCut { // enum enum FacetCutAction { Add, Replace, Remove } // struct struct FacetCut { address facetAddress; FacetCutAction action; bytes4[] functionSelectors; } // event event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata); /************************************** Cut diamond ------------------------------ @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, that is executed with delegatecall on _init **************************************/ function diamondCut(FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata) external; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; /************************************** security-contact: - [email protected] maintainers: - [email protected] - [email protected] - [email protected] - [email protected] contributors: - [email protected] **************************************/ // Diamond imports import { IDiamondCut } from "../interfaces/IDiamondCut.sol"; /************************************** Diamond library (EIP-2535) ------------------------------ @author Nick Mudge **************************************/ /// @notice Main library with core logic for Diamond Proxy. library LibDiamond { // ----------------------------------------------------------------------- // Storage pointer // ----------------------------------------------------------------------- bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage"); // ----------------------------------------------------------------------- // Structs // ----------------------------------------------------------------------- /// @dev struct holding facet address and selector position /// @param facetAddress address of facet /// @param functionSelectorPosition position in facetFunctionSelectors.functionSelectors array struct FacetAddressAndPosition { address facetAddress; uint16 functionSelectorPosition; } /// @dev struct holding facet selectors and address position /// @param functionSelectors list of function selectors for facet /// @param facetAddressPosition position of facetAddress in facetAddresses array struct FacetFunctionSelectors { bytes4[] functionSelectors; uint16 facetAddressPosition; } /// @dev diamond storage struct /// @param selectorToFacetAndPosition maps function selector in the facetFunctionSelectors.selectors array /// @param facetFunctionSelectors maps facet addresses to function selectors /// @param facetAddresses facet addresses /// @param supportedInterfaces Used to query if a contract implements an interface (ERC-165) /// @param contractOwner owner of the contract struct DiamondStorage { mapping(bytes4 => FacetAddressAndPosition) selectorToFacetAndPosition; mapping(address => FacetFunctionSelectors) facetFunctionSelectors; address[] facetAddresses; mapping(bytes4 => bool) supportedInterfaces; address contractOwner; } // ----------------------------------------------------------------------- // Events // ----------------------------------------------------------------------- event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata); // ----------------------------------------------------------------------- // Storage // ----------------------------------------------------------------------- /// @dev function returning diamond storage at storage pointer slot /// @return ds DiamondStorage struct instance at storage pointer position function diamondStorage() internal pure returns (DiamondStorage storage ds) { bytes32 position = DIAMOND_STORAGE_POSITION; assembly { ds.slot := position } return ds; } // ----------------------------------------------------------------------- // Ownership section // ----------------------------------------------------------------------- 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"); } // ----------------------------------------------------------------------- // Diamond cut section // ----------------------------------------------------------------------- // 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(diamondStorage().selectors.length); require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)"); uint16 selectorPosition = uint16(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length); // add new facet address if it does not exist if (selectorPosition == 0) { enforceHasContractCode(_facetAddress, "LibDiamondCut: New facet has no code"); ds.facetFunctionSelectors[_facetAddress].facetAddressPosition = uint16(ds.facetAddresses.length); ds.facetAddresses.push(_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"); ds.facetFunctionSelectors[_facetAddress].functionSelectors.push(selector); ds.selectorToFacetAndPosition[selector].facetAddress = _facetAddress; ds.selectorToFacetAndPosition[selector].functionSelectorPosition = selectorPosition; 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)"); uint16 selectorPosition = uint16(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length); // add new facet address if it does not exist if (selectorPosition == 0) { enforceHasContractCode(_facetAddress, "LibDiamondCut: New facet has no code"); ds.facetFunctionSelectors[_facetAddress].facetAddressPosition = uint16(ds.facetAddresses.length); ds.facetAddresses.push(_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(oldFacetAddress, selector); // add function ds.selectorToFacetAndPosition[selector].functionSelectorPosition = selectorPosition; ds.facetFunctionSelectors[_facetAddress].functionSelectors.push(selector); ds.selectorToFacetAndPosition[selector].facetAddress = _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(oldFacetAddress, selector); } } function removeFunction(address _facetAddress, bytes4 _selector) internal { DiamondStorage storage ds = diamondStorage(); 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 = uint16(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 = uint16(facetAddressPosition); } ds.facetAddresses.pop(); delete ds.facetFunctionSelectors[_facetAddress].facetAddressPosition; } } // ----------------------------------------------------------------------- // Functions // ----------------------------------------------------------------------- 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); } }
{ "viaIR": true, "optimizer": { "enabled": true, "runs": 200, "details": { "yul": true } }, "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":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
601f6111a738819003918201601f191660809081019290916001600160401b039182851184861017610919578084926040968752833960209384918101031261091457516001600160a01b039081811690819003610914577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b03198082163390811790935592600092909185167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36100c161094e565b9260019182855287845b8181106108f05750506100dc61094e565b8381528836818301376307e4c70760e21b6100f682610992565b526100ff61092f565b91825284898301528982015261011485610992565b5261011e84610992565b50875195878701908111878210176108dc57885282865290939082855b6102ca575b50508651936060918286019083875285518092526080808801908a818560051b8b010198019587935b85851061022b57508c8c8c7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738d806101ad8f8f8784015282810388840152856109c9565b0390a1516101c357505161013d908161100a8239f35b608491519062461bcd60e51b82526004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152fd5b9091929394959698607f198b820301855289518281511682528d81015160038110156102b657828f01528e0151818f018490528051828501819052908e019189918f918701908c905b808210610293575050819293509b019501950193969594929190610169565b928091949263ffffffff60e01b87511681520194019201928f91938b9394610274565b634e487b7160e01b8b52602160045260248bfd5b84959295518110156108d457876102e182876109b5565b51015160038110156108c0578061052c575082866102ff83886109b5565b5151168a61030d84896109b5565b51015161031c81511515610a09565b610327821515610a69565b6001600160a01b0382166000908152600080516020611187833981519152602052604090205461ffff9081169081156104c5575b50928095949388915b610380575b50505050610377905b61096d565b9091959261013b565b90919293949583518310156104bd57508b8d8b6001600160e01b03196103a686886109b5565b511691828c526000805160206111478339815191528094528b20541661045257828f8f948161043d928e610448978f9c9b9a99886104106104429a8f61040b9060018060a01b0316600052600080516020611187833981519152602052604060002090565b610bb3565b8352522080548d168a1790558d20805461ffff60a01b191660a09290921b61ffff60a01b16919091179055565b610bfd565b9161096d565b9084969594610364565b508d5162461bcd60e51b8152600481018e9052603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608490fd5b959493610369565b6104d66104d0610aca565b85610fd8565b6000805160206111678339815191525416846105118560018060a01b0316600052600080516020611187833981519152602052604060002090565b019061ffff1982541617905561052683610b33565b3861035b565b8084036107535750828661054083886109b5565b5151168a61054e84896109b5565b51015161055d81511515610a09565b610568821515610a69565b6001600160a01b0382166000908152600080516020611187833981519152602052604090205461ffff9081169081156106f2575b50928095949388915b6105b657505050506103779061096d565b90919293949583518310156104bd57508b8d8b6001600160e01b03196105dc86886109b5565b511691828c526000805160206111478339815191528094528b20541686811461068857928f8f9361067e94848e61061b8f9c9b9a999761044298610c10565b818152838352848120805461ffff60a01b191660a088901b61ffff60a01b161790556001600160a01b038b1660009081526000805160206111878339815191526020526040902061066d908390610bb3565b52528b20868a825416179055610bfd565b90849695946105a5565b8f8f608491519062461bcd60e51b82526004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152fd5b6106fd6104d0610aca565b6000805160206111678339815191525416846107388560018060a01b0316600052600080516020611187833981519152602052604060002090565b019061ffff1982541617905561074d83610b33565b3861059c565b60020361086c578561076582876109b5565b5151168961077383886109b5565b5101519061078382511515610a09565b610802578392919085845b61079e575b50506103779061096d565b86898d8d8596979895518510156107f457916107ea9493916000805160206111478339815191526103729463ffffffff60e01b6107db888c6109b5565b5116809552528b205416610c10565b819493929161078e565b505050508194939250610793565b895162461bcd60e51b8152600481018a9052603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608490fd5b885162461bcd60e51b815260048101899052602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b85526021600452602485fd5b949194610140565b634e487b7160e01b84526041600452602484fd5b6108f861092f565b868152868382015260608c8201528282890101520188906100cb565b600080fd5b634e487b7160e01b600052604160045260246000fd5b60405190606082016001600160401b0381118382101761091957604052565b60408051919082016001600160401b0381118382101761091957604052565b600019811461097c5760010190565b634e487b7160e01b600052601160045260246000fd5b80511561099f5760200190565b634e487b7160e01b600052603260045260246000fd5b805182101561099f5760209160051b010190565b919082519283825260005b8481106109f5575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016109d4565b15610a1057565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b15610a7057565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b610ad261092f565b906024825263636f646560e01b6040837f4c69624469616d6f6e644375743a204e657720666163657420686173206e6f2060208201520152565b600080516020611167833981519152805482101561099f5760005260206000200190600090565b60008051602061116783398151915290815491680100000000000000008310156109195782610b6a916001610b8e95019055610b0c565b90919082549060031b9160018060a01b039283811b93849216901b16911916179055565b565b919091805483101561099f57600052601c60206000208360031c019260021b1690565b90815491680100000000000000008310156109195782610bdb916001610b8e95018155610b90565b90919082549060031b9163ffffffff831b92839160e01c901b16911916179055565b61ffff80911690811461097c5760010190565b906001600160a01b03908183168015610f6d573014610f115763ffffffff60e01b8091166000818152600080516020611147833981519152928360205261ffff9384604084205460a01c1693610c858860018060a01b0316600052600080516020611187833981519152602052604060002090565b546000199586820194918511610efd57848103610e58575b50506001600160a01b03881660009081526000805160206111878339815191526020526040902080548015610e4457860190610cd98282610b90565b63ffffffff82549160031b1b1916905555835260205281604081205515610d02575b5050505050565b60008051602061116783398151915292835490838201918211610e30576001600160a01b0387166000908152600080516020611187833981519152602052604090206001015416908590808303610dd1575b5050508254908115610dbd575091610da99391600195930191610d7683610b0c565b909182549160031b1b191690555560018060a01b0316600052600080516020611187833981519152602052604060002090565b01805461ffff191690553880808080610cfb565b634e487b7160e01b81526031600452602490fd5b600191610de0610e1c92610b0c565b90549060031b1c16610df581610b6a86610b0c565b6001600160a01b031660009081526000805160206111878339815191526020526040902090565b019061ffff19825416179055388481610d54565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b86526031600452602486fd5b610ef691610e94610ecb8c610bdb85610e998b610e948560018060a01b0316600052600080516020611187833981519152602052604060002090565b610b90565b90549060031b1c60e01b94859360018060a01b0316600052600080516020611187833981519152602052604060002090565b168652602084905260408620805461ffff60a01b191660a09290921b61ffff60a01b16919091179055565b3880610c9d565b634e487b7160e01b86526011600452602486fd5b60405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fd5b3b15610fe15750565b60405162461bcd60e51b8152602060048201529081906110059060248301906109c9565b0390fdfe608060405236156100ad57600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b0316801561006f57818091368280378136915af43d82803e1561006b573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b62461bcd60e51b6080526020608452603560a4527f506c656173652075736520696e7665737428292066756e6374696f6e20616e6460c4527420737065636966792061637475616c20726169736560581b60e45260846080fdfea26469706673582212203da1ce79005c5936e0299ebfdb51c14ad1ef37953c72b7db4f399259f28e721464736f6c63430008110033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d0000000000000000000000001ec6c3aacf8a2e428aa255eb5eaee04a29e1067b
Deployed Bytecode
0x608060405236156100ad57600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b0316801561006f57818091368280378136915af43d82803e1561006b573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b62461bcd60e51b6080526020608452603560a4527f506c656173652075736520696e7665737428292066756e6374696f6e20616e6460c4527420737065636966792061637475616c20726169736560581b60e45260846080fdfea26469706673582212203da1ce79005c5936e0299ebfdb51c14ad1ef37953c72b7db4f399259f28e721464736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001ec6c3aacf8a2e428aa255eb5eaee04a29e1067b
-----Decoded View---------------
Arg [0] : _diamondCutFacet (address): 0x1eC6C3aAcF8A2E428aa255EB5eaee04A29E1067B
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001ec6c3aacf8a2e428aa255eb5eaee04a29e1067b
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.