Contract 0x362fA9D0bCa5D19f743Db50738345ce2b40eC99f 17

 
Txn Hash Method
Index
From
To
Value
0x2e840708771892309e113d2bb809335f1e7bb2bdb86b614ce31d4b06024ab9920x327a564d137259832022-07-03 2:51:252 mins ago0xf7bb3f58babd9216ac590c19cfa402a127838f97 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.3 Ether0.0000488218710.0011
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c00xa4baa10c137255652022-07-03 2:39:3614 mins ago0x2a8f00f2394b70087f4dccd01aa2033135e169a1 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0003770517811
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf0x7d7aecd3137254332022-07-03 2:35:5918 mins ago0xf7b10d603907658f690da534e9b7dbc4dab3e2d6 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0001084009050.0011
0xa1d3773ba73d53392a985cc5c693985038ea7be3591132fe845937dc8bee75220x327a564d137253382022-07-03 2:31:4022 mins ago0x920608c9ce2d4bc8111f008131f81a2293ce9c52 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.6 Ether0.0000698283880.0011
0x5f23b29d813096fd8f19c39c37c4c34fb93bc360efd35031844530b7c1c6f4b90x2a7a7042137248812022-07-03 2:15:5038 mins ago0x15d67fc9deec198977688c7a25a8db2ca2b477ac IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0004427508270.0011
0x1a74e24510d71c3b477b26ea8b3d40977760478e153d0e71f0a707e03995ac4f0x327a564d137243172022-07-03 1:58:1356 mins ago0x1115a4ed27acdfd5a71b41704a9f58ca660ea7df IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.8 Ether0.0000633233860.0011
0x64ac30ee0c8076b02dcc02e2a6bef7dc3945b8e97014fd4408fe94bbf88436420xe18a8fdb137241702022-07-03 1:53:271 hr ago0x2eeaa7534aa31545e98319ed72827da53264775f IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000454774490.0011
0x09853573c799325b385181acf5ec1e9f599af649c55ac07885a9670e9958e6940xe18a8fdb137233922022-07-03 1:35:511 hr 18 mins ago0x2a8f00f2394b70087f4dccd01aa2033135e169a1 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.000045055310.001
0x249a2df442d54600cfb6b2f6725afc1addf4cd1be72d119c3fcb13e6ca131abb0x327a564d137233872022-07-03 1:35:341 hr 18 mins ago0x2eeaa7534aa31545e98319ed72827da53264775f IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.003 Ether0.0000505371110.0011
0x51c6a9995ce8fc9f163a25450d7d90fe6988ca85c16cf73da4c8c7c9c7994bc90xe18a8fdb137232312022-07-03 1:30:401 hr 23 mins ago0x5de9f733ecae5a0cbb5d284462693726a3e492b0 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000348120290.0011
0x0baa7d06fb68674dbd0379e92e578f3457a2efe439143947514bb569a1427bdb0x2a7a7042137229392022-07-03 1:18:461 hr 35 mins ago0xef9f7b9a494faf74ddd8ef3c428c065594bca99a IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0006012571310.0011
0xd95a59fb08d8da8f3803ca9965ced263fcb048ec4daa9efb2e883a9073fe954c0x7d7aecd3137228652022-07-03 1:15:111 hr 39 mins ago0x2eeaa7534aa31545e98319ed72827da53264775f IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0002939472610.0011
0x9253b861bb3661b3d7400022a276477c7c20493c921f7723aeff2425c90e549d0xe18a8fdb137227632022-07-03 1:10:491 hr 43 mins ago0x43cc59434703418883ab6a0959724eeae3ef3817 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0001505673020.001
0x257a977a77a0669ec729c8a738b7a299d554a24e9e27742e320307a1f2056d810x2a7a7042137223402022-07-03 0:55:481 hr 58 mins ago0x965658b4bd00dd1967cc4f8220462b6007f15860 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0003943317130.0011
0xa5997b9308a4709ed7b3f7f5a3bbfbb40563a1ace4f78fc3a0074e0907f49b590x327a564d137220552022-07-03 0:44:212 hrs 9 mins ago0xc0b0b17d7ef3c80005ed20801a21aa0bdbcae8f3 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0000876759440.001
0xd13477c5827c585e0568a8258a927e9b6446de1e683b0121e1b5a35f4f65a50c0x2a7a7042137209562022-07-03 0:20:072 hrs 34 mins ago0xedb61a92de9d08874bdf2a9d1fdf8df9f111bf7d IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0001497572060.0011
0x50a28722cf5c4294789f10ea2c581b42faca3ce34bf8603039a4d9605213f29b0xa4baa10c137196682022-07-02 23:43:123 hrs 11 mins ago0xacc2c59c954048fe4fc8d9f1c5dcc8b93afe53bf IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.202643470105505 Ether0.0008481679631
0xd9d5f60b1bb2152c88bcf57d51b87baff0ac181f10e6842845b29df78a0dd3700xe18a8fdb137194472022-07-02 23:30:353 hrs 23 mins ago0xcc58accacd0db8010e4c8a20ba49d2dc9d4d7f59 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0004755898690.0011
0x60d923226aaef5695a1500b2b037d35ac9cdeddc824e348e125dceb0a28dcd420xa4baa10c137178382022-07-02 22:22:314 hrs 31 mins ago0xd76814b65b873f92b2ba8eb922a2082f6f40dd56 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0004889267461
0x7a307f95ac791f49c086c703563f65b111a1e9a37694647eafec250840f055910xa4baa10c137177752022-07-02 22:20:544 hrs 33 mins ago0xd76814b65b873f92b2ba8eb922a2082f6f40dd56 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.5 Ether0.0005220276831
0x46ec303aadcf87eda9b937f29f8726beb23e2d31c6d9dca0cce28acd176349bb0x327a564d137162302022-07-02 21:35:265 hrs 18 mins ago0xbc3fbad7fec320dac035cf6b9333e37cb7afadc4 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 Ether0.0002270831040.001
0x75d8e235752a3dfa36db13b2303d293cbbf49f17ce1f84e65550c776ca8b6cbd0x327a564d137157902022-07-02 21:18:555 hrs 35 mins ago0x4b51e46a88d5ec2902e1125820855ceab51e9057 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.001 Ether0.0001122356510.001
0x496acf189fad362c8e21e0a4c061e61010c50fb772c5bdac00b49fdc98d25dd10x327a564d137157452022-07-02 21:17:465 hrs 36 mins ago0x4b51e46a88d5ec2902e1125820855ceab51e9057 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.001 Ether0.0001122356510.001
0x9c5014fa7e967db9a07cda177c7538e6d4c66739c6406ead0f34e0d162566dc80xe18a8fdb137155262022-07-02 21:11:585 hrs 42 mins ago0xa3c59fcfdb498ae488cbb19ed5e33e3c2a646f18 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.12 Ether0.0000988727060.0011
0xe10ed19ab8c9b3547ce75d1703e4b0f0a4f51c9b3384b23f3cb776db282cfb1c0xe18a8fdb137149652022-07-02 20:54:146 hrs ago0x0493b6988add9a904926937abd80891c6f0d42ff IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.140999999999999 Ether0.0000499667870.001
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2e840708771892309e113d2bb809335f1e7bb2bdb86b614ce31d4b06024ab992137259832022-07-03 2:51:252 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x86ca30bef97fb651b8d866d45503684b90cb33120.3 Ether
0x2e840708771892309e113d2bb809335f1e7bb2bdb86b614ce31d4b06024ab992137259832022-07-03 2:51:252 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x94b008aa00579c1307b0ef2c499ad98a8ce58e580 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x94b008aa00579c1307b0ef2c499ad98a8ce58e580 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x94b008aa00579c1307b0ef2c499ad98a8ce58e580 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xdef1abe32c034e558cdd535791643c58a13acc100 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x94b008aa00579c1307b0ef2c499ad98a8ce58e580 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x94b008aa00579c1307b0ef2c499ad98a8ce58e580 Ether
0x0972c5d050e1bb567837abf689af5cc1c4d21fc6be8a14e2956db654a9de66c0137255652022-07-03 2:39:3614 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xe10f73a5021f077a08a500be46ab379afe8481c60 Ether
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf137254332022-07-03 2:35:5918 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99fxPollinate: Transaction Manager0 Ether
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf137254332022-07-03 2:35:5918 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf137254332022-07-03 2:35:5918 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf137254332022-07-03 2:35:5918 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf137254332022-07-03 2:35:5918 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0xa052498bb0e2e6cd12ae669e05bc4e506e6c8d0d20f72890e4132b942fb7d6cf137254332022-07-03 2:35:5918 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x485c8ffe2535b132847f385db066e8ba946768ca0 Ether
0xa1d3773ba73d53392a985cc5c693985038ea7be3591132fe845937dc8bee7522137253382022-07-03 2:31:4022 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x86ca30bef97fb651b8d866d45503684b90cb33120.6 Ether
0xa1d3773ba73d53392a985cc5c693985038ea7be3591132fe845937dc8bee7522137253382022-07-03 2:31:4022 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xfeb1f3d244f689a0512533ea9030e02e122d79210 Ether
0x5f23b29d813096fd8f19c39c37c4c34fb93bc360efd35031844530b7c1c6f4b9137248812022-07-03 2:15:5038 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99fxPollinate: Transaction Manager0.009450253035357305 Ether
0x5f23b29d813096fd8f19c39c37c4c34fb93bc360efd35031844530b7c1c6f4b9137248812022-07-03 2:15:5038 mins ago 0xa3128d9b7cca7d5af29780a56abeec12b05a6740 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.009450253035357305 Ether
0x5f23b29d813096fd8f19c39c37c4c34fb93bc360efd35031844530b7c1c6f4b9137248812022-07-03 2:15:5038 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0xdef1abe32c034e558cdd535791643c58a13acc100 Ether
0x5f23b29d813096fd8f19c39c37c4c34fb93bc360efd35031844530b7c1c6f4b9137248812022-07-03 2:15:5038 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
0x5f23b29d813096fd8f19c39c37c4c34fb93bc360efd35031844530b7c1c6f4b9137248812022-07-03 2:15:5038 mins ago 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 0x7f5c764cbc14f9669b88837ca1490cca17c316070 Ether
[ Download CSV Export 
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

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