@xyo-network/crypto-nft-diviner-score-plugin 2.74.5 → 2.75.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/dist/browser/Diviner.cjs +407 -0
  2. package/dist/browser/Diviner.cjs.map +1 -0
  3. package/dist/browser/Diviner.d.cts.map +1 -0
  4. package/dist/browser/Diviner.d.mts.map +1 -0
  5. package/dist/browser/Diviner.d.ts +14 -0
  6. package/dist/browser/Diviner.d.ts.map +1 -0
  7. package/dist/browser/Diviner.js +36 -0
  8. package/dist/browser/Diviner.js.map +1 -0
  9. package/dist/browser/Plugin.cjs +421 -0
  10. package/dist/browser/Plugin.cjs.map +1 -0
  11. package/dist/browser/Plugin.d.cts.map +1 -0
  12. package/dist/browser/Plugin.d.mts.map +1 -0
  13. package/dist/browser/Plugin.d.ts +50 -0
  14. package/dist/browser/Plugin.d.ts.map +1 -0
  15. package/dist/browser/Plugin.js +17 -0
  16. package/dist/browser/Plugin.js.map +1 -0
  17. package/dist/{index.js → browser/index.cjs} +1 -8
  18. package/dist/browser/index.cjs.map +1 -0
  19. package/dist/browser/index.d.cts.map +1 -0
  20. package/dist/browser/index.d.mts.map +1 -0
  21. package/dist/browser/index.d.ts +6 -0
  22. package/dist/browser/index.d.ts.map +1 -0
  23. package/dist/browser/index.js +9 -0
  24. package/dist/browser/index.js.map +1 -0
  25. package/dist/browser/lib/index.cjs +378 -0
  26. package/dist/browser/lib/index.cjs.map +1 -0
  27. package/dist/browser/lib/index.d.cts.map +1 -0
  28. package/dist/browser/lib/index.d.mts.map +1 -0
  29. package/dist/browser/lib/index.d.ts +2 -0
  30. package/dist/browser/lib/index.d.ts.map +1 -0
  31. package/dist/browser/lib/index.js +2 -0
  32. package/dist/browser/lib/index.js.map +1 -0
  33. package/dist/browser/lib/rating/analyzeNft.cjs +378 -0
  34. package/dist/browser/lib/rating/analyzeNft.cjs.map +1 -0
  35. package/dist/browser/lib/rating/analyzeNft.d.cts.map +1 -0
  36. package/dist/browser/lib/rating/analyzeNft.d.mts.map +1 -0
  37. package/dist/browser/lib/rating/analyzeNft.d.ts +9 -0
  38. package/dist/browser/lib/rating/analyzeNft.d.ts.map +1 -0
  39. package/dist/browser/lib/rating/analyzeNft.js +17 -0
  40. package/dist/browser/lib/rating/analyzeNft.js.map +1 -0
  41. package/dist/browser/lib/rating/criteria/index.cjs +364 -0
  42. package/dist/browser/lib/rating/criteria/index.cjs.map +1 -0
  43. package/dist/browser/lib/rating/criteria/index.d.cts.map +1 -0
  44. package/dist/browser/lib/rating/criteria/index.d.mts.map +1 -0
  45. package/dist/browser/lib/rating/criteria/index.d.ts +2 -0
  46. package/dist/browser/lib/rating/criteria/index.d.ts.map +1 -0
  47. package/dist/browser/lib/rating/criteria/index.js +2 -0
  48. package/dist/browser/lib/rating/criteria/index.js.map +1 -0
  49. package/dist/browser/lib/rating/criteria/scoring/contract.cjs +37 -0
  50. package/dist/browser/lib/rating/criteria/scoring/contract.cjs.map +1 -0
  51. package/dist/browser/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
  52. package/dist/browser/lib/rating/criteria/scoring/contract.d.mts.map +1 -0
  53. package/dist/browser/lib/rating/criteria/scoring/contract.d.ts +4 -0
  54. package/dist/browser/lib/rating/criteria/scoring/contract.d.ts.map +1 -0
  55. package/dist/browser/lib/rating/criteria/scoring/contract.js +15 -0
  56. package/dist/browser/lib/rating/criteria/scoring/contract.js.map +1 -0
  57. package/dist/browser/lib/rating/criteria/scoring/index.cjs +363 -0
  58. package/dist/browser/lib/rating/criteria/scoring/index.cjs.map +1 -0
  59. package/dist/browser/lib/rating/criteria/scoring/index.d.cts.map +1 -0
  60. package/dist/browser/lib/rating/criteria/scoring/index.d.mts.map +1 -0
  61. package/dist/browser/lib/rating/criteria/scoring/index.d.ts +6 -0
  62. package/dist/browser/lib/rating/criteria/scoring/index.d.ts.map +1 -0
  63. package/dist/browser/lib/rating/criteria/scoring/index.js +6 -0
  64. package/dist/browser/lib/rating/criteria/scoring/index.js.map +1 -0
  65. package/dist/browser/lib/rating/criteria/scoring/lib/index.cjs +43 -0
  66. package/dist/browser/lib/rating/criteria/scoring/lib/index.cjs.map +1 -0
  67. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
  68. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.mts.map +1 -0
  69. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.ts +3 -0
  70. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.ts.map +1 -0
  71. package/dist/browser/lib/rating/criteria/scoring/lib/index.js +3 -0
  72. package/dist/browser/lib/rating/criteria/scoring/lib/index.js.map +1 -0
  73. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.cjs +42 -0
  74. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.cjs.map +1 -0
  75. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
  76. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.mts.map +1 -0
  77. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.ts +2 -0
  78. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.ts.map +1 -0
  79. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +9 -0
  80. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -0
  81. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.cjs +34 -0
  82. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.cjs.map +1 -0
  83. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
  84. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.mts.map +1 -0
  85. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.ts +3 -0
  86. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.ts.map +1 -0
  87. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js +12 -0
  88. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -0
  89. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.cjs +67 -0
  90. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.cjs.map +1 -0
  91. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
  92. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.mts.map +1 -0
  93. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.ts +5 -0
  94. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.ts.map +1 -0
  95. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js +28 -0
  96. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -0
  97. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.cjs +103 -0
  98. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.cjs.map +1 -0
  99. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
  100. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.mts.map +1 -0
  101. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts +6 -0
  102. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts.map +1 -0
  103. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +81 -0
  104. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -0
  105. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.cjs +105 -0
  106. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.cjs.map +1 -0
  107. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
  108. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.mts.map +1 -0
  109. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.ts +2 -0
  110. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.ts.map +1 -0
  111. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js +2 -0
  112. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -0
  113. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.cjs +44 -0
  114. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.cjs.map +1 -0
  115. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
  116. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.mts.map +1 -0
  117. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts +5 -0
  118. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts.map +1 -0
  119. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js +22 -0
  120. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -0
  121. package/dist/browser/lib/rating/criteria/scoring/metadata/description.cjs +37 -0
  122. package/dist/browser/lib/rating/criteria/scoring/metadata/description.cjs.map +1 -0
  123. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
  124. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.mts.map +1 -0
  125. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.ts +5 -0
  126. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.ts.map +1 -0
  127. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js +15 -0
  128. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js.map +1 -0
  129. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.cjs +58 -0
  130. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.cjs.map +1 -0
  131. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
  132. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.mts.map +1 -0
  133. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.ts +5 -0
  134. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.ts.map +1 -0
  135. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js +19 -0
  136. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -0
  137. package/dist/browser/lib/rating/criteria/scoring/metadata/image.cjs +67 -0
  138. package/dist/browser/lib/rating/criteria/scoring/metadata/image.cjs.map +1 -0
  139. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
  140. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.mts.map +1 -0
  141. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.ts +5 -0
  142. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.ts.map +1 -0
  143. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js +28 -0
  144. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js.map +1 -0
  145. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.cjs +50 -0
  146. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.cjs.map +1 -0
  147. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
  148. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.mts.map +1 -0
  149. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.ts +5 -0
  150. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.ts.map +1 -0
  151. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js +28 -0
  152. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -0
  153. package/dist/browser/lib/rating/criteria/scoring/metadata/index.cjs +287 -0
  154. package/dist/browser/lib/rating/criteria/scoring/metadata/index.cjs.map +1 -0
  155. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
  156. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.mts.map +1 -0
  157. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.ts +10 -0
  158. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.ts.map +1 -0
  159. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js +10 -0
  160. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js.map +1 -0
  161. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.cjs +48 -0
  162. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.cjs.map +1 -0
  163. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
  164. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.mts.map +1 -0
  165. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.ts +2 -0
  166. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.ts.map +1 -0
  167. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js +2 -0
  168. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -0
  169. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.cjs +46 -0
  170. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.cjs.map +1 -0
  171. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
  172. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.mts.map +1 -0
  173. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts +8 -0
  174. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts.map +1 -0
  175. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +24 -0
  176. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -0
  177. package/dist/browser/lib/rating/criteria/scoring/metadata/name.cjs +37 -0
  178. package/dist/browser/lib/rating/criteria/scoring/metadata/name.cjs.map +1 -0
  179. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
  180. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.mts.map +1 -0
  181. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.ts +5 -0
  182. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.ts.map +1 -0
  183. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js +15 -0
  184. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js.map +1 -0
  185. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.cjs +60 -0
  186. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.cjs.map +1 -0
  187. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
  188. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.mts.map +1 -0
  189. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts +5 -0
  190. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts.map +1 -0
  191. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js +21 -0
  192. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -0
  193. package/dist/browser/lib/rating/criteria/scoring/supply.cjs +56 -0
  194. package/dist/browser/lib/rating/criteria/scoring/supply.cjs.map +1 -0
  195. package/dist/browser/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
  196. package/dist/browser/lib/rating/criteria/scoring/supply.d.mts.map +1 -0
  197. package/dist/browser/lib/rating/criteria/scoring/supply.d.ts +4 -0
  198. package/dist/browser/lib/rating/criteria/scoring/supply.d.ts.map +1 -0
  199. package/dist/browser/lib/rating/criteria/scoring/supply.js +17 -0
  200. package/dist/browser/lib/rating/criteria/scoring/supply.js.map +1 -0
  201. package/dist/browser/lib/rating/criteria/scoring/tokenId.cjs +56 -0
  202. package/dist/browser/lib/rating/criteria/scoring/tokenId.cjs.map +1 -0
  203. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
  204. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.mts.map +1 -0
  205. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.ts +10 -0
  206. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.ts.map +1 -0
  207. package/dist/browser/lib/rating/criteria/scoring/tokenId.js +17 -0
  208. package/dist/browser/lib/rating/criteria/scoring/tokenId.js.map +1 -0
  209. package/dist/browser/lib/rating/criteria/scoring/type.cjs +37 -0
  210. package/dist/browser/lib/rating/criteria/scoring/type.cjs.map +1 -0
  211. package/dist/browser/lib/rating/criteria/scoring/type.d.cts.map +1 -0
  212. package/dist/browser/lib/rating/criteria/scoring/type.d.mts.map +1 -0
  213. package/dist/browser/lib/rating/criteria/scoring/type.d.ts +4 -0
  214. package/dist/browser/lib/rating/criteria/scoring/type.d.ts.map +1 -0
  215. package/dist/browser/lib/rating/criteria/scoring/type.js +15 -0
  216. package/dist/browser/lib/rating/criteria/scoring/type.js.map +1 -0
  217. package/dist/browser/lib/rating/criteria/scoringCriteria.cjs +364 -0
  218. package/dist/browser/lib/rating/criteria/scoringCriteria.cjs.map +1 -0
  219. package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
  220. package/dist/browser/lib/rating/criteria/scoringCriteria.d.mts.map +1 -0
  221. package/dist/browser/lib/rating/criteria/scoringCriteria.d.ts +55 -0
  222. package/dist/browser/lib/rating/criteria/scoringCriteria.d.ts.map +1 -0
  223. package/dist/browser/lib/rating/criteria/scoringCriteria.js +40 -0
  224. package/dist/browser/lib/rating/criteria/scoringCriteria.js.map +1 -0
  225. package/dist/browser/lib/rating/index.cjs +378 -0
  226. package/dist/browser/lib/rating/index.cjs.map +1 -0
  227. package/dist/browser/lib/rating/index.d.cts.map +1 -0
  228. package/dist/browser/lib/rating/index.d.mts.map +1 -0
  229. package/dist/browser/lib/rating/index.d.ts +2 -0
  230. package/dist/browser/lib/rating/index.d.ts.map +1 -0
  231. package/dist/browser/lib/rating/index.js +2 -0
  232. package/dist/browser/lib/rating/index.js.map +1 -0
  233. package/dist/docs.json +533 -533
  234. package/dist/node/Diviner.d.cts +14 -0
  235. package/dist/node/Diviner.d.cts.map +1 -0
  236. package/dist/node/Diviner.d.mts +14 -0
  237. package/dist/node/Diviner.d.mts.map +1 -0
  238. package/dist/node/Diviner.d.ts +14 -0
  239. package/dist/node/Diviner.d.ts.map +1 -0
  240. package/dist/node/Diviner.js +429 -0
  241. package/dist/node/Diviner.js.map +1 -0
  242. package/dist/node/Diviner.mjs +407 -0
  243. package/dist/node/Diviner.mjs.map +1 -0
  244. package/dist/node/Plugin.d.cts +50 -0
  245. package/dist/node/Plugin.d.cts.map +1 -0
  246. package/dist/node/Plugin.d.mts +50 -0
  247. package/dist/node/Plugin.d.mts.map +1 -0
  248. package/dist/node/Plugin.d.ts +50 -0
  249. package/dist/node/Plugin.d.ts.map +1 -0
  250. package/dist/node/Plugin.js +442 -0
  251. package/dist/node/Plugin.js.map +1 -0
  252. package/dist/node/Plugin.mjs +421 -0
  253. package/dist/node/Plugin.mjs.map +1 -0
  254. package/dist/node/index.d.cts +6 -0
  255. package/dist/node/index.d.cts.map +1 -0
  256. package/dist/node/index.d.mts +6 -0
  257. package/dist/node/index.d.mts.map +1 -0
  258. package/dist/node/index.d.ts +6 -0
  259. package/dist/node/index.d.ts.map +1 -0
  260. package/dist/node/index.js +455 -0
  261. package/dist/node/index.js.map +1 -0
  262. package/dist/{index.mjs → node/index.mjs} +41 -24
  263. package/dist/node/index.mjs.map +1 -0
  264. package/dist/node/lib/index.d.cts +2 -0
  265. package/dist/node/lib/index.d.cts.map +1 -0
  266. package/dist/node/lib/index.d.mts +2 -0
  267. package/dist/node/lib/index.d.mts.map +1 -0
  268. package/dist/node/lib/index.d.ts +2 -0
  269. package/dist/node/lib/index.d.ts.map +1 -0
  270. package/dist/node/lib/index.js +399 -0
  271. package/dist/node/lib/index.js.map +1 -0
  272. package/dist/node/lib/index.mjs +372 -0
  273. package/dist/node/lib/index.mjs.map +1 -0
  274. package/dist/node/lib/rating/analyzeNft.d.cts +9 -0
  275. package/dist/node/lib/rating/analyzeNft.d.cts.map +1 -0
  276. package/dist/node/lib/rating/analyzeNft.d.mts +9 -0
  277. package/dist/node/lib/rating/analyzeNft.d.mts.map +1 -0
  278. package/dist/node/lib/rating/analyzeNft.d.ts +9 -0
  279. package/dist/node/lib/rating/analyzeNft.d.ts.map +1 -0
  280. package/dist/node/lib/rating/analyzeNft.js +399 -0
  281. package/dist/node/lib/rating/analyzeNft.js.map +1 -0
  282. package/dist/node/lib/rating/analyzeNft.mjs +372 -0
  283. package/dist/node/lib/rating/analyzeNft.mjs.map +1 -0
  284. package/dist/node/lib/rating/criteria/index.d.cts +2 -0
  285. package/dist/node/lib/rating/criteria/index.d.cts.map +1 -0
  286. package/dist/node/lib/rating/criteria/index.d.mts +2 -0
  287. package/dist/node/lib/rating/criteria/index.d.mts.map +1 -0
  288. package/dist/node/lib/rating/criteria/index.d.ts +2 -0
  289. package/dist/node/lib/rating/criteria/index.d.ts.map +1 -0
  290. package/dist/node/lib/rating/criteria/index.js +385 -0
  291. package/dist/node/lib/rating/criteria/index.js.map +1 -0
  292. package/dist/node/lib/rating/criteria/index.mjs +358 -0
  293. package/dist/node/lib/rating/criteria/index.mjs.map +1 -0
  294. package/dist/node/lib/rating/criteria/scoring/contract.d.cts +4 -0
  295. package/dist/node/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
  296. package/dist/node/lib/rating/criteria/scoring/contract.d.mts +4 -0
  297. package/dist/node/lib/rating/criteria/scoring/contract.d.mts.map +1 -0
  298. package/dist/node/lib/rating/criteria/scoring/contract.d.ts +4 -0
  299. package/dist/node/lib/rating/criteria/scoring/contract.d.ts.map +1 -0
  300. package/dist/node/lib/rating/criteria/scoring/contract.js +41 -0
  301. package/dist/node/lib/rating/criteria/scoring/contract.js.map +1 -0
  302. package/dist/node/lib/rating/criteria/scoring/contract.mjs +16 -0
  303. package/dist/node/lib/rating/criteria/scoring/contract.mjs.map +1 -0
  304. package/dist/node/lib/rating/criteria/scoring/index.d.cts +6 -0
  305. package/dist/node/lib/rating/criteria/scoring/index.d.cts.map +1 -0
  306. package/dist/node/lib/rating/criteria/scoring/index.d.mts +6 -0
  307. package/dist/node/lib/rating/criteria/scoring/index.d.mts.map +1 -0
  308. package/dist/node/lib/rating/criteria/scoring/index.d.ts +6 -0
  309. package/dist/node/lib/rating/criteria/scoring/index.d.ts.map +1 -0
  310. package/dist/node/lib/rating/criteria/scoring/index.js +406 -0
  311. package/dist/node/lib/rating/criteria/scoring/index.js.map +1 -0
  312. package/dist/node/lib/rating/criteria/scoring/index.mjs +357 -0
  313. package/dist/node/lib/rating/criteria/scoring/index.mjs.map +1 -0
  314. package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
  315. package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
  316. package/dist/node/lib/rating/criteria/scoring/lib/index.d.mts +3 -0
  317. package/dist/node/lib/rating/criteria/scoring/lib/index.d.mts.map +1 -0
  318. package/dist/node/lib/rating/criteria/scoring/lib/index.d.ts +3 -0
  319. package/dist/node/lib/rating/criteria/scoring/lib/index.d.ts.map +1 -0
  320. package/dist/node/lib/rating/criteria/scoring/lib/index.js +48 -0
  321. package/dist/node/lib/rating/criteria/scoring/lib/index.js.map +1 -0
  322. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs +20 -0
  323. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs.map +1 -0
  324. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
  325. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
  326. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.mts +2 -0
  327. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.mts.map +1 -0
  328. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.ts +2 -0
  329. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.ts.map +1 -0
  330. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +46 -0
  331. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -0
  332. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs +19 -0
  333. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs.map +1 -0
  334. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
  335. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
  336. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.mts +3 -0
  337. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.mts.map +1 -0
  338. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.ts +3 -0
  339. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.ts.map +1 -0
  340. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js +38 -0
  341. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -0
  342. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs +13 -0
  343. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs.map +1 -0
  344. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
  345. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
  346. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.mts +5 -0
  347. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.mts.map +1 -0
  348. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.ts +5 -0
  349. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.ts.map +1 -0
  350. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js +79 -0
  351. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -0
  352. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs +53 -0
  353. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs.map +1 -0
  354. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
  355. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
  356. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.mts +6 -0
  357. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.mts.map +1 -0
  358. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts +6 -0
  359. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts.map +1 -0
  360. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +112 -0
  361. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -0
  362. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs +85 -0
  363. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs.map +1 -0
  364. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
  365. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
  366. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.mts +2 -0
  367. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.mts.map +1 -0
  368. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.ts +2 -0
  369. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.ts.map +1 -0
  370. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js +114 -0
  371. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -0
  372. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs +85 -0
  373. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs.map +1 -0
  374. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
  375. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
  376. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.mts +5 -0
  377. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.mts.map +1 -0
  378. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts +5 -0
  379. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts.map +1 -0
  380. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js +50 -0
  381. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -0
  382. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs +24 -0
  383. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs.map +1 -0
  384. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
  385. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
  386. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.mts +5 -0
  387. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.mts.map +1 -0
  388. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.ts +5 -0
  389. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.ts.map +1 -0
  390. package/dist/node/lib/rating/criteria/scoring/metadata/description.js +43 -0
  391. package/dist/node/lib/rating/criteria/scoring/metadata/description.js.map +1 -0
  392. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs +17 -0
  393. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs.map +1 -0
  394. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
  395. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
  396. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.mts +5 -0
  397. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.mts.map +1 -0
  398. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.ts +5 -0
  399. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.ts.map +1 -0
  400. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js +70 -0
  401. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -0
  402. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs +44 -0
  403. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs.map +1 -0
  404. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
  405. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
  406. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.mts +5 -0
  407. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.mts.map +1 -0
  408. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.ts +5 -0
  409. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.ts.map +1 -0
  410. package/dist/node/lib/rating/criteria/scoring/metadata/image.js +79 -0
  411. package/dist/node/lib/rating/criteria/scoring/metadata/image.js.map +1 -0
  412. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs +53 -0
  413. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs.map +1 -0
  414. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
  415. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
  416. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.mts +5 -0
  417. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.mts.map +1 -0
  418. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.ts +5 -0
  419. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.ts.map +1 -0
  420. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js +56 -0
  421. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -0
  422. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs +30 -0
  423. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs.map +1 -0
  424. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
  425. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
  426. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.mts +10 -0
  427. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.mts.map +1 -0
  428. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.ts +10 -0
  429. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.ts.map +1 -0
  430. package/dist/node/lib/rating/criteria/scoring/metadata/index.js +326 -0
  431. package/dist/node/lib/rating/criteria/scoring/metadata/index.js.map +1 -0
  432. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs +281 -0
  433. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs.map +1 -0
  434. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
  435. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
  436. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.mts +2 -0
  437. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.mts.map +1 -0
  438. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.ts +2 -0
  439. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.ts.map +1 -0
  440. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js +63 -0
  441. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -0
  442. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs +31 -0
  443. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs.map +1 -0
  444. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
  445. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
  446. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.mts +8 -0
  447. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.mts.map +1 -0
  448. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts +8 -0
  449. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts.map +1 -0
  450. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +61 -0
  451. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -0
  452. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs +31 -0
  453. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs.map +1 -0
  454. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
  455. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
  456. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.mts +5 -0
  457. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.mts.map +1 -0
  458. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.ts +5 -0
  459. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.ts.map +1 -0
  460. package/dist/node/lib/rating/criteria/scoring/metadata/name.js +43 -0
  461. package/dist/node/lib/rating/criteria/scoring/metadata/name.js.map +1 -0
  462. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs +17 -0
  463. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs.map +1 -0
  464. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
  465. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
  466. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.mts +5 -0
  467. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.mts.map +1 -0
  468. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts +5 -0
  469. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts.map +1 -0
  470. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js +72 -0
  471. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -0
  472. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs +46 -0
  473. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs.map +1 -0
  474. package/dist/node/lib/rating/criteria/scoring/supply.d.cts +4 -0
  475. package/dist/node/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
  476. package/dist/node/lib/rating/criteria/scoring/supply.d.mts +4 -0
  477. package/dist/node/lib/rating/criteria/scoring/supply.d.mts.map +1 -0
  478. package/dist/node/lib/rating/criteria/scoring/supply.d.ts +4 -0
  479. package/dist/node/lib/rating/criteria/scoring/supply.d.ts.map +1 -0
  480. package/dist/node/lib/rating/criteria/scoring/supply.js +60 -0
  481. package/dist/node/lib/rating/criteria/scoring/supply.js.map +1 -0
  482. package/dist/node/lib/rating/criteria/scoring/supply.mjs +35 -0
  483. package/dist/node/lib/rating/criteria/scoring/supply.mjs.map +1 -0
  484. package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
  485. package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
  486. package/dist/node/lib/rating/criteria/scoring/tokenId.d.mts +10 -0
  487. package/dist/node/lib/rating/criteria/scoring/tokenId.d.mts.map +1 -0
  488. package/dist/node/lib/rating/criteria/scoring/tokenId.d.ts +10 -0
  489. package/dist/node/lib/rating/criteria/scoring/tokenId.d.ts.map +1 -0
  490. package/dist/node/lib/rating/criteria/scoring/tokenId.js +60 -0
  491. package/dist/node/lib/rating/criteria/scoring/tokenId.js.map +1 -0
  492. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs +35 -0
  493. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs.map +1 -0
  494. package/dist/node/lib/rating/criteria/scoring/type.d.cts +4 -0
  495. package/dist/node/lib/rating/criteria/scoring/type.d.cts.map +1 -0
  496. package/dist/node/lib/rating/criteria/scoring/type.d.mts +4 -0
  497. package/dist/node/lib/rating/criteria/scoring/type.d.mts.map +1 -0
  498. package/dist/node/lib/rating/criteria/scoring/type.d.ts +4 -0
  499. package/dist/node/lib/rating/criteria/scoring/type.d.ts.map +1 -0
  500. package/dist/node/lib/rating/criteria/scoring/type.js +41 -0
  501. package/dist/node/lib/rating/criteria/scoring/type.js.map +1 -0
  502. package/dist/node/lib/rating/criteria/scoring/type.mjs +16 -0
  503. package/dist/node/lib/rating/criteria/scoring/type.mjs.map +1 -0
  504. package/dist/node/lib/rating/criteria/scoringCriteria.d.cts +55 -0
  505. package/dist/node/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
  506. package/dist/node/lib/rating/criteria/scoringCriteria.d.mts +55 -0
  507. package/dist/node/lib/rating/criteria/scoringCriteria.d.mts.map +1 -0
  508. package/dist/node/lib/rating/criteria/scoringCriteria.d.ts +55 -0
  509. package/dist/node/lib/rating/criteria/scoringCriteria.d.ts.map +1 -0
  510. package/dist/node/lib/rating/criteria/scoringCriteria.js +385 -0
  511. package/dist/node/lib/rating/criteria/scoringCriteria.js.map +1 -0
  512. package/dist/node/lib/rating/criteria/scoringCriteria.mjs +358 -0
  513. package/dist/node/lib/rating/criteria/scoringCriteria.mjs.map +1 -0
  514. package/dist/node/lib/rating/index.d.cts +2 -0
  515. package/dist/node/lib/rating/index.d.cts.map +1 -0
  516. package/dist/node/lib/rating/index.d.mts +2 -0
  517. package/dist/node/lib/rating/index.d.mts.map +1 -0
  518. package/dist/node/lib/rating/index.d.ts +2 -0
  519. package/dist/node/lib/rating/index.d.ts.map +1 -0
  520. package/dist/node/lib/rating/index.js +399 -0
  521. package/dist/node/lib/rating/index.js.map +1 -0
  522. package/dist/node/lib/rating/index.mjs +372 -0
  523. package/dist/node/lib/rating/index.mjs.map +1 -0
  524. package/package.json +36 -33
  525. package/dist/Diviner.d.mts.map +0 -1
  526. package/dist/Diviner.d.ts.map +0 -1
  527. package/dist/Plugin.d.mts.map +0 -1
  528. package/dist/Plugin.d.ts.map +0 -1
  529. package/dist/index.d.mts.map +0 -1
  530. package/dist/index.d.ts.map +0 -1
  531. package/dist/index.js.map +0 -1
  532. package/dist/index.mjs.map +0 -1
  533. package/dist/lib/index.d.mts.map +0 -1
  534. package/dist/lib/index.d.ts.map +0 -1
  535. package/dist/lib/rating/analyzeNft.d.mts.map +0 -1
  536. package/dist/lib/rating/analyzeNft.d.ts.map +0 -1
  537. package/dist/lib/rating/criteria/index.d.mts.map +0 -1
  538. package/dist/lib/rating/criteria/index.d.ts.map +0 -1
  539. package/dist/lib/rating/criteria/scoring/contract.d.mts.map +0 -1
  540. package/dist/lib/rating/criteria/scoring/contract.d.ts.map +0 -1
  541. package/dist/lib/rating/criteria/scoring/index.d.mts.map +0 -1
  542. package/dist/lib/rating/criteria/scoring/index.d.ts.map +0 -1
  543. package/dist/lib/rating/criteria/scoring/lib/index.d.mts.map +0 -1
  544. package/dist/lib/rating/criteria/scoring/lib/index.d.ts.map +0 -1
  545. package/dist/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.mts.map +0 -1
  546. package/dist/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.ts.map +0 -1
  547. package/dist/lib/rating/criteria/scoring/lib/toBigNumber.d.mts.map +0 -1
  548. package/dist/lib/rating/criteria/scoring/lib/toBigNumber.d.ts.map +0 -1
  549. package/dist/lib/rating/criteria/scoring/metadata/animationUrl.d.mts.map +0 -1
  550. package/dist/lib/rating/criteria/scoring/metadata/animationUrl.d.ts.map +0 -1
  551. package/dist/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.mts.map +0 -1
  552. package/dist/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts.map +0 -1
  553. package/dist/lib/rating/criteria/scoring/metadata/attributes/index.d.mts.map +0 -1
  554. package/dist/lib/rating/criteria/scoring/metadata/attributes/index.d.ts.map +0 -1
  555. package/dist/lib/rating/criteria/scoring/metadata/backgroundColor.d.mts.map +0 -1
  556. package/dist/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts.map +0 -1
  557. package/dist/lib/rating/criteria/scoring/metadata/description.d.mts.map +0 -1
  558. package/dist/lib/rating/criteria/scoring/metadata/description.d.ts.map +0 -1
  559. package/dist/lib/rating/criteria/scoring/metadata/externalUrl.d.mts.map +0 -1
  560. package/dist/lib/rating/criteria/scoring/metadata/externalUrl.d.ts.map +0 -1
  561. package/dist/lib/rating/criteria/scoring/metadata/image.d.mts.map +0 -1
  562. package/dist/lib/rating/criteria/scoring/metadata/image.d.ts.map +0 -1
  563. package/dist/lib/rating/criteria/scoring/metadata/imageData.d.mts.map +0 -1
  564. package/dist/lib/rating/criteria/scoring/metadata/imageData.d.ts.map +0 -1
  565. package/dist/lib/rating/criteria/scoring/metadata/index.d.mts.map +0 -1
  566. package/dist/lib/rating/criteria/scoring/metadata/index.d.ts.map +0 -1
  567. package/dist/lib/rating/criteria/scoring/metadata/lib/index.d.mts.map +0 -1
  568. package/dist/lib/rating/criteria/scoring/metadata/lib/index.d.ts.map +0 -1
  569. package/dist/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.mts.map +0 -1
  570. package/dist/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts.map +0 -1
  571. package/dist/lib/rating/criteria/scoring/metadata/name.d.mts.map +0 -1
  572. package/dist/lib/rating/criteria/scoring/metadata/name.d.ts.map +0 -1
  573. package/dist/lib/rating/criteria/scoring/metadata/youtubeUrl.d.mts.map +0 -1
  574. package/dist/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts.map +0 -1
  575. package/dist/lib/rating/criteria/scoring/supply.d.mts.map +0 -1
  576. package/dist/lib/rating/criteria/scoring/supply.d.ts.map +0 -1
  577. package/dist/lib/rating/criteria/scoring/tokenId.d.mts.map +0 -1
  578. package/dist/lib/rating/criteria/scoring/tokenId.d.ts.map +0 -1
  579. package/dist/lib/rating/criteria/scoring/type.d.mts.map +0 -1
  580. package/dist/lib/rating/criteria/scoring/type.d.ts.map +0 -1
  581. package/dist/lib/rating/criteria/scoringCriteria.d.mts.map +0 -1
  582. package/dist/lib/rating/criteria/scoringCriteria.d.ts.map +0 -1
  583. package/dist/lib/rating/index.d.mts.map +0 -1
  584. package/dist/lib/rating/index.d.ts.map +0 -1
  585. /package/dist/{Diviner.d.mts → browser/Diviner.d.cts} +0 -0
  586. /package/dist/{Diviner.d.ts → browser/Diviner.d.mts} +0 -0
  587. /package/dist/{Plugin.d.mts → browser/Plugin.d.cts} +0 -0
  588. /package/dist/{Plugin.d.ts → browser/Plugin.d.mts} +0 -0
  589. /package/dist/{index.d.mts → browser/index.d.cts} +0 -0
  590. /package/dist/{index.d.ts → browser/index.d.mts} +0 -0
  591. /package/dist/{lib/index.d.mts → browser/lib/index.d.cts} +0 -0
  592. /package/dist/{lib/index.d.ts → browser/lib/index.d.mts} +0 -0
  593. /package/dist/{lib/rating/analyzeNft.d.mts → browser/lib/rating/analyzeNft.d.cts} +0 -0
  594. /package/dist/{lib/rating/analyzeNft.d.ts → browser/lib/rating/analyzeNft.d.mts} +0 -0
  595. /package/dist/{lib/rating/criteria/index.d.mts → browser/lib/rating/criteria/index.d.cts} +0 -0
  596. /package/dist/{lib/rating/criteria/index.d.ts → browser/lib/rating/criteria/index.d.mts} +0 -0
  597. /package/dist/{lib/rating/criteria/scoring/contract.d.mts → browser/lib/rating/criteria/scoring/contract.d.cts} +0 -0
  598. /package/dist/{lib/rating/criteria/scoring/contract.d.ts → browser/lib/rating/criteria/scoring/contract.d.mts} +0 -0
  599. /package/dist/{lib/rating/criteria/scoring/index.d.mts → browser/lib/rating/criteria/scoring/index.d.cts} +0 -0
  600. /package/dist/{lib/rating/criteria/scoring/index.d.ts → browser/lib/rating/criteria/scoring/index.d.mts} +0 -0
  601. /package/dist/{lib/rating/criteria/scoring/lib/index.d.mts → browser/lib/rating/criteria/scoring/lib/index.d.cts} +0 -0
  602. /package/dist/{lib/rating/criteria/scoring/lib/index.d.ts → browser/lib/rating/criteria/scoring/lib/index.d.mts} +0 -0
  603. /package/dist/{lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.mts → browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts} +0 -0
  604. /package/dist/{lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.ts → browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.mts} +0 -0
  605. /package/dist/{lib/rating/criteria/scoring/lib/toBigNumber.d.mts → browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts} +0 -0
  606. /package/dist/{lib/rating/criteria/scoring/lib/toBigNumber.d.ts → browser/lib/rating/criteria/scoring/lib/toBigNumber.d.mts} +0 -0
  607. /package/dist/{lib/rating/criteria/scoring/metadata/animationUrl.d.mts → browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts} +0 -0
  608. /package/dist/{lib/rating/criteria/scoring/metadata/animationUrl.d.ts → browser/lib/rating/criteria/scoring/metadata/animationUrl.d.mts} +0 -0
  609. /package/dist/{lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.mts → browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts} +0 -0
  610. /package/dist/{lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts → browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.mts} +0 -0
  611. /package/dist/{lib/rating/criteria/scoring/metadata/attributes/index.d.mts → browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts} +0 -0
  612. /package/dist/{lib/rating/criteria/scoring/metadata/attributes/index.d.ts → browser/lib/rating/criteria/scoring/metadata/attributes/index.d.mts} +0 -0
  613. /package/dist/{lib/rating/criteria/scoring/metadata/backgroundColor.d.mts → browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts} +0 -0
  614. /package/dist/{lib/rating/criteria/scoring/metadata/backgroundColor.d.ts → browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.mts} +0 -0
  615. /package/dist/{lib/rating/criteria/scoring/metadata/description.d.mts → browser/lib/rating/criteria/scoring/metadata/description.d.cts} +0 -0
  616. /package/dist/{lib/rating/criteria/scoring/metadata/description.d.ts → browser/lib/rating/criteria/scoring/metadata/description.d.mts} +0 -0
  617. /package/dist/{lib/rating/criteria/scoring/metadata/externalUrl.d.mts → browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts} +0 -0
  618. /package/dist/{lib/rating/criteria/scoring/metadata/externalUrl.d.ts → browser/lib/rating/criteria/scoring/metadata/externalUrl.d.mts} +0 -0
  619. /package/dist/{lib/rating/criteria/scoring/metadata/image.d.mts → browser/lib/rating/criteria/scoring/metadata/image.d.cts} +0 -0
  620. /package/dist/{lib/rating/criteria/scoring/metadata/image.d.ts → browser/lib/rating/criteria/scoring/metadata/image.d.mts} +0 -0
  621. /package/dist/{lib/rating/criteria/scoring/metadata/imageData.d.mts → browser/lib/rating/criteria/scoring/metadata/imageData.d.cts} +0 -0
  622. /package/dist/{lib/rating/criteria/scoring/metadata/imageData.d.ts → browser/lib/rating/criteria/scoring/metadata/imageData.d.mts} +0 -0
  623. /package/dist/{lib/rating/criteria/scoring/metadata/index.d.mts → browser/lib/rating/criteria/scoring/metadata/index.d.cts} +0 -0
  624. /package/dist/{lib/rating/criteria/scoring/metadata/index.d.ts → browser/lib/rating/criteria/scoring/metadata/index.d.mts} +0 -0
  625. /package/dist/{lib/rating/criteria/scoring/metadata/lib/index.d.mts → browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts} +0 -0
  626. /package/dist/{lib/rating/criteria/scoring/metadata/lib/index.d.ts → browser/lib/rating/criteria/scoring/metadata/lib/index.d.mts} +0 -0
  627. /package/dist/{lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.mts → browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts} +0 -0
  628. /package/dist/{lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts → browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.mts} +0 -0
  629. /package/dist/{lib/rating/criteria/scoring/metadata/name.d.mts → browser/lib/rating/criteria/scoring/metadata/name.d.cts} +0 -0
  630. /package/dist/{lib/rating/criteria/scoring/metadata/name.d.ts → browser/lib/rating/criteria/scoring/metadata/name.d.mts} +0 -0
  631. /package/dist/{lib/rating/criteria/scoring/metadata/youtubeUrl.d.mts → browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts} +0 -0
  632. /package/dist/{lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts → browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.mts} +0 -0
  633. /package/dist/{lib/rating/criteria/scoring/supply.d.mts → browser/lib/rating/criteria/scoring/supply.d.cts} +0 -0
  634. /package/dist/{lib/rating/criteria/scoring/supply.d.ts → browser/lib/rating/criteria/scoring/supply.d.mts} +0 -0
  635. /package/dist/{lib/rating/criteria/scoring/tokenId.d.mts → browser/lib/rating/criteria/scoring/tokenId.d.cts} +0 -0
  636. /package/dist/{lib/rating/criteria/scoring/tokenId.d.ts → browser/lib/rating/criteria/scoring/tokenId.d.mts} +0 -0
  637. /package/dist/{lib/rating/criteria/scoring/type.d.mts → browser/lib/rating/criteria/scoring/type.d.cts} +0 -0
  638. /package/dist/{lib/rating/criteria/scoring/type.d.ts → browser/lib/rating/criteria/scoring/type.d.mts} +0 -0
  639. /package/dist/{lib/rating/criteria/scoringCriteria.d.mts → browser/lib/rating/criteria/scoringCriteria.d.cts} +0 -0
  640. /package/dist/{lib/rating/criteria/scoringCriteria.d.ts → browser/lib/rating/criteria/scoringCriteria.d.mts} +0 -0
  641. /package/dist/{lib/rating/index.d.mts → browser/lib/rating/index.d.cts} +0 -0
  642. /package/dist/{lib/rating/index.d.ts → browser/lib/rating/index.d.mts} +0 -0
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/rating/index.ts
21
+ var rating_exports = {};
22
+ __export(rating_exports, {
23
+ analyzeNft: () => analyzeNft
24
+ });
25
+ module.exports = __toCommonJS(rating_exports);
26
+
27
+ // src/lib/rating/criteria/scoring/contract.ts
28
+ var import_address = require("@ethersproject/address");
29
+ var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
30
+ var scoreContractAddress = (nft) => {
31
+ if (!nft.address)
32
+ return import_crypto_nft_score_model.FAIL;
33
+ if (typeof nft.address !== "string")
34
+ return import_crypto_nft_score_model.FAIL;
35
+ if (!(0, import_address.isAddress)(nft.address))
36
+ return import_crypto_nft_score_model.FAIL;
37
+ return import_crypto_nft_score_model.PASS;
38
+ };
39
+
40
+ // src/lib/rating/criteria/scoring/metadata/animationUrl.ts
41
+ var import_crypto_nft_score_model2 = require("@xyo-network/crypto-nft-score-model");
42
+
43
+ // src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts
44
+ var import_url = require("@xylabs/url");
45
+ var web3Protocols = ["ipfs:", "ar:"];
46
+ var toUrl = (url) => {
47
+ if (!url)
48
+ return void 0;
49
+ try {
50
+ return new import_url.URL(url);
51
+ } catch (e) {
52
+ return void 0;
53
+ }
54
+ };
55
+ var isValidUrl = (url) => toUrl(url) !== void 0;
56
+ var isWeb3 = (url) => web3Protocols.some((protocol) => {
57
+ var _a;
58
+ return protocol === ((_a = toUrl(url)) == null ? void 0 : _a.protocol);
59
+ });
60
+ var isSecure = (url) => {
61
+ var _a;
62
+ return isWeb3(url) || ((_a = toUrl(url)) == null ? void 0 : _a.protocol) === "https:";
63
+ };
64
+
65
+ // src/lib/rating/criteria/scoring/metadata/animationUrl.ts
66
+ var scoreNftAnimationUrl = (nft) => {
67
+ var _a;
68
+ return scoreAnimationUrl((_a = nft.metadata) == null ? void 0 : _a.animation_url);
69
+ };
70
+ var scoreAnimationUrl = (animation_url) => {
71
+ const score = [0, 0];
72
+ if (animation_url === void 0 || animation_url === null)
73
+ return import_crypto_nft_score_model2.PASS;
74
+ (0, import_crypto_nft_score_model2.incrementPossible)(score);
75
+ if (typeof animation_url !== "string")
76
+ return score;
77
+ (0, import_crypto_nft_score_model2.incrementTotalAndPossible)(score);
78
+ if (!isValidUrl(animation_url))
79
+ return score;
80
+ (0, import_crypto_nft_score_model2.incrementTotalAndPossible)(score);
81
+ if (!isSecure(animation_url))
82
+ return score;
83
+ (0, import_crypto_nft_score_model2.incrementTotalAndPossible)(score);
84
+ if (!isWeb3(animation_url))
85
+ return score;
86
+ return (0, import_crypto_nft_score_model2.incrementTotal)(score);
87
+ };
88
+
89
+ // src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
90
+ var import_crypto_nft_score_model3 = require("@xyo-network/crypto-nft-score-model");
91
+ var isDate = (value) => {
92
+ if (isNumber(value)) {
93
+ try {
94
+ new Date(value);
95
+ return true;
96
+ } catch (error) {
97
+ return false;
98
+ }
99
+ }
100
+ return false;
101
+ };
102
+ var isNumber = (value) => typeof value === "number";
103
+ var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
104
+ var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
105
+ var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
106
+ var evaluateNftAttributes = (nft) => {
107
+ var _a, _b;
108
+ return !((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes) ? [0, 1] : evaluateAttributes((_b = nft == null ? void 0 : nft.metadata) == null ? void 0 : _b.attributes);
109
+ };
110
+ var evaluateAttributes = (attributes) => {
111
+ if (!attributes || !Array.isArray(attributes) || attributes.length === 0)
112
+ return [0, 1];
113
+ const score = [0, 0];
114
+ for (const attribute of attributes) {
115
+ const [attributeTotal, attributePossible] = evaluateAttribute(attribute);
116
+ (0, import_crypto_nft_score_model3.incrementTotalAndPossible)(score, attributeTotal, attributePossible);
117
+ }
118
+ return [1, 1];
119
+ };
120
+ var evaluateAttribute = (attribute) => {
121
+ const score = [0, 1];
122
+ const max_value = attribute == null ? void 0 : attribute.max_value;
123
+ const trait_type = attribute == null ? void 0 : attribute.trait_type;
124
+ const value = attribute == null ? void 0 : attribute.value;
125
+ if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value))
126
+ return score;
127
+ (0, import_crypto_nft_score_model3.incrementTotal)(score);
128
+ (0, import_crypto_nft_score_model3.incrementPossible)(score);
129
+ if (validDisplayType(attribute))
130
+ (0, import_crypto_nft_score_model3.incrementTotal)(score);
131
+ if (max_value !== void 0) {
132
+ (0, import_crypto_nft_score_model3.incrementPossible)(score);
133
+ if (isNumber(max_value) && isNumber(value) && value <= max_value)
134
+ (0, import_crypto_nft_score_model3.incrementTotal)(score);
135
+ }
136
+ return score;
137
+ };
138
+ var validDisplayType = (attribute) => {
139
+ switch (attribute == null ? void 0 : attribute.display_type) {
140
+ case "number":
141
+ case "boost_number": {
142
+ if (isNumber(attribute == null ? void 0 : attribute.value))
143
+ return true;
144
+ break;
145
+ }
146
+ case "boost_percentage": {
147
+ if (isPercentage(attribute == null ? void 0 : attribute.value))
148
+ return true;
149
+ break;
150
+ }
151
+ case "date": {
152
+ if (isDate(attribute == null ? void 0 : attribute.value))
153
+ return true;
154
+ break;
155
+ }
156
+ case "string":
157
+ case void 0: {
158
+ if (isNonEmptyString(attribute == null ? void 0 : attribute.value))
159
+ return true;
160
+ break;
161
+ }
162
+ default: {
163
+ break;
164
+ }
165
+ }
166
+ return false;
167
+ };
168
+
169
+ // src/lib/rating/criteria/scoring/metadata/backgroundColor.ts
170
+ var import_crypto_nft_score_model4 = require("@xyo-network/crypto-nft-score-model");
171
+ var isHexColor = /^[0-9A-F]{6}$/i;
172
+ var scoreNftBackgroundColor = (nft) => {
173
+ var _a;
174
+ return scoreBackgroundColor((_a = nft.metadata) == null ? void 0 : _a.background_color);
175
+ };
176
+ var scoreBackgroundColor = (background_color) => {
177
+ const score = [0, 0];
178
+ if (background_color === void 0 || background_color === null)
179
+ return import_crypto_nft_score_model4.PASS;
180
+ (0, import_crypto_nft_score_model4.incrementPossible)(score);
181
+ if (typeof background_color !== "string")
182
+ return score;
183
+ (0, import_crypto_nft_score_model4.incrementTotalAndPossible)(score);
184
+ if (!background_color.toUpperCase().match(isHexColor))
185
+ return score;
186
+ return (0, import_crypto_nft_score_model4.incrementTotal)(score);
187
+ };
188
+
189
+ // src/lib/rating/criteria/scoring/metadata/description.ts
190
+ var import_crypto_nft_score_model5 = require("@xyo-network/crypto-nft-score-model");
191
+ var scoreNftDescription = (nft) => {
192
+ var _a;
193
+ return scoreDescription((_a = nft.metadata) == null ? void 0 : _a.description);
194
+ };
195
+ var scoreDescription = (description) => {
196
+ const score = [0, 1];
197
+ if (!description || typeof description !== "string")
198
+ return score;
199
+ return (0, import_crypto_nft_score_model5.incrementTotal)(score);
200
+ };
201
+
202
+ // src/lib/rating/criteria/scoring/metadata/externalUrl.ts
203
+ var import_crypto_nft_score_model6 = require("@xyo-network/crypto-nft-score-model");
204
+ var scoreNftExternalUrl = (nft) => {
205
+ var _a;
206
+ return scoreExternalUrl((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.external_url);
207
+ };
208
+ var scoreExternalUrl = (external_url) => {
209
+ const score = [0, 2];
210
+ if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url))
211
+ return score;
212
+ (0, import_crypto_nft_score_model6.incrementTotal)(score);
213
+ if (!isSecure(external_url))
214
+ return score;
215
+ return (0, import_crypto_nft_score_model6.incrementTotal)(score);
216
+ };
217
+
218
+ // src/lib/rating/criteria/scoring/metadata/image.ts
219
+ var import_crypto_nft_score_model7 = require("@xyo-network/crypto-nft-score-model");
220
+ var MaxPossibleImageScore = 3;
221
+ var scoreNftImage = (nft) => {
222
+ var _a, _b, _c;
223
+ if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image)) {
224
+ return ((_b = nft.metadata) == null ? void 0 : _b.image_data) ? import_crypto_nft_score_model7.PASS : [0, MaxPossibleImageScore];
225
+ } else {
226
+ return scoreImage((_c = nft.metadata) == null ? void 0 : _c.image);
227
+ }
228
+ };
229
+ var scoreImage = (image) => {
230
+ const score = [0, MaxPossibleImageScore];
231
+ if (!image || typeof image !== "string" || !isValidUrl(image))
232
+ return score;
233
+ (0, import_crypto_nft_score_model7.incrementTotal)(score);
234
+ if (!isSecure(image))
235
+ return score;
236
+ (0, import_crypto_nft_score_model7.incrementTotal)(score);
237
+ if (!isWeb3(image))
238
+ return score;
239
+ (0, import_crypto_nft_score_model7.incrementTotal)(score);
240
+ return score;
241
+ };
242
+
243
+ // src/lib/rating/criteria/scoring/metadata/imageData.ts
244
+ var import_crypto_nft_score_model8 = require("@xyo-network/crypto-nft-score-model");
245
+ var import_svg_parser = require("svg-parser");
246
+ var MaxPossibleImageDataScore = 1;
247
+ var isValidImageData = (image_data) => {
248
+ if (!image_data.startsWith("<svg"))
249
+ return false;
250
+ try {
251
+ (0, import_svg_parser.parse)(image_data);
252
+ return true;
253
+ } catch (error) {
254
+ return false;
255
+ }
256
+ };
257
+ var scoreNftImageData = (nft) => {
258
+ var _a, _b, _c;
259
+ if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image_data)) {
260
+ return ((_b = nft.metadata) == null ? void 0 : _b.image) ? import_crypto_nft_score_model8.PASS : [0, MaxPossibleImageDataScore];
261
+ } else {
262
+ return scoreImageData((_c = nft.metadata) == null ? void 0 : _c.image_data);
263
+ }
264
+ };
265
+ var scoreImageData = (image_data) => {
266
+ return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
267
+ };
268
+
269
+ // src/lib/rating/criteria/scoring/metadata/name.ts
270
+ var import_crypto_nft_score_model9 = require("@xyo-network/crypto-nft-score-model");
271
+ var scoreNftName = (nft) => {
272
+ var _a;
273
+ return scoreName((_a = nft.metadata) == null ? void 0 : _a.name);
274
+ };
275
+ var scoreName = (name) => {
276
+ const score = [0, 1];
277
+ if (!name || typeof name !== "string")
278
+ return score;
279
+ return (0, import_crypto_nft_score_model9.incrementTotal)(score);
280
+ };
281
+
282
+ // src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts
283
+ var import_crypto_nft_score_model10 = require("@xyo-network/crypto-nft-score-model");
284
+ var scoreNftYoutubeUrl = (nft) => {
285
+ var _a;
286
+ return scoreYoutubeUrl((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.youtube_url);
287
+ };
288
+ var scoreYoutubeUrl = (youtube_url) => {
289
+ if (youtube_url === void 0 || youtube_url === null)
290
+ return import_crypto_nft_score_model10.PASS;
291
+ const score = [0, 2];
292
+ if (typeof youtube_url !== "string" || !isValidUrl(youtube_url))
293
+ return score;
294
+ (0, import_crypto_nft_score_model10.incrementTotal)(score);
295
+ if (!isSecure(youtube_url))
296
+ return score;
297
+ return (0, import_crypto_nft_score_model10.incrementTotal)(score);
298
+ };
299
+
300
+ // src/lib/rating/criteria/scoring/supply.ts
301
+ var import_crypto_nft_score_model11 = require("@xyo-network/crypto-nft-score-model");
302
+
303
+ // src/lib/rating/criteria/scoring/lib/toBigNumber.ts
304
+ var import_bignumber = require("@xylabs/bignumber");
305
+ var toBigNumber = (value) => {
306
+ try {
307
+ return new import_bignumber.BigNumber(value);
308
+ } catch (error) {
309
+ return void 0;
310
+ }
311
+ };
312
+
313
+ // src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts
314
+ var isValidPositiveBigNumber = (value) => {
315
+ const num = toBigNumber(value);
316
+ return !num || num.isNeg() ? false : true;
317
+ };
318
+
319
+ // src/lib/rating/criteria/scoring/supply.ts
320
+ var scoreSupply = (nft) => {
321
+ if (!nft.supply)
322
+ return import_crypto_nft_score_model11.FAIL;
323
+ if (typeof nft.supply !== "string")
324
+ return import_crypto_nft_score_model11.FAIL;
325
+ try {
326
+ return isValidPositiveBigNumber(nft.supply) ? import_crypto_nft_score_model11.PASS : import_crypto_nft_score_model11.FAIL;
327
+ } catch (_error) {
328
+ return import_crypto_nft_score_model11.FAIL;
329
+ }
330
+ };
331
+
332
+ // src/lib/rating/criteria/scoring/tokenId.ts
333
+ var import_crypto_nft_score_model12 = require("@xyo-network/crypto-nft-score-model");
334
+ var scoreTokenId = (nft) => {
335
+ if (!nft.tokenId)
336
+ return import_crypto_nft_score_model12.FAIL;
337
+ if (typeof nft.tokenId !== "string")
338
+ return import_crypto_nft_score_model12.FAIL;
339
+ try {
340
+ return isValidPositiveBigNumber(nft.tokenId) ? import_crypto_nft_score_model12.PASS : import_crypto_nft_score_model12.FAIL;
341
+ } catch (_error) {
342
+ return import_crypto_nft_score_model12.FAIL;
343
+ }
344
+ };
345
+
346
+ // src/lib/rating/criteria/scoring/type.ts
347
+ var import_crypto_nft_score_model13 = require("@xyo-network/crypto-nft-score-model");
348
+ var scoreType = (nft) => {
349
+ if (!nft.type)
350
+ return import_crypto_nft_score_model13.FAIL;
351
+ if (typeof nft.type !== "string")
352
+ return import_crypto_nft_score_model13.FAIL;
353
+ const type = nft.type.toUpperCase();
354
+ if (type !== "ERC721" && type !== "ERC1155")
355
+ return import_crypto_nft_score_model13.FAIL;
356
+ return import_crypto_nft_score_model13.PASS;
357
+ };
358
+
359
+ // src/lib/rating/criteria/scoringCriteria.ts
360
+ var attributesScoringCriteria = {
361
+ Attributes: { score: evaluateNftAttributes, weight: 1 }
362
+ };
363
+ var metadataScoringCriteria = {
364
+ "Animation URL": { score: scoreNftAnimationUrl, weight: 1 },
365
+ "Background Color": { score: scoreNftBackgroundColor, weight: 1 },
366
+ Description: { score: scoreNftDescription, weight: 1 },
367
+ "External Url": { score: scoreNftExternalUrl, weight: 1 },
368
+ Image: { score: scoreNftImage, weight: 1 },
369
+ "Image Data": { score: scoreNftImageData, weight: 1 },
370
+ Name: { score: scoreNftName, weight: 1 },
371
+ "YouTube URL": { score: scoreNftYoutubeUrl, weight: 1 },
372
+ ...attributesScoringCriteria
373
+ };
374
+ var scoringCriteria = {
375
+ "Contract Address": { score: scoreContractAddress, weight: 1 },
376
+ Supply: { score: scoreSupply, weight: 1 },
377
+ "Token Id": { score: scoreTokenId, weight: 1 },
378
+ Type: { score: scoreType, weight: 1 },
379
+ ...metadataScoringCriteria
380
+ };
381
+
382
+ // src/lib/rating/analyzeNft.ts
383
+ var analyzeNft = async (nft) => {
384
+ const result = Object.fromEntries(
385
+ await Promise.all(
386
+ Object.entries(scoringCriteria).map(async ([key, { score, weight }]) => {
387
+ const rawScore = await score(nft);
388
+ const weighted = rawScore.map((v) => v * weight);
389
+ return [key, weighted];
390
+ })
391
+ )
392
+ );
393
+ return result;
394
+ };
395
+ // Annotate the CommonJS export names for ESM import in node:
396
+ 0 && (module.exports = {
397
+ analyzeNft
398
+ });
399
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/rating/index.ts","../../../../src/lib/rating/criteria/scoring/contract.ts","../../../../src/lib/rating/criteria/scoring/metadata/animationUrl.ts","../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts","../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts","../../../../src/lib/rating/criteria/scoring/metadata/backgroundColor.ts","../../../../src/lib/rating/criteria/scoring/metadata/description.ts","../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.ts","../../../../src/lib/rating/criteria/scoring/metadata/image.ts","../../../../src/lib/rating/criteria/scoring/metadata/imageData.ts","../../../../src/lib/rating/criteria/scoring/metadata/name.ts","../../../../src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts","../../../../src/lib/rating/criteria/scoring/supply.ts","../../../../src/lib/rating/criteria/scoring/lib/toBigNumber.ts","../../../../src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts","../../../../src/lib/rating/criteria/scoring/tokenId.ts","../../../../src/lib/rating/criteria/scoring/type.ts","../../../../src/lib/rating/criteria/scoringCriteria.ts","../../../../src/lib/rating/analyzeNft.ts"],"sourcesContent":["export * from './analyzeNft'\n","import { isAddress } from '@ethersproject/address'\nimport { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreContractAddress: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.address) return FAIL\n if (typeof nft.address !== 'string') return FAIL\n if (!isAddress(nft.address)) return FAIL\n return PASS\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl, isWeb3 } from './lib'\n\nexport const scoreNftAnimationUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreAnimationUrl(nft.metadata?.animation_url)\n}\n\nexport const scoreAnimationUrl = (animation_url: unknown): ScaledScore => {\n const score: ScaledScore = [0, 0]\n if (animation_url === undefined || animation_url === null) return PASS\n incrementPossible(score)\n if (typeof animation_url !== 'string') return score\n incrementTotalAndPossible(score)\n if (!isValidUrl(animation_url)) return score\n incrementTotalAndPossible(score)\n if (!isSecure(animation_url)) return score\n incrementTotalAndPossible(score)\n if (!isWeb3(animation_url)) return score\n return incrementTotal(score)\n}\n","import { URL } from '@xylabs/url'\n\nexport const web3Protocols = ['ipfs:', 'ar:']\n\nexport const toUrl = (url?: string | null): URL | undefined => {\n if (!url) return undefined\n try {\n return new URL(url)\n } catch (e) {\n return undefined\n }\n}\n\nexport const isValidUrl = (url?: string | null): boolean => toUrl(url) !== undefined\nexport const isWeb3 = (url?: string | null): boolean => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol)\nexport const isWeb2 = (url?: string | null): boolean => !isWeb3(url)\nexport const isSecure = (url?: string | null): boolean => isWeb3(url) || toUrl(url)?.protocol === 'https:'\n","import { NftAttribute, NftInfoFields, OpenSeaNftAttribute, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementPossible, incrementTotal, incrementTotalAndPossible, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nconst isDate = (value: unknown): value is Date => {\n if (isNumber(value)) {\n try {\n new Date(value)\n return true\n } catch (error) {\n return false\n }\n }\n return false\n}\n\nconst isNumber = (value: unknown): value is number => typeof value === 'number'\n\nconst isPercentage = (value: unknown): boolean => isNumber(value) && value >= 0 && value <= 100\n\nconst isNonEmptyString = (value: unknown): value is string => typeof value === 'string' && value.length > 0\n\nconst isNonEmptyStringOrNumber = (value: unknown): value is string | number => value === 'number' || isNonEmptyString(value)\n\nexport const evaluateNftAttributes = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore =>\n !nft?.metadata?.attributes ? [0, 1] : evaluateAttributes(nft?.metadata?.attributes)\n\nexport const evaluateAttributes = (attributes: NftAttribute[] | OpenSeaNftAttribute[] | unknown): ScaledScore => {\n if (!attributes || !Array.isArray(attributes) || attributes.length === 0) return [0, 1]\n const score: ScaledScore = [0, 0]\n for (const attribute of attributes) {\n const [attributeTotal, attributePossible] = evaluateAttribute(attribute)\n incrementTotalAndPossible(score, attributeTotal, attributePossible)\n }\n return [1, 1]\n}\n\nexport const evaluateAttribute = (attribute: OpenSeaNftAttribute): ScaledScore => {\n const score: ScaledScore = [0, 1]\n const max_value = attribute?.max_value\n const trait_type = attribute?.trait_type\n const value = attribute?.value\n\n // Validate trait_type & value\n if (!attribute || typeof attribute !== 'object' || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value)) return score\n incrementTotal(score)\n\n // Validate display_type\n incrementPossible(score)\n if (validDisplayType(attribute)) incrementTotal(score)\n\n // Validate max_value\n if (max_value !== undefined) {\n incrementPossible(score)\n if (isNumber(max_value) && isNumber(value) && value <= max_value) incrementTotal(score)\n }\n\n return score\n}\n\nconst validDisplayType = (attribute: OpenSeaNftAttribute): boolean => {\n switch (attribute?.display_type) {\n case 'number':\n case 'boost_number': {\n if (isNumber(attribute?.value)) return true\n break\n }\n case 'boost_percentage': {\n if (isPercentage(attribute?.value)) return true\n break\n }\n case 'date': {\n if (isDate(attribute?.value)) return true\n break\n }\n case 'string':\n case undefined: {\n if (isNonEmptyString(attribute?.value)) return true\n break\n }\n default: {\n break\n }\n }\n return false\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nconst isHexColor = /^[0-9A-F]{6}$/i\n\nexport const scoreNftBackgroundColor = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreBackgroundColor(nft.metadata?.background_color)\n}\n\nexport const scoreBackgroundColor = (background_color: unknown): ScaledScore => {\n const score: ScaledScore = [0, 0]\n if (background_color === undefined || background_color === null) return PASS\n incrementPossible(score)\n if (typeof background_color !== 'string') return score\n incrementTotalAndPossible(score)\n if (!background_color.toUpperCase().match(isHexColor)) return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreNftDescription = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreDescription(nft.metadata?.description)\n}\n\nexport const scoreDescription = (description: unknown): ScaledScore => {\n const score: ScaledScore = [0, 1]\n if (!description || typeof description !== 'string') return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl } from './lib'\n\nexport const scoreNftExternalUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreExternalUrl(nft?.metadata?.external_url)\n}\nexport const scoreExternalUrl = (external_url: unknown): ScaledScore => {\n const score: ScaledScore = [0, 2]\n if (external_url === undefined || external_url === null || typeof external_url !== 'string' || !isValidUrl(external_url)) return score\n incrementTotal(score)\n if (!isSecure(external_url)) return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl, isWeb3 } from './lib'\n\nconst MaxPossibleImageScore = 3\n\nexport const scoreNftImage = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n // If there's no image data\n if (!nft?.metadata?.image) {\n // but there is image data, skip this scoring criteria, otherwise fail it completely\n return nft.metadata?.image_data ? PASS : [0, MaxPossibleImageScore]\n } else {\n return scoreImage(nft.metadata?.image)\n }\n}\n\nexport const scoreImage = (image: unknown): ScaledScore => {\n const score: ScaledScore = [0, MaxPossibleImageScore]\n if (!image || typeof image !== 'string' || !isValidUrl(image)) return score\n incrementTotal(score)\n if (!isSecure(image)) return score\n incrementTotal(score)\n if (!isWeb3(image)) return score\n incrementTotal(score)\n return score\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\nimport { parse } from 'svg-parser'\n\nconst MaxPossibleImageDataScore = 1\n\n// NOTE: There is probably a deeper check we can do\n// here, but this is a good start\nconst isValidImageData = (image_data: string): boolean => {\n // If it doesn't start with an svg tag, it's not an svg\n if (!image_data.startsWith('<svg')) return false\n try {\n // If it can't be parsed, it's not an svg\n parse(image_data)\n return true\n } catch (error) {\n return false\n }\n}\n\nexport const scoreNftImageData = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n // If there's no image data\n if (!nft?.metadata?.image_data) {\n // but there is an image, skip this scoring criteria, otherwise fail it completely\n return nft.metadata?.image ? PASS : [0, MaxPossibleImageDataScore]\n } else {\n return scoreImageData(nft.metadata?.image_data)\n }\n}\n\nexport const scoreImageData = (image_data: unknown): ScaledScore => {\n return !image_data || typeof image_data !== 'string' || !isValidImageData(image_data)\n ? [0, MaxPossibleImageDataScore]\n : [MaxPossibleImageDataScore, MaxPossibleImageDataScore]\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreNftName = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreName(nft.metadata?.name)\n}\nexport const scoreName = (name: unknown): ScaledScore => {\n const score: ScaledScore = [0, 1]\n if (!name || typeof name !== 'string') return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl } from './lib'\n\nexport const scoreNftYoutubeUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreYoutubeUrl(nft?.metadata?.youtube_url)\n}\nexport const scoreYoutubeUrl = (youtube_url: unknown): ScaledScore => {\n if (youtube_url === undefined || youtube_url === null) return PASS\n const score: ScaledScore = [0, 2]\n if (typeof youtube_url !== 'string' || !isValidUrl(youtube_url)) return score\n incrementTotal(score)\n if (!isSecure(youtube_url)) return score\n return incrementTotal(score)\n}\n","import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nimport { isValidPositiveBigNumber } from './lib'\n\nexport const scoreSupply: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.supply) return FAIL\n if (typeof nft.supply !== 'string') return FAIL\n try {\n // Check for positive BigNumber since data type is uint256\n return isValidPositiveBigNumber(nft.supply) ? PASS : FAIL\n } catch (_error) {\n return FAIL\n }\n}\n","import { BigNumber } from '@xylabs/bignumber'\n\nexport const toBigNumber = (value: string): BigNumber | undefined => {\n try {\n return new BigNumber(value)\n } catch (error) {\n return undefined\n }\n}\n","import { toBigNumber } from './toBigNumber'\n\nexport const isValidPositiveBigNumber = (value: string): boolean => {\n const num = toBigNumber(value)\n return !num || num.isNeg() ? false : true\n}\n","import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nimport { isValidPositiveBigNumber } from './lib'\n\n/**\n * Callers SHALL NOT assume that ID numbers have any specific pattern to them, and\n * MUST treat the ID as a \"black box\"\n * @param nft\n * @returns\n */\nexport const scoreTokenId: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.tokenId) return FAIL\n if (typeof nft.tokenId !== 'string') return FAIL\n try {\n // Check for positive BigNumber since data type is uint256\n return isValidPositiveBigNumber(nft.tokenId) ? PASS : FAIL\n } catch (_error) {\n return FAIL\n }\n}\n","import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreType: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.type) return FAIL\n if (typeof nft.type !== 'string') return FAIL\n const type = nft.type.toUpperCase()\n if (type !== 'ERC721' && type !== 'ERC1155') return FAIL\n return PASS\n}\n","import {\n evaluateNftAttributes,\n scoreContractAddress,\n scoreNftAnimationUrl,\n scoreNftBackgroundColor,\n scoreNftDescription,\n scoreNftExternalUrl,\n scoreNftImage,\n scoreNftImageData,\n scoreNftName,\n scoreNftYoutubeUrl,\n scoreSupply,\n scoreTokenId,\n scoreType,\n} from './scoring'\n\nconst attributesScoringCriteria = {\n Attributes: { score: evaluateNftAttributes, weight: 1 },\n}\n\nconst metadataScoringCriteria = {\n 'Animation URL': { score: scoreNftAnimationUrl, weight: 1 },\n 'Background Color': { score: scoreNftBackgroundColor, weight: 1 },\n Description: { score: scoreNftDescription, weight: 1 },\n 'External Url': { score: scoreNftExternalUrl, weight: 1 },\n Image: { score: scoreNftImage, weight: 1 },\n 'Image Data': { score: scoreNftImageData, weight: 1 },\n Name: { score: scoreNftName, weight: 1 },\n 'YouTube URL': { score: scoreNftYoutubeUrl, weight: 1 },\n ...attributesScoringCriteria,\n}\n\nexport const scoringCriteria = {\n 'Contract Address': { score: scoreContractAddress, weight: 1 },\n Supply: { score: scoreSupply, weight: 1 },\n 'Token Id': { score: scoreTokenId, weight: 1 },\n Type: { score: scoreType, weight: 1 },\n ...metadataScoringCriteria,\n}\n","import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { Score } from '@xyo-network/crypto-nft-score-model'\n\nimport { scoringCriteria } from './criteria'\n\nexport type ScoringCriteriaKey = keyof typeof scoringCriteria & PropertyKey\n\nexport type NftAnalysis = {\n [key in ScoringCriteriaKey]: Score\n}\n\nexport const analyzeNft = async (\n /**\n * The NFT to evaluate\n */\n nft: NftInfoFields,\n): Promise<NftAnalysis> => {\n const result = Object.fromEntries(\n await Promise.all(\n Object.entries(scoringCriteria).map(async ([key, { score, weight }]) => {\n const rawScore = await score(nft)\n const weighted = rawScore.map((v) => v * weight) as Score\n return [key, weighted] as const\n }),\n ),\n ) as NftAnalysis\n return result\n}\n"],"mappings":"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","names":["import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model","import_crypto_nft_score_model"]}