@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,442 @@
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/Plugin.ts
21
+ var Plugin_exports = {};
22
+ __export(Plugin_exports, {
23
+ NftScoreDivinerPlugin: () => NftScoreDivinerPlugin
24
+ });
25
+ module.exports = __toCommonJS(Plugin_exports);
26
+ var import_crypto_nft_payload_plugin2 = require("@xyo-network/crypto-nft-payload-plugin");
27
+ var import_payload_model = require("@xyo-network/payload-model");
28
+ var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
29
+
30
+ // src/Diviner.ts
31
+ var import_abstract_diviner = require("@xyo-network/abstract-diviner");
32
+ var import_core = require("@xyo-network/core");
33
+ var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
34
+
35
+ // src/lib/rating/criteria/scoring/contract.ts
36
+ var import_address = require("@ethersproject/address");
37
+ var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
38
+ var scoreContractAddress = (nft) => {
39
+ if (!nft.address)
40
+ return import_crypto_nft_score_model.FAIL;
41
+ if (typeof nft.address !== "string")
42
+ return import_crypto_nft_score_model.FAIL;
43
+ if (!(0, import_address.isAddress)(nft.address))
44
+ return import_crypto_nft_score_model.FAIL;
45
+ return import_crypto_nft_score_model.PASS;
46
+ };
47
+
48
+ // src/lib/rating/criteria/scoring/metadata/animationUrl.ts
49
+ var import_crypto_nft_score_model2 = require("@xyo-network/crypto-nft-score-model");
50
+
51
+ // src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts
52
+ var import_url = require("@xylabs/url");
53
+ var web3Protocols = ["ipfs:", "ar:"];
54
+ var toUrl = (url) => {
55
+ if (!url)
56
+ return void 0;
57
+ try {
58
+ return new import_url.URL(url);
59
+ } catch (e) {
60
+ return void 0;
61
+ }
62
+ };
63
+ var isValidUrl = (url) => toUrl(url) !== void 0;
64
+ var isWeb3 = (url) => web3Protocols.some((protocol) => {
65
+ var _a;
66
+ return protocol === ((_a = toUrl(url)) == null ? void 0 : _a.protocol);
67
+ });
68
+ var isSecure = (url) => {
69
+ var _a;
70
+ return isWeb3(url) || ((_a = toUrl(url)) == null ? void 0 : _a.protocol) === "https:";
71
+ };
72
+
73
+ // src/lib/rating/criteria/scoring/metadata/animationUrl.ts
74
+ var scoreNftAnimationUrl = (nft) => {
75
+ var _a;
76
+ return scoreAnimationUrl((_a = nft.metadata) == null ? void 0 : _a.animation_url);
77
+ };
78
+ var scoreAnimationUrl = (animation_url) => {
79
+ const score = [0, 0];
80
+ if (animation_url === void 0 || animation_url === null)
81
+ return import_crypto_nft_score_model2.PASS;
82
+ (0, import_crypto_nft_score_model2.incrementPossible)(score);
83
+ if (typeof animation_url !== "string")
84
+ return score;
85
+ (0, import_crypto_nft_score_model2.incrementTotalAndPossible)(score);
86
+ if (!isValidUrl(animation_url))
87
+ return score;
88
+ (0, import_crypto_nft_score_model2.incrementTotalAndPossible)(score);
89
+ if (!isSecure(animation_url))
90
+ return score;
91
+ (0, import_crypto_nft_score_model2.incrementTotalAndPossible)(score);
92
+ if (!isWeb3(animation_url))
93
+ return score;
94
+ return (0, import_crypto_nft_score_model2.incrementTotal)(score);
95
+ };
96
+
97
+ // src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
98
+ var import_crypto_nft_score_model3 = require("@xyo-network/crypto-nft-score-model");
99
+ var isDate = (value) => {
100
+ if (isNumber(value)) {
101
+ try {
102
+ new Date(value);
103
+ return true;
104
+ } catch (error) {
105
+ return false;
106
+ }
107
+ }
108
+ return false;
109
+ };
110
+ var isNumber = (value) => typeof value === "number";
111
+ var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
112
+ var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
113
+ var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
114
+ var evaluateNftAttributes = (nft) => {
115
+ var _a, _b;
116
+ 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);
117
+ };
118
+ var evaluateAttributes = (attributes) => {
119
+ if (!attributes || !Array.isArray(attributes) || attributes.length === 0)
120
+ return [0, 1];
121
+ const score = [0, 0];
122
+ for (const attribute of attributes) {
123
+ const [attributeTotal, attributePossible] = evaluateAttribute(attribute);
124
+ (0, import_crypto_nft_score_model3.incrementTotalAndPossible)(score, attributeTotal, attributePossible);
125
+ }
126
+ return [1, 1];
127
+ };
128
+ var evaluateAttribute = (attribute) => {
129
+ const score = [0, 1];
130
+ const max_value = attribute == null ? void 0 : attribute.max_value;
131
+ const trait_type = attribute == null ? void 0 : attribute.trait_type;
132
+ const value = attribute == null ? void 0 : attribute.value;
133
+ if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value))
134
+ return score;
135
+ (0, import_crypto_nft_score_model3.incrementTotal)(score);
136
+ (0, import_crypto_nft_score_model3.incrementPossible)(score);
137
+ if (validDisplayType(attribute))
138
+ (0, import_crypto_nft_score_model3.incrementTotal)(score);
139
+ if (max_value !== void 0) {
140
+ (0, import_crypto_nft_score_model3.incrementPossible)(score);
141
+ if (isNumber(max_value) && isNumber(value) && value <= max_value)
142
+ (0, import_crypto_nft_score_model3.incrementTotal)(score);
143
+ }
144
+ return score;
145
+ };
146
+ var validDisplayType = (attribute) => {
147
+ switch (attribute == null ? void 0 : attribute.display_type) {
148
+ case "number":
149
+ case "boost_number": {
150
+ if (isNumber(attribute == null ? void 0 : attribute.value))
151
+ return true;
152
+ break;
153
+ }
154
+ case "boost_percentage": {
155
+ if (isPercentage(attribute == null ? void 0 : attribute.value))
156
+ return true;
157
+ break;
158
+ }
159
+ case "date": {
160
+ if (isDate(attribute == null ? void 0 : attribute.value))
161
+ return true;
162
+ break;
163
+ }
164
+ case "string":
165
+ case void 0: {
166
+ if (isNonEmptyString(attribute == null ? void 0 : attribute.value))
167
+ return true;
168
+ break;
169
+ }
170
+ default: {
171
+ break;
172
+ }
173
+ }
174
+ return false;
175
+ };
176
+
177
+ // src/lib/rating/criteria/scoring/metadata/backgroundColor.ts
178
+ var import_crypto_nft_score_model4 = require("@xyo-network/crypto-nft-score-model");
179
+ var isHexColor = /^[0-9A-F]{6}$/i;
180
+ var scoreNftBackgroundColor = (nft) => {
181
+ var _a;
182
+ return scoreBackgroundColor((_a = nft.metadata) == null ? void 0 : _a.background_color);
183
+ };
184
+ var scoreBackgroundColor = (background_color) => {
185
+ const score = [0, 0];
186
+ if (background_color === void 0 || background_color === null)
187
+ return import_crypto_nft_score_model4.PASS;
188
+ (0, import_crypto_nft_score_model4.incrementPossible)(score);
189
+ if (typeof background_color !== "string")
190
+ return score;
191
+ (0, import_crypto_nft_score_model4.incrementTotalAndPossible)(score);
192
+ if (!background_color.toUpperCase().match(isHexColor))
193
+ return score;
194
+ return (0, import_crypto_nft_score_model4.incrementTotal)(score);
195
+ };
196
+
197
+ // src/lib/rating/criteria/scoring/metadata/description.ts
198
+ var import_crypto_nft_score_model5 = require("@xyo-network/crypto-nft-score-model");
199
+ var scoreNftDescription = (nft) => {
200
+ var _a;
201
+ return scoreDescription((_a = nft.metadata) == null ? void 0 : _a.description);
202
+ };
203
+ var scoreDescription = (description) => {
204
+ const score = [0, 1];
205
+ if (!description || typeof description !== "string")
206
+ return score;
207
+ return (0, import_crypto_nft_score_model5.incrementTotal)(score);
208
+ };
209
+
210
+ // src/lib/rating/criteria/scoring/metadata/externalUrl.ts
211
+ var import_crypto_nft_score_model6 = require("@xyo-network/crypto-nft-score-model");
212
+ var scoreNftExternalUrl = (nft) => {
213
+ var _a;
214
+ return scoreExternalUrl((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.external_url);
215
+ };
216
+ var scoreExternalUrl = (external_url) => {
217
+ const score = [0, 2];
218
+ if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url))
219
+ return score;
220
+ (0, import_crypto_nft_score_model6.incrementTotal)(score);
221
+ if (!isSecure(external_url))
222
+ return score;
223
+ return (0, import_crypto_nft_score_model6.incrementTotal)(score);
224
+ };
225
+
226
+ // src/lib/rating/criteria/scoring/metadata/image.ts
227
+ var import_crypto_nft_score_model7 = require("@xyo-network/crypto-nft-score-model");
228
+ var MaxPossibleImageScore = 3;
229
+ var scoreNftImage = (nft) => {
230
+ var _a, _b, _c;
231
+ if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image)) {
232
+ return ((_b = nft.metadata) == null ? void 0 : _b.image_data) ? import_crypto_nft_score_model7.PASS : [0, MaxPossibleImageScore];
233
+ } else {
234
+ return scoreImage((_c = nft.metadata) == null ? void 0 : _c.image);
235
+ }
236
+ };
237
+ var scoreImage = (image) => {
238
+ const score = [0, MaxPossibleImageScore];
239
+ if (!image || typeof image !== "string" || !isValidUrl(image))
240
+ return score;
241
+ (0, import_crypto_nft_score_model7.incrementTotal)(score);
242
+ if (!isSecure(image))
243
+ return score;
244
+ (0, import_crypto_nft_score_model7.incrementTotal)(score);
245
+ if (!isWeb3(image))
246
+ return score;
247
+ (0, import_crypto_nft_score_model7.incrementTotal)(score);
248
+ return score;
249
+ };
250
+
251
+ // src/lib/rating/criteria/scoring/metadata/imageData.ts
252
+ var import_crypto_nft_score_model8 = require("@xyo-network/crypto-nft-score-model");
253
+ var import_svg_parser = require("svg-parser");
254
+ var MaxPossibleImageDataScore = 1;
255
+ var isValidImageData = (image_data) => {
256
+ if (!image_data.startsWith("<svg"))
257
+ return false;
258
+ try {
259
+ (0, import_svg_parser.parse)(image_data);
260
+ return true;
261
+ } catch (error) {
262
+ return false;
263
+ }
264
+ };
265
+ var scoreNftImageData = (nft) => {
266
+ var _a, _b, _c;
267
+ if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image_data)) {
268
+ return ((_b = nft.metadata) == null ? void 0 : _b.image) ? import_crypto_nft_score_model8.PASS : [0, MaxPossibleImageDataScore];
269
+ } else {
270
+ return scoreImageData((_c = nft.metadata) == null ? void 0 : _c.image_data);
271
+ }
272
+ };
273
+ var scoreImageData = (image_data) => {
274
+ return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
275
+ };
276
+
277
+ // src/lib/rating/criteria/scoring/metadata/name.ts
278
+ var import_crypto_nft_score_model9 = require("@xyo-network/crypto-nft-score-model");
279
+ var scoreNftName = (nft) => {
280
+ var _a;
281
+ return scoreName((_a = nft.metadata) == null ? void 0 : _a.name);
282
+ };
283
+ var scoreName = (name) => {
284
+ const score = [0, 1];
285
+ if (!name || typeof name !== "string")
286
+ return score;
287
+ return (0, import_crypto_nft_score_model9.incrementTotal)(score);
288
+ };
289
+
290
+ // src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts
291
+ var import_crypto_nft_score_model10 = require("@xyo-network/crypto-nft-score-model");
292
+ var scoreNftYoutubeUrl = (nft) => {
293
+ var _a;
294
+ return scoreYoutubeUrl((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.youtube_url);
295
+ };
296
+ var scoreYoutubeUrl = (youtube_url) => {
297
+ if (youtube_url === void 0 || youtube_url === null)
298
+ return import_crypto_nft_score_model10.PASS;
299
+ const score = [0, 2];
300
+ if (typeof youtube_url !== "string" || !isValidUrl(youtube_url))
301
+ return score;
302
+ (0, import_crypto_nft_score_model10.incrementTotal)(score);
303
+ if (!isSecure(youtube_url))
304
+ return score;
305
+ return (0, import_crypto_nft_score_model10.incrementTotal)(score);
306
+ };
307
+
308
+ // src/lib/rating/criteria/scoring/supply.ts
309
+ var import_crypto_nft_score_model11 = require("@xyo-network/crypto-nft-score-model");
310
+
311
+ // src/lib/rating/criteria/scoring/lib/toBigNumber.ts
312
+ var import_bignumber = require("@xylabs/bignumber");
313
+ var toBigNumber = (value) => {
314
+ try {
315
+ return new import_bignumber.BigNumber(value);
316
+ } catch (error) {
317
+ return void 0;
318
+ }
319
+ };
320
+
321
+ // src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts
322
+ var isValidPositiveBigNumber = (value) => {
323
+ const num = toBigNumber(value);
324
+ return !num || num.isNeg() ? false : true;
325
+ };
326
+
327
+ // src/lib/rating/criteria/scoring/supply.ts
328
+ var scoreSupply = (nft) => {
329
+ if (!nft.supply)
330
+ return import_crypto_nft_score_model11.FAIL;
331
+ if (typeof nft.supply !== "string")
332
+ return import_crypto_nft_score_model11.FAIL;
333
+ try {
334
+ return isValidPositiveBigNumber(nft.supply) ? import_crypto_nft_score_model11.PASS : import_crypto_nft_score_model11.FAIL;
335
+ } catch (_error) {
336
+ return import_crypto_nft_score_model11.FAIL;
337
+ }
338
+ };
339
+
340
+ // src/lib/rating/criteria/scoring/tokenId.ts
341
+ var import_crypto_nft_score_model12 = require("@xyo-network/crypto-nft-score-model");
342
+ var scoreTokenId = (nft) => {
343
+ if (!nft.tokenId)
344
+ return import_crypto_nft_score_model12.FAIL;
345
+ if (typeof nft.tokenId !== "string")
346
+ return import_crypto_nft_score_model12.FAIL;
347
+ try {
348
+ return isValidPositiveBigNumber(nft.tokenId) ? import_crypto_nft_score_model12.PASS : import_crypto_nft_score_model12.FAIL;
349
+ } catch (_error) {
350
+ return import_crypto_nft_score_model12.FAIL;
351
+ }
352
+ };
353
+
354
+ // src/lib/rating/criteria/scoring/type.ts
355
+ var import_crypto_nft_score_model13 = require("@xyo-network/crypto-nft-score-model");
356
+ var scoreType = (nft) => {
357
+ if (!nft.type)
358
+ return import_crypto_nft_score_model13.FAIL;
359
+ if (typeof nft.type !== "string")
360
+ return import_crypto_nft_score_model13.FAIL;
361
+ const type = nft.type.toUpperCase();
362
+ if (type !== "ERC721" && type !== "ERC1155")
363
+ return import_crypto_nft_score_model13.FAIL;
364
+ return import_crypto_nft_score_model13.PASS;
365
+ };
366
+
367
+ // src/lib/rating/criteria/scoringCriteria.ts
368
+ var attributesScoringCriteria = {
369
+ Attributes: { score: evaluateNftAttributes, weight: 1 }
370
+ };
371
+ var metadataScoringCriteria = {
372
+ "Animation URL": { score: scoreNftAnimationUrl, weight: 1 },
373
+ "Background Color": { score: scoreNftBackgroundColor, weight: 1 },
374
+ Description: { score: scoreNftDescription, weight: 1 },
375
+ "External Url": { score: scoreNftExternalUrl, weight: 1 },
376
+ Image: { score: scoreNftImage, weight: 1 },
377
+ "Image Data": { score: scoreNftImageData, weight: 1 },
378
+ Name: { score: scoreNftName, weight: 1 },
379
+ "YouTube URL": { score: scoreNftYoutubeUrl, weight: 1 },
380
+ ...attributesScoringCriteria
381
+ };
382
+ var scoringCriteria = {
383
+ "Contract Address": { score: scoreContractAddress, weight: 1 },
384
+ Supply: { score: scoreSupply, weight: 1 },
385
+ "Token Id": { score: scoreTokenId, weight: 1 },
386
+ Type: { score: scoreType, weight: 1 },
387
+ ...metadataScoringCriteria
388
+ };
389
+
390
+ // src/lib/rating/analyzeNft.ts
391
+ var analyzeNft = async (nft) => {
392
+ const result = Object.fromEntries(
393
+ await Promise.all(
394
+ Object.entries(scoringCriteria).map(async ([key, { score, weight }]) => {
395
+ const rawScore = await score(nft);
396
+ const weighted = rawScore.map((v) => v * weight);
397
+ return [key, weighted];
398
+ })
399
+ )
400
+ );
401
+ return result;
402
+ };
403
+
404
+ // src/Diviner.ts
405
+ var toNftScorePayload = (nftInfo, scores) => {
406
+ const { address, chainId, type } = nftInfo;
407
+ return { address, chainId, schema: import_crypto_nft_payload_plugin.NftScoreSchema, scores, type };
408
+ };
409
+ var NftScoreDiviner = class extends import_abstract_diviner.AbstractDiviner {
410
+ static configSchemas = [import_crypto_nft_payload_plugin.NftScoreDivinerConfigSchema];
411
+ divineHandler = async (payloads) => {
412
+ const nftInfos = (payloads == null ? void 0 : payloads.filter(import_crypto_nft_payload_plugin.isNftInfo)) ?? [];
413
+ const results = await Promise.all(
414
+ nftInfos.map(async (nftInfo) => {
415
+ const [score, sourceHash] = await Promise.all([
416
+ // Analyze the NFT
417
+ toNftScorePayload(nftInfo, await analyzeNft(nftInfo)),
418
+ // Hash the source payload
419
+ import_core.PayloadHasher.hashAsync(nftInfo)
420
+ ]);
421
+ return { ...score, sources: [sourceHash] };
422
+ })
423
+ );
424
+ return results;
425
+ };
426
+ };
427
+
428
+ // src/Plugin.ts
429
+ var NftScoreDivinerPlugin = () => (0, import_payloadset_plugin.createPayloadSetDivinerPlugin)(
430
+ { required: { [import_crypto_nft_payload_plugin2.NftSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
431
+ {
432
+ diviner: async (params) => {
433
+ const result = await NftScoreDiviner.create(params);
434
+ return result;
435
+ }
436
+ }
437
+ );
438
+ // Annotate the CommonJS export names for ESM import in node:
439
+ 0 && (module.exports = {
440
+ NftScoreDivinerPlugin
441
+ });
442
+ //# sourceMappingURL=Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Diviner.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":["import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { NftScoreDiviner } from './Diviner'\n\nexport const NftScoreDivinerPlugin = () =>\n createPayloadSetDivinerPlugin<NftScoreDiviner>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n const result = await NftScoreDiviner.create(params)\n return result\n },\n },\n )\n","import { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport { PayloadHasher } from '@xyo-network/core'\nimport {\n isNftInfo,\n NftInfo,\n NftScore,\n NftScoreDivinerConfig,\n NftScoreDivinerConfigSchema,\n NftScoreSchema,\n} from '@xyo-network/crypto-nft-payload-plugin'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { analyzeNft, NftAnalysis } from './lib'\n\nexport type NftScoreDivinerParams = DivinerParams<AnyConfigSchema<NftScoreDivinerConfig>>\n\nconst toNftScorePayload = (nftInfo: NftInfo, scores: NftAnalysis): NftScore => {\n const { address, chainId, type } = nftInfo\n return { address, chainId, schema: NftScoreSchema, scores, type }\n}\n\nexport const isNftScore = (payload: Payload): payload is NftScore => payload.schema === NftScoreSchema\n\nexport class NftScoreDiviner<TParams extends NftScoreDivinerParams = NftScoreDivinerParams> extends AbstractDiviner<TParams> {\n static override configSchemas = [NftScoreDivinerConfigSchema]\n\n protected override divineHandler = async (payloads?: Payload[]): Promise<Payload[]> => {\n const nftInfos = payloads?.filter(isNftInfo) ?? []\n const results = await Promise.all(\n nftInfos.map<Promise<NftScore>>(async (nftInfo) => {\n const [score, sourceHash] = await Promise.all([\n // Analyze the NFT\n toNftScorePayload(nftInfo, await analyzeNft(nftInfo)),\n // Hash the source payload\n PayloadHasher.hashAsync(nftInfo),\n ])\n return { ...score, sources: [sourceHash] }\n }),\n )\n return results\n }\n}\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_payload_plugin","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"]}