Overview
MATIC Balance
0 MATIC
MATIC Value
$0.00Token Holdings
More Info
Private Name Tags
ContractCreator:
TokenTracker
Sponsored
Latest 25 from a total of 14,786 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Safe Transfer Fr... | 55196280 | 7 hrs ago | IN | 0 MATIC | 0.02418108 | ||||
Safe Transfer Fr... | 55193032 | 9 hrs ago | IN | 0 MATIC | 0.02540833 | ||||
Safe Transfer Fr... | 55181792 | 16 hrs ago | IN | 0 MATIC | 0.02952266 | ||||
Safe Transfer Fr... | 55181761 | 16 hrs ago | IN | 0 MATIC | 0.03386872 | ||||
Safe Transfer Fr... | 55181742 | 16 hrs ago | IN | 0 MATIC | 0.0333296 | ||||
Safe Transfer Fr... | 55181720 | 16 hrs ago | IN | 0 MATIC | 0.03033901 | ||||
Safe Transfer Fr... | 55181690 | 16 hrs ago | IN | 0 MATIC | 0.03135415 | ||||
Safe Transfer Fr... | 55165126 | 27 hrs ago | IN | 0 MATIC | 0.0214346 | ||||
Safe Transfer Fr... | 55162961 | 28 hrs ago | IN | 0 MATIC | 0.02767958 | ||||
Safe Transfer Fr... | 55162691 | 28 hrs ago | IN | 0 MATIC | 0.03200105 | ||||
Safe Transfer Fr... | 55162649 | 28 hrs ago | IN | 0 MATIC | 0.03507167 | ||||
Safe Transfer Fr... | 55161068 | 29 hrs ago | IN | 0 MATIC | 0.03234641 | ||||
Safe Transfer Fr... | 55159671 | 30 hrs ago | IN | 0 MATIC | 0.03260134 | ||||
Safe Transfer Fr... | 55159575 | 30 hrs ago | IN | 0 MATIC | 0.03594451 | ||||
Safe Transfer Fr... | 55159548 | 30 hrs ago | IN | 0 MATIC | 0.03320168 | ||||
Safe Transfer Fr... | 55159473 | 30 hrs ago | IN | 0 MATIC | 0.03139899 | ||||
Safe Transfer Fr... | 55159437 | 30 hrs ago | IN | 0 MATIC | 0.03119522 | ||||
Safe Transfer Fr... | 55159401 | 30 hrs ago | IN | 0 MATIC | 0.03493364 | ||||
Safe Transfer Fr... | 55158086 | 31 hrs ago | IN | 0 MATIC | 0.03188431 | ||||
Safe Transfer Fr... | 55158049 | 31 hrs ago | IN | 0 MATIC | 0.03174594 | ||||
Set Approval For... | 55158038 | 31 hrs ago | IN | 0 MATIC | 0.00566152 | ||||
Mint | 55157998 | 31 hrs ago | IN | 0 MATIC | 1.30950648 | ||||
Like | 55149169 | 37 hrs ago | IN | 0 MATIC | 0.02029094 | ||||
Like | 55149164 | 37 hrs ago | IN | 0 MATIC | 0.0199805 | ||||
Flag | 55149159 | 37 hrs ago | IN | 0 MATIC | 0.01925223 |
Loading...
Loading
Contract Name:
FakeGotchisNFTDiamond
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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 {} }
// 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; } }
// 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); }
// 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(); _; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
6080604052604051620027ef380380620027ef83398101604081905262000026916200125b565b6200003c85620001ea60201b620000c81760201c565b604080516001808252818301909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081620000535750506040805160018082528183019092529192506000919060208083019080368337019050509050631f931c1c60e01b81600081518110620000c657620000c6620012cb565b6001600160e01b031990921660209283029190910182015260408051606081019091526001600160a01b0388168152908101600081526020018281525082600081518110620001195762000119620012cb565b60200260200101819052506200014c826000604051806020016040528060008152506200026e60201b620001281760201c565b620001696380ac58cd60e01b620004c960201b620003391760201c565b620001866324d3493360e01b620004c960201b620003391760201c565b60006200019d6200050b60201b6200036e1760201c565b80546001600160a01b03199081166001600160a01b039889161782556001820180548216978916979097179096556002018054909516939095169290921790925550620015289350505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b0384811691821790935560405160008051602062002743833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156200047a576000848281518110620002925762000292620012cb565b602002602001015160200151905060006002811115620002b657620002b6620012e1565b816002811115620002cb57620002cb620012e1565b03620003295762000323858381518110620002ea57620002ea620012cb565b6020026020010151600001518684815181106200030b576200030b620012cb565b6020026020010151604001516200052360201b60201c565b62000464565b6001816002811115620003405762000340620012e1565b036200039857620003238583815181106200035f576200035f620012cb565b602002602001015160000151868481518110620003805762000380620012cb565b602002602001015160400151620007b060201b60201c565b6002816002811115620003af57620003af620012e1565b03620004075762000323858381518110620003ce57620003ce620012cb565b602002602001015160000151868481518110620003ef57620003ef620012cb565b60200260200101516040015162000a4860201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b508062000471816200130d565b91505062000271565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620004b09392919062001386565b60405180910390a1620004c4828262000bae565b505050565b6000620004e06200051060201b620003731760201c565b6001600160e01b0319909216600090815260039092016020525060409020805460ff19166001179055565b600090565b6000805160206200274383398151915290565b6000815111620005795760405162461bcd60e51b815260206004820152602b6024820152600080516020620027cf83398151915260448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016200045b565b600080516020620027438339815191526001600160a01b038316620005e55760405162461bcd60e51b815260206004820152602c60248201526000805160206200278b83398151915260448201526b65206164647265737328302960a01b60648201526084016200045b565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036200061e576200061e828562000dcd565b60005b8351811015620007a9576000848281518110620006425762000642620012cb565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03168015620006ea5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c726561647920657869737473000000000000000000000060648201526084016200045b565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200078e816200148d565b94505050508080620007a0906200130d565b91505062000621565b5050505050565b6000815111620008065760405162461bcd60e51b815260206004820152602b6024820152600080516020620027cf83398151915260448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016200045b565b600080516020620027438339815191526001600160a01b038316620008725760405162461bcd60e51b815260206004820152602c60248201526000805160206200278b83398151915260448201526b65206164647265737328302960a01b60648201526084016200045b565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620008ab57620008ab828562000dcd565b60005b8351811015620007a9576000848281518110620008cf57620008cf620012cb565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036200097c5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e000000000000000060648201526084016200045b565b6200098985828462000e3a565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b0319161790558362000a2d816200148d565b9450505050808062000a3f906200130d565b915050620008ae565b600081511162000a9e5760405162461bcd60e51b815260206004820152602b6024820152600080516020620027cf83398151915260448201526a1858d95d081d1bc818dd5d60aa1b60648201526084016200045b565b600080516020620027438339815191526001600160a01b0383161562000b2d5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d75737420626520616464726573732830290000000000000000000060648201526084016200045b565b60005b825181101562000ba857600083828151811062000b515762000b51620012cb565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031662000b9084828462000e3a565b5050808062000b9f906200130d565b91505062000b30565b50505050565b6001600160a01b03821662000c385780511562000c345760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d7074790000000060648201526084016200045b565b5050565b600081511162000cb15760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f74206164647265737328302900000060648201526084016200045b565b6001600160a01b038216301462000ce75762000ce78260405180606001604052806028815260200162002763602891396200121a565b600080836001600160a01b03168360405162000d049190620014be565b600060405180830381855af49150503d806000811462000d41576040519150601f19603f3d011682016040523d82523d6000602084013e62000d46565b606091505b50915091508162000ba85780511562000d75578060405162461bcd60e51b81526004016200045b9190620014dc565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b60648201526084016200045b565b62000df281604051806060016040528060248152602001620027ab602491396200121a565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000eb85760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e277420657869737400000000000000000060648201526084016200045b565b306001600160a01b0383160362000f295760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b60648201526084016200045b565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000f7a91620014f8565b905080821462001073576001600160a01b0384166000908152600186016020526040812080548390811062000fb35762000fb3620012cb565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110620010075762001007620012cb565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b038416600090815260018601602052604090208054806200109f576200109f62001512565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620007a95760028501546000906200110590600190620014f8565b6001600160a01b0386166000908152600180890160205260409091200154909150808214620011bb576000876002018381548110620011485762001148620012cb565b6000918252602090912001546002890180546001600160a01b0390921692508291849081106200117c576200117c620012cb565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480620011d157620011d162001512565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b818162000ba85760405162461bcd60e51b81526004016200045b9190620014dc565b80516001600160a01b03811681146200125657600080fd5b919050565b600080600080600060a086880312156200127457600080fd5b6200127f866200123e565b94506200128f602087016200123e565b93506200129f604087016200123e565b9250620012af606087016200123e565b9150620012bf608087016200123e565b90509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620013225762001322620012f7565b5060010190565b60005b83811015620013465781810151838201526020016200132c565b8381111562000ba85750506000910152565b600081518084526200137281602086016020860162001329565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156200145b57898403607f19018652815180516001600160a01b03168552838101518986019060038110620013f757634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620014455783516001600160e01b031916825292860192600192909201919086019062001419565b50978501979550505090820190600101620013af565b50506001600160a01b038a169088015286810360408801526200147f818962001358565b9a9950505050505050505050565b60006001600160601b038281166002600160601b03198101620014b457620014b4620012f7565b6001019392505050565b60008251620014d281846020870162001329565b9190910192915050565b602081526000620014f1602083018462001358565b9392505050565b6000828210156200150d576200150d620012f7565b500390565b634e487b7160e01b600052603160045260246000fd5b61120b80620015386000396000f3fe60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b0316806100a45760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100c3573d6000f35b3d6000fd5b60006100d2610373565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156102ee57600084828151811061014857610148610eb6565b60200260200101516020015190506000600281111561016957610169610ecc565b81600281111561017b5761017b610ecc565b036101c9576101c485838151811061019557610195610eb6565b6020026020010151600001518684815181106101b3576101b3610eb6565b602002602001015160400151610397565b6102db565b60018160028111156101dd576101dd610ecc565b03610226576101c48583815181106101f7576101f7610eb6565b60200260200101516000015186848151811061021557610215610eb6565b602002602001015160400151610513565b600281600281111561023a5761023a610ecc565b03610283576101c485838151811061025457610254610eb6565b60200260200101516000015186848151811061027257610272610eb6565b6020026020010151604001516106a0565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b606482015260840161009b565b50806102e681610ef8565b91505061012b565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161032293929190610f69565b60405180910390a161033482826107bb565b505050565b6000610343610373565b6001600160e01b0319909216600090815260039092016020525060409020805460ff19166001179055565b600090565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60008151116103b85760405162461bcd60e51b815260040161009b90611069565b60006103c2610373565b90506001600160a01b0383166103ea5760405162461bcd60e51b815260040161009b906110b4565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036104205761042082856109c8565b60005b835181101561050c57600084828151811061044057610440610eb6565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156104de5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b606482015260840161009b565b6104ea8583868a610a32565b836104f481611100565b9450505050808061050490610ef8565b915050610423565b5050505050565b60008151116105345760405162461bcd60e51b815260040161009b90611069565b600061053e610373565b90506001600160a01b0383166105665760405162461bcd60e51b815260040161009b906110b4565b6001600160a01b0383166000908152600182016020526040812054906001600160601b038216900361059c5761059c82856109c8565b60005b835181101561050c5760008482815181106105bc576105bc610eb6565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036106675760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161009b565b610672858284610ad2565b61067e8583868a610a32565b8361068881611100565b9450505050808061069890610ef8565b91505061059f565b60008151116106c15760405162461bcd60e51b815260040161009b90611069565b60006106cb610373565b90506001600160a01b038316156107435760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b606482015260840161009b565b60005b82518110156107b557600083828151811061076357610763610eb6565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b03166107a0848284610ad2565b505080806107ad90610ef8565b915050610746565b50505050565b6001600160a01b0382166108425780511561083e5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606482015260840161009b565b5050565b60008151116108b95760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606482015260840161009b565b6001600160a01b03821630146108eb576108eb8260405180606001604052806028815260200161118a60289139610e95565b600080836001600160a01b0316836040516109069190611126565b600060405180830381855af49150503d8060008114610941576040519150601f19603f3d011682016040523d82523d6000602084013e610946565b606091505b5091509150816107b557805115610971578060405162461bcd60e51b815260040161009b9190611142565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b606482015260840161009b565b6109ea816040518060600160405280602481526020016111b260249139610e95565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160e01b0319831660008181526020868152604080832080546001600160601b03909716600160a01b026001600160a01b0397881617815594909516808352600180890183529583208054968701815583528183206008870401805460e09890981c60046007909816979097026101000a96870263ffffffff9097021990971695909517909555529290915281546001600160a01b031916179055565b6001600160a01b038216610b4e5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161009b565b306001600160a01b03831603610bbd5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b606482015260840161009b565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b03169291610c0c9161115c565b9050808214610cfe576001600160a01b03841660009081526001860160205260408120805483908110610c4157610c41610eb6565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610c9257610c92610eb6565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b03841660009081526001860160205260409020805480610d2757610d27611173565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319851682528690526040812081905581900361050c576002850154600090610d8a9060019061115c565b6001600160a01b0386166000908152600180890160205260409091200154909150808214610e39576000876002018381548110610dc957610dc9610eb6565b6000918252602090912001546002890180546001600160a01b039092169250829184908110610dfa57610dfa610eb6565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480610e4c57610e4c611173565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b81816107b55760405162461bcd60e51b815260040161009b9190611142565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f0a57610f0a610ee2565b5060010190565b60005b83811015610f2c578181015183820152602001610f14565b838111156107b55750506000910152565b60008151808452610f55816020860160208601610f11565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b8481101561103957898403607f19018652815180516001600160a01b03168552838101518986019060038110610fd857634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156110245783516001600160e01b0319168252928601926001929092019190860190610ffa565b50978501979550505090820190600101610f92565b50506001600160a01b038a1690880152868103604088015261105b8189610f3d565b9a9950505050505050505050565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201526a1858d95d081d1bc818dd5d60aa1b606082015260800190565b6020808252602c908201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260408201526b65206164647265737328302960a01b606082015260800190565b60006001600160601b0380831681810361111c5761111c610ee2565b6001019392505050565b60008251611138818460208701610f11565b9190910192915050565b6020815260006111556020830184610f3d565b9392505050565b60008282101561116e5761116e610ee2565b500390565b634e487b7160e01b600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220c034f7ab8e1ce5992f780579cf598248628425d4398082105690ab9d276bdc9264736f6c634300080d0033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e20660000000000000000000000008d46fd7160940d89da026d59b2e819208e714e82000000000000000000000000a1534b5f57a0f48f8e060979923de7b407c1a323000000000000000000000000385eeac5cb85a38a9a07a70c73e0a3271cfb54a700000000000000000000000086935f11c86623dec8a25696e1c19a8659cbf95d0000000000000000000000009f6bcc63e86d44c46e85564e9383e650dc0b56d7
Deployed Bytecode
0x60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b0316806100a45760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100c3573d6000f35b3d6000fd5b60006100d2610373565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156102ee57600084828151811061014857610148610eb6565b60200260200101516020015190506000600281111561016957610169610ecc565b81600281111561017b5761017b610ecc565b036101c9576101c485838151811061019557610195610eb6565b6020026020010151600001518684815181106101b3576101b3610eb6565b602002602001015160400151610397565b6102db565b60018160028111156101dd576101dd610ecc565b03610226576101c48583815181106101f7576101f7610eb6565b60200260200101516000015186848151811061021557610215610eb6565b602002602001015160400151610513565b600281600281111561023a5761023a610ecc565b03610283576101c485838151811061025457610254610eb6565b60200260200101516000015186848151811061027257610272610eb6565b6020026020010151604001516106a0565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b606482015260840161009b565b50806102e681610ef8565b91505061012b565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161032293929190610f69565b60405180910390a161033482826107bb565b505050565b6000610343610373565b6001600160e01b0319909216600090815260039092016020525060409020805460ff19166001179055565b600090565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60008151116103b85760405162461bcd60e51b815260040161009b90611069565b60006103c2610373565b90506001600160a01b0383166103ea5760405162461bcd60e51b815260040161009b906110b4565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036104205761042082856109c8565b60005b835181101561050c57600084828151811061044057610440610eb6565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156104de5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b606482015260840161009b565b6104ea8583868a610a32565b836104f481611100565b9450505050808061050490610ef8565b915050610423565b5050505050565b60008151116105345760405162461bcd60e51b815260040161009b90611069565b600061053e610373565b90506001600160a01b0383166105665760405162461bcd60e51b815260040161009b906110b4565b6001600160a01b0383166000908152600182016020526040812054906001600160601b038216900361059c5761059c82856109c8565b60005b835181101561050c5760008482815181106105bc576105bc610eb6565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036106675760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161009b565b610672858284610ad2565b61067e8583868a610a32565b8361068881611100565b9450505050808061069890610ef8565b91505061059f565b60008151116106c15760405162461bcd60e51b815260040161009b90611069565b60006106cb610373565b90506001600160a01b038316156107435760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b606482015260840161009b565b60005b82518110156107b557600083828151811061076357610763610eb6565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b03166107a0848284610ad2565b505080806107ad90610ef8565b915050610746565b50505050565b6001600160a01b0382166108425780511561083e5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606482015260840161009b565b5050565b60008151116108b95760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606482015260840161009b565b6001600160a01b03821630146108eb576108eb8260405180606001604052806028815260200161118a60289139610e95565b600080836001600160a01b0316836040516109069190611126565b600060405180830381855af49150503d8060008114610941576040519150601f19603f3d011682016040523d82523d6000602084013e610946565b606091505b5091509150816107b557805115610971578060405162461bcd60e51b815260040161009b9190611142565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b606482015260840161009b565b6109ea816040518060600160405280602481526020016111b260249139610e95565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160e01b0319831660008181526020868152604080832080546001600160601b03909716600160a01b026001600160a01b0397881617815594909516808352600180890183529583208054968701815583528183206008870401805460e09890981c60046007909816979097026101000a96870263ffffffff9097021990971695909517909555529290915281546001600160a01b031916179055565b6001600160a01b038216610b4e5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161009b565b306001600160a01b03831603610bbd5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b606482015260840161009b565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b03169291610c0c9161115c565b9050808214610cfe576001600160a01b03841660009081526001860160205260408120805483908110610c4157610c41610eb6565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610c9257610c92610eb6565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b03841660009081526001860160205260409020805480610d2757610d27611173565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319851682528690526040812081905581900361050c576002850154600090610d8a9060019061115c565b6001600160a01b0386166000908152600180890160205260409091200154909150808214610e39576000876002018381548110610dc957610dc9610eb6565b6000918252602090912001546002890180546001600160a01b039092169250829184908110610dfa57610dfa610eb6565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480610e4c57610e4c611173565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b81816107b55760405162461bcd60e51b815260040161009b9190611142565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f0a57610f0a610ee2565b5060010190565b60005b83811015610f2c578181015183820152602001610f14565b838111156107b55750506000910152565b60008151808452610f55816020860160208601610f11565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b8481101561103957898403607f19018652815180516001600160a01b03168552838101518986019060038110610fd857634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156110245783516001600160e01b0319168252928601926001929092019190860190610ffa565b50978501979550505090820190600101610f92565b50506001600160a01b038a1690880152868103604088015261105b8189610f3d565b9a9950505050505050505050565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201526a1858d95d081d1bc818dd5d60aa1b606082015260800190565b6020808252602c908201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260408201526b65206164647265737328302960a01b606082015260800190565b60006001600160601b0380831681810361111c5761111c610ee2565b6001019392505050565b60008251611138818460208701610f11565b9190910192915050565b6020815260006111556020830184610f3d565b9392505050565b60008282101561116e5761116e610ee2565b500390565b634e487b7160e01b600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220c034f7ab8e1ce5992f780579cf598248628425d4398082105690ab9d276bdc9264736f6c634300080d0033
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
Loading...
Loading
Loading...
Loading
[ 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.