Contract 0x362fa9d0bca5d19f743db50738345ce2b40ec99f 16

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x678db3c313d5a7b1abe0e2132a2da452fd31591ee6f07e10654ddea78665c4250xe18a8fdb22626212022-11-09 20:01:18140 days 19 hrs ago0xfcbb477ec276476b6029ed0467f28f5ac1712884 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.011688
0xa1a944911dffa0cc48a9a81799212be4989923d463b97878ecddd5aec6f1752f0xa4baa10c22621732022-11-09 18:28:12140 days 20 hrs ago0x86553ba136398573d1c1b58b87d2d00b77f29dbe IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.013768628
0x4d129029a11340367a0c67cc81967b5361aaada0704d444c1b6e0df9ad00a1b10xa4baa10c22621562022-11-09 18:24:48140 days 20 hrs ago0x86553ba136398573d1c1b58b87d2d00b77f29dbe IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.01604112
0xcc56e84c5ae3a63c4d64694b1f7383a209ad97bb7e73e10b6a06abc4cf008d380x73bbd5c622592582022-11-09 8:25:18141 days 6 hrs ago0xe892ff52b7c99fae2f88ae2e591013905832bd9c IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.025015816
0x348bd500033a2790fcdc3df01b0ccddfecf6e9cc9b63d713d64e77e76375d84c0x73bbd5c622566982022-11-08 23:40:30141 days 15 hrs ago0x621bad836c520e6d57ab9e6cb06ab8115c4ddf74 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.024572492
0x45d53816f94a0228651015a91bb3889e63ba915dab085b8c22b3f20d441131f70xa4baa10c22566772022-11-08 23:36:22141 days 15 hrs ago0x621bad836c520e6d57ab9e6cb06ab8115c4ddf74 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.018927703
0xab2727701eb85e818f288754fe01d48a4c5fed275733b760452e381f9c67d9550x73bbd5c622531762022-11-08 11:33:18142 days 3 hrs ago0x8106a6de35467d3644274a89510ab13635da0920 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.02614436
0xdbeea536a280bb147f092b3fc72189d18ce7d541917decbe01d6cffbbadca4780x73bbd5c622468302022-11-07 14:03:06143 days 1 hr ago0xfe6fc5f5d89693d02dc938ec5be5f5b1f8b955e7 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f850 GLMR0.019407672
0x6d395935eb41b0b8dc5f1fb9564bcd442aee276f9c591de3e0975947f008ad110x73bbd5c622455362022-11-07 9:40:24143 days 5 hrs ago0x1131c6c55443769a657535af05f1369c144d8f43 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.024559463
0xbd9e2ebc97092bf62e42cefb14a8eab4bbddecb1dc4775f277005fa74457fbfc0x73bbd5c622442072022-11-07 5:08:54143 days 10 hrs ago0xd3744b27813f2456ff3ddf78214bf57735d5f1a1 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f80 GLMR0.019200684
0xb817d211595467ea991f4bd039fe58ac32036f14d34296868097680f68995a880x73bbd5c622423822022-11-06 22:56:48143 days 16 hrs ago0x621bad836c520e6d57ab9e6cb06ab8115c4ddf74 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.04562492
0xe41b7d78fb8bbbee593dd0589e674a841b10f9dffdf72d08c40ae1aa6567ed840xa4baa10c22410882022-11-06 18:32:24143 days 20 hrs ago0x8ba536ef6b8cc79362c2bcb2fc922eb1b367c612 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.030303321
0xce385f90d39a75c9a4742461066c9a7379a890a256534092885b2cbc9574d9720xa4baa10c22410632022-11-06 18:27:06143 days 20 hrs ago0x8ba536ef6b8cc79362c2bcb2fc922eb1b367c612 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.0281644
0xc6ba3500c98bd7c2203ab2130d6cae6370c7821083628e86d2c615e3e3b98f0d0xa4baa10c22403752022-11-06 16:05:12143 days 23 hrs ago0x23ac0429adfda5dd32dc38488e7f274c9c607b3a IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f1.1 GLMR0.037394808
0xe06f0c675a7d883e311fe3e22baa106374e60aa14d0bb0c929a122277a653e270xa4baa10c22402062022-11-06 15:29:36143 days 23 hrs ago0xcc32da6e72e60a097244f2134a8bae7c3367f236 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.019743864
0xf2d6b4455f70201a5ab3486a530cccbbe29644e452348f402e0e16b20e9caf450xa4baa10c22338702022-11-05 17:54:30144 days 21 hrs ago0x4f4335f5ed85e2ba67e93239755da2884e3c41ce IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.019747778
0x38fb4e9ec75f1102b49bcf680ebbfe27a699c2c90d2e51d81782467e8ac959840xa4baa10c22338642022-11-05 17:53:06144 days 21 hrs ago0x4f4335f5ed85e2ba67e93239755da2884e3c41ce IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.020734518
0xee22f0aa35624b1dd43ab55cdcccb23e99eb74cd8e7cfc87128771593397dbcf0xa4baa10c22338552022-11-05 17:51:18144 days 21 hrs ago0x4f4335f5ed85e2ba67e93239755da2884e3c41ce IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.01930632
0xe45c69aef6bc176ce0114297a8b429ce152bf7b12183ce6b3fa58480a64fd64e0xa4baa10c22338402022-11-05 17:48:06144 days 21 hrs ago0x4f4335f5ed85e2ba67e93239755da2884e3c41ce IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f1 GLMR0.0195228
0xf053e6b49a6d1a01783678e9fa0d4611d1cedc687029e505fa0dd2aff3bc084e0xa4baa10c22267892022-11-04 17:49:06145 days 21 hrs ago0xa9b4eded47614c2d2af712a4bd0dad45ce593e5a IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 GLMR0.019329481
0x124bf93a8ca80a66e04b4a347721c8adf0c2ac994b480a4e06c7c03e6139a8ef0xa4baa10c22267442022-11-04 17:40:00145 days 21 hrs ago0xa9b4eded47614c2d2af712a4bd0dad45ce593e5a IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.01 GLMR0.029919937
0x02a6e0a0e0b18bc97c7273284d548d1608edf92e580e26044dd0522d1d0b74210x73bbd5c622247452022-11-04 10:49:06146 days 4 hrs ago0xdd9a5ca4710fe4b08672fabc2d5774e0926a4afb IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f70 GLMR0.019145331
0x9f85164f6038be86106281f83782a04b2060daa13d4d22dc9b9d20093889ea240xe18a8fdb22242932022-11-04 9:17:06146 days 6 hrs ago0x7e8d6c4f09b2ed66193d0eb58df30d7d1ab28618 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.009695184
0xa72c0174a0a8383c1dba9ab651bc5ed3778e05d9a6b94f66acfde518a1df92b80xa4baa10c22191462022-11-03 15:44:54146 days 23 hrs ago0x48b61678ea8748b81abc677d1bd6050878a86d27 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f15 GLMR0.02865192
0xbd5a65e4d57730be60d815e7437e7a248f526696f8955ac09408bd3fcf224d930x73bbd5c622178772022-11-03 11:26:42147 days 3 hrs ago0x1d1661cb61bf5e3066f17f82099786d0fcc49d46 IN  0x362fa9d0bca5d19f743db50738345ce2b40ec99f0 GLMR0.02780382
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x45d53816f94a0228651015a91bb3889e63ba915dab085b8c22b3f20d441131f722566772022-11-08 23:36:22141 days 15 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f45.307724203285323372 GLMR
0xe06f0c675a7d883e311fe3e22baa106374e60aa14d0bb0c929a122277a653e2722402062022-11-06 15:29:36143 days 23 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f3,201.486733003836309806 GLMR
0xf2d6b4455f70201a5ab3486a530cccbbe29644e452348f402e0e16b20e9caf4522338702022-11-05 17:54:30144 days 21 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.026658722960577085 GLMR
0x38fb4e9ec75f1102b49bcf680ebbfe27a699c2c90d2e51d81782467e8ac9598422338642022-11-05 17:53:06144 days 21 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.999341829870699837 GLMR
0xee22f0aa35624b1dd43ab55cdcccb23e99eb74cd8e7cfc87128771593397dbcf22338552022-11-05 17:51:18144 days 21 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.993997688887031279 GLMR
0x438b057fa94b0cb6484dd11b54fa43fc5bccbab3807af2dc24a78093dff4cb9a22169402022-11-03 8:12:18147 days 7 hrs ago Beamswap: Amm Router.V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.015905841903719746 GLMR
0x911069dc8d100b07a1b62eef01c04b4e4ea94eb7905e385c65865d15a0a1866822169262022-11-03 8:09:24147 days 7 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.011981525200467864 GLMR
0xb8c21a7507c37b7b24423e10c3fd18ebc65d869c67fbc97ee68e503974f3348e22137702022-11-02 21:25:42147 days 17 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f0.350501933087431003 GLMR
0x53dfbaf9ab8c6f452e95a28ab632e49ffe5eeeceb8c5ed424a8ffff2bb0eaaf721919762022-10-30 19:35:54150 days 19 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f2,861.626889081703374571 GLMR
0x3994fe3c38590b80b7a0e0c4e463454b09ee512ffe8877c353fc819b27a3ce8221856432022-10-29 22:09:42151 days 17 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f101.644116919596061076 GLMR
0x4d667cd7690a95dbe5d7f457cf7b1e5198762d9167063915ad0e82440fab635521838232022-10-29 15:59:36151 days 23 hrs ago Beamswap: Amm Router.V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f41.90832953135885988 GLMR
0x1f6391c99654eeddb1f1958b8cb919f390ddb6b3acd0597755232c69df54b0f421829892022-10-29 13:10:06152 days 2 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f2.111990269715589004 GLMR
0x740d1dc557e2284921d7430acba5bdd6d073a67e81e3dfa6d5acc6384d3e2ab221755282022-10-28 11:55:06153 days 3 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f2,620.230301421279932846 GLMR
0x584bf9039a4048596793db2b83ccbaeb41a9508d8b26e83386084051f24b066a21683172022-10-27 11:33:24154 days 3 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f2,892.972680083564413452 GLMR
0x4058ac926e3517477fbcf77ab54ad40e98543f7b4c369ad5a1a59442f5a61ee821642762022-10-26 21:50:42154 days 17 hrs ago Beamswap: Amm Router.V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f16.559886130179582712 GLMR
0x2a12d05dfedafc306931251f62c19e328504595aff9b71b6876b8c49e93555c721540892022-10-25 11:15:00156 days 4 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f20.948968047052858306 GLMR
0xb7f8914155e91ba09e771812ce4384d8f2b78812d1c3b7fb818453d209ed517021419892022-10-23 17:37:12157 days 21 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f3,058.950573008132266565 GLMR
0x87b8787758e66c802900093582c6ee6cbb65bf0dee84c8e4e5d575903530ae2121414442022-10-23 15:43:48157 days 23 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f116.466616538014480764 GLMR
0xd13edf050f327200f42867d6dcf14524056a92289ee8a3845ca3cfe576b1083b21263252022-10-21 11:51:06160 days 3 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f3,117.264534125872849983 GLMR
0x8543af78b36ebabdae293a5e4004a3da0c9baf6c6715b80bb7ae1081ff5a4d9821196562022-10-20 12:53:18161 days 2 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f6,273.449519145711787505 GLMR
0x60e087028193be4462cbdefc6eb7f6c4e8b43d01320411ce2b1e4497b4298d5320979882022-10-17 10:26:42164 days 4 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f107.141068146595102929 GLMR
0xa116127efa5443b3c4b5698650e0bc6588b83614730711ce3404b763a2f1673220944482022-10-16 22:27:42164 days 16 hrs ago Beamswap: Amm Router.V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f105.055735099127441768 GLMR
0x55d21d31bc1a092e06c81048154a7ad017d265f70d0ec5db81e70d1e08d1c57320800502022-10-14 21:45:18166 days 17 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f226.19302744570091871 GLMR
0x8cf8c3c61aafc5a9be49d199974e1b9a5c7148aa9a97d146455189607dea526120714832022-10-13 16:50:06167 days 22 hrs ago 0x33388cf69e032c6f60a420b37e44b1f5443d3333 0x362fa9d0bca5d19f743db50738345ce2b40ec99f110 GLMR
0x0c308c6fe620dcb6510e8a877e7d6dd5b4230d7c1fbca65644e26d17e01e00bc20714662022-10-13 16:46:42167 days 22 hrs ago StellaSwap: Router V1 0x362fa9d0bca5d19f743db50738345ce2b40ec99f79.401008530002017844 GLMR
[ 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
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.