@xyo-network/crypto-nft-diviner-score-plugin 2.75.0 → 2.75.3

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 (292) hide show
  1. package/dist/browser/Diviner.d.cts +14 -0
  2. package/dist/browser/Diviner.d.cts.map +1 -0
  3. package/dist/browser/Diviner.js +5 -359
  4. package/dist/browser/Diviner.js.map +1 -1
  5. package/dist/browser/Plugin.d.cts +50 -0
  6. package/dist/browser/Plugin.d.cts.map +1 -0
  7. package/dist/browser/Plugin.js +2 -389
  8. package/dist/browser/Plugin.js.map +1 -1
  9. package/dist/browser/index.d.cts +6 -0
  10. package/dist/browser/index.d.cts.map +1 -0
  11. package/dist/browser/index.js +4 -407
  12. package/dist/browser/index.js.map +1 -1
  13. package/dist/browser/lib/index.d.cts +2 -0
  14. package/dist/browser/lib/index.d.cts.map +1 -0
  15. package/dist/browser/lib/index.js +1 -354
  16. package/dist/browser/lib/index.js.map +1 -1
  17. package/dist/browser/lib/rating/analyzeNft.d.cts +9 -0
  18. package/dist/browser/lib/rating/analyzeNft.d.cts.map +1 -0
  19. package/dist/browser/lib/rating/analyzeNft.js +2 -340
  20. package/dist/browser/lib/rating/analyzeNft.js.map +1 -1
  21. package/dist/browser/lib/rating/criteria/index.d.cts +2 -0
  22. package/dist/browser/lib/rating/criteria/index.d.cts.map +1 -0
  23. package/dist/browser/lib/rating/criteria/index.js +1 -340
  24. package/dist/browser/lib/rating/criteria/index.js.map +1 -1
  25. package/dist/browser/lib/rating/criteria/scoring/contract.d.cts +4 -0
  26. package/dist/browser/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
  27. package/dist/browser/lib/rating/criteria/scoring/contract.js +1 -2
  28. package/dist/browser/lib/rating/criteria/scoring/contract.js.map +1 -1
  29. package/dist/browser/lib/rating/criteria/scoring/index.d.cts +6 -0
  30. package/dist/browser/lib/rating/criteria/scoring/index.d.cts.map +1 -0
  31. package/dist/browser/lib/rating/criteria/scoring/index.js +5 -339
  32. package/dist/browser/lib/rating/criteria/scoring/index.js.map +1 -1
  33. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
  34. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
  35. package/dist/browser/lib/rating/criteria/scoring/lib/index.js +2 -19
  36. package/dist/browser/lib/rating/criteria/scoring/lib/index.js.map +1 -1
  37. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
  38. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
  39. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +2 -12
  40. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -1
  41. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
  42. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
  43. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js +1 -2
  44. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -1
  45. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
  46. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
  47. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js +3 -21
  48. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -1
  49. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
  50. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
  51. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +9 -10
  52. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -1
  53. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
  54. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
  55. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js +1 -81
  56. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -1
  57. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
  58. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
  59. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js +3 -4
  60. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -1
  61. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
  62. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
  63. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js +2 -3
  64. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js.map +1 -1
  65. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
  66. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
  67. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js +3 -21
  68. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -1
  69. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
  70. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
  71. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js +4 -22
  72. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js.map +1 -1
  73. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
  74. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
  75. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js +4 -5
  76. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -1
  77. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
  78. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
  79. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js +9 -263
  80. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js.map +1 -1
  81. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
  82. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
  83. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js +1 -24
  84. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -1
  85. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
  86. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
  87. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +6 -7
  88. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -1
  89. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
  90. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
  91. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js +2 -3
  92. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js.map +1 -1
  93. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
  94. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
  95. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js +3 -21
  96. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -1
  97. package/dist/browser/lib/rating/criteria/scoring/supply.d.cts +4 -0
  98. package/dist/browser/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
  99. package/dist/browser/lib/rating/criteria/scoring/supply.js +2 -20
  100. package/dist/browser/lib/rating/criteria/scoring/supply.js.map +1 -1
  101. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
  102. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
  103. package/dist/browser/lib/rating/criteria/scoring/tokenId.js +2 -20
  104. package/dist/browser/lib/rating/criteria/scoring/tokenId.js.map +1 -1
  105. package/dist/browser/lib/rating/criteria/scoring/type.d.cts +4 -0
  106. package/dist/browser/lib/rating/criteria/scoring/type.d.cts.map +1 -0
  107. package/dist/browser/lib/rating/criteria/scoring/type.js +1 -2
  108. package/dist/browser/lib/rating/criteria/scoring/type.js.map +1 -1
  109. package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts +55 -0
  110. package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
  111. package/dist/browser/lib/rating/criteria/scoringCriteria.js +18 -319
  112. package/dist/browser/lib/rating/criteria/scoringCriteria.js.map +1 -1
  113. package/dist/browser/lib/rating/index.d.cts +2 -0
  114. package/dist/browser/lib/rating/index.d.cts.map +1 -0
  115. package/dist/browser/lib/rating/index.js +1 -354
  116. package/dist/browser/lib/rating/index.js.map +1 -1
  117. package/dist/docs.json +21969 -0
  118. package/dist/node/Diviner.d.cts +14 -0
  119. package/dist/node/Diviner.d.cts.map +1 -0
  120. package/dist/node/Diviner.js +379 -7
  121. package/dist/node/Diviner.js.map +1 -1
  122. package/dist/node/Diviner.mjs +377 -6
  123. package/dist/node/Diviner.mjs.map +1 -1
  124. package/dist/node/Plugin.d.cts +50 -0
  125. package/dist/node/Plugin.d.cts.map +1 -0
  126. package/dist/node/Plugin.js +406 -5
  127. package/dist/node/Plugin.js.map +1 -1
  128. package/dist/node/Plugin.mjs +406 -2
  129. package/dist/node/Plugin.mjs.map +1 -1
  130. package/dist/node/index.d.cts +6 -0
  131. package/dist/node/index.d.cts.map +1 -0
  132. package/dist/node/index.js +428 -9
  133. package/dist/node/index.js.map +1 -1
  134. package/dist/node/index.mjs +424 -4
  135. package/dist/node/index.mjs.map +1 -1
  136. package/dist/node/lib/index.d.cts +2 -0
  137. package/dist/node/lib/index.d.cts.map +1 -0
  138. package/dist/node/lib/index.js +379 -3
  139. package/dist/node/lib/index.js.map +1 -1
  140. package/dist/node/lib/index.mjs +371 -1
  141. package/dist/node/lib/index.mjs.map +1 -1
  142. package/dist/node/lib/rating/analyzeNft.d.cts +9 -0
  143. package/dist/node/lib/rating/analyzeNft.d.cts.map +1 -0
  144. package/dist/node/lib/rating/analyzeNft.js +361 -3
  145. package/dist/node/lib/rating/analyzeNft.js.map +1 -1
  146. package/dist/node/lib/rating/analyzeNft.mjs +357 -2
  147. package/dist/node/lib/rating/analyzeNft.mjs.map +1 -1
  148. package/dist/node/lib/rating/criteria/index.d.cts +2 -0
  149. package/dist/node/lib/rating/criteria/index.d.cts.map +1 -0
  150. package/dist/node/lib/rating/criteria/index.js +365 -3
  151. package/dist/node/lib/rating/criteria/index.js.map +1 -1
  152. package/dist/node/lib/rating/criteria/index.mjs +357 -1
  153. package/dist/node/lib/rating/criteria/index.mjs.map +1 -1
  154. package/dist/node/lib/rating/criteria/scoring/contract.d.cts +4 -0
  155. package/dist/node/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
  156. package/dist/node/lib/rating/criteria/scoring/contract.js +3 -1
  157. package/dist/node/lib/rating/criteria/scoring/contract.js.map +1 -1
  158. package/dist/node/lib/rating/criteria/scoring/contract.mjs +2 -1
  159. package/dist/node/lib/rating/criteria/scoring/contract.mjs.map +1 -1
  160. package/dist/node/lib/rating/criteria/scoring/index.d.cts +6 -0
  161. package/dist/node/lib/rating/criteria/scoring/index.d.cts.map +1 -0
  162. package/dist/node/lib/rating/criteria/scoring/index.js +386 -11
  163. package/dist/node/lib/rating/criteria/scoring/index.js.map +1 -1
  164. package/dist/node/lib/rating/criteria/scoring/index.mjs +356 -5
  165. package/dist/node/lib/rating/criteria/scoring/index.mjs.map +1 -1
  166. package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
  167. package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
  168. package/dist/node/lib/rating/criteria/scoring/lib/index.js +28 -5
  169. package/dist/node/lib/rating/criteria/scoring/lib/index.js.map +1 -1
  170. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs +19 -2
  171. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs.map +1 -1
  172. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
  173. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
  174. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +16 -3
  175. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -1
  176. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs +12 -2
  177. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs.map +1 -1
  178. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
  179. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
  180. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js +3 -1
  181. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -1
  182. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs +2 -1
  183. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs.map +1 -1
  184. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
  185. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
  186. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js +33 -7
  187. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -1
  188. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs +29 -4
  189. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs.map +1 -1
  190. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
  191. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
  192. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +22 -17
  193. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -1
  194. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs +21 -17
  195. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs.map +1 -1
  196. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
  197. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
  198. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js +94 -3
  199. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -1
  200. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs +84 -1
  201. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs.map +1 -1
  202. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
  203. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
  204. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js +7 -4
  205. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -1
  206. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs +6 -4
  207. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs.map +1 -1
  208. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
  209. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
  210. package/dist/node/lib/rating/criteria/scoring/metadata/description.js +6 -3
  211. package/dist/node/lib/rating/criteria/scoring/metadata/description.js.map +1 -1
  212. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs +5 -3
  213. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs.map +1 -1
  214. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
  215. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
  216. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js +32 -6
  217. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -1
  218. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs +29 -4
  219. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs.map +1 -1
  220. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
  221. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
  222. package/dist/node/lib/rating/criteria/scoring/metadata/image.js +36 -10
  223. package/dist/node/lib/rating/criteria/scoring/metadata/image.js.map +1 -1
  224. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs +32 -7
  225. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs.map +1 -1
  226. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
  227. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
  228. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js +10 -7
  229. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -1
  230. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs +9 -7
  231. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs.map +1 -1
  232. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
  233. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
  234. package/dist/node/lib/rating/criteria/scoring/metadata/index.js +306 -19
  235. package/dist/node/lib/rating/criteria/scoring/metadata/index.js.map +1 -1
  236. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs +280 -9
  237. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs.map +1 -1
  238. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
  239. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
  240. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js +43 -3
  241. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -1
  242. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs +30 -1
  243. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs.map +1 -1
  244. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
  245. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
  246. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +14 -6
  247. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -1
  248. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs +13 -6
  249. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs.map +1 -1
  250. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
  251. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
  252. package/dist/node/lib/rating/criteria/scoring/metadata/name.js +6 -3
  253. package/dist/node/lib/rating/criteria/scoring/metadata/name.js.map +1 -1
  254. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs +5 -3
  255. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs.map +1 -1
  256. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
  257. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
  258. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js +32 -6
  259. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -1
  260. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs +29 -4
  261. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs.map +1 -1
  262. package/dist/node/lib/rating/criteria/scoring/supply.d.cts +4 -0
  263. package/dist/node/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
  264. package/dist/node/lib/rating/criteria/scoring/supply.js +22 -3
  265. package/dist/node/lib/rating/criteria/scoring/supply.js.map +1 -1
  266. package/dist/node/lib/rating/criteria/scoring/supply.mjs +20 -2
  267. package/dist/node/lib/rating/criteria/scoring/supply.mjs.map +1 -1
  268. package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
  269. package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
  270. package/dist/node/lib/rating/criteria/scoring/tokenId.js +22 -3
  271. package/dist/node/lib/rating/criteria/scoring/tokenId.js.map +1 -1
  272. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs +20 -2
  273. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs.map +1 -1
  274. package/dist/node/lib/rating/criteria/scoring/type.d.cts +4 -0
  275. package/dist/node/lib/rating/criteria/scoring/type.d.cts.map +1 -0
  276. package/dist/node/lib/rating/criteria/scoring/type.js +3 -1
  277. package/dist/node/lib/rating/criteria/scoring/type.js.map +1 -1
  278. package/dist/node/lib/rating/criteria/scoring/type.mjs +2 -1
  279. package/dist/node/lib/rating/criteria/scoring/type.mjs.map +1 -1
  280. package/dist/node/lib/rating/criteria/scoringCriteria.d.cts +55 -0
  281. package/dist/node/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
  282. package/dist/node/lib/rating/criteria/scoringCriteria.js +353 -18
  283. package/dist/node/lib/rating/criteria/scoringCriteria.js.map +1 -1
  284. package/dist/node/lib/rating/criteria/scoringCriteria.mjs +336 -18
  285. package/dist/node/lib/rating/criteria/scoringCriteria.mjs.map +1 -1
  286. package/dist/node/lib/rating/index.d.cts +2 -0
  287. package/dist/node/lib/rating/index.d.cts.map +1 -0
  288. package/dist/node/lib/rating/index.js +379 -3
  289. package/dist/node/lib/rating/index.js.map +1 -1
  290. package/dist/node/lib/rating/index.mjs +371 -1
  291. package/dist/node/lib/rating/index.mjs.map +1 -1
  292. package/package.json +15 -15
@@ -16,20 +16,39 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/rating/criteria/scoring/tokenId.ts
19
21
  var tokenId_exports = {};
20
22
  __export(tokenId_exports, {
21
23
  scoreTokenId: () => scoreTokenId
22
24
  });
23
25
  module.exports = __toCommonJS(tokenId_exports);
24
26
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
25
- var import_lib = require("./lib");
26
- const scoreTokenId = (nft) => {
27
+
28
+ // src/lib/rating/criteria/scoring/lib/toBigNumber.ts
29
+ var import_bignumber = require("@xylabs/bignumber");
30
+ var toBigNumber = (value) => {
31
+ try {
32
+ return new import_bignumber.BigNumber(value);
33
+ } catch (error) {
34
+ return void 0;
35
+ }
36
+ };
37
+
38
+ // src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts
39
+ var isValidPositiveBigNumber = (value) => {
40
+ const num = toBigNumber(value);
41
+ return !num || num.isNeg() ? false : true;
42
+ };
43
+
44
+ // src/lib/rating/criteria/scoring/tokenId.ts
45
+ var scoreTokenId = (nft) => {
27
46
  if (!nft.tokenId)
28
47
  return import_crypto_nft_score_model.FAIL;
29
48
  if (typeof nft.tokenId !== "string")
30
49
  return import_crypto_nft_score_model.FAIL;
31
50
  try {
32
- return (0, import_lib.isValidPositiveBigNumber)(nft.tokenId) ? import_crypto_nft_score_model.PASS : import_crypto_nft_score_model.FAIL;
51
+ return isValidPositiveBigNumber(nft.tokenId) ? import_crypto_nft_score_model.PASS : import_crypto_nft_score_model.FAIL;
33
52
  } catch (_error) {
34
53
  return import_crypto_nft_score_model.FAIL;
35
54
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAoD;AAEpD,iBAAyC;AAQlC,MAAM,eAAuD,CAAC,QAAuB;AAC1F,MAAI,CAAC,IAAI;AAAS,WAAO;AACzB,MAAI,OAAO,IAAI,YAAY;AAAU,WAAO;AAC5C,MAAI;AAEF,eAAO,qCAAyB,IAAI,OAAO,IAAI,qCAAO;AAAA,EACxD,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts","../../../../../../src/lib/rating/criteria/scoring/lib/toBigNumber.ts","../../../../../../src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts"],"sourcesContent":["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 { 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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAoD;;;ACDpD,uBAA0B;AAEnB,IAAM,cAAc,CAAC,UAAyC;AACnE,MAAI;AACF,WAAO,IAAI,2BAAU,KAAK;AAAA,EAC5B,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;;;ACNO,IAAM,2BAA2B,CAAC,UAA2B;AAClE,QAAM,MAAM,YAAY,KAAK;AAC7B,SAAO,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ;AACvC;;;AFMO,IAAM,eAAuD,CAAC,QAAuB;AAC1F,MAAI,CAAC,IAAI;AAAS,WAAO;AACzB,MAAI,OAAO,IAAI,YAAY;AAAU,WAAO;AAC5C,MAAI;AAEF,WAAO,yBAAyB,IAAI,OAAO,IAAI,qCAAO;AAAA,EACxD,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,6 +1,24 @@
1
+ // src/lib/rating/criteria/scoring/tokenId.ts
1
2
  import { FAIL, PASS } from "@xyo-network/crypto-nft-score-model";
2
- import { isValidPositiveBigNumber } from "./lib";
3
- const scoreTokenId = (nft) => {
3
+
4
+ // src/lib/rating/criteria/scoring/lib/toBigNumber.ts
5
+ import { BigNumber } from "@xylabs/bignumber";
6
+ var toBigNumber = (value) => {
7
+ try {
8
+ return new BigNumber(value);
9
+ } catch (error) {
10
+ return void 0;
11
+ }
12
+ };
13
+
14
+ // src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts
15
+ var isValidPositiveBigNumber = (value) => {
16
+ const num = toBigNumber(value);
17
+ return !num || num.isNeg() ? false : true;
18
+ };
19
+
20
+ // src/lib/rating/criteria/scoring/tokenId.ts
21
+ var scoreTokenId = (nft) => {
4
22
  if (!nft.tokenId)
5
23
  return FAIL;
6
24
  if (typeof nft.tokenId !== "string")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts"],"sourcesContent":["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"],"mappings":"AACA,SAAS,MAAM,YAAqC;AAEpD,SAAS,gCAAgC;AAQlC,MAAM,eAAuD,CAAC,QAAuB;AAC1F,MAAI,CAAC,IAAI;AAAS,WAAO;AACzB,MAAI,OAAO,IAAI,YAAY;AAAU,WAAO;AAC5C,MAAI;AAEF,WAAO,yBAAyB,IAAI,OAAO,IAAI,OAAO;AAAA,EACxD,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts","../../../../../../src/lib/rating/criteria/scoring/lib/toBigNumber.ts","../../../../../../src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts"],"sourcesContent":["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 { 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"],"mappings":";AACA,SAAS,MAAM,YAAqC;;;ACDpD,SAAS,iBAAiB;AAEnB,IAAM,cAAc,CAAC,UAAyC;AACnE,MAAI;AACF,WAAO,IAAI,UAAU,KAAK;AAAA,EAC5B,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;;;ACNO,IAAM,2BAA2B,CAAC,UAA2B;AAClE,QAAM,MAAM,YAAY,KAAK;AAC7B,SAAO,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ;AACvC;;;AFMO,IAAM,eAAuD,CAAC,QAAuB;AAC1F,MAAI,CAAC,IAAI;AAAS,WAAO;AACzB,MAAI,OAAO,IAAI,YAAY;AAAU,WAAO;AAC5C,MAAI;AAEF,WAAO,yBAAyB,IAAI,OAAO,IAAI,OAAO;AAAA,EACxD,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,4 @@
1
+ import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
+ import { PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model';
3
+ export declare const scoreType: PassFailScoringFunction<NftInfoFields>;
4
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAc,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAEzF,eAAO,MAAM,SAAS,EAAE,uBAAuB,CAAC,aAAa,CAM5D,CAAA"}
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/rating/criteria/scoring/type.ts
19
21
  var type_exports = {};
20
22
  __export(type_exports, {
21
23
  scoreType: () => scoreType
22
24
  });
23
25
  module.exports = __toCommonJS(type_exports);
24
26
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
25
- const scoreType = (nft) => {
27
+ var scoreType = (nft) => {
26
28
  if (!nft.type)
27
29
  return import_crypto_nft_score_model.FAIL;
28
30
  if (typeof nft.type !== "string")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAoD;AAE7C,MAAM,YAAoD,CAAC,QAAuB;AACvF,MAAI,CAAC,IAAI;AAAM,WAAO;AACtB,MAAI,OAAO,IAAI,SAAS;AAAU,WAAO;AACzC,QAAM,OAAO,IAAI,KAAK,YAAY;AAClC,MAAI,SAAS,YAAY,SAAS;AAAW,WAAO;AACpD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAoD;AAE7C,IAAM,YAAoD,CAAC,QAAuB;AACvF,MAAI,CAAC,IAAI;AAAM,WAAO;AACtB,MAAI,OAAO,IAAI,SAAS;AAAU,WAAO;AACzC,QAAM,OAAO,IAAI,KAAK,YAAY;AAClC,MAAI,SAAS,YAAY,SAAS;AAAW,WAAO;AACpD,SAAO;AACT;","names":[]}
@@ -1,5 +1,6 @@
1
+ // src/lib/rating/criteria/scoring/type.ts
1
2
  import { FAIL, PASS } from "@xyo-network/crypto-nft-score-model";
2
- const scoreType = (nft) => {
3
+ var scoreType = (nft) => {
3
4
  if (!nft.type)
4
5
  return FAIL;
5
6
  if (typeof nft.type !== "string")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"sourcesContent":["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"],"mappings":"AACA,SAAS,MAAM,YAAqC;AAE7C,MAAM,YAAoD,CAAC,QAAuB;AACvF,MAAI,CAAC,IAAI;AAAM,WAAO;AACtB,MAAI,OAAO,IAAI,SAAS;AAAU,WAAO;AACzC,QAAM,OAAO,IAAI,KAAK,YAAY;AAClC,MAAI,SAAS,YAAY,SAAS;AAAW,WAAO;AACpD,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"sourcesContent":["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"],"mappings":";AACA,SAAS,MAAM,YAAqC;AAE7C,IAAM,YAAoD,CAAC,QAAuB;AACvF,MAAI,CAAC,IAAI;AAAM,WAAO;AACtB,MAAI,OAAO,IAAI,SAAS;AAAU,WAAO;AACzC,QAAM,OAAO,IAAI,KAAK,YAAY;AAClC,MAAI,SAAS,YAAY,SAAS;AAAW,WAAO;AACpD,SAAO;AACT;","names":[]}
@@ -0,0 +1,55 @@
1
+ export declare const scoringCriteria: {
2
+ Attributes: {
3
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
4
+ weight: number;
5
+ };
6
+ 'Animation URL': {
7
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
8
+ weight: number;
9
+ };
10
+ 'Background Color': {
11
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
12
+ weight: number;
13
+ };
14
+ Description: {
15
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
16
+ weight: number;
17
+ };
18
+ 'External Url': {
19
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
20
+ weight: number;
21
+ };
22
+ Image: {
23
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
24
+ weight: number;
25
+ };
26
+ 'Image Data': {
27
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
28
+ weight: number;
29
+ };
30
+ Name: {
31
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
32
+ weight: number;
33
+ };
34
+ 'YouTube URL': {
35
+ score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
36
+ weight: number;
37
+ };
38
+ 'Contract Address': {
39
+ score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
40
+ weight: number;
41
+ };
42
+ Supply: {
43
+ score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
44
+ weight: number;
45
+ };
46
+ 'Token Id': {
47
+ score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
48
+ weight: number;
49
+ };
50
+ Type: {
51
+ score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
52
+ weight: number;
53
+ };
54
+ };
55
+ //# sourceMappingURL=scoringCriteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoringCriteria.d.ts","sourceRoot":"","sources":["../../../../../src/lib/rating/criteria/scoringCriteria.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM3B,CAAA"}
@@ -16,31 +16,366 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/rating/criteria/scoringCriteria.ts
19
21
  var scoringCriteria_exports = {};
20
22
  __export(scoringCriteria_exports, {
21
23
  scoringCriteria: () => scoringCriteria
22
24
  });
23
25
  module.exports = __toCommonJS(scoringCriteria_exports);
24
- var import_scoring = require("./scoring");
25
- const attributesScoringCriteria = {
26
- Attributes: { score: import_scoring.evaluateNftAttributes, weight: 1 }
27
- };
28
- const metadataScoringCriteria = {
29
- "Animation URL": { score: import_scoring.scoreNftAnimationUrl, weight: 1 },
30
- "Background Color": { score: import_scoring.scoreNftBackgroundColor, weight: 1 },
31
- Description: { score: import_scoring.scoreNftDescription, weight: 1 },
32
- "External Url": { score: import_scoring.scoreNftExternalUrl, weight: 1 },
33
- Image: { score: import_scoring.scoreNftImage, weight: 1 },
34
- "Image Data": { score: import_scoring.scoreNftImageData, weight: 1 },
35
- Name: { score: import_scoring.scoreNftName, weight: 1 },
36
- "YouTube URL": { score: import_scoring.scoreNftYoutubeUrl, weight: 1 },
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 },
37
372
  ...attributesScoringCriteria
38
373
  };
39
- const scoringCriteria = {
40
- "Contract Address": { score: import_scoring.scoreContractAddress, weight: 1 },
41
- Supply: { score: import_scoring.scoreSupply, weight: 1 },
42
- "Token Id": { score: import_scoring.scoreTokenId, weight: 1 },
43
- Type: { score: import_scoring.scoreType, weight: 1 },
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 },
44
379
  ...metadataScoringCriteria
45
380
  };
46
381
  // Annotate the CommonJS export names for ESM import in node: