@xyo-network/crypto-nft-collection-witness-plugin 2.73.3 → 2.74.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 (162) hide show
  1. package/dist/Plugin.d.mts +56 -0
  2. package/dist/Plugin.d.mts.map +1 -0
  3. package/dist/{types/Plugin.d.ts → Plugin.d.ts} +5 -5
  4. package/dist/Plugin.d.ts.map +1 -0
  5. package/dist/Witness.d.mts.map +1 -0
  6. package/dist/Witness.d.ts +10 -0
  7. package/dist/Witness.d.ts.map +1 -0
  8. package/dist/index.d.mts.map +1 -0
  9. package/dist/{esm/index.js → index.d.ts} +1 -2
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +219 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/index.mjs +191 -0
  14. package/dist/index.mjs.map +1 -0
  15. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +1 -0
  16. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.ts +4 -0
  17. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -0
  18. package/dist/lib/collectionMetrics/index.d.mts.map +1 -0
  19. package/dist/{esm/lib/collectionMetrics/index.js → lib/collectionMetrics/index.d.ts} +1 -1
  20. package/dist/lib/collectionMetrics/index.d.ts.map +1 -0
  21. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +1 -0
  22. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +3 -0
  23. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +1 -0
  24. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +1 -0
  25. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +3 -0
  26. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +1 -0
  27. package/dist/lib/collectionMetrics/lib/distribution.d.mts.map +1 -0
  28. package/dist/lib/collectionMetrics/lib/distribution.d.ts +6 -0
  29. package/dist/lib/collectionMetrics/lib/distribution.d.ts.map +1 -0
  30. package/dist/lib/collectionMetrics/lib/index.d.mts.map +1 -0
  31. package/dist/{esm/lib/collectionMetrics/lib/index.js → lib/collectionMetrics/lib/index.d.ts} +1 -1
  32. package/dist/lib/collectionMetrics/lib/index.d.ts.map +1 -0
  33. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +1 -0
  34. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +8 -0
  35. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
  36. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +1 -0
  37. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +9 -0
  38. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
  39. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +1 -0
  40. package/dist/{esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js → lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts} +1 -1
  41. package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions → lib/collectionMetrics/lib/probabilityDistributions/binomial}/index.d.ts.map +1 -1
  42. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +1 -0
  43. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +2 -0
  44. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +1 -0
  45. package/dist/lib/getNftCollectionCount.d.mts.map +1 -0
  46. package/dist/lib/getNftCollectionCount.d.ts +2 -0
  47. package/dist/lib/getNftCollectionCount.d.ts.map +1 -0
  48. package/dist/lib/getNftCollectionMetadata.d.mts.map +1 -0
  49. package/dist/lib/getNftCollectionMetadata.d.ts +3 -0
  50. package/dist/lib/getNftCollectionMetadata.d.ts.map +1 -0
  51. package/dist/lib/getNftCollectionNfts.d.mts.map +1 -0
  52. package/dist/lib/getNftCollectionNfts.d.ts +3 -0
  53. package/dist/lib/getNftCollectionNfts.d.ts.map +1 -0
  54. package/dist/lib/index.d.mts.map +1 -0
  55. package/dist/{esm/lib/index.js → lib/index.d.ts} +1 -1
  56. package/dist/lib/index.d.ts.map +1 -0
  57. package/dist/lib/nonEvaluableContractAddresses.d.mts.map +1 -0
  58. package/dist/lib/nonEvaluableContractAddresses.d.ts +6 -0
  59. package/dist/lib/nonEvaluableContractAddresses.d.ts.map +1 -0
  60. package/package.json +32 -25
  61. package/dist/cjs/Plugin.js +0 -16
  62. package/dist/cjs/Plugin.js.map +0 -1
  63. package/dist/cjs/Witness.js +0 -49
  64. package/dist/cjs/Witness.js.map +0 -1
  65. package/dist/cjs/index.js +0 -11
  66. package/dist/cjs/index.js.map +0 -1
  67. package/dist/cjs/lib/collectionMetrics/getNftCollectionMetrics.js +0 -29
  68. package/dist/cjs/lib/collectionMetrics/getNftCollectionMetrics.js.map +0 -1
  69. package/dist/cjs/lib/collectionMetrics/index.js +0 -5
  70. package/dist/cjs/lib/collectionMetrics/index.js.map +0 -1
  71. package/dist/cjs/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +0 -30
  72. package/dist/cjs/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +0 -1
  73. package/dist/cjs/lib/collectionMetrics/lib/calculatePropertyDistribution.js +0 -26
  74. package/dist/cjs/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +0 -1
  75. package/dist/cjs/lib/collectionMetrics/lib/distribution.js +0 -3
  76. package/dist/cjs/lib/collectionMetrics/lib/distribution.js.map +0 -1
  77. package/dist/cjs/lib/collectionMetrics/lib/index.js +0 -7
  78. package/dist/cjs/lib/collectionMetrics/lib/index.js.map +0 -1
  79. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +0 -23
  80. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +0 -1
  81. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +0 -20
  82. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +0 -1
  83. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +0 -6
  84. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +0 -1
  85. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/index.js +0 -5
  86. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +0 -1
  87. package/dist/cjs/lib/getNftCollectionCount.js +0 -33
  88. package/dist/cjs/lib/getNftCollectionCount.js.map +0 -1
  89. package/dist/cjs/lib/getNftCollectionMetadata.js +0 -35
  90. package/dist/cjs/lib/getNftCollectionMetadata.js.map +0 -1
  91. package/dist/cjs/lib/getNftCollectionNfts.js +0 -55
  92. package/dist/cjs/lib/getNftCollectionNfts.js.map +0 -1
  93. package/dist/cjs/lib/index.js +0 -8
  94. package/dist/cjs/lib/index.js.map +0 -1
  95. package/dist/cjs/lib/nonEvaluableContractAddresses.js +0 -12
  96. package/dist/cjs/lib/nonEvaluableContractAddresses.js.map +0 -1
  97. package/dist/docs.json +0 -23359
  98. package/dist/esm/Plugin.js +0 -11
  99. package/dist/esm/Plugin.js.map +0 -1
  100. package/dist/esm/Witness.js +0 -41
  101. package/dist/esm/Witness.js.map +0 -1
  102. package/dist/esm/index.js.map +0 -1
  103. package/dist/esm/lib/collectionMetrics/getNftCollectionMetrics.js +0 -25
  104. package/dist/esm/lib/collectionMetrics/getNftCollectionMetrics.js.map +0 -1
  105. package/dist/esm/lib/collectionMetrics/index.js.map +0 -1
  106. package/dist/esm/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +0 -26
  107. package/dist/esm/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +0 -1
  108. package/dist/esm/lib/collectionMetrics/lib/calculatePropertyDistribution.js +0 -22
  109. package/dist/esm/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +0 -1
  110. package/dist/esm/lib/collectionMetrics/lib/distribution.js +0 -2
  111. package/dist/esm/lib/collectionMetrics/lib/distribution.js.map +0 -1
  112. package/dist/esm/lib/collectionMetrics/lib/index.js.map +0 -1
  113. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +0 -19
  114. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +0 -1
  115. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +0 -16
  116. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +0 -1
  117. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +0 -1
  118. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/index.js +0 -2
  119. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +0 -1
  120. package/dist/esm/lib/getNftCollectionCount.js +0 -28
  121. package/dist/esm/lib/getNftCollectionCount.js.map +0 -1
  122. package/dist/esm/lib/getNftCollectionMetadata.js +0 -30
  123. package/dist/esm/lib/getNftCollectionMetadata.js.map +0 -1
  124. package/dist/esm/lib/getNftCollectionNfts.js +0 -50
  125. package/dist/esm/lib/getNftCollectionNfts.js.map +0 -1
  126. package/dist/esm/lib/index.js.map +0 -1
  127. package/dist/esm/lib/nonEvaluableContractAddresses.js +0 -9
  128. package/dist/esm/lib/nonEvaluableContractAddresses.js.map +0 -1
  129. package/dist/types/Plugin.d.ts.map +0 -1
  130. package/dist/types/Witness.d.ts.map +0 -1
  131. package/dist/types/index.d.ts.map +0 -1
  132. package/dist/types/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
  133. package/dist/types/lib/collectionMetrics/index.d.ts.map +0 -1
  134. package/dist/types/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
  135. package/dist/types/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
  136. package/dist/types/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
  137. package/dist/types/lib/collectionMetrics/lib/index.d.ts.map +0 -1
  138. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
  139. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
  140. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
  141. package/dist/types/lib/getNftCollectionCount.d.ts.map +0 -1
  142. package/dist/types/lib/getNftCollectionMetadata.d.ts.map +0 -1
  143. package/dist/types/lib/getNftCollectionNfts.d.ts.map +0 -1
  144. package/dist/types/lib/index.d.ts.map +0 -1
  145. package/dist/types/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
  146. /package/dist/{types/Witness.d.ts → Witness.d.mts} +0 -0
  147. /package/dist/{types/index.d.ts → index.d.mts} +0 -0
  148. /package/dist/{types/lib/collectionMetrics/getNftCollectionMetrics.d.ts → lib/collectionMetrics/getNftCollectionMetrics.d.mts} +0 -0
  149. /package/dist/{types/lib/collectionMetrics/index.d.ts → lib/collectionMetrics/index.d.mts} +0 -0
  150. /package/dist/{types/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts → lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts} +0 -0
  151. /package/dist/{types/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts → lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts} +0 -0
  152. /package/dist/{types/lib/collectionMetrics/lib/distribution.d.ts → lib/collectionMetrics/lib/distribution.d.mts} +0 -0
  153. /package/dist/{types/lib/collectionMetrics/lib/index.d.ts → lib/collectionMetrics/lib/index.d.mts} +0 -0
  154. /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts → lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts} +0 -0
  155. /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts → lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts} +0 -0
  156. /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts → lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts} +0 -0
  157. /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts → lib/collectionMetrics/lib/probabilityDistributions/index.d.mts} +0 -0
  158. /package/dist/{types/lib/getNftCollectionCount.d.ts → lib/getNftCollectionCount.d.mts} +0 -0
  159. /package/dist/{types/lib/getNftCollectionMetadata.d.ts → lib/getNftCollectionMetadata.d.mts} +0 -0
  160. /package/dist/{types/lib/getNftCollectionNfts.d.ts → lib/getNftCollectionNfts.d.mts} +0 -0
  161. /package/dist/{types/lib/index.d.ts → lib/index.d.mts} +0 -0
  162. /package/dist/{types/lib/nonEvaluableContractAddresses.d.ts → lib/nonEvaluableContractAddresses.d.mts} +0 -0
@@ -1,11 +0,0 @@
1
- import { NftSchema } from '@xyo-network/crypto-nft-payload-plugin';
2
- import { PayloadSetSchema } from '@xyo-network/payload-model';
3
- import { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
4
- import { CryptoNftCollectionWitness } from './Witness';
5
- export const CryptoNftCollectionWitnessPlugin = () => createPayloadSetWitnessPlugin({ required: { [NftSchema]: 1 }, schema: PayloadSetSchema }, {
6
- witness: async (params) => {
7
- const result = await CryptoNftCollectionWitness.create(params);
8
- return result;
9
- },
10
- });
11
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAE9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,6BAA6B,CAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC1D;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
@@ -1,41 +0,0 @@
1
- import { assertEx } from '@xylabs/assert';
2
- import { PayloadHasher } from '@xyo-network/core';
3
- import { isNftCollectionWitnessQuery, NftCollectionSchema, NftCollectionWitnessConfigSchema, } from '@xyo-network/crypto-nft-collection-payload-plugin';
4
- import { AbstractWitness } from '@xyo-network/witness';
5
- import { getNftCollectionCount, getNftCollectionMetadata, getNftCollectionMetrics, getNftCollectionNfts } from './lib';
6
- const defaultMaxNfts = 100;
7
- /**
8
- * A "no operation" Promise to be used
9
- * when no action is desired but a Promise
10
- * is required to be returned
11
- */
12
- const NoOp = Promise.resolve();
13
- export class CryptoNftCollectionWitness extends AbstractWitness {
14
- static configSchemas = [NftCollectionWitnessConfigSchema];
15
- async observeHandler(payloads) {
16
- await this.started('throw');
17
- const queries = payloads?.filter(isNftCollectionWitnessQuery) ?? [];
18
- const observations = await Promise.all(queries.map(async (query) => {
19
- const address = assertEx(query?.address || this.config.address, 'params.address is required');
20
- const chainId = assertEx(query?.chainId || this.config.chainId, 'params.chainId is required');
21
- const maxNfts = query?.maxNfts || defaultMaxNfts;
22
- const [info, total, nfts, archivist] = await Promise.all([
23
- getNftCollectionMetadata(address, chainId, this.account.private.hex),
24
- getNftCollectionCount(address, chainId, this.account.private.hex),
25
- getNftCollectionNfts(address, chainId, this.account.private.hex, maxNfts),
26
- this.writeArchivist(),
27
- ]);
28
- const metrics = getNftCollectionMetrics(nfts);
29
- const [sources] = await Promise.all([
30
- // Hash all the payloads
31
- Promise.all(nfts.map((nft) => PayloadHasher.hashAsync(nft))),
32
- // Insert them into the archivist if we have one
33
- archivist ? archivist.insert(nfts) : NoOp,
34
- ]);
35
- const payload = { ...info, metrics, schema: NftCollectionSchema, sources, total };
36
- return payload;
37
- }));
38
- return observations.flat();
39
- }
40
- }
41
- //# sourceMappingURL=Witness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EACL,2BAA2B,EAE3B,mBAAmB,EAEnB,gCAAgC,GACjC,MAAM,mDAAmD,CAAA;AAG1D,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAA;AAErE,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAItH,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B;;;;GAIG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;AAE9B,MAAM,OAAO,0BAEX,SAAQ,eAAwB;IAChC,MAAM,CAAU,aAAa,GAAG,CAAC,gCAAgC,CAAC,CAAA;IAE/C,KAAK,CAAC,cAAc,CAAC,QAAoB;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAA;QACnE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,OAAO,CAAC,GAAG,CAA6B,KAAK,EAAE,KAAK,EAAE,EAAE;YACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;YAC7F,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;YAC7F,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,cAAc,CAAA;YAChD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;gBACpE,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;gBACjE,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;gBACzE,IAAI,CAAC,cAAc,EAAE;aACtB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;YAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClC,wBAAwB;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5D,gDAAgD;gBAChD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;aAC1C,CAAC,CAAA;YACF,MAAM,OAAO,GAAsB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YACpG,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QACD,OAAO,YAAY,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","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;AAE3C,oDAAoD;AACpD,eAAe,gCAAgC,CAAA"}
@@ -1,25 +0,0 @@
1
- import { calculateAllPropertiesDistribution, calculateBinomialParamsFromProbability } from './lib';
2
- export const getNftCollectionMetrics = (nfts) => {
3
- const traits = nfts
4
- .map((nft) => nft?.metadata?.attributes)
5
- .filter((v) => v !== undefined)
6
- .map((attributes) => {
7
- return Object.fromEntries(attributes.map((attribute) => [attribute.trait_type, attribute.value]));
8
- });
9
- const distribution = calculateAllPropertiesDistribution(traits);
10
- const n = nfts.length;
11
- const attributes = Object.fromEntries(Object.entries(distribution)
12
- .filter((v) => v[1] !== undefined)
13
- .map(([trait, entries]) => {
14
- const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0);
15
- const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n);
16
- const values = Object.fromEntries(Object.entries(entries).map(([value, traitValueCount]) => {
17
- const { p } = calculateBinomialParamsFromProbability(n, traitValueCount / n);
18
- const metrics = { binomial: { p }, count: traitValueCount };
19
- return [value, metrics];
20
- }));
21
- return [trait, { metrics: { binomial: { p }, count: traitCount }, values }];
22
- }));
23
- return { metadata: { attributes } };
24
- };
25
- //# sourceMappingURL=getNftCollectionMetrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetrics.js","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kCAAkC,EAAE,sCAAsC,EAAE,MAAM,OAAO,CAAA;AAIlG,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAqB,EAAwB,EAAE;IACrF,MAAM,MAAM,GAAG,IAAI;SAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,UAA+C,CAAC;SAC5E,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAC1D,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAA;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAA+B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,MAAM,EAAE,CAAC,EAAE,GAAG,sCAAsC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QACjF,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE;YACvD,MAAM,EAAE,CAAC,EAAE,GAAG,sCAAsC,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAA;YAC5E,MAAM,OAAO,GAAoB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;YAC5E,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACzB,CAAC,CAAC,CACH,CAAA;QACD,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7E,CAAC,CAAC,CACL,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,CAAA;AACrC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1,26 +0,0 @@
1
- export const calculateAllPropertiesDistribution = (array) => {
2
- const distribution = {};
3
- array.forEach((item) => {
4
- for (const property in item) {
5
- if (Object.prototype.hasOwnProperty.call(item, property)) {
6
- const value = item[property];
7
- if (value !== undefined && value !== null) {
8
- const valueString = value.toString();
9
- if (!distribution[property]) {
10
- distribution[property] = { [valueString]: 1 };
11
- }
12
- else if (!distribution[property][valueString]) {
13
- ;
14
- distribution[property][valueString] = 1;
15
- }
16
- else {
17
- ;
18
- distribution[property][valueString] += 1;
19
- }
20
- }
21
- }
22
- }
23
- });
24
- return distribution;
25
- };
26
- //# sourceMappingURL=calculateAllPropertiesDistribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateAllPropertiesDistribution.js","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAI,KAAU,EAAmB,EAAE;IACnF,MAAM,YAAY,GAAoB,EAAE,CAAA;IAExC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;YAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;gBACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAmB,CAAC,CAAA;gBACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;oBACzC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;oBACpC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;wBAC3B,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAA;qBAC9C;yBAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAE,CAAC,WAAW,CAAC,EAAE;wBAChD,CAAC;wBAAC,YAAY,CAAC,QAAQ,CAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;qBACrE;yBAAM;wBACL,CAAC;wBAAC,YAAY,CAAC,QAAQ,CAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;qBACtE;iBACF;aACF;SACF;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
@@ -1,22 +0,0 @@
1
- export const calculatePropertyDistribution = (array, property) => {
2
- const distribution = {};
3
- array.forEach((item) => {
4
- const value = item[property];
5
- if (value !== undefined && value !== null) {
6
- const valueString = value.toString();
7
- if (!distribution[property]) {
8
- distribution[property] = { [valueString]: 1 };
9
- }
10
- else if (!distribution[property][valueString]) {
11
- ;
12
- distribution[property][valueString] = 1;
13
- }
14
- else {
15
- ;
16
- distribution[property][valueString] += 1;
17
- }
18
- }
19
- });
20
- return distribution;
21
- };
22
- //# sourceMappingURL=calculatePropertyDistribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculatePropertyDistribution.js","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAI,KAAU,EAAE,QAAiB,EAAmB,EAAE;IACjG,MAAM,YAAY,GAAoB,EAAE,CAAA;IACxC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;YACpC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;gBAC3B,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAA;aAC9C;iBAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAE,CAAC,WAAW,CAAC,EAAE;gBAChD,CAAC;gBAAC,YAAY,CAAC,QAAQ,CAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;aACrE;iBAAM;gBACL,CAAC;gBAAC,YAAY,CAAC,QAAQ,CAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;aACtE;SACF;IACH,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=distribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/distribution.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Calculates the parameters of a binomial distribution given a list of outcomes
3
- * @param outcomes List of outcomes, where 1 is a success and 0 is a failure
4
- * @returns The mean, standard deviation, and variance of the binomial distribution
5
- */
6
- export const calculateBinomialParamsFromOutcomes = (outcomes) => {
7
- const n = outcomes.length;
8
- // Calculate p: the proportion of successes
9
- const sum = outcomes.reduce((acc, value) => acc + value, 0);
10
- const p = sum / n;
11
- // Mean (µ)
12
- const mean = n * p;
13
- // Variance (σ^2)
14
- const variance = n * p * (1 - p);
15
- // Standard Deviation (σ)
16
- const stdDev = Math.sqrt(variance);
17
- return { mean, p, stdDev, variance };
18
- };
19
- //# sourceMappingURL=calculateBinomialParamsFromOutcomes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateBinomialParamsFromOutcomes.js","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,QAAkB,EAAkC,EAAE;IACxG,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACzB,2CAA2C;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACjB,WAAW;IACX,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,iBAAiB;IACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChC,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Calculates the parameters of a binomial distribution given the number of trials and success probability
3
- * @param n Number of trials
4
- * @param p Success probability
5
- * @returns The binomial distribution parameters
6
- */
7
- export const calculateBinomialParamsFromProbability = (n, p) => {
8
- // Mean (µ)
9
- const mean = n * p;
10
- // Variance (σ^2)
11
- const variance = n * p * (1 - p);
12
- // Standard Deviation (σ)
13
- const stdDev = Math.sqrt(variance);
14
- return { mean, p, stdDev, variance };
15
- };
16
- //# sourceMappingURL=calculateBinomialParamsFromProbability.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculateBinomialParamsFromProbability.js","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAS,EAAE,CAAS,EAAkC,EAAE;IAC7G,WAAW;IACX,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAElB,iBAAiB;IACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEhC,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAElC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,0CAA0C,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './binomial';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,28 +0,0 @@
1
- import { Auth, SDK } from '@infura/sdk';
2
- import { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses';
3
- export const getNftCollectionCount = async (
4
- /**
5
- * The address of the NFT contract to search for
6
- */
7
- contractAddress,
8
- /**
9
- * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on
10
- */
11
- chainId,
12
- // /**
13
- // * The ethers provider to use to search for NFTs
14
- // */
15
- // provider: ExternalProvider | JsonRpcFetchFunc,
16
- /**
17
- * The private key of the wallet to use to search for NFTs
18
- */
19
- privateKey) => {
20
- if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {
21
- throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`);
22
- }
23
- const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }));
24
- const opts = { contractAddress };
25
- const { total } = await sdk.api.getNFTsForCollection(opts);
26
- return total;
27
- };
28
- //# sourceMappingURL=getNftCollectionCount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionCount.js","sourceRoot":"","sources":["../../../src/lib/getNftCollectionCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAO/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK;AACxC;;GAEG;AACH,eAAuB;AACvB;;GAEG;AACH,OAAe;AACf,MAAM;AACN,mDAAmD;AACnD,MAAM;AACN,iDAAiD;AACjD;;GAEG;AACH,UAAkB,EACD,EAAE;IACnB,IAAI,6BAA6B,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,EAAE;QACzE,MAAM,IAAI,KAAK,CAAC,uDAAuD,eAAe,EAAE,CAAC,CAAA;KAC1F;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IAC7I,MAAM,IAAI,GAA2B,EAAE,eAAe,EAAE,CAAA;IACxD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC1D,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1,30 +0,0 @@
1
- import { Auth, SDK } from '@infura/sdk';
2
- import { toTokenType } from '@xyo-network/crypto-nft-payload-plugin';
3
- import { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses';
4
- export const getNftCollectionMetadata = async (
5
- /**
6
- * The address of the NFT contract to search for
7
- */
8
- contractAddress,
9
- /**
10
- * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on
11
- */
12
- chainId,
13
- // /**
14
- // * The ethers provider to use to search for NFTs
15
- // */
16
- // provider: ExternalProvider | JsonRpcFetchFunc,
17
- /**
18
- * The private key of the wallet to use to search for NFTs
19
- */
20
- privateKey) => {
21
- if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {
22
- throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`);
23
- }
24
- const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }));
25
- const opts = { contractAddress };
26
- const { name, symbol, tokenType } = await sdk.api.getContractMetadata(opts);
27
- const type = toTokenType(tokenType);
28
- return { address: contractAddress, chainId, name, symbol, type };
29
- };
30
- //# sourceMappingURL=getNftCollectionMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetadata.js","sourceRoot":"","sources":["../../../src/lib/getNftCollectionMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAEpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAO/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK;AAC3C;;GAEG;AACH,eAAuB;AACvB;;GAEG;AACH,OAAe;AACf,MAAM;AACN,mDAAmD;AACnD,MAAM;AACN,iDAAiD;AACjD;;GAEG;AACH,UAAkB,EAC6B,EAAE;IACjD,IAAI,6BAA6B,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,EAAE;QACzE,MAAM,IAAI,KAAK,CAAC,uDAAuD,eAAe,EAAE,CAAC,CAAA;KAC1F;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IAC7I,MAAM,IAAI,GAA2B,EAAE,eAAe,EAAE,CAAA;IACxD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACnC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AAClE,CAAC,CAAA"}
@@ -1,50 +0,0 @@
1
- import { Auth, SDK } from '@infura/sdk';
2
- import { NftSchema, toTokenType } from '@xyo-network/crypto-nft-payload-plugin';
3
- import { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses';
4
- export const getNftCollectionNfts = async (
5
- /**
6
- * The address of the NFT contract to search for
7
- */
8
- contractAddress,
9
- /**
10
- * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on
11
- */
12
- chainId,
13
- // /**
14
- // * The ethers provider to use to search for NFTs
15
- // */
16
- // provider: ExternalProvider | JsonRpcFetchFunc,
17
- /**
18
- * The private key of the wallet to use to search for NFTs
19
- */
20
- privateKey,
21
- /**
22
- * The maximum number of NFTs to return. Configurable to prevent
23
- * large wallets from exhausting Infura API credits. Ideally a
24
- * multiple of 100 as that appears to be the default page size.
25
- */
26
- maxNfts = 100) => {
27
- if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {
28
- throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`);
29
- }
30
- const sdk = new SDK(new Auth({ chainId, privateKey, projectId: process.env.INFURA_PROJECT_ID, secretId: process.env.INFURA_PROJECT_SECRET }));
31
- const nfts = [];
32
- let cursor = undefined;
33
- do {
34
- const opts = { contractAddress, cursor };
35
- const { cursor: nextCursor, pageSize, total, assets } = await sdk.api.getNFTsForCollection(opts);
36
- const batch = assets.slice(0, Math.min(pageSize, total - nfts.length)).map((asset) => {
37
- const { contract: address, type: tokenType, ...rest } = asset;
38
- const type = toTokenType(tokenType);
39
- return { address, chainId, type, ...rest };
40
- });
41
- nfts.push(...batch);
42
- cursor = nextCursor;
43
- if (nfts.length >= total || !cursor)
44
- break;
45
- } while (nfts.length < maxNfts);
46
- return nfts.map((nft) => {
47
- return { ...nft, schema: NftSchema };
48
- });
49
- };
50
- //# sourceMappingURL=getNftCollectionNfts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionNfts.js","sourceRoot":"","sources":["../../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAA0B,SAAS,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAEvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAO/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK;AACvC;;GAEG;AACH,eAAuB;AACvB;;GAEG;AACH,OAAe;AACf,MAAM;AACN,mDAAmD;AACnD,MAAM;AACN,iDAAiD;AACjD;;GAEG;AACH,UAAkB;AAClB;;;;GAIG;AACH,OAAO,GAAG,GAAG,EACO,EAAE;IACtB,IAAI,6BAA6B,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,EAAE;QACzE,MAAM,IAAI,KAAK,CAAC,uDAAuD,eAAe,EAAE,CAAC,CAAA;KAC1F;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IAC7I,MAAM,IAAI,GAAoB,EAAE,CAAA;IAChC,IAAI,MAAM,GAAuB,SAAS,CAAA;IAC1C,GAAG;QACD,MAAM,IAAI,GAA2B,EAAE,eAAe,EAAE,MAAM,EAAE,CAAA;QAChE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAChG,MAAM,KAAK,GAAoB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;YAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;YACnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;QAC5C,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;QACnB,MAAM,GAAG,UAAU,CAAA;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM;YAAE,MAAK;KAC3C,QAAQ,IAAI,CAAC,MAAM,GAAG,OAAO,EAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","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,9 +0,0 @@
1
- /**
2
- * These contracts are not evaluable for some
3
- * reason (too large, nonsensical, etc.)
4
- */
5
- export const nonEvaluableContractAddresses = [
6
- // ENS
7
- '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72',
8
- ].map((address) => address.toUpperCase());
9
- //# sourceMappingURL=nonEvaluableContractAddresses.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nonEvaluableContractAddresses.js","sourceRoot":"","sources":["../../../src/lib/nonEvaluableContractAddresses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,MAAM;IACN,4CAA4C;CAC7C,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS1C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,0BAA0B,EAE3B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIrE,MAAM,MAAM,gCAAgC,GAAG,aAAa,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,CAAA;AAWzG,qBAAa,0BAA0B,CACrC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CACnF,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,OAAgB,aAAa,uDAAqC;cAEzC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA2BlF"}
@@ -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":"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":"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":"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":"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":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,0CAA0C,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":"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":"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