Contract 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 20

 

Contract Overview

Balance:
0.000150328863973738 Ether

EtherValue:
$0.20 (@ $1,342.35/ETH)
Txn Hash Method
Index
From
To
Value
0x42ac21df4247a046d282c09c5eb8864964640c89507d3a23f11d22c337df9f71Start Bridge Tok...261045412022-09-28 22:31:377 mins ago0x07112e31fc964c4d82d2eee5cd18f1099aa20740 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.000104176540.0012
0x1e836772fd3014e0e59d79db6117fd6b8f9804b5a7a0edae94777ec4bacc2cf9Swap And Start B...261031892022-09-28 22:20:2519 mins ago0xcb70aa1b424a0ed377945d5fa5d22a2956270163 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.094853805473125 Ether0.0005184863110.0012
0xf97fc2d20a3ac3642cbbfe170e7852144d7c29be65bb06c0c4fa6734b58fb04dStart Bridge Tok...261016922022-09-28 22:07:2032 mins ago0x76936c74b4e359bc43ca8c39e74a0a74de5c9eb8 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.000853805473125 Ether0.0001533185810.0011
0x339b5720501fe5a1949731aff8bce55d9199eadf413929ed31b1f796562ba531Start Bridge Tok...261008672022-09-28 22:02:1737 mins ago0x0eff12a3469b90bc6bec4a42bc826d8052adc1f5 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0001142555280.0012
0xaf0d537f2b6524fdbf4e6887654d53dfed83087f4ca11bafe2e39f4215c87e30Start Bridge Tok...261002502022-09-28 21:55:4243 mins ago0x8e62389bb355821d66a449fe0df384c5bd2019b8 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0002325042650.0011
0xd9ce95abfce1635eb4c2e43a8b6f4e3d1db54bf9b3664887d8c45c7032010242Swap Tokens Gene...261001052022-09-28 21:54:0945 mins ago0x8e62389bb355821d66a449fe0df384c5bd2019b8 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0002944043120.0012
0xfc7d2648cbf03ca5e8d2bc1797a26dd4212281b30322842c95f5dce18ba5b0d7Start Bridge Tok...261000782022-09-28 21:53:5445 mins ago0xa2cf22a54bbcaa2b06bfc841da1790435949e6de IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.000853805473125 Ether0.000250239470.0012
0xc2e042d75779add1de3975b7788f37a46c6196f1a8031b8cd733746cd1fccd02Start Bridge Tok...260996792022-09-28 21:50:0749 mins ago0xafb46441aec7a2c9625c5c89edcb863671e310c8 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000665213730.00120186
0xd877981e26f49e9a3c04b908fca1a09b3271628aa860e0e1a61bd7f88d20c112Start Bridge Tok...260977862022-09-28 21:35:531 hr 3 mins ago0x5701068ca0ba0338a5b64e8f59d5ae661e9ecfc0 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.003 Ether0.0000806300540.00120186
0x86d9b678ec1d13b194bd9ecd307335e6e05d2ca6a3d2c83c41234cabc1edd748Swap And Start B...260975572022-09-28 21:34:381 hr 4 mins ago0x38a404d2e859572fab457ad9adf3cd2d4781d718 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.080853805473125 Ether0.0003672322450.0012
0xe6b3b66854824655da908fe42328e8b1ff1dbd265c2a47bf6ebc5b262ab85514Swap Tokens Gene...260972032022-09-28 21:31:171 hr 8 mins ago0x9df53f10d30c98f3535e34642564059d4078882b IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0005120204640.00120186
0xe852c57f371fb694a6df5b17cc725a4fd839d4ade564b8d46902e915f346f093Start Bridge Tok...260969212022-09-28 21:29:171 hr 10 mins ago0x64ffe8e8cad80c7403340144be8259bca8113079 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.03 Ether0.0000659673180.00120186
0x115f90bf306290c3ce3eb91ea498082922d802c8050ab81c030c8df9fac4a3b6Start Bridge Tok...260966632022-09-28 21:28:171 hr 11 mins ago0x2551dc445daf962fd020d52d25fc88c476ecc7cf IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000721055740.0011
0xf053b17c5ad7bc166d787b5bdfebca285fb147d1d7b2dae2c2369060aa379e0bSwap And Start B...260961882022-09-28 21:24:001 hr 15 mins ago0x8e62389bb355821d66a449fe0df384c5bd2019b8 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0007473979560.0011
0x2f299c1eeb8223fde8de5ec926fde40b13bb394a6a9f87faed645263b5fb8fbbStart Bridge Tok...260956792022-09-28 21:20:091 hr 19 mins ago0x1c3f6bf3450f2a3dd83268d39e744d8ffbb8e330 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f1.3 Ether0.0000877042750.0012
0xc6b50ee04eae6185d85a0f5f7b6e841fd62678aae72f7318006b570cce93e06cStart Bridge Tok...260956692022-09-28 21:20:091 hr 19 mins ago0x7298532542de3b26987ad2b01b00604fe5ec0296 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.3 Ether0.0000784503160.0012
0xe0c1cec55ba07b055825b9686e6b0283d16b017bc37e5eb11c8a56d928d6d5bdStart Bridge Tok...260952942022-09-28 21:17:071 hr 22 mins ago0xf8014a5f9c8f2ed1a5b2b4e2a53495d37748c12d IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000908293310.0012
0x1859233885d9c9aa7c4c6ae0f85e7b8e6efa3d45abbdc99bbde460b0b44d50acStart Bridge Tok...260948522022-09-28 21:12:511 hr 26 mins ago 0x3598143d676dc58eb7a2a159326d26f3c09363fb IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.015 Ether0.0001200764640.00120186
0x406692ebb59e978ca3db87f202b6358f87de8848ebf2fc6d1ba500ab5f983eacStart Bridge Tok...260942232022-09-28 21:07:141 hr 32 mins ago0x29c66f54fe449041555d510afd0c1657fb3624e4 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.1 Ether0.0001316286160.0012
0x7c163edbc6d2acb2e7d3fcc9bef7d42f95baa0ec344558030be82a4b7fac6fd9Start Bridge Tok...260895412022-09-28 20:36:302 hrs 2 mins ago0xed8477074529478064ff1ada1bbdb85075a43b57 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.1 Ether0.0000831681170.0012
0x513c50904eb1d9e6931e8d53e2d0eb087d58b15b09d5c7265af20eed2af5af7aStart Bridge Tok...260895142022-09-28 20:36:152 hrs 3 mins ago0xc364d0c3c5d6527587f7c30806d482bcaa931500 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000791302440.00100155
0x67c1cbf62869e72d94290d2cf9de4d8b202c64e9d516de499a7162b725bb9c26Start Bridge Tok...260892432022-09-28 20:34:002 hrs 5 mins ago0xefc2fe20c5e1e2f454a0babe398393d7e19e7638 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.000080157710.0012
0xe7ead04c50fe8c05e46390fabb7f53f6f54561349eadf38c0f18f1a770399cb2Start Bridge Tok...260891482022-09-28 20:32:592 hrs 6 mins ago0x8fda1ead2709923c058217b441ef5a5bf09f4022 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000801762330.0013
0x4962a3669b725e14b8bed683c90dd8ba541d63d3bf91b524e4b53fe9445d0271Start Bridge Tok...260882202022-09-28 20:25:552 hrs 13 mins ago0xc364d0c3c5d6527587f7c30806d482bcaa931500 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000801572740.00100155
0xb6d84670277cfe53404c4efbf5fcede8c40ae58c212af90dee8cff755104e610Start Bridge Tok...260877882022-09-28 20:21:502 hrs 17 mins ago0x1529dbab3f67e072b5f2285033bc6a6f94c9bd2e IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.025 Ether0.0000883072090.0011
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Stargate Finance: Router0.000927718243712 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Stargate Finance: S*USDC Token0 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xe3b53af74a4bf62ae5511055290838050bf764df0 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Stargate Finance: Router0 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Stargate Finance: S*USDC Token0 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xe3b53af74a4bf62ae5511055290838050bf764df0 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Stargate Finance: Router0 Ether
0x7e3be7abc7a65ff183c9fbe0b318c11054a2c06f6034b08752c3d890237986c2260180902022-09-28 14:01:268 hrs 38 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x74ebcc50b5622135cd4f89eca46a830464dfbaf90 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Optimism: OP Token0 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Optimism: OP Token0 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Optimism: OP Token0 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 1inch.exchange: Aggregation Router V40 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Optimism: OP Token0 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Optimism: OP Token0 Ether
0xb04da12943bbd559a4a17e449ccaacdaac17ede1de24b9ef64a13e414b4dfc58260169542022-09-28 13:57:418 hrs 41 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfbbaf8ace8da17c841d586cce1316107b14daf4d0 Ether
0xdb618e85aa085fcaccbfcd22a4594f84362ee2632c8a37754939aed51f2d1350260066282022-09-28 13:19:539 hrs 19 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x856cb5c3cbbe9e2e21293a644aa1f9363cee11e80.039 Ether
0xdb618e85aa085fcaccbfcd22a4594f84362ee2632c8a37754939aed51f2d1350260066282022-09-28 13:19:539 hrs 19 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xa7506e76f433485c6a7b23490f2708a29e72679f0 Ether
0x96c710f7c5a567372aa0a2af05763f44af7d20341f060ae95364e8b591631b29260064832022-09-28 13:19:089 hrs 20 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f Optimism: OP Token0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LiFiDiamond

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion
File 1 of 3 : LiFiDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import { LibDiamond } from "./Libraries/LibDiamond.sol";
import { IDiamondCut } from "./Interfaces/IDiamondCut.sol";

contract LiFiDiamond {
    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.
    // solhint-disable-next-line no-complex-fallback
    fallback() external payable {
        LibDiamond.DiamondStorage storage ds;
        bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;

        // get diamond storage
        // solhint-disable-next-line no-inline-assembly
        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.
        // solhint-disable-next-line no-inline-assembly
        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())
            }
        }
    }

    // Able to receive ether
    // solhint-disable-next-line no-empty-blocks
    receive() external payable {}
}

File 2 of 3 : LibDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import { IDiamondCut } from "../Interfaces/IDiamondCut.sol";

library LibDiamond {
    bytes32 internal 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;
        // solhint-disable-next-line no-inline-assembly
        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)) {
            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");
            }
            // solhint-disable-next-line avoid-low-level-calls
            (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;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            contractSize := extcodesize(_contract)
        }
        require(contractSize > 0, _errorMessage);
    }
}

File 3 of 3 : IDiamondCut.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

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);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

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

608060405260405162002d2c38038062002d2c83398101604081905262000026916200116d565b6200003c826200015660201b620000ed1760201c565b604080516001808252818301909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081620000535750506040805160018082528183019092529192506000919060208083019080368337019050509050631f931c1c60e01b81600081518110620000c657620000c6620011a5565b6001600160e01b031990921660209283029190910182015260408051606081019091526001600160a01b0385168152908101600081526020018281525082600081518110620001195762000119620011a5565b60200260200101819052506200014c82600060405180602001604052806000815250620001da60201b620001a71760201c565b5050505062001402565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b0384811691821790935560405160008051602062002c80833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b8351811015620003e6576000848281518110620001fe57620001fe620011a5565b602002602001015160200151905060006002811115620002225762000222620011bb565b816002811115620002375762000237620011bb565b0362000295576200028f858381518110620002565762000256620011a5565b602002602001015160000151868481518110620002775762000277620011a5565b6020026020010151604001516200043560201b60201c565b620003d0565b6001816002811115620002ac57620002ac620011bb565b0362000304576200028f858381518110620002cb57620002cb620011a5565b602002602001015160000151868481518110620002ec57620002ec620011a5565b602002602001015160400151620006c260201b60201c565b60028160028111156200031b576200031b620011bb565b0362000373576200028f8583815181106200033a576200033a620011a5565b6020026020010151600001518684815181106200035b576200035b620011a5565b6020026020010151604001516200095a60201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b5080620003dd81620011e7565b915050620001dd565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516200041c9392919062001260565b60405180910390a162000430828262000ac0565b505050565b60008151116200048b5760405162461bcd60e51b815260206004820152602b602482015260008051602062002d0c83398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620003c7565b60008051602062002c808339815191526001600160a01b038316620004f75760405162461bcd60e51b815260206004820152602c602482015260008051602062002cc883398151915260448201526b65206164647265737328302960a01b6064820152608401620003c7565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620005305762000530828562000cdf565b60005b8351811015620006bb576000848281518110620005545762000554620011a5565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03168015620005fc5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620003c7565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b03191617905583620006a08162001367565b94505050508080620006b290620011e7565b91505062000533565b5050505050565b6000815111620007185760405162461bcd60e51b815260206004820152602b602482015260008051602062002d0c83398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620003c7565b60008051602062002c808339815191526001600160a01b038316620007845760405162461bcd60e51b815260206004820152602c602482015260008051602062002cc883398151915260448201526b65206164647265737328302960a01b6064820152608401620003c7565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620007bd57620007bd828562000cdf565b60005b8351811015620006bb576000848281518110620007e157620007e1620011a5565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036200088e5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620003c7565b6200089b85828462000d4c565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200093f8162001367565b945050505080806200095190620011e7565b915050620007c0565b6000815111620009b05760405162461bcd60e51b815260206004820152602b602482015260008051602062002d0c83398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620003c7565b60008051602062002c808339815191526001600160a01b0383161562000a3f5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620003c7565b60005b825181101562000aba57600083828151811062000a635762000a63620011a5565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031662000aa284828462000d4c565b5050808062000ab190620011e7565b91505062000a42565b50505050565b6001600160a01b03821662000b4a5780511562000b465760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401620003c7565b5050565b600081511162000bc35760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401620003c7565b6001600160a01b038216301462000bf95762000bf98260405180606001604052806028815260200162002ca0602891396200112c565b600080836001600160a01b03168360405162000c16919062001398565b600060405180830381855af49150503d806000811462000c53576040519150601f19603f3d011682016040523d82523d6000602084013e62000c58565b606091505b50915091508162000aba5780511562000c87578060405162461bcd60e51b8152600401620003c79190620013b6565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401620003c7565b62000d048160405180606001604052806024815260200162002ce8602491396200112c565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000dca5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620003c7565b306001600160a01b0383160362000e3b5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620003c7565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000e8c91620013d2565b905080821462000f85576001600160a01b0384166000908152600186016020526040812080548390811062000ec55762000ec5620011a5565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811062000f195762000f19620011a5565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b0384166000908152600186016020526040902080548062000fb15762000fb1620013ec565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620006bb5760028501546000906200101790600190620013d2565b6001600160a01b0386166000908152600180890160205260409091200154909150808214620010cd5760008760020183815481106200105a576200105a620011a5565b6000918252602090912001546002890180546001600160a01b0390921692508291849081106200108e576200108e620011a5565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480620010e357620010e3620013ec565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b818162000aba5760405162461bcd60e51b8152600401620003c79190620013b6565b80516001600160a01b03811681146200116857600080fd5b919050565b600080604083850312156200118157600080fd5b6200118c8362001150565b91506200119c6020840162001150565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620011fc57620011fc620011d1565b5060010190565b60005b838110156200122057818101518382015260200162001206565b8381111562000aba5750506000910152565b600081518084526200124c81602086016020860162001203565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156200133557898403607f19018652815180516001600160a01b03168552838101518986019060038110620012d157634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156200131f5783516001600160e01b0319168252928601926001929092019190860190620012f3565b5097850197955050509082019060010162001289565b50506001600160a01b038a1690880152868103604088015262001359818962001232565b9a9950505050505050505050565b60006001600160601b038281166002600160601b031981016200138e576200138e620011d1565b6001019392505050565b60008251620013ac81846020870162001203565b9190910192915050565b602081526000620013cb602083018462001232565b9392505050565b600082821015620013e757620013e7620011d1565b500390565b634e487b7160e01b600052603160045260246000fd5b61186e80620014126000396000f3fe60806040523661000b57005b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819073ffffffffffffffffffffffffffffffffffffffff16806100c95760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100e8573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156103835760008482815181106101c7576101c76114a2565b6020026020010151602001519050600060028111156101e8576101e86114d1565b8160028111156101fa576101fa6114d1565b0361024857610243858381518110610214576102146114a2565b602002602001015160000151868481518110610232576102326114a2565b6020026020010151604001516103ce565b610370565b600181600281111561025c5761025c6114d1565b036102a557610243858381518110610276576102766114a2565b602002602001015160000151868481518110610294576102946114a2565b602002602001015160400151610736565b60028160028111156102b9576102b96114d1565b03610302576102438583815181106102d3576102d36114a2565b6020026020010151600001518684815181106102f1576102f16114a2565b602002602001015160400151610aa7565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e0000000000000000000000000000000000000000000000000060648201526084016100c0565b508061037b8161152f565b9150506101aa565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516103b7939291906115dd565b60405180910390a16103c98282610c66565b505050565b60008151116104455760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f2063757400000000000000000000000000000000000000000060648201526084016100c0565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83166104ef5760405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f652061646472657373283029000000000000000000000000000000000000000060648201526084016100c0565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610537576105378285610eb1565b60005b835181101561072f576000848281518110610557576105576114a2565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff1680156106225760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c726561647920657869737473000000000000000000000060648201526084016100c0565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790558361071781611745565b945050505080806107279061152f565b91505061053a565b5050505050565b60008151116107ad5760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f2063757400000000000000000000000000000000000000000060648201526084016100c0565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83166108575760405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f652061646472657373283029000000000000000000000000000000000000000060648201526084016100c0565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff8216900361089f5761089f8285610eb1565b60005b835181101561072f5760008482815181106108bf576108bf6114a2565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff908116908716810361098f5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e000000000000000060648201526084016100c0565b61099a858284610f40565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905583610a8f81611745565b94505050508080610a9f9061152f565b9150506108a2565b6000815111610b1e5760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f2063757400000000000000000000000000000000000000000060648201526084016100c0565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff831615610bc95760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d75737420626520616464726573732830290000000000000000000060648201526084016100c0565b60005b8251811015610c60576000838281518110610be957610be96114a2565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610c4b848284610f40565b50508080610c589061152f565b915050610bcc565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610cfa57805115610cf65760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d7074790000000060648201526084016100c0565b5050565b6000815111610d715760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f74206164647265737328302900000060648201526084016100c0565b73ffffffffffffffffffffffffffffffffffffffff82163014610db057610db0826040518060600160405280602881526020016117ed60289139611481565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610dd89190611770565b600060405180830381855af49150503d8060008114610e13576040519150601f19603f3d011682016040523d82523d6000602084013e610e18565b606091505b509150915081610c6057805115610e43578060405162461bcd60e51b81526004016100c0919061178c565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560448201527f766572746564000000000000000000000000000000000000000000000000000060648201526084016100c0565b610ed38160405180606001604052806024815260200161181560249139611481565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610fc95760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e277420657869737400000000000000000060648201526084016100c0565b3073ffffffffffffffffffffffffffffffffffffffff8316036110545760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e00000000000000000000000000000000000060648201526084016100c0565b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff1692916110de916117a6565b90508082146112255773ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260408120805483908110611120576111206114a2565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811061117e5761117e6114a2565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff84166000908152600186016020526040902080548061125b5761125b6117bd565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff00000000000000000000000000000000000000000000000000000000851682528690526040812081905581900361072f5760028501546000906112f4906001906117a6565b73ffffffffffffffffffffffffffffffffffffffff861660009081526001808901602052604090912001549091508082146113e2576000876002018381548110611340576113406114a2565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff909216925082918490811061137e5761137e6114a2565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b866002018054806113f5576113f56117bd565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b813b8181610c605760405162461bcd60e51b81526004016100c0919061178c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361156057611560611500565b5060010190565b60005b8381101561158257818101518382015260200161156a565b83811115610c605750506000910152565b600081518084526115ab816020860160208601611567565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015611708577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff8251168652848201516003811061168f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156116f35783517fffffffff000000000000000000000000000000000000000000000000000000001682529286019260019290920191908601906116b1565b50978501979550505090820190600101611606565b505073ffffffffffffffffffffffffffffffffffffffff8a169088015286810360408801526117378189611593565b9a9950505050505050505050565b60006bffffffffffffffffffffffff80831681810361176657611766611500565b6001019392505050565b60008251611782818460208701611567565b9190910192915050565b60208152600061179f6020830184611593565b9392505050565b6000828210156117b8576117b8611500565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220c217b44a368c9e7f7edbcc4e5524eeb9fcd07e5768e6838d3901153fd014371b64736f6c634300080d0033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e2066000000000000000000000000cb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee000000000000000000000000ed7b69d4ffadecff9a14bb7c713ae2459cd6f7b9

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

000000000000000000000000cb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee000000000000000000000000ed7b69d4ffadecff9a14bb7c713ae2459cd6f7b9

-----Decoded View---------------
Arg [0] : _contractOwner (address): 0xcb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee
Arg [1] : _diamondCutFacet (address): 0xed7b69d4ffadecff9a14bb7c713ae2459cd6f7b9

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000cb1e9fa11edd27098a6b2ff23cb6b79183ccf8ee
Arg [1] : 000000000000000000000000ed7b69d4ffadecff9a14bb7c713ae2459cd6f7b9


Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.