GLMR Price: $0.176308 (-3.60%)
Gas: 125 GWei

Contract

0xba6bd2Aace40c9a14c4123717119a80e9fe6738A
Transaction Hash
Method
Block
From
To
0xced1a32d93299412025-01-25 6:57:062 mins ago1737788226IN
Evrloot: EVR-BOUND Token
0 GLMR0.039076125
Start Mission93295322025-01-25 6:15:4843 mins ago1737785748IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93293822025-01-25 6:00:4858 mins ago1737784848IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93292322025-01-25 5:45:481 hr ago1737783948IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93290862025-01-25 5:30:481 hr ago1737783048IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
0xced1a32d93290502025-01-25 5:27:121 hr ago1737782832IN
Evrloot: EVR-BOUND Token
0 GLMR0.039436125
Start Mission93287902025-01-25 5:00:481 hr ago1737781248IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93287092025-01-25 4:52:422 hrs ago1737780762IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05762935126.5
Start Mission93287002025-01-25 4:51:482 hrs ago1737780708IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93286222025-01-25 4:44:002 hrs ago1737780240IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.056925126.5
Start Mission93286002025-01-25 4:41:482 hrs ago1737780108IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.057178125
Start Mission93285922025-01-25 4:41:002 hrs ago1737780060IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93285792025-01-25 4:39:422 hrs ago1737779982IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Warborn Start Mi...93285522025-01-25 4:37:002 hrs ago1737779820IN
Evrloot: EVR-BOUND Token
0 GLMR0.00517739126.5
Warborn Start Mi...93285412025-01-25 4:35:542 hrs ago1737779754IN
Evrloot: EVR-BOUND Token
0 GLMR0.00517739126.5
Start Mission93285362025-01-25 4:35:242 hrs ago1737779724IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93285182025-01-25 4:33:362 hrs ago1737779616IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.056714125
Warborn Start Mi...93285152025-01-25 4:33:182 hrs ago1737779598IN
Evrloot: EVR-BOUND Token
0 GLMR0.00517739126.5
Start Mission93284902025-01-25 4:30:482 hrs ago1737779448IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93284752025-01-25 4:29:182 hrs ago1737779358IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.056714125
Start Mission93284002025-01-25 4:21:482 hrs ago1737778908IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.057178125
Start Mission93282702025-01-25 4:08:482 hrs ago1737778128IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93280402025-01-25 3:45:483 hrs ago1737776748IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Start Mission93279422025-01-25 3:35:423 hrs ago1737776142IN
Evrloot: EVR-BOUND Token
0.05 GLMR0.05625125
Warborn Start Mi...93275782025-01-25 2:59:064 hrs ago1737773946IN
Evrloot: EVR-BOUND Token
0 GLMR0.00517739126.5
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
93299502025-01-25 6:58:001 min ago1737788280
Evrloot: EVR-BOUND Token
0.05 GLMR
93299452025-01-25 6:57:302 mins ago1737788250
Evrloot: EVR-BOUND Token
0.05 GLMR
93299452025-01-25 6:57:302 mins ago1737788250
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93296382025-01-25 6:26:2433 mins ago1737786384
Evrloot: EVR-BOUND Token
0.05 GLMR
93292802025-01-25 5:50:361 hr ago1737784236
Evrloot: EVR-BOUND Token
0.05 GLMR
93292682025-01-25 5:49:241 hr ago1737784164
Evrloot: EVR-BOUND Token
0.05 GLMR
93292402025-01-25 5:46:361 hr ago1737783996
Evrloot: EVR-BOUND Token
0.05 GLMR
93290002025-01-25 5:22:121 hr ago1737782532
Evrloot: EVR-BOUND Token
0.05 GLMR
View All Internal Transactions
Loading...
Loading

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 Security Audit

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

Deployed Bytecode

0x608060405236600a57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b031680608057604051630a82dd7360e31b81526001600160e01b031960003516600482015260240160405180910390fd5b3660008037600080366000845af43d6000803e808015609e573d6000f35b3d6000fdfea26469706673582212207d12e1c0b7b323c1cdc78a2dedf1378390b93be22adb52094a43acc4b7175e8f64736f6c63430008130033

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ea0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000006a0000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000ba0000000000000000000000000a120af4a7cbefd856eca289bbecd0a2ac70545e30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000021f931c1c00000000000000000000000000000000000000000000000000000000f71a8a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000940188daa6b67dcd804e8a7ab44d5203ef7bc1a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000045faddd2d41bde8ca5e5cd4cbec5a0492836b41c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028da5cb5b00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000000000000000000000000000c76af1472554ceca0f009583b9eacce7ab56ab09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004150b7a020000000000000000000000000000000000000000000000000000000069332ed900000000000000000000000000000000000000000000000000000000d39553e5000000000000000000000000000000000000000000000000000000002c85332900000000000000000000000000000000000000000000000000000000000000000000000000000000cb8eed2a3fcd71df7f8e9926dda3b28fee84d65d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a08e50a2c0000000000000000000000000000000000000000000000000000000004c86e7900000000000000000000000000000000000000000000000000000000b6878737000000000000000000000000000000000000000000000000000000002661bacf00000000000000000000000000000000000000000000000000000000f25747e0000000000000000000000000000000000000000000000000000000000fa1ecc30000000000000000000000000000000000000000000000000000000061b80af100000000000000000000000000000000000000000000000000000000bdcad3db00000000000000000000000000000000000000000000000000000000143a28e700000000000000000000000000000000000000000000000000000000476343ee000000000000000000000000000000000000000000000000000000000000000000000000000000004fcd15e0d99137682c890e45812a3b5b98194e4a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003a6798f5c000000000000000000000000000000000000000000000000000000004428981d000000000000000000000000000000000000000000000000000000009a198ab0000000000000000000000000000000000000000000000000000000000000000000000000000000008da716eb7a194dcc5e8ecb28ec143a85aa19730400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c9038b3a500000000000000000000000000000000000000000000000000000000251f2e8a000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000005c975abb000000000000000000000000000000000000000000000000000000008385e897000000000000000000000000000000000000000000000000000000009ee7504000000000000000000000000000000000000000000000000000000000fc00da4e0000000000000000000000000000000000000000000000000000000009c27fd9000000000000000000000000000000000000000000000000000000005851babc000000000000000000000000000000000000000000000000000000007a9e5c96000000000000000000000000000000000000000000000000000000003f4ba83a00000000000000000000000000000000000000000000000000000000a689440a000000000000000000000000000000000000000000000000000000000000000000000000000000007aeefad5045a0006e25491e290885f45dbf862f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000379fa6b9a0000000000000000000000000000000000000000000000000000000051332fb500000000000000000000000000000000000000000000000000000000ee329fd3000000000000000000000000000000000000000000000000000000000000000000000000000000005337d5b61a54f355a353ad46ad72a3f90527a0ce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000608bc3c84000000000000000000000000000000000000000000000000000000001107a83d00000000000000000000000000000000000000000000000000000000b032d4360000000000000000000000000000000000000000000000000000000094b018c400000000000000000000000000000000000000000000000000000000b65bdf7300000000000000000000000000000000000000000000000000000000da40ef8000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ba33b1288a4269aae913b098823c0bf7e78852000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000011095ea7b30000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000081812fc00000000000000000000000000000000000000000000000000000000c59abf9f00000000000000000000000000000000000000000000000000000000ea02cfa300000000000000000000000000000000000000000000000000000000e985e9c50000000000000000000000000000000000000000000000000000000006fdde03000000000000000000000000000000000000000000000000000000006352211e0000000000000000000000000000000000000000000000000000000042842e0e00000000000000000000000000000000000000000000000000000000b88d4fde00000000000000000000000000000000000000000000000000000000a22cb4650000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000004f6ccce7000000000000000000000000000000000000000000000000000000002f745c5900000000000000000000000000000000000000000000000000000000c87b56dd0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000b7b4f885cd17c0b47a96fb854f46a51643adefec000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c4532c17660000000000000000000000000000000000000000000000000000000000000020000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009d1454e198f4b601bfc0069003045b0cbc0e6749000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d58357865716d4262715374536b573975713955447574315278447a555568666a5268745878574b35626431342f000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _diamondCut (tuple[]): System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput]
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
view all blocks collator

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

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

Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.