Contract 0xa4e3513c98b30d4d7cc578d2c328bd550725d1d0

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x9dc2425f02554eea44c6f550dff0f6f1d79c2971107144b808dc1215bb3c7a48Set Approval For...361607452022-11-28 5:42:2014 mins ago0xcd8eddd0a27047d53d65f23d483a8a169d54526b IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.001534020018 30.000000356
0x73e210b91730217d30fd05e34f82e2c0a974d6e05f520ab903b47f8df1d5d317Set Approval For...361607362022-11-28 5:42:0214 mins ago0xcd8eddd0a27047d53d65f23d483a8a169d54526b IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.001534020006 30.000000122
0xe88e616d2d4003187b625aeea3709bbe77ea4cd815e71fa3713e9143c239926dLike361582082022-11-28 4:15:041 hr 41 mins ago0x43ff4c088df0a425d1a519d3030a1a3dfff05cfd IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.005877828623 82.974472022
0x8cfe61f3fdce540d46a5abadbd03efdc7cab0538832ef089d44dc3328f063ba1Like361543552022-11-28 2:00:093 hrs 56 mins ago0xb652158f67b9fb39c29412d6f8e1c563ff6724f2 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009425505065 133.055309437
0x0b35046a4d5718bf6de1b3a9fc830387b5699c40f52a0ad92059b823a108092aSafe Transfer Fr...361530912022-11-28 1:16:454 hrs 39 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009390481128 80.000009615
0xf7f7dd17b79509bd0950909f34619a1fc63c4f9e0ae1abbc4238def40b8c181cSafe Transfer Fr...361530732022-11-28 1:16:054 hrs 40 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009914932342 82.499998692
0x5172d02e8117795f20d4466e349f2406be7291050203063c1f4248ac39443c36Safe Transfer Fr...361530612022-11-28 1:15:404 hrs 40 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.00993747276 82.687552612
0x92d8c979ae9502dd2089d33a932517158ffdc237d175951f47001303a6befba4Safe Transfer Fr...361530512022-11-28 1:15:204 hrs 41 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.010232626282 85.143460965
0xb8f86b80544f9aab97a403352a0a04ee4735504ad783aefcf4e0e27a7785e4e5Safe Transfer Fr...361530362022-11-28 1:14:504 hrs 41 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.010232626147 85.143459847
0xac8fd6f1184b0c88cc06ecd4f8b073dab9ea4fe80c339e041001942f51ad0560Safe Transfer Fr...361530202022-11-28 1:14:144 hrs 42 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009923557805 82.571769295
0xe1281067e32aceb476de0d3014777894b75d1eb67ce1e185b323d57cbf2d2fe9Safe Transfer Fr...361530012022-11-28 1:13:364 hrs 43 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.010232628742 85.14348144
0xfea902f72f5b01a92a6a9889fb02dbdd355432155a3d63710396a4b26d887b6fSafe Transfer Fr...361529872022-11-28 1:13:084 hrs 43 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.011366118602 94.57500439
0x9c65a69d6802b383b50a4afa345cdaf520121eb58af46d3ccf16f9efb8165a42Safe Transfer Fr...361529712022-11-28 1:12:364 hrs 44 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.011366118316 94.57500201
0x5b2353d1339a355c10895aa8da2003db0ceb7ee131297f54a582d757aebfb2f7Safe Transfer Fr...361529562022-11-28 1:12:024 hrs 44 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.014196380899 118.125002287
0x331ca103cbf16d8b058582dbe09291eed19e36c869cec4d7dab1ced6bcfc7cc4Safe Transfer Fr...361529372022-11-28 1:11:244 hrs 45 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009464253804 78.750000457
0x3580cc703fa22284fcaa281683871fb575ac7bf9692a8b0af3259f6348026b61Safe Transfer Fr...361529192022-11-28 1:10:484 hrs 45 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009464253762 78.750000105
0x7bccd9d3efc68ce867aa3fd5b4386f9c1c637f0d9cba686e0ad47e55218151d1Set Approval For...361529032022-11-28 1:10:164 hrs 46 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.001068982128 34.224951294
0xcdf93b35f782817edbf82d06d18f1cf7b1f9b99b7fcce536434813b40053ca13Safe Transfer Fr...361528712022-11-28 1:09:084 hrs 47 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009314027499 77.499999997
0x0e4ff3002061ae44ead7f8c87c5af381bcba5869996c579f3d7b4aaa44794ec9Safe Transfer Fr...361528522022-11-28 1:08:304 hrs 48 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009013575006 75.000000052
0x1ccb67fa295a61527aedd1d731b13f244c1de76e755e3b033411b3480aa2c5a3Safe Transfer Fr...361528332022-11-28 1:07:524 hrs 48 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.009103710754 75.75000004
0x72fa899245ee83bb747919d2b26bdf49b8e49ca47c691a07d4ad24ebd64e7b0bSafe Transfer Fr...361528162022-11-28 1:07:144 hrs 49 mins ago0xb66fa16fa2ff5fd22804ed2c01f4dd0615586c16 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.008803575004 75.000000042
0x8c6760bc1619b89cad9326068c03c1502405eb711030cd1e5228120ca625d065Mint361526462022-11-28 1:01:264 hrs 55 mins ago0x8cbf96319b3c56d50a7c82efb6d3c46bd6f889ba IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.87339420078 75.000000067
0xec9a3b0307d59053a9a26ae14b1002eff48202e5616b206e5fff4e400a604064Flag361524162022-11-28 0:53:305 hrs 3 mins ago0x8cbf96319b3c56d50a7c82efb6d3c46bd6f889ba IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.005507325002 75.000000037
0x7d1d76e17c672d23a6d699ebb001fa6c8a9aadbcb1fbc243c8de7d21f6f51edeAdd Metadata Via...361507242022-11-27 23:55:156 hrs 1 min ago0x860980abad6267c6dd35d8b1c1b14fa6741db3a6 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.024065921188 34.920000041
0x38604b1d4f17901d3e26ea60f082d14119ec77eb0f3982cac34220896823fccaSafe Transfer Fr...361475872022-11-27 22:07:247 hrs 49 mins ago0x3cc13edc4249797f758684a4ab30701aea3168a4 IN  0xa4e3513c98b30d4d7cc578d2c328bd550725d1d00 MATIC0.008278575004 75.000000042
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FakeGotchisNFTDiamond

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : FakeGotchisNFTDiamond.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 {LibAppStorage, AppStorage} from "../libraries/AppStorage.sol";

contract FakeGotchisNFTDiamond {
    constructor(
        address _contractOwner,
        address _diamondCutFacet,
        address _ghstContract,
        address _aavegotchiDiamond,
        address _fakeGotchisCardDiamond
    ) payable {
        LibDiamond.setContractOwner(_contractOwner);

        // Add the diamondCut external function from the diamondCutFacet
        IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](1);
        bytes4[] memory functionSelectors = new bytes4[](1);
        functionSelectors[0] = IDiamondCut.diamondCut.selector;
        cut[0] = IDiamondCut.FacetCut({facetAddress: _diamondCutFacet, action: IDiamondCut.FacetCutAction.Add, functionSelectors: functionSelectors});
        LibDiamond.diamondCut(cut, address(0), "");

        // add supportedInterface
        LibDiamond.addSupportForERC165(0x80ac58cd); // ERC721
        LibDiamond.addSupportForERC165(0x24d34933); //MultiRoyalty

        AppStorage storage s = LibAppStorage.diamondStorage();
        s.ghstContract = _ghstContract;
        s.aavegotchiDiamond = _aavegotchiDiamond;
        s.fakeGotchisCardDiamond = _fakeGotchisCardDiamond;
    }

    // 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.selectorToFacetAndPosition[msg.sig].facetAddress;
        require(facet != address(0), "Diamond: Function does not exist");
        // 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())
            }
        }
    }

    receive() external payable {}
}

File 2 of 4 : LibDiamond.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 {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

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

    struct FacetAddressAndPosition {
        address facetAddress;
        uint96 functionSelectorPosition; // position in facetFunctionSelectors.functionSelectors array
    }

    struct FacetFunctionSelectors {
        bytes4[] functionSelectors;
        uint256 facetAddressPosition; // position of facetAddress in facetAddresses array
    }

    struct DiamondStorage {
        // maps function selector to the facet address and
        // the position of the selector in the facetFunctionSelectors.selectors array
        mapping(bytes4 => FacetAddressAndPosition) selectorToFacetAndPosition;
        // maps facet addresses to function selectors
        mapping(address => FacetFunctionSelectors) facetFunctionSelectors;
        // facet addresses
        address[] facetAddresses;
        // Used to query if a contract implements an interface.
        // Used to implement ERC-165.
        mapping(bytes4 => bool) supportedInterfaces;
        // owner of the contract
        address contractOwner;
    }

    function diamondStorage() internal pure returns (DiamondStorage storage ds) {
        bytes32 position = DIAMOND_STORAGE_POSITION;
        assembly {
            ds.slot := position
        }
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function setContractOwner(address _newOwner) internal {
        DiamondStorage storage ds = diamondStorage();
        address previousOwner = ds.contractOwner;
        ds.contractOwner = _newOwner;
        emit OwnershipTransferred(previousOwner, _newOwner);
    }

    function contractOwner() internal view returns (address contractOwner_) {
        contractOwner_ = diamondStorage().contractOwner;
    }

    function enforceIsContractOwner() internal view {
        require(msg.sender == diamondStorage().contractOwner, "LibDiamond: Must be contract owner");
    }

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

    // Internal function version of diamondCut
    function diamondCut(
        IDiamondCut.FacetCut[] memory _diamondCut,
        address _init,
        bytes memory _calldata
    ) internal {
        for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) {
            IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action;
            if (action == IDiamondCut.FacetCutAction.Add) {
                addFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else if (action == IDiamondCut.FacetCutAction.Replace) {
                replaceFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else if (action == IDiamondCut.FacetCutAction.Remove) {
                removeFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else {
                revert("LibDiamondCut: Incorrect FacetCutAction");
            }
        }
        emit DiamondCut(_diamondCut, _init, _calldata);
        initializeDiamondCut(_init, _calldata);
    }

    function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)");
        uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length);
        // add new facet address if it does not exist
        if (selectorPosition == 0) {
            addFacet(ds, _facetAddress);
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            require(oldFacetAddress == address(0), "LibDiamondCut: Can't add function that already exists");
            addFunction(ds, selector, selectorPosition, _facetAddress);
            selectorPosition++;
        }
    }

    function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)");
        uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length);
        // add new facet address if it does not exist
        if (selectorPosition == 0) {
            addFacet(ds, _facetAddress);
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            require(oldFacetAddress != _facetAddress, "LibDiamondCut: Can't replace function with same function");
            removeFunction(ds, oldFacetAddress, selector);
            addFunction(ds, selector, selectorPosition, _facetAddress);
            selectorPosition++;
        }
    }

    function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        // if function does not exist then do nothing and return
        require(_facetAddress == address(0), "LibDiamondCut: Remove facet address must be address(0)");
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            removeFunction(ds, oldFacetAddress, selector);
        }
    }

    function addFacet(DiamondStorage storage ds, address _facetAddress) internal {
        enforceHasContractCode(_facetAddress, "LibDiamondCut: New facet has no code");
        ds.facetFunctionSelectors[_facetAddress].facetAddressPosition = ds.facetAddresses.length;
        ds.facetAddresses.push(_facetAddress);
    }

    function addFunction(
        DiamondStorage storage ds,
        bytes4 _selector,
        uint96 _selectorPosition,
        address _facetAddress
    ) internal {
        ds.selectorToFacetAndPosition[_selector].functionSelectorPosition = _selectorPosition;
        ds.facetFunctionSelectors[_facetAddress].functionSelectors.push(_selector);
        ds.selectorToFacetAndPosition[_selector].facetAddress = _facetAddress;
    }

    function removeFunction(
        DiamondStorage storage ds,
        address _facetAddress,
        bytes4 _selector
    ) internal {
        require(_facetAddress != address(0), "LibDiamondCut: Can't remove function that doesn't exist");
        // an immutable function is a function defined directly in a diamond
        require(_facetAddress != address(this), "LibDiamondCut: Can't remove immutable function");
        // replace selector with last selector, then delete last selector
        uint256 selectorPosition = ds.selectorToFacetAndPosition[_selector].functionSelectorPosition;
        uint256 lastSelectorPosition = ds.facetFunctionSelectors[_facetAddress].functionSelectors.length - 1;
        // if not the same then replace _selector with lastSelector
        if (selectorPosition != lastSelectorPosition) {
            bytes4 lastSelector = ds.facetFunctionSelectors[_facetAddress].functionSelectors[lastSelectorPosition];
            ds.facetFunctionSelectors[_facetAddress].functionSelectors[selectorPosition] = lastSelector;
            ds.selectorToFacetAndPosition[lastSelector].functionSelectorPosition = uint96(selectorPosition);
        }
        // delete the last selector
        ds.facetFunctionSelectors[_facetAddress].functionSelectors.pop();
        delete ds.selectorToFacetAndPosition[_selector];

        // if no more selectors for facet address then delete the facet address
        if (lastSelectorPosition == 0) {
            // replace facet address with last facet address and delete last facet address
            uint256 lastFacetAddressPosition = ds.facetAddresses.length - 1;
            uint256 facetAddressPosition = ds.facetFunctionSelectors[_facetAddress].facetAddressPosition;
            if (facetAddressPosition != lastFacetAddressPosition) {
                address lastFacetAddress = ds.facetAddresses[lastFacetAddressPosition];
                ds.facetAddresses[facetAddressPosition] = lastFacetAddress;
                ds.facetFunctionSelectors[lastFacetAddress].facetAddressPosition = facetAddressPosition;
            }
            ds.facetAddresses.pop();
            delete ds.facetFunctionSelectors[_facetAddress].facetAddressPosition;
        }
    }

    function initializeDiamondCut(address _init, bytes memory _calldata) internal {
        if (_init == address(0)) {
            require(_calldata.length == 0, "LibDiamondCut: _init is address(0) but_calldata is not empty");
        } else {
            require(_calldata.length > 0, "LibDiamondCut: _calldata is empty but _init is not address(0)");
            if (_init != address(this)) {
                enforceHasContractCode(_init, "LibDiamondCut: _init address has no code");
            }
            (bool success, bytes memory error) = _init.delegatecall(_calldata);
            if (!success) {
                if (error.length > 0) {
                    // bubble up the error
                    revert(string(error));
                } else {
                    revert("LibDiamondCut: _init function reverted");
                }
            }
        }
    }

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

    function addSupportForERC165(bytes4 _interfaceId) internal {
        DiamondStorage storage ds = LibDiamond.diamondStorage();
        ds.supportedInterfaces[_interfaceId] = true;
    }
}

File 3 of 4 : 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
/******************************************************************************/

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

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

    /// @notice Add/replace/remove any number of functions and optionally execute
    ///         a function with delegatecall
    /// @param _diamondCut Contains the facet addresses and function selectors
    /// @param _init The address of the contract or facet to execute _calldata
    /// @param _calldata A function call, including function selector and arguments
    ///                  _calldata is executed with delegatecall on _init
    function diamondCut(
        FacetCut[] calldata _diamondCut,
        address _init,
        bytes calldata _calldata
    ) external;

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

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

import {LibDiamond} from "./LibDiamond.sol";

uint8 constant METADATA_STATUS_PENDING = 0;
uint8 constant METADATA_STATUS_PAUSED = 1;
uint8 constant METADATA_STATUS_APPROVED = 2;
uint8 constant METADATA_STATUS_DECLINED = 3;

struct Metadata {
    // storage slot 1
    address publisher;
    uint16[2] royalty; // royalty[0]: publisher, royalty[1]: artist, sum should be 10000 (100%)
    uint16 editions; // decrease when fake gotchi burned
    uint32 flagCount;
    uint32 likeCount;
    // storage slot 2
    address artist;
    uint40 createdAt;
    uint8 status;
    bool minted;
    // storage slot 3+
    string name;
    string description;
    string externalLink;
    string artistName;
    string publisherName;
    string fileHash;
    string fileType;
    string thumbnailHash;
    string thumbnailType;
}

struct AppStorage {
    address ghstContract;
    address aavegotchiDiamond;
    address fakeGotchisCardDiamond;
    // Metadata
    mapping(address => bool) blocked;
    uint256 metadataIdCounter; // start from 1, not 0
    uint256[] metadataIds;
    mapping(uint256 => Metadata) metadata;
    mapping(uint256 => address) metadataOwner;
    mapping(address => mapping(uint256 => uint256)) ownerMetadataIdIndexes;
    mapping(address => uint256[]) ownerMetadataIds;
    mapping(uint256 => mapping(address => bool)) metadataLiked;
    mapping(uint256 => mapping(address => bool)) metadataFlagged;
    // Fake Gotchis ERC721
    uint256 tokenIdCounter;
    uint256[] tokenIds;
    mapping(uint256 => uint256) fakeGotchis; // fake gotchi id => metadata id
    mapping(uint256 => address) fakeGotchiOwner; // fake gotchi id => owner
    mapping(address => mapping(uint256 => uint256)) ownerTokenIdIndexes;
    mapping(address => uint256[]) ownerTokenIds;
    mapping(address => mapping(address => bool)) operators;
    mapping(uint256 => address) approved;
    mapping(string => address) nameToPublisher;
    mapping(address => string) publisherToName;
}

library LibAppStorage {
    function diamondStorage() internal pure returns (AppStorage storage ds) {
        assembly {
            ds.slot := 0
        }
    }
}

contract Modifiers {
    AppStorage internal s;

    modifier onlyOwner() {
        LibDiamond.enforceIsContractOwner();
        _;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"},{"internalType":"address","name":"_ghstContract","type":"address"},{"internalType":"address","name":"_aavegotchiDiamond","type":"address"},{"internalType":"address","name":"_fakeGotchisCardDiamond","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

6080604052604051620027ef380380620027ef83398101604081905262000026916200125b565b6200003c85620001ea60201b620000c81760201c565b604080516001808252818301909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081620000535750506040805160018082528183019092529192506000919060208083019080368337019050509050631f931c1c60e01b81600081518110620000c657620000c6620012cb565b6001600160e01b031990921660209283029190910182015260408051606081019091526001600160a01b0388168152908101600081526020018281525082600081518110620001195762000119620012cb565b60200260200101819052506200014c826000604051806020016040528060008152506200026e60201b620001281760201c565b620001696380ac58cd60e01b620004c960201b620003391760201c565b620001866324d3493360e01b620004c960201b620003391760201c565b60006200019d6200050b60201b6200036e1760201c565b80546001600160a01b03199081166001600160a01b039889161782556001820180548216978916979097179096556002018054909516939095169290921790925550620015289350505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b0384811691821790935560405160008051602062002743833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156200047a576000848281518110620002925762000292620012cb565b602002602001015160200151905060006002811115620002b657620002b6620012e1565b816002811115620002cb57620002cb620012e1565b03620003295762000323858381518110620002ea57620002ea620012cb565b6020026020010151600001518684815181106200030b576200030b620012cb565b6020026020010151604001516200052360201b60201c565b62000464565b6001816002811115620003405762000340620012e1565b036200039857620003238583815181106200035f576200035f620012cb565b602002602001015160000151868481518110620003805762000380620012cb565b602002602001015160400151620007b060201b60201c565b6002816002811115620003af57620003af620012e1565b03620004075762000323858381518110620003ce57620003ce620012cb565b602002602001015160000151868481518110620003ef57620003ef620012cb565b60200260200101516040015162000a4860201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b508062000471816200130d565b91505062000271565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620004b09392919062001386565b60405180910390a1620004c4828262000bae565b505050565b6000620004e06200051060201b620003731760201c565b6001600160e01b0319909216600090815260039092016020525060409020805460ff19166001179055565b600090565b6000805160206200274383398151915290565b6000815111620005795760405162461bcd60e51b815260206004820152602b6024820152600080516020620027cf83398151915260448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016200045b565b600080516020620027438339815191526001600160a01b038316620005e55760405162461bcd60e51b815260206004820152602c60248201526000805160206200278b83398151915260448201526b65206164647265737328302960a01b60648201526084016200045b565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036200061e576200061e828562000dcd565b60005b8351811015620007a9576000848281518110620006425762000642620012cb565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03168015620006ea5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c726561647920657869737473000000000000000000000060648201526084016200045b565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200078e816200148d565b94505050508080620007a0906200130d565b91505062000621565b5050505050565b6000815111620008065760405162461bcd60e51b815260206004820152602b6024820152600080516020620027cf83398151915260448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016200045b565b600080516020620027438339815191526001600160a01b038316620008725760405162461bcd60e51b815260206004820152602c60248201526000805160206200278b83398151915260448201526b65206164647265737328302960a01b60648201526084016200045b565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620008ab57620008ab828562000dcd565b60005b8351811015620007a9576000848281518110620008cf57620008cf620012cb565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036200097c5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e000000000000000060648201526084016200045b565b6200098985828462000e3a565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b0319161790558362000a2d816200148d565b9450505050808062000a3f906200130d565b915050620008ae565b600081511162000a9e5760405162461bcd60e51b815260206004820152602b6024820152600080516020620027cf83398151915260448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016200045b565b600080516020620027438339815191526001600160a01b0383161562000b2d5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d75737420626520616464726573732830290000000000000000000060648201526084016200045b565b60005b825181101562000ba857600083828151811062000b515762000b51620012cb565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031662000b9084828462000e3a565b5050808062000b9f906200130d565b91505062000b30565b50505050565b6001600160a01b03821662000c385780511562000c345760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d7074790000000060648201526084016200045b565b5050565b600081511162000cb15760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f74206164647265737328302900000060648201526084016200045b565b6001600160a01b038216301462000ce75762000ce78260405180606001604052806028815260200162002763602891396200121a565b600080836001600160a01b03168360405162000d049190620014be565b600060405180830381855af49150503d806000811462000d41576040519150601f19603f3d011682016040523d82523d6000602084013e62000d46565b606091505b50915091508162000ba85780511562000d75578060405162461bcd60e51b81526004016200045b9190620014dc565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b60648201526084016200045b565b62000df281604051806060016040528060248152602001620027ab602491396200121a565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000eb85760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e277420657869737400000000000000000060648201526084016200045b565b306001600160a01b0383160362000f295760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b60648201526084016200045b565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000f7a91620014f8565b905080821462001073576001600160a01b0384166000908152600186016020526040812080548390811062000fb35762000fb3620012cb565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110620010075762001007620012cb565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b038416600090815260018601602052604090208054806200109f576200109f62001512565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620007a95760028501546000906200110590600190620014f8565b6001600160a01b0386166000908152600180890160205260409091200154909150808214620011bb576000876002018381548110620011485762001148620012cb565b6000918252602090912001546002890180546001600160a01b0390921692508291849081106200117c576200117c620012cb565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480620011d157620011d162001512565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b818162000ba85760405162461bcd60e51b81526004016200045b9190620014dc565b80516001600160a01b03811681146200125657600080fd5b919050565b600080600080600060a086880312156200127457600080fd5b6200127f866200123e565b94506200128f602087016200123e565b93506200129f604087016200123e565b9250620012af606087016200123e565b9150620012bf608087016200123e565b90509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620013225762001322620012f7565b5060010190565b60005b83811015620013465781810151838201526020016200132c565b8381111562000ba85750506000910152565b600081518084526200137281602086016020860162001329565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156200145b57898403607f19018652815180516001600160a01b03168552838101518986019060038110620013f757634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620014455783516001600160e01b031916825292860192600192909201919086019062001419565b50978501979550505090820190600101620013af565b50506001600160a01b038a169088015286810360408801526200147f818962001358565b9a9950505050505050505050565b60006001600160601b038281166002600160601b03198101620014b457620014b4620012f7565b6001019392505050565b60008251620014d281846020870162001329565b9190910192915050565b602081526000620014f1602083018462001358565b9392505050565b6000828210156200150d576200150d620012f7565b500390565b634e487b7160e01b600052603160045260246000fd5b61120b80620015386000396000f3fe60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b0316806100a45760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100c3573d6000f35b3d6000fd5b60006100d2610373565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156102ee57600084828151811061014857610148610eb6565b60200260200101516020015190506000600281111561016957610169610ecc565b81600281111561017b5761017b610ecc565b036101c9576101c485838151811061019557610195610eb6565b6020026020010151600001518684815181106101b3576101b3610eb6565b602002602001015160400151610397565b6102db565b60018160028111156101dd576101dd610ecc565b03610226576101c48583815181106101f7576101f7610eb6565b60200260200101516000015186848151811061021557610215610eb6565b602002602001015160400151610513565b600281600281111561023a5761023a610ecc565b03610283576101c485838151811061025457610254610eb6565b60200260200101516000015186848151811061027257610272610eb6565b6020026020010151604001516106a0565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b606482015260840161009b565b50806102e681610ef8565b91505061012b565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161032293929190610f69565b60405180910390a161033482826107bb565b505050565b6000610343610373565b6001600160e01b0319909216600090815260039092016020525060409020805460ff19166001179055565b600090565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60008151116103b85760405162461bcd60e51b815260040161009b90611069565b60006103c2610373565b90506001600160a01b0383166103ea5760405162461bcd60e51b815260040161009b906110b4565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036104205761042082856109c8565b60005b835181101561050c57600084828151811061044057610440610eb6565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156104de5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b606482015260840161009b565b6104ea8583868a610a32565b836104f481611100565b9450505050808061050490610ef8565b915050610423565b5050505050565b60008151116105345760405162461bcd60e51b815260040161009b90611069565b600061053e610373565b90506001600160a01b0383166105665760405162461bcd60e51b815260040161009b906110b4565b6001600160a01b0383166000908152600182016020526040812054906001600160601b038216900361059c5761059c82856109c8565b60005b835181101561050c5760008482815181106105bc576105bc610eb6565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036106675760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161009b565b610672858284610ad2565b61067e8583868a610a32565b8361068881611100565b9450505050808061069890610ef8565b91505061059f565b60008151116106c15760405162461bcd60e51b815260040161009b90611069565b60006106cb610373565b90506001600160a01b038316156107435760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b606482015260840161009b565b60005b82518110156107b557600083828151811061076357610763610eb6565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b03166107a0848284610ad2565b505080806107ad90610ef8565b915050610746565b50505050565b6001600160a01b0382166108425780511561083e5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606482015260840161009b565b5050565b60008151116108b95760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606482015260840161009b565b6001600160a01b03821630146108eb576108eb8260405180606001604052806028815260200161118a60289139610e95565b600080836001600160a01b0316836040516109069190611126565b600060405180830381855af49150503d8060008114610941576040519150601f19603f3d011682016040523d82523d6000602084013e610946565b606091505b5091509150816107b557805115610971578060405162461bcd60e51b815260040161009b9190611142565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b606482015260840161009b565b6109ea816040518060600160405280602481526020016111b260249139610e95565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160e01b0319831660008181526020868152604080832080546001600160601b03909716600160a01b026001600160a01b0397881617815594909516808352600180890183529583208054968701815583528183206008870401805460e09890981c60046007909816979097026101000a96870263ffffffff9097021990971695909517909555529290915281546001600160a01b031916179055565b6001600160a01b038216610b4e5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161009b565b306001600160a01b03831603610bbd5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b606482015260840161009b565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b03169291610c0c9161115c565b9050808214610cfe576001600160a01b03841660009081526001860160205260408120805483908110610c4157610c41610eb6565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610c9257610c92610eb6565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b03841660009081526001860160205260409020805480610d2757610d27611173565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319851682528690526040812081905581900361050c576002850154600090610d8a9060019061115c565b6001600160a01b0386166000908152600180890160205260409091200154909150808214610e39576000876002018381548110610dc957610dc9610eb6565b6000918252602090912001546002890180546001600160a01b039092169250829184908110610dfa57610dfa610eb6565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480610e4c57610e4c611173565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b81816107b55760405162461bcd60e51b815260040161009b9190611142565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f0a57610f0a610ee2565b5060010190565b60005b83811015610f2c578181015183820152602001610f14565b838111156107b55750506000910152565b60008151808452610f55816020860160208601610f11565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b8481101561103957898403607f19018652815180516001600160a01b03168552838101518986019060038110610fd857634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156110245783516001600160e01b0319168252928601926001929092019190860190610ffa565b50978501979550505090820190600101610f92565b50506001600160a01b038a1690880152868103604088015261105b8189610f3d565b9a9950505050505050505050565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201526a1858d95d081d1bc818dd5d60aa1b606082015260800190565b6020808252602c908201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260408201526b65206164647265737328302960a01b606082015260800190565b60006001600160601b0380831681810361111c5761111c610ee2565b6001019392505050565b60008251611138818460208701610f11565b9190910192915050565b6020815260006111556020830184610f3d565b9392505050565b60008282101561116e5761116e610ee2565b500390565b634e487b7160e01b600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220c034f7ab8e1ce5992f780579cf598248628425d4398082105690ab9d276bdc9264736f6c634300080d0033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e20660000000000000000000000008d46fd7160940d89da026d59b2e819208e714e82000000000000000000000000a1534b5f57a0f48f8e060979923de7b407c1a323000000000000000000000000385eeac5cb85a38a9a07a70c73e0a3271cfb54a700000000000000000000000086935f11c86623dec8a25696e1c19a8659cbf95d0000000000000000000000009f6bcc63e86d44c46e85564e9383e650dc0b56d7

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

0000000000000000000000008d46fd7160940d89da026d59b2e819208e714e82000000000000000000000000a1534b5f57a0f48f8e060979923de7b407c1a323000000000000000000000000385eeac5cb85a38a9a07a70c73e0a3271cfb54a700000000000000000000000086935f11c86623dec8a25696e1c19a8659cbf95d0000000000000000000000009f6bcc63e86d44c46e85564e9383e650dc0b56d7

-----Decoded View---------------
Arg [0] : _contractOwner (address): 0x8d46fd7160940d89da026d59b2e819208e714e82
Arg [1] : _diamondCutFacet (address): 0xa1534b5f57a0f48f8e060979923de7b407c1a323
Arg [2] : _ghstContract (address): 0x385eeac5cb85a38a9a07a70c73e0a3271cfb54a7
Arg [3] : _aavegotchiDiamond (address): 0x86935f11c86623dec8a25696e1c19a8659cbf95d
Arg [4] : _fakeGotchisCardDiamond (address): 0x9f6bcc63e86d44c46e85564e9383e650dc0b56d7

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000008d46fd7160940d89da026d59b2e819208e714e82
Arg [1] : 000000000000000000000000a1534b5f57a0f48f8e060979923de7b407c1a323
Arg [2] : 000000000000000000000000385eeac5cb85a38a9a07a70c73e0a3271cfb54a7
Arg [3] : 00000000000000000000000086935f11c86623dec8a25696e1c19a8659cbf95d
Arg [4] : 0000000000000000000000009f6bcc63e86d44c46e85564e9383e650dc0b56d7


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