@xyo-network/crypto-nft-collection-witness-plugin 2.74.5 → 2.75.0

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 (326) hide show
  1. package/dist/browser/Plugin.cjs +199 -0
  2. package/dist/browser/Plugin.cjs.map +1 -0
  3. package/dist/browser/Plugin.d.mts.map +1 -0
  4. package/dist/browser/Plugin.d.ts.map +1 -0
  5. package/dist/browser/Plugin.js +182 -0
  6. package/dist/browser/Plugin.js.map +1 -0
  7. package/dist/browser/Witness.cjs +183 -0
  8. package/dist/browser/Witness.cjs.map +1 -0
  9. package/dist/browser/Witness.d.mts.map +1 -0
  10. package/dist/browser/Witness.d.ts.map +1 -0
  11. package/dist/browser/Witness.js +166 -0
  12. package/dist/browser/Witness.js.map +1 -0
  13. package/dist/{index.js → browser/index.cjs} +1 -10
  14. package/dist/browser/index.cjs.map +1 -0
  15. package/dist/browser/index.d.mts.map +1 -0
  16. package/dist/browser/index.d.ts.map +1 -0
  17. package/dist/{index.mjs → browser/index.js} +1 -1
  18. package/dist/browser/index.js.map +1 -0
  19. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.cjs +83 -0
  20. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.cjs.map +1 -0
  21. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +1 -0
  22. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -0
  23. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.js +60 -0
  24. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.js.map +1 -0
  25. package/dist/browser/lib/collectionMetrics/index.cjs +83 -0
  26. package/dist/browser/lib/collectionMetrics/index.cjs.map +1 -0
  27. package/dist/browser/lib/collectionMetrics/index.d.mts.map +1 -0
  28. package/dist/browser/lib/collectionMetrics/index.d.ts.map +1 -0
  29. package/dist/browser/lib/collectionMetrics/index.js +60 -0
  30. package/dist/browser/lib/collectionMetrics/index.js.map +1 -0
  31. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.cjs +49 -0
  32. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.cjs.map +1 -0
  33. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +1 -0
  34. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +1 -0
  35. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +28 -0
  36. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +1 -0
  37. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.cjs +45 -0
  38. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.cjs.map +1 -0
  39. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +1 -0
  40. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +1 -0
  41. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.js +24 -0
  42. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +1 -0
  43. package/dist/browser/lib/collectionMetrics/lib/distribution.cjs +19 -0
  44. package/dist/browser/lib/collectionMetrics/lib/distribution.cjs.map +1 -0
  45. package/dist/browser/lib/collectionMetrics/lib/distribution.d.mts.map +1 -0
  46. package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts.map +1 -0
  47. package/dist/browser/lib/collectionMetrics/lib/distribution.js +1 -0
  48. package/dist/browser/lib/collectionMetrics/lib/distribution.js.map +1 -0
  49. package/dist/browser/lib/collectionMetrics/lib/index.cjs +72 -0
  50. package/dist/browser/lib/collectionMetrics/lib/index.cjs.map +1 -0
  51. package/dist/browser/lib/collectionMetrics/lib/index.d.mts.map +1 -0
  52. package/dist/browser/lib/collectionMetrics/lib/index.d.ts.map +1 -0
  53. package/dist/browser/lib/collectionMetrics/lib/index.js +49 -0
  54. package/dist/browser/lib/collectionMetrics/lib/index.js.map +1 -0
  55. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.cjs +35 -0
  56. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.cjs.map +1 -0
  57. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +1 -0
  58. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
  59. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +14 -0
  60. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +1 -0
  61. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.cjs +32 -0
  62. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.cjs.map +1 -0
  63. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +1 -0
  64. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
  65. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +11 -0
  66. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +1 -0
  67. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.cjs +46 -0
  68. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.cjs.map +1 -0
  69. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +1 -0
  70. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +1 -0
  71. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +23 -0
  72. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +1 -0
  73. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.cjs +46 -0
  74. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.cjs.map +1 -0
  75. package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial → browser/lib/collectionMetrics/lib/probabilityDistributions}/index.d.mts.map +1 -1
  76. package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial → browser/lib/collectionMetrics/lib/probabilityDistributions}/index.d.ts.map +1 -1
  77. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.js +23 -0
  78. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +1 -0
  79. package/dist/browser/lib/getNftCollectionCount.cjs +44 -0
  80. package/dist/browser/lib/getNftCollectionCount.cjs.map +1 -0
  81. package/dist/browser/lib/getNftCollectionCount.d.mts.map +1 -0
  82. package/dist/browser/lib/getNftCollectionCount.d.ts.map +1 -0
  83. package/dist/browser/lib/getNftCollectionCount.js +23 -0
  84. package/dist/browser/lib/getNftCollectionCount.js.map +1 -0
  85. package/dist/browser/lib/getNftCollectionMetadata.cjs +46 -0
  86. package/dist/browser/lib/getNftCollectionMetadata.cjs.map +1 -0
  87. package/dist/browser/lib/getNftCollectionMetadata.d.mts.map +1 -0
  88. package/dist/browser/lib/getNftCollectionMetadata.d.ts.map +1 -0
  89. package/dist/browser/lib/getNftCollectionMetadata.js +25 -0
  90. package/dist/browser/lib/getNftCollectionMetadata.js.map +1 -0
  91. package/dist/browser/lib/getNftCollectionNfts.cjs +60 -0
  92. package/dist/browser/lib/getNftCollectionNfts.cjs.map +1 -0
  93. package/dist/browser/lib/getNftCollectionNfts.d.mts.map +1 -0
  94. package/dist/browser/lib/getNftCollectionNfts.d.ts.map +1 -0
  95. package/dist/browser/lib/getNftCollectionNfts.js +39 -0
  96. package/dist/browser/lib/getNftCollectionNfts.js.map +1 -0
  97. package/dist/browser/lib/index.cjs +148 -0
  98. package/dist/browser/lib/index.cjs.map +1 -0
  99. package/dist/browser/lib/index.d.mts.map +1 -0
  100. package/dist/browser/lib/index.d.ts.map +1 -0
  101. package/dist/browser/lib/index.js +125 -0
  102. package/dist/browser/lib/index.js.map +1 -0
  103. package/dist/browser/lib/nonEvaluableContractAddresses.cjs +30 -0
  104. package/dist/browser/lib/nonEvaluableContractAddresses.cjs.map +1 -0
  105. package/dist/browser/lib/nonEvaluableContractAddresses.d.mts.map +1 -0
  106. package/dist/browser/lib/nonEvaluableContractAddresses.d.ts.map +1 -0
  107. package/dist/browser/lib/nonEvaluableContractAddresses.js +9 -0
  108. package/dist/browser/lib/nonEvaluableContractAddresses.js.map +1 -0
  109. package/dist/node/Plugin.d.mts +56 -0
  110. package/dist/node/Plugin.d.mts.map +1 -0
  111. package/dist/node/Plugin.d.ts +56 -0
  112. package/dist/node/Plugin.d.ts.map +1 -0
  113. package/dist/node/Plugin.js +41 -0
  114. package/dist/node/Plugin.js.map +1 -0
  115. package/dist/node/Plugin.mjs +17 -0
  116. package/dist/node/Plugin.mjs.map +1 -0
  117. package/dist/node/Witness.d.mts +10 -0
  118. package/dist/node/Witness.d.mts.map +1 -0
  119. package/dist/node/Witness.d.ts +10 -0
  120. package/dist/node/Witness.d.ts.map +1 -0
  121. package/dist/node/Witness.js +65 -0
  122. package/dist/node/Witness.js.map +1 -0
  123. package/dist/node/Witness.mjs +45 -0
  124. package/dist/node/Witness.mjs.map +1 -0
  125. package/dist/node/index.d.mts +6 -0
  126. package/dist/node/index.d.mts.map +1 -0
  127. package/dist/node/index.d.ts +6 -0
  128. package/dist/node/index.d.ts.map +1 -0
  129. package/dist/node/index.js +36 -0
  130. package/dist/node/index.js.map +1 -0
  131. package/dist/node/index.mjs +9 -0
  132. package/dist/node/index.mjs.map +1 -0
  133. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts +4 -0
  134. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +1 -0
  135. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts +4 -0
  136. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -0
  137. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.js +51 -0
  138. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.js.map +1 -0
  139. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.mjs +27 -0
  140. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.mjs.map +1 -0
  141. package/dist/node/lib/collectionMetrics/index.d.mts +2 -0
  142. package/dist/node/lib/collectionMetrics/index.d.mts.map +1 -0
  143. package/dist/node/lib/collectionMetrics/index.d.ts +2 -0
  144. package/dist/node/lib/collectionMetrics/index.d.ts.map +1 -0
  145. package/dist/node/lib/collectionMetrics/index.js +23 -0
  146. package/dist/node/lib/collectionMetrics/index.js.map +1 -0
  147. package/dist/node/lib/collectionMetrics/index.mjs +2 -0
  148. package/dist/node/lib/collectionMetrics/index.mjs.map +1 -0
  149. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +3 -0
  150. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +1 -0
  151. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +3 -0
  152. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +1 -0
  153. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +51 -0
  154. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +1 -0
  155. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.mjs +27 -0
  156. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.mjs.map +1 -0
  157. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +3 -0
  158. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +1 -0
  159. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +3 -0
  160. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +1 -0
  161. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.js +47 -0
  162. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +1 -0
  163. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.mjs +23 -0
  164. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.mjs.map +1 -0
  165. package/dist/node/lib/collectionMetrics/lib/distribution.d.mts +6 -0
  166. package/dist/node/lib/collectionMetrics/lib/distribution.d.mts.map +1 -0
  167. package/dist/node/lib/collectionMetrics/lib/distribution.d.ts +6 -0
  168. package/dist/node/lib/collectionMetrics/lib/distribution.d.ts.map +1 -0
  169. package/dist/node/lib/collectionMetrics/lib/distribution.js +17 -0
  170. package/dist/node/lib/collectionMetrics/lib/distribution.js.map +1 -0
  171. package/dist/node/lib/collectionMetrics/lib/distribution.mjs +1 -0
  172. package/dist/node/lib/collectionMetrics/lib/distribution.mjs.map +1 -0
  173. package/dist/node/lib/collectionMetrics/lib/index.d.mts +4 -0
  174. package/dist/node/lib/collectionMetrics/lib/index.d.mts.map +1 -0
  175. package/dist/node/lib/collectionMetrics/lib/index.d.ts +4 -0
  176. package/dist/node/lib/collectionMetrics/lib/index.d.ts.map +1 -0
  177. package/dist/node/lib/collectionMetrics/lib/index.js +27 -0
  178. package/dist/node/lib/collectionMetrics/lib/index.js.map +1 -0
  179. package/dist/node/lib/collectionMetrics/lib/index.mjs +4 -0
  180. package/dist/node/lib/collectionMetrics/lib/index.mjs.map +1 -0
  181. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +8 -0
  182. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +1 -0
  183. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +8 -0
  184. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
  185. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +37 -0
  186. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +1 -0
  187. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.mjs +13 -0
  188. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.mjs.map +1 -0
  189. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +9 -0
  190. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +1 -0
  191. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +9 -0
  192. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
  193. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +34 -0
  194. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +1 -0
  195. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.mjs +10 -0
  196. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.mjs.map +1 -0
  197. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +3 -0
  198. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +1 -0
  199. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +3 -0
  200. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +1 -0
  201. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +25 -0
  202. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +1 -0
  203. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.mjs +3 -0
  204. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.mjs.map +1 -0
  205. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +2 -0
  206. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +1 -0
  207. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +2 -0
  208. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +1 -0
  209. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.js +23 -0
  210. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +1 -0
  211. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.mjs +2 -0
  212. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.mjs.map +1 -0
  213. package/dist/node/lib/getNftCollectionCount.d.mts +2 -0
  214. package/dist/node/lib/getNftCollectionCount.d.mts.map +1 -0
  215. package/dist/node/lib/getNftCollectionCount.d.ts +2 -0
  216. package/dist/node/lib/getNftCollectionCount.d.ts.map +1 -0
  217. package/dist/node/lib/getNftCollectionCount.js +39 -0
  218. package/dist/node/lib/getNftCollectionCount.js.map +1 -0
  219. package/dist/node/lib/getNftCollectionCount.mjs +15 -0
  220. package/dist/node/lib/getNftCollectionCount.mjs.map +1 -0
  221. package/dist/node/lib/getNftCollectionMetadata.d.mts +3 -0
  222. package/dist/node/lib/getNftCollectionMetadata.d.mts.map +1 -0
  223. package/dist/node/lib/getNftCollectionMetadata.d.ts +3 -0
  224. package/dist/node/lib/getNftCollectionMetadata.d.ts.map +1 -0
  225. package/dist/node/lib/getNftCollectionMetadata.js +41 -0
  226. package/dist/node/lib/getNftCollectionMetadata.js.map +1 -0
  227. package/dist/node/lib/getNftCollectionMetadata.mjs +17 -0
  228. package/dist/node/lib/getNftCollectionMetadata.mjs.map +1 -0
  229. package/dist/node/lib/getNftCollectionNfts.d.mts +3 -0
  230. package/dist/node/lib/getNftCollectionNfts.d.mts.map +1 -0
  231. package/dist/node/lib/getNftCollectionNfts.d.ts +3 -0
  232. package/dist/node/lib/getNftCollectionNfts.d.ts.map +1 -0
  233. package/dist/node/lib/getNftCollectionNfts.js +55 -0
  234. package/dist/node/lib/getNftCollectionNfts.js.map +1 -0
  235. package/dist/node/lib/getNftCollectionNfts.mjs +31 -0
  236. package/dist/node/lib/getNftCollectionNfts.mjs.map +1 -0
  237. package/dist/node/lib/index.d.mts +5 -0
  238. package/dist/node/lib/index.d.mts.map +1 -0
  239. package/dist/node/lib/index.d.ts +5 -0
  240. package/dist/node/lib/index.d.ts.map +1 -0
  241. package/dist/node/lib/index.js +29 -0
  242. package/dist/node/lib/index.js.map +1 -0
  243. package/dist/node/lib/index.mjs +5 -0
  244. package/dist/node/lib/index.mjs.map +1 -0
  245. package/dist/node/lib/nonEvaluableContractAddresses.d.mts +6 -0
  246. package/dist/node/lib/nonEvaluableContractAddresses.d.mts.map +1 -0
  247. package/dist/node/lib/nonEvaluableContractAddresses.d.ts +6 -0
  248. package/dist/node/lib/nonEvaluableContractAddresses.d.ts.map +1 -0
  249. package/dist/node/lib/nonEvaluableContractAddresses.js +32 -0
  250. package/dist/node/lib/nonEvaluableContractAddresses.js.map +1 -0
  251. package/dist/node/lib/nonEvaluableContractAddresses.mjs +8 -0
  252. package/dist/node/lib/nonEvaluableContractAddresses.mjs.map +1 -0
  253. package/package.json +33 -30
  254. package/dist/Plugin.d.mts.map +0 -1
  255. package/dist/Plugin.d.ts.map +0 -1
  256. package/dist/Witness.d.mts.map +0 -1
  257. package/dist/Witness.d.ts.map +0 -1
  258. package/dist/docs.json +0 -22903
  259. package/dist/index.d.mts.map +0 -1
  260. package/dist/index.d.ts.map +0 -1
  261. package/dist/index.js.map +0 -1
  262. package/dist/index.mjs.map +0 -1
  263. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
  264. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
  265. package/dist/lib/collectionMetrics/index.d.mts.map +0 -1
  266. package/dist/lib/collectionMetrics/index.d.ts.map +0 -1
  267. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
  268. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
  269. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
  270. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
  271. package/dist/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
  272. package/dist/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
  273. package/dist/lib/collectionMetrics/lib/index.d.mts.map +0 -1
  274. package/dist/lib/collectionMetrics/lib/index.d.ts.map +0 -1
  275. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
  276. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
  277. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
  278. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
  279. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
  280. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
  281. package/dist/lib/getNftCollectionCount.d.mts.map +0 -1
  282. package/dist/lib/getNftCollectionCount.d.ts.map +0 -1
  283. package/dist/lib/getNftCollectionMetadata.d.mts.map +0 -1
  284. package/dist/lib/getNftCollectionMetadata.d.ts.map +0 -1
  285. package/dist/lib/getNftCollectionNfts.d.mts.map +0 -1
  286. package/dist/lib/getNftCollectionNfts.d.ts.map +0 -1
  287. package/dist/lib/index.d.mts.map +0 -1
  288. package/dist/lib/index.d.ts.map +0 -1
  289. package/dist/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
  290. package/dist/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
  291. /package/dist/{Plugin.d.mts → browser/Plugin.d.mts} +0 -0
  292. /package/dist/{Plugin.d.ts → browser/Plugin.d.ts} +0 -0
  293. /package/dist/{Witness.d.mts → browser/Witness.d.mts} +0 -0
  294. /package/dist/{Witness.d.ts → browser/Witness.d.ts} +0 -0
  295. /package/dist/{index.d.mts → browser/index.d.mts} +0 -0
  296. /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
  297. /package/dist/{lib → browser/lib}/collectionMetrics/getNftCollectionMetrics.d.mts +0 -0
  298. /package/dist/{lib → browser/lib}/collectionMetrics/getNftCollectionMetrics.d.ts +0 -0
  299. /package/dist/{lib → browser/lib}/collectionMetrics/index.d.mts +0 -0
  300. /package/dist/{lib → browser/lib}/collectionMetrics/index.d.ts +0 -0
  301. /package/dist/{lib → browser/lib}/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -0
  302. /package/dist/{lib → browser/lib}/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -0
  303. /package/dist/{lib → browser/lib}/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -0
  304. /package/dist/{lib → browser/lib}/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -0
  305. /package/dist/{lib → browser/lib}/collectionMetrics/lib/distribution.d.mts +0 -0
  306. /package/dist/{lib → browser/lib}/collectionMetrics/lib/distribution.d.ts +0 -0
  307. /package/dist/{lib → browser/lib}/collectionMetrics/lib/index.d.mts +0 -0
  308. /package/dist/{lib → browser/lib}/collectionMetrics/lib/index.d.ts +0 -0
  309. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -0
  310. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -0
  311. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -0
  312. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -0
  313. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -0
  314. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -0
  315. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -0
  316. /package/dist/{lib → browser/lib}/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -0
  317. /package/dist/{lib → browser/lib}/getNftCollectionCount.d.mts +0 -0
  318. /package/dist/{lib → browser/lib}/getNftCollectionCount.d.ts +0 -0
  319. /package/dist/{lib → browser/lib}/getNftCollectionMetadata.d.mts +0 -0
  320. /package/dist/{lib → browser/lib}/getNftCollectionMetadata.d.ts +0 -0
  321. /package/dist/{lib → browser/lib}/getNftCollectionNfts.d.mts +0 -0
  322. /package/dist/{lib → browser/lib}/getNftCollectionNfts.d.ts +0 -0
  323. /package/dist/{lib → browser/lib}/index.d.mts +0 -0
  324. /package/dist/{lib → browser/lib}/index.d.ts +0 -0
  325. /package/dist/{lib → browser/lib}/nonEvaluableContractAddresses.d.mts +0 -0
  326. /package/dist/{lib → browser/lib}/nonEvaluableContractAddresses.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAE3D,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,gCAAgC,EAAE,CAAA;AAG3C,eAAe,gCAAgC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAE3D,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,gCAAgC,EAAE,CAAA;AAG3C,eAAe,gCAAgC,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts","../src/Plugin.ts","../src/Witness.ts","../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts","../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts","../src/lib/collectionMetrics/getNftCollectionMetrics.ts","../src/lib/getNftCollectionCount.ts","../src/lib/nonEvaluableContractAddresses.ts","../src/lib/getNftCollectionMetadata.ts","../src/lib/getNftCollectionNfts.ts"],"sourcesContent":["import { CryptoNftCollectionWitnessPlugin } from './Plugin'\n\nexport * from './lib'\nexport * from './Witness'\n\nexport { CryptoNftCollectionWitnessPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default CryptoNftCollectionWitnessPlugin\n","import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoNftCollectionWitness } from './Witness'\n\nexport const CryptoNftCollectionWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<CryptoNftCollectionWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoNftCollectionWitness.create(params)\n return result\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadHasher } from '@xyo-network/core'\nimport {\n isNftCollectionWitnessQuery,\n NftCollectionInfo,\n NftCollectionSchema,\n NftCollectionWitnessConfig,\n NftCollectionWitnessConfigSchema,\n} from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { getNftCollectionCount, getNftCollectionMetadata, getNftCollectionMetrics, getNftCollectionNfts } from './lib'\n\nexport type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig>>\n\nconst defaultMaxNfts = 100\n\n/**\n * A \"no operation\" Promise to be used\n * when no action is desired but a Promise\n * is required to be returned\n */\nconst NoOp = Promise.resolve()\n\nexport class CryptoNftCollectionWitness<\n TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [NftCollectionWitnessConfigSchema]\n\n protected override async observeHandler(payloads?: Payload[]): Promise<Payload[]> {\n await this.started('throw')\n const queries = payloads?.filter(isNftCollectionWitnessQuery) ?? []\n const observations = await Promise.all(\n queries.map<Promise<NftCollectionInfo>>(async (query) => {\n const address = assertEx(query?.address || this.config.address, 'params.address is required')\n const chainId = assertEx(query?.chainId || this.config.chainId, 'params.chainId is required')\n const maxNfts = query?.maxNfts || defaultMaxNfts\n const [info, total, nfts, archivist] = await Promise.all([\n getNftCollectionMetadata(address, chainId, this.account.private.hex),\n getNftCollectionCount(address, chainId, this.account.private.hex),\n getNftCollectionNfts(address, chainId, this.account.private.hex, maxNfts),\n this.writeArchivist(),\n ])\n const metrics = getNftCollectionMetrics(nfts)\n const [sources] = await Promise.all([\n // Hash all the payloads\n Promise.all(nfts.map((nft) => PayloadHasher.hashAsync(nft))),\n // Insert them into the archivist if we have one\n archivist ? archivist.insert(nfts) : NoOp,\n ])\n const payload: NftCollectionInfo = { ...info, metrics, schema: NftCollectionSchema, sources, total }\n return payload\n }),\n )\n return observations.flat()\n }\n}\n","import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n","import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin'\n\n/**\n * Calculates the parameters of a binomial distribution given the number of trials and success probability\n * @param n Number of trials\n * @param p Success probability\n * @returns The binomial distribution parameters\n */\nexport const calculateBinomialParamsFromProbability = (n: number, p: number): BinomialDistributionParameters => {\n // Mean (µ)\n const mean = n * p\n\n // Variance (σ^2)\n const variance = n * p * (1 - p)\n\n // Standard Deviation (σ)\n const stdDev = Math.sqrt(variance)\n\n return { mean, p, stdDev, variance }\n}\n","import { NftCollectionMetrics, NftTraitMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { NftInfoFields, OpenSeaNftAttribute } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { calculateAllPropertiesDistribution, calculateBinomialParamsFromProbability } from './lib'\n\ntype TraitDistributionEntry = [string, { [key: string]: number }]\n\nexport const getNftCollectionMetrics = (nfts: NftInfoFields[]): NftCollectionMetrics => {\n const traits = nfts\n .map((nft) => nft?.metadata?.attributes as OpenSeaNftAttribute[] | undefined)\n .filter((v): v is OpenSeaNftAttribute[] => v !== undefined)\n .map((attributes) => {\n return Object.fromEntries(attributes.map((attribute) => [attribute.trait_type, attribute.value]))\n })\n const distribution = calculateAllPropertiesDistribution(traits)\n const n = nfts.length\n const attributes = Object.fromEntries(\n Object.entries(distribution)\n .filter((v): v is TraitDistributionEntry => v[1] !== undefined)\n .map(([trait, entries]) => {\n const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0)\n const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n)\n const values = Object.fromEntries(\n Object.entries(entries).map(([value, traitValueCount]) => {\n const { p } = calculateBinomialParamsFromProbability(n, traitValueCount / n)\n const metrics: NftTraitMetrics = { binomial: { p }, count: traitValueCount }\n return [value, metrics]\n }),\n )\n return [trait, { metrics: { binomial: { p }, count: traitCount }, values }]\n }),\n )\n return { metadata: { attributes } }\n}\n","import { Auth, SDK } from '@infura/sdk'\n\nimport { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'\n\ntype ContractAddressOptions = {\n contractAddress: string\n cursor?: string\n}\n\nexport const getNftCollectionCount = async (\n /**\n * The address of the NFT contract to search for\n */\n contractAddress: string,\n /**\n * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on\n */\n chainId: number,\n // /**\n // * The ethers provider to use to search for NFTs\n // */\n // provider: ExternalProvider | JsonRpcFetchFunc,\n /**\n * The private key of the wallet to use to search for NFTs\n */\n privateKey: string,\n): Promise<number> => {\n if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {\n throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)\n }\n const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }))\n const opts: ContractAddressOptions = { contractAddress }\n const { total } = await sdk.api.getNFTsForCollection(opts)\n return total\n}\n","/**\n * These contracts are not evaluable for some\n * reason (too large, nonsensical, etc.)\n */\nexport const nonEvaluableContractAddresses = [\n // ENS\n '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72',\n].map((address) => address.toUpperCase())\n","import { Auth, SDK } from '@infura/sdk'\nimport { NftCollectionMetadata } from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { toTokenType } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'\n\ntype ContractAddressOptions = {\n contractAddress: string\n cursor?: string\n}\n\nexport const getNftCollectionMetadata = async (\n /**\n * The address of the NFT contract to search for\n */\n contractAddress: string,\n /**\n * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on\n */\n chainId: number,\n // /**\n // * The ethers provider to use to search for NFTs\n // */\n // provider: ExternalProvider | JsonRpcFetchFunc,\n /**\n * The private key of the wallet to use to search for NFTs\n */\n privateKey: string,\n): Promise<Omit<NftCollectionMetadata, 'total'>> => {\n if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {\n throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)\n }\n const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }))\n const opts: ContractAddressOptions = { contractAddress }\n const { name, symbol, tokenType } = await sdk.api.getContractMetadata(opts)\n const type = toTokenType(tokenType)\n return { address: contractAddress, chainId, name, symbol, type }\n}\n","import { Auth, SDK } from '@infura/sdk'\nimport { NftInfo, NftInfoFields, NftSchema, toTokenType } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'\n\ntype ContractAddressOptions = {\n contractAddress: string\n cursor?: string\n}\n\nexport const getNftCollectionNfts = async (\n /**\n * The address of the NFT contract to search for\n */\n contractAddress: string,\n /**\n * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on\n */\n chainId: number,\n // /**\n // * The ethers provider to use to search for NFTs\n // */\n // provider: ExternalProvider | JsonRpcFetchFunc,\n /**\n * The private key of the wallet to use to search for NFTs\n */\n privateKey: string,\n /**\n * The maximum number of NFTs to return. Configurable to prevent\n * large wallets from exhausting Infura API credits. Ideally a\n * multiple of 100 as that appears to be the default page size.\n */\n maxNfts = 100,\n): Promise<NftInfo[]> => {\n if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {\n throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)\n }\n const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }))\n const nfts: NftInfoFields[] = []\n let cursor: string | undefined = undefined\n do {\n const opts: ContractAddressOptions = { contractAddress, cursor }\n const { cursor: nextCursor, pageSize, total, assets } = await sdk.api.getNFTsForCollection(opts)\n const batch: NftInfoFields[] = assets.slice(0, Math.min(pageSize, total - nfts.length)).map((asset) => {\n const { contract: address, type: tokenType, ...rest } = asset\n const type = toTokenType(tokenType)\n return { address, chainId, type, ...rest }\n })\n nfts.push(...batch)\n cursor = nextCursor\n if (nfts.length >= total || !cursor) break\n } while (nfts.length < maxNfts)\n return nfts.map((nft) => {\n return { ...nft, schema: NftSchema }\n })\n}\n"],"mappings":"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","names":["import_crypto_nft_payload_plugin","attributes","p","import_sdk","import_sdk","import_crypto_nft_payload_plugin"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Plugin.ts","../src/Witness.ts","../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts","../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts","../src/lib/collectionMetrics/getNftCollectionMetrics.ts","../src/lib/getNftCollectionCount.ts","../src/lib/nonEvaluableContractAddresses.ts","../src/lib/getNftCollectionMetadata.ts","../src/lib/getNftCollectionNfts.ts","../src/index.ts"],"sourcesContent":["import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoNftCollectionWitness } from './Witness'\n\nexport const CryptoNftCollectionWitnessPlugin = () =>\n createPayloadSetWitnessPlugin<CryptoNftCollectionWitness>(\n { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CryptoNftCollectionWitness.create(params)\n return result\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadHasher } from '@xyo-network/core'\nimport {\n isNftCollectionWitnessQuery,\n NftCollectionInfo,\n NftCollectionSchema,\n NftCollectionWitnessConfig,\n NftCollectionWitnessConfigSchema,\n} from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { AbstractWitness, WitnessParams } from '@xyo-network/witness'\n\nimport { getNftCollectionCount, getNftCollectionMetadata, getNftCollectionMetrics, getNftCollectionNfts } from './lib'\n\nexport type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig>>\n\nconst defaultMaxNfts = 100\n\n/**\n * A \"no operation\" Promise to be used\n * when no action is desired but a Promise\n * is required to be returned\n */\nconst NoOp = Promise.resolve()\n\nexport class CryptoNftCollectionWitness<\n TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams,\n> extends AbstractWitness<TParams> {\n static override configSchemas = [NftCollectionWitnessConfigSchema]\n\n protected override async observeHandler(payloads?: Payload[]): Promise<Payload[]> {\n await this.started('throw')\n const queries = payloads?.filter(isNftCollectionWitnessQuery) ?? []\n const observations = await Promise.all(\n queries.map<Promise<NftCollectionInfo>>(async (query) => {\n const address = assertEx(query?.address || this.config.address, 'params.address is required')\n const chainId = assertEx(query?.chainId || this.config.chainId, 'params.chainId is required')\n const maxNfts = query?.maxNfts || defaultMaxNfts\n const [info, total, nfts, archivist] = await Promise.all([\n getNftCollectionMetadata(address, chainId, this.account.private.hex),\n getNftCollectionCount(address, chainId, this.account.private.hex),\n getNftCollectionNfts(address, chainId, this.account.private.hex, maxNfts),\n this.writeArchivist(),\n ])\n const metrics = getNftCollectionMetrics(nfts)\n const [sources] = await Promise.all([\n // Hash all the payloads\n Promise.all(nfts.map((nft) => PayloadHasher.hashAsync(nft))),\n // Insert them into the archivist if we have one\n archivist ? archivist.insert(nfts) : NoOp,\n ])\n const payload: NftCollectionInfo = { ...info, metrics, schema: NftCollectionSchema, sources, total }\n return payload\n }),\n )\n return observations.flat()\n }\n}\n","import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n","import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin'\n\n/**\n * Calculates the parameters of a binomial distribution given the number of trials and success probability\n * @param n Number of trials\n * @param p Success probability\n * @returns The binomial distribution parameters\n */\nexport const calculateBinomialParamsFromProbability = (n: number, p: number): BinomialDistributionParameters => {\n // Mean (µ)\n const mean = n * p\n\n // Variance (σ^2)\n const variance = n * p * (1 - p)\n\n // Standard Deviation (σ)\n const stdDev = Math.sqrt(variance)\n\n return { mean, p, stdDev, variance }\n}\n","import { NftCollectionMetrics, NftTraitMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { NftInfoFields, OpenSeaNftAttribute } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { calculateAllPropertiesDistribution, calculateBinomialParamsFromProbability } from './lib'\n\ntype TraitDistributionEntry = [string, { [key: string]: number }]\n\nexport const getNftCollectionMetrics = (nfts: NftInfoFields[]): NftCollectionMetrics => {\n const traits = nfts\n .map((nft) => nft?.metadata?.attributes as OpenSeaNftAttribute[] | undefined)\n .filter((v): v is OpenSeaNftAttribute[] => v !== undefined)\n .map((attributes) => {\n return Object.fromEntries(attributes.map((attribute) => [attribute.trait_type, attribute.value]))\n })\n const distribution = calculateAllPropertiesDistribution(traits)\n const n = nfts.length\n const attributes = Object.fromEntries(\n Object.entries(distribution)\n .filter((v): v is TraitDistributionEntry => v[1] !== undefined)\n .map(([trait, entries]) => {\n const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0)\n const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n)\n const values = Object.fromEntries(\n Object.entries(entries).map(([value, traitValueCount]) => {\n const { p } = calculateBinomialParamsFromProbability(n, traitValueCount / n)\n const metrics: NftTraitMetrics = { binomial: { p }, count: traitValueCount }\n return [value, metrics]\n }),\n )\n return [trait, { metrics: { binomial: { p }, count: traitCount }, values }]\n }),\n )\n return { metadata: { attributes } }\n}\n","import { Auth, SDK } from '@infura/sdk'\n\nimport { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'\n\ntype ContractAddressOptions = {\n contractAddress: string\n cursor?: string\n}\n\nexport const getNftCollectionCount = async (\n /**\n * The address of the NFT contract to search for\n */\n contractAddress: string,\n /**\n * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on\n */\n chainId: number,\n // /**\n // * The ethers provider to use to search for NFTs\n // */\n // provider: ExternalProvider | JsonRpcFetchFunc,\n /**\n * The private key of the wallet to use to search for NFTs\n */\n privateKey: string,\n): Promise<number> => {\n if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {\n throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)\n }\n const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }))\n const opts: ContractAddressOptions = { contractAddress }\n const { total } = await sdk.api.getNFTsForCollection(opts)\n return total\n}\n","/**\n * These contracts are not evaluable for some\n * reason (too large, nonsensical, etc.)\n */\nexport const nonEvaluableContractAddresses = [\n // ENS\n '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72',\n].map((address) => address.toUpperCase())\n","import { Auth, SDK } from '@infura/sdk'\nimport { NftCollectionMetadata } from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { toTokenType } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'\n\ntype ContractAddressOptions = {\n contractAddress: string\n cursor?: string\n}\n\nexport const getNftCollectionMetadata = async (\n /**\n * The address of the NFT contract to search for\n */\n contractAddress: string,\n /**\n * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on\n */\n chainId: number,\n // /**\n // * The ethers provider to use to search for NFTs\n // */\n // provider: ExternalProvider | JsonRpcFetchFunc,\n /**\n * The private key of the wallet to use to search for NFTs\n */\n privateKey: string,\n): Promise<Omit<NftCollectionMetadata, 'total'>> => {\n if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {\n throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)\n }\n const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }))\n const opts: ContractAddressOptions = { contractAddress }\n const { name, symbol, tokenType } = await sdk.api.getContractMetadata(opts)\n const type = toTokenType(tokenType)\n return { address: contractAddress, chainId, name, symbol, type }\n}\n","import { Auth, SDK } from '@infura/sdk'\nimport { NftInfo, NftInfoFields, NftSchema, toTokenType } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'\n\ntype ContractAddressOptions = {\n contractAddress: string\n cursor?: string\n}\n\nexport const getNftCollectionNfts = async (\n /**\n * The address of the NFT contract to search for\n */\n contractAddress: string,\n /**\n * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on\n */\n chainId: number,\n // /**\n // * The ethers provider to use to search for NFTs\n // */\n // provider: ExternalProvider | JsonRpcFetchFunc,\n /**\n * The private key of the wallet to use to search for NFTs\n */\n privateKey: string,\n /**\n * The maximum number of NFTs to return. Configurable to prevent\n * large wallets from exhausting Infura API credits. Ideally a\n * multiple of 100 as that appears to be the default page size.\n */\n maxNfts = 100,\n): Promise<NftInfo[]> => {\n if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {\n throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)\n }\n const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }))\n const nfts: NftInfoFields[] = []\n let cursor: string | undefined = undefined\n do {\n const opts: ContractAddressOptions = { contractAddress, cursor }\n const { cursor: nextCursor, pageSize, total, assets } = await sdk.api.getNFTsForCollection(opts)\n const batch: NftInfoFields[] = assets.slice(0, Math.min(pageSize, total - nfts.length)).map((asset) => {\n const { contract: address, type: tokenType, ...rest } = asset\n const type = toTokenType(tokenType)\n return { address, chainId, type, ...rest }\n })\n nfts.push(...batch)\n cursor = nextCursor\n if (nfts.length >= total || !cursor) break\n } while (nfts.length < maxNfts)\n return nfts.map((nft) => {\n return { ...nft, schema: NftSchema }\n })\n}\n","import { CryptoNftCollectionWitnessPlugin } from './Plugin'\n\nexport * from './lib'\nexport * from './Witness'\n\nexport { CryptoNftCollectionWitnessPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default CryptoNftCollectionWitnessPlugin\n"],"mappings":";AAAA,SAAS,aAAAA,kBAAiB;AAC1B,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACF9C,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,OACK;AAGP,SAAS,uBAAsC;;;ACTxC,IAAM,qCAAqC,CAAI,UAAgC;AACpF,QAAM,eAAgC,CAAC;AAEvC,QAAM,QAAQ,CAAC,SAAS;AACtB,eAAW,YAAY,MAAM;AAC3B,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,GAAG;AACxD,cAAM,QAAQ,KAAK,QAAmB;AACtC,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC,gBAAM,cAAc,MAAM,SAAS;AACnC,cAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,yBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,UAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,UACrE,OAAO;AACL;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;AChBO,IAAM,yCAAyC,CAAC,GAAW,MAA8C;AAE9G,QAAM,OAAO,IAAI;AAGjB,QAAM,WAAW,IAAI,KAAK,IAAI;AAG9B,QAAM,SAAS,KAAK,KAAK,QAAQ;AAEjC,SAAO,EAAE,MAAM,GAAG,QAAQ,SAAS;AACrC;;;ACZO,IAAM,0BAA0B,CAAC,SAAgD;AACtF,QAAM,SAAS,KACZ,IAAI,CAAC,QAAQ,KAAK,UAAU,UAA+C,EAC3E,OAAO,CAAC,MAAkC,MAAM,MAAS,EACzD,IAAI,CAACC,gBAAe;AACnB,WAAO,OAAO,YAAYA,YAAW,IAAI,CAAC,cAAc,CAAC,UAAU,YAAY,UAAU,KAAK,CAAC,CAAC;AAAA,EAClG,CAAC;AACH,QAAM,eAAe,mCAAmC,MAAM;AAC9D,QAAM,IAAI,KAAK;AACf,QAAM,aAAa,OAAO;AAAA,IACxB,OAAO,QAAQ,YAAY,EACxB,OAAO,CAAC,MAAmC,EAAE,CAAC,MAAM,MAAS,EAC7D,IAAI,CAAC,CAAC,OAAO,OAAO,MAAM;AACzB,YAAM,aAAa,OAAO,OAAO,OAAO,EAAE,OAAO,CAAC,MAAM,SAAS,OAAO,MAAM,CAAC;AAC/E,YAAM,EAAE,EAAE,IAAI,uCAAuC,KAAK,QAAQ,aAAa,CAAC;AAChF,YAAM,SAAS,OAAO;AAAA,QACpB,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,eAAe,MAAM;AACxD,gBAAM,EAAE,GAAAC,GAAE,IAAI,uCAAuC,GAAG,kBAAkB,CAAC;AAC3E,gBAAM,UAA2B,EAAE,UAAU,EAAE,GAAAA,GAAE,GAAG,OAAO,gBAAgB;AAC3E,iBAAO,CAAC,OAAO,OAAO;AAAA,QACxB,CAAC;AAAA,MACH;AACA,aAAO,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,WAAW,GAAG,OAAO,CAAC;AAAA,IAC5E,CAAC;AAAA,EACL;AACA,SAAO,EAAE,UAAU,EAAE,WAAW,EAAE;AACpC;;;ACjCA,SAAS,MAAM,WAAW;;;ACInB,IAAM,gCAAgC;AAAA;AAAA,EAE3C;AACF,EAAE,IAAI,CAAC,YAAY,QAAQ,YAAY,CAAC;;;ADEjC,IAAM,wBAAwB,OAInC,iBAIA,SAQA,eACoB;AACpB,MAAI,8BAA8B,SAAS,gBAAgB,YAAY,CAAC,GAAG;AACzE,UAAM,IAAI,MAAM,uDAAuD,eAAe,EAAE;AAAA,EAC1F;AACA,QAAM,MAAM,IAAI,IAAI,IAAI,KAAK,EAAE,SAAS,YAAY,WAAW,QAAQ,IAAI,mBAAmB,UAAU,QAAQ,IAAI,sBAAsB,CAAC,CAAC;AAC5I,QAAM,OAA+B,EAAE,gBAAgB;AACvD,QAAM,EAAE,MAAM,IAAI,MAAM,IAAI,IAAI,qBAAqB,IAAI;AACzD,SAAO;AACT;;;AElCA,SAAS,QAAAC,OAAM,OAAAC,YAAW;AAE1B,SAAS,mBAAmB;AASrB,IAAM,2BAA2B,OAItC,iBAIA,SAQA,eACkD;AAClD,MAAI,8BAA8B,SAAS,gBAAgB,YAAY,CAAC,GAAG;AACzE,UAAM,IAAI,MAAM,uDAAuD,eAAe,EAAE;AAAA,EAC1F;AACA,QAAM,MAAM,IAAIC,KAAI,IAAIC,MAAK,EAAE,SAAS,YAAY,WAAW,QAAQ,IAAI,mBAAmB,UAAU,QAAQ,IAAI,sBAAsB,CAAC,CAAC;AAC5I,QAAM,OAA+B,EAAE,gBAAgB;AACvD,QAAM,EAAE,MAAM,QAAQ,UAAU,IAAI,MAAM,IAAI,IAAI,oBAAoB,IAAI;AAC1E,QAAM,OAAO,YAAY,SAAS;AAClC,SAAO,EAAE,SAAS,iBAAiB,SAAS,MAAM,QAAQ,KAAK;AACjE;;;ACrCA,SAAS,QAAAC,OAAM,OAAAC,YAAW;AAC1B,SAAiC,WAAW,eAAAC,oBAAmB;AASxD,IAAM,uBAAuB,OAIlC,iBAIA,SAQA,YAMA,UAAU,QACa;AACvB,MAAI,8BAA8B,SAAS,gBAAgB,YAAY,CAAC,GAAG;AACzE,UAAM,IAAI,MAAM,uDAAuD,eAAe,EAAE;AAAA,EAC1F;AACA,QAAM,MAAM,IAAIC,KAAI,IAAIC,MAAK,EAAE,SAAS,YAAY,WAAW,QAAQ,IAAI,mBAAmB,UAAU,QAAQ,IAAI,sBAAsB,CAAC,CAAC;AAC5I,QAAM,OAAwB,CAAC;AAC/B,MAAI,SAA6B;AACjC,KAAG;AACD,UAAM,OAA+B,EAAE,iBAAiB,OAAO;AAC/D,UAAM,EAAE,QAAQ,YAAY,UAAU,OAAO,OAAO,IAAI,MAAM,IAAI,IAAI,qBAAqB,IAAI;AAC/F,UAAM,QAAyB,OAAO,MAAM,GAAG,KAAK,IAAI,UAAU,QAAQ,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU;AACrG,YAAM,EAAE,UAAU,SAAS,MAAM,WAAW,GAAG,KAAK,IAAI;AACxD,YAAM,OAAOC,aAAY,SAAS;AAClC,aAAO,EAAE,SAAS,SAAS,MAAM,GAAG,KAAK;AAAA,IAC3C,CAAC;AACD,SAAK,KAAK,GAAG,KAAK;AAClB,aAAS;AACT,QAAI,KAAK,UAAU,SAAS,CAAC;AAAQ;AAAA,EACvC,SAAS,KAAK,SAAS;AACvB,SAAO,KAAK,IAAI,CAAC,QAAQ;AACvB,WAAO,EAAE,GAAG,KAAK,QAAQ,UAAU;AAAA,EACrC,CAAC;AACH;;;APtCA,IAAM,iBAAiB;AAOvB,IAAM,OAAO,QAAQ,QAAQ;AAEtB,IAAM,6BAAN,cAEG,gBAAyB;AAAA,EACjC,OAAgB,gBAAgB,CAAC,gCAAgC;AAAA,EAEjE,MAAyB,eAAe,UAA0C;AAChF,UAAM,KAAK,QAAQ,OAAO;AAC1B,UAAM,UAAU,UAAU,OAAO,2BAA2B,KAAK,CAAC;AAClE,UAAM,eAAe,MAAM,QAAQ;AAAA,MACjC,QAAQ,IAAgC,OAAO,UAAU;AACvD,cAAM,UAAU,SAAS,OAAO,WAAW,KAAK,OAAO,SAAS,4BAA4B;AAC5F,cAAM,UAAU,SAAS,OAAO,WAAW,KAAK,OAAO,SAAS,4BAA4B;AAC5F,cAAM,UAAU,OAAO,WAAW;AAClC,cAAM,CAAC,MAAM,OAAO,MAAM,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,UACvD,yBAAyB,SAAS,SAAS,KAAK,QAAQ,QAAQ,GAAG;AAAA,UACnE,sBAAsB,SAAS,SAAS,KAAK,QAAQ,QAAQ,GAAG;AAAA,UAChE,qBAAqB,SAAS,SAAS,KAAK,QAAQ,QAAQ,KAAK,OAAO;AAAA,UACxE,KAAK,eAAe;AAAA,QACtB,CAAC;AACD,cAAM,UAAU,wBAAwB,IAAI;AAC5C,cAAM,CAAC,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA;AAAA,UAElC,QAAQ,IAAI,KAAK,IAAI,CAAC,QAAQ,cAAc,UAAU,GAAG,CAAC,CAAC;AAAA;AAAA,UAE3D,YAAY,UAAU,OAAO,IAAI,IAAI;AAAA,QACvC,CAAC;AACD,cAAM,UAA6B,EAAE,GAAG,MAAM,SAAS,QAAQ,qBAAqB,SAAS,MAAM;AACnG,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,WAAO,aAAa,KAAK;AAAA,EAC3B;AACF;;;ADpDO,IAAM,mCAAmC,MAC9C;AAAA,EACE,EAAE,UAAU,EAAE,CAACC,UAAS,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EACzD;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,2BAA2B,OAAO,MAAM;AAC7D,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ASPF,IAAO,cAAQ;","names":["NftSchema","attributes","p","Auth","SDK","SDK","Auth","Auth","SDK","toTokenType","SDK","Auth","toTokenType","NftSchema"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetrics.d.ts","sourceRoot":"","sources":["../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,mDAAmD,CAAA;AACzG,OAAO,EAAE,aAAa,EAAuB,MAAM,wCAAwC,CAAA;AAM3F,eAAO,MAAM,uBAAuB,SAAU,aAAa,EAAE,KAAG,oBA0B/D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetrics.d.ts","sourceRoot":"","sources":["../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,mDAAmD,CAAA;AACzG,OAAO,EAAE,aAAa,EAAuB,MAAM,wCAAwC,CAAA;AAM3F,eAAO,MAAM,uBAAuB,SAAU,aAAa,EAAE,KAAG,oBA0B/D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/collectionMetrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/collectionMetrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateAllPropertiesDistribution.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,kCAAkC,oCAsB9C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateAllPropertiesDistribution.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,kCAAkC,oCAsB9C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculatePropertyDistribution.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,6BAA6B,uDAgBzC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculatePropertyDistribution.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,6BAA6B,uDAgBzC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/distribution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAC7C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/distribution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAC7C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateBinomialParamsFromOutcomes.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,aAAc,MAAM,EAAE,KAAG,8BAYxE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateBinomialParamsFromOutcomes.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,aAAc,MAAM,EAAE,KAAG,8BAYxE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateBinomialParamsFromProbability.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAElG;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,MAAO,MAAM,KAAK,MAAM,KAAG,8BAW7E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateBinomialParamsFromProbability.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAElG;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,MAAO,MAAM,KAAK,MAAM,KAAG,8BAW7E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionCount.d.ts","sourceRoot":"","sources":["../../src/lib/getNftCollectionCount.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,qBAAqB,oBAIf,MAAM,WAId,MAAM,cAQH,MAAM,KACjB,QAAQ,MAAM,CAQhB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionCount.d.ts","sourceRoot":"","sources":["../../src/lib/getNftCollectionCount.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,qBAAqB,oBAIf,MAAM,WAId,MAAM,cAQH,MAAM,KACjB,QAAQ,MAAM,CAQhB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetadata.d.ts","sourceRoot":"","sources":["../../src/lib/getNftCollectionMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAUzF,eAAO,MAAM,wBAAwB,oBAIlB,MAAM,WAId,MAAM,cAQH,MAAM,KACjB,QAAQ,KAAK,qBAAqB,EAAE,OAAO,CAAC,CAS9C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetadata.d.ts","sourceRoot":"","sources":["../../src/lib/getNftCollectionMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAUzF,eAAO,MAAM,wBAAwB,oBAIlB,MAAM,WAId,MAAM,cAQH,MAAM,KACjB,QAAQ,KAAK,qBAAqB,EAAE,OAAO,CAAC,CAS9C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionNfts.d.ts","sourceRoot":"","sources":["../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAyC,MAAM,wCAAwC,CAAA;AASvG,eAAO,MAAM,oBAAoB,oBAId,MAAM,WAId,MAAM,cAQH,MAAM,uBAOjB,QAAQ,OAAO,EAAE,CAsBnB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionNfts.d.ts","sourceRoot":"","sources":["../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAyC,MAAM,wCAAwC,CAAA;AASvG,eAAO,MAAM,oBAAoB,oBAId,MAAM,WAId,MAAM,cAQH,MAAM,uBAOjB,QAAQ,OAAO,EAAE,CAsBnB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nonEvaluableContractAddresses.d.ts","sourceRoot":"","sources":["../../src/lib/nonEvaluableContractAddresses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,6BAA6B,UAGD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nonEvaluableContractAddresses.d.ts","sourceRoot":"","sources":["../../src/lib/nonEvaluableContractAddresses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,6BAA6B,UAGD,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes