Contract 0xba6bd2aace40c9a14c4123717119a80e9fe6738a 1

Contract Overview

Evrloot: EVR-BOUND Token
Balance:
148.97 GLMR

GLMR Value:
$45.66 (@ $0.31/GLMR)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa8b37977443352daebde4604d600596209d6f9d3bde59e585786839a6a231bb0Start Mission(pending)2023-12-06 12:00:387 secs ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN 0xba6bd2aace40c9a14c4123717119a80e9fe6738a0.003 GLMR(Pending)
0x36fd620c14444c3c1304c0d6cc83cb6570ac01fed539a1d157b1366a04af1c1aStart Mission(pending)2023-12-06 12:00:387 secs ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN 0xba6bd2aace40c9a14c4123717119a80e9fe6738a0.003 GLMR(Pending)
0xb1c65140b4ce27de4a9f68bb58c87837fb032537dd5f24a8214618dbda2bd91fStake Soul Token50224132023-12-06 12:00:1827 secs ago0x228fb3cf939bf8ec2e234b9d4e89e28450cc7c9a IN  Evrloot: EVR-BOUND Token0 GLMR0.019493071672
0xcfe8f728d23041a008c1ec70ac0f92a54a7fc335cffa8f364f98b761a53b01e2End Last Mission50224112023-12-06 11:59:5451 secs ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN  Evrloot: EVR-BOUND Token0 GLMR0.027984065464
0xd579c98be72d698ca78dd5fdeac9ea325b0920b2198ad1053a077e545a99c8a9End Last Mission50224092023-12-06 11:59:301 min ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN  Evrloot: EVR-BOUND Token0 GLMR0.027292917741
0x7b07b430b6f26d05f073c7dc8a50651ef20d634b4e5b59880293ec8e44645b12End Last Mission50224092023-12-06 11:59:301 min ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN  Evrloot: EVR-BOUND Token0 GLMR0.027230791006
0x70f22a12f1d3666d5a9058a2c695a77601224f7ebe60679c12e7abed288281e6End Last Mission50224092023-12-06 11:59:301 min ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN  Evrloot: EVR-BOUND Token0 GLMR0.027292917741
0x0f3d0eaf337c61260f76a79540560201d3cfff3459137923d5326984fcc10809End Last Mission50224082023-12-06 11:59:181 min ago0x73b639863fb06e6fbe828524ddc0baf481aa6cfb IN  Evrloot: EVR-BOUND Token0 GLMR0.027292917741
0x7246e508b89284bafc1f4b714f8a1176cf9cf98a9b5941d519ab9a57c8826410Identify Unclaim...50223752023-12-06 11:52:248 mins ago0x5b41c617dcc652f6042ada8e93b64e9ed5e4337a IN  Evrloot: EVR-BOUND Token0.1 GLMR0.022519513109
0xf15758299038e8e7d01524414c909476ca0b874ad6e359c01984bd171bf3bbf6Identify Unclaim...50223552023-12-06 11:48:2412 mins ago0x65274e52b12e0cfac2cc42bc4fb971447507c5e2 IN  Evrloot: EVR-BOUND Token0.2 GLMR0.024653222034
0x019f76849b0d17c7149ca626d05447d5ba99665ddf34dfc48f948825f29ae34eStart Mission50223542023-12-06 11:48:1212 mins ago0x2c05c34820c73d13d4a148bead39a6b21a01111b IN  Evrloot: EVR-BOUND Token0.003 GLMR0.012475781094
0xbbcb4a8dabec2fdc9898578d3cdf0e63af1561ce61f9e88fae2427bc60563cd4Start Mission50223512023-12-06 11:47:3613 mins ago0x228fb3cf939bf8ec2e234b9d4e89e28450cc7c9a IN  Evrloot: EVR-BOUND Token0.003 GLMR0.012478011309
0x428bc6a410bd8f5f6ee4b1768580ea5dbde6eb7133bfae3d43cf2669761f1082Stake Soul Token50223482023-12-06 11:47:0013 mins ago0x2c05c34820c73d13d4a148bead39a6b21a01111b IN  Evrloot: EVR-BOUND Token0 GLMR0.021288476219
0x48016dc77af6a84d92ed877deb8650ae358c626a73d65a4ba3070c8364c073dcEnd Last Mission50223432023-12-06 11:46:0014 mins ago0x228fb3cf939bf8ec2e234b9d4e89e28450cc7c9a IN  Evrloot: EVR-BOUND Token0 GLMR0.026093724716
0x9b17ac8b5a6bb8e2584ce60fad3d4aa3f7441a271e92f2410f47b21b920bc714Start Mission50223342023-12-06 11:44:1216 mins ago0x45328f48afe3717277df9641b6ebd545f2898e41 IN  Evrloot: EVR-BOUND Token0.003 GLMR0.013245172657
0xd506776bc688b5ecf0c815c4d65714dcfa7099847c78b76c41b6f175d20ea520End Last Mission50223302023-12-06 11:43:2417 mins ago0x45328f48afe3717277df9641b6ebd545f2898e41 IN  Evrloot: EVR-BOUND Token0 GLMR0.025753392685
0xaaa813830a36a9331cfc4570cdb9fef50c32d4e3743b9a5c3b58e4a7b536ac81Start Mission50223182023-12-06 11:41:0019 mins ago0x45328f48afe3717277df9641b6ebd545f2898e41 IN  Evrloot: EVR-BOUND Token0.003 GLMR0.013233074619
0x3388b4b274cccb239707897d68c30efe437a097d6458fb3050d506a05fb1701fEnd Last Mission50223132023-12-06 11:40:0020 mins ago0x45328f48afe3717277df9641b6ebd545f2898e41 IN  Evrloot: EVR-BOUND Token0 GLMR0.025685040185
0x812069475d0bf983daa0025f4624a3080cd50fd5f01a7832e0176acb7e563f3cStart Mission50223082023-12-06 11:39:0121 mins ago0x45328f48afe3717277df9641b6ebd545f2898e41 IN  Evrloot: EVR-BOUND Token0.003 GLMR0.013224187445
0x110389d8859aab9610d28ecfc47e83632681177c8738881281572d75b7f71979End Last Mission50223042023-12-06 11:38:1222 mins ago0x45328f48afe3717277df9641b6ebd545f2898e41 IN  Evrloot: EVR-BOUND Token0 GLMR0.025698790709
0x0f719d3c8038c86344f5565348bef9971ddad0ddef6718f95b0dba32f72a1f23Identify Unclaim...50222962023-12-06 11:36:3624 mins ago0x65274e52b12e0cfac2cc42bc4fb971447507c5e2 IN  Evrloot: EVR-BOUND Token0.2 GLMR0.026681305928
0x8d2631566d2bb33edd78e29e98fa107cc6c1c4c27ca922a3b515c14367f1af3dStart Mission50222782023-12-06 11:32:4827 mins ago0xcccef9dcf1096768a4bd81d86afe665c7319af3b IN  Evrloot: EVR-BOUND Token0.003 GLMR0.034883329839
0x3c308a5d9120b2423e55009fc5b44a60753a360c9e79af18fa0e554e9218b416Identify Unclaim...50222772023-12-06 11:32:3628 mins ago0x65274e52b12e0cfac2cc42bc4fb971447507c5e2 IN  Evrloot: EVR-BOUND Token0.2 GLMR0.022545396446
0x15434254feac53497da0da33a7381d6d84699d849007bd3bed3dde70cc4a703dIdentify Unclaim...50222632023-12-06 11:29:4231 mins ago0x65274e52b12e0cfac2cc42bc4fb971447507c5e2 IN  Evrloot: EVR-BOUND Token0.2 GLMR0.024379729445
0x128640a0c6a001f9027b6d843eea859c98e53b22b1d726fd1de301d8f54f56daIdentify Unclaim...50222482023-12-06 11:26:4234 mins ago0x65274e52b12e0cfac2cc42bc4fb971447507c5e2 IN  Evrloot: EVR-BOUND Token0.2 GLMR0.024336857671
[ Download CSV Export 

OVERVIEW

Evrloot is a low-touch RPG inspired by dark fantasy and built with the cutting-edge RMRK NFT standard.

Parent Txn Hash Block From To Value
Index Block
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:
Diamond

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 175 runs

Other Settings:
default evmVersion
File 1 of 8 : Diamond.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
*
* Implementation of a diamond.
/******************************************************************************/

import {LibDiamond} from "./libraries/LibDiamond.sol";
import {IDiamondCut} from "./interfaces/IDiamondCut.sol";
import {IDiamondLoupe} from "./interfaces/IDiamondLoupe.sol";
import {IERC173} from "./interfaces/IERC173.sol";
import {IERC165} from "./interfaces/IERC165.sol";

// When no function exists for function called
error FunctionNotFound(bytes4 _functionSelector);

// This is used in diamond constructor
// more arguments are added to this struct
// this avoids stack too deep errors
struct DiamondArgs {
    address owner;
    address init;
    bytes initCalldata;
}

contract Diamond {
    constructor(
        IDiamondCut.FacetCut[] memory _diamondCut,
        DiamondArgs memory _args
    ) payable {
        LibDiamond.setContractOwner(_args.owner);
        LibDiamond.diamondCut(_diamondCut, _args.init, _args.initCalldata);

        // Code can be added here to perform actions and set state variables.
    }

    // Find facet for function that is called and execute the
    // function if a facet is found and return any value.
    fallback() external payable {
        LibDiamond.DiamondStorage storage ds;
        bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;
        // get diamond storage
        assembly {
            ds.slot := position
        }
        // get facet from function selector
        address facet = ds
            .facetAddressAndSelectorPosition[msg.sig]
            .facetAddress;
        if (facet == address(0)) {
            revert FunctionNotFound(msg.sig);
        }
        // Execute external function from facet using delegatecall and return any value.
        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())
            }
        }
    }

    /**
     * @notice Allows this contract to receive the gas token.
     */
    // solhint-disable-next-line no-empty-blocks
    receive() external payable {}
}

File 2 of 8 : IDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

interface IDiamond {
    enum FacetCutAction {Add, Replace, Remove}
    // Add=0, Replace=1, Remove=2

    struct FacetCut {
        address facetAddress;
        FacetCutAction action;
        bytes4[] functionSelectors;
    }

    event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
}

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

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

import {IDiamond} from "./IDiamond.sol";
import {IERC165Updater} from "./IERC165Updater.sol";

interface IDiamondCut is IDiamond, IERC165Updater {
    /// @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;
}

File 4 of 8 : IDiamondLoupe.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

// A loupe is a small magnifying glass used to look at diamonds.
// These functions look at diamonds
interface IDiamondLoupe {
    /// These functions are expected to be called frequently
    /// by tools.

    struct Facet {
        address facetAddress;
        bytes4[] functionSelectors;
    }

    /// @notice Gets all facet addresses and their four byte function selectors.
    /// @return facets_ Facet
    function facets() external view returns (Facet[] memory facets_);

    /// @notice Gets all the function selectors supported by a specific facet.
    /// @param _facet The facet address.
    /// @return facetFunctionSelectors_
    function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory facetFunctionSelectors_);

    /// @notice Get all the facet addresses used by a diamond.
    /// @return facetAddresses_
    function facetAddresses() external view returns (address[] memory facetAddresses_);

    /// @notice Gets the facet that supports the given selector.
    /// @dev If facet is not found return address(0).
    /// @param _functionSelector The function selector.
    /// @return facetAddress_ The facet address.
    function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_);
}

File 5 of 8 : IERC165.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IERC165 {
    /// @notice Query if a contract implements an interface
    /// @param interfaceId The interface identifier, as specified in ERC-165
    /// @dev Interface identification is specified in ERC-165. This function
    ///  uses less than 30,000 gas.
    /// @return `true` if the contract implements `interfaceID` and
    ///  `interfaceID` is not 0xffffffff, `false` otherwise
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

File 6 of 8 : IERC165Updater.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/**
 * @title IERC165Updater
 * @author Multiple
 * @notice An extension of ERC165 Standard Interface Detection that allows contracts to add and remove supported interfaces.
 *
 * Users can check for interface support via `supportsInterface(bytes4 interfaceID)` as defined in ERC165. Users can add or remove interface support via [`updateSupportedInterfaces()`](#updatesupportedinterfaces).
 */
interface IERC165Updater {
    /// @notice Emitted when support for an interface is updated.
    event InterfaceSupportUpdated(bytes4 indexed interfaceID, bool supported);

    /**
     * @notice Adds or removes supported interfaces.
     * @dev Add access control in implementation.
     * @param interfaceIDs The list of interfaces to update.
     * @param support The list of true to signal support, false otherwise.
     */
    function updateSupportedInterfaces(
        bytes4[] calldata interfaceIDs,
        bool[] calldata support
    ) external payable;
}

File 7 of 8 : IERC173.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/// @title ERC-173 Contract Ownership Standard
///  Note: the ERC-165 identifier for this interface is 0x7f5828d0
/* is ERC165 */
interface IERC173 {
    /// @dev This emits when ownership of a contract changes.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /// @notice Get the address of the owner
    /// @return owner_ The address of the owner.
    function owner() external view returns (address owner_);

    /// @notice Set the address of the new owner of the contract
    /// @dev Set _newOwner to address(0) to renounce any ownership.
    /// @param _newOwner The address of the new owner of the contract
    function transferOwnership(address _newOwner) external;
}

File 8 of 8 : LibDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/
import {IDiamond} from "../interfaces/IDiamond.sol";
import {IDiamondCut} from "../interfaces/IDiamondCut.sol";

// Remember to add the loupe functions from DiamondLoupeFacet to the diamond.
// The loupe functions are required by the EIP2535 Diamonds standard

error NoSelectorsGivenToAdd();
error NotContractOwner(address _user, address _contractOwner);
error NotPermitted(
    address _user,
    address _contractOwner,
    address _backendAddress
);
error NoSelectorsProvidedForFacetForCut(address _facetAddress);
error CannotAddSelectorsToZeroAddress(bytes4[] _selectors);
error NoBytecodeAtAddress(address _contractAddress, string _message);
error IncorrectFacetCutAction(uint8 _action);
error CannotAddFunctionToDiamondThatAlreadyExists(bytes4 _selector);
error CannotReplaceFunctionsFromFacetWithZeroAddress(bytes4[] _selectors);
error CannotReplaceImmutableFunction(bytes4 _selector);
error CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(
    bytes4 _selector
);
error CannotReplaceFunctionThatDoesNotExists(bytes4 _selector);
error RemoveFacetAddressMustBeZeroAddress(address _facetAddress);
error CannotRemoveFunctionThatDoesNotExist(bytes4 _selector);
error CannotRemoveImmutableFunction(bytes4 _selector);
error InitializationFunctionReverted(
    address _initializationContractAddress,
    bytes _calldata
);

library LibDiamond {
    bytes32 constant DIAMOND_STORAGE_POSITION =
        keccak256("diamond.standard.diamond.storage");

    struct FacetAddressAndSelectorPosition {
        address facetAddress;
        uint16 selectorPosition;
    }

    struct DiamondStorage {
        // function selector => facet address and selector position in selectors array
        mapping(bytes4 => FacetAddressAndSelectorPosition) facetAddressAndSelectorPosition;
        bytes4[] selectors;
        mapping(bytes4 => bool) supportedInterfaces;
        // owner of the contract
        address contractOwner;
        address backendAddress;
    }

    function diamondStorage()
        internal
        pure
        returns (DiamondStorage storage ds)
    {
        bytes32 position = DIAMOND_STORAGE_POSITION;
        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 {
        if (msg.sender != diamondStorage().contractOwner) {
            revert NotContractOwner(msg.sender, diamondStorage().contractOwner);
        }
    }

    function enforceIsContractOwnerOrBackendAddress() internal view {
        DiamondStorage storage ds = diamondStorage();
        if (msg.sender != ds.backendAddress && msg.sender != ds.contractOwner) {
            revert NotPermitted(
                msg.sender,
                diamondStorage().contractOwner,
                diamondStorage().backendAddress
            );
        }
    }

    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++
        ) {
            bytes4[] memory functionSelectors = _diamondCut[facetIndex]
                .functionSelectors;
            address facetAddress = _diamondCut[facetIndex].facetAddress;
            if (functionSelectors.length == 0) {
                revert NoSelectorsProvidedForFacetForCut(facetAddress);
            }
            IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action;
            if (action == IDiamond.FacetCutAction.Add) {
                addFunctions(facetAddress, functionSelectors);
            } else if (action == IDiamond.FacetCutAction.Replace) {
                replaceFunctions(facetAddress, functionSelectors);
            } else if (action == IDiamond.FacetCutAction.Remove) {
                removeFunctions(facetAddress, functionSelectors);
            } else {
                revert IncorrectFacetCutAction(uint8(action));
            }
        }
        emit DiamondCut(_diamondCut, _init, _calldata);
        initializeDiamondCut(_init, _calldata);
    }

    function addFunctions(
        address _facetAddress,
        bytes4[] memory _functionSelectors
    ) internal {
        if (_facetAddress == address(0)) {
            revert CannotAddSelectorsToZeroAddress(_functionSelectors);
        }
        DiamondStorage storage ds = diamondStorage();
        uint16 selectorCount = uint16(ds.selectors.length);
        enforceHasContractCode(
            _facetAddress,
            "LibDiamondCut: Add facet has no code"
        );
        for (
            uint256 selectorIndex;
            selectorIndex < _functionSelectors.length;
            selectorIndex++
        ) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds
                .facetAddressAndSelectorPosition[selector]
                .facetAddress;
            if (oldFacetAddress != address(0)) {
                revert CannotAddFunctionToDiamondThatAlreadyExists(selector);
            }
            ds.facetAddressAndSelectorPosition[
                    selector
                ] = FacetAddressAndSelectorPosition(
                _facetAddress,
                selectorCount
            );
            ds.selectors.push(selector);
            selectorCount++;
        }
    }

    function replaceFunctions(
        address _facetAddress,
        bytes4[] memory _functionSelectors
    ) internal {
        DiamondStorage storage ds = diamondStorage();
        if (_facetAddress == address(0)) {
            revert CannotReplaceFunctionsFromFacetWithZeroAddress(
                _functionSelectors
            );
        }
        enforceHasContractCode(
            _facetAddress,
            "LibDiamondCut: Replace facet has no code"
        );
        for (
            uint256 selectorIndex;
            selectorIndex < _functionSelectors.length;
            selectorIndex++
        ) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds
                .facetAddressAndSelectorPosition[selector]
                .facetAddress;
            // can't replace immutable functions -- functions defined directly in the diamond in this case
            if (oldFacetAddress == address(this)) {
                revert CannotReplaceImmutableFunction(selector);
            }
            if (oldFacetAddress == _facetAddress) {
                revert CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(
                    selector
                );
            }
            if (oldFacetAddress == address(0)) {
                revert CannotReplaceFunctionThatDoesNotExists(selector);
            }
            // replace old facet address
            ds
                .facetAddressAndSelectorPosition[selector]
                .facetAddress = _facetAddress;
        }
    }

    function removeFunctions(
        address _facetAddress,
        bytes4[] memory _functionSelectors
    ) internal {
        DiamondStorage storage ds = diamondStorage();
        uint256 selectorCount = ds.selectors.length;
        if (_facetAddress != address(0)) {
            revert RemoveFacetAddressMustBeZeroAddress(_facetAddress);
        }
        for (
            uint256 selectorIndex;
            selectorIndex < _functionSelectors.length;
            selectorIndex++
        ) {
            bytes4 selector = _functionSelectors[selectorIndex];
            FacetAddressAndSelectorPosition
                memory oldFacetAddressAndSelectorPosition = ds
                    .facetAddressAndSelectorPosition[selector];
            if (oldFacetAddressAndSelectorPosition.facetAddress == address(0)) {
                revert CannotRemoveFunctionThatDoesNotExist(selector);
            }

            // can't remove immutable functions -- functions defined directly in the diamond
            if (
                oldFacetAddressAndSelectorPosition.facetAddress == address(this)
            ) {
                revert CannotRemoveImmutableFunction(selector);
            }
            // replace selector with last selector
            selectorCount--;
            if (
                oldFacetAddressAndSelectorPosition.selectorPosition !=
                selectorCount
            ) {
                bytes4 lastSelector = ds.selectors[selectorCount];
                ds.selectors[
                    oldFacetAddressAndSelectorPosition.selectorPosition
                ] = lastSelector;
                ds
                    .facetAddressAndSelectorPosition[lastSelector]
                    .selectorPosition = oldFacetAddressAndSelectorPosition
                    .selectorPosition;
            }
            // delete last selector
            ds.selectors.pop();
            delete ds.facetAddressAndSelectorPosition[selector];
        }
    }

    function initializeDiamondCut(
        address _init,
        bytes memory _calldata
    ) internal {
        if (_init == address(0)) {
            return;
        }
        enforceHasContractCode(
            _init,
            "LibDiamondCut: _init address has no code"
        );
        (bool success, bytes memory error) = _init.delegatecall(_calldata);
        if (!success) {
            if (error.length > 0) {
                // bubble up error
                /// @solidity memory-safe-assembly
                assembly {
                    let returndata_size := mload(error)
                    revert(add(32, error), returndata_size)
                }
            } else {
                revert InitializationFunctionReverted(_init, _calldata);
            }
        }
    }

    function enforceHasContractCode(
        address _contract,
        string memory _errorMessage
    ) internal view {
        uint256 contractSize;
        assembly {
            contractSize := extcodesize(_contract)
        }
        if (contractSize == 0) {
            revert NoBytecodeAtAddress(_contract, _errorMessage);
        }
    }
}

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

Contract ABI

[{"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamond.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"internalType":"struct IDiamond.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"init","type":"address"},{"internalType":"bytes","name":"initCalldata","type":"bytes"}],"internalType":"struct DiamondArgs","name":"_args","type":"tuple"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotAddFunctionToDiamondThatAlreadyExists","type":"error"},{"inputs":[{"internalType":"bytes4[]","name":"_selectors","type":"bytes4[]"}],"name":"CannotAddSelectorsToZeroAddress","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotRemoveFunctionThatDoesNotExist","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotRemoveImmutableFunction","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotReplaceFunctionThatDoesNotExists","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet","type":"error"},{"inputs":[{"internalType":"bytes4[]","name":"_selectors","type":"bytes4[]"}],"name":"CannotReplaceFunctionsFromFacetWithZeroAddress","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_selector","type":"bytes4"}],"name":"CannotReplaceImmutableFunction","type":"error"},{"inputs":[{"internalType":"bytes4","name":"_functionSelector","type":"bytes4"}],"name":"FunctionNotFound","type":"error"},{"inputs":[{"internalType":"uint8","name":"_action","type":"uint8"}],"name":"IncorrectFacetCutAction","type":"error"},{"inputs":[{"internalType":"address","name":"_initializationContractAddress","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"InitializationFunctionReverted","type":"error"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"string","name":"_message","type":"string"}],"name":"NoBytecodeAtAddress","type":"error"},{"inputs":[{"internalType":"address","name":"_facetAddress","type":"address"}],"name":"NoSelectorsProvidedForFacetForCut","type":"error"},{"inputs":[{"internalType":"address","name":"_facetAddress","type":"address"}],"name":"RemoveFacetAddressMustBeZeroAddress","type":"error"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

608060405260405161105238038061105283398101604081905261002291610ad1565b805161002d9061004d565b61004682826020015183604001516100d060201b60201c565b5050610eb7565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f80546001600160a01b031981166001600160a01b03848116918217909355604051600080516020610f9e833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b835181101561023a5760008482815181106100f0576100f0610c72565b6020026020010151604001519050600085838151811061011257610112610c72565b602002602001015160000151905081516000036101525760405163e767f91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600086848151811061016657610166610c72565b60200260200101516020015190506000600281111561018757610187610c88565b81600281111561019957610199610c88565b036101ad576101a88284610285565b610224565b60018160028111156101c1576101c1610c88565b036101d0576101a88284610438565b60028160028111156101e4576101e4610c88565b036101f3576101a882846105cb565b80600281111561020557610205610c88565b604051633ff4d20f60e11b815260ff9091166004820152602401610149565b505050808061023290610cb4565b9150506100d3565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161026e93929190610d3e565b60405180910390a16102808282610854565b505050565b6001600160a01b0382166102ae57806040516302b8da0760e21b81526004016101499190610e07565b60008051602061100a8339815191525460408051606081019091526024808252600080516020610f9e83398151915292916102f391869190610fbe602083013961091a565b60005b835181101561043157600084828151811061031357610313610c72565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156103705760405163ebbf5d0760e01b81526001600160e01b031983166004820152602401610149565b6040805180820182526001600160a01b03808a16825261ffff80881660208085019182526001600160e01b0319881660009081528b8252958620945185549251909316600160a01b026001600160b01b0319909216929093169190911717909155600180880180549182018155835291206008820401805460e085901c60046007909416939093026101000a92830263ffffffff90930219169190911790558361041981610e21565b9450505050808061042990610cb4565b9150506102f6565b5050505050565b600080516020610f9e8339815191526001600160a01b038316610470578160405163cd98a96f60e01b81526004016101499190610e07565b6104928360405180606001604052806028815260200161102a6028913961091a565b60005b82518110156105c55760008382815181106104b2576104b2610c72565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031630810361051057604051632901806d60e11b81526001600160e01b031983166004820152602401610149565b856001600160a01b0316816001600160a01b03160361054e57604051631ac6ce8d60e11b81526001600160e01b031983166004820152602401610149565b6001600160a01b03811661058157604051637479f93960e01b81526001600160e01b031983166004820152602401610149565b506001600160e01b031916600090815260208390526040902080546001600160a01b0319166001600160a01b038616179055806105bd81610cb4565b915050610495565b50505050565b60008051602061100a83398151915254600080516020610f9e833981519152906001600160a01b0384161561061e5760405163d091bc8160e01b81526001600160a01b0385166004820152602401610149565b60005b835181101561043157600084828151811061063e5761063e610c72565b6020908102919091018101516001600160e01b0319811660009081528683526040908190208151808301909252546001600160a01b038116808352600160a01b90910461ffff1693820193909352909250906106b957604051637a08a22d60e01b81526001600160e01b031983166004820152602401610149565b8051306001600160a01b03909116036106f157604051630df5fd6160e31b81526001600160e01b031983166004820152602401610149565b836106fb81610e42565b94505083816020015161ffff16146107d957600085600101858154811061072457610724610c72565b90600052602060002090600891828204019190066004029054906101000a900460e01b90508086600101836020015161ffff168154811061076757610767610c72565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c92909202939093179055838201516001600160e01b03199390931681529087905260409020805461ffff60a01b1916600160a01b61ffff909316929092029190911790555b846001018054806107ec576107ec610e59565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319909316815291859052506040902080546001600160b01b03191690558061084c81610cb4565b915050610621565b6001600160a01b038216610866575050565b61088882604051806060016040528060288152602001610fe26028913961091a565b600080836001600160a01b0316836040516108a39190610e6f565b600060405180830381855af49150503d80600081146108de576040519150601f19603f3d011682016040523d82523d6000602084013e6108e3565b606091505b5091509150816105c5578051156108fd5780518082602001fd5b838360405163192105d760e01b8152600401610149929190610e8b565b813b600081900361028057828260405163919834b960e01b8152600401610149929190610e8b565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561097a5761097a610942565b60405290565b604051601f8201601f191681016001600160401b03811182821017156109a8576109a8610942565b604052919050565b60006001600160401b038211156109c9576109c9610942565b5060051b60200190565b80516001600160a01b03811681146109ea57600080fd5b919050565b60005b83811015610a0a5781810151838201526020016109f2565b50506000910152565b600060608284031215610a2557600080fd5b610a2d610958565b9050610a38826109d3565b81526020610a478184016109d3565b8282015260408301516001600160401b0380821115610a6557600080fd5b818501915085601f830112610a7957600080fd5b815181811115610a8b57610a8b610942565b610a9d601f8201601f19168501610980565b91508082528684828501011115610ab357600080fd5b610ac2818584018686016109ef565b50604084015250909392505050565b60008060408385031215610ae457600080fd5b82516001600160401b0380821115610afb57600080fd5b818501915085601f830112610b0f57600080fd5b81516020610b24610b1f836109b0565b610980565b82815260059290921b84018101918181019089841115610b4357600080fd5b8286015b84811015610c4157805186811115610b5e57600080fd5b87016060818d03601f19011215610b7457600080fd5b610b7c610958565b610b878683016109d3565b8152604082015160038110610b9b57600080fd5b81870152606082015188811115610bb157600080fd5b8083019250508c603f830112610bc657600080fd5b85820151610bd6610b1f826109b0565b81815260059190911b830160400190878101908f831115610bf657600080fd5b6040850194505b82851015610c2c5784516001600160e01b031981168114610c1d57600080fd5b82529388019390880190610bfd565b60408401525050845250918301918301610b47565b5091880151919650909350505080821115610c5b57600080fd5b50610c6885828601610a13565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610cc657610cc6610c9e565b5060010190565b600081518084526020808501945080840160005b83811015610d075781516001600160e01b03191687529582019590820190600101610ce1565b509495945050505050565b60008151808452610d2a8160208601602086016109ef565b601f01601f19169290920160200192915050565b6000606080830181845280875180835260808601915060808160051b87010192506020808a016000805b84811015610dd757898703607f19018652825180516001600160a01b031688528481015160038110610da857634e487b7160e01b84526021600452602484fd5b88860152604090810151908801899052610dc489890182610ccd565b9750509483019491830191600101610d68565b5050506001600160a01b0389169087015250508381036040850152610dfc8186610d12565b979650505050505050565b602081526000610e1a6020830184610ccd565b9392505050565b600061ffff808316818103610e3857610e38610c9e565b6001019392505050565b600081610e5157610e51610c9e565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60008251610e818184602087016109ef565b9190910192915050565b6001600160a01b0383168152604060208201819052600090610eaf90830184610d12565b949350505050565b60d980610ec56000396000f3fe608060405236600a57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b031680608057604051630a82dd7360e31b81526001600160e01b031960003516600482015260240160405180910390fd5b3660008037600080366000845af43d6000803e808015609e573d6000f35b3d6000fdfea26469706673582212207d12e1c0b7b323c1cdc78a2dedf1378390b93be22adb52094a43acc4b7175e8f64736f6c63430008130033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f6465c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d4c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f646500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ea0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000006a0000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000ba0000000000000000000000000a120af4a7cbefd856eca289bbecd0a2ac70545e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000021f931c1c00000000000000000000000000000000000000000000000000000000f71a8a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000940188daa6b67dcd804e8a7ab44d5203ef7bc1a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000045faddd2d41bde8ca5e5cd4cbec5a0492836b41c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028da5cb5b00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000000000000000000000000000c76af1472554ceca0f009583b9eacce7ab56ab09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004150b7a020000000000000000000000000000000000000000000000000000000069332ed900000000000000000000000000000000000000000000000000000000d39553e5000000000000000000000000000000000000000000000000000000002c85332900000000000000000000000000000000000000000000000000000000000000000000000000000000cb8eed2a3fcd71df7f8e9926dda3b28fee84d65d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a08e50a2c0000000000000000000000000000000000000000000000000000000004c86e7900000000000000000000000000000000000000000000000000000000b6878737000000000000000000000000000000000000000000000000000000002661bacf00000000000000000000000000000000000000000000000000000000f25747e0000000000000000000000000000000000000000000000000000000000fa1ecc30000000000000000000000000000000000000000000000000000000061b80af100000000000000000000000000000000000000000000000000000000bdcad3db00000000000000000000000000000000000000000000000000000000143a28e700000000000000000000000000000000000000000000000000000000476343ee000000000000000000000000000000000000000000000000000000000000000000000000000000004fcd15e0d99137682c890e45812a3b5b98194e4a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003a6798f5c000000000000000000000000000000000000000000000000000000004428981d000000000000000000000000000000000000000000000000000000009a198ab0000000000000000000000000000000000000000000000000000000000000000000000000000000008da716eb7a194dcc5e8ecb28ec143a85aa19730400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c9038b3a500000000000000000000000000000000000000000000000000000000251f2e8a000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000005c975abb000000000000000000000000000000000000000000000000000000008385e897000000000000000000000000000000000000000000000000000000009ee7504000000000000000000000000000000000000000000000000000000000fc00da4e0000000000000000000000000000000000000000000000000000000009c27fd9000000000000000000000000000000000000000000000000000000005851babc000000000000000000000000000000000000000000000000000000007a9e5c96000000000000000000000000000000000000000000000000000000003f4ba83a00000000000000000000000000000000000000000000000000000000a689440a000000000000000000000000000000000000000000000000000000000000000000000000000000007aeefad5045a0006e25491e290885f45dbf862f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000379fa6b9a0000000000000000000000000000000000000000000000000000000051332fb500000000000000000000000000000000000000000000000000000000ee329fd3000000000000000000000000000000000000000000000000000000000000000000000000000000005337d5b61a54f355a353ad46ad72a3f90527a0ce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000608bc3c84000000000000000000000000000000000000000000000000000000001107a83d00000000000000000000000000000000000000000000000000000000b032d4360000000000000000000000000000000000000000000000000000000094b018c400000000000000000000000000000000000000000000000000000000b65bdf7300000000000000000000000000000000000000000000000000000000da40ef8000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ba33b1288a4269aae913b098823c0bf7e78852000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000011095ea7b30000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000081812fc00000000000000000000000000000000000000000000000000000000c59abf9f00000000000000000000000000000000000000000000000000000000ea02cfa300000000000000000000000000000000000000000000000000000000e985e9c50000000000000000000000000000000000000000000000000000000006fdde03000000000000000000000000000000000000000000000000000000006352211e0000000000000000000000000000000000000000000000000000000042842e0e00000000000000000000000000000000000000000000000000000000b88d4fde00000000000000000000000000000000000000000000000000000000a22cb4650000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000004f6ccce7000000000000000000000000000000000000000000000000000000002f745c5900000000000000000000000000000000000000000000000000000000c87b56dd0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000b7b4f885cd17c0b47a96fb854f46a51643adefec000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c4532c17660000000000000000000000000000000000000000000000000000000000000020000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009d1454e198f4b601bfc0069003045b0cbc0e6749000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d58357865716d4262715374536b573975713955447574315278447a555568666a5268745878574b35626431342f000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ea0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000006a0000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000ba0000000000000000000000000a120af4a7cbefd856eca289bbecd0a2ac70545e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000021f931c1c00000000000000000000000000000000000000000000000000000000f71a8a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000940188daa6b67dcd804e8a7ab44d5203ef7bc1a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000045faddd2d41bde8ca5e5cd4cbec5a0492836b41c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028da5cb5b00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000000000000000000000000000c76af1472554ceca0f009583b9eacce7ab56ab09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004150b7a020000000000000000000000000000000000000000000000000000000069332ed900000000000000000000000000000000000000000000000000000000d39553e5000000000000000000000000000000000000000000000000000000002c85332900000000000000000000000000000000000000000000000000000000000000000000000000000000cb8eed2a3fcd71df7f8e9926dda3b28fee84d65d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a08e50a2c0000000000000000000000000000000000000000000000000000000004c86e7900000000000000000000000000000000000000000000000000000000b6878737000000000000000000000000000000000000000000000000000000002661bacf00000000000000000000000000000000000000000000000000000000f25747e0000000000000000000000000000000000000000000000000000000000fa1ecc30000000000000000000000000000000000000000000000000000000061b80af100000000000000000000000000000000000000000000000000000000bdcad3db00000000000000000000000000000000000000000000000000000000143a28e700000000000000000000000000000000000000000000000000000000476343ee000000000000000000000000000000000000000000000000000000000000000000000000000000004fcd15e0d99137682c890e45812a3b5b98194e4a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003a6798f5c000000000000000000000000000000000000000000000000000000004428981d000000000000000000000000000000000000000000000000000000009a198ab0000000000000000000000000000000000000000000000000000000000000000000000000000000008da716eb7a194dcc5e8ecb28ec143a85aa19730400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c9038b3a500000000000000000000000000000000000000000000000000000000251f2e8a000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000005c975abb000000000000000000000000000000000000000000000000000000008385e897000000000000000000000000000000000000000000000000000000009ee7504000000000000000000000000000000000000000000000000000000000fc00da4e0000000000000000000000000000000000000000000000000000000009c27fd9000000000000000000000000000000000000000000000000000000005851babc000000000000000000000000000000000000000000000000000000007a9e5c96000000000000000000000000000000000000000000000000000000003f4ba83a00000000000000000000000000000000000000000000000000000000a689440a000000000000000000000000000000000000000000000000000000000000000000000000000000007aeefad5045a0006e25491e290885f45dbf862f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000379fa6b9a0000000000000000000000000000000000000000000000000000000051332fb500000000000000000000000000000000000000000000000000000000ee329fd3000000000000000000000000000000000000000000000000000000000000000000000000000000005337d5b61a54f355a353ad46ad72a3f90527a0ce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000608bc3c84000000000000000000000000000000000000000000000000000000001107a83d00000000000000000000000000000000000000000000000000000000b032d4360000000000000000000000000000000000000000000000000000000094b018c400000000000000000000000000000000000000000000000000000000b65bdf7300000000000000000000000000000000000000000000000000000000da40ef8000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ba33b1288a4269aae913b098823c0bf7e78852000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000011095ea7b30000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000081812fc00000000000000000000000000000000000000000000000000000000c59abf9f00000000000000000000000000000000000000000000000000000000ea02cfa300000000000000000000000000000000000000000000000000000000e985e9c50000000000000000000000000000000000000000000000000000000006fdde03000000000000000000000000000000000000000000000000000000006352211e0000000000000000000000000000000000000000000000000000000042842e0e00000000000000000000000000000000000000000000000000000000b88d4fde00000000000000000000000000000000000000000000000000000000a22cb4650000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000004f6ccce7000000000000000000000000000000000000000000000000000000002f745c5900000000000000000000000000000000000000000000000000000000c87b56dd0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000b7b4f885cd17c0b47a96fb854f46a51643adefec000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c4532c17660000000000000000000000000000000000000000000000000000000000000020000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009d1454e198f4b601bfc0069003045b0cbc0e6749000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d58357865716d4262715374536b573975713955447574315278447a555568666a5268745878574b35626431342f000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _diamondCut (tuple[]): System.Object,System.Object,System.Object,System.Object,System.Object,System.Object,System.Object,System.Object,System.Object,System.Object
Arg [1] : _args (tuple): System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput]

-----Encoded View---------------
136 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000ea0
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000200
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000320
Arg [6] : 00000000000000000000000000000000000000000000000000000000000003e0
Arg [7] : 00000000000000000000000000000000000000000000000000000000000004e0
Arg [8] : 00000000000000000000000000000000000000000000000000000000000006a0
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000780
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000980
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000a60
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000ba0
Arg [13] : 000000000000000000000000a120af4a7cbefd856eca289bbecd0a2ac70545e3
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [17] : 1f931c1c00000000000000000000000000000000000000000000000000000000
Arg [18] : f71a8a0f00000000000000000000000000000000000000000000000000000000
Arg [19] : 000000000000000000000000940188daa6b67dcd804e8a7ab44d5203ef7bc1a5
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [22] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [23] : cdffacc600000000000000000000000000000000000000000000000000000000
Arg [24] : 52ef6b2c00000000000000000000000000000000000000000000000000000000
Arg [25] : adfca15e00000000000000000000000000000000000000000000000000000000
Arg [26] : 7a0ed62700000000000000000000000000000000000000000000000000000000
Arg [27] : 01ffc9a700000000000000000000000000000000000000000000000000000000
Arg [28] : 00000000000000000000000045faddd2d41bde8ca5e5cd4cbec5a0492836b41c
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [32] : 8da5cb5b00000000000000000000000000000000000000000000000000000000
Arg [33] : f2fde38b00000000000000000000000000000000000000000000000000000000
Arg [34] : 000000000000000000000000c76af1472554ceca0f009583b9eacce7ab56ab09
Arg [35] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [38] : 150b7a0200000000000000000000000000000000000000000000000000000000
Arg [39] : 69332ed900000000000000000000000000000000000000000000000000000000
Arg [40] : d39553e500000000000000000000000000000000000000000000000000000000
Arg [41] : 2c85332900000000000000000000000000000000000000000000000000000000
Arg [42] : 000000000000000000000000cb8eed2a3fcd71df7f8e9926dda3b28fee84d65d
Arg [43] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [44] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [45] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [46] : 08e50a2c00000000000000000000000000000000000000000000000000000000
Arg [47] : 04c86e7900000000000000000000000000000000000000000000000000000000
Arg [48] : b687873700000000000000000000000000000000000000000000000000000000
Arg [49] : 2661bacf00000000000000000000000000000000000000000000000000000000
Arg [50] : f25747e000000000000000000000000000000000000000000000000000000000
Arg [51] : 0fa1ecc300000000000000000000000000000000000000000000000000000000
Arg [52] : 61b80af100000000000000000000000000000000000000000000000000000000
Arg [53] : bdcad3db00000000000000000000000000000000000000000000000000000000
Arg [54] : 143a28e700000000000000000000000000000000000000000000000000000000
Arg [55] : 476343ee00000000000000000000000000000000000000000000000000000000
Arg [56] : 0000000000000000000000004fcd15e0d99137682c890e45812a3b5b98194e4a
Arg [57] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [58] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [59] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [60] : a6798f5c00000000000000000000000000000000000000000000000000000000
Arg [61] : 4428981d00000000000000000000000000000000000000000000000000000000
Arg [62] : 9a198ab000000000000000000000000000000000000000000000000000000000
Arg [63] : 0000000000000000000000008da716eb7a194dcc5e8ecb28ec143a85aa197304
Arg [64] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [65] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [66] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [67] : 9038b3a500000000000000000000000000000000000000000000000000000000
Arg [68] : 251f2e8a00000000000000000000000000000000000000000000000000000000
Arg [69] : 8456cb5900000000000000000000000000000000000000000000000000000000
Arg [70] : 5c975abb00000000000000000000000000000000000000000000000000000000
Arg [71] : 8385e89700000000000000000000000000000000000000000000000000000000
Arg [72] : 9ee7504000000000000000000000000000000000000000000000000000000000
Arg [73] : fc00da4e00000000000000000000000000000000000000000000000000000000
Arg [74] : 09c27fd900000000000000000000000000000000000000000000000000000000
Arg [75] : 5851babc00000000000000000000000000000000000000000000000000000000
Arg [76] : 7a9e5c9600000000000000000000000000000000000000000000000000000000
Arg [77] : 3f4ba83a00000000000000000000000000000000000000000000000000000000
Arg [78] : a689440a00000000000000000000000000000000000000000000000000000000
Arg [79] : 0000000000000000000000007aeefad5045a0006e25491e290885f45dbf862f9
Arg [80] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [81] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [82] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [83] : 79fa6b9a00000000000000000000000000000000000000000000000000000000
Arg [84] : 51332fb500000000000000000000000000000000000000000000000000000000
Arg [85] : ee329fd300000000000000000000000000000000000000000000000000000000
Arg [86] : 0000000000000000000000005337d5b61a54f355a353ad46ad72a3f90527a0ce
Arg [87] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [88] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [89] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [90] : 08bc3c8400000000000000000000000000000000000000000000000000000000
Arg [91] : 1107a83d00000000000000000000000000000000000000000000000000000000
Arg [92] : b032d43600000000000000000000000000000000000000000000000000000000
Arg [93] : 94b018c400000000000000000000000000000000000000000000000000000000
Arg [94] : b65bdf7300000000000000000000000000000000000000000000000000000000
Arg [95] : da40ef8000000000000000000000000000000000000000000000000000000000
Arg [96] : 000000000000000000000000b0ba33b1288a4269aae913b098823c0bf7e78852
Arg [97] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [98] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [99] : 0000000000000000000000000000000000000000000000000000000000000011
Arg [100] : 095ea7b300000000000000000000000000000000000000000000000000000000
Arg [101] : 70a0823100000000000000000000000000000000000000000000000000000000
Arg [102] : 081812fc00000000000000000000000000000000000000000000000000000000
Arg [103] : c59abf9f00000000000000000000000000000000000000000000000000000000
Arg [104] : ea02cfa300000000000000000000000000000000000000000000000000000000
Arg [105] : e985e9c500000000000000000000000000000000000000000000000000000000
Arg [106] : 06fdde0300000000000000000000000000000000000000000000000000000000
Arg [107] : 6352211e00000000000000000000000000000000000000000000000000000000
Arg [108] : 42842e0e00000000000000000000000000000000000000000000000000000000
Arg [109] : b88d4fde00000000000000000000000000000000000000000000000000000000
Arg [110] : a22cb46500000000000000000000000000000000000000000000000000000000
Arg [111] : 95d89b4100000000000000000000000000000000000000000000000000000000
Arg [112] : 4f6ccce700000000000000000000000000000000000000000000000000000000
Arg [113] : 2f745c5900000000000000000000000000000000000000000000000000000000
Arg [114] : c87b56dd00000000000000000000000000000000000000000000000000000000
Arg [115] : 18160ddd00000000000000000000000000000000000000000000000000000000
Arg [116] : 23b872dd00000000000000000000000000000000000000000000000000000000
Arg [117] : 000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a
Arg [118] : 000000000000000000000000b7b4f885cd17c0b47a96fb854f46a51643adefec
Arg [119] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [120] : 00000000000000000000000000000000000000000000000000000000000001c4
Arg [121] : 532c176600000000000000000000000000000000000000000000000000000000
Arg [122] : 00000020000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79
Arg [123] : a496456a00000000000000000000000000000000000000000000000000000000
Arg [124] : 0000008000000000000000000000000000000000000000000000000000000000
Arg [125] : 000000c000000000000000000000000000000000000000000000000000000000
Arg [126] : 0000016000000000000000000000000000000000000000000000000000000000
Arg [127] : 000000010000000000000000000000009d1454e198f4b601bfc0069003045b0c
Arg [128] : bc0e674900000000000000000000000000000000000000000000000000000000
Arg [129] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [130] : 0000002000000000000000000000000000000000000000000000000000000000
Arg [131] : 00000036697066733a2f2f516d58357865716d4262715374536b573975713955
Arg [132] : 447574315278447a555568666a5268745878574b35626431342f000000000000
Arg [133] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [134] : 0000000100000000000000000000000000000000000000000000000000000000
Arg [135] : 0000000100000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.