@xyo-network/crypto-nft-collection-witness-plugin 2.99.5 → 3.0.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 (356) hide show
  1. package/dist/browser/index.d.ts +27 -4
  2. package/dist/browser/index.mjs +132 -178
  3. package/dist/browser/index.mjs.map +1 -1
  4. package/dist/neutral/index.d.ts +27 -4
  5. package/dist/neutral/index.mjs +132 -178
  6. package/dist/neutral/index.mjs.map +1 -1
  7. package/dist/node/index.d.ts +27 -4
  8. package/dist/node/index.mjs +137 -191
  9. package/dist/node/index.mjs.map +1 -1
  10. package/package.json +26 -44
  11. package/src/index.ts +1 -1
  12. package/dist/browser/Plugin.d.cts +0 -4
  13. package/dist/browser/Plugin.d.cts.map +0 -1
  14. package/dist/browser/Plugin.d.mts +0 -4
  15. package/dist/browser/Plugin.d.mts.map +0 -1
  16. package/dist/browser/Plugin.d.ts +0 -4
  17. package/dist/browser/Plugin.d.ts.map +0 -1
  18. package/dist/browser/Witness.d.cts +0 -10
  19. package/dist/browser/Witness.d.cts.map +0 -1
  20. package/dist/browser/Witness.d.mts +0 -10
  21. package/dist/browser/Witness.d.mts.map +0 -1
  22. package/dist/browser/Witness.d.ts +0 -10
  23. package/dist/browser/Witness.d.ts.map +0 -1
  24. package/dist/browser/index.cjs +0 -346
  25. package/dist/browser/index.cjs.map +0 -1
  26. package/dist/browser/index.d.cts +0 -4
  27. package/dist/browser/index.d.cts.map +0 -1
  28. package/dist/browser/index.d.mts +0 -4
  29. package/dist/browser/index.d.mts.map +0 -1
  30. package/dist/browser/index.d.ts.map +0 -1
  31. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.cts +0 -4
  32. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +0 -1
  33. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts +0 -4
  34. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
  35. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts +0 -4
  36. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
  37. package/dist/browser/lib/collectionMetrics/index.d.cts +0 -2
  38. package/dist/browser/lib/collectionMetrics/index.d.cts.map +0 -1
  39. package/dist/browser/lib/collectionMetrics/index.d.mts +0 -2
  40. package/dist/browser/lib/collectionMetrics/index.d.mts.map +0 -1
  41. package/dist/browser/lib/collectionMetrics/index.d.ts +0 -2
  42. package/dist/browser/lib/collectionMetrics/index.d.ts.map +0 -1
  43. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +0 -3
  44. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +0 -1
  45. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -3
  46. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
  47. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -3
  48. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
  49. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +0 -3
  50. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +0 -1
  51. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -3
  52. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
  53. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -3
  54. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
  55. package/dist/browser/lib/collectionMetrics/lib/distribution.d.cts +0 -6
  56. package/dist/browser/lib/collectionMetrics/lib/distribution.d.cts.map +0 -1
  57. package/dist/browser/lib/collectionMetrics/lib/distribution.d.mts +0 -6
  58. package/dist/browser/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
  59. package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts +0 -6
  60. package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
  61. package/dist/browser/lib/collectionMetrics/lib/index.d.cts +0 -4
  62. package/dist/browser/lib/collectionMetrics/lib/index.d.cts.map +0 -1
  63. package/dist/browser/lib/collectionMetrics/lib/index.d.mts +0 -4
  64. package/dist/browser/lib/collectionMetrics/lib/index.d.mts.map +0 -1
  65. package/dist/browser/lib/collectionMetrics/lib/index.d.ts +0 -4
  66. package/dist/browser/lib/collectionMetrics/lib/index.d.ts.map +0 -1
  67. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +0 -3
  68. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +0 -1
  69. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -3
  70. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
  71. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -3
  72. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
  73. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +0 -3
  74. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +0 -1
  75. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -3
  76. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
  77. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -3
  78. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
  79. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +0 -3
  80. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +0 -1
  81. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -3
  82. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +0 -1
  83. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -3
  84. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
  85. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +0 -2
  86. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +0 -1
  87. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -2
  88. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
  89. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -2
  90. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
  91. package/dist/browser/lib/contractHasFunctions.d.cts +0 -3
  92. package/dist/browser/lib/contractHasFunctions.d.cts.map +0 -1
  93. package/dist/browser/lib/contractHasFunctions.d.mts +0 -3
  94. package/dist/browser/lib/contractHasFunctions.d.mts.map +0 -1
  95. package/dist/browser/lib/contractHasFunctions.d.ts +0 -3
  96. package/dist/browser/lib/contractHasFunctions.d.ts.map +0 -1
  97. package/dist/browser/lib/getNftCollectionNfts.d.cts +0 -4
  98. package/dist/browser/lib/getNftCollectionNfts.d.cts.map +0 -1
  99. package/dist/browser/lib/getNftCollectionNfts.d.mts +0 -4
  100. package/dist/browser/lib/getNftCollectionNfts.d.mts.map +0 -1
  101. package/dist/browser/lib/getNftCollectionNfts.d.ts +0 -4
  102. package/dist/browser/lib/getNftCollectionNfts.d.ts.map +0 -1
  103. package/dist/browser/lib/index.d.cts +0 -5
  104. package/dist/browser/lib/index.d.cts.map +0 -1
  105. package/dist/browser/lib/index.d.mts +0 -5
  106. package/dist/browser/lib/index.d.mts.map +0 -1
  107. package/dist/browser/lib/index.d.ts +0 -5
  108. package/dist/browser/lib/index.d.ts.map +0 -1
  109. package/dist/browser/lib/nonEvaluableContractAddresses.d.cts +0 -2
  110. package/dist/browser/lib/nonEvaluableContractAddresses.d.cts.map +0 -1
  111. package/dist/browser/lib/nonEvaluableContractAddresses.d.mts +0 -2
  112. package/dist/browser/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
  113. package/dist/browser/lib/nonEvaluableContractAddresses.d.ts +0 -2
  114. package/dist/browser/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
  115. package/dist/browser/lib/tokenTypes.d.cts +0 -6
  116. package/dist/browser/lib/tokenTypes.d.cts.map +0 -1
  117. package/dist/browser/lib/tokenTypes.d.mts +0 -6
  118. package/dist/browser/lib/tokenTypes.d.mts.map +0 -1
  119. package/dist/browser/lib/tokenTypes.d.ts +0 -6
  120. package/dist/browser/lib/tokenTypes.d.ts.map +0 -1
  121. package/dist/browser/lib/tryCall.d.cts +0 -2
  122. package/dist/browser/lib/tryCall.d.cts.map +0 -1
  123. package/dist/browser/lib/tryCall.d.mts +0 -2
  124. package/dist/browser/lib/tryCall.d.mts.map +0 -1
  125. package/dist/browser/lib/tryCall.d.ts +0 -2
  126. package/dist/browser/lib/tryCall.d.ts.map +0 -1
  127. package/dist/neutral/Plugin.d.cts +0 -4
  128. package/dist/neutral/Plugin.d.cts.map +0 -1
  129. package/dist/neutral/Plugin.d.mts +0 -4
  130. package/dist/neutral/Plugin.d.mts.map +0 -1
  131. package/dist/neutral/Plugin.d.ts +0 -4
  132. package/dist/neutral/Plugin.d.ts.map +0 -1
  133. package/dist/neutral/Witness.d.cts +0 -10
  134. package/dist/neutral/Witness.d.cts.map +0 -1
  135. package/dist/neutral/Witness.d.mts +0 -10
  136. package/dist/neutral/Witness.d.mts.map +0 -1
  137. package/dist/neutral/Witness.d.ts +0 -10
  138. package/dist/neutral/Witness.d.ts.map +0 -1
  139. package/dist/neutral/index.cjs +0 -346
  140. package/dist/neutral/index.cjs.map +0 -1
  141. package/dist/neutral/index.d.cts +0 -4
  142. package/dist/neutral/index.d.cts.map +0 -1
  143. package/dist/neutral/index.d.mts +0 -4
  144. package/dist/neutral/index.d.mts.map +0 -1
  145. package/dist/neutral/index.d.ts.map +0 -1
  146. package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.cts +0 -4
  147. package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +0 -1
  148. package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.mts +0 -4
  149. package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
  150. package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.ts +0 -4
  151. package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
  152. package/dist/neutral/lib/collectionMetrics/index.d.cts +0 -2
  153. package/dist/neutral/lib/collectionMetrics/index.d.cts.map +0 -1
  154. package/dist/neutral/lib/collectionMetrics/index.d.mts +0 -2
  155. package/dist/neutral/lib/collectionMetrics/index.d.mts.map +0 -1
  156. package/dist/neutral/lib/collectionMetrics/index.d.ts +0 -2
  157. package/dist/neutral/lib/collectionMetrics/index.d.ts.map +0 -1
  158. package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +0 -3
  159. package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +0 -1
  160. package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -3
  161. package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
  162. package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -3
  163. package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
  164. package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +0 -3
  165. package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +0 -1
  166. package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -3
  167. package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
  168. package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -3
  169. package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
  170. package/dist/neutral/lib/collectionMetrics/lib/distribution.d.cts +0 -6
  171. package/dist/neutral/lib/collectionMetrics/lib/distribution.d.cts.map +0 -1
  172. package/dist/neutral/lib/collectionMetrics/lib/distribution.d.mts +0 -6
  173. package/dist/neutral/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
  174. package/dist/neutral/lib/collectionMetrics/lib/distribution.d.ts +0 -6
  175. package/dist/neutral/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
  176. package/dist/neutral/lib/collectionMetrics/lib/index.d.cts +0 -4
  177. package/dist/neutral/lib/collectionMetrics/lib/index.d.cts.map +0 -1
  178. package/dist/neutral/lib/collectionMetrics/lib/index.d.mts +0 -4
  179. package/dist/neutral/lib/collectionMetrics/lib/index.d.mts.map +0 -1
  180. package/dist/neutral/lib/collectionMetrics/lib/index.d.ts +0 -4
  181. package/dist/neutral/lib/collectionMetrics/lib/index.d.ts.map +0 -1
  182. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +0 -3
  183. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +0 -1
  184. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -3
  185. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
  186. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -3
  187. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
  188. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +0 -3
  189. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +0 -1
  190. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -3
  191. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
  192. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -3
  193. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
  194. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +0 -3
  195. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +0 -1
  196. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -3
  197. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +0 -1
  198. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -3
  199. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
  200. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +0 -2
  201. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +0 -1
  202. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -2
  203. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
  204. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -2
  205. package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
  206. package/dist/neutral/lib/contractHasFunctions.d.cts +0 -3
  207. package/dist/neutral/lib/contractHasFunctions.d.cts.map +0 -1
  208. package/dist/neutral/lib/contractHasFunctions.d.mts +0 -3
  209. package/dist/neutral/lib/contractHasFunctions.d.mts.map +0 -1
  210. package/dist/neutral/lib/contractHasFunctions.d.ts +0 -3
  211. package/dist/neutral/lib/contractHasFunctions.d.ts.map +0 -1
  212. package/dist/neutral/lib/getNftCollectionNfts.d.cts +0 -4
  213. package/dist/neutral/lib/getNftCollectionNfts.d.cts.map +0 -1
  214. package/dist/neutral/lib/getNftCollectionNfts.d.mts +0 -4
  215. package/dist/neutral/lib/getNftCollectionNfts.d.mts.map +0 -1
  216. package/dist/neutral/lib/getNftCollectionNfts.d.ts +0 -4
  217. package/dist/neutral/lib/getNftCollectionNfts.d.ts.map +0 -1
  218. package/dist/neutral/lib/index.d.cts +0 -5
  219. package/dist/neutral/lib/index.d.cts.map +0 -1
  220. package/dist/neutral/lib/index.d.mts +0 -5
  221. package/dist/neutral/lib/index.d.mts.map +0 -1
  222. package/dist/neutral/lib/index.d.ts +0 -5
  223. package/dist/neutral/lib/index.d.ts.map +0 -1
  224. package/dist/neutral/lib/nonEvaluableContractAddresses.d.cts +0 -2
  225. package/dist/neutral/lib/nonEvaluableContractAddresses.d.cts.map +0 -1
  226. package/dist/neutral/lib/nonEvaluableContractAddresses.d.mts +0 -2
  227. package/dist/neutral/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
  228. package/dist/neutral/lib/nonEvaluableContractAddresses.d.ts +0 -2
  229. package/dist/neutral/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
  230. package/dist/neutral/lib/tokenTypes.d.cts +0 -6
  231. package/dist/neutral/lib/tokenTypes.d.cts.map +0 -1
  232. package/dist/neutral/lib/tokenTypes.d.mts +0 -6
  233. package/dist/neutral/lib/tokenTypes.d.mts.map +0 -1
  234. package/dist/neutral/lib/tokenTypes.d.ts +0 -6
  235. package/dist/neutral/lib/tokenTypes.d.ts.map +0 -1
  236. package/dist/neutral/lib/tryCall.d.cts +0 -2
  237. package/dist/neutral/lib/tryCall.d.cts.map +0 -1
  238. package/dist/neutral/lib/tryCall.d.mts +0 -2
  239. package/dist/neutral/lib/tryCall.d.mts.map +0 -1
  240. package/dist/neutral/lib/tryCall.d.ts +0 -2
  241. package/dist/neutral/lib/tryCall.d.ts.map +0 -1
  242. package/dist/node/Plugin.d.cts +0 -4
  243. package/dist/node/Plugin.d.cts.map +0 -1
  244. package/dist/node/Plugin.d.mts +0 -4
  245. package/dist/node/Plugin.d.mts.map +0 -1
  246. package/dist/node/Plugin.d.ts +0 -4
  247. package/dist/node/Plugin.d.ts.map +0 -1
  248. package/dist/node/Witness.d.cts +0 -10
  249. package/dist/node/Witness.d.cts.map +0 -1
  250. package/dist/node/Witness.d.mts +0 -10
  251. package/dist/node/Witness.d.mts.map +0 -1
  252. package/dist/node/Witness.d.ts +0 -10
  253. package/dist/node/Witness.d.ts.map +0 -1
  254. package/dist/node/index.cjs +0 -365
  255. package/dist/node/index.cjs.map +0 -1
  256. package/dist/node/index.d.cts +0 -4
  257. package/dist/node/index.d.cts.map +0 -1
  258. package/dist/node/index.d.mts +0 -4
  259. package/dist/node/index.d.mts.map +0 -1
  260. package/dist/node/index.d.ts.map +0 -1
  261. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.cts +0 -4
  262. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +0 -1
  263. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts +0 -4
  264. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
  265. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts +0 -4
  266. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
  267. package/dist/node/lib/collectionMetrics/index.d.cts +0 -2
  268. package/dist/node/lib/collectionMetrics/index.d.cts.map +0 -1
  269. package/dist/node/lib/collectionMetrics/index.d.mts +0 -2
  270. package/dist/node/lib/collectionMetrics/index.d.mts.map +0 -1
  271. package/dist/node/lib/collectionMetrics/index.d.ts +0 -2
  272. package/dist/node/lib/collectionMetrics/index.d.ts.map +0 -1
  273. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +0 -3
  274. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +0 -1
  275. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -3
  276. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
  277. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -3
  278. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
  279. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +0 -3
  280. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +0 -1
  281. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -3
  282. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
  283. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -3
  284. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
  285. package/dist/node/lib/collectionMetrics/lib/distribution.d.cts +0 -6
  286. package/dist/node/lib/collectionMetrics/lib/distribution.d.cts.map +0 -1
  287. package/dist/node/lib/collectionMetrics/lib/distribution.d.mts +0 -6
  288. package/dist/node/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
  289. package/dist/node/lib/collectionMetrics/lib/distribution.d.ts +0 -6
  290. package/dist/node/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
  291. package/dist/node/lib/collectionMetrics/lib/index.d.cts +0 -4
  292. package/dist/node/lib/collectionMetrics/lib/index.d.cts.map +0 -1
  293. package/dist/node/lib/collectionMetrics/lib/index.d.mts +0 -4
  294. package/dist/node/lib/collectionMetrics/lib/index.d.mts.map +0 -1
  295. package/dist/node/lib/collectionMetrics/lib/index.d.ts +0 -4
  296. package/dist/node/lib/collectionMetrics/lib/index.d.ts.map +0 -1
  297. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +0 -3
  298. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +0 -1
  299. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -3
  300. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
  301. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -3
  302. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
  303. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +0 -3
  304. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +0 -1
  305. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -3
  306. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
  307. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -3
  308. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
  309. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +0 -3
  310. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +0 -1
  311. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -3
  312. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +0 -1
  313. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -3
  314. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
  315. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +0 -2
  316. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +0 -1
  317. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -2
  318. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
  319. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -2
  320. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
  321. package/dist/node/lib/contractHasFunctions.d.cts +0 -3
  322. package/dist/node/lib/contractHasFunctions.d.cts.map +0 -1
  323. package/dist/node/lib/contractHasFunctions.d.mts +0 -3
  324. package/dist/node/lib/contractHasFunctions.d.mts.map +0 -1
  325. package/dist/node/lib/contractHasFunctions.d.ts +0 -3
  326. package/dist/node/lib/contractHasFunctions.d.ts.map +0 -1
  327. package/dist/node/lib/getNftCollectionNfts.d.cts +0 -4
  328. package/dist/node/lib/getNftCollectionNfts.d.cts.map +0 -1
  329. package/dist/node/lib/getNftCollectionNfts.d.mts +0 -4
  330. package/dist/node/lib/getNftCollectionNfts.d.mts.map +0 -1
  331. package/dist/node/lib/getNftCollectionNfts.d.ts +0 -4
  332. package/dist/node/lib/getNftCollectionNfts.d.ts.map +0 -1
  333. package/dist/node/lib/index.d.cts +0 -5
  334. package/dist/node/lib/index.d.cts.map +0 -1
  335. package/dist/node/lib/index.d.mts +0 -5
  336. package/dist/node/lib/index.d.mts.map +0 -1
  337. package/dist/node/lib/index.d.ts +0 -5
  338. package/dist/node/lib/index.d.ts.map +0 -1
  339. package/dist/node/lib/nonEvaluableContractAddresses.d.cts +0 -2
  340. package/dist/node/lib/nonEvaluableContractAddresses.d.cts.map +0 -1
  341. package/dist/node/lib/nonEvaluableContractAddresses.d.mts +0 -2
  342. package/dist/node/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
  343. package/dist/node/lib/nonEvaluableContractAddresses.d.ts +0 -2
  344. package/dist/node/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
  345. package/dist/node/lib/tokenTypes.d.cts +0 -6
  346. package/dist/node/lib/tokenTypes.d.cts.map +0 -1
  347. package/dist/node/lib/tokenTypes.d.mts +0 -6
  348. package/dist/node/lib/tokenTypes.d.mts.map +0 -1
  349. package/dist/node/lib/tokenTypes.d.ts +0 -6
  350. package/dist/node/lib/tokenTypes.d.ts.map +0 -1
  351. package/dist/node/lib/tryCall.d.cts +0 -2
  352. package/dist/node/lib/tryCall.d.cts.map +0 -1
  353. package/dist/node/lib/tryCall.d.mts +0 -2
  354. package/dist/node/lib/tryCall.d.mts.map +0 -1
  355. package/dist/node/lib/tryCall.d.ts +0 -2
  356. package/dist/node/lib/tryCall.d.ts.map +0 -1
@@ -1,346 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
-
21
- // src/index.ts
22
- var src_exports = {};
23
- __export(src_exports, {
24
- CryptoNftCollectionWitness: () => CryptoNftCollectionWitness,
25
- CryptoNftCollectionWitnessPlugin: () => CryptoNftCollectionWitnessPlugin,
26
- contractHasFunctions: () => contractHasFunctions,
27
- default: () => CryptoNftCollectionWitnessPlugin,
28
- getNftCollectionMetrics: () => getNftCollectionMetrics,
29
- getNftCollectionNfts: () => getNftCollectionNfts,
30
- isErc1155: () => isErc1155,
31
- isErc721: () => isErc721,
32
- tokenTypes: () => tokenTypes
33
- });
34
- module.exports = __toCommonJS(src_exports);
35
-
36
- // src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
37
- var calculateAllPropertiesDistribution = /* @__PURE__ */ __name((array) => {
38
- const distribution = {};
39
- for (const item of array) {
40
- for (const property in item) {
41
- if (Object.prototype.hasOwnProperty.call(item, property)) {
42
- const value = item[property];
43
- if (value !== void 0 && value !== null) {
44
- const valueString = value.toString();
45
- if (!distribution[property]) {
46
- distribution[property] = {
47
- [valueString]: 1
48
- };
49
- } else if (distribution[property][valueString]) {
50
- distribution[property][valueString] += 1;
51
- } else {
52
- distribution[property][valueString] = 1;
53
- }
54
- }
55
- }
56
- }
57
- }
58
- return distribution;
59
- }, "calculateAllPropertiesDistribution");
60
-
61
- // src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts
62
- var calculateBinomialParamsFromProbability = /* @__PURE__ */ __name((n, p) => {
63
- const mean = n * p;
64
- const variance = n * p * (1 - p);
65
- const stdDev = Math.sqrt(variance);
66
- return {
67
- mean,
68
- p,
69
- stdDev,
70
- variance
71
- };
72
- }, "calculateBinomialParamsFromProbability");
73
-
74
- // src/lib/collectionMetrics/getNftCollectionMetrics.ts
75
- var getNftCollectionMetrics = /* @__PURE__ */ __name((nfts) => {
76
- const traits = nfts.map((nft) => nft?.metadata?.attributes).filter((v) => v !== void 0).map((attributes2) => {
77
- return Object.fromEntries(attributes2.map((attribute) => [
78
- attribute.trait_type,
79
- attribute.value
80
- ]));
81
- });
82
- const distribution = calculateAllPropertiesDistribution(traits);
83
- const n = nfts.length;
84
- const attributes = Object.fromEntries(Object.entries(distribution).filter((v) => v[1] !== void 0).map(([trait, entries]) => {
85
- const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0);
86
- const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n);
87
- const values = Object.fromEntries(Object.entries(entries).map(([value, traitValueCount]) => {
88
- const { p: p2 } = calculateBinomialParamsFromProbability(n, traitValueCount / n);
89
- const metrics = {
90
- binomial: {
91
- p: p2
92
- },
93
- count: traitValueCount
94
- };
95
- return [
96
- value,
97
- metrics
98
- ];
99
- }));
100
- return [
101
- trait,
102
- {
103
- metrics: {
104
- binomial: {
105
- p
106
- },
107
- count: traitCount
108
- },
109
- values
110
- }
111
- ];
112
- }));
113
- return {
114
- metadata: {
115
- attributes
116
- }
117
- };
118
- }, "getNftCollectionMetrics");
119
-
120
- // src/lib/contractHasFunctions.ts
121
- var import_assert = require("@xylabs/assert");
122
- var contractHasFunctions = /* @__PURE__ */ __name(async (provider, address, contractInterface, functionNames) => {
123
- try {
124
- const bytecode = await provider.getCode(address, "latest");
125
- for (const functionName of functionNames) {
126
- const selector = (0, import_assert.assertEx)(contractInterface.getFunction(functionName)?.selector, () => "Function not found on interface");
127
- if (!bytecode.includes(selector.slice(2))) {
128
- return false;
129
- }
130
- return true;
131
- }
132
- return false;
133
- } catch (ex) {
134
- const error = ex;
135
- console.log(error);
136
- return false;
137
- }
138
- }, "contractHasFunctions");
139
-
140
- // src/lib/getNftCollectionNfts.ts
141
- var import_axios = require("@xylabs/axios");
142
- var import_exists = require("@xylabs/exists");
143
- var import_hex = require("@xylabs/hex");
144
- var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
145
- var import_erc1822_witness = require("@xyo-network/erc1822-witness");
146
- var import_erc1967_witness = require("@xyo-network/erc1967-witness");
147
- var import_open_zeppelin_typechain2 = require("@xyo-network/open-zeppelin-typechain");
148
- var import_witness_blockchain_abstract = require("@xyo-network/witness-blockchain-abstract");
149
-
150
- // src/lib/tokenTypes.ts
151
- var import_open_zeppelin_typechain = require("@xyo-network/open-zeppelin-typechain");
152
- var isErc1155 = /* @__PURE__ */ __name(async (provider, address) => {
153
- return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.ERC1155URIStorage__factory.createInterface(), [
154
- "uri"
155
- ]);
156
- }, "isErc1155");
157
- var isErc721 = /* @__PURE__ */ __name(async (provider, address) => {
158
- return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.ERC721__factory.createInterface(), [
159
- "name",
160
- "symbol",
161
- "tokenURI"
162
- ]);
163
- }, "isErc721");
164
- var tokenTypes = /* @__PURE__ */ __name(async (provider, address) => {
165
- const [erc721, erc1155] = await Promise.all([
166
- isErc721(provider, address),
167
- isErc1155(provider, address)
168
- ]);
169
- const result = [];
170
- if (erc721) {
171
- result.push("ERC721");
172
- }
173
- if (erc1155) {
174
- result.push("ERC1155");
175
- }
176
- return result;
177
- }, "tokenTypes");
178
-
179
- // src/lib/tryCall.ts
180
- var tryCall = /* @__PURE__ */ __name(async (func, name) => {
181
- try {
182
- return await func();
183
- } catch (ex) {
184
- if (name) {
185
- const error = ex;
186
- console.log(`tryCall failed [${name}]: ${error.message}`);
187
- }
188
- return void 0;
189
- }
190
- }, "tryCall");
191
-
192
- // src/lib/getNftCollectionNfts.ts
193
- var ipfsGateway = "5d7b6582.beta.decentralnetworkservices.com";
194
- function range(size, startAt = 0) {
195
- return [
196
- ...Array(size).keys()
197
- ].map((i) => i + startAt);
198
- }
199
- __name(range, "range");
200
- var getNftCollectionNfts = /* @__PURE__ */ __name(async (contractAddress, provider, types, maxNfts = 100) => {
201
- try {
202
- const block = await provider.getBlockNumber();
203
- const erc1967Status = await (0, import_erc1967_witness.getErc1967SlotStatus)(provider, contractAddress, block);
204
- const erc1822Status = await (0, import_erc1822_witness.getErc1822SlotStatus)(provider, contractAddress, block);
205
- const implementation = !erc1967Status.slots.implementation || (0, import_hex.isHexZero)(erc1967Status.slots.implementation) ? erc1822Status.implementation : erc1967Status.implementation;
206
- const axios = new import_axios.AxiosJson({
207
- timeout: 2e3
208
- });
209
- const enumerable = import_open_zeppelin_typechain2.ERC721Enumerable__factory.connect(implementation, provider);
210
- const storage = import_open_zeppelin_typechain2.ERC721URIStorage__factory.connect(implementation, provider);
211
- const supply1155 = import_open_zeppelin_typechain2.ERC1155Supply__factory.connect(implementation, provider);
212
- const finalTypes = types ?? await tokenTypes(provider, implementation);
213
- const maxNftsArray = range(maxNfts);
214
- const result = (await Promise.all(maxNftsArray.map(async (_value, i) => {
215
- const tokenId = await tryCall(async () => await enumerable.tokenByIndex(i, {
216
- blockTag: block
217
- })) ?? BigInt(i);
218
- if (tokenId !== void 0) {
219
- const supply = finalTypes.includes((0, import_crypto_nft_payload_plugin.toTokenType)("ERC1155")) ? await tryCall(async () => await supply1155["totalSupply(uint256)"](tokenId)) ?? "0x01" : "0x01";
220
- const metadataUri = await tryCall(async () => await storage.tokenURI(tokenId, {
221
- blockTag: block
222
- }));
223
- const checkedMetaDataUri = metadataUri ? (0, import_witness_blockchain_abstract.checkIpfsUrl)(metadataUri, ipfsGateway) : void 0;
224
- let metadata;
225
- if (checkedMetaDataUri !== void 0) {
226
- try {
227
- metadata = (await axios.get(checkedMetaDataUri)).data;
228
- } catch (ex) {
229
- const error = ex;
230
- console.error(`Get Metadata failed: ${error.message}`);
231
- }
232
- }
233
- const info = {
234
- address: contractAddress,
235
- chainId: Number((await provider.getNetwork()).chainId),
236
- metadata,
237
- metadataUri,
238
- schema: import_crypto_nft_payload_plugin.NftSchema,
239
- supply: `0x${supply.toString(16)}`,
240
- tokenId: `0x${tokenId.toString(16)}`,
241
- type: finalTypes.at(0),
242
- types: finalTypes
243
- };
244
- if (implementation !== contractAddress) {
245
- info.implementation = implementation;
246
- }
247
- return info;
248
- }
249
- }))).filter(import_exists.exists);
250
- return result;
251
- } catch (ex) {
252
- const error = ex;
253
- console.error(`getNftCollectionNfts failed: [${error.name}] ${error.message}`);
254
- console.log(error.stack);
255
- return [];
256
- }
257
- }, "getNftCollectionNfts");
258
-
259
- // src/Plugin.ts
260
- var import_crypto_nft_payload_plugin2 = require("@xyo-network/crypto-nft-payload-plugin");
261
- var import_payload_model = require("@xyo-network/payload-model");
262
- var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
263
-
264
- // src/Witness.ts
265
- var import_assert2 = require("@xylabs/assert");
266
- var import_eth_address = require("@xylabs/eth-address");
267
- var import_crypto_nft_collection_payload_plugin = require("@xyo-network/crypto-nft-collection-payload-plugin");
268
- var import_open_zeppelin_typechain3 = require("@xyo-network/open-zeppelin-typechain");
269
- var import_payload_builder = require("@xyo-network/payload-builder");
270
- var import_witness_evm_abstract = require("@xyo-network/witness-evm-abstract");
271
- var defaultMaxNfts = 100;
272
- var NoOp = Promise.resolve();
273
- function resolvedValue(settled, assert) {
274
- if (assert && settled.status === "rejected") {
275
- throw settled.reason;
276
- }
277
- return settled.status === "fulfilled" ? settled.value : void 0;
278
- }
279
- __name(resolvedValue, "resolvedValue");
280
- var CryptoNftCollectionWitness = class extends import_witness_evm_abstract.AbstractEvmWitness {
281
- static {
282
- __name(this, "CryptoNftCollectionWitness");
283
- }
284
- static configSchemas = [
285
- ...super.configSchemas,
286
- import_crypto_nft_collection_payload_plugin.NftCollectionWitnessConfigSchema
287
- ];
288
- static defaultConfigSchema = import_crypto_nft_collection_payload_plugin.NftCollectionWitnessConfigSchema;
289
- async observeHandler(payloads) {
290
- await this.started("throw");
291
- await this.getProviders();
292
- const queries = payloads?.filter(import_crypto_nft_collection_payload_plugin.isNftCollectionWitnessQuery) ?? [];
293
- const observations = await Promise.all(queries.map(async (query) => {
294
- const chainId = (0, import_assert2.assertEx)(query?.chainId || this.config.chainId, () => "params.chainId is required");
295
- const provider = await this.getProvider(true, true);
296
- const address = (0, import_assert2.assertEx)(import_eth_address.EthAddress.parse((0, import_assert2.assertEx)(query?.address || this.config.address, () => "params.address is required")), () => "Failed to parse params.address").toString();
297
- const erc721Enumerable = import_open_zeppelin_typechain3.ERC721Enumerable__factory.connect(address, provider);
298
- const maxNfts = query?.maxNfts || defaultMaxNfts;
299
- const [name, symbol, total, typesSettled, archivistSettled] = await Promise.allSettled([
300
- erc721Enumerable.name(),
301
- erc721Enumerable.symbol(),
302
- erc721Enumerable.totalSupply(),
303
- tokenTypes(provider, address),
304
- this.archivistInstance()
305
- ]);
306
- const types = resolvedValue(typesSettled, true);
307
- const nfts = await getNftCollectionNfts(address, provider, types, maxNfts);
308
- const metrics = getNftCollectionMetrics(nfts);
309
- const archivist = resolvedValue(archivistSettled);
310
- const [sources] = await Promise.all([
311
- // Hash all the payloads
312
- Promise.all(nfts.map((nft) => import_payload_builder.PayloadBuilder.dataHash(nft))),
313
- // Insert them into the archivist if we have one
314
- archivist ? archivist.insert(nfts) : NoOp
315
- ]);
316
- const payload = {
317
- address,
318
- chainId,
319
- metrics,
320
- name: resolvedValue(name, true),
321
- schema: import_crypto_nft_collection_payload_plugin.NftCollectionSchema,
322
- sources,
323
- symbol: resolvedValue(symbol, true),
324
- total: Number(resolvedValue(total, true)),
325
- type: types.at(0),
326
- types
327
- };
328
- return payload;
329
- }));
330
- return observations.flat();
331
- }
332
- };
333
-
334
- // src/Plugin.ts
335
- var CryptoNftCollectionWitnessPlugin = /* @__PURE__ */ __name(() => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)({
336
- required: {
337
- [import_crypto_nft_payload_plugin2.NftSchema]: 1
338
- },
339
- schema: import_payload_model.PayloadSetSchema
340
- }, {
341
- witness: /* @__PURE__ */ __name(async (params) => {
342
- const result = await CryptoNftCollectionWitness.create(params);
343
- return result;
344
- }, "witness")
345
- }), "CryptoNftCollectionWitnessPlugin");
346
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts","../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts","../../src/lib/collectionMetrics/getNftCollectionMetrics.ts","../../src/lib/contractHasFunctions.ts","../../src/lib/getNftCollectionNfts.ts","../../src/lib/tokenTypes.ts","../../src/lib/tryCall.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["export * from './lib/index.ts'\n// eslint-disable-next-line import/no-default-export\nexport { CryptoNftCollectionWitnessPlugin, CryptoNftCollectionWitnessPlugin as default } from './Plugin.ts'\nexport * from './Witness.ts'\n","import { Distribution } from './distribution.ts'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n for (const item of array) {\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/index.ts'\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 { assertEx } from '@xylabs/assert'\nimport { Interface, Provider } from 'ethers'\n\nexport const contractHasFunctions = async (provider: Provider, address: string, contractInterface: Interface, functionNames: string[]) => {\n try {\n const bytecode = await provider.getCode(address, 'latest')\n for (const functionName of functionNames) {\n const selector = assertEx(contractInterface.getFunction(functionName)?.selector, () => 'Function not found on interface')\n if (!bytecode.includes(selector.slice(2))) {\n return false\n }\n return true\n }\n return false\n } catch (ex) {\n const error = ex as Error\n console.log(error)\n return false\n }\n}\n","import { AxiosJson } from '@xylabs/axios'\nimport { exists } from '@xylabs/exists'\nimport { isHexZero } from '@xylabs/hex'\nimport { NftInfo, NftMetadata, NftSchema, TokenType, toTokenType } from '@xyo-network/crypto-nft-payload-plugin'\nimport { getErc1822SlotStatus } from '@xyo-network/erc1822-witness'\nimport { getErc1967SlotStatus } from '@xyo-network/erc1967-witness'\nimport { ERC721Enumerable__factory, ERC721URIStorage__factory, ERC1155Supply__factory } from '@xyo-network/open-zeppelin-typechain'\nimport { checkIpfsUrl } from '@xyo-network/witness-blockchain-abstract'\nimport { Provider } from 'ethers'\n\nimport { tokenTypes } from './tokenTypes.ts'\nimport { tryCall } from './tryCall.ts'\n\nconst ipfsGateway = '5d7b6582.beta.decentralnetworkservices.com'\n\nfunction range(size: number, startAt: number = 0): ReadonlyArray<number> {\n return [...Array(size).keys()].map(i => i + startAt)\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 provider: Provider,\n types?: TokenType[],\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 try {\n const block = await provider.getBlockNumber()\n\n // Check if ERC-1967 Upgradeable\n const erc1967Status = await getErc1967SlotStatus(provider, contractAddress, block)\n\n // Check if ERC-1822 Upgradeable\n const erc1822Status = await getErc1822SlotStatus(provider, contractAddress, block)\n\n const implementation\n = !erc1967Status.slots.implementation || isHexZero(erc1967Status.slots.implementation)\n ? erc1822Status.implementation\n : erc1967Status.implementation\n\n const axios = new AxiosJson({ timeout: 2000 })\n const enumerable = ERC721Enumerable__factory.connect(implementation, provider)\n const storage = ERC721URIStorage__factory.connect(implementation, provider)\n const supply1155 = ERC1155Supply__factory.connect(implementation, provider)\n const finalTypes = types ?? (await tokenTypes(provider, implementation))\n\n const maxNftsArray = range(maxNfts)\n\n const result: NftInfo[] = (\n await Promise.all(\n maxNftsArray.map(async (_value, i) => {\n const tokenId = (await tryCall(async () => await enumerable.tokenByIndex(i, { blockTag: block }))) ?? BigInt(i)\n if (tokenId !== undefined) {\n const supply\n = finalTypes.includes(toTokenType('ERC1155'))\n ? ((await tryCall(async () => await supply1155['totalSupply(uint256)'](tokenId))) ?? '0x01')\n : '0x01'\n const metadataUri = await tryCall(async () => await storage.tokenURI(tokenId, { blockTag: block }))\n const checkedMetaDataUri = metadataUri ? checkIpfsUrl(metadataUri, ipfsGateway) : undefined\n let metadata: NftMetadata | undefined\n if (checkedMetaDataUri !== undefined) {\n try {\n metadata = (await axios.get(checkedMetaDataUri)).data\n } catch (ex) {\n const error = ex as Error\n console.error(`Get Metadata failed: ${error.message}`)\n }\n }\n\n const info: NftInfo = {\n address: contractAddress,\n chainId: Number((await provider.getNetwork()).chainId),\n metadata,\n metadataUri,\n schema: NftSchema,\n supply: `0x${supply.toString(16)}`,\n tokenId: `0x${tokenId.toString(16)}`,\n type: finalTypes.at(0),\n types: finalTypes,\n }\n if (implementation !== contractAddress) {\n info.implementation = implementation\n }\n return info\n }\n }),\n )\n ).filter(exists)\n return result\n } catch (ex) {\n const error = ex as Error\n console.error(`getNftCollectionNfts failed: [${error.name}] ${error.message}`)\n console.log(error.stack)\n return []\n }\n}\n","import { TokenType } from '@xyo-network/crypto-nft-payload-plugin'\nimport { ERC721__factory, ERC1155URIStorage__factory } from '@xyo-network/open-zeppelin-typechain'\nimport { Provider } from 'ethers'\n\nimport { contractHasFunctions } from './contractHasFunctions.ts'\n\nexport const isErc1155 = async (provider: Provider, address: string) => {\n return await contractHasFunctions(provider, address, ERC1155URIStorage__factory.createInterface(), ['uri'])\n}\n\nexport const isErc721 = async (provider: Provider, address: string) => {\n return await contractHasFunctions(provider, address, ERC721__factory.createInterface(), ['name', 'symbol', 'tokenURI'])\n}\n\nexport const tokenTypes = async (provider: Provider, address: string) => {\n const [erc721, erc1155] = await Promise.all([isErc721(provider, address), isErc1155(provider, address)])\n const result: TokenType[] = []\n if (erc721) {\n result.push('ERC721')\n }\n if (erc1155) {\n result.push('ERC1155')\n }\n return result\n}\n","export const tryCall = async <T>(func: () => Promise<T>, name?: string): Promise<T | undefined> => {\n try {\n return await func()\n } catch (ex) {\n if (name) {\n const error = ex as Error\n console.log(`tryCall failed [${name}]: ${error.message}`)\n }\n return undefined\n }\n}\n","import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin, PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoNftCollectionWitness } from './Witness.ts'\n\nexport const CryptoNftCollectionWitnessPlugin = (): PayloadSetWitnessPlugin<CryptoNftCollectionWitness> =>\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 { EthAddress } from '@xylabs/eth-address'\nimport {\n isNftCollectionWitnessQuery,\n NftCollectionInfo,\n NftCollectionSchema,\n NftCollectionWitnessConfig,\n NftCollectionWitnessConfigSchema,\n NftCollectionWitnessQuery,\n} from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { ERC721Enumerable__factory } from '@xyo-network/open-zeppelin-typechain'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Schema } from '@xyo-network/payload-model'\nimport { AbstractEvmWitness, EvmWitnessParams } from '@xyo-network/witness-evm-abstract'\n\nimport { getNftCollectionMetrics, getNftCollectionNfts, tokenTypes } from './lib/index.ts'\n\nexport type CryptoNftCollectionWitnessParams = EvmWitnessParams<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\nfunction resolvedValue<T>(settled: PromiseSettledResult<T>, assert: true): T\nfunction resolvedValue<T>(settled: PromiseSettledResult<T>, assert?: false): T | undefined\nfunction resolvedValue<T>(settled: PromiseSettledResult<T>, assert?: boolean) {\n if (assert && settled.status === 'rejected') {\n throw settled.reason\n }\n return settled.status === 'fulfilled' ? settled.value : undefined\n}\n\nexport class CryptoNftCollectionWitness<\n TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams,\n> extends AbstractEvmWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, NftCollectionWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = NftCollectionWitnessConfigSchema\n\n protected override async observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]> {\n await this.started('throw')\n await this.getProviders() // make sure cache clears\n const queries = payloads?.filter(isNftCollectionWitnessQuery) ?? []\n const observations = await Promise.all(\n queries.map<Promise<NftCollectionInfo>>(async (query) => {\n const chainId = assertEx(query?.chainId || this.config.chainId, () => 'params.chainId is required')\n const provider = await this.getProvider(true, true)\n const address = assertEx(\n EthAddress.parse(assertEx(query?.address || this.config.address, () => 'params.address is required')),\n () => 'Failed to parse params.address',\n ).toString()\n\n const erc721Enumerable = ERC721Enumerable__factory.connect(address, provider)\n\n const maxNfts = query?.maxNfts || defaultMaxNfts\n const [name, symbol, total, typesSettled, archivistSettled] = await Promise.allSettled([\n erc721Enumerable.name(),\n erc721Enumerable.symbol(),\n erc721Enumerable.totalSupply(),\n tokenTypes(provider, address),\n this.archivistInstance(),\n ])\n const types = resolvedValue(typesSettled, true)\n const nfts = await getNftCollectionNfts(address, provider, types, maxNfts)\n const metrics = getNftCollectionMetrics(nfts)\n const archivist = resolvedValue(archivistSettled)\n const [sources] = await Promise.all([\n // Hash all the payloads\n Promise.all(nfts.map(nft => PayloadBuilder.dataHash(nft))),\n // Insert them into the archivist if we have one\n archivist ? archivist.insert(nfts) : NoOp,\n ])\n const payload: NftCollectionInfo = {\n address,\n chainId,\n metrics,\n name: resolvedValue(name, true),\n schema: NftCollectionSchema,\n sources,\n symbol: resolvedValue(symbol, true),\n total: Number(resolvedValue(total, true)),\n type: types.at(0),\n types,\n }\n return payload\n }),\n )\n return observations.flat()\n }\n}\n"],"mappings":"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","names":["calculateAllPropertiesDistribution","array","distribution","item","property","Object","prototype","hasOwnProperty","call","value","undefined","valueString","toString","calculateBinomialParamsFromProbability","n","p","mean","variance","stdDev","Math","sqrt","getNftCollectionMetrics","nfts","traits","map","nft","metadata","attributes","filter","v","undefined","Object","fromEntries","attribute","trait_type","value","distribution","calculateAllPropertiesDistribution","n","length","entries","trait","traitCount","values","reduce","prev","curr","p","calculateBinomialParamsFromProbability","traitValueCount","metrics","binomial","count","contractHasFunctions","provider","address","contractInterface","functionNames","bytecode","getCode","functionName","selector","assertEx","getFunction","includes","slice","ex","error","console","log","import_open_zeppelin_typechain","isErc1155","provider","address","contractHasFunctions","ERC1155URIStorage__factory","createInterface","isErc721","ERC721__factory","tokenTypes","erc721","erc1155","Promise","all","result","push","tryCall","func","name","ex","error","console","log","message","undefined","ipfsGateway","range","size","startAt","Array","keys","map","i","getNftCollectionNfts","contractAddress","provider","types","maxNfts","block","getBlockNumber","erc1967Status","getErc1967SlotStatus","erc1822Status","getErc1822SlotStatus","implementation","slots","isHexZero","axios","AxiosJson","timeout","enumerable","ERC721Enumerable__factory","connect","storage","ERC721URIStorage__factory","supply1155","ERC1155Supply__factory","finalTypes","tokenTypes","maxNftsArray","result","Promise","all","_value","tokenId","tryCall","tokenByIndex","blockTag","BigInt","undefined","supply","includes","toTokenType","metadataUri","tokenURI","checkedMetaDataUri","checkIpfsUrl","metadata","get","data","ex","error","console","message","info","address","chainId","Number","getNetwork","schema","NftSchema","toString","type","at","filter","exists","name","log","stack","import_crypto_nft_payload_plugin","import_assert","import_open_zeppelin_typechain","defaultMaxNfts","NoOp","Promise","resolve","resolvedValue","settled","assert","status","reason","value","undefined","CryptoNftCollectionWitness","AbstractEvmWitness","configSchemas","NftCollectionWitnessConfigSchema","defaultConfigSchema","observeHandler","payloads","started","getProviders","queries","filter","isNftCollectionWitnessQuery","observations","all","map","query","chainId","assertEx","config","provider","getProvider","address","EthAddress","parse","toString","erc721Enumerable","ERC721Enumerable__factory","connect","maxNfts","name","symbol","total","typesSettled","archivistSettled","allSettled","totalSupply","tokenTypes","archivistInstance","types","nfts","getNftCollectionNfts","metrics","getNftCollectionMetrics","archivist","sources","nft","PayloadBuilder","dataHash","insert","payload","schema","NftCollectionSchema","Number","type","at","flat","CryptoNftCollectionWitnessPlugin","createPayloadSetWitnessPlugin","required","NftSchema","schema","PayloadSetSchema","witness","params","result","CryptoNftCollectionWitness","create"]}
@@ -1,4 +0,0 @@
1
- export * from './lib/index.ts';
2
- export { CryptoNftCollectionWitnessPlugin, CryptoNftCollectionWitnessPlugin as default } from './Plugin.ts';
3
- export * from './Witness.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAE9B,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3G,cAAc,cAAc,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './lib/index.ts';
2
- export { CryptoNftCollectionWitnessPlugin, CryptoNftCollectionWitnessPlugin as default } from './Plugin.ts';
3
- export * from './Witness.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAE9B,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3G,cAAc,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAE9B,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3G,cAAc,cAAc,CAAA"}
@@ -1,4 +0,0 @@
1
- import { NftCollectionMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin';
2
- import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
3
- export declare const getNftCollectionMetrics: (nfts: NftInfoFields[]) => NftCollectionMetrics;
4
- //# sourceMappingURL=getNftCollectionMetrics.d.ts.map
@@ -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,4 +0,0 @@
1
- import { NftCollectionMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin';
2
- import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
3
- export declare const getNftCollectionMetrics: (nfts: NftInfoFields[]) => NftCollectionMetrics;
4
- //# sourceMappingURL=getNftCollectionMetrics.d.ts.map
@@ -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,4 +0,0 @@
1
- import { NftCollectionMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin';
2
- import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
3
- export declare const getNftCollectionMetrics: (nfts: NftInfoFields[]) => NftCollectionMetrics;
4
- //# sourceMappingURL=getNftCollectionMetrics.d.ts.map
@@ -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,2 +0,0 @@
1
- export * from './getNftCollectionMetrics.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './getNftCollectionMetrics.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './getNftCollectionMetrics.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Distribution } from './distribution.ts';
2
- export declare const calculateAllPropertiesDistribution: <T>(array: T[]) => Distribution<T>;
3
- //# sourceMappingURL=calculateAllPropertiesDistribution.d.ts.map
@@ -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,mBAAmB,CAAA;AAEhD,eAAO,MAAM,kCAAkC,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,YAAY,CAAC,CAAC,CAsBhF,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Distribution } from './distribution.ts';
2
- export declare const calculateAllPropertiesDistribution: <T>(array: T[]) => Distribution<T>;
3
- //# sourceMappingURL=calculateAllPropertiesDistribution.d.ts.map
@@ -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,mBAAmB,CAAA;AAEhD,eAAO,MAAM,kCAAkC,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,YAAY,CAAC,CAAC,CAsBhF,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Distribution } from './distribution.ts';
2
- export declare const calculateAllPropertiesDistribution: <T>(array: T[]) => Distribution<T>;
3
- //# sourceMappingURL=calculateAllPropertiesDistribution.d.ts.map
@@ -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,mBAAmB,CAAA;AAEhD,eAAO,MAAM,kCAAkC,GAAI,CAAC,SAAS,CAAC,EAAE,KAAG,YAAY,CAAC,CAAC,CAsBhF,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Distribution } from './distribution.ts';
2
- export declare const calculatePropertyDistribution: <T>(array: T[], property: keyof T) => Distribution<T>;
3
- //# sourceMappingURL=calculatePropertyDistribution.d.ts.map
@@ -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,mBAAmB,CAAA;AAEhD,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,CAAC,EAAE,YAAY,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAgB9F,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Distribution } from './distribution.ts';
2
- export declare const calculatePropertyDistribution: <T>(array: T[], property: keyof T) => Distribution<T>;
3
- //# sourceMappingURL=calculatePropertyDistribution.d.ts.map
@@ -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,mBAAmB,CAAA;AAEhD,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,CAAC,EAAE,YAAY,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAgB9F,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Distribution } from './distribution.ts';
2
- export declare const calculatePropertyDistribution: <T>(array: T[], property: keyof T) => Distribution<T>;
3
- //# sourceMappingURL=calculatePropertyDistribution.d.ts.map
@@ -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,mBAAmB,CAAA;AAEhD,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,CAAC,EAAE,YAAY,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAgB9F,CAAA"}
@@ -1,6 +0,0 @@
1
- export type Distribution<T> = {
2
- [K in keyof T]?: {
3
- [value: string]: number;
4
- };
5
- };
6
- //# sourceMappingURL=distribution.d.ts.map
@@ -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,6 +0,0 @@
1
- export type Distribution<T> = {
2
- [K in keyof T]?: {
3
- [value: string]: number;
4
- };
5
- };
6
- //# sourceMappingURL=distribution.d.ts.map
@@ -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,6 +0,0 @@
1
- export type Distribution<T> = {
2
- [K in keyof T]?: {
3
- [value: string]: number;
4
- };
5
- };
6
- //# sourceMappingURL=distribution.d.ts.map
@@ -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,4 +0,0 @@
1
- export * from './calculateAllPropertiesDistribution.ts';
2
- export * from './distribution.ts';
3
- export * from './probabilityDistributions/index.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './calculateAllPropertiesDistribution.ts';
2
- export * from './distribution.ts';
3
- export * from './probabilityDistributions/index.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './calculateAllPropertiesDistribution.ts';
2
- export * from './distribution.ts';
3
- export * from './probabilityDistributions/index.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AACvD,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA"}
@@ -1,3 +0,0 @@
1
- import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin';
2
- export declare const calculateBinomialParamsFromOutcomes: (outcomes: number[]) => BinomialDistributionParameters;
3
- //# sourceMappingURL=calculateBinomialParamsFromOutcomes.d.ts.map
@@ -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;AAOlG,eAAO,MAAM,mCAAmC,aAAc,MAAM,EAAE,KAAG,8BAYxE,CAAA"}
@@ -1,3 +0,0 @@
1
- import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin';
2
- export declare const calculateBinomialParamsFromOutcomes: (outcomes: number[]) => BinomialDistributionParameters;
3
- //# sourceMappingURL=calculateBinomialParamsFromOutcomes.d.ts.map
@@ -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;AAOlG,eAAO,MAAM,mCAAmC,aAAc,MAAM,EAAE,KAAG,8BAYxE,CAAA"}