{
  "version": "1.0.0",
  "lastUpdated": "2026-09-19",
  "note": "ABI-only files extracted from PolyCards production build artifacts. They do not include bytecode, deployedBytecode, compiler metadata, private keys, or deployment secrets.",
  "contracts": {
    "PolyCards": {
      "role": "Premium NFT",
      "abiUrl": "https://www.polycards.net/.well-known/abi/PolyCards.json",
      "functions": [
        {
          "name": "approve",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "balanceOf",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "gameContract",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "getApproved",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "isApprovedForAll",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            },
            {
              "name": "operator",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "metadataFrozen",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "name",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "owner",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "ownerOf",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "paused",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "renounceOwnership",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "safeTransferFrom",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "safeTransferFrom",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "name": "_data",
              "type": "bytes"
            }
          ],
          "outputs": []
        },
        {
          "name": "setApprovalForAll",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "operator",
              "type": "address"
            },
            {
              "name": "approved",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "supportsInterface",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "interfaceId",
              "type": "bytes4"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "symbol",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "tokenRank",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "tokenSuit",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "totalSupply",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "transferFrom",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "transferOwnership",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newOwner",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "setGameContract",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "_game",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "setPaused",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "_paused",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "setCardTokenURI",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "rank",
              "type": "uint8"
            },
            {
              "name": "uri",
              "type": "string"
            }
          ],
          "outputs": []
        },
        {
          "name": "setCardTokenURIs",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "uris",
              "type": "string[20]"
            }
          ],
          "outputs": []
        },
        {
          "name": "freezeMetadata",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "getCardTokenURI",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "rank",
              "type": "uint8"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "mintWithCard",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "rank",
              "type": "uint8"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getTokenSuit",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getTokenRank",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "tokenURI",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        }
      ],
      "events": [
        {
          "name": "Approval",
          "anonymous": false,
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "approved",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ]
        },
        {
          "name": "ApprovalForAll",
          "anonymous": false,
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "operator",
              "type": "address",
              "indexed": true
            },
            {
              "name": "approved",
              "type": "bool",
              "indexed": false
            }
          ]
        },
        {
          "name": "CardTokenURISet",
          "anonymous": false,
          "inputs": [
            {
              "name": "suit",
              "type": "uint8",
              "indexed": true
            },
            {
              "name": "rank",
              "type": "uint8",
              "indexed": true
            },
            {
              "name": "uri",
              "type": "string",
              "indexed": false
            }
          ]
        },
        {
          "name": "CardTokenURIsSet",
          "anonymous": false,
          "inputs": []
        },
        {
          "name": "ConsecutiveTransfer",
          "anonymous": false,
          "inputs": [
            {
              "name": "fromTokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "toTokenId",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "MetadataFrozen",
          "anonymous": false,
          "inputs": []
        },
        {
          "name": "OwnershipTransferred",
          "anonymous": false,
          "inputs": [
            {
              "name": "previousOwner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "newOwner",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "Transfer",
          "anonymous": false,
          "inputs": [
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ]
        }
      ]
    },
    "PolyCardsRoyal": {
      "role": "Premium Game",
      "abiUrl": "https://www.polycards.net/.well-known/abi/PolyCardsRoyal.json",
      "functions": [
        {
          "name": "CREATOR",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "LEVEL_REWARDS",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "MINT_PRICE",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "NFT",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "USDC",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "allowedUpdaters",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "codeToAddress",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "migrationRoyalRewardsReleased",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "owner",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "renounceOwnership",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "totalPendingRewards",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "totalUsers",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "transferOwnership",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newOwner",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "userTokenIds",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "address"
            },
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "users",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "referralCode",
              "type": "string"
            },
            {
              "name": "nickname",
              "type": "string"
            },
            {
              "name": "referrer",
              "type": "address"
            },
            {
              "name": "directReferrals",
              "type": "uint8"
            },
            {
              "name": "pendingLevel1",
              "type": "uint256"
            },
            {
              "name": "pendingLevel2Plus",
              "type": "uint256"
            },
            {
              "name": "totalRewards",
              "type": "uint256"
            },
            {
              "name": "cardsCollected",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "mint",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "referralCode",
              "type": "string"
            }
          ],
          "outputs": []
        },
        {
          "name": "updateRoyalFlushProgress",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "claimLevel1",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "claimRoyalRewards",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "setMigrationRoyalRewardsReleased",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "released",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "setNickname",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "nickname",
              "type": "string"
            }
          ],
          "outputs": []
        },
        {
          "name": "addTokenIdToUser",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "removeTokenIdFromUser",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "setAllowedUpdater",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "updater",
              "type": "address"
            },
            {
              "name": "allowed",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "getReferralCode",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "getPendingLevel1",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getPendingLevel2Plus",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getDirectReferrals",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getCardsCollected",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getSuit",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getHasCard",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool[5]"
            }
          ]
        },
        {
          "name": "getIsRoyal",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256[5]"
            }
          ]
        },
        {
          "name": "getNickname",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "getUserTokenIds",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256[]"
            }
          ]
        },
        {
          "name": "getUserTokenCount",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "hasUserTokenId",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "getUserTokenIdsPaginated",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "offset",
              "type": "uint256"
            },
            {
              "name": "limit",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "tokenIds",
              "type": "uint256[]"
            },
            {
              "name": "total",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getUserDashboardData",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "data",
              "type": "tuple"
            }
          ]
        },
        {
          "name": "getReferralTree",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "tree",
              "type": "address[8]"
            }
          ]
        },
        {
          "name": "creatorStats",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "totalReceived",
              "type": "uint256"
            },
            {
              "name": "contractBalance",
              "type": "uint256"
            },
            {
              "name": "totalUsersCount",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "creatorReceived",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "creatorWithdrawable",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "creatorWithdraw",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        }
      ],
      "events": [
        {
          "name": "MigrationRoyalRewardsReleaseUpdated",
          "anonymous": false,
          "inputs": [
            {
              "name": "released",
              "type": "bool",
              "indexed": false
            }
          ]
        },
        {
          "name": "Minted",
          "anonymous": false,
          "inputs": [
            {
              "name": "user",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "code",
              "type": "string",
              "indexed": false
            },
            {
              "name": "suit",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "rank",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "referrer",
              "type": "address",
              "indexed": false
            },
            {
              "name": "giftTokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "giftRank",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "secondGiftTokenId",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "secondGiftSuit",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "secondGiftRank",
              "type": "uint8",
              "indexed": false
            }
          ]
        },
        {
          "name": "OwnershipTransferred",
          "anonymous": false,
          "inputs": [
            {
              "name": "previousOwner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "newOwner",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "Referred",
          "anonymous": false,
          "inputs": [
            {
              "name": "referrer",
              "type": "address",
              "indexed": true
            },
            {
              "name": "referee",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "RewardClaimed",
          "anonymous": false,
          "inputs": [
            {
              "name": "user",
              "type": "address",
              "indexed": true
            },
            {
              "name": "type_",
              "type": "string",
              "indexed": false
            },
            {
              "name": "amount",
              "type": "uint256",
              "indexed": false
            }
          ]
        },
        {
          "name": "TokenIdsUpdated",
          "anonymous": false,
          "inputs": [
            {
              "name": "user",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "added",
              "type": "bool",
              "indexed": false
            }
          ]
        }
      ]
    },
    "PolyCardsMarketplace": {
      "role": "Premium Marketplace",
      "abiUrl": "https://www.polycards.net/.well-known/abi/PolyCardsMarketplace.json",
      "functions": [
        {
          "name": "LISTING_TYPEHASH",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "name": "MIN_LISTING_PRICE",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "USDC",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "activeListingByToken",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "name": "cancelledListings",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "creator",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "gameContract",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "owner",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "polyCards",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "polyCardsNFT",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "renounceOwnership",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "royaltyPercent",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "transferOwnership",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newOwner",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "usedListings",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "createListing",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": []
        },
        {
          "name": "buyCard",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": []
        },
        {
          "name": "cancelListing",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": []
        },
        {
          "name": "isListingValid",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "getListingHash",
          "stateMutability": "pure",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "name": "setRoyaltyPercent",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newPercent",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "setCreator",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newCreator",
              "type": "address"
            }
          ],
          "outputs": []
        }
      ],
      "events": [
        {
          "name": "CardListed",
          "anonymous": false,
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "price",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": false
            }
          ]
        },
        {
          "name": "CardSold",
          "anonymous": false,
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "price",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "buyer",
              "type": "address",
              "indexed": false
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": false
            },
            {
              "name": "royalty",
              "type": "uint256",
              "indexed": false
            }
          ]
        },
        {
          "name": "ListingCancelled",
          "anonymous": false,
          "inputs": [
            {
              "name": "listingHash",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ]
        },
        {
          "name": "ListingCreated",
          "anonymous": false,
          "inputs": [
            {
              "name": "listingHash",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "price",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "expiry",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "nonce",
              "type": "uint256",
              "indexed": false
            }
          ]
        },
        {
          "name": "OwnershipTransferred",
          "anonymous": false,
          "inputs": [
            {
              "name": "previousOwner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "newOwner",
              "type": "address",
              "indexed": true
            }
          ]
        }
      ]
    },
    "PolyCardsVip": {
      "role": "VIP NFT",
      "abiUrl": "https://www.polycards.net/.well-known/abi/PolyCardsVip.json",
      "functions": [
        {
          "name": "approve",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "balanceOf",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "gameContract",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "getApproved",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "isApprovedForAll",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "owner",
              "type": "address"
            },
            {
              "name": "operator",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "metadataFrozen",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "name",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "owner",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "ownerOf",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "paused",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "renounceOwnership",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "safeTransferFrom",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "safeTransferFrom",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "name": "_data",
              "type": "bytes"
            }
          ],
          "outputs": []
        },
        {
          "name": "setApprovalForAll",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "operator",
              "type": "address"
            },
            {
              "name": "approved",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "supportsInterface",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "interfaceId",
              "type": "bytes4"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "symbol",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "tokenRank",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "tokenSuit",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "totalSupply",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "transferFrom",
          "stateMutability": "payable",
          "inputs": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "transferOwnership",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newOwner",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "setGameContract",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "_game",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "setPaused",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "_paused",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "setCardTokenURI",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "rank",
              "type": "uint8"
            },
            {
              "name": "uri",
              "type": "string"
            }
          ],
          "outputs": []
        },
        {
          "name": "setCardTokenURIs",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "uris",
              "type": "string[20]"
            }
          ],
          "outputs": []
        },
        {
          "name": "freezeMetadata",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "getCardTokenURI",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "rank",
              "type": "uint8"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "mintWithCard",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "rank",
              "type": "uint8"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getTokenSuit",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getTokenRank",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "tokenURI",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        }
      ],
      "events": [
        {
          "name": "Approval",
          "anonymous": false,
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "approved",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ]
        },
        {
          "name": "ApprovalForAll",
          "anonymous": false,
          "inputs": [
            {
              "name": "owner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "operator",
              "type": "address",
              "indexed": true
            },
            {
              "name": "approved",
              "type": "bool",
              "indexed": false
            }
          ]
        },
        {
          "name": "CardTokenURISet",
          "anonymous": false,
          "inputs": [
            {
              "name": "suit",
              "type": "uint8",
              "indexed": true
            },
            {
              "name": "rank",
              "type": "uint8",
              "indexed": true
            },
            {
              "name": "uri",
              "type": "string",
              "indexed": false
            }
          ]
        },
        {
          "name": "CardTokenURIsSet",
          "anonymous": false,
          "inputs": []
        },
        {
          "name": "ConsecutiveTransfer",
          "anonymous": false,
          "inputs": [
            {
              "name": "fromTokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "toTokenId",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "MetadataFrozen",
          "anonymous": false,
          "inputs": []
        },
        {
          "name": "OwnershipTransferred",
          "anonymous": false,
          "inputs": [
            {
              "name": "previousOwner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "newOwner",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "Transfer",
          "anonymous": false,
          "inputs": [
            {
              "name": "from",
              "type": "address",
              "indexed": true
            },
            {
              "name": "to",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ]
        }
      ]
    },
    "PolyCardsRoyalVip": {
      "role": "VIP Game",
      "abiUrl": "https://www.polycards.net/.well-known/abi/PolyCardsRoyalVip.json",
      "functions": [
        {
          "name": "CREATOR",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "LEVEL_REWARDS",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "MINT_PRICE",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "NFT",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "USDC",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "allowedUpdaters",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "codeToAddress",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "string"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "migrationRoyalRewardsReleased",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "owner",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "renounceOwnership",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "totalPendingRewards",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "totalUsers",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "transferOwnership",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newOwner",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "userTokenIds",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "address"
            },
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "users",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "suit",
              "type": "uint8"
            },
            {
              "name": "referralCode",
              "type": "string"
            },
            {
              "name": "nickname",
              "type": "string"
            },
            {
              "name": "referrer",
              "type": "address"
            },
            {
              "name": "directReferrals",
              "type": "uint8"
            },
            {
              "name": "pendingLevel1",
              "type": "uint256"
            },
            {
              "name": "pendingLevel2Plus",
              "type": "uint256"
            },
            {
              "name": "totalRewards",
              "type": "uint256"
            },
            {
              "name": "cardsCollected",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "mint",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "referralCode",
              "type": "string"
            }
          ],
          "outputs": []
        },
        {
          "name": "updateRoyalFlushProgress",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "claimLevel1",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "claimRoyalRewards",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "setMigrationRoyalRewardsReleased",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "released",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "setNickname",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "nickname",
              "type": "string"
            }
          ],
          "outputs": []
        },
        {
          "name": "addTokenIdToUser",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "removeTokenIdFromUser",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "setAllowedUpdater",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "updater",
              "type": "address"
            },
            {
              "name": "allowed",
              "type": "bool"
            }
          ],
          "outputs": []
        },
        {
          "name": "getReferralCode",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "getPendingLevel1",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getPendingLevel2Plus",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getDirectReferrals",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getCardsCollected",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getSuit",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint8"
            }
          ]
        },
        {
          "name": "getHasCard",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool[5]"
            }
          ]
        },
        {
          "name": "getIsRoyal",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256[5]"
            }
          ]
        },
        {
          "name": "getNickname",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "name": "getUserTokenIds",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256[]"
            }
          ]
        },
        {
          "name": "getUserTokenCount",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "hasUserTokenId",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "tokenId",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "getUserTokenIdsPaginated",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            },
            {
              "name": "offset",
              "type": "uint256"
            },
            {
              "name": "limit",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "tokenIds",
              "type": "uint256[]"
            },
            {
              "name": "total",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "getUserDashboardData",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "data",
              "type": "tuple"
            }
          ]
        },
        {
          "name": "getReferralTree",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "user",
              "type": "address"
            }
          ],
          "outputs": [
            {
              "name": "tree",
              "type": "address[8]"
            }
          ]
        },
        {
          "name": "creatorStats",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "totalReceived",
              "type": "uint256"
            },
            {
              "name": "contractBalance",
              "type": "uint256"
            },
            {
              "name": "totalUsersCount",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "creatorReceived",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "creatorWithdrawable",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "creatorWithdraw",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        }
      ],
      "events": [
        {
          "name": "MigrationRoyalRewardsReleaseUpdated",
          "anonymous": false,
          "inputs": [
            {
              "name": "released",
              "type": "bool",
              "indexed": false
            }
          ]
        },
        {
          "name": "Minted",
          "anonymous": false,
          "inputs": [
            {
              "name": "user",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "code",
              "type": "string",
              "indexed": false
            },
            {
              "name": "suit",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "rank",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "referrer",
              "type": "address",
              "indexed": false
            },
            {
              "name": "giftTokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "giftRank",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "secondGiftTokenId",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "secondGiftSuit",
              "type": "uint8",
              "indexed": false
            },
            {
              "name": "secondGiftRank",
              "type": "uint8",
              "indexed": false
            }
          ]
        },
        {
          "name": "OwnershipTransferred",
          "anonymous": false,
          "inputs": [
            {
              "name": "previousOwner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "newOwner",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "Referred",
          "anonymous": false,
          "inputs": [
            {
              "name": "referrer",
              "type": "address",
              "indexed": true
            },
            {
              "name": "referee",
              "type": "address",
              "indexed": true
            }
          ]
        },
        {
          "name": "RewardClaimed",
          "anonymous": false,
          "inputs": [
            {
              "name": "user",
              "type": "address",
              "indexed": true
            },
            {
              "name": "type_",
              "type": "string",
              "indexed": false
            },
            {
              "name": "amount",
              "type": "uint256",
              "indexed": false
            }
          ]
        },
        {
          "name": "TokenIdsUpdated",
          "anonymous": false,
          "inputs": [
            {
              "name": "user",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "added",
              "type": "bool",
              "indexed": false
            }
          ]
        }
      ]
    },
    "PolyCardsMarketplaceVip": {
      "role": "VIP Marketplace",
      "abiUrl": "https://www.polycards.net/.well-known/abi/PolyCardsMarketplaceVip.json",
      "functions": [
        {
          "name": "LISTING_TYPEHASH",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "name": "MIN_LISTING_PRICE",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "USDC",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "activeListingByToken",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "name": "cancelledListings",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "creator",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "gameContract",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "owner",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "polyCards",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "polyCardsNFT",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "name": "renounceOwnership",
          "stateMutability": "nonpayable",
          "inputs": [],
          "outputs": []
        },
        {
          "name": "royaltyPercent",
          "stateMutability": "view",
          "inputs": [],
          "outputs": [
            {
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "name": "transferOwnership",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newOwner",
              "type": "address"
            }
          ],
          "outputs": []
        },
        {
          "name": "usedListings",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "createListing",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": []
        },
        {
          "name": "buyCard",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": []
        },
        {
          "name": "cancelListing",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": []
        },
        {
          "name": "isListingValid",
          "stateMutability": "view",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "name": "getListingHash",
          "stateMutability": "pure",
          "inputs": [
            {
              "name": "listing",
              "type": "tuple"
            }
          ],
          "outputs": [
            {
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "name": "setRoyaltyPercent",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newPercent",
              "type": "uint256"
            }
          ],
          "outputs": []
        },
        {
          "name": "setCreator",
          "stateMutability": "nonpayable",
          "inputs": [
            {
              "name": "newCreator",
              "type": "address"
            }
          ],
          "outputs": []
        }
      ],
      "events": [
        {
          "name": "CardListed",
          "anonymous": false,
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "price",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": false
            }
          ]
        },
        {
          "name": "CardSold",
          "anonymous": false,
          "inputs": [
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "price",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "buyer",
              "type": "address",
              "indexed": false
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": false
            },
            {
              "name": "royalty",
              "type": "uint256",
              "indexed": false
            }
          ]
        },
        {
          "name": "ListingCancelled",
          "anonymous": false,
          "inputs": [
            {
              "name": "listingHash",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            }
          ]
        },
        {
          "name": "ListingCreated",
          "anonymous": false,
          "inputs": [
            {
              "name": "listingHash",
              "type": "bytes32",
              "indexed": true
            },
            {
              "name": "seller",
              "type": "address",
              "indexed": true
            },
            {
              "name": "tokenId",
              "type": "uint256",
              "indexed": true
            },
            {
              "name": "price",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "expiry",
              "type": "uint256",
              "indexed": false
            },
            {
              "name": "nonce",
              "type": "uint256",
              "indexed": false
            }
          ]
        },
        {
          "name": "OwnershipTransferred",
          "anonymous": false,
          "inputs": [
            {
              "name": "previousOwner",
              "type": "address",
              "indexed": true
            },
            {
              "name": "newOwner",
              "type": "address",
              "indexed": true
            }
          ]
        }
      ]
    }
  }
}
