GLMR Price: $0.020632 (-2.37%)

Contract

0x3e2eA77C52b1D9Be5AA9dD019e2403473b20fcE4
Transaction Hash
Block
From
To
Create Bid139110212025-12-31 14:22:4225 days ago1767190962IN
Evrloot: Marketplace
1 GLMR0.0135541632.1
Create Trade138898492025-12-29 20:21:5427 days ago1767039714IN
Evrloot: Marketplace
1 GLMR0.0110407531.25
Buy Quantity At ...135445282025-12-01 10:17:3055 days ago1764584250IN
Evrloot: Marketplace
0.73 GLMR0.01300531.25
Sell Quantity At...133296512025-11-13 13:21:0673 days ago1763040066IN
Evrloot: Marketplace
0 GLMR0.0136831.25
Sell Quantity At...131069942025-10-26 12:58:3091 days ago1761483510IN
Evrloot: Marketplace
0 GLMR0.013131.25
Create Bid130548872025-10-22 5:17:0696 days ago1761110226IN
Evrloot: Marketplace
0 GLMR0.01693631.25
Create Bid130548642025-10-22 5:14:5496 days ago1761110094IN
Evrloot: Marketplace
0 GLMR0.0107797531.25
Create Trade130548562025-10-22 5:13:4896 days ago1761110028IN
Evrloot: Marketplace
0.25 GLMR0.0083577531.25
Sell Quantity At...130471842025-10-21 13:54:1896 days ago1761054858IN
Evrloot: Marketplace
0 GLMR0.01341931.25
Sell Quantity At...130471742025-10-21 13:53:0696 days ago1761054786IN
Evrloot: Marketplace
0 GLMR0.01431831.25
Sell Quantity At...130455432025-10-21 10:38:2496 days ago1761043104IN
Evrloot: Marketplace
0 GLMR0.01420231.25
Buy Quantity At ...130455302025-10-21 10:37:1296 days ago1761043032IN
Evrloot: Marketplace
2.43 GLMR0.0051663131.25
Sell Quantity At...130455302025-10-21 10:37:1296 days ago1761043032IN
Evrloot: Marketplace
0 GLMR0.01379631.25
Buy Quantity At ...130455212025-10-21 10:36:0096 days ago1761042960IN
Evrloot: Marketplace
0.85 GLMR0.01309231.25
Place Buy Order130455162025-10-21 10:35:3096 days ago1761042930IN
Evrloot: Marketplace
0.9 GLMR0.013267531.25
Sell Quantity At...129387932025-10-12 13:51:06105 days ago1760277066IN
Evrloot: Marketplace
0 GLMR0.0144275532.75
Sell Quantity At...129032692025-10-09 15:30:42108 days ago1760023842IN
Evrloot: Marketplace
0 GLMR0.0138697531.25
Sell Quantity At...128697842025-10-06 21:05:18111 days ago1759784718IN
Evrloot: Marketplace
0 GLMR0.0147317531.25
Sell Quantity At...128567522025-10-05 19:47:12112 days ago1759693632IN
Evrloot: Marketplace
0 GLMR0.0137667531.25
Sell Quantity At...128567462025-10-05 19:46:36112 days ago1759693596IN
Evrloot: Marketplace
0 GLMR0.0136797531.25
Sell Quantity At...128567172025-10-05 19:43:42112 days ago1759693422IN
Evrloot: Marketplace
0 GLMR0.0141887531.25
Sell Quantity At...128567082025-10-05 19:42:48112 days ago1759693368IN
Evrloot: Marketplace
0 GLMR0.0138537531.25
Sell Quantity At...128566952025-10-05 19:41:30112 days ago1759693290IN
Evrloot: Marketplace
0 GLMR0.0146367531.25
Sell Quantity At...128566832025-10-05 19:40:06112 days ago1759693206IN
Evrloot: Marketplace
0 GLMR0.0140567531.25
Buy Quantity At ...128523902025-10-05 11:10:48112 days ago1759662648IN
Evrloot: Marketplace
0.9 GLMR0.0135717531.25
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
126448802025-09-18 16:35:36129 days ago1758213336
Evrloot: Marketplace
0.25 GLMR
121249032025-08-11 20:14:12167 days ago1754943252
Evrloot: Marketplace
8 GLMR
118973652025-07-26 19:43:48183 days ago1753559028
Evrloot: Marketplace
3 GLMR
118352462025-07-22 10:23:48187 days ago1753179828
Evrloot: Marketplace
1 GLMR
118233972025-07-21 14:25:12188 days ago1753107912
Evrloot: Marketplace
0.3 GLMR
118222332025-07-21 12:26:54188 days ago1753100814
Evrloot: Marketplace
7.02 GLMR
118221492025-07-21 12:18:24188 days ago1753100304
Evrloot: Marketplace
10.53 GLMR
117416202025-07-15 20:03:00194 days ago1752609780
Evrloot: Marketplace
16.96 GLMR
117406362025-07-15 18:22:24194 days ago1752603744
Evrloot: Marketplace
0.3 GLMR
117273972025-07-14 19:53:36195 days ago1752522816
Evrloot: Marketplace
0.3 GLMR
117254562025-07-14 16:37:54195 days ago1752511074
Evrloot: Marketplace
0.3 GLMR
117254302025-07-14 16:35:18195 days ago1752510918
Evrloot: Marketplace
0.3 GLMR
117175952025-07-14 3:16:12196 days ago1752462972
Evrloot: Marketplace
1.96 GLMR
117175572025-07-14 3:12:24196 days ago1752462744
Evrloot: Marketplace
2.8 GLMR
117175312025-07-14 3:09:48196 days ago1752462588
Evrloot: Marketplace
5 GLMR
116981732025-07-12 18:15:54197 days ago1752344154
Evrloot: Marketplace
14.04 GLMR
116920422025-07-12 7:40:48197 days ago1752306048
Evrloot: Marketplace
8.2 GLMR
116920132025-07-12 7:37:54197 days ago1752305874
Evrloot: Marketplace
0.1 GLMR
116141982025-07-06 19:21:18203 days ago1751829678
Evrloot: Marketplace
500 GLMR
115791932025-07-04 7:52:24205 days ago1751615544
Evrloot: Marketplace
32 GLMR
115791902025-07-04 7:52:06205 days ago1751615526
Evrloot: Marketplace
14 GLMR
115769252025-07-04 4:01:06206 days ago1751601666
Evrloot: Marketplace
0.1 GLMR
115769012025-07-04 3:58:36206 days ago1751601516
Evrloot: Marketplace
10.48 GLMR
115507112025-07-02 7:27:30207 days ago1751441250
Evrloot: Marketplace
600 GLMR
115507052025-07-02 7:26:48207 days ago1751441208
Evrloot: Marketplace
600 GLMR
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MarketDiamond

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 175 runs

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

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

import {LibMarketDiamond} from "./libraries/LibMarketDiamond.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 MarketDiamond {
    constructor(
        IDiamondCut.FacetCut[] memory _diamondCut,
        DiamondArgs memory _args
    ) payable {
        LibMarketDiamond.setContractOwner(_args.owner);
        LibMarketDiamond.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 {
        LibMarketDiamond.DiamondStorage storage ds;
        bytes32 position = LibMarketDiamond.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);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/******************************************************************************\
* 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;
}

// 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_);
}

// 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);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/**
 * @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;
}

// 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;
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/******************************************************************************\
* 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 LibMarketDiamond {
    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;
        // backend address
        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 setBackend(address _newBackendAddress) internal {
        DiamondStorage storage ds = diamondStorage();
        ds.backendAddress = _newBackendAddress;
    }

    function backend() internal view returns (address backend_) {
        backend_ = diamondStorage().backendAddress;
    }

    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
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"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"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamond.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct IDiamond.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"indexed":false,"internalType":"address","name":"_init","type":"address"},{"indexed":false,"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"DiamondCut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

608060405260405161101538038061101583398101604081905261002291610aab565b805161002d9061004d565b61004682826020015183604001516100d060201b60201c565b5050610e7a565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f80546001600160a01b031981166001600160a01b03848116918217909355604051600080516020610f61833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b835181101561022f5760008482815181106100f0576100f0610c4c565b6020026020010151604001519050600085838151811061011257610112610c4c565b602002602001015160000151905081516000036101525760405163e767f91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600086848151811061016657610166610c4c565b60200260200101516020015190506000600281111561018757610187610c62565b81600281111561019957610199610c62565b036101ad576101a8828461027a565b610224565b60018160028111156101c1576101c1610c62565b036101d0576101a88284610426565b60028160028111156101e4576101e4610c62565b036101f3576101a882846105af565b80600281111561020557610205610c62565b604051633ff4d20f60e11b815260ff9091166004820152602401610149565b5050506001016100d3565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161026393929190610cea565b60405180910390a1610275828261082e565b505050565b6001600160a01b0382166102a357806040516302b8da0760e21b81526004016101499190610db4565b600080516020610fcd8339815191525460408051606081019091526024808252600080516020610f6183398151915292916102e891869190610f8160208301396108f4565b60005b835181101561041f57600084828151811061030857610308610c4c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156103655760405163ebbf5d0760e01b81526001600160e01b031983166004820152602401610149565b6040805180820182526001600160a01b03808a16825261ffff80881660208085019182526001600160e01b0319881660009081528b8252958620945185549251909316600160a01b026001600160b01b0319909216929093169190911717909155600180880180549182018155835291206008820401805460e085901c60046007909416939093026101000a92830263ffffffff90930219169190911790558361040e81610de4565b945050600190920191506102eb9050565b5050505050565b600080516020610f618339815191526001600160a01b03831661045e578160405163cd98a96f60e01b81526004016101499190610db4565b61048083604051806060016040528060288152602001610fed602891396108f4565b60005b82518110156105a95760008382815181106104a0576104a0610c4c565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b03163081036104fe57604051632901806d60e11b81526001600160e01b031983166004820152602401610149565b856001600160a01b0316816001600160a01b03160361053c57604051631ac6ce8d60e11b81526001600160e01b031983166004820152602401610149565b6001600160a01b03811661056f57604051637479f93960e01b81526001600160e01b031983166004820152602401610149565b506001600160e01b031916600090815260208390526040902080546001600160a01b0319166001600160a01b038616179055600101610483565b50505050565b600080516020610fcd83398151915254600080516020610f61833981519152906001600160a01b038416156106025760405163d091bc8160e01b81526001600160a01b0385166004820152602401610149565b60005b835181101561041f57600084828151811061062257610622610c4c565b6020908102919091018101516001600160e01b0319811660009081528683526040908190208151808301909252546001600160a01b038116808352600160a01b90910461ffff16938201939093529092509061069d57604051637a08a22d60e01b81526001600160e01b031983166004820152602401610149565b8051306001600160a01b03909116036106d557604051630df5fd6160e31b81526001600160e01b031983166004820152602401610149565b836106df81610e05565b94505083816020015161ffff16146107bd57600085600101858154811061070857610708610c4c565b90600052602060002090600891828204019190066004029054906101000a900460e01b90508086600101836020015161ffff168154811061074b5761074b610c4c565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c92909202939093179055838201516001600160e01b03199390931681529087905260409020805461ffff60a01b1916600160a01b61ffff909316929092029190911790555b846001018054806107d0576107d0610e1c565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319909316815291859052506040902080546001600160b01b0319169055600101610605565b6001600160a01b038216610840575050565b61086282604051806060016040528060288152602001610fa5602891396108f4565b600080836001600160a01b03168360405161087d9190610e32565b600060405180830381855af49150503d80600081146108b8576040519150601f19603f3d011682016040523d82523d6000602084013e6108bd565b606091505b5091509150816105a9578051156108d75780518082602001fd5b838360405163192105d760e01b8152600401610149929190610e4e565b813b600081900361027557828260405163919834b960e01b8152600401610149929190610e4e565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156109545761095461091c565b60405290565b604051601f8201601f191681016001600160401b03811182821017156109825761098261091c565b604052919050565b60006001600160401b038211156109a3576109a361091c565b5060051b60200190565b80516001600160a01b03811681146109c457600080fd5b919050565b60005b838110156109e45781810151838201526020016109cc565b50506000910152565b6000606082840312156109ff57600080fd5b610a07610932565b9050610a12826109ad565b81526020610a218184016109ad565b8282015260408301516001600160401b0380821115610a3f57600080fd5b818501915085601f830112610a5357600080fd5b815181811115610a6557610a6561091c565b610a77601f8201601f1916850161095a565b91508082528684828501011115610a8d57600080fd5b610a9c818584018686016109c9565b50604084015250909392505050565b60008060408385031215610abe57600080fd5b82516001600160401b0380821115610ad557600080fd5b818501915085601f830112610ae957600080fd5b81516020610afe610af98361098a565b61095a565b82815260059290921b84018101918181019089841115610b1d57600080fd5b8286015b84811015610c1b57805186811115610b3857600080fd5b87016060818d03601f19011215610b4e57600080fd5b610b56610932565b610b618683016109ad565b8152604082015160038110610b7557600080fd5b81870152606082015188811115610b8b57600080fd5b8083019250508c603f830112610ba057600080fd5b85820151610bb0610af98261098a565b81815260059190911b830160400190878101908f831115610bd057600080fd5b6040850194505b82851015610c065784516001600160e01b031981168114610bf757600080fd5b82529388019390880190610bd7565b60408401525050845250918301918301610b21565b5091880151919650909350505080821115610c3557600080fd5b50610c42858286016109ed565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008151808452602080850194506020840160005b83811015610cb35781516001600160e01b03191687529582019590820190600101610c8d565b509495945050505050565b60008151808452610cd68160208601602086016109c9565b601f01601f19169290920160200192915050565b600060608083016060845280875180835260808601915060808160051b87010192506020808a016000805b84811015610d8457898703607f19018652825180516001600160a01b031688528481015160038110610d5557634e487b7160e01b84526021600452602484fd5b88860152604090810151908801899052610d7189890182610c78565b9750509483019491830191600101610d15565b5050506001600160a01b0389169087015250508381036040850152610da98186610cbe565b979650505050505050565b602081526000610dc76020830184610c78565b9392505050565b634e487b7160e01b600052601160045260246000fd5b600061ffff808316818103610dfb57610dfb610dce565b6001019392505050565b600081610e1457610e14610dce565b506000190190565b634e487b7160e01b600052603160045260246000fd5b60008251610e448184602087016109c9565b9190910192915050565b6001600160a01b0383168152604060208201819052600090610e7290830184610cbe565b949350505050565b60d980610e886000396000f3fe608060405236600a57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b031680608057604051630a82dd7360e31b81526001600160e01b031960003516600482015260240160405180910390fd5b3660008037600080366000845af43d6000803e808015609e573d6000f35b3d6000fdfea2646970667358221220ff1e517fcbeeb4aa953561d89ef89d4bc97b0de3184ce1dd17e14c3689e8961564736f6c63430008180033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f6465c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d4c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f646500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005600000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000008800000000000000000000000007b54aaeb2222c8fb10ca7cd63d7d48dc902b92ae0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000021f931c1c00000000000000000000000000000000000000000000000000000000f71a8a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000ba6c0773a05a71c1bbf77454601857b75d75dff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000009e8567cf33f7d44343fe150e4788528ea49ae48b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004594eda64000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000da7fc24f00000000000000000000000000000000000000000000000000000000f2fde38b000000000000000000000000000000000000000000000000000000000000000000000000000000007b280f3309ebb4f27d5f0e4cce82ce63fb50e11b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002284d3110000000000000000000000000000000000000000000000000000000002f37155e00000000000000000000000000000000000000000000000000000000000000000000000000000000aaaa37d8dca748ffe2715014a59fdd1948442b400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000012bfdebf7000000000000000000000000000000000000000000000000000000000000000000000000000000004489bd8a61c4bca512693659e3b5cdcd7719da4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043467b5fd00000000000000000000000000000000000000000000000000000000e0fd2e6200000000000000000000000000000000000000000000000000000000a2bc10a8000000000000000000000000000000000000000000000000000000009b8c924c0000000000000000000000000000000000000000000000000000000000000000000000000000000023bee2525fc14403b92309a2ed8744c38d8fb3310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000059527f9be00000000000000000000000000000000000000000000000000000000b0b06cf5000000000000000000000000000000000000000000000000000000008f4e1e2200000000000000000000000000000000000000000000000000000000d1fad3a2000000000000000000000000000000000000000000000000000000000cc6af3b000000000000000000000000000000000000000000000000000000000000000000000000000000007fbdfc5a74d3cebfcd438e66e4485e421a2f6d580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040c7804f100000000000000000000000000000000000000000000000000000000bc197c8100000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000c8fa71270000000000000000000000000000000000000000000000000000000000000000000000000000000043a73988fd1f05352d8261d4f858679d4fedb9a600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000f8456cb59000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000f42375b500000000000000000000000000000000000000000000000000000000405ebd4d000000000000000000000000000000000000000000000000000000008b8f703b00000000000000000000000000000000000000000000000000000000ced0cb0b000000000000000000000000000000000000000000000000000000001f22980e000000000000000000000000000000000000000000000000000000002a72389800000000000000000000000000000000000000000000000000000000f43f76770000000000000000000000000000000000000000000000000000000037fd11f400000000000000000000000000000000000000000000000000000000da742228000000000000000000000000000000000000000000000000000000003f4ba83a0000000000000000000000000000000000000000000000000000000026a86789000000000000000000000000000000000000000000000000000000003492ac1b00000000000000000000000000000000000000000000000000000000efa3d2b100000000000000000000000000000000000000000000000000000000000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000af42991fd633a8afaa623de45810151431153764000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000840857bd0a00000000000000000000000007801e1d8d868b351c83fd10de74aba7c5e989ea000000000000000000000000e791318fa8a84c9c0986dbc4fda0fde29a857605000000000000000000000000ba6bd2aace40c9a14c4123717119a80e9fe6738a000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405236600a57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b031680608057604051630a82dd7360e31b81526001600160e01b031960003516600482015260240160405180910390fd5b3660008037600080366000845af43d6000803e808015609e573d6000f35b3d6000fdfea2646970667358221220ff1e517fcbeeb4aa953561d89ef89d4bc97b0de3184ce1dd17e14c3689e8961564736f6c63430008180033

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005600000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000008800000000000000000000000007b54aaeb2222c8fb10ca7cd63d7d48dc902b92ae0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000021f931c1c00000000000000000000000000000000000000000000000000000000f71a8a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000ba6c0773a05a71c1bbf77454601857b75d75dff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005cdffacc60000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000adfca15e000000000000000000000000000000000000000000000000000000007a0ed6270000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000009e8567cf33f7d44343fe150e4788528ea49ae48b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004594eda64000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000da7fc24f00000000000000000000000000000000000000000000000000000000f2fde38b000000000000000000000000000000000000000000000000000000000000000000000000000000007b280f3309ebb4f27d5f0e4cce82ce63fb50e11b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002284d3110000000000000000000000000000000000000000000000000000000002f37155e00000000000000000000000000000000000000000000000000000000000000000000000000000000aaaa37d8dca748ffe2715014a59fdd1948442b400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000012bfdebf7000000000000000000000000000000000000000000000000000000000000000000000000000000004489bd8a61c4bca512693659e3b5cdcd7719da4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043467b5fd00000000000000000000000000000000000000000000000000000000e0fd2e6200000000000000000000000000000000000000000000000000000000a2bc10a8000000000000000000000000000000000000000000000000000000009b8c924c0000000000000000000000000000000000000000000000000000000000000000000000000000000023bee2525fc14403b92309a2ed8744c38d8fb3310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000059527f9be00000000000000000000000000000000000000000000000000000000b0b06cf5000000000000000000000000000000000000000000000000000000008f4e1e2200000000000000000000000000000000000000000000000000000000d1fad3a2000000000000000000000000000000000000000000000000000000000cc6af3b000000000000000000000000000000000000000000000000000000000000000000000000000000007fbdfc5a74d3cebfcd438e66e4485e421a2f6d580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040c7804f100000000000000000000000000000000000000000000000000000000bc197c8100000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000c8fa71270000000000000000000000000000000000000000000000000000000000000000000000000000000043a73988fd1f05352d8261d4f858679d4fedb9a600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000f8456cb59000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000f42375b500000000000000000000000000000000000000000000000000000000405ebd4d000000000000000000000000000000000000000000000000000000008b8f703b00000000000000000000000000000000000000000000000000000000ced0cb0b000000000000000000000000000000000000000000000000000000001f22980e000000000000000000000000000000000000000000000000000000002a72389800000000000000000000000000000000000000000000000000000000f43f76770000000000000000000000000000000000000000000000000000000037fd11f400000000000000000000000000000000000000000000000000000000da742228000000000000000000000000000000000000000000000000000000003f4ba83a0000000000000000000000000000000000000000000000000000000026a86789000000000000000000000000000000000000000000000000000000003492ac1b00000000000000000000000000000000000000000000000000000000efa3d2b100000000000000000000000000000000000000000000000000000000000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a000000000000000000000000af42991fd633a8afaa623de45810151431153764000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000840857bd0a00000000000000000000000007801e1d8d868b351c83fd10de74aba7c5e989ea000000000000000000000000e791318fa8a84c9c0986dbc4fda0fde29a857605000000000000000000000000ba6bd2aace40c9a14c4123717119a80e9fe6738a000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _diamondCut (tuple[]):
Arg [1] : facetAddress (address): 0x7B54AaeB2222c8fB10CA7cd63D7d48dc902b92aE
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0xf71a8a0

Arg [1] : facetAddress (address): 0xBA6C0773A05a71C1bbF77454601857b75d75dFf6
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x01ffc9a

Arg [1] : facetAddress (address): 0x9E8567cf33f7D44343Fe150e4788528eA49ae48B
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0xf2fde38

Arg [1] : facetAddress (address): 0x7b280f3309eBb4f27D5f0e4CcE82Ce63fb50e11b
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x2f37155

Arg [1] : facetAddress (address): 0xAaaA37D8DCa748FfE2715014A59FDd1948442B40
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x2bfdebf

Arg [1] : facetAddress (address): 0x4489Bd8a61C4BCA512693659e3B5cDcD7719da4A
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x9b8c924

Arg [1] : facetAddress (address): 0x23bee2525FC14403B92309A2Ed8744c38D8fb331
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x0cc6af3

Arg [1] : facetAddress (address): 0x7FBDFC5a74d3CEbfcD438e66e4485e421A2F6d58
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0xc8fa712

Arg [1] : facetAddress (address): 0x43A73988Fd1F05352D8261d4F858679d4FEdb9A6
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0xefa3d2b

Arg [1] : _args (tuple):
Arg [1] : owner (address): 0xCb5eB537bAd9C54A4Dae2E3526473D79A496456A
Arg [2] : init (address): 0xAf42991FD633A8afaA623de45810151431153764
Arg [3] : initCalldata (bytes): 0x0857bd0a00000000000000000000000007801e1d8d868b351c83fd10de74aba7c5e989ea000000000000000000000000e791318fa8a84c9c0986dbc4fda0fde29a857605000000000000000000000000ba6bd2aace40c9a14c4123717119a80e9fe6738a000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a


-----Encoded View---------------
99 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000b40
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [4] : 00000000000000000000000000000000000000000000000000000000000001e0
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000300
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000400
Arg [7] : 00000000000000000000000000000000000000000000000000000000000004c0
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000560
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000660
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000780
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000880
Arg [12] : 0000000000000000000000007b54aaeb2222c8fb10ca7cd63d7d48dc902b92ae
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [14] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [16] : 1f931c1c00000000000000000000000000000000000000000000000000000000
Arg [17] : f71a8a0f00000000000000000000000000000000000000000000000000000000
Arg [18] : 000000000000000000000000ba6c0773a05a71c1bbf77454601857b75d75dff6
Arg [19] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [21] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [22] : cdffacc600000000000000000000000000000000000000000000000000000000
Arg [23] : 52ef6b2c00000000000000000000000000000000000000000000000000000000
Arg [24] : adfca15e00000000000000000000000000000000000000000000000000000000
Arg [25] : 7a0ed62700000000000000000000000000000000000000000000000000000000
Arg [26] : 01ffc9a700000000000000000000000000000000000000000000000000000000
Arg [27] : 0000000000000000000000009e8567cf33f7d44343fe150e4788528ea49ae48b
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [31] : 594eda6400000000000000000000000000000000000000000000000000000000
Arg [32] : 8da5cb5b00000000000000000000000000000000000000000000000000000000
Arg [33] : da7fc24f00000000000000000000000000000000000000000000000000000000
Arg [34] : f2fde38b00000000000000000000000000000000000000000000000000000000
Arg [35] : 0000000000000000000000007b280f3309ebb4f27d5f0e4cce82ce63fb50e11b
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [38] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [39] : 284d311000000000000000000000000000000000000000000000000000000000
Arg [40] : 2f37155e00000000000000000000000000000000000000000000000000000000
Arg [41] : 000000000000000000000000aaaa37d8dca748ffe2715014a59fdd1948442b40
Arg [42] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [43] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [44] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [45] : 2bfdebf700000000000000000000000000000000000000000000000000000000
Arg [46] : 0000000000000000000000004489bd8a61c4bca512693659e3b5cdcd7719da4a
Arg [47] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [48] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [49] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [50] : 3467b5fd00000000000000000000000000000000000000000000000000000000
Arg [51] : e0fd2e6200000000000000000000000000000000000000000000000000000000
Arg [52] : a2bc10a800000000000000000000000000000000000000000000000000000000
Arg [53] : 9b8c924c00000000000000000000000000000000000000000000000000000000
Arg [54] : 00000000000000000000000023bee2525fc14403b92309a2ed8744c38d8fb331
Arg [55] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [56] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [57] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [58] : 9527f9be00000000000000000000000000000000000000000000000000000000
Arg [59] : b0b06cf500000000000000000000000000000000000000000000000000000000
Arg [60] : 8f4e1e2200000000000000000000000000000000000000000000000000000000
Arg [61] : d1fad3a200000000000000000000000000000000000000000000000000000000
Arg [62] : 0cc6af3b00000000000000000000000000000000000000000000000000000000
Arg [63] : 0000000000000000000000007fbdfc5a74d3cebfcd438e66e4485e421a2f6d58
Arg [64] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [65] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [66] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [67] : 0c7804f100000000000000000000000000000000000000000000000000000000
Arg [68] : bc197c8100000000000000000000000000000000000000000000000000000000
Arg [69] : f23a6e6100000000000000000000000000000000000000000000000000000000
Arg [70] : c8fa712700000000000000000000000000000000000000000000000000000000
Arg [71] : 00000000000000000000000043a73988fd1f05352d8261d4f858679d4fedb9a6
Arg [72] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [73] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [74] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [75] : 8456cb5900000000000000000000000000000000000000000000000000000000
Arg [76] : 5c975abb00000000000000000000000000000000000000000000000000000000
Arg [77] : f42375b500000000000000000000000000000000000000000000000000000000
Arg [78] : 405ebd4d00000000000000000000000000000000000000000000000000000000
Arg [79] : 8b8f703b00000000000000000000000000000000000000000000000000000000
Arg [80] : ced0cb0b00000000000000000000000000000000000000000000000000000000
Arg [81] : 1f22980e00000000000000000000000000000000000000000000000000000000
Arg [82] : 2a72389800000000000000000000000000000000000000000000000000000000
Arg [83] : f43f767700000000000000000000000000000000000000000000000000000000
Arg [84] : 37fd11f400000000000000000000000000000000000000000000000000000000
Arg [85] : da74222800000000000000000000000000000000000000000000000000000000
Arg [86] : 3f4ba83a00000000000000000000000000000000000000000000000000000000
Arg [87] : 26a8678900000000000000000000000000000000000000000000000000000000
Arg [88] : 3492ac1b00000000000000000000000000000000000000000000000000000000
Arg [89] : efa3d2b100000000000000000000000000000000000000000000000000000000
Arg [90] : 000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79a496456a
Arg [91] : 000000000000000000000000af42991fd633a8afaa623de45810151431153764
Arg [92] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [93] : 0000000000000000000000000000000000000000000000000000000000000084
Arg [94] : 0857bd0a00000000000000000000000007801e1d8d868b351c83fd10de74aba7
Arg [95] : c5e989ea000000000000000000000000e791318fa8a84c9c0986dbc4fda0fde2
Arg [96] : 9a857605000000000000000000000000ba6bd2aace40c9a14c4123717119a80e
Arg [97] : 9fe6738a000000000000000000000000cb5eb537bad9c54a4dae2e3526473d79
Arg [98] : a496456a00000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
view all blocks collator

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.