Contract 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 17

 

Contract Overview

Balance:
0.00189583286915518 ETH

ETH Value:
$2.01 (@ $1,060.67/ETH)
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x82af0fcb70f146c6c7c619aaee3a0ea1d787a4c3872f60687b9beb69a05e597e0x327a564d168650232022-07-03 3:32:293 mins ago0x032bba93ba3c2612d2149a40e18eac9d8a02d93f IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0118 ETH0.00017049406 ETH
0x32d8b2f409c05bc669d0c3999773034df1829de25ce44d8cc60387cc2674c9890x327a564d168649872022-07-03 3:31:094 mins ago0xa764e775bf36a4a4755db4913a21e712bdec0b43 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.53 ETH0.000168008375 ETH
0x8a8e50959262728d4210a81c6d2d8700c4cd24c27bcc3d2558f7ee52b0ae503b0x327a564d168647012022-07-03 3:25:589 mins ago0x7f010192d9398a1059f6449f1611fd9cc87d70b4 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0236 ETH0.000166954503 ETH
0x1a7801b91974c1f39d939457e65788674b1901a13d50f7ad0b0bfc60e93232fb0x327a564d168643672022-07-03 3:18:0917 mins ago0x032bba93ba3c2612d2149a40e18eac9d8a02d93f IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170267984 ETH
0x621ce72ab2ceb884f9f80a91423aed69f16a43a09dd7a7b0e5be2a77a11aea300x327a564d168643032022-07-03 3:17:5817 mins ago0x1490343503465c822e41b647ba35d77cd20d1c9c IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170271752 ETH
0x2aa1ee70705ead18b9c551162e1306379c3951b6dfce4b1150becdde65e40ec00x327a564d168642422022-07-03 3:16:4119 mins ago0x415cb2fba99a7bac25db3128d928307e7d0302bb IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170267984 ETH
0x5831a5208f88c273c96360a499a71011642d02c456c6dd9b518f53cae047811b0x327a564d168641742022-07-03 3:14:5520 mins ago0xa5afabc74d9e40903862d9994e6f5c8c33f9980f IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0189 ETH0.000167934491 ETH
0x4d121165a762128a3bddcd3a144fe4317da231c05a0152ec8cc6b82333348f7f0x327a564d168641682022-07-03 3:14:5520 mins ago0x4d5111005aab4620100ff8139cb188f248489628 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000169591068 ETH
0xd509362778436f7ad28991c8db73c2e8998982f66aeda5db96006f0f21260f8a0x327a564d168640902022-07-03 3:14:0421 mins ago0x32906c0838b7c182daf3b08b61a783922ea8964c IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170271752 ETH
0xd6d598ce7202f8e67675995b3a8d10a8ec8c80c97c4afda81df0651733bed9880x327a564d168639852022-07-03 3:12:0823 mins ago0xb4b779726aa199e64be9db7380f7b1f954f02b85 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170267984 ETH
0xfc0b333b73f0817942d8fb4e9859dabae2c934ac787c902ad0e220af8500d52e0x327a564d168639072022-07-03 3:10:5324 mins ago0xdefbbf7b24021de04d2e1f4e86c46eeddc0ce955 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170269295 ETH
0xf0226c56fc5516b179154032e0d0abaa7fa23f33fe23057f66e51754f62fa82f0x327a564d168638962022-07-03 3:10:5324 mins ago0x29f3212109267636ddce242a78f190545c8c9d31 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0015 ETH0.000169212146 ETH
0xdf84f43442e31e2894ef3638d03bc98e0d70383b5d74ab49a21916fdb287688f0x327a564d168638532022-07-03 3:10:5324 mins ago0xa82a14495e80e4b662d04357bfd36f418b37bc05 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0015 ETH0.000169434617 ETH
0x0b409ef28330867ed2104f6b205cc887209974db7e19919fe308421ec36cbb030x327a564d168638322022-07-03 3:09:4726 mins ago0x0b9c16d0f8be4ec3000f4f386520747d9a56fb47 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 ETH0.000169767341 ETH
0x3e199bbbbb3dd750b1ab25d6c45c60b1dfcc0bd88ea5f7e4acaa4ca049f976690x327a564d168638132022-07-03 3:09:4726 mins ago0x908ebec476f38a055f11fe9e99a3f31f1877fe38 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170046987 ETH
0x775815ba95d2f1cf5e485ede077ee59b0b132e991e8ce9e472c33b4a4aeb2cdb0x327a564d168637882022-07-03 3:09:0226 mins ago0xfcb410dd7afa0ab0b6cfcff65206cd16e7c32fad IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0014 ETH0.000169208542 ETH
0x1e3b679bc0605a993674db34ef72892259d2aa0ca777a644ec60f693fc985d270x327a564d168637592022-07-03 3:07:1728 mins ago0xf70ef4fc0fecea687083f66ea835932bfde82282 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.52 ETH0.000168236908 ETH
0x176ca76f4d387cb00d8f98ed3f1016ef301beff97123a44ab024784b9ab2b2fa0x327a564d168637552022-07-03 3:07:1728 mins ago0x0b9c16d0f8be4ec3000f4f386520747d9a56fb47 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 ETH0.00017555635 ETH
0xf8701b9743b26c9dfa090c2c797be980f0cdc7a178349dc6ed1a7bb7b93863730x327a564d168637512022-07-03 3:07:1728 mins ago0x3acb36b147b09b86d8c79cbbad29977b31aced0b IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170044202 ETH
0xb067a8075366af43ac48f675e132b44d26d6a1e6a43d4660606f88ce7c1de53c0x327a564d168637392022-07-03 3:07:1728 mins ago0x18838592083ab41e2be69e15e3f3d9ee68d32e76 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 ETH0.000171121665 ETH
0x725ad05f9a7af561ce4d11b0cf8b1d2f51f7ad63c3ebd8a9185b031c07a4f4c20x327a564d168636892022-07-03 3:05:2730 mins ago0x2fd606d05bee93ce114685a989d8a25b573c4c68 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170270605 ETH
0xad4fd88d605c56467bd4d4ed5cac74dadc17ebd8f52d2e8d78ba444efaa524720x327a564d168636442022-07-03 3:05:2730 mins ago0x46848fa6e189b5e94c7b71566b3617e30a714403 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.001 ETH0.000169439532 ETH
0x75a92f1584cc6008e1eeb9117a3b4da9a60c3794f7491cdab98ed6f41e30ea600x327a564d168635582022-07-03 3:03:2332 mins ago0x04be358ff3caf8d18451a96f6dea1518988fbb23 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.0189 ETH0.000167864867 ETH
0xfa25c4e3ccd7b31bd282e90ee06626983ed9d6b0456600ac0a658c18e850a3dd0x327a564d168635152022-07-03 3:03:2332 mins ago0x344d6aeaf78108242030295c5301900cc1a89398 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 ETH0.000169902659 ETH
0x7b71002357d24606b161c89e1f562c01248f2b0c3d308c279323cf7f9303b0770x327a564d168635132022-07-03 3:03:2332 mins ago0x516198f8e961f5d015e683443114592682284c28 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 ETH0.000170050427 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x82af0fcb70f146c6c7c619aaee3a0ea1d787a4c3872f60687b9beb69a05e597e168650232022-07-03 3:32:293 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.0118 ETH
0x82af0fcb70f146c6c7c619aaee3a0ea1d787a4c3872f60687b9beb69a05e597e168650232022-07-03 3:32:293 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.0118 ETH
0x32d8b2f409c05bc669d0c3999773034df1829de25ce44d8cc60387cc2674c989168649872022-07-03 3:31:094 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.53 ETH
0x32d8b2f409c05bc669d0c3999773034df1829de25ce44d8cc60387cc2674c989168649872022-07-03 3:31:094 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.53 ETH
0x8a8e50959262728d4210a81c6d2d8700c4cd24c27bcc3d2558f7ee52b0ae503b168647012022-07-03 3:25:589 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.0236 ETH
0x8a8e50959262728d4210a81c6d2d8700c4cd24c27bcc3d2558f7ee52b0ae503b168647012022-07-03 3:25:589 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.0236 ETH
0x1a7801b91974c1f39d939457e65788674b1901a13d50f7ad0b0bfc60e93232fb168643672022-07-03 3:18:0917 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0x1a7801b91974c1f39d939457e65788674b1901a13d50f7ad0b0bfc60e93232fb168643672022-07-03 3:18:0917 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0x621ce72ab2ceb884f9f80a91423aed69f16a43a09dd7a7b0e5be2a77a11aea30168643032022-07-03 3:17:5817 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0x621ce72ab2ceb884f9f80a91423aed69f16a43a09dd7a7b0e5be2a77a11aea30168643032022-07-03 3:17:5817 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0x2aa1ee70705ead18b9c551162e1306379c3951b6dfce4b1150becdde65e40ec0168642422022-07-03 3:16:4119 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0x2aa1ee70705ead18b9c551162e1306379c3951b6dfce4b1150becdde65e40ec0168642422022-07-03 3:16:4119 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0x5831a5208f88c273c96360a499a71011642d02c456c6dd9b518f53cae047811b168641742022-07-03 3:14:5520 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.0189 ETH
0x5831a5208f88c273c96360a499a71011642d02c456c6dd9b518f53cae047811b168641742022-07-03 3:14:5520 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.0189 ETH
0x4d121165a762128a3bddcd3a144fe4317da231c05a0152ec8cc6b82333348f7f168641682022-07-03 3:14:5520 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0x4d121165a762128a3bddcd3a144fe4317da231c05a0152ec8cc6b82333348f7f168641682022-07-03 3:14:5520 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0xd509362778436f7ad28991c8db73c2e8998982f66aeda5db96006f0f21260f8a168640902022-07-03 3:14:0421 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0xd509362778436f7ad28991c8db73c2e8998982f66aeda5db96006f0f21260f8a168640902022-07-03 3:14:0421 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0xd6d598ce7202f8e67675995b3a8d10a8ec8c80c97c4afda81df0651733bed988168639852022-07-03 3:12:0823 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0xd6d598ce7202f8e67675995b3a8d10a8ec8c80c97c4afda81df0651733bed988168639852022-07-03 3:12:0823 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0xfc0b333b73f0817942d8fb4e9859dabae2c934ac787c902ad0e220af8500d52e168639072022-07-03 3:10:5324 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.01 ETH
0xfc0b333b73f0817942d8fb4e9859dabae2c934ac787c902ad0e220af8500d52e168639072022-07-03 3:10:5324 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.01 ETH
0xf0226c56fc5516b179154032e0d0abaa7fa23f33fe23057f66e51754f62fa82f168638962022-07-03 3:10:5324 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.0015 ETH
0xf0226c56fc5516b179154032e0d0abaa7fa23f33fe23057f66e51754f62fa82f168638962022-07-03 3:10:5324 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210.0015 ETH
0xdf84f43442e31e2894ef3638d03bc98e0d70383b5d74ab49a21916fdb287688f168638532022-07-03 3:10:5324 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x33ceb27b39d2bb7d2e61f7564d3df293440204170.0015 ETH
[ 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 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 Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.