git.delta.rocks / unique-network / refs/commits / ffc36af85d75

difftreelog

source

tests/src/eth/abi/nonFungible.json25.4 KiBsourcehistory
1[2  {3    "anonymous": false,4    "inputs": [5      {6        "indexed": true,7        "internalType": "address",8        "name": "owner",9        "type": "address"10      },11      {12        "indexed": true,13        "internalType": "address",14        "name": "approved",15        "type": "address"16      },17      {18        "indexed": true,19        "internalType": "uint256",20        "name": "tokenId",21        "type": "uint256"22      }23    ],24    "name": "Approval",25    "type": "event"26  },27  {28    "anonymous": false,29    "inputs": [30      {31        "indexed": true,32        "internalType": "address",33        "name": "owner",34        "type": "address"35      },36      {37        "indexed": true,38        "internalType": "address",39        "name": "operator",40        "type": "address"41      },42      {43        "indexed": false,44        "internalType": "bool",45        "name": "approved",46        "type": "bool"47      }48    ],49    "name": "ApprovalForAll",50    "type": "event"51  },52  {53    "anonymous": false,54    "inputs": [55      {56        "indexed": true,57        "internalType": "uint256",58        "name": "tokenId",59        "type": "uint256"60      }61    ],62    "name": "TokenChanged",63    "type": "event"64  },65  {66    "anonymous": false,67    "inputs": [68      {69        "indexed": true,70        "internalType": "address",71        "name": "from",72        "type": "address"73      },74      {75        "indexed": true,76        "internalType": "address",77        "name": "to",78        "type": "address"79      },80      {81        "indexed": true,82        "internalType": "uint256",83        "name": "tokenId",84        "type": "uint256"85      }86    ],87    "name": "Transfer",88    "type": "event"89  },90  {91    "inputs": [92      {93        "components": [94          { "internalType": "address", "name": "eth", "type": "address" },95          { "internalType": "uint256", "name": "sub", "type": "uint256" }96        ],97        "internalType": "struct CrossAddress",98        "name": "newAdmin",99        "type": "tuple"100      }101    ],102    "name": "addCollectionAdminCross",103    "outputs": [],104    "stateMutability": "nonpayable",105    "type": "function"106  },107  {108    "inputs": [109      {110        "components": [111          { "internalType": "address", "name": "eth", "type": "address" },112          { "internalType": "uint256", "name": "sub", "type": "uint256" }113        ],114        "internalType": "struct CrossAddress",115        "name": "user",116        "type": "tuple"117      }118    ],119    "name": "addToCollectionAllowListCross",120    "outputs": [],121    "stateMutability": "nonpayable",122    "type": "function"123  },124  {125    "inputs": [126      {127        "components": [128          { "internalType": "address", "name": "eth", "type": "address" },129          { "internalType": "uint256", "name": "sub", "type": "uint256" }130        ],131        "internalType": "struct CrossAddress",132        "name": "user",133        "type": "tuple"134      }135    ],136    "name": "allowlistedCross",137    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],138    "stateMutability": "view",139    "type": "function"140  },141  {142    "inputs": [143      { "internalType": "address", "name": "approved", "type": "address" },144      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }145    ],146    "name": "approve",147    "outputs": [],148    "stateMutability": "nonpayable",149    "type": "function"150  },151  {152    "inputs": [153      {154        "components": [155          { "internalType": "address", "name": "eth", "type": "address" },156          { "internalType": "uint256", "name": "sub", "type": "uint256" }157        ],158        "internalType": "struct CrossAddress",159        "name": "approved",160        "type": "tuple"161      },162      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }163    ],164    "name": "approveCross",165    "outputs": [],166    "stateMutability": "nonpayable",167    "type": "function"168  },169  {170    "inputs": [171      { "internalType": "address", "name": "owner", "type": "address" }172    ],173    "name": "balanceOf",174    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],175    "stateMutability": "view",176    "type": "function"177  },178  {179    "inputs": [180      {181        "components": [182          { "internalType": "address", "name": "eth", "type": "address" },183          { "internalType": "uint256", "name": "sub", "type": "uint256" }184        ],185        "internalType": "struct CrossAddress",186        "name": "owner",187        "type": "tuple"188      }189    ],190    "name": "balanceOfCross",191    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],192    "stateMutability": "view",193    "type": "function"194  },195  {196    "inputs": [197      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }198    ],199    "name": "burn",200    "outputs": [],201    "stateMutability": "nonpayable",202    "type": "function"203  },204  {205    "inputs": [206      {207        "components": [208          { "internalType": "address", "name": "eth", "type": "address" },209          { "internalType": "uint256", "name": "sub", "type": "uint256" }210        ],211        "internalType": "struct CrossAddress",212        "name": "from",213        "type": "tuple"214      },215      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }216    ],217    "name": "burnFromCross",218    "outputs": [],219    "stateMutability": "nonpayable",220    "type": "function"221  },222  {223    "inputs": [224      {225        "components": [226          { "internalType": "address", "name": "eth", "type": "address" },227          { "internalType": "uint256", "name": "sub", "type": "uint256" }228        ],229        "internalType": "struct CrossAddress",230        "name": "newOwner",231        "type": "tuple"232      }233    ],234    "name": "changeCollectionOwnerCross",235    "outputs": [],236    "stateMutability": "nonpayable",237    "type": "function"238  },239  {240    "inputs": [],241    "name": "collectionAdmins",242    "outputs": [243      {244        "components": [245          { "internalType": "address", "name": "eth", "type": "address" },246          { "internalType": "uint256", "name": "sub", "type": "uint256" }247        ],248        "internalType": "struct CrossAddress[]",249        "name": "",250        "type": "tuple[]"251      }252    ],253    "stateMutability": "view",254    "type": "function"255  },256  {257    "inputs": [],258    "name": "collectionHelperAddress",259    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],260    "stateMutability": "view",261    "type": "function"262  },263  {264    "inputs": [],265    "name": "collectionLimits",266    "outputs": [267      {268        "components": [269          {270            "internalType": "enum CollectionLimitField",271            "name": "field",272            "type": "uint8"273          },274          {275            "components": [276              { "internalType": "bool", "name": "status", "type": "bool" },277              { "internalType": "uint256", "name": "value", "type": "uint256" }278            ],279            "internalType": "struct OptionUint256",280            "name": "value",281            "type": "tuple"282          }283        ],284        "internalType": "struct CollectionLimit[]",285        "name": "",286        "type": "tuple[]"287      }288    ],289    "stateMutability": "view",290    "type": "function"291  },292  {293    "inputs": [],294    "name": "collectionNestingPermissions",295    "outputs": [296      {297        "components": [298          {299            "internalType": "enum CollectionPermissionField",300            "name": "field",301            "type": "uint8"302          },303          { "internalType": "bool", "name": "value", "type": "bool" }304        ],305        "internalType": "struct CollectionNestingPermission[]",306        "name": "",307        "type": "tuple[]"308      }309    ],310    "stateMutability": "view",311    "type": "function"312  },313  {314    "inputs": [],315    "name": "collectionNestingRestrictedCollectionIds",316    "outputs": [317      {318        "components": [319          { "internalType": "bool", "name": "token_owner", "type": "bool" },320          { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }321        ],322        "internalType": "struct CollectionNesting",323        "name": "",324        "type": "tuple"325      }326    ],327    "stateMutability": "view",328    "type": "function"329  },330  {331    "inputs": [],332    "name": "collectionOwner",333    "outputs": [334      {335        "components": [336          { "internalType": "address", "name": "eth", "type": "address" },337          { "internalType": "uint256", "name": "sub", "type": "uint256" }338        ],339        "internalType": "struct CrossAddress",340        "name": "",341        "type": "tuple"342      }343    ],344    "stateMutability": "view",345    "type": "function"346  },347  {348    "inputs": [349      { "internalType": "string[]", "name": "keys", "type": "string[]" }350    ],351    "name": "collectionProperties",352    "outputs": [353      {354        "components": [355          { "internalType": "string", "name": "key", "type": "string" },356          { "internalType": "bytes", "name": "value", "type": "bytes" }357        ],358        "internalType": "struct Property[]",359        "name": "",360        "type": "tuple[]"361      }362    ],363    "stateMutability": "view",364    "type": "function"365  },366  {367    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],368    "name": "collectionProperty",369    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],370    "stateMutability": "view",371    "type": "function"372  },373  {374    "inputs": [],375    "name": "collectionSponsor",376    "outputs": [377      {378        "components": [379          { "internalType": "address", "name": "eth", "type": "address" },380          { "internalType": "uint256", "name": "sub", "type": "uint256" }381        ],382        "internalType": "struct CrossAddress",383        "name": "",384        "type": "tuple"385      }386    ],387    "stateMutability": "view",388    "type": "function"389  },390  {391    "inputs": [],392    "name": "confirmCollectionSponsorship",393    "outputs": [],394    "stateMutability": "nonpayable",395    "type": "function"396  },397  {398    "inputs": [],399    "name": "contractAddress",400    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],401    "stateMutability": "view",402    "type": "function"403  },404  {405    "inputs": [406      { "internalType": "string[]", "name": "keys", "type": "string[]" }407    ],408    "name": "deleteCollectionProperties",409    "outputs": [],410    "stateMutability": "nonpayable",411    "type": "function"412  },413  {414    "inputs": [415      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },416      { "internalType": "string[]", "name": "keys", "type": "string[]" }417    ],418    "name": "deleteProperties",419    "outputs": [],420    "stateMutability": "nonpayable",421    "type": "function"422  },423  {424    "inputs": [],425    "name": "description",426    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],427    "stateMutability": "view",428    "type": "function"429  },430  {431    "inputs": [432      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }433    ],434    "name": "getApproved",435    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],436    "stateMutability": "view",437    "type": "function"438  },439  {440    "inputs": [],441    "name": "hasCollectionPendingSponsor",442    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],443    "stateMutability": "view",444    "type": "function"445  },446  {447    "inputs": [448      { "internalType": "address", "name": "owner", "type": "address" },449      { "internalType": "address", "name": "operator", "type": "address" }450    ],451    "name": "isApprovedForAll",452    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],453    "stateMutability": "view",454    "type": "function"455  },456  {457    "inputs": [458      {459        "components": [460          { "internalType": "address", "name": "eth", "type": "address" },461          { "internalType": "uint256", "name": "sub", "type": "uint256" }462        ],463        "internalType": "struct CrossAddress",464        "name": "user",465        "type": "tuple"466      }467    ],468    "name": "isOwnerOrAdminCross",469    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],470    "stateMutability": "view",471    "type": "function"472  },473  {474    "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],475    "name": "mint",476    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],477    "stateMutability": "nonpayable",478    "type": "function"479  },480  {481    "inputs": [482      {483        "components": [484          { "internalType": "address", "name": "eth", "type": "address" },485          { "internalType": "uint256", "name": "sub", "type": "uint256" }486        ],487        "internalType": "struct CrossAddress",488        "name": "to",489        "type": "tuple"490      },491      {492        "components": [493          { "internalType": "string", "name": "key", "type": "string" },494          { "internalType": "bytes", "name": "value", "type": "bytes" }495        ],496        "internalType": "struct Property[]",497        "name": "properties",498        "type": "tuple[]"499      }500    ],501    "name": "mintCross",502    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],503    "stateMutability": "nonpayable",504    "type": "function"505  },506  {507    "inputs": [508      { "internalType": "address", "name": "to", "type": "address" },509      { "internalType": "string", "name": "tokenUri", "type": "string" }510    ],511    "name": "mintWithTokenURI",512    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],513    "stateMutability": "nonpayable",514    "type": "function"515  },516  {517    "inputs": [],518    "name": "name",519    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],520    "stateMutability": "view",521    "type": "function"522  },523  {524    "inputs": [],525    "name": "nextTokenId",526    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],527    "stateMutability": "view",528    "type": "function"529  },530  {531    "inputs": [532      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }533    ],534    "name": "ownerOf",535    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],536    "stateMutability": "view",537    "type": "function"538  },539  {540    "inputs": [541      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }542    ],543    "name": "ownerOfCross",544    "outputs": [545      {546        "components": [547          { "internalType": "address", "name": "eth", "type": "address" },548          { "internalType": "uint256", "name": "sub", "type": "uint256" }549        ],550        "internalType": "struct CrossAddress",551        "name": "",552        "type": "tuple"553      }554    ],555    "stateMutability": "view",556    "type": "function"557  },558  {559    "inputs": [560      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },561      { "internalType": "string[]", "name": "keys", "type": "string[]" }562    ],563    "name": "properties",564    "outputs": [565      {566        "components": [567          { "internalType": "string", "name": "key", "type": "string" },568          { "internalType": "bytes", "name": "value", "type": "bytes" }569        ],570        "internalType": "struct Property[]",571        "name": "",572        "type": "tuple[]"573      }574    ],575    "stateMutability": "view",576    "type": "function"577  },578  {579    "inputs": [580      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },581      { "internalType": "string", "name": "key", "type": "string" }582    ],583    "name": "property",584    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],585    "stateMutability": "view",586    "type": "function"587  },588  {589    "inputs": [590      {591        "components": [592          { "internalType": "address", "name": "eth", "type": "address" },593          { "internalType": "uint256", "name": "sub", "type": "uint256" }594        ],595        "internalType": "struct CrossAddress",596        "name": "admin",597        "type": "tuple"598      }599    ],600    "name": "removeCollectionAdminCross",601    "outputs": [],602    "stateMutability": "nonpayable",603    "type": "function"604  },605  {606    "inputs": [],607    "name": "removeCollectionSponsor",608    "outputs": [],609    "stateMutability": "nonpayable",610    "type": "function"611  },612  {613    "inputs": [614      {615        "components": [616          { "internalType": "address", "name": "eth", "type": "address" },617          { "internalType": "uint256", "name": "sub", "type": "uint256" }618        ],619        "internalType": "struct CrossAddress",620        "name": "user",621        "type": "tuple"622      }623    ],624    "name": "removeFromCollectionAllowListCross",625    "outputs": [],626    "stateMutability": "nonpayable",627    "type": "function"628  },629  {630    "inputs": [631      { "internalType": "address", "name": "from", "type": "address" },632      { "internalType": "address", "name": "to", "type": "address" },633      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }634    ],635    "name": "safeTransferFrom",636    "outputs": [],637    "stateMutability": "nonpayable",638    "type": "function"639  },640  {641    "inputs": [642      { "internalType": "address", "name": "from", "type": "address" },643      { "internalType": "address", "name": "to", "type": "address" },644      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },645      { "internalType": "bytes", "name": "data", "type": "bytes" }646    ],647    "name": "safeTransferFrom",648    "outputs": [],649    "stateMutability": "nonpayable",650    "type": "function"651  },652  {653    "inputs": [654      { "internalType": "address", "name": "operator", "type": "address" },655      { "internalType": "bool", "name": "approved", "type": "bool" }656    ],657    "name": "setApprovalForAll",658    "outputs": [],659    "stateMutability": "nonpayable",660    "type": "function"661  },662  {663    "inputs": [664      { "internalType": "enum AccessMode", "name": "mode", "type": "uint8" }665    ],666    "name": "setCollectionAccess",667    "outputs": [],668    "stateMutability": "nonpayable",669    "type": "function"670  },671  {672    "inputs": [673      {674        "components": [675          {676            "internalType": "enum CollectionLimitField",677            "name": "field",678            "type": "uint8"679          },680          {681            "components": [682              { "internalType": "bool", "name": "status", "type": "bool" },683              { "internalType": "uint256", "name": "value", "type": "uint256" }684            ],685            "internalType": "struct OptionUint256",686            "name": "value",687            "type": "tuple"688          }689        ],690        "internalType": "struct CollectionLimit",691        "name": "limit",692        "type": "tuple"693      }694    ],695    "name": "setCollectionLimit",696    "outputs": [],697    "stateMutability": "nonpayable",698    "type": "function"699  },700  {701    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],702    "name": "setCollectionMintMode",703    "outputs": [],704    "stateMutability": "nonpayable",705    "type": "function"706  },707  {708    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],709    "name": "setCollectionNesting",710    "outputs": [],711    "stateMutability": "nonpayable",712    "type": "function"713  },714  {715    "inputs": [716      { "internalType": "bool", "name": "enable", "type": "bool" },717      {718        "internalType": "address[]",719        "name": "collections",720        "type": "address[]"721      }722    ],723    "name": "setCollectionNesting",724    "outputs": [],725    "stateMutability": "nonpayable",726    "type": "function"727  },728  {729    "inputs": [730      {731        "components": [732          { "internalType": "string", "name": "key", "type": "string" },733          { "internalType": "bytes", "name": "value", "type": "bytes" }734        ],735        "internalType": "struct Property[]",736        "name": "properties",737        "type": "tuple[]"738      }739    ],740    "name": "setCollectionProperties",741    "outputs": [],742    "stateMutability": "nonpayable",743    "type": "function"744  },745  {746    "inputs": [747      {748        "components": [749          { "internalType": "address", "name": "eth", "type": "address" },750          { "internalType": "uint256", "name": "sub", "type": "uint256" }751        ],752        "internalType": "struct CrossAddress",753        "name": "sponsor",754        "type": "tuple"755      }756    ],757    "name": "setCollectionSponsorCross",758    "outputs": [],759    "stateMutability": "nonpayable",760    "type": "function"761  },762  {763    "inputs": [764      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },765      {766        "components": [767          { "internalType": "string", "name": "key", "type": "string" },768          { "internalType": "bytes", "name": "value", "type": "bytes" }769        ],770        "internalType": "struct Property[]",771        "name": "properties",772        "type": "tuple[]"773      }774    ],775    "name": "setProperties",776    "outputs": [],777    "stateMutability": "nonpayable",778    "type": "function"779  },780  {781    "inputs": [782      {783        "components": [784          { "internalType": "string", "name": "key", "type": "string" },785          {786            "components": [787              {788                "internalType": "enum TokenPermissionField",789                "name": "code",790                "type": "uint8"791              },792              { "internalType": "bool", "name": "value", "type": "bool" }793            ],794            "internalType": "struct PropertyPermission[]",795            "name": "permissions",796            "type": "tuple[]"797          }798        ],799        "internalType": "struct TokenPropertyPermission[]",800        "name": "permissions",801        "type": "tuple[]"802      }803    ],804    "name": "setTokenPropertyPermissions",805    "outputs": [],806    "stateMutability": "nonpayable",807    "type": "function"808  },809  {810    "inputs": [811      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }812    ],813    "name": "supportsInterface",814    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],815    "stateMutability": "view",816    "type": "function"817  },818  {819    "inputs": [],820    "name": "symbol",821    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],822    "stateMutability": "view",823    "type": "function"824  },825  {826    "inputs": [827      { "internalType": "uint256", "name": "index", "type": "uint256" }828    ],829    "name": "tokenByIndex",830    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],831    "stateMutability": "view",832    "type": "function"833  },834  {835    "inputs": [836      { "internalType": "address", "name": "owner", "type": "address" },837      { "internalType": "uint256", "name": "index", "type": "uint256" }838    ],839    "name": "tokenOfOwnerByIndex",840    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],841    "stateMutability": "view",842    "type": "function"843  },844  {845    "inputs": [],846    "name": "tokenPropertyPermissions",847    "outputs": [848      {849        "components": [850          { "internalType": "string", "name": "key", "type": "string" },851          {852            "components": [853              {854                "internalType": "enum TokenPermissionField",855                "name": "code",856                "type": "uint8"857              },858              { "internalType": "bool", "name": "value", "type": "bool" }859            ],860            "internalType": "struct PropertyPermission[]",861            "name": "permissions",862            "type": "tuple[]"863          }864        ],865        "internalType": "struct TokenPropertyPermission[]",866        "name": "",867        "type": "tuple[]"868      }869    ],870    "stateMutability": "view",871    "type": "function"872  },873  {874    "inputs": [875      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }876    ],877    "name": "tokenURI",878    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],879    "stateMutability": "view",880    "type": "function"881  },882  {883    "inputs": [],884    "name": "totalSupply",885    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],886    "stateMutability": "view",887    "type": "function"888  },889  {890    "inputs": [891      { "internalType": "address", "name": "to", "type": "address" },892      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }893    ],894    "name": "transfer",895    "outputs": [],896    "stateMutability": "nonpayable",897    "type": "function"898  },899  {900    "inputs": [901      {902        "components": [903          { "internalType": "address", "name": "eth", "type": "address" },904          { "internalType": "uint256", "name": "sub", "type": "uint256" }905        ],906        "internalType": "struct CrossAddress",907        "name": "to",908        "type": "tuple"909      },910      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }911    ],912    "name": "transferCross",913    "outputs": [],914    "stateMutability": "nonpayable",915    "type": "function"916  },917  {918    "inputs": [919      { "internalType": "address", "name": "from", "type": "address" },920      { "internalType": "address", "name": "to", "type": "address" },921      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }922    ],923    "name": "transferFrom",924    "outputs": [],925    "stateMutability": "nonpayable",926    "type": "function"927  },928  {929    "inputs": [930      {931        "components": [932          { "internalType": "address", "name": "eth", "type": "address" },933          { "internalType": "uint256", "name": "sub", "type": "uint256" }934        ],935        "internalType": "struct CrossAddress",936        "name": "from",937        "type": "tuple"938      },939      {940        "components": [941          { "internalType": "address", "name": "eth", "type": "address" },942          { "internalType": "uint256", "name": "sub", "type": "uint256" }943        ],944        "internalType": "struct CrossAddress",945        "name": "to",946        "type": "tuple"947      },948      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }949    ],950    "name": "transferFromCross",951    "outputs": [],952    "stateMutability": "nonpayable",953    "type": "function"954  },955  {956    "inputs": [],957    "name": "uniqueCollectionType",958    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],959    "stateMutability": "view",960    "type": "function"961  }962]