@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.
- package/dist/Plugin.d.mts +56 -0
- package/dist/Plugin.d.mts.map +1 -0
- package/dist/{types/Plugin.d.ts → Plugin.d.ts} +5 -5
- package/dist/Plugin.d.ts.map +1 -0
- package/dist/Witness.d.mts.map +1 -0
- package/dist/Witness.d.ts +10 -0
- package/dist/Witness.d.ts.map +1 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/{esm/index.js → index.d.ts} +1 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +219 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +191 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.ts +4 -0
- package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/index.d.mts.map +1 -0
- package/dist/{esm/lib/collectionMetrics/index.js → lib/collectionMetrics/index.d.ts} +1 -1
- package/dist/lib/collectionMetrics/index.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +3 -0
- package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +3 -0
- package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/distribution.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/lib/distribution.d.ts +6 -0
- package/dist/lib/collectionMetrics/lib/distribution.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/index.d.mts.map +1 -0
- package/dist/{esm/lib/collectionMetrics/lib/index.js → lib/collectionMetrics/lib/index.d.ts} +1 -1
- package/dist/lib/collectionMetrics/lib/index.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +8 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +9 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +1 -0
- package/dist/{esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js → lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts} +1 -1
- package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions → lib/collectionMetrics/lib/probabilityDistributions/binomial}/index.d.ts.map +1 -1
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +1 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +2 -0
- package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +1 -0
- package/dist/lib/getNftCollectionCount.d.mts.map +1 -0
- package/dist/lib/getNftCollectionCount.d.ts +2 -0
- package/dist/lib/getNftCollectionCount.d.ts.map +1 -0
- package/dist/lib/getNftCollectionMetadata.d.mts.map +1 -0
- package/dist/lib/getNftCollectionMetadata.d.ts +3 -0
- package/dist/lib/getNftCollectionMetadata.d.ts.map +1 -0
- package/dist/lib/getNftCollectionNfts.d.mts.map +1 -0
- package/dist/lib/getNftCollectionNfts.d.ts +3 -0
- package/dist/lib/getNftCollectionNfts.d.ts.map +1 -0
- package/dist/lib/index.d.mts.map +1 -0
- package/dist/{esm/lib/index.js → lib/index.d.ts} +1 -1
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/nonEvaluableContractAddresses.d.mts.map +1 -0
- package/dist/lib/nonEvaluableContractAddresses.d.ts +6 -0
- package/dist/lib/nonEvaluableContractAddresses.d.ts.map +1 -0
- package/package.json +32 -25
- package/dist/cjs/Plugin.js +0 -16
- package/dist/cjs/Plugin.js.map +0 -1
- package/dist/cjs/Witness.js +0 -49
- package/dist/cjs/Witness.js.map +0 -1
- package/dist/cjs/index.js +0 -11
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/getNftCollectionMetrics.js +0 -29
- package/dist/cjs/lib/collectionMetrics/getNftCollectionMetrics.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/index.js +0 -5
- package/dist/cjs/lib/collectionMetrics/index.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +0 -30
- package/dist/cjs/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/calculatePropertyDistribution.js +0 -26
- package/dist/cjs/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/distribution.js +0 -3
- package/dist/cjs/lib/collectionMetrics/lib/distribution.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/index.js +0 -7
- package/dist/cjs/lib/collectionMetrics/lib/index.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +0 -23
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +0 -20
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +0 -6
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +0 -1
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/index.js +0 -5
- package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +0 -1
- package/dist/cjs/lib/getNftCollectionCount.js +0 -33
- package/dist/cjs/lib/getNftCollectionCount.js.map +0 -1
- package/dist/cjs/lib/getNftCollectionMetadata.js +0 -35
- package/dist/cjs/lib/getNftCollectionMetadata.js.map +0 -1
- package/dist/cjs/lib/getNftCollectionNfts.js +0 -55
- package/dist/cjs/lib/getNftCollectionNfts.js.map +0 -1
- package/dist/cjs/lib/index.js +0 -8
- package/dist/cjs/lib/index.js.map +0 -1
- package/dist/cjs/lib/nonEvaluableContractAddresses.js +0 -12
- package/dist/cjs/lib/nonEvaluableContractAddresses.js.map +0 -1
- package/dist/docs.json +0 -23359
- package/dist/esm/Plugin.js +0 -11
- package/dist/esm/Plugin.js.map +0 -1
- package/dist/esm/Witness.js +0 -41
- package/dist/esm/Witness.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/getNftCollectionMetrics.js +0 -25
- package/dist/esm/lib/collectionMetrics/getNftCollectionMetrics.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/index.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +0 -26
- package/dist/esm/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/calculatePropertyDistribution.js +0 -22
- package/dist/esm/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/distribution.js +0 -2
- package/dist/esm/lib/collectionMetrics/lib/distribution.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/index.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +0 -19
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +0 -16
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +0 -1
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/index.js +0 -2
- package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +0 -1
- package/dist/esm/lib/getNftCollectionCount.js +0 -28
- package/dist/esm/lib/getNftCollectionCount.js.map +0 -1
- package/dist/esm/lib/getNftCollectionMetadata.js +0 -30
- package/dist/esm/lib/getNftCollectionMetadata.js.map +0 -1
- package/dist/esm/lib/getNftCollectionNfts.js +0 -50
- package/dist/esm/lib/getNftCollectionNfts.js.map +0 -1
- package/dist/esm/lib/index.js.map +0 -1
- package/dist/esm/lib/nonEvaluableContractAddresses.js +0 -9
- package/dist/esm/lib/nonEvaluableContractAddresses.js.map +0 -1
- package/dist/types/Plugin.d.ts.map +0 -1
- package/dist/types/Witness.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/index.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/index.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
- package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
- package/dist/types/lib/getNftCollectionCount.d.ts.map +0 -1
- package/dist/types/lib/getNftCollectionMetadata.d.ts.map +0 -1
- package/dist/types/lib/getNftCollectionNfts.d.ts.map +0 -1
- package/dist/types/lib/index.d.ts.map +0 -1
- package/dist/types/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
- /package/dist/{types/Witness.d.ts → Witness.d.mts} +0 -0
- /package/dist/{types/index.d.ts → index.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/getNftCollectionMetrics.d.ts → lib/collectionMetrics/getNftCollectionMetrics.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/index.d.ts → lib/collectionMetrics/index.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts → lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts → lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/distribution.d.ts → lib/collectionMetrics/lib/distribution.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/index.d.ts → lib/collectionMetrics/lib/index.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts → lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts → lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts → lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts} +0 -0
- /package/dist/{types/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts → lib/collectionMetrics/lib/probabilityDistributions/index.d.mts} +0 -0
- /package/dist/{types/lib/getNftCollectionCount.d.ts → lib/getNftCollectionCount.d.mts} +0 -0
- /package/dist/{types/lib/getNftCollectionMetadata.d.ts → lib/getNftCollectionMetadata.d.mts} +0 -0
- /package/dist/{types/lib/getNftCollectionNfts.d.ts → lib/getNftCollectionNfts.d.mts} +0 -0
- /package/dist/{types/lib/index.d.ts → lib/index.d.mts} +0 -0
- /package/dist/{types/lib/nonEvaluableContractAddresses.d.ts → lib/nonEvaluableContractAddresses.d.mts} +0 -0
package/dist/esm/Plugin.js
DELETED
|
@@ -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
|
package/dist/esm/Plugin.js.map
DELETED
|
@@ -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"}
|
package/dist/esm/Witness.js
DELETED
|
@@ -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
|
package/dist/esm/Witness.js.map
DELETED
|
@@ -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"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -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 +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 +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"}
|
package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{types/lib/collectionMetrics/lib/index.d.ts → lib/collectionMetrics/lib/index.d.mts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{types/lib/getNftCollectionMetadata.d.ts → lib/getNftCollectionMetadata.d.mts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|