diff --git a/contracts/Aavegotchi/ForgeDiamond/ForgeDiamond.sol b/contracts/Aavegotchi/ForgeDiamond/ForgeDiamond.sol index e6d51891a..d793bc5e5 100644 --- a/contracts/Aavegotchi/ForgeDiamond/ForgeDiamond.sol +++ b/contracts/Aavegotchi/ForgeDiamond/ForgeDiamond.sol @@ -17,12 +17,16 @@ contract ForgeDiamond { address _contractOwner, address _diamondCutFacet, address _diaomondLoupeFacet, - address _ownershipFacet + address _ownershipFacet, + address _aavegotchiDiamond, + address _wearableDiamond ) { ForgeLibDiamond.setContractOwner(_contractOwner); ForgeLibDiamond.addDiamondFunctions(_diamondCutFacet, _diaomondLoupeFacet, _ownershipFacet); ForgeLibDiamond.DiamondStorage storage ds = ForgeLibDiamond.diamondStorage(); ds.supportedInterfaces[0xd9b67a26] = true; //erc1155 + ds.aavegotchiDiamond = _aavegotchiDiamond; + ds.wearableDiamond = _wearableDiamond; } // Find facet for function that is called and execute the diff --git a/contracts/Aavegotchi/ForgeDiamond/facets/ForgeFacet.sol b/contracts/Aavegotchi/ForgeDiamond/facets/ForgeFacet.sol index d69d0c57e..88ce8113c 100644 --- a/contracts/Aavegotchi/ForgeDiamond/facets/ForgeFacet.sol +++ b/contracts/Aavegotchi/ForgeDiamond/facets/ForgeFacet.sol @@ -45,24 +45,24 @@ contract ForgeFacet is Modifiers { } // External contracts - function aavegotchiGameFacet() internal pure returns (AavegotchiGameFacet facet) { - facet = AavegotchiGameFacet(ForgeLibDiamond.AAVEGOTCHI_DIAMOND); + function aavegotchiGameFacet() internal view returns (AavegotchiGameFacet facet) { + facet = AavegotchiGameFacet(ForgeLibDiamond.aavegotchiDiamond()); } - function aavegotchiFacet() internal pure returns (AavegotchiFacet facet) { - facet = AavegotchiFacet(ForgeLibDiamond.AAVEGOTCHI_DIAMOND); + function aavegotchiFacet() internal view returns (AavegotchiFacet facet) { + facet = AavegotchiFacet(ForgeLibDiamond.aavegotchiDiamond()); } - function itemsFacet() internal pure returns (ItemsFacet facet) { - facet = ItemsFacet(ForgeLibDiamond.AAVEGOTCHI_DIAMOND); + function itemsFacet() internal view returns (ItemsFacet facet) { + facet = ItemsFacet(ForgeLibDiamond.aavegotchiDiamond()); } - function wearablesFacet() internal pure returns (WearablesFacet facet) { - facet = WearablesFacet(ForgeLibDiamond.WEARABLE_DIAMOND); + function wearablesFacet() internal view returns (WearablesFacet facet) { + facet = WearablesFacet(ForgeLibDiamond.wearableDiamond()); } - function lendingGetterAndSetterFacet() internal pure returns (LendingGetterAndSetterFacet facet) { - facet = LendingGetterAndSetterFacet(ForgeLibDiamond.AAVEGOTCHI_DIAMOND); + function lendingGetterAndSetterFacet() internal view returns (LendingGetterAndSetterFacet facet) { + facet = LendingGetterAndSetterFacet(ForgeLibDiamond.aavegotchiDiamond()); } function gltrContract() internal view returns (IERC20 token) { @@ -287,11 +287,7 @@ contract ForgeFacet is Modifiers { } } - function _forge( - uint256 itemId, - uint256 gotchiId, - uint40 _gltr - ) internal onlyAavegotchiOwner(gotchiId) onlyAavegotchiUnlocked(gotchiId) { + function _forge(uint256 itemId, uint256 gotchiId, uint40 _gltr) internal onlyAavegotchiOwner(gotchiId) onlyAavegotchiUnlocked(gotchiId) { require(!s.gotchiForging[gotchiId].isForging, "ForgeFacet: Aavegotchi already forging"); address sender = LibMeta.msgSender(); @@ -402,7 +398,7 @@ contract ForgeFacet is Modifiers { uint40 blockLeft = queueItem.readyBlock - uint40(block.number); uint40 removeBlocks = _amounts[i] <= blockLeft ? _amounts[i] : blockLeft; - uint256 burnAmount = uint256(removeBlocks) * 10**18; + uint256 burnAmount = uint256(removeBlocks) * 10 ** 18; require( gltrContract().transferFrom(msg.sender, 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF, burnAmount), @@ -450,11 +446,7 @@ contract ForgeFacet is Modifiers { } } - function forgeWearables( - uint256[] calldata _itemIds, - uint256[] calldata _gotchiIds, - uint40[] calldata _gltr - ) external whenNotPaused { + function forgeWearables(uint256[] calldata _itemIds, uint256[] calldata _gotchiIds, uint40[] calldata _gltr) external whenNotPaused { require(_itemIds.length == _gotchiIds.length && _gotchiIds.length == _gltr.length, "ForgeFacet: mismatched array lengths"); for (uint256 i; i < _itemIds.length; i++) { @@ -474,10 +466,8 @@ contract ForgeFacet is Modifiers { // @notice Allow Aavegotchi diamond to mint essence. // @dev Only called from CollateralFacet's decreaseAndDestroy function. Not including a whenNotPaused modifier // here to avoid impacts to aavegotchi sacrifice functionality. - function mintEssence( - address owner /*uint256 gotchiId*/ - ) external { - require(LibMeta.msgSender() == ForgeLibDiamond.AAVEGOTCHI_DIAMOND, "ForgeFacet: Can only be called by Aavegotchi Diamond"); + function mintEssence(address owner /*uint256 gotchiId*/) external { + require(LibMeta.msgSender() == ForgeLibDiamond.aavegotchiDiamond(), "ForgeFacet: Can only be called by Aavegotchi Diamond"); // require(aavegotchiFacet.ownerOf(gotchiId) == address(0), "ForgeFacet: Aavegotchi not sacrificed"); _mintItem(owner, ESSENCE, 1000); @@ -521,31 +511,19 @@ contract ForgeFacet is Modifiers { } } - function _mintItem( - address account, - uint256 id, - uint256 amount - ) internal { + function _mintItem(address account, uint256 id, uint256 amount) internal { // mint doesnt exceed max supply // require(totalSupply(id) + amount <= s.maxSupplyByToken[id], "ForgeFacet: mint would exceed max supply"); _mint(account, id, amount); } - function adminMint( - address account, - uint256 id, - uint256 amount - ) external onlyDaoOrOwner { + function adminMint(address account, uint256 id, uint256 amount) external onlyDaoOrOwner { // mint doesnt exceed max supply // require(totalSupply(id) + amount <= s.maxSupplyByToken[id], "ForgeFacet: mint would exceed max supply"); _mint(account, id, amount); } - function adminMintBatch( - address to, - uint256[] memory ids, - uint256[] memory amounts - ) external onlyDaoOrOwner { + function adminMintBatch(address to, uint256[] memory ids, uint256[] memory amounts) external onlyDaoOrOwner { // mint doesnt exceed max supply // require(totalSupply(id) + amount <= s.maxSupplyByToken[id], "ForgeFacet: mint would exceed max supply"); _mintBatch(to, ids, amounts); @@ -567,11 +545,7 @@ contract ForgeFacet is Modifiers { // function _mintBatchItems(address to, uint256[] memory ids, uint256[] memory amounts) internal { // _mintBatch(to, ids, amounts, ""); // } - function _burnItem( - address account, - uint256 id, - uint256 amount - ) internal { + function _burnItem(address account, uint256 id, uint256 amount) internal { _burn(account, id, amount); } @@ -603,11 +577,7 @@ contract ForgeFacet is Modifiers { emit TransferBatch(msg.sender, address(0), to, ids, amounts); } - function _burn( - address from, - uint256 id, - uint256 amount - ) internal virtual { + function _burn(address from, uint256 id, uint256 amount) internal virtual { require(from != address(0), "ForgeTokenFacet: burn from the zero address"); uint256 fromBalance = s._balances[id][from]; @@ -619,11 +589,7 @@ contract ForgeFacet is Modifiers { emit TransferSingle(msg.sender, from, address(0), id, amount); } - function _burnBatch( - address from, - uint256[] memory ids, - uint256[] memory amounts - ) internal virtual { + function _burnBatch(address from, uint256[] memory ids, uint256[] memory amounts) internal virtual { require(from != address(0), "ForgeTokenFacet: burn from the zero address"); require(ids.length == amounts.length, "ForgeTokenFacet: ids and amounts length mismatch"); diff --git a/contracts/Aavegotchi/ForgeDiamond/libraries/ForgeLibDiamond.sol b/contracts/Aavegotchi/ForgeDiamond/libraries/ForgeLibDiamond.sol index cc45bb049..a281b2284 100644 --- a/contracts/Aavegotchi/ForgeDiamond/libraries/ForgeLibDiamond.sol +++ b/contracts/Aavegotchi/ForgeDiamond/libraries/ForgeLibDiamond.sol @@ -38,6 +38,7 @@ library ForgeLibDiamond { address contractOwner; //aavegotchi master diamond address address aavegotchiDiamond; + address wearableDiamond; } bytes32 public constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage"); @@ -68,17 +69,21 @@ library ForgeLibDiamond { require(LibMeta.msgSender() == diamondStorage().contractOwner, "LibDiamond: Must be contract owner"); } + function wearableDiamond() internal view returns (address wearableDiamond_) { + wearableDiamond_ = diamondStorage().wearableDiamond; + } + + function aavegotchiDiamond() internal view returns (address aavegotchiDiamond_) { + aavegotchiDiamond_ = diamondStorage().aavegotchiDiamond; + } + function enforceIsDiamond() internal view { - require(msg.sender == AAVEGOTCHI_DIAMOND, "LibDiamond: Caller must be Aavegotchi Diamond"); + require(msg.sender == diamondStorage().aavegotchiDiamond, "LibDiamond: Caller must be Aavegotchi Diamond"); } event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata); - function addDiamondFunctions( - address _diamondCutFacet, - address _diamondLoupeFacet, - address _ownershipFacet - ) internal { + function addDiamondFunctions(address _diamondCutFacet, address _diamondLoupeFacet, address _ownershipFacet) internal { IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](3); bytes4[] memory functionSelectors = new bytes4[](1); functionSelectors[0] = IDiamondCut.diamondCut.selector; @@ -102,11 +107,7 @@ library ForgeLibDiamond { } // Internal function version of diamondCut - function diamondCut( - IDiamondCut.FacetCut[] memory _diamondCut, - address _init, - bytes memory _calldata - ) internal { + 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) { diff --git a/contracts/Aavegotchi/WearableDiamond/WearableDiamond.sol b/contracts/Aavegotchi/WearableDiamond/WearableDiamond.sol index 02529c5d4..b3c08fc6a 100644 --- a/contracts/Aavegotchi/WearableDiamond/WearableDiamond.sol +++ b/contracts/Aavegotchi/WearableDiamond/WearableDiamond.sol @@ -13,16 +13,12 @@ import {DiamondLoupeFacet} from "../../shared/facets/DiamondLoupeFacet.sol"; import {OwnershipFacet} from "../../shared/facets/OwnershipFacet.sol"; contract WearableDiamond { - constructor( - address _contractOwner, - address _diamondCutFacet, - address _diaomondLoupeFacet, - address _ownershipFacet - ) { + constructor(address _contractOwner, address _diamondCutFacet, address _diaomondLoupeFacet, address _ownershipFacet, address _aavegotchiDiamond) { WearableLibDiamond.setContractOwner(_contractOwner); WearableLibDiamond.addDiamondFunctions(_diamondCutFacet, _diaomondLoupeFacet, _ownershipFacet); WearableLibDiamond.DiamondStorage storage ds = WearableLibDiamond.diamondStorage(); ds.supportedInterfaces[0xd9b67a26] = true; //erc1155 + ds.aavegotchiDiamond = _aavegotchiDiamond; } // Find facet for function that is called and execute the diff --git a/contracts/Aavegotchi/WearableDiamond/facets/WearablesFacet.sol b/contracts/Aavegotchi/WearableDiamond/facets/WearablesFacet.sol index c4c73f350..2a25345c0 100644 --- a/contracts/Aavegotchi/WearableDiamond/facets/WearablesFacet.sol +++ b/contracts/Aavegotchi/WearableDiamond/facets/WearablesFacet.sol @@ -9,16 +9,16 @@ import {ItemsFacet} from "../../facets/ItemsFacet.sol"; import {AavegotchiFacet} from "../../facets/AavegotchiFacet.sol"; contract WearablesFacet { - function periphery() internal pure returns (PeripheryFacet pFacet) { - pFacet = PeripheryFacet(WearableLibDiamond.AAVEGOTCHI_DIAMOND); + function periphery() internal view returns (PeripheryFacet pFacet) { + pFacet = PeripheryFacet(WearableLibDiamond.aavegotchiDiamond()); } - function itemsFacet() internal pure returns (ItemsFacet iFacet) { - iFacet = ItemsFacet(WearableLibDiamond.AAVEGOTCHI_DIAMOND); + function itemsFacet() internal view returns (ItemsFacet iFacet) { + iFacet = ItemsFacet(WearableLibDiamond.aavegotchiDiamond()); } - function aavegotchiFacet() internal pure returns (AavegotchiFacet aFacet) { - aFacet = AavegotchiFacet(WearableLibDiamond.AAVEGOTCHI_DIAMOND); + function aavegotchiFacet() internal view returns (AavegotchiFacet aFacet) { + aFacet = AavegotchiFacet(WearableLibDiamond.aavegotchiDiamond()); } //READ @@ -39,7 +39,7 @@ contract WearablesFacet { approved_ = aavegotchiFacet().isApprovedForAll(_owner, _operator); } - function tokenURI(uint256 _tokenId) external pure returns (string memory) { + function tokenURI(uint256 _tokenId) external view returns (string memory) { return aavegotchiFacet().tokenURI(_tokenId); } @@ -65,25 +65,13 @@ contract WearablesFacet { } } - function safeTransferFrom( - address _from, - address _to, - uint256 _id, - uint256 _value, - bytes calldata _data - ) external { + function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes calldata _data) external { periphery().peripherySafeTransferFrom(msg.sender, _from, _to, _id, _value, _data); //emit event LibEventHandler._receiveAndEmitTransferSingleEvent(msg.sender, _from, _to, _id, _value); } - function safeBatchTransferFrom( - address _from, - address _to, - uint256[] calldata _ids, - uint256[] calldata _values, - bytes calldata _data - ) external { + function safeBatchTransferFrom(address _from, address _to, uint256[] calldata _ids, uint256[] calldata _values, bytes calldata _data) external { periphery().peripherySafeBatchTransferFrom(msg.sender, _from, _to, _ids, _values, _data); //emit event LibEventHandler._receiveAndEmitTransferBatchEvent(msg.sender, _from, _to, _ids, _values); diff --git a/contracts/Aavegotchi/WearableDiamond/libraries/WearableLibDiamond.sol b/contracts/Aavegotchi/WearableDiamond/libraries/WearableLibDiamond.sol index ceb24320e..63041139b 100644 --- a/contracts/Aavegotchi/WearableDiamond/libraries/WearableLibDiamond.sol +++ b/contracts/Aavegotchi/WearableDiamond/libraries/WearableLibDiamond.sol @@ -67,17 +67,17 @@ library WearableLibDiamond { require(LibMeta.msgSender() == diamondStorage().contractOwner, "LibDiamond: Must be contract owner"); } + function aavegotchiDiamond() internal view returns (address aavegotchiDiamond_) { + aavegotchiDiamond_ = diamondStorage().aavegotchiDiamond; + } + function enforceIsDiamond() internal view { - require(msg.sender == AAVEGOTCHI_DIAMOND, "LibDiamond: Caller must be Aavegotchi Diamond"); + require(msg.sender == diamondStorage().aavegotchiDiamond, "LibDiamond: Caller must be Aavegotchi Diamond"); } event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata); - function addDiamondFunctions( - address _diamondCutFacet, - address _diamondLoupeFacet, - address _ownershipFacet - ) internal { + function addDiamondFunctions(address _diamondCutFacet, address _diamondLoupeFacet, address _ownershipFacet) internal { IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](3); bytes4[] memory functionSelectors = new bytes4[](1); functionSelectors[0] = IDiamondCut.diamondCut.selector; @@ -101,11 +101,7 @@ library WearableLibDiamond { } // Internal function version of diamondCut - function diamondCut( - IDiamondCut.FacetCut[] memory _diamondCut, - address _init, - bytes memory _calldata - ) internal { + 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) { diff --git a/contracts/Aavegotchi/facets/AavegotchiFacet.sol b/contracts/Aavegotchi/facets/AavegotchiFacet.sol index 149228bec..238927919 100644 --- a/contracts/Aavegotchi/facets/AavegotchiFacet.sol +++ b/contracts/Aavegotchi/facets/AavegotchiFacet.sol @@ -4,7 +4,7 @@ pragma solidity 0.8.1; import {LibAavegotchi, AavegotchiInfo} from "../libraries/LibAavegotchi.sol"; import {LibStrings} from "../../shared/libraries/LibStrings.sol"; -import {AppStorage, Modifiers} from "../libraries/LibAppStorage.sol"; +import {AppStorage, Modifiers, Aavegotchi} from "../libraries/LibAppStorage.sol"; import {LibGotchiLending} from "../libraries/LibGotchiLending.sol"; // import "hardhat/console.sol"; import {LibMeta} from "../../shared/libraries/LibMeta.sol"; @@ -40,6 +40,13 @@ contract AavegotchiFacet is Modifiers { aavegotchiInfo_ = LibAavegotchi.getAavegotchi(_tokenId); } + ///@notice Query details relating to an NFT + ///@param _tokenId the identifier of the NFT to query + ///@return aavegotchi_ an Aavegotchi struct containing details about the aavegotchi + function getAavegotchiData(uint256 _tokenId) external view returns (Aavegotchi memory aavegotchi_) { + aavegotchi_ = s.aavegotchis[_tokenId]; + } + ///@notice returns the time an NFT was claimed ///@dev will return 0 if the NFT is still an unclaimed portal ///@param _tokenId the identifier of the NFT diff --git a/contracts/Aavegotchi/facets/AavegotchiGameFacet.sol b/contracts/Aavegotchi/facets/AavegotchiGameFacet.sol index e0541304a..13ea33229 100644 --- a/contracts/Aavegotchi/facets/AavegotchiGameFacet.sol +++ b/contracts/Aavegotchi/facets/AavegotchiGameFacet.sol @@ -13,6 +13,10 @@ import {CollateralEscrow} from "../CollateralEscrow.sol"; import {LibMeta} from "../../shared/libraries/LibMeta.sol"; import {LibERC721Marketplace} from "../libraries/LibERC721Marketplace.sol"; +import {LibGotchiLending} from "../libraries/LibGotchiLending.sol"; + +import {LibBitmapHelpers} from "../libraries/LibBitmapHelpers.sol"; + contract AavegotchiGameFacet is Modifiers { /// @dev This emits when the approved address for an NFT is changed or /// reaffirmed. The zero address indicates there is no approved address. @@ -301,11 +305,6 @@ contract AavegotchiGameFacet is Modifiers { s.realmAddress = _realm; } - function realmInteract(uint256 _tokenId) external { - require(msg.sender == s.realmAddress, "AavegotchiGamefacet: Not RealmAddress"); - LibAavegotchi.interact(_tokenId); - } - ///@notice Allow the owner of an NFT to spend skill points for it(basically to boost the numeric traits of that NFT) ///@dev only valid for claimed aavegotchis ///@param _tokenId The identifier of the NFT to spend the skill points on @@ -328,4 +327,37 @@ contract AavegotchiGameFacet is Modifiers { function isAavegotchiLocked(uint256 _tokenId) external view returns (bool isLocked) { isLocked = s.aavegotchis[_tokenId].locked; } + + ///@notice Allow the current owner/borrower of an NFT to reduce kinship while channelling alchemica + ///@dev will revert if the gotchi kinship is too low to channel or if the lending listing does not enable channeling + ///@param _gotchiId Id of the Gotchi used to channel + function reduceKinshipViaChanneling(uint32 _gotchiId) external { + //only realmDiamond can reduce kinship + require(msg.sender == s.realmAddress, "GotchiLending: Only Realm can reduce kinship via channeling"); + //no need to do checks on _gotchiId since realmDiamond handles that + //first check if aavegotchi is lent + if (LibGotchiLending.isAavegotchiLent(_gotchiId)) { + //short-circuit here + uint32 listingId = s.aavegotchiToListingId[_gotchiId]; + if (LibBitmapHelpers.getValueInByte(0, s.gotchiLendings[listingId].permissions) == 0) { + revert("This listing has no permissions set"); + } + + //check if channelling is allowed for the listing + //check that the modifier is at least 1 + //more checks can be introduced if more modifiers are added + if (LibBitmapHelpers.getValueInByte(0, s.gotchiLendings[listingId].permissions) > 0) { + //more checks can be introduced here as different permissions are added + LibAavegotchi._reduceAavegotchiKinship(_gotchiId, 2); + } else { + revert("Channeling not enabled by listing owner"); + } + } + //if aavegotchi is not lent + else { + LibAavegotchi._reduceAavegotchiKinship(_gotchiId, 2); + } + + LibAavegotchi.interact(_gotchiId); + } } diff --git a/contracts/Aavegotchi/facets/DAOFacet.sol b/contracts/Aavegotchi/facets/DAOFacet.sol index 52eda95e0..b7e6470e3 100644 --- a/contracts/Aavegotchi/facets/DAOFacet.sol +++ b/contracts/Aavegotchi/facets/DAOFacet.sol @@ -31,6 +31,8 @@ contract DAOFacet is Modifiers { event ItemModifiersSet(uint256 _wearableId, int8[6] _traitModifiers, uint8 _rarityScoreModifier); event RemoveExperience(uint256[] _tokenIds, uint256[] _xpValues); event UpdateItemPrice(uint256 _itemId, uint256 _priceInWei); + event LayerZeroBridgeAdded(address _newLayerZeroBridge); + event LayerZeroBridgeRemoved(address _layerZeroBridgeToRemove); /***********************************| | Read Functions | @@ -91,7 +93,7 @@ contract DAOFacet is Modifiers { //First handle global collateralTypes array uint256 index = s.collateralTypeIndexes[newCollateralType]; - bool collateralExists = index > 0 || s.collateralTypes[0] == newCollateralType; + bool collateralExists = index > 0 || ((s.collateralTypes.length > 0) && (s.collateralTypes[0] == newCollateralType)); if (!collateralExists) { s.collateralTypes.push(newCollateralType); @@ -417,4 +419,18 @@ contract DAOFacet is Modifiers { emit UpdateItemPrice(itemId, _newPrices[i]); } } + + ///@notice Allow the DAO to add an address as a Layer Zero bridge + ///@param _newLayerZeroBridge The address to be added as Layer Zero bridge + function addLayerZeroBridgeAddress(address _newLayerZeroBridge) external onlyDaoOrOwner { + s.layerZeroBridgeAddresses[_newLayerZeroBridge] = true; + emit LayerZeroBridgeAdded(_newLayerZeroBridge); + } + + ///@notice Allow the DAO to remove an address that was an Layer Zero bridge + ///@param _layerZeroBridgeToRemove The address to be removed fron being a Layer Zero bridge + function removeLayerZeroBridgeAddress(address _layerZeroBridgeToRemove) external onlyDaoOrOwner { + s.layerZeroBridgeAddresses[_layerZeroBridgeToRemove] = false; + emit LayerZeroBridgeRemoved(_layerZeroBridgeToRemove); + } } diff --git a/contracts/Aavegotchi/facets/GotchiLendingFacet.sol b/contracts/Aavegotchi/facets/GotchiLendingFacet.sol index 26a8a6dad..be8dea3f8 100644 --- a/contracts/Aavegotchi/facets/GotchiLendingFacet.sol +++ b/contracts/Aavegotchi/facets/GotchiLendingFacet.sol @@ -26,6 +26,7 @@ contract GotchiLendingFacet is Modifiers { address thirdParty; uint32 whitelistId; address[] revenueTokens; + uint256 permissions; } ///@notice Allow an aavegotchi lender (msg sender) or their lending operator to add request for lending @@ -45,7 +46,8 @@ contract GotchiLendingFacet is Modifiers { originalOwner: p.originalOwner, thirdParty: p.thirdParty, whitelistId: p.whitelistId, - revenueTokens: p.revenueTokens + revenueTokens: p.revenueTokens, + permissions: p.permissions }); LibGotchiLending._addGotchiLending(addLendingStruct); } @@ -140,7 +142,8 @@ contract GotchiLendingFacet is Modifiers { address _originalOwner, address _thirdParty, uint32 _whitelistId, - address[] calldata _revenueTokens + address[] calldata _revenueTokens, + uint256 _permissions ) external { uint8[3] memory revenueSplit = _revenueSplit; address[] memory revenueTokens = _revenueTokens; @@ -152,7 +155,8 @@ contract GotchiLendingFacet is Modifiers { originalOwner: _originalOwner, thirdParty: _thirdParty, whitelistId: _whitelistId, - revenueTokens: revenueTokens + revenueTokens: revenueTokens, + permissions: _permissions }); addGotchiListing(listing); } @@ -176,7 +180,8 @@ contract GotchiLendingFacet is Modifiers { originalOwner: lending.originalOwner, thirdParty: lending.thirdParty, whitelistId: lending.whitelistId, - revenueTokens: lending.revenueTokens + revenueTokens: lending.revenueTokens, + permissions: lending.permissions }) ); } diff --git a/contracts/Aavegotchi/facets/LendingGetterAndSetterFacet.sol b/contracts/Aavegotchi/facets/LendingGetterAndSetterFacet.sol index d69dde8da..a4d2b5b30 100644 --- a/contracts/Aavegotchi/facets/LendingGetterAndSetterFacet.sol +++ b/contracts/Aavegotchi/facets/LendingGetterAndSetterFacet.sol @@ -7,6 +7,8 @@ import {Modifiers, GotchiLending} from "../libraries/LibAppStorage.sol"; import {LibMeta} from "../../shared/libraries/LibMeta.sol"; import {IERC20} from "../../shared/interfaces/IERC20.sol"; +import {LibBitmapHelpers} from "../libraries/LibBitmapHelpers.sol"; + contract LendingGetterAndSetterFacet is Modifiers { event LendingOperatorSet(address indexed lender, address indexed lendingOperator, uint32 indexed tokenId, bool isLendingOperator); @@ -204,4 +206,21 @@ contract LendingGetterAndSetterFacet is Modifiers { function isAavegotchiListed(uint32 _erc721TokenId) external view returns (bool) { return LibGotchiLending.isAavegotchiListed(_erc721TokenId); } + + function getLendingPermissionBitmap(uint32 _listingId) external view returns (uint256) { + return s.gotchiLendings[_listingId].permissions; + } + + function getAllLendingPermissions(uint32 _listingId) external view returns (uint8[32] memory permissions_) { + permissions_ = LibBitmapHelpers.getAllNumbers(s.gotchiLendings[_listingId].permissions); + } + + function getLendingPermissionModifier(uint32 _listingId, uint8 _permissionIndex) public view returns (uint8) { + return LibBitmapHelpers.getValueInByte(_permissionIndex, s.gotchiLendings[_listingId].permissions); + } + + //simple check to see if a lending listing permission is set to none + function lendingPermissionSetToNone(uint32 _listingId) public view returns (bool) { + return getLendingPermissionModifier(_listingId, 0) == 0; + } } diff --git a/contracts/Aavegotchi/facets/MerkleDropFacet.sol b/contracts/Aavegotchi/facets/MerkleDropFacet.sol index 26ddf9600..0aed28461 100644 --- a/contracts/Aavegotchi/facets/MerkleDropFacet.sol +++ b/contracts/Aavegotchi/facets/MerkleDropFacet.sol @@ -16,9 +16,10 @@ contract MerkleDropFacet is Modifiers { address _claimer, uint256[] calldata _gotchiId, bytes32[] calldata _proof, - uint256[] calldata _onlyGotchis + uint256[] calldata _onlyGotchis, + uint256[] calldata _onlyGotchisPositions ) external { - LibXPAllocation._claimXPDrop(_propId, _claimer, _gotchiId, _proof, _onlyGotchis); + LibXPAllocation._claimXPDrop(_propId, _claimer, _gotchiId, _proof, _onlyGotchis, _onlyGotchisPositions); } //claim for multiple addresses for one particular drop @@ -28,11 +29,12 @@ contract MerkleDropFacet is Modifiers { address[] calldata _claimers, uint256[][] calldata _gotchiIds, bytes32[][] calldata _proofs, - uint256[][] calldata _onlyGotchis + uint256[][] calldata _onlyGotchis, + uint256[][] calldata _onlyGotchisPositions ) external { if (_claimers.length != _gotchiIds.length || _gotchiIds.length != _proofs.length) revert("ArrayLengthMismatch"); for (uint256 i; i < _gotchiIds.length; i++) { - LibXPAllocation._claimXPDrop(_propId, _claimers[i], _gotchiIds[i], _proofs[i], _onlyGotchis[i]); + LibXPAllocation._claimXPDrop(_propId, _claimers[i], _gotchiIds[i], _proofs[i], _onlyGotchis[i], _onlyGotchisPositions[i]); } } @@ -43,12 +45,13 @@ contract MerkleDropFacet is Modifiers { address[] calldata _claimers, uint256[][] calldata _gotchiIds, bytes32[][] calldata _proofs, - uint256[][] calldata _onlyGotchis + uint256[][] calldata _onlyGotchis, + uint256[][] calldata _onlyGotchisPositions ) external { if (_propIds.length != _gotchiIds.length || _claimers.length != _gotchiIds.length || _gotchiIds.length != _proofs.length) revert("ArrayLengthMismatch"); for (uint256 i; i < _propIds.length; i++) { - LibXPAllocation._claimXPDrop(_propIds[i], _claimers[i], _gotchiIds[i], _proofs[i], _onlyGotchis[i]); + LibXPAllocation._claimXPDrop(_propIds[i], _claimers[i], _gotchiIds[i], _proofs[i], _onlyGotchis[i], _onlyGotchisPositions[i]); } } diff --git a/contracts/Aavegotchi/facets/PolygonXGotchichainBridgeFacet.sol b/contracts/Aavegotchi/facets/PolygonXGotchichainBridgeFacet.sol new file mode 100644 index 000000000..5da67b203 --- /dev/null +++ b/contracts/Aavegotchi/facets/PolygonXGotchichainBridgeFacet.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.1; + +import {Aavegotchi} from "../libraries/LibAppStorage.sol"; +import {Modifiers} from "../libraries/LibAppStorage.sol"; +import {LibItems} from "../libraries/LibItems.sol"; + +contract PolygonXGotchichainBridgeFacet is Modifiers { + + function setAavegotchiMetadata(uint _id, Aavegotchi memory _aavegotchi) external onlyLayerZeroBridge { + s.aavegotchis[_id] = _aavegotchi; + for (uint i; i < _aavegotchi.equippedWearables.length; i++) { + if (_aavegotchi.equippedWearables[i] != 0) { + uint wearableId = _aavegotchi.equippedWearables[i]; + LibItems.addToParent(address(this), _id, wearableId, 1); + } + } + } + + function mintWithId(address _toAddress, uint _tokenId) external onlyLayerZeroBridge() { + s.aavegotchis[_tokenId].owner = _toAddress; + s.tokenIds.push(uint32(_tokenId)); + s.ownerTokenIdIndexes[_toAddress][_tokenId] = s.ownerTokenIds[_toAddress].length; + s.ownerTokenIds[_toAddress].push(uint32(_tokenId)); + } + + function removeItemsFromOwner(address _owner, uint256[] calldata _tokenIds, uint256[] calldata _tokenAmounts) external onlyLayerZeroBridge() { + for (uint256 i; i < _tokenIds.length; i++) { + uint256 tokenId = _tokenIds[i]; + uint256 tokenAmount = _tokenAmounts[i]; + LibItems.removeFromOwner(_owner, tokenId, tokenAmount); + } + } + + + function addItemsToOwner(address _owner, uint256[] calldata _tokenIds, uint256[] calldata _tokenAmounts) external onlyLayerZeroBridge() { + for (uint256 i; i < _tokenIds.length; i++) { + uint256 tokenId = _tokenIds[i]; + uint256 tokenAmount = _tokenAmounts[i]; + LibItems.addToOwner(_owner, tokenId, tokenAmount); + } + } + +} diff --git a/contracts/Aavegotchi/libraries/LibAavegotchi.sol b/contracts/Aavegotchi/libraries/LibAavegotchi.sol index 629d6da43..54a918d62 100644 --- a/contracts/Aavegotchi/libraries/LibAavegotchi.sol +++ b/contracts/Aavegotchi/libraries/LibAavegotchi.sol @@ -61,6 +61,7 @@ library LibAavegotchi { uint8 constant STATUS_AAVEGOTCHI = 3; event AavegotchiInteract(uint256 indexed _tokenId, uint256 kinship); + event KinshipBurned(uint256 _tokenId, uint256 _value); function toNumericTraits( uint256 _randomNumber, @@ -364,4 +365,15 @@ library LibAavegotchi { s.ownerTokenIds[_to].push(uint32(_tokenId)); emit LibERC721.Transfer(_from, _to, _tokenId); } + + function _reduceAavegotchiKinship(uint256 _tokenId, uint256 _amount) internal { + AppStorage storage s = LibAppStorage.diamondStorage(); + uint256 currentKinship = s.aavegotchis[_tokenId].interactionCount; + if (_amount > currentKinship) { + revert("Kinship too low to reduce"); + } else { + s.aavegotchis[_tokenId].interactionCount -= _amount; + emit KinshipBurned(_tokenId, s.aavegotchis[_tokenId].interactionCount); + } + } } diff --git a/contracts/Aavegotchi/libraries/LibAppStorage.sol b/contracts/Aavegotchi/libraries/LibAppStorage.sol index 5e651caa3..b357fc035 100644 --- a/contracts/Aavegotchi/libraries/LibAppStorage.sol +++ b/contracts/Aavegotchi/libraries/LibAppStorage.sol @@ -181,6 +181,12 @@ struct GotchiLending { uint32 period; //in seconds // storage slot 5 address[] revenueTokens; + //storage slot 6 + //this is a bitmap value that packs all the permissions of a listing into a single uint256 + //each index represents a permission, therefore 32 indexes,== 32 possible permissions + //index 0 means no permission by default + //indexes can store up to 256 values (0-255), each value representing a modifer for that permission, but we only use 0-9 + uint256 permissions; //0=none, 1=channelling } struct LendingListItem { @@ -333,6 +339,7 @@ struct AppStorage { mapping(address => mapping(uint256 => uint256[])) erc721TokenToBuyOrderIds; // erc721 token address => erc721TokenId => buyOrderIds mapping(address => mapping(uint256 => mapping(uint256 => uint256))) erc721TokenToBuyOrderIdIndexes; // erc721 token address => erc721TokenId => buyOrderId => index mapping(address => mapping(uint256 => mapping(address => uint256))) buyerToBuyOrderId; // erc721 token address => erc721TokenId => sender => buyOrderId + mapping(address => bool) layerZeroBridgeAddresses; } library LibAppStorage { @@ -399,6 +406,15 @@ contract Modifiers { _; } + modifier onlyLayerZeroBridge() { + address sender = LibMeta.msgSender(); + require( + s.layerZeroBridgeAddresses[sender], + "LibAppStorage: Do not have access" + ); + _; + } + modifier onlyPeriphery() { address sender = LibMeta.msgSender(); require(sender == s.wearableDiamond, "LibAppStorage: Not wearable diamond"); diff --git a/contracts/Aavegotchi/libraries/LibBitmapHelpers.sol b/contracts/Aavegotchi/libraries/LibBitmapHelpers.sol new file mode 100644 index 000000000..182b17a44 --- /dev/null +++ b/contracts/Aavegotchi/libraries/LibBitmapHelpers.sol @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.1; + +library LibBitmapHelpers { + function getValueInByte(uint8 index, uint256 bitmap) internal pure returns (uint8) { + require(index < 32, "Invalid index"); // Ensure index is within bounds + //reverse index order + index = 31 - index; + bytes32 bitmapBytes = bytes32(bitmap); + uint8 byteValue = uint8(bitmapBytes[index]); + return byteValue; + } + + function getAllNumbers(uint256 bitmap) internal pure returns (uint8[32] memory) { + uint8[32] memory numbers; + for (uint8 i = 0; i < 32; i++) { + numbers[i] = getValueInByte(i, bitmap); + } + return numbers; + } + + function getSelectedNumbers(uint8[] memory bytePositions, uint256 bitmap) internal pure returns (uint8[] memory) { + uint8[] memory selectedNumbers = new uint8[](bytePositions.length); + + for (uint256 i = 0; i < bytePositions.length; i++) { + selectedNumbers[i] = getValueInByte(bytePositions[i], bitmap); + } + + return selectedNumbers; + } +} diff --git a/contracts/Aavegotchi/libraries/LibGotchiLending.sol b/contracts/Aavegotchi/libraries/LibGotchiLending.sol index 3dd49d491..776c9384f 100644 --- a/contracts/Aavegotchi/libraries/LibGotchiLending.sol +++ b/contracts/Aavegotchi/libraries/LibGotchiLending.sol @@ -11,6 +11,89 @@ import {LibWhitelist} from "./LibWhitelist.sol"; import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol"; import {IRealmDiamond} from "../../shared/interfaces/IRealmDiamond.sol"; +import {LibMeta} from "../../shared/libraries/LibMeta.sol"; + +library LibEventStructContainers { + struct GotchiLendingAdd { + uint32 listingId; + address lender; + uint32 tokenId; + uint96 initialCost; + uint32 period; + uint8[3] revenueSplit; + address originalOwner; + address thirdParty; + uint32 whitelistId; + address[] revenueTokens; + uint256 timeCreated; + uint256 permissions; + } + + struct GotchiLendingExecution { + uint32 listingId; + address lender; + address borrower; + uint32 tokenId; + uint96 initialCost; + uint32 period; + uint8[3] revenueSplit; + address originalOwner; + address thirdParty; + uint32 whitelistId; + address[] revenueTokens; + uint256 timeAgreed; + uint256 permissions; + } + + struct GotchiLendingCancellation { + uint32 listingId; + address lender; + uint32 tokenId; + uint96 initialCost; + uint32 period; + uint8[3] revenueSplit; + address originalOwner; + address thirdParty; + uint32 whitelistId; + address[] revenueTokens; + uint256 timeCancelled; + uint256 permissions; + } + + struct GotchiLendingClaim { + uint32 listingId; + address lender; + address borrower; + uint32 tokenId; + uint96 initialCost; + uint32 period; + uint8[3] revenueSplit; + address originalOwner; + address thirdParty; + uint32 whitelistId; + address[] revenueTokens; + uint256[] amounts; + uint256 timeClaimed; + uint256 permissions; + } + + struct GotchiLendingEnd { + uint32 listingId; + address lender; + address borrower; + uint32 tokenId; + uint96 initialCost; + uint32 period; + uint8[3] revenueSplit; + address originalOwner; + address thirdParty; + uint32 whitelistId; + address[] revenueTokens; + uint256 timeEnded; + uint256 permissions; + } +} + library LibGotchiLending { using EnumerableSet for EnumerableSet.UintSet; @@ -19,75 +102,12 @@ library LibGotchiLending { event GotchiLendingCancel(uint32 indexed listingId, uint256 time); event GotchiLendingClaim(uint32 indexed listingId, address[] tokenAddresses, uint256[] amounts); event GotchiLendingEnd(uint32 indexed listingId); - event GotchiLendingAdded( - uint32 indexed listingId, - address indexed lender, - uint32 indexed tokenId, - uint96 initialCost, - uint32 period, - uint8[3] revenueSplit, - address originalOwner, - address thirdParty, - uint32 whitelistId, - address[] revenueTokens, - uint256 timeCreated - ); - event GotchiLendingExecuted( - uint32 indexed listingId, - address indexed lender, - address indexed borrower, - uint32 tokenId, - uint96 initialCost, - uint32 period, - uint8[3] revenueSplit, - address originalOwner, - address thirdParty, - uint32 whitelistId, - address[] revenueTokens, - uint256 timeAgreed - ); - event GotchiLendingCanceled( - uint32 indexed listingId, - address indexed lender, - uint32 indexed tokenId, - uint96 initialCost, - uint32 period, - uint8[3] revenueSplit, - address originalOwner, - address thirdParty, - uint32 whitelistId, - address[] revenueTokens, - uint256 timeCanceled - ); - event GotchiLendingClaimed( - uint32 indexed listingId, - address indexed lender, - address indexed borrower, - uint32 tokenId, - uint96 initialCost, - uint32 period, - uint8[3] revenueSplit, - address originalOwner, - address thirdParty, - uint32 whitelistId, - address[] revenueTokens, - uint256[] amounts, - uint256 timeClaimed - ); - event GotchiLendingEnded( - uint32 indexed listingId, - address indexed lender, - address indexed borrower, - uint32 tokenId, - uint96 initialCost, - uint32 period, - uint8[3] revenueSplit, - address originalOwner, - address thirdParty, - uint32 whitelistId, - address[] revenueTokens, - uint256 timeEnded - ); + + event GotchiLendingAdded(LibEventStructContainers.GotchiLendingAdd); + event GotchiLendingExecuted(LibEventStructContainers.GotchiLendingExecution); + event GotchiLendingCancelled(LibEventStructContainers.GotchiLendingCancellation); + event GotchiLendingClaimed(LibEventStructContainers.GotchiLendingClaim); + event GotchiLendingEnded(LibEventStructContainers.GotchiLendingEnd); function getListing(uint32 _listingId) internal view returns (GotchiLending memory listing_) { AppStorage storage s = LibAppStorage.diamondStorage(); @@ -116,6 +136,7 @@ library LibGotchiLending { address thirdParty; uint32 whitelistId; address[] revenueTokens; + uint256 permissions; //0 = none, 1 = channelling allowed for borrower } function _addGotchiLending(LibAddGotchiLending memory _listing) internal { @@ -152,24 +173,29 @@ library LibGotchiLending { timeAgreed: 0, lastClaimed: 0, canceled: false, - completed: false + completed: false, + permissions: _listing.permissions }); + addLendingListItem(_listing.lender, listingId, "listed"); s.aavegotchis[_listing.tokenId].locked = true; emit GotchiLendingAdd(listingId); emit GotchiLendingAdded( - listingId, - _listing.lender, - _listing.tokenId, - _listing.initialCost, - _listing.period, - _listing.revenueSplit, - _listing.originalOwner, - _listing.thirdParty, - _listing.whitelistId, - _listing.revenueTokens, - block.timestamp + LibEventStructContainers.GotchiLendingAdd( + listingId, + _listing.lender, + _listing.tokenId, + _listing.initialCost, + _listing.period, + _listing.revenueSplit, + _listing.originalOwner, + _listing.thirdParty, + _listing.whitelistId, + _listing.revenueTokens, + block.timestamp, + _listing.permissions + ) ); } @@ -183,6 +209,7 @@ library LibGotchiLending { ) internal { AppStorage storage s = LibAppStorage.diamondStorage(); GotchiLending storage lending = s.gotchiLendings[_listingId]; + verifyAgreeGotchiLendingParams(_borrower, _listingId, _erc721TokenId, _initialCost, _period, _revenueSplit); // gas savings address lender = lending.lender; @@ -191,7 +218,8 @@ library LibGotchiLending { LibERC20.transferFrom(s.ghstContract, _borrower, lender, _initialCost); } lending.borrower = _borrower; - lending.timeAgreed = uint40(block.timestamp); + uint40 currentTime = uint40(block.timestamp); + lending.timeAgreed = currentTime; removeLendingListItem(lender, _listingId, "listed"); addLendingListItem(lender, _listingId, "agreed"); @@ -221,18 +249,21 @@ library LibGotchiLending { emit GotchiLendingExecute(_listingId); emit GotchiLendingExecuted( - _listingId, - lending.lender, - _borrower, - _erc721TokenId, - lending.initialCost, - lending.period, - lending.revenueSplit, - lending.originalOwner, - lending.thirdParty, - lending.whitelistId, - lending.revenueTokens, - block.timestamp + LibEventStructContainers.GotchiLendingExecution( + _listingId, + lending.lender, + _borrower, + _erc721TokenId, + lending.initialCost, + lending.period, + lending.revenueSplit, + lending.originalOwner, + lending.thirdParty, + lending.whitelistId, + lending.revenueTokens, + currentTime, + lending.permissions + ) ); } @@ -253,18 +284,21 @@ library LibGotchiLending { s.aavegotchiToListingId[lending.erc721TokenId] = 0; emit GotchiLendingCancel(_listingId, block.timestamp); - emit GotchiLendingCanceled( - _listingId, - lending.lender, - lending.erc721TokenId, - lending.initialCost, - lending.period, - lending.revenueSplit, - lending.originalOwner, - lending.thirdParty, - lending.whitelistId, - lending.revenueTokens, - block.timestamp + emit GotchiLendingCancelled( + LibEventStructContainers.GotchiLendingCancellation( + _listingId, + lending.lender, + lending.erc721TokenId, + lending.initialCost, + lending.period, + lending.revenueSplit, + lending.originalOwner, + lending.thirdParty, + lending.whitelistId, + lending.revenueTokens, + block.timestamp, + lending.permissions + ) ); } @@ -319,19 +353,22 @@ library LibGotchiLending { emit GotchiLendingClaim(listingId, lending.revenueTokens, amounts); emit GotchiLendingClaimed( - listingId, - lending.lender, - lending.borrower, - lending.erc721TokenId, - lending.initialCost, - lending.period, - lending.revenueSplit, - lending.originalOwner, - lending.thirdParty, - lending.whitelistId, - lending.revenueTokens, - amounts, - block.timestamp + LibEventStructContainers.GotchiLendingClaim( + listingId, + lending.lender, + lending.borrower, + lending.erc721TokenId, + lending.initialCost, + lending.period, + lending.revenueSplit, + lending.originalOwner, + lending.thirdParty, + lending.whitelistId, + lending.revenueTokens, + amounts, + block.timestamp, + lending.permissions + ) ); } @@ -360,18 +397,21 @@ library LibGotchiLending { } emit GotchiLendingEnd(listingId); emit GotchiLendingEnded( - listingId, - lending.lender, - lending.borrower, - lending.erc721TokenId, - lending.initialCost, - lending.period, - lending.revenueSplit, - lending.originalOwner, - lending.thirdParty, - lending.whitelistId, - lending.revenueTokens, - block.timestamp + LibEventStructContainers.GotchiLendingEnd( + listingId, + lending.lender, + lending.borrower, + lending.erc721TokenId, + lending.initialCost, + lending.period, + lending.revenueSplit, + lending.originalOwner, + lending.thirdParty, + lending.whitelistId, + lending.revenueTokens, + block.timestamp, + lending.permissions + ) ); } diff --git a/contracts/Aavegotchi/libraries/LibXPAllocation.sol b/contracts/Aavegotchi/libraries/LibXPAllocation.sol index 41607324e..69dd74bab 100644 --- a/contracts/Aavegotchi/libraries/LibXPAllocation.sol +++ b/contracts/Aavegotchi/libraries/LibXPAllocation.sol @@ -9,6 +9,15 @@ library LibXPAllocation { event XPClaimed(bytes32 indexed _propId, uint256 _gotchiId); event GrantExperience(uint256[] _tokenIds, uint256[] _xpValues); + struct ClaimStruct { + uint256 xpAmount; + bytes32 node; + bytes32 root; + uint256 gotchiId; + //optional + uint256 position; + } + function _createXPDrop(bytes32 _propId, bytes32 _merkleRoot, uint256 _xpAmount) internal { AppStorage storage s = LibAppStorage.diamondStorage(); XPMerkleDrops storage xp = s.xpDrops[_propId]; @@ -22,41 +31,49 @@ library LibXPAllocation { address _claimer, uint256[] calldata _gotchiIds, bytes32[] calldata _proof, - uint256[] calldata _onlyGotchis + uint256[] calldata _onlyGotchis, + uint256[] calldata _onlyGotchisPositions //position of each _onlyGotchi in _gotchiIds array ) internal { //short-circuits AppStorage storage s = LibAppStorage.diamondStorage(); - uint256 xpAmount = s.xpDrops[_propId].xpAmount; + //initialize memory struct to escape `stack too deep` + ClaimStruct memory cStruct; + cStruct.xpAmount = s.xpDrops[_propId].xpAmount; //short-circuit here - if (xpAmount == 0) revert("NonExistentDrop"); + if (cStruct.xpAmount == 0) revert("NonExistentDrop"); //drops are unique by their roots - bytes32 node = keccak256(abi.encodePacked(_claimer, _gotchiIds)); - bytes32 root = s.xpDrops[_propId].root; + cStruct.node = keccak256(abi.encodePacked(_claimer, _gotchiIds)); + cStruct.root = s.xpDrops[_propId].root; //short-circuits do not revert entire claim process //proof is valid - if (LibMerkle.verify(_proof, root, node)) { + if (LibMerkle.verify(_proof, cStruct.root, cStruct.node)) { //claiming for a set of gotchis if (_onlyGotchis.length > 0) { //make sure gotchi is a subset for (uint256 i; i < _onlyGotchis.length; i++) { - uint256 gotchiId = _onlyGotchis[i]; - if (_inUintArray(_gotchiIds, gotchiId)) { + cStruct.gotchiId = _onlyGotchis[i]; + cStruct.position = _onlyGotchisPositions[i]; + + //verify that gotchi is in _gotchiIds + if (_gotchiIds[cStruct.position] == cStruct.gotchiId) { //check claimed status - if (s.xpClaimed[gotchiId][_propId] == 0) { + if (s.xpClaimed[cStruct.gotchiId][_propId] == 0) { //allocate xp - _allocateXPViaDrop(_propId, gotchiId, xpAmount); + _allocateXPViaDrop(_propId, cStruct.gotchiId, cStruct.xpAmount); } + } else { + revert("GotchiIdMismatch"); } } } else { //claiming for all gotchis for (uint256 i; i < _gotchiIds.length; i++) { - uint256 gotchiId = _gotchiIds[i]; + cStruct.gotchiId = _gotchiIds[i]; //check claimed status - if (s.xpClaimed[gotchiId][_propId] == 0) { + if (s.xpClaimed[cStruct.gotchiId][_propId] == 0) { //allocate xp - _allocateXPViaDrop(_propId, gotchiId, xpAmount); + _allocateXPViaDrop(_propId, cStruct.gotchiId, cStruct.xpAmount); } } } diff --git a/contracts/shared/Diamond.sol b/contracts/shared/Diamond.sol new file mode 100644 index 000000000..7dfdafa16 --- /dev/null +++ b/contracts/shared/Diamond.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.1; + +/******************************************************************************\ +* Authors: Nick Mudge (https://twitter.com/mudgen) +* +* Implementation of a diamond. +/******************************************************************************/ + +import {LibDiamond} from "./libraries/LibDiamond.sol"; +import {DiamondCutFacet} from "./facets/DiamondCutFacet.sol"; +import {DiamondLoupeFacet} from "./facets/DiamondLoupeFacet.sol"; +import {OwnershipFacet} from "./facets/OwnershipFacet.sol"; + +contract Diamond { + constructor(address _contractOwner) { + LibDiamond.setContractOwner(_contractOwner); + LibDiamond.addDiamondFunctions(address(new DiamondCutFacet()), address(new DiamondLoupeFacet()), address(new OwnershipFacet())); + } + + // 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; + assembly { + ds.slot := position + } + address facet = ds.selectorToFacetAndPosition[msg.sig].facetAddress; + require(facet != address(0), "Diamond: Function does not exist"); + assembly { + calldatacopy(0, 0, calldatasize()) + let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0) + returndatacopy(0, 0, returndatasize()) + switch result + case 0 { + revert(0, returndatasize()) + } + default { + return(0, returndatasize()) + } + } + } +} diff --git a/data/itemTypes/forgewearablesSideViews.ts b/data/itemTypes/forgewearablesSideViews.ts index 2ea69844c..a79e5e0c2 100644 --- a/data/itemTypes/forgewearablesSideViews.ts +++ b/data/itemTypes/forgewearablesSideViews.ts @@ -497,4 +497,4 @@ export const forgeSideExceptions: Exceptions[] = [ side: "wearables-back", exceptionBool: true, }, -]; \ No newline at end of file +]; diff --git a/data/itemTypes/itemTypes.ts b/data/itemTypes/itemTypes.ts index eabc60eb6..54b5d1246 100644 --- a/data/itemTypes/itemTypes.ts +++ b/data/itemTypes/itemTypes.ts @@ -1,4 +1,4 @@ -import { ItemTypeInput } from "../../scripts/itemTypeHelpers"; +import { ItemTypeInputNew } from "../../scripts/itemTypeHelpers"; /* global ethers */ /* @@ -22,10 +22,10 @@ export function maxQuantityToRarity(quantity: number) { else if (quantity >= 1) return "Godlike"; } -export const itemTypes: ItemTypeInput[] = [ +export const itemTypes: ItemTypeInputNew[] = [ { svgId: 0, - name: "The Void", + name: "Void", setId: [], author: "Xibot", description: "The Void", @@ -256,7 +256,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 11, - name: "Link Mess Dress", + name: "Mess Dress", setId: [4], author: "Xibot", description: "", @@ -829,7 +829,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 36, - name: "ETH Logo Glasses", + name: "ETH Maxi Glasses", setId: [15, 61], author: "Xibot", description: "", @@ -973,7 +973,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 42, - name: "Eagle Mask", + name: "Nogara Eagle Mask", setId: [17], author: "Xibot", description: "", @@ -997,7 +997,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 43, - name: "Eagle Armor", + name: "Nogara Eagle Armor", setId: [17], author: "Xibot", description: "", @@ -1237,7 +1237,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 53, - name: "All-Seeing Eyes", + name: "All Seeing Eyes", setId: [20, 21], author: "Xibot", description: "", @@ -1405,7 +1405,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 60, - name: "Common Wizard Hat", + name: "Wizard Hat", setId: [25, 29], author: "Xibot", description: "", @@ -1429,7 +1429,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 61, - name: "Legendary Wizard Hat", + name: "Wizard Hat Legendary", setId: [26, 30], author: "Xibot", description: "", @@ -1453,7 +1453,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 62, - name: "Mythical Wizard Hat", + name: "Wizard Hat Mythical", setId: [27, 31], author: "Xibot", description: "", @@ -1477,7 +1477,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 63, - name: "Godlike Wizard Hat", + name: "Wizard Hat Godlike", setId: [28, 32], author: "Xibot", description: "", @@ -1501,7 +1501,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 64, - name: "Common Wizard Staff", + name: "Wizard Staff", setId: [25, 26, 27, 28], author: "Xibot", description: "", @@ -1525,7 +1525,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 65, - name: "Legendary Wizard Staff", + name: "Wizard Staff Legendary", setId: [29, 30, 31, 32], author: "Xibot", description: "", @@ -1549,7 +1549,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 66, - name: "Wizard Visor", + name: "Future Wizard Visor", setId: [25, 26, 27, 28, 29, 30, 31, 32], author: "Xibot", description: "", @@ -1573,7 +1573,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 67, - name: "Straw Hat", + name: "Farmer Straw Hat", setId: [33, 34, 68], author: "Xibot", description: "", @@ -1621,7 +1621,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 69, - name: "Pitchfork", + name: "Farmer Pitchfork", setId: [33, 68], author: "Xibot", description: "", @@ -1645,7 +1645,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 70, - name: "Handsaw", + name: "Farmer Handsaw", setId: [34], author: "Cryptofluffycat", description: "", @@ -1669,7 +1669,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 71, - name: "Red Santa Hat", + name: "Santagotchi Hat", setId: [69], author: "Xibot", description: "", @@ -1741,7 +1741,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 74, - name: "Jaay Suit", + name: "Jaay Hao Suit", setId: [35, 36, 63], author: "Xibot", description: "", @@ -1837,7 +1837,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 78, - name: "Black Jeans", + name: "Skater Jeans", setId: [37], author: "Xibot", description: "", @@ -1885,7 +1885,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 80, - name: "Sushi Bandana", + name: "Sushi Headband", setId: [38, 39, 40], author: "Xibot", description: "", @@ -1909,7 +1909,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 81, - name: "Sushi Coat", + name: "Sushi Robe", setId: [38, 39, 40], author: "Xibot", description: "", @@ -1933,7 +1933,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 82, - name: "Sushi Piece", + name: "Sushi Roll", setId: [39, 40], author: "Xibot", description: "", @@ -2005,7 +2005,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 85, - name: "Gentleman Coat", + name: "Gentleman Suit", setId: [41], author: "Xibot", description: "", @@ -2029,7 +2029,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 86, - name: "Monocle", + name: "Gentleman Monocle", setId: [41], author: "Xibot", description: "", @@ -2101,7 +2101,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 89, - name: "Pickaxe", + name: "Miner Pickaxe", setId: [42, 65], author: "Xibot", description: "", @@ -2149,7 +2149,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 91, - name: "Pajama Shirt", + name: "Pajama Pants", setId: [43, 44, 45, 66], author: "Xibot", description: "", @@ -2197,7 +2197,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 93, - name: "Fluffy Pillow", + name: "Fluffy Blanket", setId: [45], author: "Xibot", description: "", @@ -2221,7 +2221,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 94, - name: "Sweatband", + name: "Runner Sweatband", setId: [46, 47, 48, 49], author: "Xibot", description: "", @@ -2245,7 +2245,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 95, - name: "Track Shorts", + name: "Runner Shorts", setId: [47, 48], author: "Xibot", description: "", @@ -2317,7 +2317,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 98, - name: "Day Dress", + name: "Lady Skirt", setId: [50, 51, 52], author: "Xibot", description: "", @@ -2341,7 +2341,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 99, - name: "Parasol", + name: "Lady Parasol", setId: [51, 52], author: "Xibot", description: "", @@ -2365,7 +2365,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 100, - name: "Clutch", + name: "Lady Clutch", setId: [50, 52], author: "Xibot", description: "", @@ -2389,7 +2389,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 101, - name: "Witchy Hat", + name: "Witch Hat", setId: [53], author: "Xibot", description: "", @@ -2413,7 +2413,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 102, - name: "Witchy Cloak", + name: "Witch Cape", setId: [53], author: "Xibot", description: "", @@ -2437,7 +2437,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 103, - name: "Witchy Wand", + name: "Witch Wand", setId: [53], author: "Xibot", description: "", @@ -2557,7 +2557,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 108, - name: "Rasta Hat", + name: "Rasta Dreds", setId: [56], author: "Cawito", description: "", @@ -2773,7 +2773,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 117, - name: "Cool shades", + name: "Deal With It shades", setId: [59, 60, 67], author: "Xibot", description: "", @@ -2866,7 +2866,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 121, - name: "Wine", + name: "Wine Bottle", setId: [], author: "Cawito", description: "", @@ -3241,7 +3241,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 139, - name: "Snapshot Cap", + name: "Snapshot Hat", setId: [71], author: "xibot", description: "", @@ -3621,7 +3621,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { svgId: 158, - name: "Lil Pump Drank", + name: "Lil Pump Drink", setId: [83, 84], author: "xibot", description: "", @@ -3723,9 +3723,9 @@ export const itemTypes: ItemTypeInput[] = [ //badges { - name: "Rarity Farming SZN 1 Round 1 TOP 10 RARITY", + name: "Rarity Farming SZN 1 Rnd 1 Top 10 Rarity", description: - "This Aavegotchi achieved a rank in the top 10 of RARITY for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 10 of Rarity for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 163, minLevel: 0, canBeTransferred: false, @@ -3745,9 +3745,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 1 TOP 10 KINSHIP", + name: "Rarity Farming SZN 1 Rnd 1 Top 10 Kinship", description: - "This Aavegotchi achieved a rank in the top 10 of RARITY for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 10 of Rarity for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 164, canBeTransferred: false, totalQuantity: 0, @@ -3767,9 +3767,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 1 TOP 10 EXPERIENCE", + name: "Rarity Farming SZN 1 Rnd 1 Top 10 XP", description: - "This Aavegotchi achieved a rank in the top 10 of EXPERIENCE for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 10 of XP for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 165, canBeTransferred: false, canPurchaseWithGhst: false, @@ -3789,9 +3789,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 1 TOP 100 RARITY", + name: "Rarity Farming SZN 1 Rnd 1 Top 100 Rarity", description: - "This Aavegotchi achieved a rank in the top 100 of RARITY for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 100 of Rarity for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 166, canBeTransferred: false, canPurchaseWithGhst: false, @@ -3811,9 +3811,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 1 TOP 100 KINSHIP", + name: "Rarity Farming SZN 1 Rnd 1 Top 100 Kinship", description: - "This Aavegotchi achieved a rank in the top 100 of KINSHIP for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 100 of Kinship for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 167, minLevel: 0, canBeTransferred: false, @@ -3833,9 +3833,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 1 TOP 100 EXPERIENCE", + name: "Rarity Farming SZN 1 Rnd 1 Top 100 XP", description: - "This Aavegotchi achieved a rank in the top 100 of EXPERIENCE for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 100 of XP for the very first round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 168, canBeTransferred: false, canPurchaseWithGhst: false, @@ -3855,9 +3855,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 2 TOP 10 RARITY", + name: "Rarity Farming SZN 1 Rnd 2 Top 10 Rarity", description: - "This Aavegotchi achieved a rank in the top 10 of RARITY for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 10 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 169, minLevel: 0, canBeTransferred: false, @@ -3877,9 +3877,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 2 TOP 10 KINSHIP", + name: "Rarity Farming SZN 1 Rnd 2 Top 10 Kinship", description: - "This Aavegotchi achieved a rank in the top 10 of RARITY for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 10 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 170, canBeTransferred: false, canPurchaseWithGhst: false, @@ -3899,9 +3899,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 2 TOP 10 EXPERIENCE", + name: "Rarity Farming SZN 1 Rnd 2 Top 10 XP", description: - "This Aavegotchi achieved a rank in the top 10 of EXPERIENCE for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 10 of XP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 171, canBeTransferred: false, totalQuantity: 0, @@ -3921,9 +3921,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 2 TOP 100 RARITY", + name: "Rarity Farming SZN 1 Rnd 2 Top 100 Rarity", description: - "This Aavegotchi achieved a rank in the top 100 of RARITY for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 100 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 172, canBeTransferred: false, totalQuantity: 0, @@ -3943,9 +3943,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 2 TOP 100 KINSHIP", + name: "Rarity Farming SZN 1 Rnd 2 Top 100 Kinship", description: - "This Aavegotchi achieved a rank in the top 100 of KINSHIP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 100 of Kinship for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 173, minLevel: 0, canBeTransferred: false, @@ -3965,9 +3965,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Rarity Farming SZN 1 Round 2 TOP 100 EXPERIENCE", + name: "Rarity Farming SZN 1 Rnd 2 Top 100 XP", description: - "This Aavegotchi achieved a rank in the top 100 of EXPERIENCE for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + "This Aavegotchi achieved a rank in the top 100 of XP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to May 4, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", svgId: 174, canBeTransferred: false, totalQuantity: 0, @@ -3987,7 +3987,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "Unicly LP uGOTCHI/ETH Q2 2021", + name: "unicly Baadge", description: "The owner of this Aavegotchi provided liquidity to the NFT fractionalization platform Unicly for the uGOTCHI/ETH pair.\n This baadge was bestowed during May 2021 to each Aavegotchi in the owner's wallet at the time of snapshot. Unicly's liquidity mining program had been pushed back a few weeks and the least that could be done was to honor these early providers with a baadge.", svgId: 175, @@ -4008,20 +4008,920 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, + { + name: "Rarity Farming SZN 1 Rnd 3 Top 10 Rarity", + description: + "This Aavegotchi achieved a rank in the top 10 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 176, + minLevel: 0, + canBeTransferred: false, + canPurchaseWithGhst: false, + totalQuantity: 0, + maxQuantity: 10, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + name: "Rarity Farming SZN 1 Rnd 3 Top 10 Kinship", + description: + "This Aavegotchi achieved a rank in the top 10 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 177, + canBeTransferred: false, + canPurchaseWithGhst: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 10, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + name: "Rarity Farming SZN 1 Rnd 3 Top 10 XP", + description: + "This Aavegotchi achieved a rank in the top 10 of XP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 178, + canBeTransferred: false, + totalQuantity: 0, + canPurchaseWithGhst: false, + minLevel: 0, + maxQuantity: 10, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + name: "Rarity Farming SZN 1 Rnd 3 Top 100 Rarity", + description: + "This Aavegotchi achieved a rank in the top 100 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 179, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 90, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 Rnd 3 Top 100 Kinship", + description: + "This Aavegotchi achieved a rank in the top 100 of Kinship for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 180, + minLevel: 0, + canBeTransferred: false, + totalQuantity: 0, + maxQuantity: 90, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 Rnd 3 Top 100 XP", + description: + "This Aavegotchi achieved a rank in the top 100 of XP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 181, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 90, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 Rnd 4 Top 10 Rarity", + description: + "This Aavegotchi achieved a rank in the top 10 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 182, + minLevel: 0, + canBeTransferred: false, + canPurchaseWithGhst: false, + totalQuantity: 0, + maxQuantity: 10, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + name: "Rarity Farming SZN 1 Rnd 4 Top 10 Kinship", + description: + "This Aavegotchi achieved a rank in the top 10 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 183, + canBeTransferred: false, + canPurchaseWithGhst: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 10, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + name: "Rarity Farming SZN 1 Rnd 4 Top 10 XP", + description: + "This Aavegotchi achieved a rank in the top 10 of XP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 184, + canBeTransferred: false, + totalQuantity: 0, + canPurchaseWithGhst: false, + minLevel: 0, + maxQuantity: 10, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + name: "Rarity Farming SZN 1 Rnd 4 Top 100 Rarity", + description: + "This Aavegotchi achieved a rank in the top 100 of Rarity for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 185, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 90, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 Rnd 4 Top 100 Kinship", + description: + "This Aavegotchi achieved a rank in the top 100 of Kinship for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 186, + minLevel: 0, + canBeTransferred: false, + totalQuantity: 0, + maxQuantity: 90, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 Rnd 4 Top 100 XP", + description: + "This Aavegotchi achieved a rank in the top 100 of XP for the second round of the first ever season of Rarity Farming. \n\nFrom April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 187, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 90, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 finals 1st Place Rarity", + description: + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of rarity for Rarity Farming SZN 1. Aamazing! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 188, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "Rarity Farming SZN 1 finals 1st Place Kinship", + description: + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of kinship for Rarity Farming SZN 1. Aamazing! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 189, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "Rarity Farming SZN 1 finals 1st Place XP", + description: + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of experience for Rarity Farming SZN 1. Aamazing! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 190, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 finals 2nd Place Rarity", + description: + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of rarity for Rarity Farming SZN 1. Incredible! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 191, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "Rarity Farming SZN 1 finals 2nd Place Kinship", + description: + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of kinship for Rarity Farming SZN 1. Incredible! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 192, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "Rarity Farming SZN 1 finals 2nd Place XP", + description: + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of experience for Rarity Farming SZN 1. Incredible! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 193, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 finals 3rd Place Rarity", + description: + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of rarity for Rarity Farming SZN 1. Impressive! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 194, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "Rarity Farming SZN 1 finals 3rd Place Kinship", + description: + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of kinship for Rarity Farming SZN 1. Impressive! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 195, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "Rarity Farming SZN 1 finals 3rd Place XP", + description: + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of experience for Rarity Farming SZN 1. Impressive! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 196, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + + { + name: "Rarity Farming SZN 1 plaayer", + description: + "This Aavegotchi achieved leaderboard ranking in at least one category during the first ever season of Rarity Farming. Great job fren! From April 20 to June 15, 2021, the first season of Rarity Farming featured three main leaderboards that any summoned Aavegotchi could participate in. All competing Aavegotchis were from the original Haunt 1 portals of which there were 10,000 total.", + svgId: 197, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 6318, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, + { + name: "consensus", + description: + "This frenly Aavegotchi was named C21 for good reason. It was summoned live during the Polygon bridging demo at Consensus 21 by Pixelcraft Studios co-founder Jesse aka gldnXross. This naturally sleepy gotchi is living the dream!", + svgId: 198, + canBeTransferred: false, + totalQuantity: 0, + minLevel: 0, + maxQuantity: 1, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, + canPurchaseWithGhst: false, + }, { svgId: 199, - name: "Steampunk Goggles", + name: "Steampunk Glasses", + setId: [89], + author: "xibot", + description: "", + dimensions: { x: 15, y: 20, width: 34, height: 19 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [0, 0, 3, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "eyes", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 200, + name: "Steampunk Trousers", + setId: [89], + author: "xibot", + description: "", + dimensions: { x: 15, y: 41, width: 34, height: 14 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [0, 0, 2, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "body", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 201, + name: "Mechanical Claw", setId: [89], author: "xibot", description: "", - dimensions: { x: 15, y: 20, width: 34, height: 19 }, + dimensions: { x: 1, y: 33, width: 14, height: 11 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 300, + maxQuantity: 100, + traitModifiers: [0, 2, 2, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "hands", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 202, + name: "Cyberpunk VR", + setId: [88, 92], + author: "xibot", + description: "", + dimensions: { x: 14, y: 5, width: 36, height: 26 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 2000, + maxQuantity: 50, + traitModifiers: [2, 3, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "eyes", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 203, + name: "Gamer Jacket", + setId: [88, 90], + author: "xibot", + description: "", + dimensions: { x: 12, y: 32, width: 34, height: 20 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [1, 2, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "body", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 204, + name: "Game Controller", + setId: [88, 90], + author: "xibot", + description: "", + dimensions: { x: 0, y: 35, width: 16, height: 13 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [1, 1, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "hands", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 205, + name: "Gotchi Mug", + setId: [], + author: "xibot", + description: "", + dimensions: { x: 1, y: 29, width: 13, height: 15 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 5, + maxQuantity: 1000, + traitModifiers: [1, 0, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "hands", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + svgId: 206, + name: "Biker Helmet", + setId: [93], + author: "xibot", + description: "", + dimensions: { x: 12, y: 2, width: 40, height: 30 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [0, 2, 0, 1, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "head", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 207, + name: "Biker Jacket", + setId: [93], + author: "xibot", + description: "", + dimensions: { x: 15, y: 33, width: 34, height: 20 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [0, 2, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "body", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 208, + name: "Aviators", + setId: [93], + author: "xibot", + description: "", + dimensions: { x: 15, y: 21, width: 34, height: 11 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [0, 0, 2, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "eyes", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 209, + name: "Horseshoe Mustache", + setId: [93], + author: "xibot", + description: "", + dimensions: { x: 23, y: 32, width: 18, height: 9 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 300, + maxQuantity: 100, + traitModifiers: [-2, 0, 2, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "face", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + + { + svgId: 210, + name: "H1 background", + setId: [], + author: "xibot", + description: "", + dimensions: { x: 0, y: 0, width: 64, height: 64 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 5, + maxQuantity: 10000, + traitModifiers: [1, 0, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "background", + category: 0, + canBeTransferred: false, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 211, + name: "Guy Fauwkes Mask", + setId: [94, 114], + author: "xibot", + description: "", + dimensions: { x: 15, y: 6, width: 34, height: 39 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 5, + maxQuantity: 1000, + traitModifiers: [0, 0, 1, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "head", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 212, + name: "1337 Laptop", + setId: [94, 95, 112, 114], + author: "xibot", + description: "", + dimensions: { x: 0, y: 30, width: 16, height: 14 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 3000, + maxQuantity: 50, + traitModifiers: [-2, 0, 0, 3, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "hands", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 213, + name: "H4xx0r Shirt", + setId: [94, 95], + author: "xibot", + description: "", + dimensions: { x: 10, y: 31, width: 44, height: 22 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 300, + maxQuantity: 100, + traitModifiers: [-4, 0, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "body", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 214, + name: "Matrix Eyes", + setId: [95], + author: "xibot", + description: "", + dimensions: { x: 20, y: 22, width: 24, height: 8 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 10000, + maxQuantity: 5, + traitModifiers: [-3, -3, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "eyes", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 215, + name: "Cyborg Eye", + setId: [96], + author: "xibot", + description: "", + dimensions: { x: 32, y: 15, width: 17, height: 19 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 300, + maxQuantity: 100, + traitModifiers: [2, 2, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "eyes", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 216, + name: "Rainbow Vomit", + setId: [96], + author: "xibot", + description: "", + dimensions: { x: 22, y: 32, width: 20, height: 23 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 3000, + maxQuantity: 50, + traitModifiers: [0, 0, -5, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "face", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 217, + name: "Cyborg Gun", + setId: [96], + author: "xibot", + description: "", + dimensions: { x: 2, y: 33, width: 13, height: 11 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 3000, + maxQuantity: 50, + traitModifiers: [2, 3, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "hands", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 218, + name: "Mohawk", + setId: [97], + author: "xibot", + description: "", + dimensions: { x: 27, y: 0, width: 10, height: 22 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [1, 1, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "head", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 219, + name: "Mutton Chops", + setId: [97], + author: "xibot", + description: "", + dimensions: { x: 15, y: 21, width: 34, height: 19 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 100, maxQuantity: 250, - traitModifiers: [0, 0, 3, 0, 0, 0], + traitModifiers: [0, 0, 2, -1, 0, 0], canPurchaseWithGhst: false, - slotPositions: "eyes", + slotPositions: "face", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4029,17 +4929,57 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 200, - name: "Steampunk Trousers", - setId: [89], + svgId: 220, + name: "Punk Shirt", + setId: [97], + author: "xibot", + description: "", + dimensions: { x: 9, y: 32, width: 46, height: 21 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 300, + maxQuantity: 100, + traitModifiers: [1, 3, 0, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "body", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 221, + name: "Pirate Hat", + setId: [98], + author: "xibot", + description: "", + dimensions: { x: 7, y: 0, width: 50, height: 20 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: 5, + maxQuantity: 1000, + traitModifiers: [0, 0, 0, -1, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "head", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 222, + name: "Pirate Coat", + setId: [98], author: "xibot", description: "", - dimensions: { x: 15, y: 41, width: 34, height: 14 }, + dimensions: { x: 10, y: 31, width: 44, height: 24 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 10, maxQuantity: 500, - traitModifiers: [0, 0, 2, 0, 0, 0], + traitModifiers: [0, 0, 1, -1, 0, 0], canPurchaseWithGhst: false, slotPositions: "body", category: 0, @@ -4049,17 +4989,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 201, - name: "Mechanical Claw", - setId: [89], + svgId: 223, + name: "Hook Hand", + setId: [98], author: "xibot", description: "", - dimensions: { x: 1, y: 33, width: 14, height: 11 }, + dimensions: { x: 1, y: 35, width: 9, height: 9 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 300, - maxQuantity: 100, - traitModifiers: [0, 2, 2, 0, 0, 0], + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [0, 0, 1, -1, 0, 0], canPurchaseWithGhst: false, slotPositions: "hands", category: 0, @@ -4069,17 +5009,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 202, - name: "VR Headset", - setId: [88, 92], + svgId: 224, + name: "Pirate Patch", + setId: [98], author: "xibot", description: "", - dimensions: { x: 14, y: 5, width: 36, height: 26 }, + dimensions: { x: 15, y: 21, width: 34, height: 10 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 2000, - maxQuantity: 50, - traitModifiers: [2, 3, 0, 0, 0, 0], + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [0, 0, 2, -1, 0, 0], canPurchaseWithGhst: false, slotPositions: "eyes", category: 0, @@ -4089,19 +5029,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 203, - name: "Gamer Jacket", - setId: [88, 90], + svgId: 225, + name: "Basketball", + setId: [99], author: "xibot", description: "", - dimensions: { x: 12, y: 32, width: 34, height: 20 }, + dimensions: { x: 1, y: 28, width: 13, height: 13 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [1, 2, 0, 0, 0, 0], + ghstPrice: 5, + maxQuantity: 1000, + traitModifiers: [1, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "hands", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4109,19 +5049,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 204, - name: "Game Controller", - setId: [88, 90], + svgId: 226, + name: "Red Headband", + setId: [99], author: "xibot", description: "", - dimensions: { x: 0, y: 35, width: 16, height: 13 }, + dimensions: { x: 15, y: 14, width: 34, height: 6 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [1, 1, 0, 0, 0, 0], + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [2, -1, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "hands", + slotPositions: "head", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4129,38 +5069,37 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 205, - name: "Gotchi Mug", - setId: [], + svgId: 227, + name: "MJ Jersey", + setId: [99], author: "xibot", description: "", - dimensions: { x: 1, y: 29, width: 13, height: 15 }, + dimensions: { x: 15, y: 33, width: 34, height: 22 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, - maxQuantity: 1000, - traitModifiers: [1, 0, 0, 0, 0, 0], + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [1, -2, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "hands", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, experienceBonus: 0, kinshipBonus: 0, }, - { - svgId: 206, - name: "Biker Helmet", - setId: [93], + svgId: 228, + name: "10 Gallon Hat", + setId: [100, 113], author: "xibot", description: "", - dimensions: { x: 12, y: 2, width: 40, height: 30 }, + dimensions: { x: 9, y: 3, width: 46, height: 18 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [0, 2, 0, 1, 0, 0], + ghstPrice: 5, + maxQuantity: 1000, + traitModifiers: [0, 0, 0, 1, 0, 0], canPurchaseWithGhst: false, slotPositions: "head", category: 0, @@ -4170,19 +5109,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 207, - name: "Biker Jacket", - setId: [93], + svgId: 229, + name: "Lasso", + setId: [100], author: "xibot", description: "", - dimensions: { x: 15, y: 33, width: 34, height: 20 }, + dimensions: { x: 2, y: 23, width: 12, height: 26 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 10, maxQuantity: 500, - traitModifiers: [0, 2, 0, 0, 0, 0], + traitModifiers: [0, 1, 0, 1, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "hands", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4190,19 +5129,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 208, - name: "Aviators", - setId: [93], + svgId: 230, + name: "Wraangler Jeans", + setId: [100], author: "xibot", description: "", - dimensions: { x: 15, y: 21, width: 34, height: 11 }, + dimensions: { x: 15, y: 40, width: 34, height: 15 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, 0, 2, 0, 0, 0], + ghstPrice: 5, + maxQuantity: 1000, + traitModifiers: [0, 1, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "eyes", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4210,60 +5149,59 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 209, - name: "Horseshoe Mustache", - setId: [93], - author: "xibot", + svgId: 231, + name: "Comfy Poncho", + setId: [101, 102, 103, 104, 113], + author: "rod", description: "", - dimensions: { x: 23, y: 32, width: 18, height: 9 }, + dimensions: { x: 12, y: 31, width: 40, height: 24 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 300, - maxQuantity: 100, - traitModifiers: [-2, 0, 2, 0, 0, 0], + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [-2, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "face", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, experienceBonus: 0, kinshipBonus: 0, }, - { - svgId: 210, - name: "Haunt1 BG", - setId: [], - author: "xibot", + svgId: 232, + name: "Poncho Hoodie", + setId: [101, 102, 103, 104], + author: "rod", description: "", - dimensions: { x: 0, y: 0, width: 64, height: 64 }, + dimensions: { x: 12, y: 1, width: 40, height: 30 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 5, - maxQuantity: 10000, - traitModifiers: [1, 0, 0, 0, 0, 0], + maxQuantity: 1000, + traitModifiers: [-1, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "background", + slotPositions: "head", category: 0, - canBeTransferred: false, + canBeTransferred: true, totalQuantity: 0, experienceBonus: 0, kinshipBonus: 0, }, { - svgId: 211, - name: "Guy Fawkes Mask", - setId: [94, 114], + svgId: 233, + name: "Uncommon Cacti", + setId: [101, 105], author: "xibot", description: "", - dimensions: { x: 15, y: 6, width: 34, height: 39 }, + dimensions: { x: 40, y: 45, width: 23, height: 17 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, - maxQuantity: 1000, - traitModifiers: [0, 0, 1, 0, 0, 0], + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [0, 0, -1, 1, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "pet", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4271,19 +5209,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 212, - name: "1337 Laptop", - setId: [94, 95, 112, 114], + svgId: 234, + name: "Shaaman Poncho", + setId: [105, 106, 107, 108, 111], author: "xibot", description: "", - dimensions: { x: 0, y: 30, width: 16, height: 14 }, + dimensions: { x: 12, y: 31, width: 40, height: 24 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 3000, maxQuantity: 50, - traitModifiers: [-2, 0, 0, 3, 0, 0], + traitModifiers: [-5, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "hands", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4291,19 +5229,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 213, - name: "H4xx0r Shirt", - setId: [94, 95], + svgId: 235, + name: "Shaaman Hoodie", + setId: [105, 106, 107, 108, 111], author: "xibot", description: "", - dimensions: { x: 10, y: 31, width: 44, height: 22 }, + dimensions: { x: 12, y: 1, width: 40, height: 30 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 300, maxQuantity: 100, traitModifiers: [-4, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "head", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4311,19 +5249,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 214, - name: "Matrix Eyes", - setId: [95], + svgId: 236, + name: "Blue Cacti", + setId: [102, 106], author: "xibot", description: "", - dimensions: { x: 20, y: 22, width: 24, height: 8 }, + dimensions: { x: 40, y: 45, width: 23, height: 17 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10000, - maxQuantity: 5, - traitModifiers: [-3, -3, 0, 0, 0, 0], + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [0, 0, -1, 2, 0, 0], canPurchaseWithGhst: false, - slotPositions: "eyes", + slotPositions: "pet", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4331,19 +5269,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 215, - name: "Cyborg Eye", - setId: [96], + svgId: 237, + name: "Mythical Cacti", + setId: [103, 107], author: "xibot", description: "", - dimensions: { x: 32, y: 15, width: 17, height: 19 }, + dimensions: { x: 1, y: 48, width: 62, height: 14 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 300, - maxQuantity: 100, - traitModifiers: [2, 2, 0, 0, 0, 0], + ghstPrice: 3000, + maxQuantity: 50, + traitModifiers: [0, 0, -2, 3, 0, 0], canPurchaseWithGhst: false, - slotPositions: "eyes", + slotPositions: "pet", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4351,19 +5289,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 216, - name: "Rainbow Vomit", - setId: [96], + svgId: 238, + name: "Godlike Cacti", + setId: [104, 108, 111], author: "xibot", description: "", - dimensions: { x: 22, y: 32, width: 20, height: 23 }, + dimensions: { x: 1, y: 48, width: 62, height: 14 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 3000, - maxQuantity: 50, - traitModifiers: [0, 0, -5, 0, 0, 0], + ghstPrice: 10000, + maxQuantity: 5, + traitModifiers: [0, 0, -3, 3, 0, 0], canPurchaseWithGhst: false, - slotPositions: "face", + slotPositions: "pet", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4371,19 +5309,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 217, - name: "Energy Gun", - setId: [96], + svgId: 239, + name: "Wagie Cap", + setId: [109], author: "xibot", description: "", - dimensions: { x: 2, y: 33, width: 13, height: 11 }, + dimensions: { x: 15, y: 4, width: 34, height: 19 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: 3000, - maxQuantity: 50, - traitModifiers: [2, 3, 0, 0, 0, 0], + minLevel: 1, + ghstPrice: 10, + maxQuantity: 500, + traitModifiers: [0, -2, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "hands", + slotPositions: "head", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4391,19 +5329,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 218, - name: "Mohawk", - setId: [97], + svgId: 240, + name: "Headphones", + setId: [109], author: "xibot", description: "", - dimensions: { x: 27, y: 0, width: 10, height: 22 }, + dimensions: { x: 11, y: 2, width: 42, height: 29 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 10, maxQuantity: 500, - traitModifiers: [1, 1, 0, 0, 0, 0], + traitModifiers: [0, -2, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "face", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4411,19 +5349,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 219, - name: "Mutton Chops", - setId: [97], + svgId: 241, + name: "WGMI Shirt", + setId: [109], author: "xibot", description: "", - dimensions: { x: 15, y: 21, width: 34, height: 19 }, + dimensions: { x: 12, y: 32, width: 40, height: 21 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 100, maxQuantity: 250, - traitModifiers: [0, 0, 2, -1, 0, 0], + traitModifiers: [0, -3, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "face", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4431,19 +5369,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 220, - name: "Punk Shirt", - setId: [97], - author: "xibot", + svgId: 242, + name: "Yellow Manbun", + setId: [110, 112], + author: "esveebee", description: "", - dimensions: { x: 9, y: 32, width: 46, height: 21 }, + dimensions: { x: 15, y: 0, width: 34, height: 22 }, allowedCollaterals: [], minLevel: 1, ghstPrice: 300, maxQuantity: 100, - traitModifiers: [1, 3, 0, 0, 0, 0], + traitModifiers: [-2, -2, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "head", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4451,19 +5389,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 221, - name: "Pirate Hat", - setId: [98], - author: "xibot", + svgId: 243, + name: "Tinted Shades", + setId: [110, 112], + author: "esveebee", description: "", - dimensions: { x: 7, y: 0, width: 50, height: 20 }, + dimensions: { x: 15, y: 22, width: 34, height: 9 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, - maxQuantity: 1000, - traitModifiers: [0, 0, 0, -1, 0, 0], + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [0, -3, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "eyes", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4471,17 +5409,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 222, - name: "Pirate Coat", - setId: [98], - author: "xibot", + svgId: 244, + name: "VNeck Shirt", + setId: [110, 112], + author: "esveebee", description: "", - dimensions: { x: 10, y: 31, width: 44, height: 24 }, + dimensions: { x: 12, y: 32, width: 40, height: 23 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, 0, 1, -1, 0, 0], + ghstPrice: 100, + maxQuantity: 250, + traitModifiers: [0, -3, 0, 0, 0, 0], canPurchaseWithGhst: false, slotPositions: "body", category: 0, @@ -4491,19 +5429,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 223, - name: "Hook Hand", - setId: [98], + svgId: 245, + name: "Gecko Hat", + setId: [117], author: "xibot", description: "", - dimensions: { x: 1, y: 35, width: 9, height: 9 }, + dimensions: { x: 15, y: 3, width: 34, height: 27 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, 0, 1, -1, 0, 0], + ghstPrice: "", + maxQuantity: 250, + traitModifiers: [0, 0, -3, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "hands", + slotPositions: "eyes", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4511,17 +5449,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 224, - name: "Pirate Patch", - setId: [98], + svgId: 246, + name: "APY Shades", + setId: [122], author: "xibot", description: "", - dimensions: { x: 15, y: 21, width: 34, height: 10 }, + dimensions: { x: 15, y: 20, width: 34, height: 12 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [0, 0, 2, -1, 0, 0], + ghstPrice: "", + maxQuantity: 500, + traitModifiers: [1, 0, 0, 1, 0, 0], canPurchaseWithGhst: false, slotPositions: "eyes", category: 0, @@ -4531,17 +5469,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 225, - name: "Basketball", - setId: [99], + svgId: 247, + name: "Up Arrow", + setId: [122], author: "xibot", description: "", - dimensions: { x: 1, y: 28, width: 13, height: 13 }, + dimensions: { x: 0, y: 24, width: 16, height: 26 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, - maxQuantity: 1000, - traitModifiers: [1, 0, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 500, + traitModifiers: [1, 0, 0, 1, 0, 0], canPurchaseWithGhst: false, slotPositions: "hands", category: 0, @@ -4551,19 +5489,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 226, - name: "Red Headband", - setId: [99], + svgId: 248, + name: "Up Only Shirt", + setId: [122], author: "xibot", description: "", - dimensions: { x: 15, y: 14, width: 34, height: 6 }, + dimensions: { x: 12, y: 32, width: 40, height: 21 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [2, -1, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 500, + traitModifiers: [1, 0, 0, 1, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4571,19 +5509,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 227, - name: "23 Jersey", - setId: [99], + svgId: 249, + name: "CoinGecko Eyes", + setId: [116, 117], author: "xibot", description: "", - dimensions: { x: 15, y: 33, width: 34, height: 22 }, + dimensions: { x: 19, y: 20, width: 26, height: 12 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 100, + ghstPrice: "", maxQuantity: 250, - traitModifiers: [1, -2, 0, 0, 0, 0], + traitModifiers: [0, 0, -2, -1, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "eyes", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4591,19 +5529,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 228, - name: "10 Gallon Hat", - setId: [100, 113], + svgId: 250, + name: "CoinGecko Tee", + setId: [116, 117], author: "xibot", description: "", - dimensions: { x: 9, y: 3, width: 46, height: 18 }, + dimensions: { x: 12, y: 32, width: 40, height: 21 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, - maxQuantity: 1000, - traitModifiers: [0, 0, 0, 1, 0, 0], + ghstPrice: "", + maxQuantity: 250, + traitModifiers: [0, 0, -2, -1, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4611,17 +5549,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 229, - name: "Lasso", - setId: [100], + svgId: 251, + name: "CoinGecko Candies", + setId: [116, 117], author: "xibot", description: "", - dimensions: { x: 2, y: 23, width: 12, height: 26 }, + dimensions: { x: 1, y: 25, width: 14, height: 20 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, 1, 0, 1, 0, 0], + ghstPrice: "", + maxQuantity: 250, + traitModifiers: [0, 0, -1, -2, 0, 0], canPurchaseWithGhst: false, slotPositions: "hands", category: 0, @@ -4631,19 +5569,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 230, - name: "Wraangler Jeans", - setId: [100], + svgId: 252, + name: "Aastronaut Helmet", + setId: [115], author: "xibot", description: "", - dimensions: { x: 15, y: 40, width: 34, height: 15 }, + dimensions: { x: 12, y: 5, width: 40, height: 35 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, + ghstPrice: "", maxQuantity: 1000, - traitModifiers: [0, 1, 0, 0, 0, 0], + traitModifiers: [0, 0, 1, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "head", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4651,17 +5589,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 231, - name: "Comfy Poncho", - setId: [101, 102, 103, 104, 113], - author: "rod", + svgId: 253, + name: "Aastronaut Suit", + setId: [115], + author: "xibot", description: "", - dimensions: { x: 12, y: 31, width: 40, height: 24 }, + dimensions: { x: 7, y: 31, width: 50, height: 24 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [-2, 0, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 1000, + traitModifiers: [0, 0, 1, 0, 0, 0], canPurchaseWithGhst: false, slotPositions: "body", category: 0, @@ -4671,17 +5609,37 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 232, - name: "Poncho Hoodie", - setId: [101, 102, 103, 104], - author: "rod", + svgId: 254, + name: "uGOTCHI Token", + setId: [115], + author: "xibot", description: "", - dimensions: { x: 12, y: 1, width: 40, height: 30 }, + dimensions: { x: 0, y: 34, width: 12, height: 12 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 5, + ghstPrice: "", maxQuantity: 1000, - traitModifiers: [-1, 0, 0, 0, 0, 0], + traitModifiers: [0, 0, 1, 0, 0, 0], + canPurchaseWithGhst: false, + slotPositions: "hands", + category: 0, + canBeTransferred: true, + totalQuantity: 0, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + svgId: 255, + name: "Lil Bubble Helmet", + setId: [118], + author: "xibot", + description: "", + dimensions: { x: 14, y: 5, width: 36, height: 35 }, + allowedCollaterals: [], + minLevel: 1, + ghstPrice: "", + maxQuantity: 100, + traitModifiers: [2, -2, 0, 0, 0, 0], canPurchaseWithGhst: false, slotPositions: "head", category: 0, @@ -4691,19 +5649,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 233, - name: "Uncommon Cacti", - setId: [101, 105], + svgId: 256, + name: "Lil Bubble Space Suit", + setId: [118], author: "xibot", description: "", - dimensions: { x: 40, y: 45, width: 23, height: 17 }, + dimensions: { x: 7, y: 31, width: 50, height: 24 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, 0, -1, 1, 0, 0], + ghstPrice: "", + maxQuantity: 100, + traitModifiers: [2, -2, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "pet", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4711,19 +5669,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 234, - name: "Shaaman Poncho", - setId: [105, 106, 107, 108, 111], + svgId: 257, + name: "Bitcoin Guitar", + setId: [118], author: "xibot", description: "", - dimensions: { x: 12, y: 31, width: 40, height: 24 }, + dimensions: { x: 0, y: 17, width: 15, height: 38 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 3000, - maxQuantity: 50, - traitModifiers: [-5, 0, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 100, + traitModifiers: [4, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", + slotPositions: "hands", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4731,19 +5689,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 235, - name: "Shaaman Hoodie", - setId: [105, 106, 107, 108, 111], + svgId: 258, + name: "Hanfu", + setId: [120, 121], author: "xibot", description: "", - dimensions: { x: 12, y: 1, width: 40, height: 30 }, + dimensions: { x: 10, y: 31, width: 44, height: 25 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 300, - maxQuantity: 100, - traitModifiers: [-4, 0, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 5, + traitModifiers: [-3, 0, 0, 3, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "body", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4751,19 +5709,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 236, - name: "Rare Cacti", - setId: [102, 106], + svgId: 259, + name: "Bushy Eyebrows", + setId: [120, 121], author: "xibot", description: "", - dimensions: { x: 40, y: 45, width: 23, height: 17 }, + dimensions: { x: 16, y: 18, width: 32, height: 9 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [0, 0, -1, 2, 0, 0], + ghstPrice: "", + maxQuantity: 5, + traitModifiers: [-3, 0, 0, 3, 0, 0], canPurchaseWithGhst: false, - slotPositions: "pet", + slotPositions: "eyes", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4771,19 +5729,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 237, - name: "Mythical Cacti", - setId: [103, 107], + svgId: 260, + name: "Ancient Beard", + setId: [120, 121], author: "xibot", description: "", - dimensions: { x: 1, y: 48, width: 62, height: 14 }, + dimensions: { x: 25, y: 32, width: 14, height: 14 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 3000, - maxQuantity: 50, - traitModifiers: [0, 0, -2, 3, 0, 0], + ghstPrice: "", + maxQuantity: 5, + traitModifiers: [-2, 0, 0, 4, 0, 0], canPurchaseWithGhst: false, - slotPositions: "pet", + slotPositions: "face", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4791,17 +5749,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 238, - name: "Godlike Cacti", - setId: [104, 108, 111], + svgId: 261, + name: "Aantena Bot", + setId: [119], author: "xibot", description: "", - dimensions: { x: 1, y: 48, width: 62, height: 14 }, + dimensions: { x: 44, y: 33, width: 17, height: 26 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10000, - maxQuantity: 5, - traitModifiers: [0, 0, -3, 3, 0, 0], + ghstPrice: "", + maxQuantity: 50, + traitModifiers: [0, -2, 0, 3, 0, 0], canPurchaseWithGhst: false, slotPositions: "pet", category: 0, @@ -4811,19 +5769,19 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 239, - name: "Wagie Cap", - setId: [109], + svgId: 262, + name: "Radar Eyes", + setId: [119], author: "xibot", description: "", - dimensions: { x: 15, y: 4, width: 34, height: 19 }, + dimensions: { x: 19, y: 20, width: 26, height: 12 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, -2, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 50, + traitModifiers: [0, -2, 0, 3, 0, 0], canPurchaseWithGhst: false, - slotPositions: "head", + slotPositions: "eyes", category: 0, canBeTransferred: true, totalQuantity: 0, @@ -4831,17 +5789,17 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 240, - name: "Headphones", - setId: [109], + svgId: 263, + name: "Signal Headset", + setId: [119], author: "xibot", description: "", - dimensions: { x: 11, y: 2, width: 42, height: 29 }, + dimensions: { x: 11, y: 6, width: 42, height: 25 }, allowedCollaterals: [], minLevel: 1, - ghstPrice: 10, - maxQuantity: 500, - traitModifiers: [0, -2, 0, 0, 0, 0], + ghstPrice: "", + maxQuantity: 50, + traitModifiers: [0, -2, 0, 3, 0, 0], canPurchaseWithGhst: false, slotPositions: "face", category: 0, @@ -4851,464 +5809,620 @@ export const itemTypes: ItemTypeInput[] = [ kinshipBonus: 0, }, { - svgId: 241, - name: "WGMI Shirt", - setId: [109], + svgId: 264, + name: "Aastronaut Crew Member", + setId: [], author: "xibot", - description: "", - dimensions: { x: 12, y: 32, width: 40, height: 21 }, + description: + 'This baadge signifies that this is one of the original five Aavegotchis to be bridged from Polygon to Ethereum. Dubbed the "Aastronauts" these pioneering gotchis were fractionalized on the Unicly platform in the form of uGOTCHI tokens. In October of 2021 the uGOTCHI collection was unlocked and all five Aastronauts were auctioned to new owners.', + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [0, -3, 0, 0, 0, 0], + minLevel: 0, + ghstPrice: 0, + rarityLevel: "godlike", + maxQuantity: 5, + traitModifiers: [0, 0, 0, 0, 0, 0], canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, + slotPositions: "none", + category: 1, + canBeTransferred: false, + totalQuantity: 5, + experienceBonus: 0, + kinshipBonus: 0, + }, + { + name: "Rarity Farming SZN2 1st Place Rarity", //0 + description: + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of rarity for Rarity Farming SZN 2. Aamazing! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 265, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 242, - name: "Maan Bun", - setId: [110, 112], - author: "esveebee", - description: "", - dimensions: { x: 15, y: 0, width: 34, height: 22 }, + name: "Rarity Farming SZN2 1st Place Kinship", //1 + description: + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of kinship for Rarity Farming SZN 2. Aamazing! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 266, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: 300, - maxQuantity: 100, - traitModifiers: [-2, -2, 0, 0, 0, 0], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, canPurchaseWithGhst: false, - slotPositions: "head", - category: 0, - canBeTransferred: true, + }, + { + name: "Rarity Farming SZN2 1st Place XP", //2 + description: + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of XP for Rarity Farming SZN 2. Aamazing! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 267, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 243, - name: "Tinted Shades", - setId: [110, 112], - author: "esveebee", - description: "", - dimensions: { x: 15, y: 22, width: 34, height: 9 }, + name: "Rarity Farming SZN2 Rarity 2nd Place", //3 + description: + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all gotchis in the rarity category for Rarity Farming SZN 2. Incredible! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 268, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [0, -3, 0, 0, 0, 0], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, canPurchaseWithGhst: false, - slotPositions: "eyes", - category: 0, - canBeTransferred: true, + }, + { + name: "Rarity Farming SZN2 Kinship 2nd Place", //4 + description: + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all gotchis in the kinship category for Rarity Farming SZN 2. Incredible! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 269, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 244, - name: "V-Neck Shirt", - setId: [110, 112], - author: "esveebee", - description: "", - dimensions: { x: 12, y: 32, width: 40, height: 23 }, + name: "Rarity Farming SZN2 XP 2nd Place", //5 + description: + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all gotchis in the XP category for Rarity Farming SZN 2. Incredible! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 270, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: 100, - maxQuantity: 250, - traitModifiers: [0, -3, 0, 0, 0, 0], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, + }, + { + name: "Rarity Farming SZN2 Rarity 3rd Place", //6 + description: + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all gotchis in the rarity category for Rarity Farming SZN 2. Impressive! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 271, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 245, - name: "Gecko Hat", - setId: [117], + name: "Rarity Farming SZN2 Kinship 3rd Place", //7 + description: + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all gotchis in the kinship category for Rarity Farming SZN 2. Impressive! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 272, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 15, y: 3, width: 34, height: 27 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 250, - traitModifiers: [0, 0, -3, 0, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "eyes", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 246, - name: "APY Shades", - setId: [122], + name: "Rarity Farming SZN2 XP 3rd Place", //8 + description: + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all gotchis in the XP category for Rarity Farming SZN 2. Impressive! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 273, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 15, y: 20, width: 34, height: 12 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 500, - traitModifiers: [1, 0, 0, 1, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "eyes", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 247, - name: "Up Arrow", - setId: [122], + name: "Rarity Farming SZN2 Raanked", //9 + description: + "This Aavegotchi achieved leaderboard ranking in at least one category during the second season of Rarity Farming. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 274, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "common", + maxQuantity: 11000, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 0, y: 24, width: 16, height: 26 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 500, - traitModifiers: [1, 0, 0, 1, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "hands", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 248, - name: "Up Only Shirt", - setId: [122], + name: "Rarity Farming SZN2 ROOKIE OF THE YEAR", //10 + description: + "This Aavegotchi was the best performing of all Haunt 2 Aavegotchis during Rarity Farming Season 2. This includes the gotchi's Base Rartity Score and ranking on the Rookie Kinship and XP leaderboards. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 275, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 12, y: 32, width: 40, height: 21 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 500, - traitModifiers: [1, 0, 0, 1, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 249, - name: "Gecko Eyes", - setId: [116, 117], + name: "Rarity Farming SZN2 1st Place Rookie Kinship", //11 + description: + "Scored across all four rounds, this Aavegotchi delivered the best rookie kinship scores for Rarity Farming SZN 2! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 276, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 19, y: 20, width: 26, height: 12 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 250, - traitModifiers: [0, 0, -2, -1, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "eyes", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 250, - name: "CoinGecko Tee", - setId: [116, 117], + name: "Rarity Farming SZN2 1st Place Rookie XP", //12 + description: + "Scored across all four rounds, this Aavegotchi delivered the best rookie XP scores for Rarity Farming SZN 2! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 277, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 12, y: 32, width: 40, height: 21 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 250, - traitModifiers: [0, 0, -2, -1, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 251, - name: "Candy Jaar", - setId: [116, 117], + name: "Rarity Farming SZN2 Kinship ROOKIE 2nd Place", //13 + description: + "Scored across all four rounds, this Aavegotchi ranked 2nd overall for Rarity Farming SZN 2 rookie kinship scores! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 278, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 1, y: 25, width: 14, height: 20 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 250, - traitModifiers: [0, 0, -1, -2, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "hands", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 252, - name: "Aastronaut Helmet", - setId: [115], + name: "Rarity Farming SZN2 XP ROOKIE 2nd Place", //14 + description: + "Scored across all four rounds, this Aavegotchi ranked 2nd overall for Rarity Farming SZN 2 rookie XP scores! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 279, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 12, y: 5, width: 40, height: 35 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 1000, - traitModifiers: [0, 0, 1, 0, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "head", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 253, - name: "Aastronaut Suit", - setId: [115], + name: "Rarity Farming SZN2 Kinship ROOKIE 3rd Place", //15 + description: + "Scored across all four rounds, this Aavegotchi ranked 3rd overall for Rarity Farming SZN 2 rookie kinship scores! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 280, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 7, y: 31, width: 50, height: 24 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 1000, - traitModifiers: [0, 0, 1, 0, 0, 0], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, + experienceBonus: 0, + kinshipBonus: 0, canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, + }, + { + name: "Rarity Farming SZN2 XP ROOKIE 3rd Place", //16 + description: + "Scored across all four rounds, this Aavegotchi ranked 3rd overall for Rarity Farming SZN 2 rookie XP scores! From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 281, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "godlike", + maxQuantity: 1, totalQuantity: 0, + setId: [], + author: "xibot", + dimensions: { x: 0, y: 0, width: 0, height: 0 }, + allowedCollaterals: [], + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 254, - name: "uGOTCHI Token", - setId: [115], + name: "Rarity Farming SZN2 Rarity Top 10", //17 + description: + "This Aavegotchi achieved a rank in the top 10 of Rarity for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 282, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "mythical", + maxQuantity: 10, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 0, y: 34, width: 12, height: 12 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 1000, - traitModifiers: [0, 0, 1, 0, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "hands", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 255, - name: "Space Helmet", - setId: [118], + name: "Rarity Farming SZN2 Kinship Top 10", //18 + description: + "This Aavegotchi achieved a rank in the top 10 of Kinship for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 283, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "mythical", + maxQuantity: 10, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 14, y: 5, width: 36, height: 35 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 100, - traitModifiers: [2, -2, 0, 0, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "head", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 256, - name: "Lil Bubble Space Suit", - setId: [118], + name: "Rarity Farming SZN2 XP Top 10", //19 + description: + "This Aavegotchi achieved a rank in the top 10 of XP for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 284, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "mythical", + maxQuantity: 10, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 7, y: 31, width: 50, height: 24 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 100, - traitModifiers: [2, -2, 0, 0, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 257, - name: "Bitcoin Guitar", - setId: [118], + name: "Rarity Farming SZN2 Rarity Top 100", //20 + description: + "This Aavegotchi achieved a rank in the top 100 of Rarity for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 285, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "legendary", + maxQuantity: 90, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 0, y: 17, width: 15, height: 38 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 100, - traitModifiers: [4, 0, 0, 0, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "hands", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 258, - name: "Taoist Robe", - setId: [120, 121], + name: "Rarity Farming SZN2 Kinship Top 100", //21 + description: + "This Aavegotchi achieved a rank in the top 100 of Kinship for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 286, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "legendary", + maxQuantity: 90, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 10, y: 31, width: 44, height: 25 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 5, - traitModifiers: [-3, 0, 0, 3, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "body", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 259, - name: "Bushy Eyebrows", - setId: [120, 121], + name: "Rarity Farming SZN2 XP Top 100", //22 + description: + "This Aavegotchi achieved a rank in the top 100 of XP for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 287, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "legendary", + maxQuantity: 90, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 16, y: 18, width: 32, height: 9 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 5, - traitModifiers: [-3, 0, 0, 3, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "eyes", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 260, - name: "Beard of Wisdom", - setId: [120, 121], + name: "Rarity Farming SZN2 XP ROOKIE Top 10", //23 + description: + "This Aavegotchi achieved a rank in the top 10 on the ROOKIE XP leaderboard for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 288, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "mythical", + maxQuantity: 10, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 25, y: 32, width: 14, height: 14 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 5, - traitModifiers: [-2, 0, 0, 4, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "face", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 261, - name: "Aantenna Bot", - setId: [119], + name: "Rarity Farming SZN2 Kinship ROOKIE Top 10", //24 + description: + "This Aavegotchi achieved a rank in the top 10 of the ROOKIE Kinship leaderboard for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 289, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "mythical", + maxQuantity: 10, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 44, y: 33, width: 17, height: 26 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 50, - traitModifiers: [0, -2, 0, 3, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "pet", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 262, - name: "Radar Eyes", - setId: [119], + name: "Rarity Farming SZN2 XP ROOKIE Top 100", //25 + description: + "This Aavegotchi achieved a rank in the top 100 on the ROOKIE XP leaderboard for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 290, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "legendary", + maxQuantity: 90, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 19, y: 20, width: 26, height: 12 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 50, - traitModifiers: [0, -2, 0, 3, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "eyes", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { - svgId: 263, - name: "Signal Headset", - setId: [119], + name: "Rarity Farming SZN2 Kinship ROOKIE Top 100", //26 + description: + "This Aavegotchi achieved a rank in the top 100 of the ROOKIE Kinship leaderboard for Rarity Farming SZN 2. From October 12 to Dec 7, 2021, the second season of Rarity Farming distributed a staggering 2 million GHST. The frenly competition featured three main leaderboards that any summoned Aavegotchi could participate in plus two additional Rookie Leaderboards for Haunt 2 Aavegotchis.", + svgId: 291, + minLevel: 0, + canBeTransferred: false, + rarityLevel: "legendary", + maxQuantity: 90, + totalQuantity: 0, + setId: [], author: "xibot", - description: "", - dimensions: { x: 11, y: 6, width: 42, height: 25 }, + dimensions: { x: 0, y: 0, width: 0, height: 0 }, allowedCollaterals: [], - minLevel: 1, - ghstPrice: "", - maxQuantity: 50, - traitModifiers: [0, -2, 0, 3, 0, 0], - canPurchaseWithGhst: false, - slotPositions: "face", - category: 0, - canBeTransferred: true, - totalQuantity: 0, + ghstPrice: 0, + traitModifiers: [0, 0, 0, 0, 0, 0], + slotPositions: "none", + category: 1, experienceBonus: 0, kinshipBonus: 0, + canPurchaseWithGhst: false, }, { svgId: 292, @@ -5792,9 +6906,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "CHAAMPION of Rarity Farming SZN3 (Rarity)", + name: "Rarity Farming SZN3 1st Place Rarity", description: - "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of RARITY for Rarity Farming SZN 3. Aamazing! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of Rarity for Rarity Farming SZN 3. Aamazing! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 316, minLevel: 0, canBeTransferred: false, @@ -5813,9 +6927,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "CHAAMPION of Rarity Farming SZN3 (Kinship)", + name: "Rarity Farming SZN3 1st Place Kinship", description: - "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of KINSHIP for Rarity Farming SZN 3. Aamazing! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of Kinship for Rarity Farming SZN 3. Aamazing! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 317, minLevel: 0, canBeTransferred: false, @@ -5834,7 +6948,7 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "CHAAMPION of Rarity Farming SZN3 (XP)", + name: "Rarity Farming SZN3 1st Place XP", description: "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of XP for Rarity Farming SZN 3. Aamazing! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 318, @@ -5855,9 +6969,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 RARITY 2nd Place", + name: "Rarity Farming SZN3 Rarity 2nd Place", description: - "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all RARITY for Rarity Farming SZN 3. Incredible! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all Rarity for Rarity Farming SZN 3. Incredible! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 319, minLevel: 0, canBeTransferred: false, @@ -5876,9 +6990,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 KINSHIP 2nd Place", + name: "Rarity Farming SZN3 Kinship 2nd Place", description: - "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all KINSHIP for Rarity Farming SZN 3. Incredible! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all Kinship for Rarity Farming SZN 3. Incredible! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 320, minLevel: 0, canBeTransferred: false, @@ -5918,9 +7032,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 RARITY 3rd Place", + name: "Rarity Farming SZN3 Rarity 3rd Place", description: - "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all RARITY for Rarity Farming SZN 3. Impressive! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all Rarity for Rarity Farming SZN 3. Impressive! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 322, minLevel: 0, canBeTransferred: false, @@ -5939,9 +7053,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 KINSHIP 3rd Place", + name: "Rarity Farming SZN3 Kinship 3rd Place", description: - "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all KINSHIP for Rarity Farming SZN 3. Impressive! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all Kinship for Rarity Farming SZN 3. Impressive! From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 323, minLevel: 0, canBeTransferred: false, @@ -6002,9 +7116,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 RARITY Top 10", + name: "Rarity Farming SZN3 Rarity Top 10", description: - "This Aavegotchi achieved a rank in the top 10 of RARITY for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 10 of Rarity for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 326, minLevel: 0, canBeTransferred: false, @@ -6023,9 +7137,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 KINSHIP Top 10", + name: "Rarity Farming SZN3 Kinship Top 10", description: - "This Aavegotchi achieved a rank in the top 10 of KINSHIP for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 10 of Kinship for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 327, minLevel: 0, canBeTransferred: false, @@ -6065,9 +7179,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 RARITY Top 100", + name: "Rarity Farming SZN3 Rarity Top 100", description: - "This Aavegotchi achieved a rank in the top 100 of RARITY for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 100 of Rarity for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 329, minLevel: 0, canBeTransferred: false, @@ -6086,9 +7200,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN3 KINSHIP Top 100", + name: "Rarity Farming SZN3 Kinship Top 100", description: - "This Aavegotchi achieved a rank in the top 100 of KINSHIP for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 100 of Kinship for Rarity Farming SZN 3. From February 24 to April 22, 2022, the third season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards increased from 5k to 7500 winning gotchis each round!", svgId: 330, minLevel: 0, canBeTransferred: false, @@ -6130,7 +7244,7 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "GOTCHI SMAASH 2022 Haalloween Party", + name: "Gotchi Smaash 2022 Haalloween Party", description: "This Aavegotchi ranked in GOTCHI SMAASH 2022, the first ever mass PvE event in the Gotchiverse. Mad Paampkins invaded Metaguild's Paartner Parcel and the Gotchiverse Citaadel during the third annual Aavegotchi Haalloween Party. 392 Aavegotchis banded together to claim victory and Alchemica candy!", svgId: 332, @@ -6177,9 +7291,9 @@ export const itemTypes: ItemTypeInput[] = [ }, { - name: "CHAAMPION of Rarity Farming SZN4 (Rarity)", + name: "Rarity Farming SZN4 1st Place Rarity", description: - "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of RARITY for Rarity Farming SZN 4. FANTASTIC! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of Rarity for Rarity Farming SZN 4. FANTASTIC! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 334, minLevel: 0, canBeTransferred: false, @@ -6198,9 +7312,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "CHAAMPION of Rarity Farming SZN4 (Kinship)", + name: "Rarity Farming SZN4 1st Place Kinship", description: - "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of KINSHIP for Rarity Farming SZN 4. FANTASTIC! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of Kinship for Rarity Farming SZN 4. FANTASTIC! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 335, minLevel: 0, canBeTransferred: false, @@ -6219,7 +7333,7 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "CHAAMPION of Rarity Farming SZN4 (XP)", + name: "Rarity Farming SZN4 1st Place XP", description: "Scored across all four rounds, this Aavegotchi is the ultimate chaampion of XP for Rarity Farming SZN 4. FANTASTIC! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 336, @@ -6240,9 +7354,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 RARITY 2nd Place", + name: "Rarity Farming SZN4 Rarity 2nd Place", description: - "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all RARITY for Rarity Farming SZN 4. Incredible! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all Rarity for Rarity Farming SZN 4. Incredible! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 337, minLevel: 0, canBeTransferred: false, @@ -6261,9 +7375,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 KINSHIP 2nd Place", + name: "Rarity Farming SZN4 Kinship 2nd Place", description: - "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all KINSHIP for Rarity Farming SZN 4. Incredible! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 2nd highest ranked of all Kinship for Rarity Farming SZN 4. Incredible! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 338, minLevel: 0, canBeTransferred: false, @@ -6303,9 +7417,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 RARITY 3rd Place", + name: "Rarity Farming SZN4 Rarity 3rd Place", description: - "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all RARITY for Rarity Farming SZN 4. Impressive! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all Rarity for Rarity Farming SZN 4. Impressive! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 340, minLevel: 0, canBeTransferred: false, @@ -6324,9 +7438,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 KINSHIP 3rd Place", + name: "Rarity Farming SZN4 Kinship 3rd Place", description: - "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all KINSHIP for Rarity Farming SZN 4. Impressive! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "Scored across all four rounds, this Aavegotchi is the 3rd highest ranked of all Kinship for Rarity Farming SZN 4. Impressive! From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 341, minLevel: 0, canBeTransferred: false, @@ -6387,9 +7501,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 RARITY Top 10", + name: "Rarity Farming SZN4 Rarity Top 10", description: - "This Aavegotchi achieved a rank in the top 10 of RARITY for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 10 of Rarity for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 344, minLevel: 0, canBeTransferred: false, @@ -6408,9 +7522,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 KINSHIP Top 10", + name: "Rarity Farming SZN4 Kinship Top 10", description: - "This Aavegotchi achieved a rank in the top 10 of KINSHIP for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 10 of Kinship for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 345, minLevel: 0, canBeTransferred: false, @@ -6450,9 +7564,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 RARITY Top 100", + name: "Rarity Farming SZN4 Rarity Top 100", description: - "This Aavegotchi achieved a rank in the top 100 of RARITY for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 100 of Rarity for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 347, minLevel: 0, canBeTransferred: false, @@ -6471,9 +7585,9 @@ export const itemTypes: ItemTypeInput[] = [ canPurchaseWithGhst: false, }, { - name: "Rarity Farming SZN4 KINSHIP Top 100", + name: "Rarity Farming SZN4 Kinship Top 100", description: - "This Aavegotchi achieved a rank in the top 100 of KINSHIP for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", + "This Aavegotchi achieved a rank in the top 100 of Kinship for Rarity Farming SZN 4. From July 28th to September 22nd, 2022, the fourth season of Rarity Farming distributed 1.5 million GHST over 8 weeks. Each of the 3 leaderboards has 7500 winning gotchis each round!", svgId: 348, minLevel: 0, canBeTransferred: false, diff --git a/diamondABI/diamond.json b/diamondABI/diamond.json index c71d96942..2fb232787 100644 --- a/diamondABI/diamond.json +++ b/diamondABI/diamond.json @@ -1 +1,9200 @@ -[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"PetOperatorApprovalForAll","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"aavegotchiClaimTime","outputs":[{"internalType":"uint256","name":"claimTime_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"allAavegotchisOfOwner","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"int16[6]","name":"modifiedNumericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"escrow","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"minimumStake","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"toNextLevel","type":"uint256"},{"internalType":"uint256","name":"usedSkillPoints","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"hauntId","type":"uint256"},{"internalType":"uint256","name":"baseRarityScore","type":"uint256"},{"internalType":"uint256","name":"modifiedRarityScore","type":"uint256"},{"internalType":"bool","name":"locked","type":"bool"},{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"items","type":"tuple[]"}],"internalType":"struct AavegotchiInfo[]","name":"aavegotchiInfos_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"batchOwnerOf","outputs":[{"internalType":"address[]","name":"owners_","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getAavegotchi","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"int16[6]","name":"modifiedNumericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"escrow","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"minimumStake","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"toNextLevel","type":"uint256"},{"internalType":"uint256","name":"usedSkillPoints","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"hauntId","type":"uint256"},{"internalType":"uint256","name":"baseRarityScore","type":"uint256"},{"internalType":"uint256","name":"modifiedRarityScore","type":"uint256"},{"internalType":"bool","name":"locked","type":"bool"},{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"items","type":"tuple[]"}],"internalType":"struct AavegotchiInfo","name":"aavegotchiInfo_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"approved_","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"approved_","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isPetOperatorForAll","outputs":[{"internalType":"bool","name":"approved_","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner_","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setPetOperatorForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"tokenIdsOfOwner","outputs":[{"internalType":"uint32[]","name":"tokenIds_","type":"uint32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ClaimAavegotchi","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"LockAavegotchi","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"string","name":"_oldName","type":"string"},{"indexed":false,"internalType":"string","name":"_newName","type":"string"}],"name":"SetAavegotchiName","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_batchId","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"SetBatchId","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"int16[4]","name":"_values","type":"int16[4]"}],"name":"SpendSkillpoints","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"UnLockAavegotchi","type":"event"},{"inputs":[{"internalType":"uint256","name":"_experience","type":"uint256"}],"name":"aavegotchiLevel","outputs":[{"internalType":"uint256","name":"level_","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"aavegotchiNameAvailable","outputs":[{"internalType":"bool","name":"available_","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"availableSkillPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int16[6]","name":"_numericTraits","type":"int16[6]"}],"name":"baseRarityScore","outputs":[{"internalType":"uint256","name":"rarityScore_","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_option","type":"uint256"},{"internalType":"uint256","name":"_stakeAmount","type":"uint256"}],"name":"claimAavegotchi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentHaunt","outputs":[{"internalType":"uint256","name":"hauntId_","type":"uint256"},{"components":[{"internalType":"uint256","name":"hauntMaxSize","type":"uint256"},{"internalType":"uint256","name":"portalPrice","type":"uint256"},{"internalType":"bytes3","name":"bodyColor","type":"bytes3"},{"internalType":"uint24","name":"totalCount","type":"uint24"}],"internalType":"struct Haunt","name":"haunt_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getNumericTraits","outputs":[{"internalType":"int16[6]","name":"numericTraits_","type":"int16[6]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ghstAddress","outputs":[{"internalType":"address","name":"contract_","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"interact","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"isAavegotchiLocked","outputs":[{"internalType":"bool","name":"isLocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"kinship","outputs":[{"internalType":"uint256","name":"score_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"modifiedTraitsAndRarityScore","outputs":[{"internalType":"int16[6]","name":"numericTraits_","type":"int16[6]"},{"internalType":"uint256","name":"rarityScore_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"portalAavegotchiTraits","outputs":[{"components":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"address","name":"collateralType","type":"address"},{"internalType":"uint256","name":"minimumStake","type":"uint256"}],"internalType":"struct PortalAavegotchiTraitsIO[10]","name":"portalAavegotchiTraits_","type":"tuple[10]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int16[6]","name":"_numericTraits","type":"int16[6]"}],"name":"rarityMultiplier","outputs":[{"internalType":"uint256","name":"multiplier_","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"realmInteract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revenueShares","outputs":[{"components":[{"internalType":"address","name":"burnAddress","type":"address"},{"internalType":"address","name":"daoAddress","type":"address"},{"internalType":"address","name":"rarityFarming","type":"address"},{"internalType":"address","name":"pixelCraft","type":"address"}],"internalType":"struct AavegotchiGameFacet.RevenueSharesIO","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"}],"name":"setAavegotchiName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_realm","type":"address"}],"name":"setRealmAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"int16[4]","name":"_values","type":"int16[4]"}],"name":"spendSkillPoints","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_count","type":"uint256"},{"internalType":"uint256","name":"_skip","type":"uint256"},{"internalType":"bool","name":"all","type":"bool"}],"name":"tokenIdsWithKinship","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"}],"internalType":"struct AavegotchiGameFacet.TokenIdsWithKinship[]","name":"tokenIdsWithKinship_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_experience","type":"uint256"}],"name":"xpUntilNextLevel","outputs":[{"internalType":"uint256","name":"requiredXp_","type":"uint256"}],"stateMutability":"pure","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"AddedAavegotchiBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"AddedItemsBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"WithdrawnBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"WithdrawnItems","type":"event"},{"inputs":[],"name":"childChainManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bytes","name":"_depositData","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newChildChainManager","type":"address"}],"name":"setChildChainManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"withdrawAavegotchiBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"withdrawItemsBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_reduceAmount","type":"uint256"}],"name":"DecreaseStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"experience","type":"uint256"}],"name":"ExperienceTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_stakeAmount","type":"uint256"}],"name":"IncreaseStake","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"collateralBalance","outputs":[{"internalType":"address","name":"collateralType_","type":"address"},{"internalType":"address","name":"escrow_","type":"address"},{"internalType":"uint256","name":"balance_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hauntId","type":"uint256"},{"internalType":"uint256","name":"_collateralId","type":"uint256"}],"name":"collateralInfo","outputs":[{"components":[{"internalType":"address","name":"collateralType","type":"address"},{"components":[{"internalType":"int16[6]","name":"modifiers","type":"int16[6]"},{"internalType":"bytes3","name":"primaryColor","type":"bytes3"},{"internalType":"bytes3","name":"secondaryColor","type":"bytes3"},{"internalType":"bytes3","name":"cheekColor","type":"bytes3"},{"internalType":"uint8","name":"svgId","type":"uint8"},{"internalType":"uint8","name":"eyeShapeSvgId","type":"uint8"},{"internalType":"uint16","name":"conversionRate","type":"uint16"},{"internalType":"bool","name":"delisted","type":"bool"}],"internalType":"struct AavegotchiCollateralTypeInfo","name":"collateralTypeInfo","type":"tuple"}],"internalType":"struct AavegotchiCollateralTypeIO","name":"collateralInfo_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hauntId","type":"uint256"}],"name":"collaterals","outputs":[{"internalType":"address[]","name":"collateralTypes_","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_toId","type":"uint256"}],"name":"decreaseAndDestroy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_reduceAmount","type":"uint256"}],"name":"decreaseStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllCollateralTypes","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hauntId","type":"uint256"}],"name":"getCollateralInfo","outputs":[{"components":[{"internalType":"address","name":"collateralType","type":"address"},{"components":[{"internalType":"int16[6]","name":"modifiers","type":"int16[6]"},{"internalType":"bytes3","name":"primaryColor","type":"bytes3"},{"internalType":"bytes3","name":"secondaryColor","type":"bytes3"},{"internalType":"bytes3","name":"cheekColor","type":"bytes3"},{"internalType":"uint8","name":"svgId","type":"uint8"},{"internalType":"uint8","name":"eyeShapeSvgId","type":"uint8"},{"internalType":"uint16","name":"conversionRate","type":"uint16"},{"internalType":"bool","name":"delisted","type":"bool"}],"internalType":"struct AavegotchiCollateralTypeInfo","name":"collateralTypeInfo","type":"tuple"}],"internalType":"struct AavegotchiCollateralTypeIO[]","name":"collateralInfo_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_stakeAmount","type":"uint256"}],"name":"increaseStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_collateralToken","type":"address"},{"internalType":"uint8","name":"_svgId","type":"uint8"}],"name":"setCollateralEyeShapeSvgId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"collateralType","type":"address"},{"components":[{"internalType":"int16[6]","name":"modifiers","type":"int16[6]"},{"internalType":"bytes3","name":"primaryColor","type":"bytes3"},{"internalType":"bytes3","name":"secondaryColor","type":"bytes3"},{"internalType":"bytes3","name":"cheekColor","type":"bytes3"},{"internalType":"uint8","name":"svgId","type":"uint8"},{"internalType":"uint8","name":"eyeShapeSvgId","type":"uint8"},{"internalType":"uint16","name":"conversionRate","type":"uint16"},{"internalType":"bool","name":"delisted","type":"bool"}],"internalType":"struct AavegotchiCollateralTypeInfo","name":"collateralTypeInfo","type":"tuple"}],"indexed":false,"internalType":"struct AavegotchiCollateralTypeIO","name":"_collateralType","type":"tuple"}],"name":"AddCollateralType","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"indexed":false,"internalType":"struct ItemType","name":"_itemType","type":"tuple"}],"name":"AddItemType","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"internalType":"uint16[]","name":"wearableIds","type":"uint16[]"},{"internalType":"int8[5]","name":"traitsBonuses","type":"int8[5]"}],"indexed":false,"internalType":"struct WearableSet","name":"_wearableSet","type":"tuple"}],"name":"AddWearableSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_hauntId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_hauntMaxSize","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_portalPrice","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"_bodyColor","type":"bytes32"}],"name":"CreateHaunt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousDao","type":"address"},{"indexed":true,"internalType":"address","name":"newDao","type":"address"}],"name":"DaoTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousDaoTreasury","type":"address"},{"indexed":true,"internalType":"address","name":"newDaoTreasury","type":"address"}],"name":"DaoTreasuryTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousForge","type":"address"},{"indexed":true,"internalType":"address","name":"newForge","type":"address"}],"name":"ForgeTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gameManager_","type":"address"},{"indexed":true,"internalType":"uint256","name":"limit_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"refreshTime_","type":"uint256"}],"name":"GameManagerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gameManager_","type":"address"}],"name":"GameManagerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_xpValues","type":"uint256[]"}],"name":"GrantExperience","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newItemManager_","type":"address"}],"name":"ItemManagerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"itemManager_","type":"address"}],"name":"ItemManagerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_wearableId","type":"uint256"},{"indexed":false,"internalType":"int8[6]","name":"_traitModifiers","type":"int8[6]"},{"indexed":false,"internalType":"uint8","name":"_rarityScoreModifier","type":"uint8"}],"name":"ItemModifiersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_maxQuanities","type":"uint256[]"}],"name":"ItemTypeMaxQuantity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_xpValues","type":"uint256[]"}],"name":"RemoveExperience","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int16[6]","name":"_oldModifiers","type":"int16[6]"},{"indexed":false,"internalType":"int16[6]","name":"_newModifiers","type":"int16[6]"}],"name":"UpdateCollateralModifiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_itemId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_priceInWei","type":"uint256"}],"name":"UpdateItemPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"indexed":false,"internalType":"struct ItemType","name":"_itemType","type":"tuple"}],"name":"UpdateItemType","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_setId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"internalType":"uint16[]","name":"wearableIds","type":"uint16[]"},{"internalType":"int8[5]","name":"traitsBonuses","type":"int8[5]"}],"indexed":false,"internalType":"struct WearableSet","name":"_wearableSet","type":"tuple"}],"name":"UpdateWearableSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_wearableId","type":"uint256"},{"indexed":false,"internalType":"bool[16]","name":"_slotPositions","type":"bool[16]"}],"name":"WearableSlotPositionsSet","type":"event"},{"inputs":[{"internalType":"uint256","name":"_hauntId","type":"uint256"},{"components":[{"internalType":"address","name":"collateralType","type":"address"},{"components":[{"internalType":"int16[6]","name":"modifiers","type":"int16[6]"},{"internalType":"bytes3","name":"primaryColor","type":"bytes3"},{"internalType":"bytes3","name":"secondaryColor","type":"bytes3"},{"internalType":"bytes3","name":"cheekColor","type":"bytes3"},{"internalType":"uint8","name":"svgId","type":"uint8"},{"internalType":"uint8","name":"eyeShapeSvgId","type":"uint8"},{"internalType":"uint16","name":"conversionRate","type":"uint16"},{"internalType":"bool","name":"delisted","type":"bool"}],"internalType":"struct AavegotchiCollateralTypeInfo","name":"collateralTypeInfo","type":"tuple"}],"internalType":"struct AavegotchiCollateralTypeIO[]","name":"_collateralTypes","type":"tuple[]"}],"name":"addCollateralTypes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_newGameManagers","type":"address[]"},{"internalType":"uint256[]","name":"_limits","type":"uint256[]"}],"name":"addGameManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_newItemManagers","type":"address[]"}],"name":"addItemManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType[]","name":"_itemTypes","type":"tuple[]"}],"name":"addItemTypes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType[]","name":"_itemTypes","type":"tuple[]"},{"internalType":"string","name":"_svg","type":"string"},{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"internalType":"struct LibSvg.SvgTypeAndSizes[]","name":"_typesAndSizes","type":"tuple[]"}],"name":"addItemTypesAndSvgs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"internalType":"uint16[]","name":"wearableIds","type":"uint16[]"},{"internalType":"int8[5]","name":"traitsBonuses","type":"int8[5]"}],"internalType":"struct WearableSet[]","name":"_wearableSets","type":"tuple[]"}],"name":"addWearableSets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_newPrices","type":"uint256[]"}],"name":"batchUpdateItemsPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_hauntMaxSize","type":"uint24"},{"internalType":"uint96","name":"_portalPrice","type":"uint96"},{"internalType":"bytes3","name":"_bodyColor","type":"bytes3"}],"name":"createHaunt","outputs":[{"internalType":"uint256","name":"hauntId_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint24","name":"_hauntMaxSize","type":"uint24"},{"internalType":"uint96","name":"_portalPrice","type":"uint96"},{"internalType":"bytes3","name":"_bodyColor","type":"bytes3"},{"components":[{"internalType":"address","name":"collateralType","type":"address"},{"components":[{"internalType":"int16[6]","name":"modifiers","type":"int16[6]"},{"internalType":"bytes3","name":"primaryColor","type":"bytes3"},{"internalType":"bytes3","name":"secondaryColor","type":"bytes3"},{"internalType":"bytes3","name":"cheekColor","type":"bytes3"},{"internalType":"uint8","name":"svgId","type":"uint8"},{"internalType":"uint8","name":"eyeShapeSvgId","type":"uint8"},{"internalType":"uint16","name":"conversionRate","type":"uint16"},{"internalType":"bool","name":"delisted","type":"bool"}],"internalType":"struct AavegotchiCollateralTypeInfo","name":"collateralTypeInfo","type":"tuple"}],"internalType":"struct AavegotchiCollateralTypeIO[]","name":"_collateralTypes","type":"tuple[]"},{"internalType":"string","name":"_collateralSvg","type":"string"},{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"internalType":"struct LibSvg.SvgTypeAndSizes[]","name":"_collateralTypesAndSizes","type":"tuple[]"},{"internalType":"string","name":"_eyeShapeSvg","type":"string"},{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"internalType":"struct LibSvg.SvgTypeAndSizes[]","name":"_eyeShapeTypesAndSizes","type":"tuple[]"}],"internalType":"struct DAOFacet.CreateHauntPayload","name":"_payload","type":"tuple"}],"name":"createHauntWithPayload","outputs":[{"internalType":"uint256","name":"hauntId_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"gameManagerBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"gameManagerRefreshTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_xpValues","type":"uint256[]"}],"name":"grantExperience","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"isGameManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_quantities","type":"uint256[]"}],"name":"mintItems","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_xpValues","type":"uint256[]"}],"name":"removeExperience","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_gameManagers","type":"address[]"}],"name":"removeGameManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_itemManagers","type":"address[]"}],"name":"removeItemManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newDao","type":"address"},{"internalType":"address","name":"_newDaoTreasury","type":"address"}],"name":"setDao","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newForge","type":"address"}],"name":"setForge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_wearableId","type":"uint256"},{"internalType":"int8[6]","name":"_traitModifiers","type":"int8[6]"},{"internalType":"uint8","name":"_rarityScoreModifier","type":"uint8"}],"name":"setItemTraitModifiersAndRarityModifier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_wearableId","type":"uint256"},{"internalType":"bool[16]","name":"_slotPositions","type":"bool[16]"}],"name":"setWearableSlotPositions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_collateralType","type":"address"},{"internalType":"int16[6]","name":"_modifiers","type":"int16[6]"}],"name":"updateCollateralModifiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_maxQuantities","type":"uint256[]"}],"name":"updateItemTypeMaxQuantity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_indices","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType[]","name":"_itemTypes","type":"tuple[]"}],"name":"updateItemTypes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_setIds","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"internalType":"uint16[]","name":"wearableIds","type":"uint16[]"},{"internalType":"int8[5]","name":"traitsBonuses","type":"int8[5]"}],"internalType":"struct WearableSet[]","name":"_wearableSets","type":"tuple[]"}],"name":"updateWearableSets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"listingFeeInWei","type":"uint256"}],"name":"ChangedListingFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_quantity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceInWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC1155ExecutedListing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"}],"name":"ERC1155ExecutedToRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceInWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC1155ListingAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"}],"name":"ERC1155ListingCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"indexed":false,"internalType":"address","name":"affiliate","type":"address"}],"name":"ERC1155ListingSplit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"}],"name":"ERC1155ListingWhitelistSet","type":"event"},{"inputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"internalType":"struct ERC1155MarketplaceFacet.ExecuteERC1155ListingParams[]","name":"listings","type":"tuple[]"}],"name":"batchExecuteERC1155Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_listingIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_quantities","type":"uint256[]"},{"internalType":"uint256[]","name":"_priceInWeis","type":"uint256[]"}],"name":"batchUpdateERC1155ListingPriceAndQuantity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"}],"name":"cancelERC1155Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_listingIds","type":"uint256[]"}],"name":"cancelERC1155Listings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"}],"name":"executeERC1155Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"},{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_itemId","type":"uint256"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"executeERC1155ListingToRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc1155TypeId","type":"uint256"}],"name":"getERC1155Category","outputs":[{"internalType":"uint256","name":"category_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"}],"internalType":"struct ERC1155MarketplaceFacet.Category[]","name":"_categories","type":"tuple[]"}],"name":"setERC1155Categories","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"}],"name":"setERC1155Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"},{"internalType":"uint16[2]","name":"_principalSplit","type":"uint16[2]"},{"internalType":"address","name":"_affiliate","type":"address"}],"name":"setERC1155ListingWithSplit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"},{"internalType":"uint16[2]","name":"_principalSplit","type":"uint16[2]"},{"internalType":"address","name":"_affiliate","type":"address"},{"internalType":"uint32","name":"_whitelistId","type":"uint32"}],"name":"setERC1155ListingWithWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingFeeInWei","type":"uint256"}],"name":"setListingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256[]","name":"_erc1155TypeIds","type":"uint256[]"},{"internalType":"address","name":"_owner","type":"address"}],"name":"updateBatchERC1155Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc1155TypeId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"updateERC1155Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"}],"name":"updateERC1155ListingPriceAndQuantity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"address","name":"erc721TokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceInWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC721ExecutedListing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"}],"name":"ERC721ExecutedToRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"address","name":"erc721TokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC721ListingAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"indexed":false,"internalType":"address","name":"affiliate","type":"address"}],"name":"ERC721ListingSplit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"}],"name":"ERC721ListingWhitelistSet","type":"event"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"}],"name":"addERC721Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"},{"internalType":"uint16[2]","name":"_principalSplit","type":"uint16[2]"},{"internalType":"address","name":"_affiliate","type":"address"}],"name":"addERC721ListingWithSplit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"},{"internalType":"uint16[2]","name":"_principalSplit","type":"uint16[2]"},{"internalType":"address","name":"_affiliate","type":"address"},{"internalType":"uint32","name":"_whitelistId","type":"uint32"}],"name":"addERC721ListingWithWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"internalType":"struct ERC721MarketplaceFacet.ExecuteERC721ListingParams[]","name":"listings","type":"tuple[]"}],"name":"batchExecuteERC721Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_listingIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_priceInWeis","type":"uint256[]"}],"name":"batchUpdateERC721ListingPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"}],"name":"cancelERC721Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"}],"name":"cancelERC721ListingByToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_listingIds","type":"uint256[]"}],"name":"cancelERC721Listings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"},{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"executeERC721ListingToRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"}],"name":"getERC721Category","outputs":[{"internalType":"uint256","name":"category_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"category","type":"uint256"}],"internalType":"struct ERC721MarketplaceFacet.Category[]","name":"_categories","type":"tuple[]"}],"name":"setERC721Categories","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"updateERC721Listing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"},{"internalType":"uint256","name":"_priceInWei","type":"uint256"}],"name":"updateERC721ListingPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_erc20Contract","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_depositAmount","type":"uint256"}],"name":"Erc20Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"_erc20Contract","type":"address"},{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_transferAmount","type":"uint256"}],"name":"TransferEscrow","type":"event"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"address[]","name":"_erc20Contracts","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"batchDepositERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"batchDepositGHST","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_erc20Contract","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"depositERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_erc20Contract","type":"address"}],"name":"escrowBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"gotchiEscrow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_erc20Contract","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_transferAmount","type":"uint256"}],"name":"transferEscrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"},{"internalType":"uint96","name":"_initialCost","type":"uint96"},{"internalType":"uint32","name":"_period","type":"uint32"},{"internalType":"uint8[3]","name":"_revenueSplit","type":"uint8[3]"},{"internalType":"address","name":"_originalOwner","type":"address"},{"internalType":"address","name":"_thirdParty","type":"address"},{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"address[]","name":"_revenueTokens","type":"address[]"}],"name":"addGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"tokenId","type":"uint32"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLendingFacet.AddGotchiListing","name":"p","type":"tuple"}],"name":"addGotchiListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_listingId","type":"uint32"},{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"},{"internalType":"uint96","name":"_initialCost","type":"uint96"},{"internalType":"uint32","name":"_period","type":"uint32"},{"internalType":"uint8[3]","name":"_revenueSplit","type":"uint8[3]"}],"name":"agreeGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"tokenId","type":"uint32"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLendingFacet.AddGotchiListing[]","name":"listings","type":"tuple[]"}],"name":"batchAddGotchiListing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_listingIds","type":"uint32[]"}],"name":"batchCancelGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_erc721TokenIds","type":"uint32[]"}],"name":"batchCancelGotchiLendingByToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_tokenIds","type":"uint32[]"}],"name":"batchClaimAndEndAndRelistGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_tokenIds","type":"uint32[]"}],"name":"batchClaimAndEndGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_tokenIds","type":"uint32[]"}],"name":"batchClaimGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"tokenId","type":"uint32"},{"internalType":"uint32","name":"extension","type":"uint32"}],"internalType":"struct GotchiLendingFacet.BatchRenew[]","name":"_batchRenewParams","type":"tuple[]"}],"name":"batchExtendGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_listingId","type":"uint32"}],"name":"cancelGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"}],"name":"cancelGotchiLendingByToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_tokenId","type":"uint32"}],"name":"claimAndEndAndRelistGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_tokenId","type":"uint32"}],"name":"claimAndEndGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_tokenId","type":"uint32"}],"name":"claimGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_tokenId","type":"uint32"},{"internalType":"uint32","name":"extension","type":"uint32"}],"name":"extendGotchiLending","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint16[16]","name":"_oldWearables","type":"uint16[16]"},{"indexed":false,"internalType":"uint16[16]","name":"_newWearables","type":"uint16[16]"}],"name":"EquipWearables","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_toContract","type":"address"},{"indexed":true,"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenTypeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferToParent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_quantities","type":"uint256[]"}],"name":"UseConsumables","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"bal_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"bals","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"balanceOfToken","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint16[16]","name":"_wearablesToEquip","type":"uint16[16]"}],"name":"equipWearables","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"equippedWearables","outputs":[{"internalType":"uint16[16]","name":"wearableIds_","type":"uint16[16]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_itemId","type":"uint256"}],"name":"getItemType","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"}],"name":"getItemTypes","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType[]","name":"itemTypes_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"itemBalances","outputs":[{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"balance","type":"uint256"}],"internalType":"struct ItemsFacet.ItemIdIO[]","name":"bals_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"itemBalancesOfToken","outputs":[{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"balance","type":"uint256"}],"internalType":"struct ItemsFacet.ItemIdIO[]","name":"bals_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"itemBalancesOfTokenWithTypes","outputs":[{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"itemBalancesOfTokenWithTypes_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"itemBalancesWithTypes","outputs":[{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"output_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_value","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_quantities","type":"uint256[]"}],"name":"useConsumables","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_toContract","type":"address"},{"internalType":"uint256[]","name":"_toTokenIds","type":"uint256[]"},{"internalType":"uint256[][]","name":"_ids","type":"uint256[][]"},{"internalType":"uint256[][]","name":"_values","type":"uint256[][]"}],"name":"batchBatchTransferToParent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fromContract","type":"address"},{"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"internalType":"address","name":"_toContract","type":"address"},{"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"batchTransferAsChild","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fromContract","type":"address"},{"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"batchTransferFromParent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_toContract","type":"address"},{"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"batchTransferToParent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"extractItemsFromDiamond","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"extractItemsFromSacrificedGotchi","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fromContract","type":"address"},{"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"internalType":"address","name":"_toContract","type":"address"},{"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferAsChild","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fromContract","type":"address"},{"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFromParent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_toContract","type":"address"},{"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferToParent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lender","type":"address"},{"indexed":true,"internalType":"address","name":"lendingOperator","type":"address"},{"indexed":true,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"bool","name":"isLendingOperator","type":"bool"}],"name":"LendingOperatorSet","type":"event"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"allowRevenueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lender","type":"address"}],"name":"balanceOfLentGotchis","outputs":[{"internalType":"uint256","name":"balance_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lendingOperator","type":"address"},{"components":[{"internalType":"uint32","name":"_tokenId","type":"uint32"},{"internalType":"bool","name":"_isLendingOperator","type":"bool"}],"internalType":"struct LendingGetterAndSetterFacet.LendingOperatorInputs[]","name":"_inputs","type":"tuple[]"}],"name":"batchSetLendingOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"disallowRevenueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"}],"name":"getGotchiLendingFromToken","outputs":[{"components":[{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint32","name":"listingId","type":"uint32"},{"internalType":"uint32","name":"erc721TokenId","type":"uint32"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"uint40","name":"timeCreated","type":"uint40"},{"internalType":"uint40","name":"timeAgreed","type":"uint40"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"uint40","name":"lastClaimed","type":"uint40"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLending","name":"listing_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"}],"name":"getGotchiLendingIdByToken","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_listingId","type":"uint32"}],"name":"getGotchiLendingListingInfo","outputs":[{"components":[{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint32","name":"listingId","type":"uint32"},{"internalType":"uint32","name":"erc721TokenId","type":"uint32"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"uint40","name":"timeCreated","type":"uint40"},{"internalType":"uint40","name":"timeAgreed","type":"uint40"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"uint40","name":"lastClaimed","type":"uint40"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLending","name":"listing_","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"int16[6]","name":"modifiedNumericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"escrow","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"minimumStake","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"toNextLevel","type":"uint256"},{"internalType":"uint256","name":"usedSkillPoints","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"hauntId","type":"uint256"},{"internalType":"uint256","name":"baseRarityScore","type":"uint256"},{"internalType":"uint256","name":"modifiedRarityScore","type":"uint256"},{"internalType":"bool","name":"locked","type":"bool"},{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"items","type":"tuple[]"}],"internalType":"struct AavegotchiInfo","name":"aavegotchiInfo_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_status","type":"bytes32"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getGotchiLendings","outputs":[{"components":[{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint32","name":"listingId","type":"uint32"},{"internalType":"uint32","name":"erc721TokenId","type":"uint32"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"uint40","name":"timeCreated","type":"uint40"},{"internalType":"uint40","name":"timeAgreed","type":"uint40"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"uint40","name":"lastClaimed","type":"uint40"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLending[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGotchiLendingsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_listingId","type":"uint32"}],"name":"getLendingListingInfo","outputs":[{"components":[{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint32","name":"listingId","type":"uint32"},{"internalType":"uint32","name":"erc721TokenId","type":"uint32"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"uint40","name":"timeCreated","type":"uint40"},{"internalType":"uint40","name":"timeAgreed","type":"uint40"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"uint40","name":"lastClaimed","type":"uint40"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLending","name":"listing_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lender","type":"address"}],"name":"getLentTokenIdsOfLender","outputs":[{"internalType":"uint32[]","name":"tokenIds_","type":"uint32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lender","type":"address"},{"internalType":"bytes32","name":"_status","type":"bytes32"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getOwnerGotchiLendings","outputs":[{"components":[{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint96","name":"initialCost","type":"uint96"},{"internalType":"address","name":"borrower","type":"address"},{"internalType":"uint32","name":"listingId","type":"uint32"},{"internalType":"uint32","name":"erc721TokenId","type":"uint32"},{"internalType":"uint32","name":"whitelistId","type":"uint32"},{"internalType":"address","name":"originalOwner","type":"address"},{"internalType":"uint40","name":"timeCreated","type":"uint40"},{"internalType":"uint40","name":"timeAgreed","type":"uint40"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"address","name":"thirdParty","type":"address"},{"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"internalType":"uint40","name":"lastClaimed","type":"uint40"},{"internalType":"uint32","name":"period","type":"uint32"},{"internalType":"address[]","name":"revenueTokens","type":"address[]"}],"internalType":"struct GotchiLending[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lender","type":"address"},{"internalType":"bytes32","name":"_status","type":"bytes32"}],"name":"getOwnerGotchiLendingsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_tokenId","type":"uint32"},{"internalType":"address[]","name":"_revenueTokens","type":"address[]"}],"name":"getTokenBalancesInEscrow","outputs":[{"internalType":"uint256[]","name":"revenueBalances","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"}],"name":"isAavegotchiLent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_erc721TokenId","type":"uint32"}],"name":"isAavegotchiListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lender","type":"address"},{"internalType":"address","name":"_lendingOperator","type":"address"},{"internalType":"uint32","name":"_tokenId","type":"uint32"}],"name":"isLendingOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"revenueTokenAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lendingOperator","type":"address"},{"internalType":"uint32","name":"_tokenId","type":"uint32"},{"internalType":"bool","name":"_isLendingOperator","type":"bool"}],"name":"setLendingOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"}],"name":"getAavegotchiListing","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing","name":"listing_","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"int16[6]","name":"modifiedNumericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"escrow","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"minimumStake","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"toNextLevel","type":"uint256"},{"internalType":"uint256","name":"usedSkillPoints","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"hauntId","type":"uint256"},{"internalType":"uint256","name":"baseRarityScore","type":"uint256"},{"internalType":"uint256","name":"modifiedRarityScore","type":"uint256"},{"internalType":"bool","name":"locked","type":"bool"},{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"items","type":"tuple[]"}],"internalType":"struct AavegotchiInfo","name":"aavegotchiInfo_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"string","name":"_sort","type":"string"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getAavegotchiListings","outputs":[{"components":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing","name":"listing_","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"int16[6]","name":"modifiedNumericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"escrow","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"minimumStake","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"toNextLevel","type":"uint256"},{"internalType":"uint256","name":"usedSkillPoints","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"hauntId","type":"uint256"},{"internalType":"uint256","name":"baseRarityScore","type":"uint256"},{"internalType":"uint256","name":"modifiedRarityScore","type":"uint256"},{"internalType":"bool","name":"locked","type":"bool"},{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"items","type":"tuple[]"}],"internalType":"struct AavegotchiInfo","name":"aavegotchiInfo_","type":"tuple"}],"internalType":"struct MarketplaceGetterFacet.AavegotchiListing[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"}],"name":"getERC1155Listing","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timeLastPurchased","type":"uint256"},{"internalType":"uint256","name":"sourceListingId","type":"uint256"},{"internalType":"bool","name":"sold","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC1155Listing","name":"listing_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc1155TypeId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"getERC1155ListingFromToken","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timeLastPurchased","type":"uint256"},{"internalType":"uint256","name":"sourceListingId","type":"uint256"},{"internalType":"bool","name":"sold","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC1155Listing","name":"listing_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"string","name":"_sort","type":"string"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getERC1155Listings","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timeLastPurchased","type":"uint256"},{"internalType":"uint256","name":"sourceListingId","type":"uint256"},{"internalType":"bool","name":"sold","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC1155Listing[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_listingId","type":"uint256"}],"name":"getERC721Listing","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing","name":"listing_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"_erc721TokenId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"getERC721ListingFromToken","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing","name":"listing_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"string","name":"_sort","type":"string"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getERC721Listings","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getListingFeeInWei","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"string","name":"_sort","type":"string"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getOwnerAavegotchiListings","outputs":[{"components":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing","name":"listing_","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"status","type":"uint256"},{"internalType":"int16[6]","name":"numericTraits","type":"int16[6]"},{"internalType":"int16[6]","name":"modifiedNumericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"},{"internalType":"address","name":"collateral","type":"address"},{"internalType":"address","name":"escrow","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"minimumStake","type":"uint256"},{"internalType":"uint256","name":"kinship","type":"uint256"},{"internalType":"uint256","name":"lastInteracted","type":"uint256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"toNextLevel","type":"uint256"},{"internalType":"uint256","name":"usedSkillPoints","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"hauntId","type":"uint256"},{"internalType":"uint256","name":"baseRarityScore","type":"uint256"},{"internalType":"uint256","name":"modifiedRarityScore","type":"uint256"},{"internalType":"bool","name":"locked","type":"bool"},{"components":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"author","type":"string"},{"internalType":"int8[6]","name":"traitModifiers","type":"int8[6]"},{"internalType":"bool[16]","name":"slotPositions","type":"bool[16]"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"},{"internalType":"uint256","name":"ghstPrice","type":"uint256"},{"internalType":"uint256","name":"maxQuantity","type":"uint256"},{"internalType":"uint256","name":"totalQuantity","type":"uint256"},{"internalType":"uint32","name":"svgId","type":"uint32"},{"internalType":"uint8","name":"rarityScoreModifier","type":"uint8"},{"internalType":"bool","name":"canPurchaseWithGhst","type":"bool"},{"internalType":"uint16","name":"minLevel","type":"uint16"},{"internalType":"bool","name":"canBeTransferred","type":"bool"},{"internalType":"uint8","name":"category","type":"uint8"},{"internalType":"int16","name":"kinshipBonus","type":"int16"},{"internalType":"uint32","name":"experienceBonus","type":"uint32"}],"internalType":"struct ItemType","name":"itemType","type":"tuple"}],"internalType":"struct ItemTypeIO[]","name":"items","type":"tuple[]"}],"internalType":"struct AavegotchiInfo","name":"aavegotchiInfo_","type":"tuple"}],"internalType":"struct MarketplaceGetterFacet.AavegotchiListing[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"string","name":"_sort","type":"string"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getOwnerERC1155Listings","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc1155TokenAddress","type":"address"},{"internalType":"uint256","name":"erc1155TypeId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timeLastPurchased","type":"uint256"},{"internalType":"uint256","name":"sourceListingId","type":"uint256"},{"internalType":"bool","name":"sold","type":"bool"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC1155Listing[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_category","type":"uint256"},{"internalType":"string","name":"_sort","type":"string"},{"internalType":"uint256","name":"_length","type":"uint256"}],"name":"getOwnerERC721Listings","outputs":[{"components":[{"internalType":"uint256","name":"listingId","type":"uint256"},{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"erc721TokenAddress","type":"address"},{"internalType":"uint256","name":"erc721TokenId","type":"uint256"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"uint256","name":"priceInWei","type":"uint256"},{"internalType":"uint256","name":"timeCreated","type":"uint256"},{"internalType":"uint256","name":"timePurchased","type":"uint256"},{"internalType":"bool","name":"cancelled","type":"bool"},{"internalType":"uint16[2]","name":"principalSplit","type":"uint16[2]"},{"internalType":"address","name":"affiliate","type":"address"},{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"internalType":"struct ERC721Listing[]","name":"listings_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_propIds","type":"bytes32[]"},{"internalType":"address[]","name":"_claimers","type":"address[]"},{"internalType":"uint256[][]","name":"_gotchiIds","type":"uint256[][]"},{"internalType":"bytes32[][]","name":"_proofs","type":"bytes32[][]"},{"internalType":"uint256[][]","name":"_onlyGotchis","type":"uint256[][]"}],"name":"batchDropClaimXPDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_propId","type":"bytes32"},{"internalType":"address[]","name":"_claimers","type":"address[]"},{"internalType":"uint256[][]","name":"_gotchiIds","type":"uint256[][]"},{"internalType":"bytes32[][]","name":"_proofs","type":"bytes32[][]"},{"internalType":"uint256[][]","name":"_onlyGotchis","type":"uint256[][]"}],"name":"batchGotchiClaimXPDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_propId","type":"bytes32"},{"internalType":"address","name":"_claimer","type":"address"},{"internalType":"uint256[]","name":"_gotchiId","type":"uint256[]"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"},{"internalType":"uint256[]","name":"_onlyGotchis","type":"uint256[]"}],"name":"claimXPDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_propId","type":"bytes32"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"_xpAmount","type":"uint256"}],"name":"createXPDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_propId","type":"bytes32"},{"internalType":"uint256","name":"_gotchId","type":"uint256"}],"name":"isClaimed","outputs":[{"internalType":"uint256","name":"claimed_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_propId","type":"bytes32"}],"name":"viewXPDrop","outputs":[{"components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"xpAmount","type":"uint256"}],"internalType":"struct XPMerkleDrops","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address payable","name":"relayerAddress","type":"address"},{"indexed":false,"internalType":"bytes","name":"functionSignature","type":"bytes"}],"name":"MetaTransactionExecuted","type":"event"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bytes","name":"functionSignature","type":"bytes"},{"internalType":"bytes32","name":"sigR","type":"bytes32"},{"internalType":"bytes32","name":"sigS","type":"bytes32"},{"internalType":"uint8","name":"sigV","type":"uint8"}],"name":"executeMetaTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"peripherySafeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"peripherySafeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"},{"internalType":"address","name":"_onBehalfOf","type":"address"}],"name":"peripherySetApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_value","type":"string"}],"name":"peripherySetBaseURI","outputs":[{"internalType":"uint256","name":"_itemsLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeInterface","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_periphery","type":"address"}],"name":"setPeriphery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_numAavegotchisToPurchase","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_totalPrice","type":"uint256"}],"name":"BuyPortals","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_numAavegotchisToPurchase","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_hauntId","type":"uint256"}],"name":"MintPortals","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_buyer","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_quantities","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"_totalPrice","type":"uint256"}],"name":"PurchaseItemsWithGhst","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_buyer","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_quantities","type":"uint256[]"}],"name":"PurchaseItemsWithVouchers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_buyer","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_quantities","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"_totalPrice","type":"uint256"}],"name":"PurchaseTransferItemsWithGhst","type":"event"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_ghst","type":"uint256"}],"name":"buyPortals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintPortals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_quantities","type":"uint256[]"}],"name":"purchaseItemsWithGhst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"_quantities","type":"uint256[]"}],"name":"purchaseTransferItemsWithGhst","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_svgType","type":"bytes32"},{"internalType":"uint256","name":"_numLayers","type":"uint256"}],"name":"deleteLastSvgLayers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getAavegotchiSvg","outputs":[{"internalType":"string","name":"ag_","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_itemId","type":"uint256"}],"name":"getItemSvg","outputs":[{"internalType":"string","name":"ag_","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextSleeveId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_svgType","type":"bytes32"},{"internalType":"uint256","name":"_itemId","type":"uint256"}],"name":"getSvg","outputs":[{"internalType":"string","name":"svg_","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_svgType","type":"bytes32"},{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"}],"name":"getSvgs","outputs":[{"internalType":"string[]","name":"svgs_","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"portalAavegotchisSvg","outputs":[{"internalType":"string[10]","name":"svg_","type":"string[10]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hauntId","type":"uint256"},{"internalType":"address","name":"_collateralType","type":"address"},{"internalType":"int16[6]","name":"_numericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"}],"name":"previewAavegotchi","outputs":[{"internalType":"string","name":"ag_","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions[]","name":"_dimensions","type":"tuple[]"}],"name":"setItemsDimensions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"sleeveId","type":"uint256"},{"internalType":"uint256","name":"wearableId","type":"uint256"}],"internalType":"struct SvgFacet.Sleeve[]","name":"_sleeves","type":"tuple[]"}],"name":"setSleeves","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_svg","type":"string"},{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"internalType":"struct LibSvg.SvgTypeAndSizes[]","name":"_typesAndSizes","type":"tuple[]"}],"name":"storeSvg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_svg","type":"string"},{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"internalType":"struct LibSvg.SvgTypeAndIdsAndSizes[]","name":"_typesAndIdsAndSizes","type":"tuple[]"}],"name":"updateSvg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getAavegotchiSideSvgs","outputs":[{"internalType":"string[]","name":"ag_","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_itemId","type":"uint256"}],"name":"getItemSvgs","outputs":[{"internalType":"string[]","name":"svg_","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_itemIds","type":"uint256[]"}],"name":"getItemsSvgs","outputs":[{"internalType":"string[][]","name":"svgs_","type":"string[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hauntId","type":"uint256"},{"internalType":"address","name":"_collateralType","type":"address"},{"internalType":"int16[6]","name":"_numericTraits","type":"int16[6]"},{"internalType":"uint16[16]","name":"equippedWearables","type":"uint16[16]"}],"name":"previewSideAavegotchi","outputs":[{"internalType":"string[]","name":"ag_","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"string","name":"side","type":"string"},{"components":[{"internalType":"uint8","name":"x","type":"uint8"},{"internalType":"uint8","name":"y","type":"uint8"},{"internalType":"uint8","name":"width","type":"uint8"},{"internalType":"uint8","name":"height","type":"uint8"}],"internalType":"struct Dimensions","name":"dimensions","type":"tuple"}],"internalType":"struct SvgViewsFacet.SideViewDimensionsArgs[]","name":"_sideViewDimensions","type":"tuple[]"}],"name":"setSideViewDimensions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"slotPosition","type":"uint256"},{"internalType":"bytes32","name":"side","type":"bytes32"},{"internalType":"bool","name":"exceptionBool","type":"bool"}],"internalType":"struct SvgViewsFacet.SideViewExceptions[]","name":"_sideViewExceptions","type":"tuple[]"}],"name":"setSideViewExceptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"OpenPortals","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"PortalOpened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_vrfTimeSet","type":"uint256"}],"name":"VrfRandomNumber","type":"event"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"},{"internalType":"bytes32","name":"_keyHash","type":"bytes32"},{"internalType":"address","name":"_vrfCoordinator","type":"address"},{"internalType":"address","name":"_link","type":"address"}],"name":"changeVrf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"keyHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"link","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"linkBalance","outputs":[{"internalType":"uint256","name":"linkBalance_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"openPortals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_requestId","type":"bytes32"},{"internalType":"uint256","name":"_randomNumber","type":"uint256"}],"name":"rawFulfillRandomness","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"removeLinkTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vrfCoordinator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"MigrateVouchers","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"internalType":"struct VoucherMigrationFacet.VouchersOwner[]","name":"_vouchersOwners","type":"tuple[]"}],"name":"migrateVouchers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_wearableIds","type":"uint256[]"}],"name":"findWearableSets","outputs":[{"internalType":"uint256[]","name":"wearableSetIds_","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getWearableSet","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"internalType":"uint16[]","name":"wearableIds","type":"uint16[]"},{"internalType":"int8[5]","name":"traitsBonuses","type":"int8[5]"}],"internalType":"struct WearableSet","name":"wearableSet_","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWearableSets","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint8[]","name":"allowedCollaterals","type":"uint8[]"},{"internalType":"uint16[]","name":"wearableIds","type":"uint16[]"},{"internalType":"int8[5]","name":"traitsBonuses","type":"int8[5]"}],"internalType":"struct WearableSet[]","name":"wearableSets_","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWearableSets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"whitelistId","type":"uint32"}],"name":"WhitelistCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"WhitelistOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"whitelistId","type":"uint32"}],"name":"WhitelistUpdated","type":"event"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address[]","name":"_whitelistAddresses","type":"address[]"}],"name":"createWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"}],"name":"getBorrowLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"}],"name":"getWhitelist","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"internalType":"struct Whitelist","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"uint256","name":"_actionRight","type":"uint256"}],"name":"getWhitelistAccessRight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWhitelistsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"address","name":"_whitelistAddress","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"address[]","name":"_whitelistAddresses","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"uint256","name":"_borrowlimit","type":"uint256"}],"name":"setBorrowLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"uint256","name":"_actionRight","type":"uint256"},{"internalType":"uint256","name":"_accessRight","type":"uint256"}],"name":"setWhitelistAccessRight","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"address","name":"_whitelistOwner","type":"address"}],"name":"transferOwnershipOfWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"},{"internalType":"address[]","name":"_whitelistAddresses","type":"address[]"}],"name":"updateWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"whitelistId","type":"uint32"}],"name":"whitelistExists","outputs":[{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_whitelistId","type":"uint32"}],"name":"whitelistOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"kinship","type":"uint256"}],"name":"AavegotchiInteract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC1155ListingCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC1155ListingRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceInWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"UpdateERC1155Listing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC721ListingCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"priceInWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC721ListingPriceUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"listingId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"category","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ERC721ListingRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"}],"name":"GotchiLendingAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":true,"internalType":"address","name":"lender","type":"address"},{"indexed":true,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint96","name":"initialCost","type":"uint96"},{"indexed":false,"internalType":"uint32","name":"period","type":"uint32"},{"indexed":false,"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"indexed":false,"internalType":"address","name":"originalOwner","type":"address"},{"indexed":false,"internalType":"address","name":"thirdParty","type":"address"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":false,"internalType":"address[]","name":"revenueTokens","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"timeCreated","type":"uint256"}],"name":"GotchiLendingAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"GotchiLendingCancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":true,"internalType":"address","name":"lender","type":"address"},{"indexed":true,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint96","name":"initialCost","type":"uint96"},{"indexed":false,"internalType":"uint32","name":"period","type":"uint32"},{"indexed":false,"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"indexed":false,"internalType":"address","name":"originalOwner","type":"address"},{"indexed":false,"internalType":"address","name":"thirdParty","type":"address"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":false,"internalType":"address[]","name":"revenueTokens","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"timeCanceled","type":"uint256"}],"name":"GotchiLendingCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":false,"internalType":"address[]","name":"tokenAddresses","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"GotchiLendingClaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":true,"internalType":"address","name":"lender","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint96","name":"initialCost","type":"uint96"},{"indexed":false,"internalType":"uint32","name":"period","type":"uint32"},{"indexed":false,"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"indexed":false,"internalType":"address","name":"originalOwner","type":"address"},{"indexed":false,"internalType":"address","name":"thirdParty","type":"address"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":false,"internalType":"address[]","name":"revenueTokens","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"timeClaimed","type":"uint256"}],"name":"GotchiLendingClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"}],"name":"GotchiLendingEnd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":true,"internalType":"address","name":"lender","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint96","name":"initialCost","type":"uint96"},{"indexed":false,"internalType":"uint32","name":"period","type":"uint32"},{"indexed":false,"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"indexed":false,"internalType":"address","name":"originalOwner","type":"address"},{"indexed":false,"internalType":"address","name":"thirdParty","type":"address"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":false,"internalType":"address[]","name":"revenueTokens","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"timeEnded","type":"uint256"}],"name":"GotchiLendingEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"}],"name":"GotchiLendingExecute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"listingId","type":"uint32"},{"indexed":true,"internalType":"address","name":"lender","type":"address"},{"indexed":true,"internalType":"address","name":"borrower","type":"address"},{"indexed":false,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint96","name":"initialCost","type":"uint96"},{"indexed":false,"internalType":"uint32","name":"period","type":"uint32"},{"indexed":false,"internalType":"uint8[3]","name":"revenueSplit","type":"uint8[3]"},{"indexed":false,"internalType":"address","name":"originalOwner","type":"address"},{"indexed":false,"internalType":"address","name":"thirdParty","type":"address"},{"indexed":false,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":false,"internalType":"address[]","name":"revenueTokens","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"timeAgreed","type":"uint256"}],"name":"GotchiLendingExecuted","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"indexed":false,"internalType":"struct LibSvg.SvgTypeAndSizes[]","name":"_typesAndSizes","type":"tuple[]"}],"name":"StoreSvg","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"svgType","type":"bytes32"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"sizes","type":"uint256[]"}],"indexed":false,"internalType":"struct LibSvg.SvgTypeAndIdsAndSizes[]","name":"_typesAndIdsAndSizes","type":"tuple[]"}],"name":"UpdateSvg","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"whitelistId","type":"uint32"},{"indexed":true,"internalType":"uint256","name":"actionRight","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"accessRight","type":"uint256"}],"name":"WhitelistAccessRightSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_xpValues","type":"uint256[]"}],"name":"GrantExperience","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_propId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_gotchiId","type":"uint256"}],"name":"XPClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"_propId","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_xpAmount","type":"uint256"}],"name":"XPDropCreated","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamondCut.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct IDiamondCut.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"indexed":false,"internalType":"address","name":"_init","type":"address"},{"indexed":false,"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"DiamondCut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_fromContract","type":"address"},{"indexed":true,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenTypeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferFromParent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_toContract","type":"address"},{"indexed":true,"internalType":"uint256","name":"_toTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_tokenTypeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferToParent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_value","type":"string"},{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"}] \ No newline at end of file +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "PetOperatorApprovalForAll", + "type": "event" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "aavegotchiClaimTime", + "outputs": [ + { "internalType": "uint256", "name": "claimTime_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "allAavegotchisOfOwner", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "address", "name": "owner", "type": "address" }, + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { "internalType": "uint256", "name": "status", "type": "uint256" }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "int16[6]", + "name": "modifiedNumericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { "internalType": "address", "name": "escrow", "type": "address" }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + }, + { "internalType": "uint256", "name": "kinship", "type": "uint256" }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "experience", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toNextLevel", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usedSkillPoints", + "type": "uint256" + }, + { "internalType": "uint256", "name": "level", "type": "uint256" }, + { "internalType": "uint256", "name": "hauntId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "baseRarityScore", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "modifiedRarityScore", + "type": "uint256" + }, + { "internalType": "bool", "name": "locked", "type": "bool" }, + { + "components": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "itemId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "string", + "name": "author", + "type": "string" + }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { + "internalType": "uint8", + "name": "width", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "height", + "type": "uint8" + } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "svgId", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "category", + "type": "uint8" + }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "items", + "type": "tuple[]" + } + ], + "internalType": "struct AavegotchiInfo[]", + "name": "aavegotchiInfos_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_approved", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "balanceOf", + "outputs": [ + { "internalType": "uint256", "name": "balance_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } + ], + "name": "batchOwnerOf", + "outputs": [ + { "internalType": "address[]", "name": "owners_", "type": "address[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "getAavegotchi", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "address", "name": "owner", "type": "address" }, + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { "internalType": "uint256", "name": "status", "type": "uint256" }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "int16[6]", + "name": "modifiedNumericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { "internalType": "address", "name": "escrow", "type": "address" }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + }, + { "internalType": "uint256", "name": "kinship", "type": "uint256" }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "experience", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toNextLevel", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usedSkillPoints", + "type": "uint256" + }, + { "internalType": "uint256", "name": "level", "type": "uint256" }, + { "internalType": "uint256", "name": "hauntId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "baseRarityScore", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "modifiedRarityScore", + "type": "uint256" + }, + { "internalType": "bool", "name": "locked", "type": "bool" }, + { + "components": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "itemId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "string", + "name": "author", + "type": "string" + }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { + "internalType": "uint8", + "name": "width", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "height", + "type": "uint8" + } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "svgId", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "category", + "type": "uint8" + }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "items", + "type": "tuple[]" + } + ], + "internalType": "struct AavegotchiInfo", + "name": "aavegotchiInfo_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "getApproved", + "outputs": [ + { "internalType": "address", "name": "approved_", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "address", "name": "_operator", "type": "address" } + ], + "name": "isApprovedForAll", + "outputs": [ + { "internalType": "bool", "name": "approved_", "type": "bool" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "address", "name": "_operator", "type": "address" } + ], + "name": "isPetOperatorForAll", + "outputs": [ + { "internalType": "bool", "name": "approved_", "type": "bool" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "ownerOf", + "outputs": [ + { "internalType": "address", "name": "owner_", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "bool", "name": "_approved", "type": "bool" } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "bool", "name": "_approved", "type": "bool" } + ], + "name": "setPetOperatorForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_index", "type": "uint256" } + ], + "name": "tokenByIndex", + "outputs": [ + { "internalType": "uint256", "name": "tokenId_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "tokenIdsOfOwner", + "outputs": [ + { "internalType": "uint32[]", "name": "tokenIds_", "type": "uint32[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_index", "type": "uint256" } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { "internalType": "uint256", "name": "tokenId_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "tokenURI", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { "internalType": "uint256", "name": "totalSupply_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "ClaimAavegotchi", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_time", + "type": "uint256" + } + ], + "name": "LockAavegotchi", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "_oldName", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "_newName", + "type": "string" + } + ], + "name": "SetAavegotchiName", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_batchId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "SetBatchId", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int16[4]", + "name": "_values", + "type": "int16[4]" + } + ], + "name": "SpendSkillpoints", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_time", + "type": "uint256" + } + ], + "name": "UnLockAavegotchi", + "type": "event" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_experience", "type": "uint256" } + ], + "name": "aavegotchiLevel", + "outputs": [ + { "internalType": "uint256", "name": "level_", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [{ "internalType": "string", "name": "_name", "type": "string" }], + "name": "aavegotchiNameAvailable", + "outputs": [ + { "internalType": "bool", "name": "available_", "type": "bool" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "availableSkillPoints", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int16[6]", + "name": "_numericTraits", + "type": "int16[6]" + } + ], + "name": "baseRarityScore", + "outputs": [ + { "internalType": "uint256", "name": "rarityScore_", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_option", "type": "uint256" }, + { "internalType": "uint256", "name": "_stakeAmount", "type": "uint256" } + ], + "name": "claimAavegotchi", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "currentHaunt", + "outputs": [ + { "internalType": "uint256", "name": "hauntId_", "type": "uint256" }, + { + "components": [ + { + "internalType": "uint256", + "name": "hauntMaxSize", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "portalPrice", + "type": "uint256" + }, + { "internalType": "bytes3", "name": "bodyColor", "type": "bytes3" }, + { "internalType": "uint24", "name": "totalCount", "type": "uint24" } + ], + "internalType": "struct Haunt", + "name": "haunt_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "getNumericTraits", + "outputs": [ + { + "internalType": "int16[6]", + "name": "numericTraits_", + "type": "int16[6]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ghstAddress", + "outputs": [ + { "internalType": "address", "name": "contract_", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } + ], + "name": "interact", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "isAavegotchiLocked", + "outputs": [{ "internalType": "bool", "name": "isLocked", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "kinship", + "outputs": [ + { "internalType": "uint256", "name": "score_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "modifiedTraitsAndRarityScore", + "outputs": [ + { + "internalType": "int16[6]", + "name": "numericTraits_", + "type": "int16[6]" + }, + { "internalType": "uint256", "name": "rarityScore_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "portalAavegotchiTraits", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + } + ], + "internalType": "struct PortalAavegotchiTraitsIO[10]", + "name": "portalAavegotchiTraits_", + "type": "tuple[10]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int16[6]", + "name": "_numericTraits", + "type": "int16[6]" + } + ], + "name": "rarityMultiplier", + "outputs": [ + { "internalType": "uint256", "name": "multiplier_", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_gotchiId", "type": "uint32" } + ], + "name": "reduceKinshipViaChanneling", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revenueShares", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "burnAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "daoAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "rarityFarming", + "type": "address" + }, + { "internalType": "address", "name": "pixelCraft", "type": "address" } + ], + "internalType": "struct AavegotchiGameFacet.RevenueSharesIO", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "string", "name": "_name", "type": "string" } + ], + "name": "setAavegotchiName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_realm", "type": "address" } + ], + "name": "setRealmAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "int16[4]", "name": "_values", "type": "int16[4]" } + ], + "name": "spendSkillPoints", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_count", "type": "uint256" }, + { "internalType": "uint256", "name": "_skip", "type": "uint256" }, + { "internalType": "bool", "name": "all", "type": "bool" } + ], + "name": "tokenIdsWithKinship", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "kinship", "type": "uint256" }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + } + ], + "internalType": "struct AavegotchiGameFacet.TokenIdsWithKinship[]", + "name": "tokenIdsWithKinship_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_experience", "type": "uint256" } + ], + "name": "xpUntilNextLevel", + "outputs": [ + { "internalType": "uint256", "name": "requiredXp_", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "AddedAavegotchiBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "AddedItemsBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "WithdrawnBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "WithdrawnItems", + "type": "event" + }, + { + "inputs": [], + "name": "childChainManager", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_user", "type": "address" }, + { "internalType": "bytes", "name": "_depositData", "type": "bytes" } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newChildChainManager", + "type": "address" + } + ], + "name": "setChildChainManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } + ], + "name": "withdrawAavegotchiBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "withdrawItemsBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_reduceAmount", + "type": "uint256" + } + ], + "name": "DecreaseStake", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "experience", + "type": "uint256" + } + ], + "name": "ExperienceTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_stakeAmount", + "type": "uint256" + } + ], + "name": "IncreaseStake", + "type": "event" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "collateralBalance", + "outputs": [ + { + "internalType": "address", + "name": "collateralType_", + "type": "address" + }, + { "internalType": "address", "name": "escrow_", "type": "address" }, + { "internalType": "uint256", "name": "balance_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_hauntId", "type": "uint256" }, + { "internalType": "uint256", "name": "_collateralId", "type": "uint256" } + ], + "name": "collateralInfo", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "int16[6]", + "name": "modifiers", + "type": "int16[6]" + }, + { + "internalType": "bytes3", + "name": "primaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "secondaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "cheekColor", + "type": "bytes3" + }, + { "internalType": "uint8", "name": "svgId", "type": "uint8" }, + { + "internalType": "uint8", + "name": "eyeShapeSvgId", + "type": "uint8" + }, + { + "internalType": "uint16", + "name": "conversionRate", + "type": "uint16" + }, + { "internalType": "bool", "name": "delisted", "type": "bool" } + ], + "internalType": "struct AavegotchiCollateralTypeInfo", + "name": "collateralTypeInfo", + "type": "tuple" + } + ], + "internalType": "struct AavegotchiCollateralTypeIO", + "name": "collateralInfo_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_hauntId", "type": "uint256" } + ], + "name": "collaterals", + "outputs": [ + { + "internalType": "address[]", + "name": "collateralTypes_", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_toId", "type": "uint256" } + ], + "name": "decreaseAndDestroy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_reduceAmount", "type": "uint256" } + ], + "name": "decreaseStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllCollateralTypes", + "outputs": [ + { "internalType": "address[]", "name": "", "type": "address[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_hauntId", "type": "uint256" } + ], + "name": "getCollateralInfo", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "int16[6]", + "name": "modifiers", + "type": "int16[6]" + }, + { + "internalType": "bytes3", + "name": "primaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "secondaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "cheekColor", + "type": "bytes3" + }, + { "internalType": "uint8", "name": "svgId", "type": "uint8" }, + { + "internalType": "uint8", + "name": "eyeShapeSvgId", + "type": "uint8" + }, + { + "internalType": "uint16", + "name": "conversionRate", + "type": "uint16" + }, + { "internalType": "bool", "name": "delisted", "type": "bool" } + ], + "internalType": "struct AavegotchiCollateralTypeInfo", + "name": "collateralTypeInfo", + "type": "tuple" + } + ], + "internalType": "struct AavegotchiCollateralTypeIO[]", + "name": "collateralInfo_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_stakeAmount", "type": "uint256" } + ], + "name": "increaseStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_collateralToken", + "type": "address" + }, + { "internalType": "uint8", "name": "_svgId", "type": "uint8" } + ], + "name": "setCollateralEyeShapeSvgId", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "int16[6]", + "name": "modifiers", + "type": "int16[6]" + }, + { + "internalType": "bytes3", + "name": "primaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "secondaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "cheekColor", + "type": "bytes3" + }, + { "internalType": "uint8", "name": "svgId", "type": "uint8" }, + { + "internalType": "uint8", + "name": "eyeShapeSvgId", + "type": "uint8" + }, + { + "internalType": "uint16", + "name": "conversionRate", + "type": "uint16" + }, + { "internalType": "bool", "name": "delisted", "type": "bool" } + ], + "internalType": "struct AavegotchiCollateralTypeInfo", + "name": "collateralTypeInfo", + "type": "tuple" + } + ], + "indexed": false, + "internalType": "struct AavegotchiCollateralTypeIO", + "name": "_collateralType", + "type": "tuple" + } + ], + "name": "AddCollateralType", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "indexed": false, + "internalType": "struct ItemType", + "name": "_itemType", + "type": "tuple" + } + ], + "name": "AddItemType", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "internalType": "uint16[]", + "name": "wearableIds", + "type": "uint16[]" + }, + { + "internalType": "int8[5]", + "name": "traitsBonuses", + "type": "int8[5]" + } + ], + "indexed": false, + "internalType": "struct WearableSet", + "name": "_wearableSet", + "type": "tuple" + } + ], + "name": "AddWearableSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_hauntId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_hauntMaxSize", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_portalPrice", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "_bodyColor", + "type": "bytes32" + } + ], + "name": "CreateHaunt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousDao", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newDao", + "type": "address" + } + ], + "name": "DaoTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousDaoTreasury", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newDaoTreasury", + "type": "address" + } + ], + "name": "DaoTreasuryTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousForge", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newForge", + "type": "address" + } + ], + "name": "ForgeTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "gameManager_", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "limit_", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "refreshTime_", + "type": "uint256" + } + ], + "name": "GameManagerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "gameManager_", + "type": "address" + } + ], + "name": "GameManagerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256[]", + "name": "_tokenIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_xpValues", + "type": "uint256[]" + } + ], + "name": "GrantExperience", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newItemManager_", + "type": "address" + } + ], + "name": "ItemManagerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "itemManager_", + "type": "address" + } + ], + "name": "ItemManagerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_wearableId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int8[6]", + "name": "_traitModifiers", + "type": "int8[6]" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "_rarityScoreModifier", + "type": "uint8" + } + ], + "name": "ItemModifiersSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256[]", + "name": "_itemIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_maxQuanities", + "type": "uint256[]" + } + ], + "name": "ItemTypeMaxQuantity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256[]", + "name": "_tokenIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_xpValues", + "type": "uint256[]" + } + ], + "name": "RemoveExperience", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int16[6]", + "name": "_oldModifiers", + "type": "int16[6]" + }, + { + "indexed": false, + "internalType": "int16[6]", + "name": "_newModifiers", + "type": "int16[6]" + } + ], + "name": "UpdateCollateralModifiers", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_itemId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_priceInWei", + "type": "uint256" + } + ], + "name": "UpdateItemPrice", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_itemId", + "type": "uint256" + }, + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "indexed": false, + "internalType": "struct ItemType", + "name": "_itemType", + "type": "tuple" + } + ], + "name": "UpdateItemType", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_setId", + "type": "uint256" + }, + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "internalType": "uint16[]", + "name": "wearableIds", + "type": "uint16[]" + }, + { + "internalType": "int8[5]", + "name": "traitsBonuses", + "type": "int8[5]" + } + ], + "indexed": false, + "internalType": "struct WearableSet", + "name": "_wearableSet", + "type": "tuple" + } + ], + "name": "UpdateWearableSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_wearableId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool[16]", + "name": "_slotPositions", + "type": "bool[16]" + } + ], + "name": "WearableSlotPositionsSet", + "type": "event" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_hauntId", "type": "uint256" }, + { + "components": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "int16[6]", + "name": "modifiers", + "type": "int16[6]" + }, + { + "internalType": "bytes3", + "name": "primaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "secondaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "cheekColor", + "type": "bytes3" + }, + { "internalType": "uint8", "name": "svgId", "type": "uint8" }, + { + "internalType": "uint8", + "name": "eyeShapeSvgId", + "type": "uint8" + }, + { + "internalType": "uint16", + "name": "conversionRate", + "type": "uint16" + }, + { "internalType": "bool", "name": "delisted", "type": "bool" } + ], + "internalType": "struct AavegotchiCollateralTypeInfo", + "name": "collateralTypeInfo", + "type": "tuple" + } + ], + "internalType": "struct AavegotchiCollateralTypeIO[]", + "name": "_collateralTypes", + "type": "tuple[]" + } + ], + "name": "addCollateralTypes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_newGameManagers", + "type": "address[]" + }, + { "internalType": "uint256[]", "name": "_limits", "type": "uint256[]" } + ], + "name": "addGameManagers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_newItemManagers", + "type": "address[]" + } + ], + "name": "addItemManagers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType[]", + "name": "_itemTypes", + "type": "tuple[]" + } + ], + "name": "addItemTypes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType[]", + "name": "_itemTypes", + "type": "tuple[]" + }, + { "internalType": "string", "name": "_svg", "type": "string" }, + { + "components": [ + { "internalType": "bytes32", "name": "svgType", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" } + ], + "internalType": "struct LibSvg.SvgTypeAndSizes[]", + "name": "_typesAndSizes", + "type": "tuple[]" + } + ], + "name": "addItemTypesAndSvgs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "internalType": "uint16[]", + "name": "wearableIds", + "type": "uint16[]" + }, + { + "internalType": "int8[5]", + "name": "traitsBonuses", + "type": "int8[5]" + } + ], + "internalType": "struct WearableSet[]", + "name": "_wearableSets", + "type": "tuple[]" + } + ], + "name": "addWearableSets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_newPrices", "type": "uint256[]" } + ], + "name": "batchUpdateItemsPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint24", "name": "_hauntMaxSize", "type": "uint24" }, + { "internalType": "uint96", "name": "_portalPrice", "type": "uint96" }, + { "internalType": "bytes3", "name": "_bodyColor", "type": "bytes3" } + ], + "name": "createHaunt", + "outputs": [ + { "internalType": "uint256", "name": "hauntId_", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint24", + "name": "_hauntMaxSize", + "type": "uint24" + }, + { + "internalType": "uint96", + "name": "_portalPrice", + "type": "uint96" + }, + { "internalType": "bytes3", "name": "_bodyColor", "type": "bytes3" }, + { + "components": [ + { + "internalType": "address", + "name": "collateralType", + "type": "address" + }, + { + "components": [ + { + "internalType": "int16[6]", + "name": "modifiers", + "type": "int16[6]" + }, + { + "internalType": "bytes3", + "name": "primaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "secondaryColor", + "type": "bytes3" + }, + { + "internalType": "bytes3", + "name": "cheekColor", + "type": "bytes3" + }, + { "internalType": "uint8", "name": "svgId", "type": "uint8" }, + { + "internalType": "uint8", + "name": "eyeShapeSvgId", + "type": "uint8" + }, + { + "internalType": "uint16", + "name": "conversionRate", + "type": "uint16" + }, + { "internalType": "bool", "name": "delisted", "type": "bool" } + ], + "internalType": "struct AavegotchiCollateralTypeInfo", + "name": "collateralTypeInfo", + "type": "tuple" + } + ], + "internalType": "struct AavegotchiCollateralTypeIO[]", + "name": "_collateralTypes", + "type": "tuple[]" + }, + { + "internalType": "string", + "name": "_collateralSvg", + "type": "string" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "svgType", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "sizes", + "type": "uint256[]" + } + ], + "internalType": "struct LibSvg.SvgTypeAndSizes[]", + "name": "_collateralTypesAndSizes", + "type": "tuple[]" + }, + { + "internalType": "string", + "name": "_eyeShapeSvg", + "type": "string" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "svgType", + "type": "bytes32" + }, + { + "internalType": "uint256[]", + "name": "sizes", + "type": "uint256[]" + } + ], + "internalType": "struct LibSvg.SvgTypeAndSizes[]", + "name": "_eyeShapeTypesAndSizes", + "type": "tuple[]" + } + ], + "internalType": "struct DAOFacet.CreateHauntPayload", + "name": "_payload", + "type": "tuple" + } + ], + "name": "createHauntWithPayload", + "outputs": [ + { "internalType": "uint256", "name": "hauntId_", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_manager", "type": "address" } + ], + "name": "gameManagerBalance", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_manager", "type": "address" } + ], + "name": "gameManagerRefreshTime", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_xpValues", "type": "uint256[]" } + ], + "name": "grantExperience", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_manager", "type": "address" } + ], + "name": "isGameManager", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + } + ], + "name": "mintItems", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_xpValues", "type": "uint256[]" } + ], + "name": "removeExperience", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_gameManagers", + "type": "address[]" + } + ], + "name": "removeGameManagers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_itemManagers", + "type": "address[]" + } + ], + "name": "removeItemManagers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_newDao", "type": "address" }, + { + "internalType": "address", + "name": "_newDaoTreasury", + "type": "address" + } + ], + "name": "setDao", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_newForge", "type": "address" } + ], + "name": "setForge", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_wearableId", "type": "uint256" }, + { + "internalType": "int8[6]", + "name": "_traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "uint8", + "name": "_rarityScoreModifier", + "type": "uint8" + } + ], + "name": "setItemTraitModifiersAndRarityModifier", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_wearableId", "type": "uint256" }, + { + "internalType": "bool[16]", + "name": "_slotPositions", + "type": "bool[16]" + } + ], + "name": "setWearableSlotPositions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_collateralType", + "type": "address" + }, + { "internalType": "int16[6]", "name": "_modifiers", "type": "int16[6]" } + ], + "name": "updateCollateralModifiers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { + "internalType": "uint256[]", + "name": "_maxQuantities", + "type": "uint256[]" + } + ], + "name": "updateItemTypeMaxQuantity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_indices", "type": "uint256[]" }, + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType[]", + "name": "_itemTypes", + "type": "tuple[]" + } + ], + "name": "updateItemTypes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_setIds", "type": "uint256[]" }, + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "internalType": "uint16[]", + "name": "wearableIds", + "type": "uint16[]" + }, + { + "internalType": "int8[5]", + "name": "traitsBonuses", + "type": "int8[5]" + } + ], + "internalType": "struct WearableSet[]", + "name": "_wearableSets", + "type": "tuple[]" + } + ], + "name": "updateWearableSets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "listingFeeInWei", + "type": "uint256" + } + ], + "name": "ChangedListingFee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "seller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_quantity", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC1155ExecutedListing", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "ERC1155ExecutedToRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "seller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC1155ListingAdd", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + } + ], + "name": "ERC1155ListingCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { + "indexed": false, + "internalType": "address", + "name": "affiliate", + "type": "address" + } + ], + "name": "ERC1155ListingSplit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + } + ], + "name": "ERC1155ListingWhitelistSet", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { "internalType": "uint256", "name": "quantity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { "internalType": "address", "name": "recipient", "type": "address" } + ], + "internalType": "struct ERC1155MarketplaceFacet.ExecuteERC1155ListingParams[]", + "name": "listings", + "type": "tuple[]" + } + ], + "name": "batchExecuteERC1155Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_listingIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_priceInWeis", + "type": "uint256[]" + } + ], + "name": "batchUpdateERC1155ListingPriceAndQuantity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" } + ], + "name": "cancelERC1155Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_listingIds", + "type": "uint256[]" + } + ], + "name": "cancelERC1155Listings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" }, + { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" } + ], + "name": "executeERC1155Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "_itemId", "type": "uint256" }, + { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" }, + { "internalType": "address", "name": "_recipient", "type": "address" } + ], + "name": "executeERC1155ListingToRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "_erc1155TypeId", "type": "uint256" } + ], + "name": "getERC1155Category", + "outputs": [ + { "internalType": "uint256", "name": "category_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" } + ], + "internalType": "struct ERC1155MarketplaceFacet.Category[]", + "name": "_categories", + "type": "tuple[]" + } + ], + "name": "setERC1155Categories", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" } + ], + "name": "setERC1155Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" }, + { + "internalType": "uint16[2]", + "name": "_principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "_affiliate", "type": "address" } + ], + "name": "setERC1155ListingWithSplit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" }, + { + "internalType": "uint16[2]", + "name": "_principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "_affiliate", "type": "address" }, + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" } + ], + "name": "setERC1155ListingWithWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_listingFeeInWei", + "type": "uint256" + } + ], + "name": "setListingFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "_erc1155TypeIds", + "type": "uint256[]" + }, + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "updateBatchERC1155Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc1155TypeId", + "type": "uint256" + }, + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "updateERC1155Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" }, + { "internalType": "uint256", "name": "_quantity", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" } + ], + "name": "updateERC1155ListingPriceAndQuantity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "seller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC721ExecutedListing", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "ERC721ExecutedToRecipient", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "seller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC721ListingAdd", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { + "indexed": false, + "internalType": "address", + "name": "affiliate", + "type": "address" + } + ], + "name": "ERC721ListingSplit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + } + ], + "name": "ERC721ListingWhitelistSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" } + ], + "name": "addERC721Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" }, + { + "internalType": "uint16[2]", + "name": "_principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "_affiliate", "type": "address" } + ], + "name": "addERC721ListingWithSplit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" }, + { + "internalType": "uint16[2]", + "name": "_principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "_affiliate", "type": "address" }, + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" } + ], + "name": "addERC721ListingWithWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "address", "name": "recipient", "type": "address" } + ], + "internalType": "struct ERC721MarketplaceFacet.ExecuteERC721ListingParams[]", + "name": "listings", + "type": "tuple[]" + } + ], + "name": "batchExecuteERC721Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_listingIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_priceInWeis", + "type": "uint256[]" + } + ], + "name": "batchUpdateERC721ListingPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" } + ], + "name": "cancelERC721Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "_erc721TokenId", "type": "uint256" } + ], + "name": "cancelERC721ListingByToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_listingIds", + "type": "uint256[]" + } + ], + "name": "cancelERC721Listings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "address", "name": "_recipient", "type": "address" } + ], + "name": "executeERC721ListingToRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "_erc721TokenId", "type": "uint256" } + ], + "name": "getERC721Category", + "outputs": [ + { "internalType": "uint256", "name": "category_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" } + ], + "internalType": "struct ERC721MarketplaceFacet.Category[]", + "name": "_categories", + "type": "tuple[]" + } + ], + "name": "setERC721Categories", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc721TokenId", + "type": "uint256" + }, + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "updateERC721Listing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" }, + { "internalType": "uint256", "name": "_priceInWei", "type": "uint256" } + ], + "name": "updateERC721ListingPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_erc20Contract", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_depositAmount", + "type": "uint256" + } + ], + "name": "Erc20Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_erc20Contract", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_transferAmount", + "type": "uint256" + } + ], + "name": "TransferEscrow", + "type": "event" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, + { + "internalType": "address[]", + "name": "_erc20Contracts", + "type": "address[]" + }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "batchDepositERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "batchDepositGHST", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { + "internalType": "address", + "name": "_erc20Contract", + "type": "address" + }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "depositERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "address", "name": "_erc20Contract", "type": "address" } + ], + "name": "escrowBalance", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "gotchiEscrow", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { + "internalType": "address", + "name": "_erc20Contract", + "type": "address" + }, + { "internalType": "address", "name": "_recipient", "type": "address" }, + { + "internalType": "uint256", + "name": "_transferAmount", + "type": "uint256" + } + ], + "name": "transferEscrow", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "_initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "_period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "_revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "_originalOwner", + "type": "address" + }, + { "internalType": "address", "name": "_thirdParty", "type": "address" }, + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "_revenueTokens", + "type": "address[]" + }, + { "internalType": "uint256", "name": "_permissions", "type": "uint256" } + ], + "name": "addGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLendingFacet.AddGotchiListing", + "name": "p", + "type": "tuple" + } + ], + "name": "addGotchiListing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" }, + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "_initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "_period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "_revenueSplit", + "type": "uint8[3]" + } + ], + "name": "agreeGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLendingFacet.AddGotchiListing[]", + "name": "listings", + "type": "tuple[]" + } + ], + "name": "batchAddGotchiListing", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32[]", "name": "_listingIds", "type": "uint32[]" } + ], + "name": "batchCancelGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32[]", + "name": "_erc721TokenIds", + "type": "uint32[]" + } + ], + "name": "batchCancelGotchiLendingByToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32[]", "name": "_tokenIds", "type": "uint32[]" } + ], + "name": "batchClaimAndEndAndRelistGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32[]", "name": "_tokenIds", "type": "uint32[]" } + ], + "name": "batchClaimAndEndGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32[]", "name": "_tokenIds", "type": "uint32[]" } + ], + "name": "batchClaimGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint32", "name": "extension", "type": "uint32" } + ], + "internalType": "struct GotchiLendingFacet.BatchRenew[]", + "name": "_batchRenewParams", + "type": "tuple[]" + } + ], + "name": "batchExtendGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" } + ], + "name": "cancelGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" } + ], + "name": "cancelGotchiLendingByToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" } + ], + "name": "claimAndEndAndRelistGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" } + ], + "name": "claimAndEndGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" } + ], + "name": "claimGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" }, + { "internalType": "uint32", "name": "extension", "type": "uint32" } + ], + "name": "extendGotchiLending", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint16[16]", + "name": "_oldWearables", + "type": "uint16[16]" + }, + { + "indexed": false, + "internalType": "uint16[16]", + "name": "_newWearables", + "type": "uint16[16]" + } + ], + "name": "EquipWearables", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_toContract", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenTypeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "TransferToParent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_itemIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + } + ], + "name": "UseConsumables", + "type": "event" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" } + ], + "name": "balanceOf", + "outputs": [ + { "internalType": "uint256", "name": "bal_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address[]", "name": "_owners", "type": "address[]" }, + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" } + ], + "name": "balanceOfBatch", + "outputs": [ + { "internalType": "uint256[]", "name": "bals", "type": "uint256[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenContract", + "type": "address" + }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" } + ], + "name": "balanceOfToken", + "outputs": [ + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { + "internalType": "uint16[16]", + "name": "_wearablesToEquip", + "type": "uint16[16]" + } + ], + "name": "equipWearables", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "equippedWearables", + "outputs": [ + { + "internalType": "uint16[16]", + "name": "wearableIds_", + "type": "uint16[16]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_itemId", "type": "uint256" } + ], + "name": "getItemType", + "outputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" } + ], + "name": "getItemTypes", + "outputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "description", "type": "string" }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { "internalType": "uint256", "name": "ghstPrice", "type": "uint256" }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { "internalType": "uint16", "name": "minLevel", "type": "uint16" }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { "internalType": "int16", "name": "kinshipBonus", "type": "int16" }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType[]", + "name": "itemTypes_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_account", "type": "address" } + ], + "name": "itemBalances", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { "internalType": "uint256", "name": "balance", "type": "uint256" } + ], + "internalType": "struct ItemsFacet.ItemIdIO[]", + "name": "bals_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenContract", + "type": "address" + }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "itemBalancesOfToken", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { "internalType": "uint256", "name": "balance", "type": "uint256" } + ], + "internalType": "struct ItemsFacet.ItemIdIO[]", + "name": "bals_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenContract", + "type": "address" + }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "itemBalancesOfTokenWithTypes", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "balance", "type": "uint256" }, + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "itemBalancesOfTokenWithTypes_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "itemBalancesWithTypes", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "balance", "type": "uint256" }, + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { "internalType": "string", "name": "author", "type": "string" }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { "internalType": "uint32", "name": "svgId", "type": "uint32" }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { "internalType": "uint8", "name": "category", "type": "uint8" }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "output_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "string", "name": "_value", "type": "string" } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "_id", "type": "uint256" }], + "name": "uri", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + } + ], + "name": "useConsumables", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_toContract", "type": "address" }, + { + "internalType": "uint256[]", + "name": "_toTokenIds", + "type": "uint256[]" + }, + { "internalType": "uint256[][]", "name": "_ids", "type": "uint256[][]" }, + { + "internalType": "uint256[][]", + "name": "_values", + "type": "uint256[][]" + } + ], + "name": "batchBatchTransferToParent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_fromContract", "type": "address" }, + { "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" }, + { "internalType": "address", "name": "_toContract", "type": "address" }, + { "internalType": "uint256", "name": "_toTokenId", "type": "uint256" }, + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "batchTransferAsChild", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_fromContract", "type": "address" }, + { "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "batchTransferFromParent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_toContract", "type": "address" }, + { "internalType": "uint256", "name": "_toTokenId", "type": "uint256" }, + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "batchTransferToParent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "extractItemsFromDiamond", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } + ], + "name": "extractItemsFromSacrificedGotchi", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, + { "internalType": "bytes", "name": "", "type": "bytes" } + ], + "name": "onERC1155BatchReceived", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "uint256", "name": "", "type": "uint256" }, + { "internalType": "uint256", "name": "", "type": "uint256" }, + { "internalType": "bytes", "name": "", "type": "bytes" } + ], + "name": "onERC1155Received", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_fromContract", "type": "address" }, + { "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" }, + { "internalType": "address", "name": "_toContract", "type": "address" }, + { "internalType": "uint256", "name": "_toTokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "transferAsChild", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_fromContract", "type": "address" }, + { "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "transferFromParent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_toContract", "type": "address" }, + { "internalType": "uint256", "name": "_toTokenId", "type": "uint256" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "transferToParent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "lender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "lendingOperator", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "tokenId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isLendingOperator", + "type": "bool" + } + ], + "name": "LendingOperatorSet", + "type": "event" + }, + { + "inputs": [ + { "internalType": "address[]", "name": "tokens", "type": "address[]" } + ], + "name": "allowRevenueTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_lender", "type": "address" } + ], + "name": "balanceOfLentGotchis", + "outputs": [ + { "internalType": "uint256", "name": "balance_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_lendingOperator", + "type": "address" + }, + { + "components": [ + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" }, + { + "internalType": "bool", + "name": "_isLendingOperator", + "type": "bool" + } + ], + "internalType": "struct LendingGetterAndSetterFacet.LendingOperatorInputs[]", + "name": "_inputs", + "type": "tuple[]" + } + ], + "name": "batchSetLendingOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address[]", "name": "tokens", "type": "address[]" } + ], + "name": "disallowRevenueTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" } + ], + "name": "getAllLendingPermissions", + "outputs": [ + { + "internalType": "uint8[32]", + "name": "permissions_", + "type": "uint8[32]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" } + ], + "name": "getGotchiLendingFromToken", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "erc721TokenId", + "type": "uint32" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { "internalType": "uint40", "name": "timeCreated", "type": "uint40" }, + { "internalType": "uint40", "name": "timeAgreed", "type": "uint40" }, + { "internalType": "bool", "name": "canceled", "type": "bool" }, + { "internalType": "bool", "name": "completed", "type": "bool" }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { "internalType": "uint40", "name": "lastClaimed", "type": "uint40" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLending", + "name": "listing_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" } + ], + "name": "getGotchiLendingIdByToken", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" } + ], + "name": "getGotchiLendingListingInfo", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "erc721TokenId", + "type": "uint32" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { "internalType": "uint40", "name": "timeCreated", "type": "uint40" }, + { "internalType": "uint40", "name": "timeAgreed", "type": "uint40" }, + { "internalType": "bool", "name": "canceled", "type": "bool" }, + { "internalType": "bool", "name": "completed", "type": "bool" }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { "internalType": "uint40", "name": "lastClaimed", "type": "uint40" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLending", + "name": "listing_", + "type": "tuple" + }, + { + "components": [ + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "address", "name": "owner", "type": "address" }, + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { "internalType": "uint256", "name": "status", "type": "uint256" }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "int16[6]", + "name": "modifiedNumericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { "internalType": "address", "name": "escrow", "type": "address" }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + }, + { "internalType": "uint256", "name": "kinship", "type": "uint256" }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "experience", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toNextLevel", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usedSkillPoints", + "type": "uint256" + }, + { "internalType": "uint256", "name": "level", "type": "uint256" }, + { "internalType": "uint256", "name": "hauntId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "baseRarityScore", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "modifiedRarityScore", + "type": "uint256" + }, + { "internalType": "bool", "name": "locked", "type": "bool" }, + { + "components": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "itemId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "string", + "name": "author", + "type": "string" + }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { + "internalType": "uint8", + "name": "width", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "height", + "type": "uint8" + } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "svgId", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "category", + "type": "uint8" + }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "items", + "type": "tuple[]" + } + ], + "internalType": "struct AavegotchiInfo", + "name": "aavegotchiInfo_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_status", "type": "bytes32" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getGotchiLendings", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "erc721TokenId", + "type": "uint32" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { "internalType": "uint40", "name": "timeCreated", "type": "uint40" }, + { "internalType": "uint40", "name": "timeAgreed", "type": "uint40" }, + { "internalType": "bool", "name": "canceled", "type": "bool" }, + { "internalType": "bool", "name": "completed", "type": "bool" }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { "internalType": "uint40", "name": "lastClaimed", "type": "uint40" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLending[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getGotchiLendingsLength", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" } + ], + "name": "getLendingListingInfo", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "erc721TokenId", + "type": "uint32" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { "internalType": "uint40", "name": "timeCreated", "type": "uint40" }, + { "internalType": "uint40", "name": "timeAgreed", "type": "uint40" }, + { "internalType": "bool", "name": "canceled", "type": "bool" }, + { "internalType": "bool", "name": "completed", "type": "bool" }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { "internalType": "uint40", "name": "lastClaimed", "type": "uint40" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLending", + "name": "listing_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" } + ], + "name": "getLendingPermissionBitmap", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" }, + { "internalType": "uint8", "name": "_permissionIndex", "type": "uint8" } + ], + "name": "getLendingPermissionModifier", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_lender", "type": "address" } + ], + "name": "getLentTokenIdsOfLender", + "outputs": [ + { "internalType": "uint32[]", "name": "tokenIds_", "type": "uint32[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_lender", "type": "address" }, + { "internalType": "bytes32", "name": "_status", "type": "bytes32" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getOwnerGotchiLendings", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { + "internalType": "uint32", + "name": "erc721TokenId", + "type": "uint32" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { "internalType": "uint40", "name": "timeCreated", "type": "uint40" }, + { "internalType": "uint40", "name": "timeAgreed", "type": "uint40" }, + { "internalType": "bool", "name": "canceled", "type": "bool" }, + { "internalType": "bool", "name": "completed", "type": "bool" }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { "internalType": "uint40", "name": "lastClaimed", "type": "uint40" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "internalType": "struct GotchiLending[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_lender", "type": "address" }, + { "internalType": "bytes32", "name": "_status", "type": "bytes32" } + ], + "name": "getOwnerGotchiLendingsLength", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "_revenueTokens", + "type": "address[]" + } + ], + "name": "getTokenBalancesInEscrow", + "outputs": [ + { + "internalType": "uint256[]", + "name": "revenueBalances", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" } + ], + "name": "isAavegotchiLent", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_erc721TokenId", "type": "uint32" } + ], + "name": "isAavegotchiListed", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_lender", "type": "address" }, + { + "internalType": "address", + "name": "_lendingOperator", + "type": "address" + }, + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" } + ], + "name": "isLendingOperator", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_listingId", "type": "uint32" } + ], + "name": "lendingPermissionSetToNone", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token", "type": "address" } + ], + "name": "revenueTokenAllowed", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_lendingOperator", + "type": "address" + }, + { "internalType": "uint32", "name": "_tokenId", "type": "uint32" }, + { "internalType": "bool", "name": "_isLendingOperator", "type": "bool" } + ], + "name": "setLendingOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" } + ], + "name": "getAavegotchiListing", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC721Listing", + "name": "listing_", + "type": "tuple" + }, + { + "components": [ + { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "address", "name": "owner", "type": "address" }, + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { "internalType": "uint256", "name": "status", "type": "uint256" }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "int16[6]", + "name": "modifiedNumericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { "internalType": "address", "name": "escrow", "type": "address" }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + }, + { "internalType": "uint256", "name": "kinship", "type": "uint256" }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "experience", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toNextLevel", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usedSkillPoints", + "type": "uint256" + }, + { "internalType": "uint256", "name": "level", "type": "uint256" }, + { "internalType": "uint256", "name": "hauntId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "baseRarityScore", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "modifiedRarityScore", + "type": "uint256" + }, + { "internalType": "bool", "name": "locked", "type": "bool" }, + { + "components": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "itemId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "string", + "name": "author", + "type": "string" + }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { + "internalType": "uint8", + "name": "width", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "height", + "type": "uint8" + } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "svgId", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "category", + "type": "uint8" + }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "items", + "type": "tuple[]" + } + ], + "internalType": "struct AavegotchiInfo", + "name": "aavegotchiInfo_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_category", "type": "uint256" }, + { "internalType": "string", "name": "_sort", "type": "string" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getAavegotchiListings", + "outputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "seller", + "type": "address" + }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { + "internalType": "address", + "name": "affiliate", + "type": "address" + }, + { + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + } + ], + "internalType": "struct ERC721Listing", + "name": "listing_", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "address", "name": "owner", "type": "address" }, + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "status", + "type": "uint256" + }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "int16[6]", + "name": "modifiedNumericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { + "internalType": "address", + "name": "escrow", + "type": "address" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "kinship", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "experience", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toNextLevel", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usedSkillPoints", + "type": "uint256" + }, + { "internalType": "uint256", "name": "level", "type": "uint256" }, + { + "internalType": "uint256", + "name": "hauntId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "baseRarityScore", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "modifiedRarityScore", + "type": "uint256" + }, + { "internalType": "bool", "name": "locked", "type": "bool" }, + { + "components": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "itemId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "string", + "name": "author", + "type": "string" + }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { + "internalType": "uint8", + "name": "x", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "y", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "width", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "height", + "type": "uint8" + } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "svgId", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "category", + "type": "uint8" + }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "items", + "type": "tuple[]" + } + ], + "internalType": "struct AavegotchiInfo", + "name": "aavegotchiInfo_", + "type": "tuple" + } + ], + "internalType": "struct MarketplaceGetterFacet.AavegotchiListing[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" } + ], + "name": "getERC1155Listing", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { "internalType": "uint256", "name": "quantity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeLastPurchased", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sourceListingId", + "type": "uint256" + }, + { "internalType": "bool", "name": "sold", "type": "bool" }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC1155Listing", + "name": "listing_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc1155TypeId", + "type": "uint256" + }, + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "getERC1155ListingFromToken", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { "internalType": "uint256", "name": "quantity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeLastPurchased", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sourceListingId", + "type": "uint256" + }, + { "internalType": "bool", "name": "sold", "type": "bool" }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC1155Listing", + "name": "listing_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_category", "type": "uint256" }, + { "internalType": "string", "name": "_sort", "type": "string" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getERC1155Listings", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { "internalType": "uint256", "name": "quantity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeLastPurchased", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sourceListingId", + "type": "uint256" + }, + { "internalType": "bool", "name": "sold", "type": "bool" }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC1155Listing[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_listingId", "type": "uint256" } + ], + "name": "getERC721Listing", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC721Listing", + "name": "listing_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_erc721TokenId", + "type": "uint256" + }, + { "internalType": "address", "name": "_owner", "type": "address" } + ], + "name": "getERC721ListingFromToken", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC721Listing", + "name": "listing_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_category", "type": "uint256" }, + { "internalType": "string", "name": "_sort", "type": "string" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getERC721Listings", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC721Listing[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getListingFeeInWei", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_category", "type": "uint256" }, + { "internalType": "string", "name": "_sort", "type": "string" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getOwnerAavegotchiListings", + "outputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "seller", + "type": "address" + }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { + "internalType": "address", + "name": "affiliate", + "type": "address" + }, + { + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + } + ], + "internalType": "struct ERC721Listing", + "name": "listing_", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "address", "name": "owner", "type": "address" }, + { + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "status", + "type": "uint256" + }, + { + "internalType": "int16[6]", + "name": "numericTraits", + "type": "int16[6]" + }, + { + "internalType": "int16[6]", + "name": "modifiedNumericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { + "internalType": "address", + "name": "escrow", + "type": "address" + }, + { + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumStake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "kinship", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastInteracted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "experience", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toNextLevel", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "usedSkillPoints", + "type": "uint256" + }, + { "internalType": "uint256", "name": "level", "type": "uint256" }, + { + "internalType": "uint256", + "name": "hauntId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "baseRarityScore", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "modifiedRarityScore", + "type": "uint256" + }, + { "internalType": "bool", "name": "locked", "type": "bool" }, + { + "components": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "itemId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "string", + "name": "author", + "type": "string" + }, + { + "internalType": "int8[6]", + "name": "traitModifiers", + "type": "int8[6]" + }, + { + "internalType": "bool[16]", + "name": "slotPositions", + "type": "bool[16]" + }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "components": [ + { + "internalType": "uint8", + "name": "x", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "y", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "width", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "height", + "type": "uint8" + } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "ghstPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxQuantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalQuantity", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "svgId", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "rarityScoreModifier", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "canPurchaseWithGhst", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "minLevel", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "canBeTransferred", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "category", + "type": "uint8" + }, + { + "internalType": "int16", + "name": "kinshipBonus", + "type": "int16" + }, + { + "internalType": "uint32", + "name": "experienceBonus", + "type": "uint32" + } + ], + "internalType": "struct ItemType", + "name": "itemType", + "type": "tuple" + } + ], + "internalType": "struct ItemTypeIO[]", + "name": "items", + "type": "tuple[]" + } + ], + "internalType": "struct AavegotchiInfo", + "name": "aavegotchiInfo_", + "type": "tuple" + } + ], + "internalType": "struct MarketplaceGetterFacet.AavegotchiListing[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_category", "type": "uint256" }, + { "internalType": "string", "name": "_sort", "type": "string" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getOwnerERC1155Listings", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc1155TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc1155TypeId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { "internalType": "uint256", "name": "quantity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeLastPurchased", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sourceListingId", + "type": "uint256" + }, + { "internalType": "bool", "name": "sold", "type": "bool" }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC1155Listing[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "uint256", "name": "_category", "type": "uint256" }, + { "internalType": "string", "name": "_sort", "type": "string" }, + { "internalType": "uint256", "name": "_length", "type": "uint256" } + ], + "name": "getOwnerERC721Listings", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "listingId", "type": "uint256" }, + { "internalType": "address", "name": "seller", "type": "address" }, + { + "internalType": "address", + "name": "erc721TokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "erc721TokenId", + "type": "uint256" + }, + { "internalType": "uint256", "name": "category", "type": "uint256" }, + { + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timePurchased", + "type": "uint256" + }, + { "internalType": "bool", "name": "cancelled", "type": "bool" }, + { + "internalType": "uint16[2]", + "name": "principalSplit", + "type": "uint16[2]" + }, + { "internalType": "address", "name": "affiliate", "type": "address" }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "internalType": "struct ERC721Listing[]", + "name": "listings_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32[]", "name": "_propIds", "type": "bytes32[]" }, + { "internalType": "address[]", "name": "_claimers", "type": "address[]" }, + { + "internalType": "uint256[][]", + "name": "_gotchiIds", + "type": "uint256[][]" + }, + { + "internalType": "bytes32[][]", + "name": "_proofs", + "type": "bytes32[][]" + }, + { + "internalType": "uint256[][]", + "name": "_onlyGotchis", + "type": "uint256[][]" + } + ], + "name": "batchDropClaimXPDrop", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_propId", "type": "bytes32" }, + { "internalType": "address[]", "name": "_claimers", "type": "address[]" }, + { + "internalType": "uint256[][]", + "name": "_gotchiIds", + "type": "uint256[][]" + }, + { + "internalType": "bytes32[][]", + "name": "_proofs", + "type": "bytes32[][]" + }, + { + "internalType": "uint256[][]", + "name": "_onlyGotchis", + "type": "uint256[][]" + } + ], + "name": "batchGotchiClaimXPDrop", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_propId", "type": "bytes32" }, + { "internalType": "address", "name": "_claimer", "type": "address" }, + { "internalType": "uint256[]", "name": "_gotchiId", "type": "uint256[]" }, + { "internalType": "bytes32[]", "name": "_proof", "type": "bytes32[]" }, + { + "internalType": "uint256[]", + "name": "_onlyGotchis", + "type": "uint256[]" + } + ], + "name": "claimXPDrop", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_propId", "type": "bytes32" }, + { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" }, + { "internalType": "uint256", "name": "_xpAmount", "type": "uint256" } + ], + "name": "createXPDrop", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_propId", "type": "bytes32" }, + { "internalType": "uint256", "name": "_gotchId", "type": "uint256" } + ], + "name": "isClaimed", + "outputs": [ + { "internalType": "uint256", "name": "claimed_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_propId", "type": "bytes32" } + ], + "name": "viewXPDrop", + "outputs": [ + { + "components": [ + { "internalType": "bytes32", "name": "root", "type": "bytes32" }, + { "internalType": "uint256", "name": "xpAmount", "type": "uint256" } + ], + "internalType": "struct XPMerkleDrops", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address payable", + "name": "relayerAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + } + ], + "name": "MetaTransactionExecuted", + "type": "event" + }, + { + "inputs": [ + { "internalType": "address", "name": "userAddress", "type": "address" }, + { "internalType": "bytes", "name": "functionSignature", "type": "bytes" }, + { "internalType": "bytes32", "name": "sigR", "type": "bytes32" }, + { "internalType": "bytes32", "name": "sigS", "type": "bytes32" }, + { "internalType": "uint8", "name": "sigV", "type": "uint8" } + ], + "name": "executeMetaTransaction", + "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" } + ], + "name": "getNonce", + "outputs": [ + { "internalType": "uint256", "name": "nonce_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } + ], + "name": "peripherySafeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_id", "type": "uint256" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } + ], + "name": "peripherySafeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "bool", "name": "_approved", "type": "bool" }, + { "internalType": "address", "name": "_onBehalfOf", "type": "address" } + ], + "name": "peripherySetApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "string", "name": "_value", "type": "string" } + ], + "name": "peripherySetBaseURI", + "outputs": [ + { "internalType": "uint256", "name": "_itemsLength", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "removeInterface", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_periphery", "type": "address" } + ], + "name": "setPeriphery", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_numAavegotchisToPurchase", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_totalPrice", + "type": "uint256" + } + ], + "name": "BuyPortals", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_numAavegotchisToPurchase", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_hauntId", + "type": "uint256" + } + ], + "name": "MintPortals", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_itemIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_totalPrice", + "type": "uint256" + } + ], + "name": "PurchaseItemsWithGhst", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_itemIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + } + ], + "name": "PurchaseItemsWithVouchers", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_itemIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_totalPrice", + "type": "uint256" + } + ], + "name": "PurchaseTransferItemsWithGhst", + "type": "event" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_ghst", "type": "uint256" } + ], + "name": "buyPortals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_amount", "type": "uint256" } + ], + "name": "mintPortals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + } + ], + "name": "purchaseItemsWithGhst", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { + "internalType": "uint256[]", + "name": "_quantities", + "type": "uint256[]" + } + ], + "name": "purchaseTransferItemsWithGhst", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_svgType", "type": "bytes32" }, + { "internalType": "uint256", "name": "_numLayers", "type": "uint256" } + ], + "name": "deleteLastSvgLayers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "getAavegotchiSvg", + "outputs": [{ "internalType": "string", "name": "ag_", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_itemId", "type": "uint256" } + ], + "name": "getItemSvg", + "outputs": [{ "internalType": "string", "name": "ag_", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextSleeveId", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_svgType", "type": "bytes32" }, + { "internalType": "uint256", "name": "_itemId", "type": "uint256" } + ], + "name": "getSvg", + "outputs": [{ "internalType": "string", "name": "svg_", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_svgType", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" } + ], + "name": "getSvgs", + "outputs": [ + { "internalType": "string[]", "name": "svgs_", "type": "string[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "portalAavegotchisSvg", + "outputs": [ + { "internalType": "string[10]", "name": "svg_", "type": "string[10]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_hauntId", "type": "uint256" }, + { + "internalType": "address", + "name": "_collateralType", + "type": "address" + }, + { + "internalType": "int16[6]", + "name": "_numericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + } + ], + "name": "previewAavegotchi", + "outputs": [{ "internalType": "string", "name": "ag_", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions[]", + "name": "_dimensions", + "type": "tuple[]" + } + ], + "name": "setItemsDimensions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint256", "name": "sleeveId", "type": "uint256" }, + { "internalType": "uint256", "name": "wearableId", "type": "uint256" } + ], + "internalType": "struct SvgFacet.Sleeve[]", + "name": "_sleeves", + "type": "tuple[]" + } + ], + "name": "setSleeves", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "string", "name": "_svg", "type": "string" }, + { + "components": [ + { "internalType": "bytes32", "name": "svgType", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" } + ], + "internalType": "struct LibSvg.SvgTypeAndSizes[]", + "name": "_typesAndSizes", + "type": "tuple[]" + } + ], + "name": "storeSvg", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "string", "name": "_svg", "type": "string" }, + { + "components": [ + { "internalType": "bytes32", "name": "svgType", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" } + ], + "internalType": "struct LibSvg.SvgTypeAndIdsAndSizes[]", + "name": "_typesAndIdsAndSizes", + "type": "tuple[]" + } + ], + "name": "updateSvg", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "getAavegotchiSideSvgs", + "outputs": [ + { "internalType": "string[]", "name": "ag_", "type": "string[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_itemId", "type": "uint256" } + ], + "name": "getItemSvgs", + "outputs": [ + { "internalType": "string[]", "name": "svg_", "type": "string[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_itemIds", "type": "uint256[]" } + ], + "name": "getItemsSvgs", + "outputs": [ + { "internalType": "string[][]", "name": "svgs_", "type": "string[][]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_hauntId", "type": "uint256" }, + { + "internalType": "address", + "name": "_collateralType", + "type": "address" + }, + { + "internalType": "int16[6]", + "name": "_numericTraits", + "type": "int16[6]" + }, + { + "internalType": "uint16[16]", + "name": "equippedWearables", + "type": "uint16[16]" + } + ], + "name": "previewSideAavegotchi", + "outputs": [ + { "internalType": "string[]", "name": "ag_", "type": "string[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { "internalType": "string", "name": "side", "type": "string" }, + { + "components": [ + { "internalType": "uint8", "name": "x", "type": "uint8" }, + { "internalType": "uint8", "name": "y", "type": "uint8" }, + { "internalType": "uint8", "name": "width", "type": "uint8" }, + { "internalType": "uint8", "name": "height", "type": "uint8" } + ], + "internalType": "struct Dimensions", + "name": "dimensions", + "type": "tuple" + } + ], + "internalType": "struct SvgViewsFacet.SideViewDimensionsArgs[]", + "name": "_sideViewDimensions", + "type": "tuple[]" + } + ], + "name": "setSideViewDimensions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "uint256", "name": "itemId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "slotPosition", + "type": "uint256" + }, + { "internalType": "bytes32", "name": "side", "type": "bytes32" }, + { "internalType": "bool", "name": "exceptionBool", "type": "bool" } + ], + "internalType": "struct SvgViewsFacet.SideViewExceptions[]", + "name": "_sideViewExceptions", + "type": "tuple[]" + } + ], + "name": "setSideViewExceptions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256[]", + "name": "_tokenIds", + "type": "uint256[]" + } + ], + "name": "OpenPortals", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "PortalOpened", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "randomNumber", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_vrfTimeSet", + "type": "uint256" + } + ], + "name": "VrfRandomNumber", + "type": "event" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_newFee", "type": "uint256" }, + { "internalType": "bytes32", "name": "_keyHash", "type": "bytes32" }, + { + "internalType": "address", + "name": "_vrfCoordinator", + "type": "address" + }, + { "internalType": "address", "name": "_link", "type": "address" } + ], + "name": "changeVrf", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "keyHash", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "link", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "linkBalance", + "outputs": [ + { "internalType": "uint256", "name": "linkBalance_", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" } + ], + "name": "openPortals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "_requestId", "type": "bytes32" }, + { "internalType": "uint256", "name": "_randomNumber", "type": "uint256" } + ], + "name": "rawFulfillRandomness", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "removeLinkTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vrfCoordinator", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_values", + "type": "uint256[]" + } + ], + "name": "MigrateVouchers", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "values", "type": "uint256[]" } + ], + "internalType": "struct VoucherMigrationFacet.VouchersOwner[]", + "name": "_vouchersOwners", + "type": "tuple[]" + } + ], + "name": "migrateVouchers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_wearableIds", + "type": "uint256[]" + } + ], + "name": "findWearableSets", + "outputs": [ + { + "internalType": "uint256[]", + "name": "wearableSetIds_", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_index", "type": "uint256" } + ], + "name": "getWearableSet", + "outputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "internalType": "uint16[]", + "name": "wearableIds", + "type": "uint16[]" + }, + { + "internalType": "int8[5]", + "name": "traitsBonuses", + "type": "int8[5]" + } + ], + "internalType": "struct WearableSet", + "name": "wearableSet_", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getWearableSets", + "outputs": [ + { + "components": [ + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "uint8[]", + "name": "allowedCollaterals", + "type": "uint8[]" + }, + { + "internalType": "uint16[]", + "name": "wearableIds", + "type": "uint16[]" + }, + { + "internalType": "int8[5]", + "name": "traitsBonuses", + "type": "int8[5]" + } + ], + "internalType": "struct WearableSet[]", + "name": "wearableSets_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalWearableSets", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + } + ], + "name": "WhitelistCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "WhitelistOwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + } + ], + "name": "WhitelistUpdated", + "type": "event" + }, + { + "inputs": [ + { "internalType": "string", "name": "_name", "type": "string" }, + { + "internalType": "address[]", + "name": "_whitelistAddresses", + "type": "address[]" + } + ], + "name": "createWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" } + ], + "name": "getBorrowLimit", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" } + ], + "name": "getWhitelist", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "string", "name": "name", "type": "string" }, + { + "internalType": "address[]", + "name": "addresses", + "type": "address[]" + } + ], + "internalType": "struct Whitelist", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { "internalType": "uint256", "name": "_actionRight", "type": "uint256" } + ], + "name": "getWhitelistAccessRight", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getWhitelistsLength", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "_whitelistAddress", + "type": "address" + } + ], + "name": "isWhitelisted", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "_whitelistAddresses", + "type": "address[]" + } + ], + "name": "removeAddressesFromWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { "internalType": "uint256", "name": "_borrowlimit", "type": "uint256" } + ], + "name": "setBorrowLimit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { "internalType": "uint256", "name": "_actionRight", "type": "uint256" }, + { "internalType": "uint256", "name": "_accessRight", "type": "uint256" } + ], + "name": "setWhitelistAccessRight", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { + "internalType": "address", + "name": "_whitelistOwner", + "type": "address" + } + ], + "name": "transferOwnershipOfWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "_whitelistAddresses", + "type": "address[]" + } + ], + "name": "updateWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" } + ], + "name": "whitelistExists", + "outputs": [{ "internalType": "bool", "name": "exists", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint32", "name": "_whitelistId", "type": "uint32" } + ], + "name": "whitelistOwner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "kinship", + "type": "uint256" + } + ], + "name": "AavegotchiInteract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "KinshipBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC1155ListingCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC1155ListingRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "UpdateERC1155Listing", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC721ListingCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "priceInWei", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC721ListingPriceUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "listingId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "category", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "ERC721ListingRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "listingId", + "type": "uint32" + } + ], + "name": "GotchiLendingAdd", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "timeCreated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct LibEventStructContainers.GotchiLendingAdd", + "name": "", + "type": "tuple" + } + ], + "name": "GotchiLendingAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "listingId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "GotchiLendingCancel", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "timeCancelled", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct LibEventStructContainers.GotchiLendingCancellation", + "name": "", + "type": "tuple" + } + ], + "name": "GotchiLendingCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "listingId", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "tokenAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "name": "GotchiLendingClaim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "timeClaimed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct LibEventStructContainers.GotchiLendingClaim", + "name": "", + "type": "tuple" + } + ], + "name": "GotchiLendingClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "listingId", + "type": "uint32" + } + ], + "name": "GotchiLendingEnd", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { "internalType": "uint256", "name": "timeEnded", "type": "uint256" }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct LibEventStructContainers.GotchiLendingEnd", + "name": "", + "type": "tuple" + } + ], + "name": "GotchiLendingEnded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "listingId", + "type": "uint32" + } + ], + "name": "GotchiLendingExecute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "uint32", "name": "listingId", "type": "uint32" }, + { "internalType": "address", "name": "lender", "type": "address" }, + { "internalType": "address", "name": "borrower", "type": "address" }, + { "internalType": "uint32", "name": "tokenId", "type": "uint32" }, + { "internalType": "uint96", "name": "initialCost", "type": "uint96" }, + { "internalType": "uint32", "name": "period", "type": "uint32" }, + { + "internalType": "uint8[3]", + "name": "revenueSplit", + "type": "uint8[3]" + }, + { + "internalType": "address", + "name": "originalOwner", + "type": "address" + }, + { + "internalType": "address", + "name": "thirdParty", + "type": "address" + }, + { "internalType": "uint32", "name": "whitelistId", "type": "uint32" }, + { + "internalType": "address[]", + "name": "revenueTokens", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "timeAgreed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "permissions", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct LibEventStructContainers.GotchiLendingExecution", + "name": "", + "type": "tuple" + } + ], + "name": "GotchiLendingExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "name": "svgType", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" } + ], + "indexed": false, + "internalType": "struct LibSvg.SvgTypeAndSizes[]", + "name": "_typesAndSizes", + "type": "tuple[]" + } + ], + "name": "StoreSvg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { "internalType": "bytes32", "name": "svgType", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "sizes", "type": "uint256[]" } + ], + "indexed": false, + "internalType": "struct LibSvg.SvgTypeAndIdsAndSizes[]", + "name": "_typesAndIdsAndSizes", + "type": "tuple[]" + } + ], + "name": "UpdateSvg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint32", + "name": "whitelistId", + "type": "uint32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "actionRight", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "accessRight", + "type": "uint256" + } + ], + "name": "WhitelistAccessRightSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256[]", + "name": "_tokenIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_xpValues", + "type": "uint256[]" + } + ], + "name": "GrantExperience", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_propId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_gotchiId", + "type": "uint256" + } + ], + "name": "XPClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_propId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "_merkleRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_xpAmount", + "type": "uint256" + } + ], + "name": "XPDropCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "facetAddress", + "type": "address" + }, + { + "internalType": "enum IDiamondCut.FacetCutAction", + "name": "action", + "type": "uint8" + }, + { + "internalType": "bytes4[]", + "name": "functionSelectors", + "type": "bytes4[]" + } + ], + "indexed": false, + "internalType": "struct IDiamondCut.FacetCut[]", + "name": "_diamondCut", + "type": "tuple[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "_init", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_calldata", + "type": "bytes" + } + ], + "name": "DiamondCut", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "_values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_fromContract", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenTypeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "TransferFromParent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_toContract", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenTypeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "TransferToParent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "_value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } +] diff --git a/helpers/constants.ts b/helpers/constants.ts index fc79729bc..c5ad19da0 100644 --- a/helpers/constants.ts +++ b/helpers/constants.ts @@ -10,6 +10,8 @@ export const aavegotchiDAOAddress = export const pixelcraftAddress = "0xD4151c984e6CF33E04FFAAF06c3374B2926Ecc64"; export const playerRewardsAddress = "0x27df5c6dcd360f372e23d5e63645ec0072d0c098"; +export const wearableDiamondAddressMatic = "0x58de9AaBCaeEC0f69883C94318810ad79Cc6a44f"; + export const snapshotGraphUrl = "https://hub.snapshot.org/graphql"; export const WEARABLE_GAP_OFFSET = 1000000000; diff --git a/scripts/LendingPermissions.ts b/scripts/LendingPermissions.ts new file mode 100644 index 000000000..1b3c50d9b --- /dev/null +++ b/scripts/LendingPermissions.ts @@ -0,0 +1,65 @@ +const noPermissionModifiers = { + noPermissionsAllowed: 0, + otherPermissionsAllowed: 1, +}; + +const channellingModifiers = { + none: 0, + channellingAllowedForAllBorrowers: 1, + //new channelling permission modifiers can be added here up to 8 +}; + +interface LendingPermissions { + permissionsAllowed: 0 | 1; + channellingAllowed: 0 | 1; + + //new lending permissions can be added here up to 32 +} + +export function constructPermissionsBitMap(permissions: LendingPermissions) { + let permissionsBitMap = BigInt(0); + + if (permissions.permissionsAllowed == 0) { + return 0; + } else { + //loop through all object keys and set the permissions + const totalKeys = Object.keys(permissions).length; + + for (let i = 0; i < totalKeys; i++) { + permissionsBitMap = storeValueInBitmap( + Object.values(permissions)[i], + i, + permissionsBitMap + ); + } + } + + return permissionsBitMap; +} + +export function getPermissionsFromBitmap(bitmap: bigint): LendingPermissions { + const permissions: LendingPermissions = { + permissionsAllowed: 0, + channellingAllowed: 0, + // Initialize additional lending permissions here + }; + + const totalKeys = Object.keys(permissions).length; + + for (let i = 0; i < totalKeys; i++) { + const value = Number((bitmap >> BigInt(i * 8)) & BigInt(0xff)); + permissions[Object.keys(permissions)[i] as keyof LendingPermissions] = + value as 0 | 1; + } + + return permissions; +} + +function storeValueInBitmap(value: number, position: number, bitmap: any) { + bitmap &= ~(BigInt(0xff) << (BigInt(position) * BigInt(8))); + + // Set the value in the specified position + bitmap |= BigInt(value) << (BigInt(position) * BigInt(8)); + + return bitmap; +} diff --git a/scripts/deploy-mumbai.ts b/scripts/deploy-mumbai.ts new file mode 100644 index 000000000..1f15026b6 --- /dev/null +++ b/scripts/deploy-mumbai.ts @@ -0,0 +1,590 @@ +/* global ethers hre */ + +import { ethers, run } from "hardhat"; +import { deployAndUpgradeWearableDiamond } from "./upgrades/upgrade-deployWearableDiamond"; +import { getAllItemTypes, SleeveObject } from "./itemTypeHelpers"; +import { itemTypes as allItemTypes } from "../data/itemTypes/itemTypes"; +import { wearableSets } from "./wearableSets"; +import { DAOFacet, SvgFacet } from "../typechain"; +import { BigNumberish } from "@ethersproject/bignumber"; +import { uploadSvgs } from "./svgHelperFunctions"; +import { getWearables } from "../svgs/allWearables"; +import { deployAndUpgradeForgeDiamond } from "./upgrades/forge/upgrade-deployAndUpgradeForgeDiamond"; +import { setForgeProperties } from "./upgrades/forge/upgrade-forgeSetters"; +import { aavegotchiSvgs as aavegotchiSideSvgs } from "../svgs/aavegotchi-side-typeScript"; +import { + eyeShapesLeftSvgs, + eyeShapesRightSvgs, +} from "../svgs/eyeShapes-sidesOpt"; +import { + wearablesLeftSvgs, + wearablesRightSvgs, + wearablesBackSvgs, + wearablesLeftSleeveSvgs, + wearablesRightSleeveSvgs, + wearablesBackSleeveSvgs, +} from "../svgs/wearables-sides"; + +const diamond = require("../js/diamond-util/src/index.js"); + +function addCommas(nStr) { + nStr += ""; + const x = nStr.split("."); + let x1 = x[0]; + const x2 = x.length > 1 ? "." + x[1] : ""; + var rgx = /(\d+)(\d{3})/; + while (rgx.test(x1)) { + x1 = x1.replace(rgx, "$1" + "," + "$2"); + } + return x1 + x2; +} + +function strDisplay(str) { + return addCommas(str.toString()); +} + +async function main() { + if (!["mumbai", "hardhat", "localhost"].includes(hre.network.name)) { + throw Error("No network settings for " + hre.network.name); + } + + const ghstDiamondAddress = "0xc93A55a39356BddA580036Ce50044C106Dd211c8"; + const ghstStakingDiamondAddress = + "0x7279afC1C28b730f274961825Aae6163b5FeC600"; + const realmDiamondAddress = "0x726F201A9aB38cD56D60ee392165F1434C4F193D"; + const installationDiamondAddress = + "0x19f870bD94A34b3adAa9CaA439d333DA18d6812A"; //todo + const tileDiamondAddress = "0x9216c31d8146bCB3eA5a9162Dc1702e8AEDCa355"; //todo + const fakeGotchiArtDiamondAddress = + "0x330088c3372f4F78cF023DF16E1e1564109191dc"; + const fakeGotchiCardDiamondAddress = + "0x9E282FE4a0be6A0C4B9f7d9fEF10547da35c52EA"; + + const name = "Aavegotchi"; + const symbol = "GOTCHI"; + + const childChainManager = "0xb5505a6d998549090530911180f38aC5130101c6"; + const linkAddress = "0x326C977E6efc84E512bB9C30f76E30c160eD06FB"; + const vrfCoordinator = "0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9"; // todo + const keyHash = + "0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4"; // todo + const fee = ethers.utils.parseEther("0.0001"); + + const accounts = await ethers.getSigners(); + const ownerAddress = await accounts[0].getAddress(); + console.log("Owner: " + ownerAddress); + + const dao = ownerAddress; // 'todo' + const daoTreasury = ownerAddress; + const rarityFarming = ownerAddress; // 'todo' + const pixelCraft = ownerAddress; // 'todo' + const itemManagers = [ownerAddress]; // 'todo' + + const ghstTokenContract = await ethers.getContractAt( + "GHSTFacet", + ghstDiamondAddress + ); + + const gasLimit = 12300000; + let totalGasUsed = ethers.BigNumber.from("0"); + let tx; + let receipt; + + async function deployFacets(...facets: any[]) { + const instances = []; + for (let facet of facets) { + let constructorArgs = []; + if (Array.isArray(facet)) { + [facet, constructorArgs] = facet; + } + const factory = await ethers.getContractFactory(facet); + const facetInstance = await factory.deploy(...constructorArgs); + await facetInstance.deployed(); + const tx = facetInstance.deployTransaction; + const receipt = await tx.wait(); + console.log(`${facet} deploy gas used:` + strDisplay(receipt.gasUsed)); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + instances.push(facetInstance); + } + return instances; + } + let [ + bridgeFacet, + aavegotchiFacet, + aavegotchiGameFacet, + svgFacet, + itemsFacet, + itemsTransferFacet, + collateralFacet, + daoFacet, + vrfFacet, + shopFacet, + metaTransactionsFacet, + erc1155MarketplaceFacet, + erc721MarketplaceFacet, + escrowFacet, + gotchiLendingFacet, + lendingGetterAndSetterFacet, + marketplaceGetterFacet, + svgViewsFacet, + wearableSetsFacet, + whitelistFacet, + peripheryFacet, + merkleDropFacet, + ] = await deployFacets( + "contracts/Aavegotchi/facets/BridgeFacet.sol:BridgeFacet", + "contracts/Aavegotchi/facets/AavegotchiFacet.sol:AavegotchiFacet", + "AavegotchiGameFacet", + "SvgFacet", + "contracts/Aavegotchi/facets/ItemsFacet.sol:ItemsFacet", + "ItemsTransferFacet", + "CollateralFacet", + "DAOFacet", + "VrfFacet", + "ShopFacet", + "MetaTransactionsFacet", + "ERC1155MarketplaceFacet", + "ERC721MarketplaceFacet", + "EscrowFacet", + "GotchiLendingFacet", + "LendingGetterAndSetterFacet", + "MarketplaceGetterFacet", + "SvgViewsFacet", + "WearableSetsFacet", + "WhitelistFacet", + "PeripheryFacet", + "MerkleDropFacet" + ); + + // eslint-disable-next-line no-unused-vars + const aavegotchiDiamond = await diamond.deploy({ + diamondName: "AavegotchiDiamond", + initDiamond: "contracts/Aavegotchi/InitDiamond.sol:InitDiamond", + facets: [ + ["BridgeFacet", bridgeFacet], + ["AavegotchiFacet", aavegotchiFacet], + ["AavegotchiGameFacet", aavegotchiGameFacet], + ["SvgFacet", svgFacet], + ["ItemsFacet", itemsFacet], + ["ItemsTransferFacet", itemsTransferFacet], + ["CollateralFacet", collateralFacet], + ["DAOFacet", daoFacet], + ["VrfFacet", vrfFacet], + ["ShopFacet", shopFacet], + ["MetaTransactionsFacet", metaTransactionsFacet], + ["ERC1155MarketplaceFacet", erc1155MarketplaceFacet], + ["ERC721MarketplaceFacet", erc721MarketplaceFacet], + ["EscrowFacet", escrowFacet], + ["GotchiLendingFacet", gotchiLendingFacet], + ["LendingGetterAndSetterFacet", lendingGetterAndSetterFacet], + ["MarketplaceGetterFacet", marketplaceGetterFacet], + ["SvgViewsFacet", svgViewsFacet], + ["WearableSetsFacet", wearableSetsFacet], + ["WhitelistFacet", whitelistFacet], + ["PeripheryFacet", peripheryFacet], + ["MerkleDropFacet", merkleDropFacet], + ], + owner: ownerAddress, + args: [ + [ + dao, + daoTreasury, + rarityFarming, + pixelCraft, + ghstDiamondAddress, + keyHash, + fee, + vrfCoordinator, + linkAddress, + childChainManager, + name, + symbol, + ], + ], + }); + console.log("Aavegotchi diamond address:" + aavegotchiDiamond.address); + + tx = aavegotchiDiamond.deployTransaction; + receipt = await tx.wait(); + console.log( + "Aavegotchi diamond deploy gas used:" + strDisplay(receipt.gasUsed) + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // get facets + daoFacet = await ethers.getContractAt("DAOFacet", aavegotchiDiamond.address); + aavegotchiGameFacet = await ethers.getContractAt( + "AavegotchiGameFacet", + aavegotchiDiamond.address + ); + erc1155MarketplaceFacet = await ethers.getContractAt( + "ERC1155MarketplaceFacet", + aavegotchiDiamond.address + ); + erc721MarketplaceFacet = await ethers.getContractAt( + "ERC721MarketplaceFacet", + aavegotchiDiamond.address + ); + peripheryFacet = await ethers.getContractAt( + "PeripheryFacet", + aavegotchiDiamond.address + ); + svgFacet = await ethers.getContractAt("SvgFacet", aavegotchiDiamond.address); + + // add item managers + console.log("Adding item managers"); + tx = await daoFacet.addItemManagers(itemManagers, { gasLimit: gasLimit }); + console.log("Adding item managers tx:", tx.hash); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Adding item manager failed: ${tx.hash}`); + } + + // create new haunt and upload payloads + let initialHauntSize = "10000"; + let portalPrice = ethers.utils.parseEther("100"); + tx = await daoFacet.createHaunt(initialHauntSize, portalPrice, "0x000000", { + gasLimit: gasLimit, + }); + receipt = await tx.wait(); + console.log("Haunt created:" + strDisplay(receipt.gasUsed)); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // add collateral info for haunt + console.log("Adding Collateral Types"); + const { getCollaterals } = require("./testCollateralTypes.js"); + tx = await daoFacet.addCollateralTypes( + 1, + getCollaterals(hre.network.name, ghstDiamondAddress), + { gasLimit: gasLimit } + ); + receipt = await tx.wait(); + console.log( + "Adding Collateral Types gas used::" + strDisplay(receipt.gasUsed) + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // deploy wearable diamond and set to aavegotchi diamond + const wearableDiamondAddress = await deployAndUpgradeWearableDiamond( + "0x38d67a8cb93ed3795764ec2ecf8ea284da329936", + "0x613d34492e7f105c74b7923648653a1e57e5a852", + "0x1709d0d0e696d64bce8add21da8f61f7a641dfaa", + aavegotchiDiamond.address + ); + tx = await peripheryFacet.setPeriphery(wearableDiamondAddress); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Error:: ${tx.hash}`); + } + console.log( + "Setting wearable diamond gas used::" + strDisplay(receipt.gasUsed) + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // add item types + console.log("Adding Item Types"); + const itemTypes = getAllItemTypes(allItemTypes, hre.ethers); + + let step = 20; + let sliceStep = itemTypes.length / step; + for (let i = 0; i < step; i++) { + tx = await daoFacet.addItemTypes( + itemTypes.slice(sliceStep * i, sliceStep * (i + 1)), + { gasLimit: gasLimit } + ); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Error:: ${tx.hash}`); + } + console.log( + `Adding Item Types (${i + 1} / ${step}) gas used:: ${strDisplay( + receipt.gasUsed + )}` + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + } + + // add wearable types sets + console.log("Adding Wearable Sets"); + step = 2; + sliceStep = wearableSets.length / step; + for (let i = 0; i < step; i++) { + tx = await daoFacet.addWearableSets( + wearableSets.slice(sliceStep * i, sliceStep * (i + 1)), + { gasLimit: gasLimit } + ); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Error:: ${tx.hash}`); + } + console.log( + `Adding Wearable Sets (${i + 1} / ${step}) gas used:: ${strDisplay( + receipt.gasUsed + )}` + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + } + + console.log("Upload SVGs"); + + const { aavegotchiSvgs } = require("../svgs/aavegotchi.js"); + const { eyeShapeSvgs } = require("../svgs/eyeShapes.js"); + const collateralsSvgs = [ + '', + ]; + const collateralsLeftSvgs = [ + '', + ]; + const collateralsRightSvgs = [ + '', + ]; + + await uploadSvgs(svgFacet, aavegotchiSvgs, "aavegotchi", hre.ethers); + await uploadSvgs(svgFacet, collateralsSvgs, "collaterals", hre.ethers); + await uploadSvgs(svgFacet, eyeShapeSvgs, "eyeShapes", hre.ethers); + await uploadSvgs( + svgFacet, + aavegotchiSideSvgs.left, + "aavegotchi-left", + hre.ethers + ); + await uploadSvgs( + svgFacet, + aavegotchiSideSvgs.right, + "aavegotchi-right", + hre.ethers + ); + await uploadSvgs( + svgFacet, + aavegotchiSideSvgs.back, + "aavegotchi-back", + hre.ethers + ); + await uploadSvgs( + svgFacet, + collateralsLeftSvgs, + "collaterals-left", + hre.ethers + ); + await uploadSvgs( + svgFacet, + collateralsRightSvgs, + "collaterals-right", + hre.ethers + ); + await uploadSvgs(svgFacet, [""], "collaterals-back", hre.ethers); + await uploadSvgs(svgFacet, eyeShapesLeftSvgs, "eyeShapes-left", hre.ethers); + await uploadSvgs(svgFacet, eyeShapesRightSvgs, "eyeShapes-right", hre.ethers); + await uploadSvgs( + svgFacet, + Array(eyeShapeSvgs.length).fill(""), + "eyeShapes-back", + hre.ethers + ); + + const { sleeves, wearables } = getWearables(); + const svgsArray: string[] = wearables; + const sleeveSvgsArray: SleeveObject[] = sleeves; + + await uploadSvgs(svgFacet, svgsArray, "wearables", hre.ethers); + await uploadSvgs( + svgFacet, + sleeveSvgsArray.map((value) => value.svg), + "sleeves", + hre.ethers + ); + await uploadSvgs(svgFacet, wearablesLeftSvgs, "wearables-left", ethers); + await uploadSvgs(svgFacet, wearablesRightSvgs, "wearables-right", ethers); + await uploadSvgs(svgFacet, wearablesBackSvgs, "wearables-back", ethers); + await uploadSvgs(svgFacet, wearablesLeftSleeveSvgs, "sleeves-left", ethers); + await uploadSvgs(svgFacet, wearablesRightSleeveSvgs, "sleeves-right", ethers); + await uploadSvgs(svgFacet, wearablesBackSleeveSvgs, "sleeves-back", ethers); + console.log("Upload Done"); + + interface SleeveInput { + sleeveId: BigNumberish; + wearableId: BigNumberish; + } + let sleevesSvgId: number = 0; // TODO + let sleevesInput: SleeveInput[] = []; + for (const sleeve of sleeveSvgsArray) { + sleevesInput.push({ + sleeveId: sleevesSvgId, + wearableId: sleeve.id, + }); + sleevesSvgId++; + } + + console.log("Associating sleeves svgs with body wearable svgs."); + tx = await svgFacet.setSleeves(sleevesInput); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Error:: ${tx.hash}`); + } + console.log("Sleeves associating gas used::" + strDisplay(receipt.gasUsed)); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // console.log(`Mint prize items to target address: ${ownerAddress}`); + // const itemIds: number[] = itemTypes.map((value) => + // Number(value.svgId) + // ); + // const quantities: BigNumberish[] = itemTypes.map((value) => + // Number(value.maxQuantity) + // ); + // console.log("final quantities:", itemIds, quantities); + // tx = await daoFacet.mintItems(ownerAddress, itemIds, quantities); + // console.log("tx hash:", tx.hash); + // receipt = await tx.wait(); + // if (!receipt.status) { + // throw Error(`Error:: ${tx.hash}`); + // } + // console.log("Prize items minted:", tx.hash); + + // forge + let forgeDiamondAddress = await deployAndUpgradeForgeDiamond(aavegotchiDiamond.address, wearableDiamondAddress); + await setForgeProperties(forgeDiamondAddress); + tx = await daoFacet.setForge(forgeDiamondAddress, { gasLimit: gasLimit }); + receipt = await tx.wait(); + console.log("Forge diamond set:" + strDisplay(receipt.gasUsed)); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // add erc721 and 1155 categories + console.log("Adding ERC721 categories"); + const erc721Categories = [ + { + erc721TokenAddress: realmDiamondAddress, + category: 4, + }, + { + erc721TokenAddress: fakeGotchiArtDiamondAddress, + category: 5, + }, + ]; + tx = await erc721MarketplaceFacet.setERC721Categories(erc721Categories, { + gasLimit: gasLimit, + }); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Error:: ${tx.hash}`); + } + console.log( + "Adding ERC721 categories gas used::" + strDisplay(receipt.gasUsed) + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + console.log("Adding ERC1155 categories"); + const erc1155Categories = []; + for (let i = 0; i < 6; i++) { + erc1155Categories.push({ + erc1155TokenAddress: ghstStakingDiamondAddress, + erc1155TypeId: i, + category: 3, + }); + } + [ + 1, 141, 142, 143, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, + ].forEach((id) => { + erc1155Categories.push({ + erc1155TokenAddress: installationDiamondAddress, + erc1155TypeId: id, + category: 4, + }); + }); + Array.from({ length: 31 }, (_, index) => index + 1).forEach((id) => { + erc1155Categories.push({ + erc1155TokenAddress: tileDiamondAddress, + erc1155TypeId: id, + category: 5, + }); + }); + erc1155Categories.push({ + erc1155TokenAddress: fakeGotchiCardDiamondAddress, + erc1155TypeId: 0, + category: 6, + }); + + const offset = 1_000_000_000; + const alloyCategory = 7; + const geodesCategory = 9; + const essenceCategory = 10; + const coresCategory = 11; + const alloyIds = [offset]; + const essenceIds = [offset + 1]; + const geodeIds = []; //[offset + 2, offset +3, offset+4, offset+5, offset+6, offset+7]; + for (let i = offset + 2; i < offset + 8; i++) { + geodeIds.push(i); + } + const coreIds = []; + for (let i = offset + 8; i < offset + 44; i++) { + coreIds.push(i); + } + const forgeFinalArray = [ + [alloyCategory, alloyIds], + [geodesCategory, geodeIds], + [essenceCategory, essenceIds], + [coresCategory, coreIds], + ]; + forgeFinalArray.forEach((el) => { + const category = el[0]; + const toAdd = el[1] as number[]; + + for (let index = 0; index < toAdd.length; index++) { + erc1155Categories.push({ + erc1155TokenAddress: forgeDiamondAddress, + erc1155TypeId: toAdd[index], + category: category, + }); + } + }); + + tx = await erc1155MarketplaceFacet.setERC1155Categories(erc1155Categories, { + gasLimit: gasLimit, + }); + receipt = await tx.wait(); + if (!receipt.status) { + throw Error(`Error:: ${tx.hash}`); + } + console.log( + "Adding ERC1155 categories gas used::" + strDisplay(receipt.gasUsed) + ); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // set realm address + tx = await aavegotchiGameFacet.setRealmAddress(realmDiamondAddress, { + gasLimit: gasLimit, + }); + receipt = await tx.wait(); + console.log("Realm diamond set:" + strDisplay(receipt.gasUsed)); + totalGasUsed = totalGasUsed.add(receipt.gasUsed); + + // TODO: allow revenue tokens? + + // // if (hre.network.name === 'mumbai') { + // // transfer ownership + // const newOwner = '0x94cb5C277FCC64C274Bd30847f0821077B231022' + // console.log('Transferring ownership of diamond: ' + aavegotchiDiamond.address) + // const diamond = await ethers.getContractAt('OwnershipFacet', aavegotchiDiamond.address) + // const tx = await diamond.transferOwnership(newOwner) + // console.log('Transaction hash: ' + tx.hash) + // receipt = await tx.wait() + // console.log('Transfer Transaction complete') + // console.log('Gas used:' + strDisplay(receipt.gasUsed)) + // totalGasUsed = totalGasUsed.add(receipt.gasUsed) + // // } + + console.log("Total gas used: " + strDisplay(totalGasUsed)); +} + +// We recommend this pattern to be able to use async/await everywhere +// and properly handle errors. +if (require.main === module) { + main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); +} + +exports.deployProject = main; diff --git a/scripts/helperFunctions.ts b/scripts/helperFunctions.ts index a3c547172..ee6d04465 100644 --- a/scripts/helperFunctions.ts +++ b/scripts/helperFunctions.ts @@ -25,6 +25,13 @@ export async function impersonate( method: "hardhat_impersonateAccount", params: [address], }); + + //give some ether + await ethers.provider.send("hardhat_setBalance", [ + address, + "0x100000000000000000000", + ]); + let signer = await ethers.getSigner(address); contract = contract.connect(signer); return contract; diff --git a/scripts/itemTypeHelpers.ts b/scripts/itemTypeHelpers.ts index 3c3caead1..15b9ce3d0 100644 --- a/scripts/itemTypeHelpers.ts +++ b/scripts/itemTypeHelpers.ts @@ -82,12 +82,16 @@ export interface ItemTypeInputNew { svgId: BigNumberish; minLevel: BigNumberish; canBeTransferred: boolean; - rarityLevel: rarityLevel; + rarityLevel?: rarityLevel; setId: BigNumberish[]; author: string; + x?: number; + y?: number; + width?: number; + height?: number; dimensions: Dimensions; allowedCollaterals: BigNumberish[]; - ghstPrice: BigNumberish | BigNumberish; + ghstPrice: BigNumberish; traitModifiers: [ BigNumberish, BigNumberish, @@ -102,8 +106,8 @@ export interface ItemTypeInputNew { kinshipBonus: BigNumberish; rarityScoreModifier?: BigNumberish; canPurchaseWithGhst: boolean; - totalQuantity?: number; - maxQuantity?: number; + totalQuantity?: BigNumberish; + maxQuantity?: BigNumberish; } export interface ItemTypeOutput { @@ -118,7 +122,7 @@ export interface ItemTypeOutput { author: string; dimensions: Dimensions; allowedCollaterals: BigNumberish[]; - ghstPrice: BigNumberish | BigNumberish; + ghstPrice: BigNumberish; traitModifiers: [ BigNumberish, BigNumberish, @@ -437,15 +441,45 @@ export function getItemTypes( name: itemType.name.trim(), //Trim the name to remove empty spaces }; - const reducer = (prev: BigNumberish, cur: BigNumberish) => - Number(prev) + Math.abs(Number(cur)); - let traitBoosters = itemType.traitModifiers.reduce(reducer, 0); + // const reducer = (prev: BigNumberish, cur: BigNumberish) => + // Number(prev) + Math.abs(Number(cur)); + // let traitBoosters = itemType.traitModifiers.reduce(reducer, 0); + // if (itemType.category !== 1) { + // if (traitBoosters !== rarityLevelToTraitBoosters(itemType.rarityLevel)) { + // throw Error(`Trait Booster for ${itemType.name} does not match rarity`); + // } + // } - if (itemType.category !== 1) { - if (traitBoosters !== rarityLevelToTraitBoosters(itemType.rarityLevel)) { - throw Error(`Trait Booster for ${itemType.name} does not match rarity`); - } + if (!Array.isArray(itemType.allowedCollaterals)) { + throw Error("Is not array."); } + result.push(itemTypeOut); + } + return result; +} + +export function getAllItemTypes( + itemTypes: ItemTypeInputNew[], + ethers: any +): ItemTypeOutput[] { + const result = []; + for (const itemType of itemTypes) { + const maxQuantity = itemType.maxQuantity + ? Number(itemType.maxQuantity) + : rarityLevelToMaxQuantity(itemType.rarityLevel); + const ghstPrice = itemType.ghstPrice + ? itemType.ghstPrice.toString() + : rarityLevelToGhstPrice(itemType.rarityLevel); + + let itemTypeOut: ItemTypeOutput = { + ...itemType, + slotPositions: stringToSlotPositions(itemType.slotPositions), + ghstPrice: ethers.utils.parseEther(ghstPrice), + rarityScoreModifier: calculateRarityScoreModifier(maxQuantity), + maxQuantity: maxQuantity, + totalQuantity: 0, //New items always start at 0 + name: itemType.name.trim(), //Trim the name to remove empty spaces + }; if (!Array.isArray(itemType.allowedCollaterals)) { throw Error("Is not array."); @@ -488,7 +522,9 @@ export function getBaadgeItemTypes( return result; } -function rarityLevelToGhstPrice(rarityLevel: rarityLevel): BigNumberish { +function rarityLevelToGhstPrice( + rarityLevel: rarityLevel | undefined +): BigNumberish { switch (rarityLevel) { case "common": return "5"; @@ -498,15 +534,18 @@ function rarityLevelToGhstPrice(rarityLevel: rarityLevel): BigNumberish { return "100"; case "legendary": return "300"; - case "mythical": return "2000"; case "godlike": return "10000"; + default: + return "0"; } } -function rarityLevelToMaxQuantity(rarityLevel: rarityLevel): number { +function rarityLevelToMaxQuantity( + rarityLevel: rarityLevel | undefined +): number { switch (rarityLevel) { case "common": return 1000; @@ -520,10 +559,14 @@ function rarityLevelToMaxQuantity(rarityLevel: rarityLevel): number { return 50; case "godlike": return 5; + default: + return 0; } } -export function rarityLevelToTraitBoosters(rarityLevel: rarityLevel): number { +export function rarityLevelToTraitBoosters( + rarityLevel: rarityLevel | undefined +): number { switch (rarityLevel) { case "common": return 1; @@ -537,5 +580,7 @@ export function rarityLevelToTraitBoosters(rarityLevel: rarityLevel): number { return 5; case "godlike": return 6; + default: + return 0; } } diff --git a/scripts/mintPortals.ts b/scripts/mintPortals.ts new file mode 100644 index 000000000..bb58bdfe8 --- /dev/null +++ b/scripts/mintPortals.ts @@ -0,0 +1,24 @@ +async function mintPortals() { + const diamondAddress = "0x83e73D9CF22dFc3A767EA1cE0611F7f50306622e"; + const toAddress = "0xb7601193f559de56D67FB8e6a2AF219b05BD36c7"; + let numberPerMint = 50; + + const accounts = await ethers.getSigners(); + const signer = accounts[0]; + + let shopFacet; + + shopFacet = await ethers.getContractAt("ShopFacet", diamondAddress, signer); + + let receipt = await shopFacet.mintPortals(toAddress, numberPerMint); + console.log("tx hash:", receipt.hash); +} + +mintPortals() + .then(() => process.exit(1)) + .catch((error) => { + console.error(error); + process.exit(1); + }); + +exports.deploy = mintPortals; diff --git a/scripts/testCollateralTypes.js b/scripts/testCollateralTypes.js index b57ae5150..6803ff7c4 100644 --- a/scripts/testCollateralTypes.js +++ b/scripts/testCollateralTypes.js @@ -66,7 +66,7 @@ function getCollaterals (network, ghstAddress, testAddress) { if (collateralType.name === 'GHST') { item.collateralType = ghstAddress } - } else if (network === 'hardhat') { + } else if (network === 'hardhat' || network === 'localhost') { if (collateralType.name === 'GHST') item.collateralType = ghstAddress else if (collateralType.name === 'TEST') item.collateralType = testAddress } else if (network === 'mainnet') { diff --git a/scripts/upgrades/forge/upgrade-deployAndUpgradeForgeDiamond.ts b/scripts/upgrades/forge/upgrade-deployAndUpgradeForgeDiamond.ts index 8217e820c..01a387415 100644 --- a/scripts/upgrades/forge/upgrade-deployAndUpgradeForgeDiamond.ts +++ b/scripts/upgrades/forge/upgrade-deployAndUpgradeForgeDiamond.ts @@ -7,20 +7,37 @@ import { import { ForgeDiamond__factory } from "../../../typechain/factories/ForgeDiamond__factory"; import { gasPrice, maticDiamondUpgrader } from "../../helperFunctions"; +import { + aavegotchiDiamondAddressMatic, + wearableDiamondAddressMatic, +} from "../../../helpers/constants"; //these already deployed facets(in the aavegotchi diamond) are added to the forgeDiamond directly -const aavegotchiCutFacet = "0x4f908Fa47F10bc2254dae7c74d8B797C1749A8a6"; -const aavegotchiLoupeFacet = "0x58f64b56B1e15D8C932c51287d814EDaa8d6feb9"; -const aavegotchiOwnerShipFacet = "0xAE7DF9f59FEc446903c64f21a76d039Bc81712ef"; +// default matic network values +let aavegotchiCutFacet = "0x4f908Fa47F10bc2254dae7c74d8B797C1749A8a6"; +let aavegotchiLoupeFacet = "0x58f64b56B1e15D8C932c51287d814EDaa8d6feb9"; +let aavegotchiOwnerShipFacet = "0xAE7DF9f59FEc446903c64f21a76d039Bc81712ef"; -export async function deployAndUpgradeForgeDiamond() { +export async function deployAndUpgradeForgeDiamond( + aavegotchiDiamond: string, + wearableDiamond: string +) { console.log("Deploying forge diamond"); const Diamond = (await ethers.getContractFactory( "ForgeDiamond" )) as ForgeDiamond__factory; - if (network.name === "tenderly") { + const testing = ["hardhat", "localhost", "mumbai"].includes(network.name); + if (testing) { + aavegotchiCutFacet = "0x38d67a8cb93ed3795764ec2ecf8ea284da329936"; + aavegotchiLoupeFacet = "0x613d34492e7f105c74b7923648653a1e57e5a852"; + aavegotchiOwnerShipFacet = "0x1709d0d0e696d64bce8add21da8f61f7a641dfaa"; + } else if (network.name === "matic") { + aavegotchiCutFacet = "0x4f908Fa47F10bc2254dae7c74d8B797C1749A8a6"; + aavegotchiLoupeFacet = "0x58f64b56B1e15D8C932c51287d814EDaa8d6feb9"; + aavegotchiOwnerShipFacet = "0xAE7DF9f59FEc446903c64f21a76d039Bc81712ef"; + } else if (network.name === "tenderly") { await ethers.provider.send("tenderly_setBalance", [ [await (await ethers.getSigners())[0].getAddress()], ethers.utils.hexValue( @@ -36,6 +53,8 @@ export async function deployAndUpgradeForgeDiamond() { aavegotchiCutFacet, aavegotchiLoupeFacet, aavegotchiOwnerShipFacet, + aavegotchiDiamond, + wearableDiamond, { gasPrice: gasPrice } ); await diamond.deployed(); @@ -68,6 +87,8 @@ export async function deployAndUpgradeForgeDiamond() { // "function mintEssence(address owner, uint256 gotchiId) external", "function mintEssence(address owner) external", "function adminMint(address account, uint256 id, uint256 amount) external", + "function fixInvalidTokenIds(address[] calldata owners) external", + "function adminMintBatch(address to, uint256[] memory ids, uint256[] memory amounts) external", ], removeSelectors: [], }, @@ -76,6 +97,7 @@ export async function deployAndUpgradeForgeDiamond() { facetName: "ForgeDAOFacet", addSelectors: [ "function setAavegotchiDaoAddress(address daoAddress) external", + "function setAavegotchiDiamondAddress(address _address) external", "function setGltrAddress(address gltr) external", "function getAlloyDaoFeeInBips() external view returns (uint256)", "function setAlloyDaoFeeInBips(uint256 alloyDaoFeeInBips) external", @@ -142,7 +164,10 @@ export async function deployAndUpgradeForgeDiamond() { } if (require.main === module) { - deployAndUpgradeForgeDiamond() + deployAndUpgradeForgeDiamond( + aavegotchiDiamondAddressMatic, + wearableDiamondAddressMatic + ) .then(() => process.exit(0)) .catch((error) => { console.error(error); diff --git a/scripts/upgrades/upgrade-deployWearableDiamond.ts b/scripts/upgrades/upgrade-deployWearableDiamond.ts index d45ac5b49..30103f458 100644 --- a/scripts/upgrades/upgrade-deployWearableDiamond.ts +++ b/scripts/upgrades/upgrade-deployWearableDiamond.ts @@ -7,6 +7,7 @@ import { import { WearableDiamond__factory } from "../../typechain/factories/WearableDiamond__factory"; import { gasPrice } from "../helperFunctions"; +import { aavegotchiDiamondAddressMatic } from "../../helpers/constants"; // const diamondUpgrader = "0x35fe3df776474a7b24b3b1ec6e745a830fdad351"; //these already deployed facets(in the aavegotchi diamond) are added to the wearableDiamond directly @@ -14,7 +15,12 @@ const aavegotchiCutFacet = "0x4f908Fa47F10bc2254dae7c74d8B797C1749A8a6"; const aavegotchiLoupeFacet = "0x58f64b56B1e15D8C932c51287d814EDaa8d6feb9"; const aavegotchiOwnerShipFacet = "0xAE7DF9f59FEc446903c64f21a76d039Bc81712ef"; -async function deployAndUpgradeWearableDiamond() { +export async function deployAndUpgradeWearableDiamond( + cutFacet: string, + loupeFacet: string, + ownerShipFacet: string, + aavegotchiDiamond: string +) { console.log("Deploying wearable diamond"); // deploy Wearable Diamond const Diamond = (await ethers.getContractFactory( @@ -25,9 +31,10 @@ async function deployAndUpgradeWearableDiamond() { const diamond = await Diamond.deploy( signerAddress, - aavegotchiCutFacet, - aavegotchiLoupeFacet, - aavegotchiOwnerShipFacet, + cutFacet, + loupeFacet, + ownerShipFacet, + aavegotchiDiamond, { gasPrice: gasPrice } ); await diamond.deployed(); @@ -50,6 +57,7 @@ async function deployAndUpgradeWearableDiamond() { "function setBaseURI(string memory _value) external", "function safeTransferFrom(address _from,address _to,uint256 _id,uint256 _value,bytes calldata _data) external", "function safeBatchTransferFrom(address _from,address _to,uint256[] calldata _ids,uint256[] calldata _values,bytes calldata _data) external", + "function tokenURI(uint256 _tokenId) external view returns (string memory)", ], removeSelectors: [], }, @@ -78,10 +86,17 @@ async function deployAndUpgradeWearableDiamond() { }; await run("deployUpgrade", args); + + return diamond.address; } if (require.main === module) { - deployAndUpgradeWearableDiamond() + deployAndUpgradeWearableDiamond( + aavegotchiCutFacet, + aavegotchiLoupeFacet, + aavegotchiOwnerShipFacet, + aavegotchiDiamondAddressMatic + ) .then(() => process.exit(0)) // .then(() => console.log('upgrade completed') /* process.exit(0) */) .catch((error) => { diff --git a/scripts/upgrades/upgrade-gotchichainBridgeFacet.ts b/scripts/upgrades/upgrade-gotchichainBridgeFacet.ts new file mode 100644 index 000000000..acc248419 --- /dev/null +++ b/scripts/upgrades/upgrade-gotchichainBridgeFacet.ts @@ -0,0 +1,76 @@ +import { ethers, run } from "hardhat"; +import { + convertFacetAndSelectorsToString, + DeployUpgradeTaskArgs, + FacetsAndAddSelectors, +} from "../../tasks/deployUpgrade"; +import { maticDiamondAddress } from "../helperFunctions"; +import { DAOFacetInterface } from "../../typechain/DAOFacet"; +import { DAOFacet__factory } from "../../typechain"; + +const gotchichainBridgeAddress = "0xe6517944BbA81e86Bf619DF6D5b549348Bb70446"; + +export async function upgrade(bridgeAddress: string) { + const diamondUpgrader = "0x35fe3df776474a7b24b3b1ec6e745a830fdad351"; + const aavegotchiTuple = `tuple(uint16[16] equippedWearables, int8[6] temporaryTraitBoosts, int16[6] numericTraits, string name, uint256 randomNumber, uint256 experience, uint256 minimumStake, uint256 usedSkillPoints, uint256 interactionCount, address collateralType, uint40 claimTime, uint40 lastTemporaryBoost, uint16 hauntId, address owner, uint8 status, uint40 lastInteracted, bool locked, address escrow)`; + + const facets: FacetsAndAddSelectors[] = [ + { + facetName: "PolygonXGotchichainBridgeFacet", + addSelectors: [ + `function setAavegotchiMetadata(uint _id, ${aavegotchiTuple} memory _aavegotchi) external`, + "function mintWithId(address _toAddress, uint _tokenId) external", + "function removeItemsFromOwner(address _owner, uint256[] calldata _tokenIds, uint256[] calldata _tokenAmounts) external", + "function addItemsToOwner(address _owner, uint256[] calldata _tokenIds, uint256[] calldata _tokenAmounts) external", + ], + removeSelectors: [], + }, + { + facetName: "contracts/Aavegotchi/facets/AavegotchiFacet.sol:AavegotchiFacet", + addSelectors: [ + "function getAavegotchiData(uint256 _tokenId) external view", + ], + removeSelectors: [], + }, + { + facetName: "DAOFacet", + addSelectors: [ + "function addLayerZeroBridgeAddress(address _newLayerZeroBridge) external", + "function removeLayerZeroBridgeAddress(address _layerZeroBridgeToRemove) external", + ], + removeSelectors: [], + }, + ]; + + const joined = convertFacetAndSelectorsToString(facets); + + let iface: DAOFacetInterface = new ethers.utils.Interface( + DAOFacet__factory.abi + ) as DAOFacetInterface; + + const calldata = iface.encodeFunctionData("addLayerZeroBridgeAddress", [ + bridgeAddress, + ]); + + const args: DeployUpgradeTaskArgs = { + diamondUpgrader: diamondUpgrader, + diamondAddress: maticDiamondAddress, + facetsAndAddSelectors: joined, + useLedger: false, + useMultisig: false, + initAddress: maticDiamondAddress, + initCalldata: calldata, + }; + + await run("deployUpgrade", args); +} + +if (require.main === module) { + upgrade(gotchichainBridgeAddress) + .then(() => process.exit(0)) + // .then(() => console.log('upgrade completed') /* process.exit(0) */) + .catch((error) => { + console.error(error); + process.exit(1); + }); +} diff --git a/scripts/upgrades/upgrade-kinshipBurning.ts b/scripts/upgrades/upgrade-kinshipBurning.ts new file mode 100644 index 000000000..ef417c343 --- /dev/null +++ b/scripts/upgrades/upgrade-kinshipBurning.ts @@ -0,0 +1,71 @@ +import { ethers, run } from "hardhat"; +import { + convertFacetAndSelectorsToString, + DeployUpgradeTaskArgs, + FacetsAndAddSelectors, +} from "../../tasks/deployUpgrade"; +import { aavegotchiDiamondAddressMatic } from "../../helpers/constants"; + +export async function upgrade() { + const diamondUpgrader = "0x35fe3df776474a7b24b3b1ec6e745a830fdad351"; + + const addGotchiListing = + "(uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens, uint256 permissions)"; + const addGotchiListingOld = + "(uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens)"; + const facets: FacetsAndAddSelectors[] = [ + { + facetName: "GotchiLendingFacet", + addSelectors: [ + `function addGotchiListing(${addGotchiListing} memory p) external`, + `function addGotchiLending(uint32 _erc721TokenId,uint96 _initialCost,uint32 _period,uint8[3] calldata _revenueSplit,address _originalOwner,address _thirdParty,uint32 _whitelistId,address[] calldata _revenueTokens, uint256 permissions) external`, + `function batchAddGotchiListing(${addGotchiListing}[] memory listings) external`, + ], + removeSelectors: [ + `function addGotchiListing(${addGotchiListingOld} memory p) external`, + `function addGotchiLending(uint32 _erc721TokenId,uint96 _initialCost,uint32 _period,uint8[3] calldata _revenueSplit,address _originalOwner,address _thirdParty,uint32 _whitelistId,address[] calldata _revenueTokens) external`, + `function batchAddGotchiListing(${addGotchiListingOld}[] memory listings) external`, + ], + }, + { + facetName: "AavegotchiGameFacet", + addSelectors: [ + "function reduceKinshipViaChanneling(uint32 _gotchiId) external", + ], + removeSelectors: ["function realmInteract(uint256 _tokenId) external "], + }, + { + facetName: "LendingGetterAndSetterFacet", + addSelectors: [ + `function getLendingPermissionBitmap(uint32 _listingId) external view returns (uint256)`, + `function getAllLendingPermissions(uint32 _listingId) external view returns (uint8[32] memory permissions_)`, + `function getLendingPermissionModifier(uint32 _listingId, uint8 _permissionIndex) public view returns (uint8)`, + `function lendingPermissionSetToNone(uint32 _listingId) public view returns (bool) `, + ], + removeSelectors: [], + }, + ]; + + const joined = convertFacetAndSelectorsToString(facets); + const args: DeployUpgradeTaskArgs = { + diamondUpgrader: diamondUpgrader, + diamondAddress: aavegotchiDiamondAddressMatic, + facetsAndAddSelectors: joined, + useLedger: false, + useMultisig: false, + initAddress: ethers.constants.AddressZero, + initCalldata: "0x", + }; + + await run("deployUpgrade", args); +} + +if (require.main === module) { + upgrade() + .then(() => process.exit(0)) + // .then(() => console.log('upgrade completed') /* process.exit(0) */) + .catch((error) => { + console.error(error); + process.exit(1); + }); +} diff --git a/scripts/upgrades/upgrade-onlyGotchiPositions.ts b/scripts/upgrades/upgrade-onlyGotchiPositions.ts new file mode 100644 index 000000000..db3eb8be9 --- /dev/null +++ b/scripts/upgrades/upgrade-onlyGotchiPositions.ts @@ -0,0 +1,59 @@ +import { network, run } from "hardhat"; +import { + convertFacetAndSelectorsToString, + DeployUpgradeTaskArgs, + FacetsAndAddSelectors, +} from "../../tasks/deployUpgrade"; + +import { + maticDiamondAddress, + mumbaiOwner, + mumbiaAavegotchiDiamond, +} from "../helperFunctions"; + +export async function upgrade() { + const diamondUpgrader = "0x35fe3df776474a7b24b3b1ec6e745a830fdad351"; + const XPMerkleDrops = "tuple(bytes32 root,uint256 xpAmount)"; + const facets: FacetsAndAddSelectors[] = [ + { + facetName: "MerkleDropFacet", + addSelectors: [ + `function claimXPDrop(bytes32 _propId, address _claimer, uint256[] calldata _gotchiId, bytes32[] calldata _proof, uint256[] calldata _onlyGotchis, uint256[] calldata _onlyGotchisPositions ) external `, + `function batchGotchiClaimXPDrop( bytes32 _propId, address[] calldata _claimers, uint256[][] calldata _gotchiIds, bytes32[][] calldata _proofs, uint256[][] calldata _onlyGotchis,uint256[][] calldata _onlyGotchisPositions) external`, + `function batchDropClaimXPDrop( bytes32[] calldata _propIds, address[] calldata _claimers, uint256[][] calldata _gotchiIds, bytes32[][] calldata _proofs, uint256[][] calldata _onlyGotchis,uint256[][] calldata _onlyGotchisPositions ) external`, + ], + removeSelectors: [ + `function claimXPDrop(bytes32 _propId, address _claimer, uint256[] calldata _gotchiId, bytes32[] calldata _proof, uint256[] calldata _onlyGotchis ) external `, + `function batchGotchiClaimXPDrop( bytes32 _propId, address[] calldata _claimers, uint256[][] calldata _gotchiIds, bytes32[][] calldata _proofs, uint256[][] calldata _onlyGotchis) external`, + `function batchDropClaimXPDrop( bytes32[] calldata _propIds, address[] calldata _claimers, uint256[][] calldata _gotchiIds, bytes32[][] calldata _proofs, uint256[][] calldata _onlyGotchis ) external`, + ], + }, + ]; + + const joined = convertFacetAndSelectorsToString(facets); + + const args: DeployUpgradeTaskArgs = { + diamondUpgrader: mumbaiOwner, + diamondAddress: maticDiamondAddress, + facetsAndAddSelectors: joined, + useLedger: true, + useMultisig: false, + }; + + if (network.name === "mumbai") { + args.diamondUpgrader = mumbaiOwner; + args.diamondAddress = mumbiaAavegotchiDiamond; + } + + await run("deployUpgrade", args); +} + +if (require.main === module) { + upgrade() + .then(() => process.exit(0)) + // .then(() => console.log('upgrade completed') /* process.exit(0) */) + .catch((error) => { + console.error(error); + process.exit(1); + }); +} diff --git a/scripts/wearableSets.ts b/scripts/wearableSets.ts index 6e79ee1b9..03de45f0b 100644 --- a/scripts/wearableSets.ts +++ b/scripts/wearableSets.ts @@ -1154,18 +1154,17 @@ function eightBitIntArrayToUint(array: number[] | string[]) { return BigNumber.from("0x" + uint.join("")); } -const wearableSets = []; +const _wearableSets = []; for (const wearableSet of wearableSetArrays) { if (!Array.isArray(wearableSet.allowedCollaterals)) { console.log(wearableSet); throw Error("Is not array"); } - wearableSets.push({ + _wearableSets.push({ name: wearableSet.name, wearableIds: wearableSet.wearableIds, traitsBonuses: wearableSet.traitsBonuses, allowedCollaterals: wearableSet.allowedCollaterals, }); } - -exports.wearableSets = wearableSets; +export const wearableSets = _wearableSets; diff --git a/svgs/aavegotchi.js b/svgs/aavegotchi.js index 443921a53..98ed52fec 100644 --- a/svgs/aavegotchi.js +++ b/svgs/aavegotchi.js @@ -1,5 +1,5 @@ const fs = require('fs') -const sealedClosedPortal = fs.readFileSync('./svgs/sealedClosedPortal.svg', 'utf8') +const sealedClosedPortal = fs.readFileSync('./svgs/h1-closed.svg', 'utf8') const openPortal = fs.readFileSync('./svgs/openPortal.svg', 'utf8') const body = '' diff --git a/svgs/allWearables.ts b/svgs/allWearables.ts new file mode 100644 index 000000000..bfde73fca --- /dev/null +++ b/svgs/allWearables.ts @@ -0,0 +1,33 @@ +import { SleeveObject, ItemTypeInputNew } from "../scripts/itemTypeHelpers"; +import { + bodyWearable, + BodyWearableOutput, + wearable, +} from "../scripts/svgHelperFunctions"; +import { itemTypes } from "../data/itemTypes/itemTypes"; +import { allSleeves } from "./wearables"; + +export function getWearables() { + const wearables: string[] = []; + const sleeves: SleeveObject[] = []; + + itemTypes.forEach((itemType: ItemTypeInputNew) => { + const wearableName = itemType.name.split(" ").join(""); + + if ( + itemType.slotPositions === "body" && + allSleeves.includes(itemType.svgId) + ) { + const output: BodyWearableOutput = bodyWearable( + `${itemType.svgId}_${wearableName}`, + "svgItems" + ); + wearables.push(output.wearable); + sleeves.push(output.sleeves); + } else { + wearables.push(wearable(`${itemType.svgId}_${wearableName}`, "svgItems")); + } + }); + + return { wearables: wearables, sleeves: sleeves }; +} diff --git a/svgs/sideViewDimensions.ts b/svgs/sideViewDimensions.ts index 6d722d0b0..289025818 100644 --- a/svgs/sideViewDimensions.ts +++ b/svgs/sideViewDimensions.ts @@ -3,7 +3,7 @@ import { SideDimensions, Dimensions } from "../scripts/itemTypeHelpers"; export const sideViewDimensions1: SideDimensions[] = [ { itemId: 0, - name: "The Void", + name: "Void", side: "none", dimensions: { x: 0, y: 0, width: 0, height: 0 }, }, diff --git a/svgs/svgItems/163_szn1rnd1top10rarity.svg b/svgs/svgItems/163_RarityFarmingSZN1Rnd1Top10Rarity.svg similarity index 100% rename from svgs/svgItems/163_szn1rnd1top10rarity.svg rename to svgs/svgItems/163_RarityFarmingSZN1Rnd1Top10Rarity.svg diff --git a/svgs/svgItems/164_szn1rnd1top10kinship.svg b/svgs/svgItems/164_RarityFarmingSZN1Rnd1Top10Kinship.svg similarity index 100% rename from svgs/svgItems/164_szn1rnd1top10kinship.svg rename to svgs/svgItems/164_RarityFarmingSZN1Rnd1Top10Kinship.svg diff --git a/svgs/svgItems/165_szn1rnd1top10xp.svg b/svgs/svgItems/165_RarityFarmingSZN1Rnd1Top10XP.svg similarity index 100% rename from svgs/svgItems/165_szn1rnd1top10xp.svg rename to svgs/svgItems/165_RarityFarmingSZN1Rnd1Top10XP.svg diff --git a/svgs/svgItems/166_szn1rnd1top100rarity.svg b/svgs/svgItems/166_RarityFarmingSZN1Rnd1Top100Rarity.svg similarity index 100% rename from svgs/svgItems/166_szn1rnd1top100rarity.svg rename to svgs/svgItems/166_RarityFarmingSZN1Rnd1Top100Rarity.svg diff --git a/svgs/svgItems/167_szn1rnd1top100kinship.svg b/svgs/svgItems/167_RarityFarmingSZN1Rnd1Top100Kinship.svg similarity index 100% rename from svgs/svgItems/167_szn1rnd1top100kinship.svg rename to svgs/svgItems/167_RarityFarmingSZN1Rnd1Top100Kinship.svg diff --git a/svgs/svgItems/168_szn1rnd1top100xp.svg b/svgs/svgItems/168_RarityFarmingSZN1Rnd1Top100XP.svg similarity index 100% rename from svgs/svgItems/168_szn1rnd1top100xp.svg rename to svgs/svgItems/168_RarityFarmingSZN1Rnd1Top100XP.svg diff --git a/svgs/svgItems/169_szn1rnd2top10rarity.svg b/svgs/svgItems/169_RarityFarmingSZN1Rnd2Top10Rarity.svg similarity index 100% rename from svgs/svgItems/169_szn1rnd2top10rarity.svg rename to svgs/svgItems/169_RarityFarmingSZN1Rnd2Top10Rarity.svg diff --git a/svgs/svgItems/170_szn1rnd2top10kinship.svg b/svgs/svgItems/170_RarityFarmingSZN1Rnd2Top10Kinship.svg similarity index 100% rename from svgs/svgItems/170_szn1rnd2top10kinship.svg rename to svgs/svgItems/170_RarityFarmingSZN1Rnd2Top10Kinship.svg diff --git a/svgs/svgItems/171_szn1rnd2top10xp.svg b/svgs/svgItems/171_RarityFarmingSZN1Rnd2Top10XP.svg similarity index 100% rename from svgs/svgItems/171_szn1rnd2top10xp.svg rename to svgs/svgItems/171_RarityFarmingSZN1Rnd2Top10XP.svg diff --git a/svgs/svgItems/172_szn1rnd2top100rarity.svg b/svgs/svgItems/172_RarityFarmingSZN1Rnd2Top100Rarity.svg similarity index 100% rename from svgs/svgItems/172_szn1rnd2top100rarity.svg rename to svgs/svgItems/172_RarityFarmingSZN1Rnd2Top100Rarity.svg diff --git a/svgs/svgItems/173_szn1rnd2top100kinship.svg b/svgs/svgItems/173_RarityFarmingSZN1Rnd2Top100Kinship.svg similarity index 100% rename from svgs/svgItems/173_szn1rnd2top100kinship.svg rename to svgs/svgItems/173_RarityFarmingSZN1Rnd2Top100Kinship.svg diff --git a/svgs/svgItems/174_szn1rnd2top100xp.svg b/svgs/svgItems/174_RarityFarmingSZN1Rnd2Top100XP.svg similarity index 100% rename from svgs/svgItems/174_szn1rnd2top100xp.svg rename to svgs/svgItems/174_RarityFarmingSZN1Rnd2Top100XP.svg diff --git a/svgs/svgItems/176_szn1rnd3top10rarity.svg b/svgs/svgItems/176_RarityFarmingSZN1Rnd3Top10Rarity.svg similarity index 100% rename from svgs/svgItems/176_szn1rnd3top10rarity.svg rename to svgs/svgItems/176_RarityFarmingSZN1Rnd3Top10Rarity.svg diff --git a/svgs/svgItems/177_szn1rnd3top10kinship.svg b/svgs/svgItems/177_RarityFarmingSZN1Rnd3Top10Kinship.svg similarity index 100% rename from svgs/svgItems/177_szn1rnd3top10kinship.svg rename to svgs/svgItems/177_RarityFarmingSZN1Rnd3Top10Kinship.svg diff --git a/svgs/svgItems/178_szn1rnd3top10xp.svg b/svgs/svgItems/178_RarityFarmingSZN1Rnd3Top10XP.svg similarity index 100% rename from svgs/svgItems/178_szn1rnd3top10xp.svg rename to svgs/svgItems/178_RarityFarmingSZN1Rnd3Top10XP.svg diff --git a/svgs/svgItems/179_szn1rnd3top100rarity.svg b/svgs/svgItems/179_RarityFarmingSZN1Rnd3Top100Rarity.svg similarity index 100% rename from svgs/svgItems/179_szn1rnd3top100rarity.svg rename to svgs/svgItems/179_RarityFarmingSZN1Rnd3Top100Rarity.svg diff --git a/svgs/svgItems/180_szn1rnd3top100kinship.svg b/svgs/svgItems/180_RarityFarmingSZN1Rnd3Top100Kinship.svg similarity index 100% rename from svgs/svgItems/180_szn1rnd3top100kinship.svg rename to svgs/svgItems/180_RarityFarmingSZN1Rnd3Top100Kinship.svg diff --git a/svgs/svgItems/181_szn1rnd3top100xp.svg b/svgs/svgItems/181_RarityFarmingSZN1Rnd3Top100XP.svg similarity index 100% rename from svgs/svgItems/181_szn1rnd3top100xp.svg rename to svgs/svgItems/181_RarityFarmingSZN1Rnd3Top100XP.svg diff --git a/svgs/svgItems/182_szn1rnd4top10rarity.svg b/svgs/svgItems/182_RarityFarmingSZN1Rnd4Top10Rarity.svg similarity index 100% rename from svgs/svgItems/182_szn1rnd4top10rarity.svg rename to svgs/svgItems/182_RarityFarmingSZN1Rnd4Top10Rarity.svg diff --git a/svgs/svgItems/183_szn1rnd4top10kinship.svg b/svgs/svgItems/183_RarityFarmingSZN1Rnd4Top10Kinship.svg similarity index 100% rename from svgs/svgItems/183_szn1rnd4top10kinship.svg rename to svgs/svgItems/183_RarityFarmingSZN1Rnd4Top10Kinship.svg diff --git a/svgs/svgItems/184_szn1rnd4top10xp.svg b/svgs/svgItems/184_RarityFarmingSZN1Rnd4Top10XP.svg similarity index 100% rename from svgs/svgItems/184_szn1rnd4top10xp.svg rename to svgs/svgItems/184_RarityFarmingSZN1Rnd4Top10XP.svg diff --git a/svgs/svgItems/185_szn1rnd4top100rarity.svg b/svgs/svgItems/185_RarityFarmingSZN1Rnd4Top100Rarity.svg similarity index 100% rename from svgs/svgItems/185_szn1rnd4top100rarity.svg rename to svgs/svgItems/185_RarityFarmingSZN1Rnd4Top100Rarity.svg diff --git a/svgs/svgItems/186_szn1rnd4top100kinship.svg b/svgs/svgItems/186_RarityFarmingSZN1Rnd4Top100Kinship.svg similarity index 100% rename from svgs/svgItems/186_szn1rnd4top100kinship.svg rename to svgs/svgItems/186_RarityFarmingSZN1Rnd4Top100Kinship.svg diff --git a/svgs/svgItems/187_szn1rnd4top100xp.svg b/svgs/svgItems/187_RarityFarmingSZN1Rnd4Top100XP.svg similarity index 100% rename from svgs/svgItems/187_szn1rnd4top100xp.svg rename to svgs/svgItems/187_RarityFarmingSZN1Rnd4Top100XP.svg diff --git a/svgs/svgItems/188_szn1finals1stPlaceRarity.svg b/svgs/svgItems/188_RarityFarmingSZN1finals1stPlaceRarity.svg similarity index 100% rename from svgs/svgItems/188_szn1finals1stPlaceRarity.svg rename to svgs/svgItems/188_RarityFarmingSZN1finals1stPlaceRarity.svg diff --git a/svgs/svgItems/189_szn1finals1stPlaceKinship.svg b/svgs/svgItems/189_RarityFarmingSZN1finals1stPlaceKinship.svg similarity index 100% rename from svgs/svgItems/189_szn1finals1stPlaceKinship.svg rename to svgs/svgItems/189_RarityFarmingSZN1finals1stPlaceKinship.svg diff --git a/svgs/svgItems/190_szn1finals1stPlaceXP.svg b/svgs/svgItems/190_RarityFarmingSZN1finals1stPlaceXP.svg similarity index 100% rename from svgs/svgItems/190_szn1finals1stPlaceXP.svg rename to svgs/svgItems/190_RarityFarmingSZN1finals1stPlaceXP.svg diff --git a/svgs/svgItems/191_szn1finals2ndPlaceRarity.svg b/svgs/svgItems/191_RarityFarmingSZN1finals2ndPlaceRarity.svg similarity index 100% rename from svgs/svgItems/191_szn1finals2ndPlaceRarity.svg rename to svgs/svgItems/191_RarityFarmingSZN1finals2ndPlaceRarity.svg diff --git a/svgs/svgItems/192_szn1finals2ndPlaceKinship.svg b/svgs/svgItems/192_RarityFarmingSZN1finals2ndPlaceKinship.svg similarity index 100% rename from svgs/svgItems/192_szn1finals2ndPlaceKinship.svg rename to svgs/svgItems/192_RarityFarmingSZN1finals2ndPlaceKinship.svg diff --git a/svgs/svgItems/193_szn1finals2ndPlaceXP.svg b/svgs/svgItems/193_RarityFarmingSZN1finals2ndPlaceXP.svg similarity index 100% rename from svgs/svgItems/193_szn1finals2ndPlaceXP.svg rename to svgs/svgItems/193_RarityFarmingSZN1finals2ndPlaceXP.svg diff --git a/svgs/svgItems/194_szn1finals3rdPlaceRarity.svg b/svgs/svgItems/194_RarityFarmingSZN1finals3rdPlaceRarity.svg similarity index 100% rename from svgs/svgItems/194_szn1finals3rdPlaceRarity.svg rename to svgs/svgItems/194_RarityFarmingSZN1finals3rdPlaceRarity.svg diff --git a/svgs/svgItems/195_szn1finals3rdPlaceKinship.svg b/svgs/svgItems/195_RarityFarmingSZN1finals3rdPlaceKinship.svg similarity index 100% rename from svgs/svgItems/195_szn1finals3rdPlaceKinship.svg rename to svgs/svgItems/195_RarityFarmingSZN1finals3rdPlaceKinship.svg diff --git a/svgs/svgItems/196_szn1finals3rdPlaceXP.svg b/svgs/svgItems/196_RarityFarmingSZN1finals3rdPlaceXP.svg similarity index 100% rename from svgs/svgItems/196_szn1finals3rdPlaceXP.svg rename to svgs/svgItems/196_RarityFarmingSZN1finals3rdPlaceXP.svg diff --git a/svgs/svgItems/197_szn1plaayer.svg b/svgs/svgItems/197_RarityFarmingSZN1plaayer.svg similarity index 100% rename from svgs/svgItems/197_szn1plaayer.svg rename to svgs/svgItems/197_RarityFarmingSZN1plaayer.svg diff --git a/svgs/svgItems/202_CyberpunkVR.svg b/svgs/svgItems/202_CyberpunkVR.svg new file mode 100644 index 000000000..5d0332c63 --- /dev/null +++ b/svgs/svgItems/202_CyberpunkVR.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/212_1337LapTop.svg b/svgs/svgItems/212_1337LapTop.svg new file mode 100644 index 000000000..b5fbbcd79 --- /dev/null +++ b/svgs/svgItems/212_1337LapTop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/212_1337LapTopBack.svg b/svgs/svgItems/212_1337LapTopBack.svg new file mode 100644 index 000000000..3668f0fab --- /dev/null +++ b/svgs/svgItems/212_1337LapTopBack.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/212_1337LapTopLeft.svg b/svgs/svgItems/212_1337LapTopLeft.svg new file mode 100644 index 000000000..46b7b5ac5 --- /dev/null +++ b/svgs/svgItems/212_1337LapTopLeft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/212_1337LapTopRight.svg b/svgs/svgItems/212_1337LapTopRight.svg new file mode 100644 index 000000000..60069b285 --- /dev/null +++ b/svgs/svgItems/212_1337LapTopRight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/248_UpOnlyShirtLeft.svg b/svgs/svgItems/248_UpOnlyShirtLeft.svg new file mode 100644 index 000000000..a704db833 --- /dev/null +++ b/svgs/svgItems/248_UpOnlyShirtLeft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/248_UpOnlyShirtLeftUp.svg b/svgs/svgItems/248_UpOnlyShirtLeftUp.svg new file mode 100644 index 000000000..c9e5b7fce --- /dev/null +++ b/svgs/svgItems/248_UpOnlyShirtLeftUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/248_UpOnlyShirtRight.svg b/svgs/svgItems/248_UpOnlyShirtRight.svg new file mode 100644 index 000000000..c697baef8 --- /dev/null +++ b/svgs/svgItems/248_UpOnlyShirtRight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/248_UpOnlyShirtRightUp.svg b/svgs/svgItems/248_UpOnlyShirtRightUp.svg new file mode 100644 index 000000000..1c3eed923 --- /dev/null +++ b/svgs/svgItems/248_UpOnlyShirtRightUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/249_CoinGeckoEyes.svg b/svgs/svgItems/249_CoinGeckoEyes.svg new file mode 100644 index 000000000..7908e0725 --- /dev/null +++ b/svgs/svgItems/249_CoinGeckoEyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/250_CoinGeckoTeeLeft.svg b/svgs/svgItems/250_CoinGeckoTeeLeft.svg new file mode 100644 index 000000000..ab7f19def --- /dev/null +++ b/svgs/svgItems/250_CoinGeckoTeeLeft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/250_CoinGeckoTeeLeftUp.svg b/svgs/svgItems/250_CoinGeckoTeeLeftUp.svg new file mode 100644 index 000000000..ac282cd87 --- /dev/null +++ b/svgs/svgItems/250_CoinGeckoTeeLeftUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/250_CoinGeckoTeeRight.svg b/svgs/svgItems/250_CoinGeckoTeeRight.svg new file mode 100644 index 000000000..ce2e118cd --- /dev/null +++ b/svgs/svgItems/250_CoinGeckoTeeRight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/250_CoinGeckoTeeRightUp.svg b/svgs/svgItems/250_CoinGeckoTeeRightUp.svg new file mode 100644 index 000000000..5afe3c4c3 --- /dev/null +++ b/svgs/svgItems/250_CoinGeckoTeeRightUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/253_AastronautSuitLeft.svg b/svgs/svgItems/253_AastronautSuitLeft.svg new file mode 100644 index 000000000..0927f2f16 --- /dev/null +++ b/svgs/svgItems/253_AastronautSuitLeft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/253_AastronautSuitLeftUp.svg b/svgs/svgItems/253_AastronautSuitLeftUp.svg new file mode 100644 index 000000000..2dce8a5d0 --- /dev/null +++ b/svgs/svgItems/253_AastronautSuitLeftUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/253_AastronautSuitRight.svg b/svgs/svgItems/253_AastronautSuitRight.svg new file mode 100644 index 000000000..6146884dd --- /dev/null +++ b/svgs/svgItems/253_AastronautSuitRight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/253_AastronautSuitRightUp.svg b/svgs/svgItems/253_AastronautSuitRightUp.svg new file mode 100644 index 000000000..66b888637 --- /dev/null +++ b/svgs/svgItems/253_AastronautSuitRightUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/256_LilBubbleSpaceSuitLeft.svg b/svgs/svgItems/256_LilBubbleSpaceSuitLeft.svg new file mode 100644 index 000000000..f6b9a1506 --- /dev/null +++ b/svgs/svgItems/256_LilBubbleSpaceSuitLeft.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/256_LilBubbleSpaceSuitLeftUp.svg b/svgs/svgItems/256_LilBubbleSpaceSuitLeftUp.svg new file mode 100644 index 000000000..071bb7006 --- /dev/null +++ b/svgs/svgItems/256_LilBubbleSpaceSuitLeftUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/256_LilBubbleSpaceSuitRight.svg b/svgs/svgItems/256_LilBubbleSpaceSuitRight.svg new file mode 100644 index 000000000..df53ac2da --- /dev/null +++ b/svgs/svgItems/256_LilBubbleSpaceSuitRight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/256_LilBubbleSpaceSuitRightUp.svg b/svgs/svgItems/256_LilBubbleSpaceSuitRightUp.svg new file mode 100644 index 000000000..95f9c0cae --- /dev/null +++ b/svgs/svgItems/256_LilBubbleSpaceSuitRightUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/259_BushyEyebrows.svg b/svgs/svgItems/259_BushyEyebrows.svg new file mode 100644 index 000000000..b55ee05c3 --- /dev/null +++ b/svgs/svgItems/259_BushyEyebrows.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/260_AncientBeard.svg b/svgs/svgItems/260_AncientBeard.svg new file mode 100644 index 000000000..266aedf6a --- /dev/null +++ b/svgs/svgItems/260_AncientBeard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/262_RadarEyes.svg b/svgs/svgItems/262_RadarEyes.svg new file mode 100644 index 000000000..c93918174 --- /dev/null +++ b/svgs/svgItems/262_RadarEyes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/svgItems/264_AastronautCrewMember.svg b/svgs/svgItems/264_AastronautCrewMember.svg new file mode 100644 index 000000000..f4fdb9b0d --- /dev/null +++ b/svgs/svgItems/264_AastronautCrewMember.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-RARITY-1ST.svg b/svgs/svgItems/265_RarityFarmingSZN21stPlaceRarity.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-RARITY-1ST.svg rename to svgs/svgItems/265_RarityFarmingSZN21stPlaceRarity.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-1ST.svg b/svgs/svgItems/266_RarityFarmingSZN21stPlaceKinship.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-1ST.svg rename to svgs/svgItems/266_RarityFarmingSZN21stPlaceKinship.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-1ST.svg b/svgs/svgItems/267_RarityFarmingSZN21stplaceXP.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-1ST.svg rename to svgs/svgItems/267_RarityFarmingSZN21stplaceXP.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-RARITY-2ND.svg b/svgs/svgItems/268_RarityFarmingSZN2Rarity2ndPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-RARITY-2ND.svg rename to svgs/svgItems/268_RarityFarmingSZN2Rarity2ndPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-2ND.svg b/svgs/svgItems/269_RarityFarmingSZN2Kinship2ndPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-2ND.svg rename to svgs/svgItems/269_RarityFarmingSZN2Kinship2ndPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-2ND.svg b/svgs/svgItems/270_RarityFarmingSZN2XP2ndPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-2ND.svg rename to svgs/svgItems/270_RarityFarmingSZN2XP2ndPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-RARITY-3RD.svg b/svgs/svgItems/271_RarityFarmingSZN2Rarity3rdPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-RARITY-3RD.svg rename to svgs/svgItems/271_RarityFarmingSZN2Rarity3rdPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-3RD.svg b/svgs/svgItems/272_RarityFarmingSZN2Kinship3rdPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-3RD.svg rename to svgs/svgItems/272_RarityFarmingSZN2Kinship3rdPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-3RD.svg b/svgs/svgItems/273_RarityFarmingSZN2XP3rdPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-3RD.svg rename to svgs/svgItems/273_RarityFarmingSZN2XP3rdPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-PLAAYER-RAANKED.svg b/svgs/svgItems/274_RarityFarmingSZN2Raanked.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-PLAAYER-RAANKED.svg rename to svgs/svgItems/274_RarityFarmingSZN2Raanked.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-ROOKIE-OF-THE-YEAR.svg b/svgs/svgItems/275_RarityFarmingSZN2ROOKIEOFTHEYEAR.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-ROOKIE-OF-THE-YEAR.svg rename to svgs/svgItems/275_RarityFarmingSZN2ROOKIEOFTHEYEAR.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-ROOKIE-1ST.svg b/svgs/svgItems/276_RarityFarmingSZN21stPlaceRookieKinship.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-ROOKIE-1ST.svg rename to svgs/svgItems/276_RarityFarmingSZN21stPlaceRookieKinship.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-ROOKIE-1ST.svg b/svgs/svgItems/277_RarityFarmingSZN21stPlaceRookieXP.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-ROOKIE-1ST.svg rename to svgs/svgItems/277_RarityFarmingSZN21stPlaceRookieXP.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-ROOKIE-2ND.svg b/svgs/svgItems/278_RarityFarmingSZN2KinshipROOKIE2ndPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-ROOKIE-2ND.svg rename to svgs/svgItems/278_RarityFarmingSZN2KinshipROOKIE2ndPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-ROOKIE-2ND.svg b/svgs/svgItems/279_RarityFarmingSZN2XPROOKIE2ndPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-ROOKIE-2ND.svg rename to svgs/svgItems/279_RarityFarmingSZN2XPROOKIE2ndPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-ROOKIE-3RD.svg b/svgs/svgItems/280_RarityFarmingSZN2KinshipROOKIE3rdPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-KINSHIP-ROOKIE-3RD.svg rename to svgs/svgItems/280_RarityFarmingSZN2KinshipROOKIE3rdPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-ROOKIE-3RD.svg b/svgs/svgItems/281_RarityFarmingSZN2XPROOKIE3rdPlace.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Trophy-XP-ROOKIE-3RD.svg rename to svgs/svgItems/281_RarityFarmingSZN2XPROOKIE3rdPlace.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-RARITY-T10.svg b/svgs/svgItems/282_RarityFarmingSZN2RarityTop10.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-RARITY-T10.svg rename to svgs/svgItems/282_RarityFarmingSZN2RarityTop10.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-T10.svg b/svgs/svgItems/283_RarityFarmingSZN2KinshipTop10.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-T10.svg rename to svgs/svgItems/283_RarityFarmingSZN2KinshipTop10.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-T10.svg b/svgs/svgItems/284_RarityFarmingSZN2XPTop10.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-T10.svg rename to svgs/svgItems/284_RarityFarmingSZN2XPTop10.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-RARITY-T100.svg b/svgs/svgItems/285_RarityFarmingSZN2RarityTop100.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-RARITY-T100.svg rename to svgs/svgItems/285_RarityFarmingSZN2RarityTop100.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-T100.svg b/svgs/svgItems/286_RarityFarmingSZN2KinshipTop100.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-T100.svg rename to svgs/svgItems/286_RarityFarmingSZN2KinshipTop100.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-T100.svg b/svgs/svgItems/287_RarityFarmingSZN2XPTop100.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-T100.svg rename to svgs/svgItems/287_RarityFarmingSZN2XPTop100.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-ROOKIE-T10.svg b/svgs/svgItems/288_RarityFarmingSZN2XPROOKIETop10.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-ROOKIE-T10.svg rename to svgs/svgItems/288_RarityFarmingSZN2XPROOKIETop10.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-ROOKIE-T10.svg b/svgs/svgItems/289_RarityFarmingSZN2KinshipROOKIETop10.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-ROOKIE-T10.svg rename to svgs/svgItems/289_RarityFarmingSZN2KinshipROOKIETop10.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-ROOKIE-T100.svg b/svgs/svgItems/290_RarityFarmingSZN2XPROOKIETop100.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-XP-ROOKIE-T100.svg rename to svgs/svgItems/290_RarityFarmingSZN2XPROOKIETop100.svg diff --git a/svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-ROOKIE-T100.svg b/svgs/svgItems/291_RarityFarmingSZN2KinshipROOKIETop100.svg similarity index 100% rename from svgs/baadges/Aavegotchi-RF-SZN2-Baadges-KINSHIP-ROOKIE-T100.svg rename to svgs/svgItems/291_RarityFarmingSZN2KinshipROOKIETop100.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-RARITY-CHAMP.svg b/svgs/svgItems/316_RarityFarmingSZN31stPlaceRarity.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-RARITY-CHAMP.svg rename to svgs/svgItems/316_RarityFarmingSZN31stPlaceRarity.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-KINSHIP-CHAMP.svg b/svgs/svgItems/317_RarityFarmingSZN31stPlaceKinship.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-KINSHIP-CHAMP.svg rename to svgs/svgItems/317_RarityFarmingSZN31stPlaceKinship.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-XP-CHAMP.svg b/svgs/svgItems/318_RarityFarmingSZN31stPlaceXP.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-XP-CHAMP.svg rename to svgs/svgItems/318_RarityFarmingSZN31stPlaceXP.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-RARITY-2ND.svg b/svgs/svgItems/319_RarityFarmingSZN3Rarity2ndPlace.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-RARITY-2ND.svg rename to svgs/svgItems/319_RarityFarmingSZN3Rarity2ndPlace.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-KINSHIP-2ND.svg b/svgs/svgItems/320_RarityFarmingSZN3Kinship2ndPlace.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-KINSHIP-2ND.svg rename to svgs/svgItems/320_RarityFarmingSZN3Kinship2ndPlace.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-XP-2ND.svg b/svgs/svgItems/321_RarityFarmingSZN3XP2ndPlace.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-XP-2ND.svg rename to svgs/svgItems/321_RarityFarmingSZN3XP2ndPlace.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-RARITY-3RD.svg b/svgs/svgItems/322_RarityFarmingSZN3Rarity3rdPlace.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-RARITY-3RD.svg rename to svgs/svgItems/322_RarityFarmingSZN3Rarity3rdPlace.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-KINSHIP-3RD.svg b/svgs/svgItems/323_RarityFarmingSZN3Kinship3rdPlace.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-KINSHIP-3RD.svg rename to svgs/svgItems/323_RarityFarmingSZN3Kinship3rdPlace.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-XP-3RD.svg b/svgs/svgItems/324_RarityFarmingSZN3XP3rdPlace.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Trophy-XP-3RD.svg rename to svgs/svgItems/324_RarityFarmingSZN3XP3rdPlace.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-PLAAYER-RAANKED.svg b/svgs/svgItems/325_RarityFarmingSZN3Raanked.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-PLAAYER-RAANKED.svg rename to svgs/svgItems/325_RarityFarmingSZN3Raanked.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-RARITY-T10.svg b/svgs/svgItems/326_RarityFarmingSZN3RarityTop10.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-RARITY-T10.svg rename to svgs/svgItems/326_RarityFarmingSZN3RarityTop10.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-KINSHIP-T10.svg b/svgs/svgItems/327_RarityFarmingSZN3KinshipTop10.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-KINSHIP-T10.svg rename to svgs/svgItems/327_RarityFarmingSZN3KinshipTop10.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-XP-T10.svg b/svgs/svgItems/328_RarityFarmingSZN3XPTop10.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-XP-T10.svg rename to svgs/svgItems/328_RarityFarmingSZN3XPTop10.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-RARITY-T100.svg b/svgs/svgItems/329_RarityFarmingSZN3RarityTop100.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-RARITY-T100.svg rename to svgs/svgItems/329_RarityFarmingSZN3RarityTop100.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-KINSHIP-T100.svg b/svgs/svgItems/330_RarityFarmingSZN3KinshipTop100.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-KINSHIP-T100.svg rename to svgs/svgItems/330_RarityFarmingSZN3KinshipTop100.svg diff --git a/svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-XP-T100.svg b/svgs/svgItems/331_RarityFarmingSZN3XPTop100.svg similarity index 100% rename from svgs/sZN3Baadges/Aavegotchi-RF-SZN3-Baadges-XP-T100.svg rename to svgs/svgItems/331_RarityFarmingSZN3XPTop100.svg diff --git a/svgs/pumpkinBadge/GotchiSmaash2022-Baadge-Final-Pixelart.svg b/svgs/svgItems/332_GotchiSmaash2022HaalloweenParty.svg similarity index 100% rename from svgs/pumpkinBadge/GotchiSmaash2022-Baadge-Final-Pixelart.svg rename to svgs/svgItems/332_GotchiSmaash2022HaalloweenParty.svg diff --git a/svgs/baadges/Aavegotchi-TOOORKEY-CHAASE-Badge.svg b/svgs/svgItems/333_TOOORKEYCHAASE2022.svg similarity index 100% rename from svgs/baadges/Aavegotchi-TOOORKEY-CHAASE-Badge.svg rename to svgs/svgItems/333_TOOORKEYCHAASE2022.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-CHAMP-RARITY.svg b/svgs/svgItems/334_RarityFarmingSZN41stPlaceRarity.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-CHAMP-RARITY.svg rename to svgs/svgItems/334_RarityFarmingSZN41stPlaceRarity.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-CHAMP-KINSHIP.svg b/svgs/svgItems/335_RarityFarmingSZN41stPlaceKinship.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-CHAMP-KINSHIP.svg rename to svgs/svgItems/335_RarityFarmingSZN41stPlaceKinship.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-CHAMP-XP.svg b/svgs/svgItems/336_RarityFarmingSZN41stPlaceXP.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-CHAMP-XP.svg rename to svgs/svgItems/336_RarityFarmingSZN41stPlaceXP.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-2ND-RARITY.svg b/svgs/svgItems/337_RarityFarmingSZN4Rarity2ndPlace.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-2ND-RARITY.svg rename to svgs/svgItems/337_RarityFarmingSZN4Rarity2ndPlace.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-2ND-KINSHIP.svg b/svgs/svgItems/338_RarityFarmingSZN4Kinship2ndPlace.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-2ND-KINSHIP.svg rename to svgs/svgItems/338_RarityFarmingSZN4Kinship2ndPlace.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-2ND-XP.svg b/svgs/svgItems/339_RarityFarmingSZN4XP2ndPlace.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-2ND-XP.svg rename to svgs/svgItems/339_RarityFarmingSZN4XP2ndPlace.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-3RD-RARITY.svg b/svgs/svgItems/340_RarityFarmingSZN4Rarity3rdPlace.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-3RD-RARITY.svg rename to svgs/svgItems/340_RarityFarmingSZN4Rarity3rdPlace.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-3RD-KINSHIP.svg b/svgs/svgItems/341_RarityFarmingSZN4Kinship3rdPlace.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-3RD-KINSHIP.svg rename to svgs/svgItems/341_RarityFarmingSZN4Kinship3rdPlace.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-3RD-XP.svg b/svgs/svgItems/342_RarityFarmingSZN4XP3rdPlace.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-TROPHY-3RD-XP.svg rename to svgs/svgItems/342_RarityFarmingSZN4XP3rdPlace.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-RAANKED.svg b/svgs/svgItems/343_RarityFarmingSZN4Raanked.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-RAANKED.svg rename to svgs/svgItems/343_RarityFarmingSZN4Raanked.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP10-RARITY.svg b/svgs/svgItems/344_RarityFarmingSZN4RarityTop10.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP10-RARITY.svg rename to svgs/svgItems/344_RarityFarmingSZN4RarityTop10.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP10-KINSHIP.svg b/svgs/svgItems/345_RarityFarmingSZN4KinshipTop10.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP10-KINSHIP.svg rename to svgs/svgItems/345_RarityFarmingSZN4KinshipTop10.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP10-XP.svg b/svgs/svgItems/346_RarityFarmingSZN4XPTop10.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP10-XP.svg rename to svgs/svgItems/346_RarityFarmingSZN4XPTop10.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP100-RARITY.svg b/svgs/svgItems/347_RarityFarmingSZN4RarityTop100.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP100-RARITY.svg rename to svgs/svgItems/347_RarityFarmingSZN4RarityTop100.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP100-KINSHIP.svg b/svgs/svgItems/348_RarityFarmingSZN4KinshipTop100.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP100-KINSHIP.svg rename to svgs/svgItems/348_RarityFarmingSZN4KinshipTop100.svg diff --git a/svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP100-XP.svg b/svgs/svgItems/349_RarityFarmingSZN4XPTop100.svg similarity index 100% rename from svgs/sZN4Baadges/Aavegotchi-RF-SZN4-Baadge-TOP100-XP.svg rename to svgs/svgItems/349_RarityFarmingSZN4XPTop100.svg diff --git a/svgs/svgItems/raffle6/292_BrunettePonytail.svg b/svgs/svgItems/raffle6/292_BrunettePonytail.svg deleted file mode 100644 index 1a48de355..000000000 --- a/svgs/svgItems/raffle6/292_BrunettePonytail.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/292_BrunettePonytailBack.svg b/svgs/svgItems/raffle6/292_BrunettePonytailBack.svg deleted file mode 100644 index 69ddf5686..000000000 --- a/svgs/svgItems/raffle6/292_BrunettePonytailBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/292_BrunettePonytailLeft.svg b/svgs/svgItems/raffle6/292_BrunettePonytailLeft.svg deleted file mode 100644 index 28dcdb098..000000000 --- a/svgs/svgItems/raffle6/292_BrunettePonytailLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/292_BrunettePonytailRight.svg b/svgs/svgItems/raffle6/292_BrunettePonytailRight.svg deleted file mode 100644 index 08cbe2a64..000000000 --- a/svgs/svgItems/raffle6/292_BrunettePonytailRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunic.svg b/svgs/svgItems/raffle6/293_LeatherTunic.svg deleted file mode 100644 index e0bbf577d..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicBack.svg b/svgs/svgItems/raffle6/293_LeatherTunicBack.svg deleted file mode 100644 index 4e12e2953..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicBackLeft.svg b/svgs/svgItems/raffle6/293_LeatherTunicBackLeft.svg deleted file mode 100644 index 6acad22cd..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicBackLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicBackLeftUp.svg b/svgs/svgItems/raffle6/293_LeatherTunicBackLeftUp.svg deleted file mode 100644 index 8c6a90174..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicBackLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicBackRight.svg b/svgs/svgItems/raffle6/293_LeatherTunicBackRight.svg deleted file mode 100644 index ae8003605..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicBackRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicBackRightUp.svg b/svgs/svgItems/raffle6/293_LeatherTunicBackRightUp.svg deleted file mode 100644 index 54b77b298..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicBackRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicLeft.svg b/svgs/svgItems/raffle6/293_LeatherTunicLeft.svg deleted file mode 100644 index ae8003605..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicLeftUp.svg b/svgs/svgItems/raffle6/293_LeatherTunicLeftUp.svg deleted file mode 100644 index 54b77b298..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicRight.svg b/svgs/svgItems/raffle6/293_LeatherTunicRight.svg deleted file mode 100644 index 6acad22cd..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicRightUp.svg b/svgs/svgItems/raffle6/293_LeatherTunicRightUp.svg deleted file mode 100644 index 8c6a90174..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicSideLeft.svg b/svgs/svgItems/raffle6/293_LeatherTunicSideLeft.svg deleted file mode 100644 index 5241cc7cb..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicSideLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicSideLeftDown.svg b/svgs/svgItems/raffle6/293_LeatherTunicSideLeftDown.svg deleted file mode 100644 index c6e026236..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicSideLeftDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicSideLeftUp.svg b/svgs/svgItems/raffle6/293_LeatherTunicSideLeftUp.svg deleted file mode 100644 index 44b0c5bd3..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicSideLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicSideRight.svg b/svgs/svgItems/raffle6/293_LeatherTunicSideRight.svg deleted file mode 100644 index 801529655..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicSideRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicSideRightDown.svg b/svgs/svgItems/raffle6/293_LeatherTunicSideRightDown.svg deleted file mode 100644 index 4002554fc..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicSideRightDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/293_LeatherTunicSideRightUp.svg b/svgs/svgItems/raffle6/293_LeatherTunicSideRightUp.svg deleted file mode 100644 index eb19acdf3..000000000 --- a/svgs/svgItems/raffle6/293_LeatherTunicSideRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/294_BowandArrow.svg b/svgs/svgItems/raffle6/294_BowandArrow.svg deleted file mode 100644 index bae6caa31..000000000 --- a/svgs/svgItems/raffle6/294_BowandArrow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/294_BowandArrowBack.svg b/svgs/svgItems/raffle6/294_BowandArrowBack.svg deleted file mode 100644 index bae6caa31..000000000 --- a/svgs/svgItems/raffle6/294_BowandArrowBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/294_BowandArrowLeft.svg b/svgs/svgItems/raffle6/294_BowandArrowLeft.svg deleted file mode 100644 index bae6caa31..000000000 --- a/svgs/svgItems/raffle6/294_BowandArrowLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/294_BowandArrowRight.svg b/svgs/svgItems/raffle6/294_BowandArrowRight.svg deleted file mode 100644 index b0905cc05..000000000 --- a/svgs/svgItems/raffle6/294_BowandArrowRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/295_ForkedBeard.svg b/svgs/svgItems/raffle6/295_ForkedBeard.svg deleted file mode 100644 index a0c25f766..000000000 --- a/svgs/svgItems/raffle6/295_ForkedBeard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/295_ForkedBeardLeft.svg b/svgs/svgItems/raffle6/295_ForkedBeardLeft.svg deleted file mode 100644 index 5067a2ee4..000000000 --- a/svgs/svgItems/raffle6/295_ForkedBeardLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/295_ForkedBeardRight.svg b/svgs/svgItems/raffle6/295_ForkedBeardRight.svg deleted file mode 100644 index 81974a4fe..000000000 --- a/svgs/svgItems/raffle6/295_ForkedBeardRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/296_DoublesidedAxe.svg b/svgs/svgItems/raffle6/296_DoublesidedAxe.svg deleted file mode 100644 index 7d1b3d03c..000000000 --- a/svgs/svgItems/raffle6/296_DoublesidedAxe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/296_DoublesidedAxeBack.svg b/svgs/svgItems/raffle6/296_DoublesidedAxeBack.svg deleted file mode 100644 index 7d1b3d03c..000000000 --- a/svgs/svgItems/raffle6/296_DoublesidedAxeBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/296_DoublesidedAxeLeft.svg b/svgs/svgItems/raffle6/296_DoublesidedAxeLeft.svg deleted file mode 100644 index 7d1b3d03c..000000000 --- a/svgs/svgItems/raffle6/296_DoublesidedAxeLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/296_DoublesidedAxeRight.svg b/svgs/svgItems/raffle6/296_DoublesidedAxeRight.svg deleted file mode 100644 index 14f695aa3..000000000 --- a/svgs/svgItems/raffle6/296_DoublesidedAxeRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkins.svg b/svgs/svgItems/raffle6/297_AnimalSkins.svg deleted file mode 100644 index 72bee1546..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkins.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsBack.svg b/svgs/svgItems/raffle6/297_AnimalSkinsBack.svg deleted file mode 100644 index ff0cd5357..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsLeft.svg b/svgs/svgItems/raffle6/297_AnimalSkinsLeft.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsLeftUp.svg b/svgs/svgItems/raffle6/297_AnimalSkinsLeftUp.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsRight.svg b/svgs/svgItems/raffle6/297_AnimalSkinsRight.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsRightUp.svg b/svgs/svgItems/raffle6/297_AnimalSkinsRightUp.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsSideLeft.svg b/svgs/svgItems/raffle6/297_AnimalSkinsSideLeft.svg deleted file mode 100644 index 7958dc536..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsSideLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsSideLeftDown.svg b/svgs/svgItems/raffle6/297_AnimalSkinsSideLeftDown.svg deleted file mode 100644 index 459c5fdf4..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsSideLeftDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsSideLeftUp.svg b/svgs/svgItems/raffle6/297_AnimalSkinsSideLeftUp.svg deleted file mode 100644 index 77795443c..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsSideLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsSideRight.svg b/svgs/svgItems/raffle6/297_AnimalSkinsSideRight.svg deleted file mode 100644 index ffd64fa87..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsSideRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsSideRightDown.svg b/svgs/svgItems/raffle6/297_AnimalSkinsSideRightDown.svg deleted file mode 100644 index c7a32f1fb..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsSideRightDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/297_AnimalSkinsSideRightUp.svg b/svgs/svgItems/raffle6/297_AnimalSkinsSideRightUp.svg deleted file mode 100644 index 160662cde..000000000 --- a/svgs/svgItems/raffle6/297_AnimalSkinsSideRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/298_HornedHelmet.svg b/svgs/svgItems/raffle6/298_HornedHelmet.svg deleted file mode 100644 index 2a76550e2..000000000 --- a/svgs/svgItems/raffle6/298_HornedHelmet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/298_HornedHelmetBack.svg b/svgs/svgItems/raffle6/298_HornedHelmetBack.svg deleted file mode 100644 index 6edab3644..000000000 --- a/svgs/svgItems/raffle6/298_HornedHelmetBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/298_HornedHelmetLeft.svg b/svgs/svgItems/raffle6/298_HornedHelmetLeft.svg deleted file mode 100644 index 109b24bc1..000000000 --- a/svgs/svgItems/raffle6/298_HornedHelmetLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/298_HornedHelmetRight.svg b/svgs/svgItems/raffle6/298_HornedHelmetRight.svg deleted file mode 100644 index e34a106e0..000000000 --- a/svgs/svgItems/raffle6/298_HornedHelmetRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/299_Longbow.svg b/svgs/svgItems/raffle6/299_Longbow.svg deleted file mode 100644 index 1b308fce1..000000000 --- a/svgs/svgItems/raffle6/299_Longbow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/299_LongbowBack.svg b/svgs/svgItems/raffle6/299_LongbowBack.svg deleted file mode 100644 index 1b308fce1..000000000 --- a/svgs/svgItems/raffle6/299_LongbowBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/299_LongbowLeft.svg b/svgs/svgItems/raffle6/299_LongbowLeft.svg deleted file mode 100644 index 1b308fce1..000000000 --- a/svgs/svgItems/raffle6/299_LongbowLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/299_LongbowRight.svg b/svgs/svgItems/raffle6/299_LongbowRight.svg deleted file mode 100644 index cc2322489..000000000 --- a/svgs/svgItems/raffle6/299_LongbowRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/300_FeatheredCap.svg b/svgs/svgItems/raffle6/300_FeatheredCap.svg deleted file mode 100644 index 2cb746abb..000000000 --- a/svgs/svgItems/raffle6/300_FeatheredCap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/300_FeatheredCapBack.svg b/svgs/svgItems/raffle6/300_FeatheredCapBack.svg deleted file mode 100644 index ea8511873..000000000 --- a/svgs/svgItems/raffle6/300_FeatheredCapBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/300_FeatheredCapLeft.svg b/svgs/svgItems/raffle6/300_FeatheredCapLeft.svg deleted file mode 100644 index c624127dd..000000000 --- a/svgs/svgItems/raffle6/300_FeatheredCapLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/300_FeatheredCapRight.svg b/svgs/svgItems/raffle6/300_FeatheredCapRight.svg deleted file mode 100644 index 2491b2a43..000000000 --- a/svgs/svgItems/raffle6/300_FeatheredCapRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/301_AlluringEyes.svg b/svgs/svgItems/raffle6/301_AlluringEyes.svg deleted file mode 100644 index c579d2c92..000000000 --- a/svgs/svgItems/raffle6/301_AlluringEyes.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/301_AlluringEyesBack.svg b/svgs/svgItems/raffle6/301_AlluringEyesBack.svg deleted file mode 100644 index 0c43bdcfd..000000000 --- a/svgs/svgItems/raffle6/301_AlluringEyesBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/301_AlluringEyesLeft.svg b/svgs/svgItems/raffle6/301_AlluringEyesLeft.svg deleted file mode 100644 index b2fe55d19..000000000 --- a/svgs/svgItems/raffle6/301_AlluringEyesLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/301_AlluringEyesRight.svg b/svgs/svgItems/raffle6/301_AlluringEyesRight.svg deleted file mode 100644 index 123d5dc28..000000000 --- a/svgs/svgItems/raffle6/301_AlluringEyesRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/302_GeishaHeadpiece.svg b/svgs/svgItems/raffle6/302_GeishaHeadpiece.svg deleted file mode 100644 index 90e661973..000000000 --- a/svgs/svgItems/raffle6/302_GeishaHeadpiece.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/302_GeishaHeadpieceBack.svg b/svgs/svgItems/raffle6/302_GeishaHeadpieceBack.svg deleted file mode 100644 index 95cdd7039..000000000 --- a/svgs/svgItems/raffle6/302_GeishaHeadpieceBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/302_GeishaHeadpieceLeft.svg b/svgs/svgItems/raffle6/302_GeishaHeadpieceLeft.svg deleted file mode 100644 index aea733086..000000000 --- a/svgs/svgItems/raffle6/302_GeishaHeadpieceLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/302_GeishaHeadpieceRight.svg b/svgs/svgItems/raffle6/302_GeishaHeadpieceRight.svg deleted file mode 100644 index 68ca3035b..000000000 --- a/svgs/svgItems/raffle6/302_GeishaHeadpieceRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_Kimono.svg b/svgs/svgItems/raffle6/303_Kimono.svg deleted file mode 100644 index 6044269b7..000000000 --- a/svgs/svgItems/raffle6/303_Kimono.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoBack.svg b/svgs/svgItems/raffle6/303_KimonoBack.svg deleted file mode 100644 index 9682ce9e4..000000000 --- a/svgs/svgItems/raffle6/303_KimonoBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoBackLeft.svg b/svgs/svgItems/raffle6/303_KimonoBackLeft.svg deleted file mode 100644 index 80dd88470..000000000 --- a/svgs/svgItems/raffle6/303_KimonoBackLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoBackLeftUp.svg b/svgs/svgItems/raffle6/303_KimonoBackLeftUp.svg deleted file mode 100644 index 932de56a5..000000000 --- a/svgs/svgItems/raffle6/303_KimonoBackLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoBackRight.svg b/svgs/svgItems/raffle6/303_KimonoBackRight.svg deleted file mode 100644 index b55a59bc6..000000000 --- a/svgs/svgItems/raffle6/303_KimonoBackRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoBackRightUp.svg b/svgs/svgItems/raffle6/303_KimonoBackRightUp.svg deleted file mode 100644 index f78b82583..000000000 --- a/svgs/svgItems/raffle6/303_KimonoBackRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoLeft.svg b/svgs/svgItems/raffle6/303_KimonoLeft.svg deleted file mode 100644 index b55a59bc6..000000000 --- a/svgs/svgItems/raffle6/303_KimonoLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoLeftUp.svg b/svgs/svgItems/raffle6/303_KimonoLeftUp.svg deleted file mode 100644 index f78b82583..000000000 --- a/svgs/svgItems/raffle6/303_KimonoLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoRight.svg b/svgs/svgItems/raffle6/303_KimonoRight.svg deleted file mode 100644 index 80dd88470..000000000 --- a/svgs/svgItems/raffle6/303_KimonoRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoRightUp.svg b/svgs/svgItems/raffle6/303_KimonoRightUp.svg deleted file mode 100644 index 932de56a5..000000000 --- a/svgs/svgItems/raffle6/303_KimonoRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoSideLeft.svg b/svgs/svgItems/raffle6/303_KimonoSideLeft.svg deleted file mode 100644 index 676c65a41..000000000 --- a/svgs/svgItems/raffle6/303_KimonoSideLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoSideLeftDown.svg b/svgs/svgItems/raffle6/303_KimonoSideLeftDown.svg deleted file mode 100644 index b610eae81..000000000 --- a/svgs/svgItems/raffle6/303_KimonoSideLeftDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoSideLeftUp.svg b/svgs/svgItems/raffle6/303_KimonoSideLeftUp.svg deleted file mode 100644 index 04f189efb..000000000 --- a/svgs/svgItems/raffle6/303_KimonoSideLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoSideRight.svg b/svgs/svgItems/raffle6/303_KimonoSideRight.svg deleted file mode 100644 index 24b5b85cd..000000000 --- a/svgs/svgItems/raffle6/303_KimonoSideRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoSideRightDown.svg b/svgs/svgItems/raffle6/303_KimonoSideRightDown.svg deleted file mode 100644 index c667b0ce5..000000000 --- a/svgs/svgItems/raffle6/303_KimonoSideRightDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/303_KimonoSideRightUp.svg b/svgs/svgItems/raffle6/303_KimonoSideRightUp.svg deleted file mode 100644 index 1b38f4652..000000000 --- a/svgs/svgItems/raffle6/303_KimonoSideRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/304_PaperFan.svg b/svgs/svgItems/raffle6/304_PaperFan.svg deleted file mode 100644 index c53aa44bb..000000000 --- a/svgs/svgItems/raffle6/304_PaperFan.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/304_PaperFanBack.svg b/svgs/svgItems/raffle6/304_PaperFanBack.svg deleted file mode 100644 index c53aa44bb..000000000 --- a/svgs/svgItems/raffle6/304_PaperFanBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/304_PaperFanLeft.svg b/svgs/svgItems/raffle6/304_PaperFanLeft.svg deleted file mode 100644 index c53aa44bb..000000000 --- a/svgs/svgItems/raffle6/304_PaperFanLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/304_PaperFanRight.svg b/svgs/svgItems/raffle6/304_PaperFanRight.svg deleted file mode 100644 index c53aa44bb..000000000 --- a/svgs/svgItems/raffle6/304_PaperFanRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/305_SusButterfly.svg b/svgs/svgItems/raffle6/305_SusButterfly.svg deleted file mode 100644 index dbf4b5270..000000000 --- a/svgs/svgItems/raffle6/305_SusButterfly.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/305_SusButterflyBack.svg b/svgs/svgItems/raffle6/305_SusButterflyBack.svg deleted file mode 100644 index f01ef88d6..000000000 --- a/svgs/svgItems/raffle6/305_SusButterflyBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/305_SusButterflyLeft.svg b/svgs/svgItems/raffle6/305_SusButterflyLeft.svg deleted file mode 100644 index 752db8305..000000000 --- a/svgs/svgItems/raffle6/305_SusButterflyLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/305_SusButterflyRight.svg b/svgs/svgItems/raffle6/305_SusButterflyRight.svg deleted file mode 100644 index 10832ea2f..000000000 --- a/svgs/svgItems/raffle6/305_SusButterflyRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/306_FlowerStuds.svg b/svgs/svgItems/raffle6/306_FlowerStuds.svg deleted file mode 100644 index 90dd9d593..000000000 --- a/svgs/svgItems/raffle6/306_FlowerStuds.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/306_FlowerStudsBack.svg b/svgs/svgItems/raffle6/306_FlowerStudsBack.svg deleted file mode 100644 index ecd30105e..000000000 --- a/svgs/svgItems/raffle6/306_FlowerStudsBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/306_FlowerStudsLeft.svg b/svgs/svgItems/raffle6/306_FlowerStudsLeft.svg deleted file mode 100644 index 8806a1d36..000000000 --- a/svgs/svgItems/raffle6/306_FlowerStudsLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/306_FlowerStudsRight.svg b/svgs/svgItems/raffle6/306_FlowerStudsRight.svg deleted file mode 100644 index 8806a1d36..000000000 --- a/svgs/svgItems/raffle6/306_FlowerStudsRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWings.svg b/svgs/svgItems/raffle6/307_FairyWings.svg deleted file mode 100644 index 852844d4e..000000000 --- a/svgs/svgItems/raffle6/307_FairyWings.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsBack.svg b/svgs/svgItems/raffle6/307_FairyWingsBack.svg deleted file mode 100644 index 975a88a13..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsLeft.svg b/svgs/svgItems/raffle6/307_FairyWingsLeft.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsLeftUp.svg b/svgs/svgItems/raffle6/307_FairyWingsLeftUp.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsRight.svg b/svgs/svgItems/raffle6/307_FairyWingsRight.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsRightUp.svg b/svgs/svgItems/raffle6/307_FairyWingsRightUp.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsSideLeft.svg b/svgs/svgItems/raffle6/307_FairyWingsSideLeft.svg deleted file mode 100644 index a460fc5dc..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsSideLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/307_FairyWingsSideRight.svg b/svgs/svgItems/raffle6/307_FairyWingsSideRight.svg deleted file mode 100644 index 7d4ac4e1e..000000000 --- a/svgs/svgItems/raffle6/307_FairyWingsSideRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/308_RedHair.svg b/svgs/svgItems/raffle6/308_RedHair.svg deleted file mode 100644 index defcf807d..000000000 --- a/svgs/svgItems/raffle6/308_RedHair.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/308_RedHairBack.svg b/svgs/svgItems/raffle6/308_RedHairBack.svg deleted file mode 100644 index 6e76b2345..000000000 --- a/svgs/svgItems/raffle6/308_RedHairBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/308_RedHairLeft.svg b/svgs/svgItems/raffle6/308_RedHairLeft.svg deleted file mode 100644 index 236486cba..000000000 --- a/svgs/svgItems/raffle6/308_RedHairLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/308_RedHairRight.svg b/svgs/svgItems/raffle6/308_RedHairRight.svg deleted file mode 100644 index d6f376258..000000000 --- a/svgs/svgItems/raffle6/308_RedHairRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/309_CitaadelHelm.svg b/svgs/svgItems/raffle6/309_CitaadelHelm.svg deleted file mode 100644 index 957770632..000000000 --- a/svgs/svgItems/raffle6/309_CitaadelHelm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/309_CitaadelHelmBack.svg b/svgs/svgItems/raffle6/309_CitaadelHelmBack.svg deleted file mode 100644 index 50f17856d..000000000 --- a/svgs/svgItems/raffle6/309_CitaadelHelmBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/309_CitaadelHelmLeft.svg b/svgs/svgItems/raffle6/309_CitaadelHelmLeft.svg deleted file mode 100644 index 2eb316b15..000000000 --- a/svgs/svgItems/raffle6/309_CitaadelHelmLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/309_CitaadelHelmRight.svg b/svgs/svgItems/raffle6/309_CitaadelHelmRight.svg deleted file mode 100644 index 89a3c7f8a..000000000 --- a/svgs/svgItems/raffle6/309_CitaadelHelmRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmor.svg b/svgs/svgItems/raffle6/310_PlateArmor.svg deleted file mode 100644 index 944b15b82..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorBack.svg b/svgs/svgItems/raffle6/310_PlateArmorBack.svg deleted file mode 100644 index a3d09384e..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorBackLeft.svg b/svgs/svgItems/raffle6/310_PlateArmorBackLeft.svg deleted file mode 100644 index aa0dc4a8f..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorBackLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorBackLeftUp.svg b/svgs/svgItems/raffle6/310_PlateArmorBackLeftUp.svg deleted file mode 100644 index 739ba67fd..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorBackLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorBackRight.svg b/svgs/svgItems/raffle6/310_PlateArmorBackRight.svg deleted file mode 100644 index 29c8387f6..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorBackRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorBackRightUp.svg b/svgs/svgItems/raffle6/310_PlateArmorBackRightUp.svg deleted file mode 100644 index e5fde2002..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorBackRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorLeft.svg b/svgs/svgItems/raffle6/310_PlateArmorLeft.svg deleted file mode 100644 index 29c8387f6..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorLeftUp.svg b/svgs/svgItems/raffle6/310_PlateArmorLeftUp.svg deleted file mode 100644 index e5fde2002..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorRight.svg b/svgs/svgItems/raffle6/310_PlateArmorRight.svg deleted file mode 100644 index aa0dc4a8f..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorRightUp.svg b/svgs/svgItems/raffle6/310_PlateArmorRightUp.svg deleted file mode 100644 index 739ba67fd..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorSideLeft.svg b/svgs/svgItems/raffle6/310_PlateArmorSideLeft.svg deleted file mode 100644 index ffb5d8c8d..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorSideLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorSideLeftDown.svg b/svgs/svgItems/raffle6/310_PlateArmorSideLeftDown.svg deleted file mode 100644 index b0c39dda2..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorSideLeftDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorSideLeftUp.svg b/svgs/svgItems/raffle6/310_PlateArmorSideLeftUp.svg deleted file mode 100644 index 480e87746..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorSideLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorSideRight.svg b/svgs/svgItems/raffle6/310_PlateArmorSideRight.svg deleted file mode 100644 index 35391cb27..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorSideRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorSideRightDown.svg b/svgs/svgItems/raffle6/310_PlateArmorSideRightDown.svg deleted file mode 100644 index f3c608607..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorSideRightDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/310_PlateArmorSideRightUp.svg b/svgs/svgItems/raffle6/310_PlateArmorSideRightUp.svg deleted file mode 100644 index 6d06b41e9..000000000 --- a/svgs/svgItems/raffle6/310_PlateArmorSideRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/311_SpiritSword.svg b/svgs/svgItems/raffle6/311_SpiritSword.svg deleted file mode 100644 index 7fb5a2074..000000000 --- a/svgs/svgItems/raffle6/311_SpiritSword.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/311_SpiritSwordBack.svg b/svgs/svgItems/raffle6/311_SpiritSwordBack.svg deleted file mode 100644 index 7fb5a2074..000000000 --- a/svgs/svgItems/raffle6/311_SpiritSwordBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/311_SpiritSwordLeft.svg b/svgs/svgItems/raffle6/311_SpiritSwordLeft.svg deleted file mode 100644 index 7fb5a2074..000000000 --- a/svgs/svgItems/raffle6/311_SpiritSwordLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/311_SpiritSwordRight.svg b/svgs/svgItems/raffle6/311_SpiritSwordRight.svg deleted file mode 100644 index 7fb5a2074..000000000 --- a/svgs/svgItems/raffle6/311_SpiritSwordRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/312_PlateShield.svg b/svgs/svgItems/raffle6/312_PlateShield.svg deleted file mode 100644 index 9375e2ebf..000000000 --- a/svgs/svgItems/raffle6/312_PlateShield.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/312_PlateShieldBack.svg b/svgs/svgItems/raffle6/312_PlateShieldBack.svg deleted file mode 100644 index 62427428b..000000000 --- a/svgs/svgItems/raffle6/312_PlateShieldBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/312_PlateShieldLeft.svg b/svgs/svgItems/raffle6/312_PlateShieldLeft.svg deleted file mode 100644 index 9375e2ebf..000000000 --- a/svgs/svgItems/raffle6/312_PlateShieldLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/312_PlateShieldRight.svg b/svgs/svgItems/raffle6/312_PlateShieldRight.svg deleted file mode 100644 index 9375e2ebf..000000000 --- a/svgs/svgItems/raffle6/312_PlateShieldRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/313_KabutoHelmet.svg b/svgs/svgItems/raffle6/313_KabutoHelmet.svg deleted file mode 100644 index 5bdc9ce84..000000000 --- a/svgs/svgItems/raffle6/313_KabutoHelmet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/313_KabutoHelmetBack.svg b/svgs/svgItems/raffle6/313_KabutoHelmetBack.svg deleted file mode 100644 index 2417f90e3..000000000 --- a/svgs/svgItems/raffle6/313_KabutoHelmetBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/313_KabutoHelmetLeft.svg b/svgs/svgItems/raffle6/313_KabutoHelmetLeft.svg deleted file mode 100644 index 0b8f99360..000000000 --- a/svgs/svgItems/raffle6/313_KabutoHelmetLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/313_KabutoHelmetRight.svg b/svgs/svgItems/raffle6/313_KabutoHelmetRight.svg deleted file mode 100644 index da9ae90f2..000000000 --- a/svgs/svgItems/raffle6/313_KabutoHelmetRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmor.svg b/svgs/svgItems/raffle6/314_YoroiArmor.svg deleted file mode 100644 index 008cd33de..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmor.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorBack.svg b/svgs/svgItems/raffle6/314_YoroiArmorBack.svg deleted file mode 100644 index c33ff7e9c..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorBackLeft.svg b/svgs/svgItems/raffle6/314_YoroiArmorBackLeft.svg deleted file mode 100644 index 37252f0fa..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorBackLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorBackLeftUp.svg b/svgs/svgItems/raffle6/314_YoroiArmorBackLeftUp.svg deleted file mode 100644 index 1ec183ce6..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorBackLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorBackRight.svg b/svgs/svgItems/raffle6/314_YoroiArmorBackRight.svg deleted file mode 100644 index 42fda91c9..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorBackRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorBackRightUp.svg b/svgs/svgItems/raffle6/314_YoroiArmorBackRightUp.svg deleted file mode 100644 index c62fb0755..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorBackRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorLeft.svg b/svgs/svgItems/raffle6/314_YoroiArmorLeft.svg deleted file mode 100644 index 42fda91c9..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorLeftUp.svg b/svgs/svgItems/raffle6/314_YoroiArmorLeftUp.svg deleted file mode 100644 index c62fb0755..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorRight.svg b/svgs/svgItems/raffle6/314_YoroiArmorRight.svg deleted file mode 100644 index 37252f0fa..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorRightUp.svg b/svgs/svgItems/raffle6/314_YoroiArmorRightUp.svg deleted file mode 100644 index 1ec183ce6..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorSideLeft.svg b/svgs/svgItems/raffle6/314_YoroiArmorSideLeft.svg deleted file mode 100644 index f15817750..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorSideLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorSideLeftDown.svg b/svgs/svgItems/raffle6/314_YoroiArmorSideLeftDown.svg deleted file mode 100644 index 617ea3254..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorSideLeftDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorSideLeftUp.svg b/svgs/svgItems/raffle6/314_YoroiArmorSideLeftUp.svg deleted file mode 100644 index 498298416..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorSideLeftUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorSideRight.svg b/svgs/svgItems/raffle6/314_YoroiArmorSideRight.svg deleted file mode 100644 index b53073281..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorSideRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorSideRightDown.svg b/svgs/svgItems/raffle6/314_YoroiArmorSideRightDown.svg deleted file mode 100644 index 19b17695c..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorSideRightDown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/314_YoroiArmorSideRightUp.svg b/svgs/svgItems/raffle6/314_YoroiArmorSideRightUp.svg deleted file mode 100644 index 8bf5ed4dd..000000000 --- a/svgs/svgItems/raffle6/314_YoroiArmorSideRightUp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/315_HaanzoKatana.svg b/svgs/svgItems/raffle6/315_HaanzoKatana.svg deleted file mode 100644 index 99218d9e4..000000000 --- a/svgs/svgItems/raffle6/315_HaanzoKatana.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/315_HaanzoKatanaBack.svg b/svgs/svgItems/raffle6/315_HaanzoKatanaBack.svg deleted file mode 100644 index 75d2c0658..000000000 --- a/svgs/svgItems/raffle6/315_HaanzoKatanaBack.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/315_HaanzoKatanaLeft.svg b/svgs/svgItems/raffle6/315_HaanzoKatanaLeft.svg deleted file mode 100644 index 99218d9e4..000000000 --- a/svgs/svgItems/raffle6/315_HaanzoKatanaLeft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/315_HaanzoKatanaRight.svg b/svgs/svgItems/raffle6/315_HaanzoKatanaRight.svg deleted file mode 100644 index 75d2c0658..000000000 --- a/svgs/svgItems/raffle6/315_HaanzoKatanaRight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/svgItems/raffle6/EmptyFile.svg b/svgs/svgItems/raffle6/EmptyFile.svg deleted file mode 100644 index 921a2d372..000000000 --- a/svgs/svgItems/raffle6/EmptyFile.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/svgs/wearables-sides.ts b/svgs/wearables-sides.ts index a1721827d..1af5828b6 100644 --- a/svgs/wearables-sides.ts +++ b/svgs/wearables-sides.ts @@ -56,7 +56,7 @@ export const wearablesRightSvgs = [ wearable("52_GalaxyBrainRight"), wearable("53_AllSeeingEyesRight"), bodyWearableRight("54_LlamacornShirt"), - "55_AagentHeadsetRight", + // "55_AagentHeadsetRight", bodyWearableRight("56_AagentShirt"), wearable("57_AagentShadesRight"), wearable("58_AagentPistolRight"), @@ -76,7 +76,7 @@ export const wearablesRightSvgs = [ wearable("72_JaayHairpieceRight"), wearable("73_JaayGlassesRight"), bodyWearableRight("74_JaayHaoSuit"), - "75_OKexSignRight", + // "75_OKexSignRight", wearable("76_BigGHSTTokenRight"), wearable("77_BitcoinBeanieRight"), wearable("78_SkaterJeansRight"), // Body but no sleeves @@ -87,7 +87,7 @@ export const wearablesRightSvgs = [ wearable("83_SushiKnifeRight"), wearable("84_GentlemanHatRight"), bodyWearableRight("85_GentlemanSuit"), - "86_GentlemanMonocleRight", + // "86_GentlemanMonocleRight", wearable("87_MinerHelmetRight"), wearable("88_MinerJeansRight"), // Body but no sleeves wearable("89_MinerPickaxeRight"), @@ -158,48 +158,48 @@ export const wearablesRightSvgs = [ wearable("154_LegendaryRoflRight"), wearable("155_MythicalRoflRight"), wearable("156_GodlikeRoflRight"), - "157_LilPumpGoateeLeft", + // "157_LilPumpGoateeLeft", wearable("158_LilPumpDrinkRight"), wearable("159_LilPumpShadesRight"), bodyWearableRight("160_LilPumpThreads"), wearable("161_LilPumpDreadsRight"), bodyWearableRight("162_MiamiShirt"), - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, + // 163, + // 164, + // 165, + // 166, + // 167, + // 168, + // 169, + // 170, + // 171, + // 172, + // 173, + // 174, + // 175, + // 176, + // 177, + // 178, + // 179, + // 180, + // 181, + // 182, + // 183, + // 184, + // 185, + // 186, + // 187, + // 188, + // 189, + // 190, + // 191, + // 192, + // 193, + // 194, + // 195, + // 196, + // 197, + // 198, wearable("199_SteampunkGlassesRight"), wearable("200_SteampunkRight"), wearable("201_SteampunkGloveRight"), @@ -234,11 +234,11 @@ export const wearablesRightSvgs = [ wearable("230_WraanglerJeansRight"), bodyWearableRight("231_ComfyPoncho"), wearable("232_PonchoHoodieRight"), - "233_UncommonCactiRight", + // "233_UncommonCactiRight", bodyWearableRight("234_ShaamanPoncho"), wearable("235_ShaamanHoodieRight"), - "236_BlueCactiRight", - "237_MythicalCactiRight", + // "236_BlueCactiRight", + // "237_MythicalCactiRight", wearable("238_GodlikeCactiRight"), wearable("239_WagieCapRight"), wearable("240_HeadphonesRight"), @@ -262,37 +262,37 @@ export const wearablesRightSvgs = [ bodyWearableRight("258_Hanfu"), wearable("259_BushyEyebrowsRight"), wearable("260_AncientBeardRight"), - 261, + // 261, wearable("262_RadarEyesRight"), wearable("263_SignalHeadsetRight"), - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, + // 264, + // 265, + // 266, + // 267, + // 268, + // 269, + // 270, + // 271, + // 272, + // 273, + // 274, + // 275, + // 276, + // 277, + // 278, + // 279, + // 280, + // 281, + // 282, + // 283, + // 284, + // 285, + // 286, + // 287, + // 288, + // 289, + // 290, + // 291, wearable("292_BrunettePonytailRight"), bodyWearableRight("293_LeatherTunic"), wearable("294_BowandArrowRight"), @@ -317,43 +317,43 @@ export const wearablesRightSvgs = [ wearable("313_KabutoHelmetRight"), bodyWearableRight("314_YoroiArmor"), wearable("315_HaanzoKatanaRight"), - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - // Haalloween Party Badge - 332, - // TOOORKEY CHAASE Badge - 333, - //szn 4 baadges - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, + // 316, + // 317, + // 318, + // 319, + // 320, + // 321, + // 322, + // 323, + // 324, + // 325, + // 326, + // 327, + // 328, + // 329, + // 330, + // 331, + // // Haalloween Party Badge + // 332, + // // TOOORKEY CHAASE Badge + // 333, + // //szn 4 baadges + // 334, + // 335, + // 336, + // 337, + // 338, + // 339, + // 340, + // 341, + // 342, + // 343, + // 344, + // 345, + // 346, + // 347, + // 348, + // 349, // forge wearables bodyWearableRight("350_PixelcraftTee"), wearable("351_3DGlassesRight"), @@ -361,7 +361,7 @@ export const wearablesRightSvgs = [ wearable("353_NimbusRight"), wearable("354_AlchemicaApronRight"), wearable("355_SafetyGlassesRight"), - "356_BandageRight", + // "356_BandageRight", wearable("357_NailGunRight"), wearable("358_FlamingApronRight"), wearable("359_ForgeGogglesRight"), @@ -392,7 +392,7 @@ export const wearablesBackSvgs = [ bodyWearable("11_MessDress"), // bodyWearable("11_MessDress"), wearable("12_LinkBubbly"), wearable("13_SergeyBeardBack"), - "14_SergeyEyesBack", // no eyes for back side + // "14_SergeyEyesBack", // no eyes for back side bodyWearable("15_RedPlaid"), // bodyWearable("15_RedPlaid"), bodyWearable("16_BluePlaid"), // bodyWearable("16_BluePlaid"), wearable("17_LinkCubeBack"), @@ -431,7 +431,7 @@ export const wearablesBackSvgs = [ bodyWearable("50_GldnXrossRobe"), wearable("51_MudgenDiamondBack"), wearable("52_GalaxyBrainBack"), - "53_AllSeeingEyesBack", + // "53_AllSeeingEyesBack", bodyWearable("54_LlamacornShirt"), wearable("55_AagentHeadsetBack"), bodyWearable("56_AagentShirt"), @@ -464,7 +464,7 @@ export const wearablesBackSvgs = [ wearable("83_SushiKnifeBack"), wearable("84_GentlemanHatBack"), bodyWearable("85_GentlemanSuit"), - "86_GentlemanMonocleBack", + // "86_GentlemanMonocleBack", wearable("87_MinerHelmetBack"), wearable("88_MinerJeansBack"), // Body but no sleeves wearable("89_MinerPickaxeBack"), @@ -524,7 +524,7 @@ export const wearablesBackSvgs = [ wearable("143_GoldNecklaceBack"), wearable("144_PrincessHairBack"), wearable("145_GodliLocksBack"), - "146_ImperialMoustacheBack", + // "146_ImperialMoustacheBack", wearable("147_TinyCrownBack"), wearable("148_RoyalScepterBack"), wearable("149_RoyalCrownBack"), @@ -535,48 +535,48 @@ export const wearablesBackSvgs = [ wearable("154_LegendaryRoflBack"), wearable("155_MythicalRoflBack"), wearable("156_GodlikeRoflBack"), - "157_LilPumpGoateeLeft", + // "157_LilPumpGoateeLeft", wearable("158_LilPumpDrinkBack"), wearable("159_LilPumpShadesBack"), bodyWearable("160_LilPumpThreads"), wearable("161_LilPumpDreadsBack"), bodyWearable("162_MiamiShirt"), - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, + // 163, + // 164, + // 165, + // 166, + // 167, + // 168, + // 169, + // 170, + // 171, + // 172, + // 173, + // 174, + // 175, + // 176, + // 177, + // 178, + // 179, + // 180, + // 181, + // 182, + // 183, + // 184, + // 185, + // 186, + // 187, + // 188, + // 189, + // 190, + // 191, + // 192, + // 193, + // 194, + // 195, + // 196, + // 197, + // 198, wearable("199_SteampunkGlassesBack"), wearable("200_SteampunkBack"), wearable("201_SteampunkGloveBack"), @@ -587,17 +587,17 @@ export const wearablesBackSvgs = [ wearable("206_BikerHelmetBack"), wearable("207_BikerJacketBack"), wearable("208_AviatorsBack"), - "209_HorsehoeMustacheBack", + // "209_HorsehoeMustacheBack", wearable("210_H1backgroundBack"), wearable("211_GuyFauwkesMaskBack"), wearable("212_1337LaptopBack"), bodyWearable("213_H4xx0rShirt"), - "214_MatrixEyesBack", + // "214_MatrixEyesBack", wearable("215_CyborgEyeBack"), wearable("216_RainbowVomitBack"), wearable("217_CyborgGunBack"), wearable("218_MohawkBack"), - "219_MuttonChopsBack", + // "219_MuttonChopsBack", bodyWearable("220_PunkShirt"), wearable("221_PirateHatBack"), bodyWearable("222_PirateCoat"), @@ -627,7 +627,7 @@ export const wearablesBackSvgs = [ wearable("246_APYShadesBack"), wearable("247_UpArrowBack"), bodyWearable("248_UpOnlyShirt"), - 249, + // 249, bodyWearable("250_CoinGeckoTee"), wearable("251_CoinGeckoCandiesBack"), wearable("252_AastronautHelmetBack"), @@ -637,39 +637,39 @@ export const wearablesBackSvgs = [ bodyWearable("256_LilBubbleSpaceSuit"), wearable("257_BitcoinGuitarBack"), bodyWearable("258_Hanfu"), - 258, - 259, + // 258, + // 259, wearable("261_AantenaBotBack"), - 262, + // 262, wearable("263_SignalHeadsetBack"), - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, + // 264, + // 265, + // 266, + // 267, + // 268, + // 269, + // 270, + // 271, + // 272, + // 273, + // 274, + // 275, + // 276, + // 277, + // 278, + // 279, + // 280, + // 281, + // 282, + // 283, + // 284, + // 285, + // 286, + // 287, + // 288, + // 289, + // 290, + // 291, wearable("292_BrunettePonytailBack"), bodyWearable("293_LeatherTunic"), wearable("294_BowandArrowBack"), @@ -694,43 +694,43 @@ export const wearablesBackSvgs = [ wearable("313_KabutoHelmetBack"), bodyWearable("314_YoroiArmor"), wearable("315_HaanzoKatanaBack"), - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - // Haalloween Party Badge - 332, - // TOOORKEY CHAASE Badge - 333, - //szn 4 baadges - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, + // 316, + // 317, + // 318, + // 319, + // 320, + // 321, + // 322, + // 323, + // 324, + // 325, + // 326, + // 327, + // 328, + // 329, + // 330, + // 331, + // // Haalloween Party Badge + // 332, + // // TOOORKEY CHAASE Badge + // 333, + // //szn 4 baadges + // 334, + // 335, + // 336, + // 337, + // 338, + // 339, + // 340, + // 341, + // 342, + // 343, + // 344, + // 345, + // 346, + // 347, + // 348, + // 349, // forge wearables bodyWearable("350_PixelcraftTee"), wearable("351_3DGlassesBack"), @@ -738,7 +738,7 @@ export const wearablesBackSvgs = [ wearable("353_NimbusBack"), wearable("354_AlchemicaApronBack"), wearable("355_SafetyGlassesBack"), - "356_BandageBack", + // "356_BandageBack", wearable("357_NailGunBack"), wearable("358_FlamingApronBack"), wearable("359_ForgeGogglesBack"), @@ -749,8 +749,8 @@ export const wearablesBackSvgs = [ wearable("364_PaintBrushBack"), wearable("365_PaintPaletteBack"), bodyWearable("366_HeavenlyRobes"), - "367_EyesofDevotionBack", - "368_BeardofDivinityBack", + // "367_EyesofDevotionBack", + // "368_BeardofDivinityBack", wearable("369_StaffofCreationBack"), ]; @@ -784,7 +784,7 @@ export const wearablesLeftSvgs = [ wearable("26_ThaaveHammerLeft"), wearable("27_MarcHairLeft"), bodyWearableLeft("28_MarcOutfit"), // bodyWearableLeft("28_MarcOutfit"), - "29_REKTSignRight", + // "29_REKTSignRight", wearable("30_JordanHairLeft"), bodyWearableLeft("31_JordanSuit"), // bodyWearableLeft("31_JordanSuit"), wearable("32_AaveFlagLeft"), @@ -912,48 +912,48 @@ export const wearablesLeftSvgs = [ wearable("154_LegendaryRoflLeft"), wearable("155_MythicalRoflLeft"), wearable("156_GodlikeRoflLeft"), - "157_LilPumpGoateeLeft", + // "157_LilPumpGoateeLeft", wearable("158_LilPumpDrinkLeft"), wearable("159_LilPumpShadesLeft"), bodyWearableLeft("160_LilPumpThreads"), wearable("161_LilPumpDreadsLeft"), bodyWearableLeft("162_MiamiShirt"), - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, + // 163, + // 164, + // 165, + // 166, + // 167, + // 168, + // 169, + // 170, + // 171, + // 172, + // 173, + // 174, + // 175, + // 176, + // 177, + // 178, + // 179, + // 180, + // 181, + // 182, + // 183, + // 184, + // 185, + // 186, + // 187, + // 188, + // 189, + // 190, + // 191, + // 192, + // 193, + // 194, + // 195, + // 196, + // 197, + // 198, wearable("199_SteampunkGlassesLeft"), wearable("200_SteampunkLeft"), wearable("201_SteampunkGloveLeft"), @@ -1019,34 +1019,34 @@ export const wearablesLeftSvgs = [ wearable("261_AantenaBotLeft"), wearable("262_RadarEyesLeft"), wearable("263_SignalHeadsetLeft"), - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, + // 264, + // 265, + // 266, + // 267, + // 268, + // 269, + // 270, + // 271, + // 272, + // 273, + // 274, + // 275, + // 276, + // 277, + // 278, + // 279, + // 280, + // 281, + // 282, + // 283, + // 284, + // 285, + // 286, + // 287, + // 288, + // 289, + // 290, + // 291, wearable("292_BrunettePonytailLeft"), bodyWearableLeft("293_LeatherTunic"), wearable("294_BowandArrowLeft"), @@ -1071,43 +1071,43 @@ export const wearablesLeftSvgs = [ wearable("313_KabutoHelmetLeft"), bodyWearableLeft("314_YoroiArmor"), wearable("315_HaanzoKatanaLeft"), - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - // Haalloween Party Badge - 332, - // TOOORKEY CHAASE Badge - 333, - //szn 4 baadges - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, + // 316, + // 317, + // 318, + // 319, + // 320, + // 321, + // 322, + // 323, + // 324, + // 325, + // 326, + // 327, + // 328, + // 329, + // 330, + // 331, + // // Haalloween Party Badge + // 332, + // // TOOORKEY CHAASE Badge + // 333, + // //szn 4 baadges + // 334, + // 335, + // 336, + // 337, + // 338, + // 339, + // 340, + // 341, + // 342, + // 343, + // 344, + // 345, + // 346, + // 347, + // 348, + // 349, // forge wearables bodyWearableLeft("350_PixelcraftTee"), wearable("351_3DGlassesLeft"), diff --git a/svgs/wearables.ts b/svgs/wearables.ts index ac70263ec..1ecafe6bb 100644 --- a/svgs/wearables.ts +++ b/svgs/wearables.ts @@ -1,3 +1,5 @@ +import { BigNumberish } from "@ethersproject/bignumber"; + const fs = require("fs"); export const wearablesSvgs = [ @@ -387,7 +389,7 @@ export const sleeveSvgs = [ // "5_SnowCamoPantsRight", // body but no sleeves // '6_M67GrenadeRight', // '7_MarineCapRight', - // sleeves("8_MarineJacket"), // sleeves("8_MarineJacket"), + sleeves("8_MarineJacket"), // sleeves("8_MarineJacket"), // '9_WalkieTalkie', // '10_LinkWhiteHatRight', sleeves("11_MessDress"), // sleeves("11_MessDress"), @@ -404,7 +406,7 @@ export const sleeveSvgs = [ sleeves("22_CaptainAaveSuit"), // sleeves("22_CaptainAaveSuit"), // '23_CaptainAaveShieldRight', // '24_ThaaveHelmetRight', - // sleeves("25_ThaaveSuit"), + sleeves("25_ThaaveSuit"), // '26_ThaaveHammerRight', // '27_MarcHairRight', sleeves("28_MarcOutfit"), // sleeves("28_MarcOutfit"), @@ -504,7 +506,7 @@ export const sleeveSvgs = [ // '122_MilkshakeRight', // '123_AppleJuiceRight', // '124_BeerHelmetRight', - // sleeves("125_TrackSuit"), + sleeves("125_TrackSuit"), // '126_KinshipPotionRight', // '127_GreaterKinshipPotionRight', // '128_XPPotionRight', @@ -559,10 +561,10 @@ export const sleeveSvgs = [ sleeves("234_ShaamanPoncho"), sleeves("241_WGMIShirt"), sleeves("244_VNeckShirt"), - "248_UpOnlyShirt", - "250_CoinGeckoTee", - "253_AastronautSuit", - "256_LilBubbleSpaceSuit", + sleeves("248_UpOnlyShirt"), + sleeves("250_CoinGeckoTee"), + sleeves("253_AastronautSuit"), + sleeves("256_LilBubbleSpaceSuit"), sleeves("258_Hanfu"), sleeves("293_LeatherTunic"), sleeves("297_AnimalSkins"), @@ -572,15 +574,22 @@ export const sleeveSvgs = [ sleeves("314_YoroiArmor"), "sleeves gap", "sleeves gap", - sleeves("316_MarineJacket"), - sleeves("317_ThaaveSuit"), - sleeves("318_TrackSuit"), + // sleeves("316_MarineJacket"), + // sleeves("317_ThaaveSuit"), + // sleeves("318_TrackSuit"), // forge wearables sleeves("350_PixelcraftTee"), sleeves("362_FAKEShirt"), sleeves("366_HeavenlyRobes"), ]; +export const allSleeves: Array = [ + 8, 11, 15, 16, 19, 22, 25, 28, 31, 37, 43, 46, 50, 54, 56, 74, 85, 91, + 102, 105, 109, 112, 114, 115, 125, 135, 138, 150, 160, 162, + 203, 213, 220, 222, 231, 234, 241, 244, 248, 250, 253, 256, 258, 293, 297, + 303, 307, 310, 314, 350, 362, 366 +] + function stripSvg(svg: string) { // removes svg tag if (svg.includes("viewBox")) { diff --git a/tasks/deployUpgrade.ts b/tasks/deployUpgrade.ts index cbc5ca07e..7d2987d2e 100644 --- a/tasks/deployUpgrade.ts +++ b/tasks/deployUpgrade.ts @@ -146,7 +146,7 @@ task( }); signer = await hre.ethers.getSigner(owner); - } else if (hre.network.name === "matic") { + } else if (hre.network.name === "matic" || hre.network.name === "mumbai") { if (useLedger) { signer = new LedgerSigner(hre.ethers.provider); } else signer = (await hre.ethers.getSigners())[0]; diff --git a/test/testNewLendingEvents.ts b/test/testNewLendingEvents.ts new file mode 100644 index 000000000..d4de1f319 --- /dev/null +++ b/test/testNewLendingEvents.ts @@ -0,0 +1,286 @@ +/* global describe it before ethers network */ +/* eslint prefer-const: "off" */ + +//@ts-ignore +import { ethers, network } from "hardhat"; + +import { impersonate } from "../scripts/helperFunctions"; +import { GotchiLendingFacet, LendingGetterAndSetterFacet } from "../typechain"; +import { expect } from "chai"; +import { upgrade } from "../scripts/upgrades/upgrade-kinshipBurning"; + +import { BigNumber, ContractReceipt } from "ethers"; +import { constructPermissionsBitMap } from "../scripts/LendingPermissions"; + +const gCancel = [ + `event GotchiLendingCancelled((uint32 listingId,address lender,uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens,uint256 timeCancelled,uint256 permissions))`, +]; +const gAdd = [ + `event GotchiLendingAdded((uint32 listingId,address lender,uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens,uint256 timeCreated,uint256 permissions))`, +]; +const gExecute = [ + `event GotchiLendingExecuted((uint32 listingId,address lender,address borrower,uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens,uint256 timeAgreed,uint256 permissions))`, +]; + +const gClaim = [ + `event GotchiLendingClaimed((uint32 listingId,address lender,address borrower,uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens,uint256[] amounts,uint256 timeClaimed,uint256 permissions))`, +]; + +const gEnd = [ + `event GotchiLendingEnded((uint32 listingId,address lender,address borrower,uint32 tokenId,uint96 initialCost,uint32 period,uint8[3] revenueSplit,address originalOwner,address thirdParty,uint32 whitelistId,address[] revenueTokens,uint256 timeEnded,uint256 permissions))`, +]; + +const user: string = "0x4083FE56Ed8e2784CD720ec6851a01E7e931076b"; +interface IGotchiLending { + listingId: string; + lender: string; + tokenId: BigNumber; + initialCost: BigNumber; + period: number; + revenueSplit: [BigNumber, BigNumber, BigNumber]; + originalOwner: string; + thirdParty: string; + whitelistId: BigNumber; + revenueTokens: string[]; + timeCancelled?: BigNumber; + timeEnded?: BigNumber; + timeClaimed?: BigNumber; + timeAgreed?: BigNumber; + timeCreated?: BigNumber; + borrower?: string; + permissions: BigNumber; +} + +let gotchiLendingFacet: GotchiLendingFacet; +let getAndSetFacet: LendingGetterAndSetterFacet; +describe("Testing Correct events for lending actions", async function () { + this.timeout(3000000); + const diamondAddress = "0x86935F11C86623deC8a25696E1C19a8659CbF95d"; + + let newListingId: string; + let owner: string; + + let cancellationDetails: { + tokenId: any; + initialCost: any; + period: any; + revenueSplit: any; + originalOwner: any; + thirdParty: any; + whitelistId: any; + revenueTokens: any; + permissions: any; + listingId?: string; + lender?: string; + timeCancelled?: number; + }; + + // this.timeout(300000) + before(async function () { + await upgrade(); + + gotchiLendingFacet = (await ethers.getContractAt( + "GotchiLendingFacet", + diamondAddress + )) as GotchiLendingFacet; + + getAndSetFacet = (await ethers.getContractAt( + "LendingGetterAndSetterFacet", + diamondAddress + )) as LendingGetterAndSetterFacet; + + // aavegotchiFacet = (await ethers.getContractAt( + // "contracts/Aavegotchi/facets/AavegotchiFacet.sol:AavegotchiFacet", + // diamondAddress + // )) as AavegotchiFacet; + }); + + it("Test event for lending cancellation ", async function () { + const listingId = "1734651"; + + const info = await getAndSetFacet.getLendingListingInfo(listingId); + + gotchiLendingFacet = await impersonate( + info.lender, + gotchiLendingFacet, + ethers, + network + ); + + //make sure the listingCancelled event is emitted + + const GotchiLendingCancellation = { + listingId: listingId, + lender: info.lender, + tokenId: info.erc721TokenId, + initialCost: info.initialCost, + period: info.period, + revenueSplit: info.revenueSplit, + originalOwner: info.originalOwner, + thirdParty: info.thirdParty, + whitelistId: info.whitelistId, + revenueTokens: info.revenueTokens, + timeCancelled: getCurrentTimestamp(), + permissions: 0, + }; + + //cache details for later + cancellationDetails = GotchiLendingCancellation; + + const tx = await gotchiLendingFacet.cancelGotchiLending(listingId); + const tx2 = await tx.wait(); + + owner = info.lender; + + modularAssert("cancel", tx2, GotchiLendingCancellation); + }); + + const channellingAllowed = constructPermissionsBitMap({ + noPermissions: 1, + channellingAllowed: 1, + }); + it("Test event for lending creation ", async function () { + //make sure the listingCancelled event is emitted + //create similar listing + const tx = await gotchiLendingFacet.addGotchiLending( + cancellationDetails.tokenId, + cancellationDetails.initialCost, + cancellationDetails.period, + cancellationDetails.revenueSplit, + cancellationDetails.originalOwner, + cancellationDetails.thirdParty, + cancellationDetails.whitelistId, + cancellationDetails.revenueTokens, + channellingAllowed + ); + + const tx2 = await tx.wait(); + + newListingId = await modularAssert("add", tx2, cancellationDetails); + }); + + it("Test event for lending execution ", async function () { + gotchiLendingFacet = await impersonate( + user, + gotchiLendingFacet, + ethers, + network + ); + const tx = await gotchiLendingFacet.agreeGotchiLending( + newListingId, + cancellationDetails.tokenId, + cancellationDetails.initialCost, + cancellationDetails.period, + cancellationDetails.revenueSplit + ); + const tx2 = await tx.wait(); + + cancellationDetails.listingId = newListingId; + newListingId = await modularAssert("execute", tx2, cancellationDetails); + }); + + it("Test event for lending claim ", async function () { + const tx = await gotchiLendingFacet.claimGotchiLending( + cancellationDetails.tokenId + ); + const tx2 = await tx.wait(); + + modularAssert("claim", tx2, cancellationDetails); + }); + + it("Test event for lending end", async function () { + //warp time by 2 days + await network.provider.send("evm_increaseTime", [172800]); + await network.provider.send("evm_mine"); + + const tx = await gotchiLendingFacet.claimAndEndGotchiLending( + cancellationDetails.tokenId + ); + const tx2 = await tx.wait(); + + modularAssert("end", tx2, cancellationDetails); + }); +}); + +async function modularAssert( + action: "add" | "execute" | "cancel" | "claim" | "end", + dataIn: ContractReceipt, + info: any +) { + //get the last event + + const data = dataIn.events![dataIn.events!.length - 1]; + + const ev = { + topics: data.topics, + data: data.data, + }; + let pItems: IGotchiLending[] = []; + if (action === "add") { + pItems = parse(ev, gAdd) as IGotchiLending[]; + expect(pItems[0].timeCreated).within( + info.timeCancelled - 100, + info.timeCancelled + 100 + ); + } + if (action === "execute") { + pItems = parse(ev, gExecute) as IGotchiLending[]; + expect(pItems[0].timeAgreed).within( + info.timeCancelled - 100, + info.timeCancelled + 100 + ); + } + if (action === "cancel") { + pItems = parse(ev, gCancel) as IGotchiLending[]; + expect(pItems[0].timeCancelled).within( + info.timeCancelled - 100, + info.timeCancelled + 100 + ); + } + if (action === "claim") { + pItems = parse(ev, gClaim) as IGotchiLending[]; + expect(pItems[0].timeClaimed).within( + info.timeCancelled - 100, + info.timeCancelled + 100 + ); + } + if (action === "end") { + pItems = parse(ev, gEnd) as IGotchiLending[]; + } + + if (action !== "add") { + expect(pItems[0].listingId.toString()).to.eql(info.listingId.toString()); + } + + expect(pItems[0].lender).to.equal(info.lender); + expect(pItems[0].tokenId).to.equal(info.tokenId); + expect(pItems[0].initialCost).to.equal(info.initialCost); + expect(pItems[0].period).to.equal(info.period); + expect(pItems[0].revenueSplit.length).to.equal(info.revenueSplit.length); + expect(pItems[0].originalOwner).to.equal(info.originalOwner); + expect(pItems[0].thirdParty).to.equal(info.thirdParty); + expect(pItems[0].whitelistId).to.equal(info.whitelistId); + expect(pItems[0].revenueTokens.length).to.equal(info.revenueTokens.length); + + const currentChannelingStatus = + await getAndSetFacet.getLendingPermissionBitmap(pItems[0].listingId); + expect(pItems[0].permissions).to.equal(currentChannelingStatus); + + return pItems[0].listingId; +} + +//get current timestamp in seconds +function getCurrentTimestamp(): number { + return Math.floor(Date.now() / 1000); +} + +interface LogEvent { + topics: string[]; + data: string; +} + +function parse(e: LogEvent, abi: string[]) { + let iface = new ethers.utils.Interface(abi); + + return iface.parseLog(e).args; +}