@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.
- package/dist/browser/index.d.ts +27 -4
- package/dist/browser/index.mjs +132 -178
- package/dist/browser/index.mjs.map +1 -1
- package/dist/neutral/index.d.ts +27 -4
- package/dist/neutral/index.mjs +132 -178
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/node/index.d.ts +27 -4
- package/dist/node/index.mjs +137 -191
- package/dist/node/index.mjs.map +1 -1
- package/package.json +26 -44
- package/src/index.ts +1 -1
- package/dist/browser/Plugin.d.cts +0 -4
- package/dist/browser/Plugin.d.cts.map +0 -1
- package/dist/browser/Plugin.d.mts +0 -4
- package/dist/browser/Plugin.d.mts.map +0 -1
- package/dist/browser/Plugin.d.ts +0 -4
- package/dist/browser/Plugin.d.ts.map +0 -1
- package/dist/browser/Witness.d.cts +0 -10
- package/dist/browser/Witness.d.cts.map +0 -1
- package/dist/browser/Witness.d.mts +0 -10
- package/dist/browser/Witness.d.mts.map +0 -1
- package/dist/browser/Witness.d.ts +0 -10
- package/dist/browser/Witness.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -346
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -4
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -4
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.cts +0 -4
- package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts +0 -4
- package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts +0 -4
- package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/index.d.cts +0 -2
- package/dist/browser/lib/collectionMetrics/index.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/index.d.mts +0 -2
- package/dist/browser/lib/collectionMetrics/index.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/index.d.ts +0 -2
- package/dist/browser/lib/collectionMetrics/index.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/distribution.d.cts +0 -6
- package/dist/browser/lib/collectionMetrics/lib/distribution.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/distribution.d.mts +0 -6
- package/dist/browser/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts +0 -6
- package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/index.d.cts +0 -4
- package/dist/browser/lib/collectionMetrics/lib/index.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/index.d.mts +0 -4
- package/dist/browser/lib/collectionMetrics/lib/index.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/index.d.ts +0 -4
- package/dist/browser/lib/collectionMetrics/lib/index.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -3
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +0 -2
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -2
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -2
- package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
- package/dist/browser/lib/contractHasFunctions.d.cts +0 -3
- package/dist/browser/lib/contractHasFunctions.d.cts.map +0 -1
- package/dist/browser/lib/contractHasFunctions.d.mts +0 -3
- package/dist/browser/lib/contractHasFunctions.d.mts.map +0 -1
- package/dist/browser/lib/contractHasFunctions.d.ts +0 -3
- package/dist/browser/lib/contractHasFunctions.d.ts.map +0 -1
- package/dist/browser/lib/getNftCollectionNfts.d.cts +0 -4
- package/dist/browser/lib/getNftCollectionNfts.d.cts.map +0 -1
- package/dist/browser/lib/getNftCollectionNfts.d.mts +0 -4
- package/dist/browser/lib/getNftCollectionNfts.d.mts.map +0 -1
- package/dist/browser/lib/getNftCollectionNfts.d.ts +0 -4
- package/dist/browser/lib/getNftCollectionNfts.d.ts.map +0 -1
- package/dist/browser/lib/index.d.cts +0 -5
- package/dist/browser/lib/index.d.cts.map +0 -1
- package/dist/browser/lib/index.d.mts +0 -5
- package/dist/browser/lib/index.d.mts.map +0 -1
- package/dist/browser/lib/index.d.ts +0 -5
- package/dist/browser/lib/index.d.ts.map +0 -1
- package/dist/browser/lib/nonEvaluableContractAddresses.d.cts +0 -2
- package/dist/browser/lib/nonEvaluableContractAddresses.d.cts.map +0 -1
- package/dist/browser/lib/nonEvaluableContractAddresses.d.mts +0 -2
- package/dist/browser/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
- package/dist/browser/lib/nonEvaluableContractAddresses.d.ts +0 -2
- package/dist/browser/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
- package/dist/browser/lib/tokenTypes.d.cts +0 -6
- package/dist/browser/lib/tokenTypes.d.cts.map +0 -1
- package/dist/browser/lib/tokenTypes.d.mts +0 -6
- package/dist/browser/lib/tokenTypes.d.mts.map +0 -1
- package/dist/browser/lib/tokenTypes.d.ts +0 -6
- package/dist/browser/lib/tokenTypes.d.ts.map +0 -1
- package/dist/browser/lib/tryCall.d.cts +0 -2
- package/dist/browser/lib/tryCall.d.cts.map +0 -1
- package/dist/browser/lib/tryCall.d.mts +0 -2
- package/dist/browser/lib/tryCall.d.mts.map +0 -1
- package/dist/browser/lib/tryCall.d.ts +0 -2
- package/dist/browser/lib/tryCall.d.ts.map +0 -1
- package/dist/neutral/Plugin.d.cts +0 -4
- package/dist/neutral/Plugin.d.cts.map +0 -1
- package/dist/neutral/Plugin.d.mts +0 -4
- package/dist/neutral/Plugin.d.mts.map +0 -1
- package/dist/neutral/Plugin.d.ts +0 -4
- package/dist/neutral/Plugin.d.ts.map +0 -1
- package/dist/neutral/Witness.d.cts +0 -10
- package/dist/neutral/Witness.d.cts.map +0 -1
- package/dist/neutral/Witness.d.mts +0 -10
- package/dist/neutral/Witness.d.mts.map +0 -1
- package/dist/neutral/Witness.d.ts +0 -10
- package/dist/neutral/Witness.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -346
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -4
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -4
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.cts +0 -4
- package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.mts +0 -4
- package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.ts +0 -4
- package/dist/neutral/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/index.d.cts +0 -2
- package/dist/neutral/lib/collectionMetrics/index.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/index.d.mts +0 -2
- package/dist/neutral/lib/collectionMetrics/index.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/index.d.ts +0 -2
- package/dist/neutral/lib/collectionMetrics/index.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/distribution.d.cts +0 -6
- package/dist/neutral/lib/collectionMetrics/lib/distribution.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/distribution.d.mts +0 -6
- package/dist/neutral/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/distribution.d.ts +0 -6
- package/dist/neutral/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/index.d.cts +0 -4
- package/dist/neutral/lib/collectionMetrics/lib/index.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/index.d.mts +0 -4
- package/dist/neutral/lib/collectionMetrics/lib/index.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/index.d.ts +0 -4
- package/dist/neutral/lib/collectionMetrics/lib/index.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -3
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +0 -2
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -2
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -2
- package/dist/neutral/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
- package/dist/neutral/lib/contractHasFunctions.d.cts +0 -3
- package/dist/neutral/lib/contractHasFunctions.d.cts.map +0 -1
- package/dist/neutral/lib/contractHasFunctions.d.mts +0 -3
- package/dist/neutral/lib/contractHasFunctions.d.mts.map +0 -1
- package/dist/neutral/lib/contractHasFunctions.d.ts +0 -3
- package/dist/neutral/lib/contractHasFunctions.d.ts.map +0 -1
- package/dist/neutral/lib/getNftCollectionNfts.d.cts +0 -4
- package/dist/neutral/lib/getNftCollectionNfts.d.cts.map +0 -1
- package/dist/neutral/lib/getNftCollectionNfts.d.mts +0 -4
- package/dist/neutral/lib/getNftCollectionNfts.d.mts.map +0 -1
- package/dist/neutral/lib/getNftCollectionNfts.d.ts +0 -4
- package/dist/neutral/lib/getNftCollectionNfts.d.ts.map +0 -1
- package/dist/neutral/lib/index.d.cts +0 -5
- package/dist/neutral/lib/index.d.cts.map +0 -1
- package/dist/neutral/lib/index.d.mts +0 -5
- package/dist/neutral/lib/index.d.mts.map +0 -1
- package/dist/neutral/lib/index.d.ts +0 -5
- package/dist/neutral/lib/index.d.ts.map +0 -1
- package/dist/neutral/lib/nonEvaluableContractAddresses.d.cts +0 -2
- package/dist/neutral/lib/nonEvaluableContractAddresses.d.cts.map +0 -1
- package/dist/neutral/lib/nonEvaluableContractAddresses.d.mts +0 -2
- package/dist/neutral/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
- package/dist/neutral/lib/nonEvaluableContractAddresses.d.ts +0 -2
- package/dist/neutral/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
- package/dist/neutral/lib/tokenTypes.d.cts +0 -6
- package/dist/neutral/lib/tokenTypes.d.cts.map +0 -1
- package/dist/neutral/lib/tokenTypes.d.mts +0 -6
- package/dist/neutral/lib/tokenTypes.d.mts.map +0 -1
- package/dist/neutral/lib/tokenTypes.d.ts +0 -6
- package/dist/neutral/lib/tokenTypes.d.ts.map +0 -1
- package/dist/neutral/lib/tryCall.d.cts +0 -2
- package/dist/neutral/lib/tryCall.d.cts.map +0 -1
- package/dist/neutral/lib/tryCall.d.mts +0 -2
- package/dist/neutral/lib/tryCall.d.mts.map +0 -1
- package/dist/neutral/lib/tryCall.d.ts +0 -2
- package/dist/neutral/lib/tryCall.d.ts.map +0 -1
- package/dist/node/Plugin.d.cts +0 -4
- package/dist/node/Plugin.d.cts.map +0 -1
- package/dist/node/Plugin.d.mts +0 -4
- package/dist/node/Plugin.d.mts.map +0 -1
- package/dist/node/Plugin.d.ts +0 -4
- package/dist/node/Plugin.d.ts.map +0 -1
- package/dist/node/Witness.d.cts +0 -10
- package/dist/node/Witness.d.cts.map +0 -1
- package/dist/node/Witness.d.mts +0 -10
- package/dist/node/Witness.d.mts.map +0 -1
- package/dist/node/Witness.d.ts +0 -10
- package/dist/node/Witness.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -365
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -4
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -4
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.cts +0 -4
- package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts +0 -4
- package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts +0 -4
- package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/index.d.cts +0 -2
- package/dist/node/lib/collectionMetrics/index.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/index.d.mts +0 -2
- package/dist/node/lib/collectionMetrics/index.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/index.d.ts +0 -2
- package/dist/node/lib/collectionMetrics/index.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +0 -3
- package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +0 -3
- package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +0 -3
- package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +0 -3
- package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +0 -3
- package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +0 -3
- package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/distribution.d.cts +0 -6
- package/dist/node/lib/collectionMetrics/lib/distribution.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/distribution.d.mts +0 -6
- package/dist/node/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/distribution.d.ts +0 -6
- package/dist/node/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/index.d.cts +0 -4
- package/dist/node/lib/collectionMetrics/lib/index.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/index.d.mts +0 -4
- package/dist/node/lib/collectionMetrics/lib/index.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/index.d.ts +0 -4
- package/dist/node/lib/collectionMetrics/lib/index.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +0 -3
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +0 -2
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +0 -2
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +0 -2
- package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
- package/dist/node/lib/contractHasFunctions.d.cts +0 -3
- package/dist/node/lib/contractHasFunctions.d.cts.map +0 -1
- package/dist/node/lib/contractHasFunctions.d.mts +0 -3
- package/dist/node/lib/contractHasFunctions.d.mts.map +0 -1
- package/dist/node/lib/contractHasFunctions.d.ts +0 -3
- package/dist/node/lib/contractHasFunctions.d.ts.map +0 -1
- package/dist/node/lib/getNftCollectionNfts.d.cts +0 -4
- package/dist/node/lib/getNftCollectionNfts.d.cts.map +0 -1
- package/dist/node/lib/getNftCollectionNfts.d.mts +0 -4
- package/dist/node/lib/getNftCollectionNfts.d.mts.map +0 -1
- package/dist/node/lib/getNftCollectionNfts.d.ts +0 -4
- package/dist/node/lib/getNftCollectionNfts.d.ts.map +0 -1
- package/dist/node/lib/index.d.cts +0 -5
- package/dist/node/lib/index.d.cts.map +0 -1
- package/dist/node/lib/index.d.mts +0 -5
- package/dist/node/lib/index.d.mts.map +0 -1
- package/dist/node/lib/index.d.ts +0 -5
- package/dist/node/lib/index.d.ts.map +0 -1
- package/dist/node/lib/nonEvaluableContractAddresses.d.cts +0 -2
- package/dist/node/lib/nonEvaluableContractAddresses.d.cts.map +0 -1
- package/dist/node/lib/nonEvaluableContractAddresses.d.mts +0 -2
- package/dist/node/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
- package/dist/node/lib/nonEvaluableContractAddresses.d.ts +0 -2
- package/dist/node/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
- package/dist/node/lib/tokenTypes.d.cts +0 -6
- package/dist/node/lib/tokenTypes.d.cts.map +0 -1
- package/dist/node/lib/tokenTypes.d.mts +0 -6
- package/dist/node/lib/tokenTypes.d.mts.map +0 -1
- package/dist/node/lib/tokenTypes.d.ts +0 -6
- package/dist/node/lib/tokenTypes.d.ts.map +0 -1
- package/dist/node/lib/tryCall.d.cts +0 -2
- package/dist/node/lib/tryCall.d.cts.map +0 -1
- package/dist/node/lib/tryCall.d.mts +0 -2
- package/dist/node/lib/tryCall.d.mts.map +0 -1
- package/dist/node/lib/tryCall.d.ts +0 -2
- package/dist/node/lib/tryCall.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -10,61 +10,43 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/plugins/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^
|
|
14
|
-
"@xylabs/axios": "^
|
|
15
|
-
"@xylabs/eth-address": "^
|
|
16
|
-
"@xylabs/exists": "^
|
|
17
|
-
"@xylabs/hex": "^
|
|
18
|
-
"@xyo-network/crypto-nft-collection-payload-plugin": "^
|
|
19
|
-
"@xyo-network/crypto-nft-payload-plugin": "^
|
|
20
|
-
"@xyo-network/erc1822-witness": "^
|
|
21
|
-
"@xyo-network/erc1967-witness": "^
|
|
22
|
-
"@xyo-network/open-zeppelin-typechain": "^3.0
|
|
23
|
-
"@xyo-network/payload-builder": "^
|
|
24
|
-
"@xyo-network/payload-model": "^
|
|
25
|
-
"@xyo-network/payloadset-plugin": "^
|
|
26
|
-
"@xyo-network/witness-blockchain-abstract": "^
|
|
27
|
-
"@xyo-network/witness-evm-abstract": "^
|
|
13
|
+
"@xylabs/assert": "^4.0.0",
|
|
14
|
+
"@xylabs/axios": "^4.0.0",
|
|
15
|
+
"@xylabs/eth-address": "^4.0.0",
|
|
16
|
+
"@xylabs/exists": "^4.0.0",
|
|
17
|
+
"@xylabs/hex": "^4.0.0",
|
|
18
|
+
"@xyo-network/crypto-nft-collection-payload-plugin": "^3.0.0",
|
|
19
|
+
"@xyo-network/crypto-nft-payload-plugin": "^3.0.0",
|
|
20
|
+
"@xyo-network/erc1822-witness": "^3.0.0",
|
|
21
|
+
"@xyo-network/erc1967-witness": "^3.0.0",
|
|
22
|
+
"@xyo-network/open-zeppelin-typechain": "^3.1.0",
|
|
23
|
+
"@xyo-network/payload-builder": "^3.0.1",
|
|
24
|
+
"@xyo-network/payload-model": "^3.0.1",
|
|
25
|
+
"@xyo-network/payloadset-plugin": "^3.0.1",
|
|
26
|
+
"@xyo-network/witness-blockchain-abstract": "^3.0.1",
|
|
27
|
+
"@xyo-network/witness-evm-abstract": "^3.0.1",
|
|
28
28
|
"ethers": "^6.13.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@
|
|
32
|
-
"@xylabs/
|
|
33
|
-
"@xylabs/
|
|
34
|
-
"@
|
|
35
|
-
"@xyo-network/account
|
|
31
|
+
"@types/node": "^22.2.0",
|
|
32
|
+
"@xylabs/jest-helpers": "^4.0.0",
|
|
33
|
+
"@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
|
|
34
|
+
"@xylabs/tsconfig": "^4.0.0-rc.15",
|
|
35
|
+
"@xyo-network/account": "^3.0.1",
|
|
36
|
+
"@xyo-network/account-model": "^3.0.1",
|
|
36
37
|
"jest": "^29.7.0",
|
|
37
38
|
"typescript": "^5.5.4"
|
|
38
39
|
},
|
|
39
40
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
40
|
-
"types": "dist/
|
|
41
|
+
"types": "dist/neutral/index.d.ts",
|
|
41
42
|
"exports": {
|
|
42
43
|
".": {
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
"types": "./dist/browser/index.d.cts",
|
|
46
|
-
"default": "./dist/browser/index.cjs"
|
|
47
|
-
},
|
|
48
|
-
"import": {
|
|
49
|
-
"types": "./dist/browser/index.d.mts",
|
|
50
|
-
"default": "./dist/browser/index.mjs"
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"node": {
|
|
54
|
-
"require": {
|
|
55
|
-
"types": "./dist/node/index.d.cts",
|
|
56
|
-
"default": "./dist/node/index.cjs"
|
|
57
|
-
},
|
|
58
|
-
"import": {
|
|
59
|
-
"types": "./dist/node/index.d.mts",
|
|
60
|
-
"default": "./dist/node/index.mjs"
|
|
61
|
-
}
|
|
62
|
-
}
|
|
44
|
+
"types": "./dist/neutral/index.d.ts",
|
|
45
|
+
"default": "./dist/neutral/index.mjs"
|
|
63
46
|
},
|
|
64
47
|
"./package.json": "./package.json"
|
|
65
48
|
},
|
|
66
|
-
"
|
|
67
|
-
"module": "dist/node/index.mjs",
|
|
49
|
+
"module": "dist/neutral/index.mjs",
|
|
68
50
|
"homepage": "https://xyo.network",
|
|
69
51
|
"license": "LGPL-3.0-only",
|
|
70
52
|
"publishConfig": {
|
|
@@ -75,6 +57,6 @@
|
|
|
75
57
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
76
58
|
},
|
|
77
59
|
"sideEffects": false,
|
|
78
|
-
"version": "
|
|
60
|
+
"version": "3.0.0",
|
|
79
61
|
"type": "module"
|
|
80
62
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './lib/index.ts'
|
|
2
|
-
// eslint-disable-next-line import/no-default-export
|
|
2
|
+
// eslint-disable-next-line import-x/no-default-export
|
|
3
3
|
export { CryptoNftCollectionWitnessPlugin, CryptoNftCollectionWitnessPlugin as default } from './Plugin.ts'
|
|
4
4
|
export * from './Witness.ts'
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
|
|
2
|
-
import { CryptoNftCollectionWitness } from './Witness.ts';
|
|
3
|
-
export declare const CryptoNftCollectionWitnessPlugin: () => PayloadSetWitnessPlugin<CryptoNftCollectionWitness>;
|
|
4
|
-
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAEvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,gCAAgC,QAAO,uBAAuB,CAAC,0BAA0B,CASnG,CAAA"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
|
|
2
|
-
import { CryptoNftCollectionWitness } from './Witness.ts';
|
|
3
|
-
export declare const CryptoNftCollectionWitnessPlugin: () => PayloadSetWitnessPlugin<CryptoNftCollectionWitness>;
|
|
4
|
-
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAEvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,gCAAgC,QAAO,uBAAuB,CAAC,0BAA0B,CASnG,CAAA"}
|
package/dist/browser/Plugin.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
|
|
2
|
-
import { CryptoNftCollectionWitness } from './Witness.ts';
|
|
3
|
-
export declare const CryptoNftCollectionWitnessPlugin: () => PayloadSetWitnessPlugin<CryptoNftCollectionWitness>;
|
|
4
|
-
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAEvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,gCAAgC,QAAO,uBAAuB,CAAC,0BAA0B,CASnG,CAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { NftCollectionInfo, NftCollectionWitnessConfig, NftCollectionWitnessQuery } from '@xyo-network/crypto-nft-collection-payload-plugin';
|
|
2
|
-
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
import { AbstractEvmWitness, EvmWitnessParams } from '@xyo-network/witness-evm-abstract';
|
|
4
|
-
export type CryptoNftCollectionWitnessParams = EvmWitnessParams<NftCollectionWitnessConfig>;
|
|
5
|
-
export declare class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractEvmWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {
|
|
6
|
-
static readonly configSchemas: Schema[];
|
|
7
|
-
static readonly defaultConfigSchema: Schema;
|
|
8
|
-
protected observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EAEjB,0BAA0B,EAE1B,yBAAyB,EAC1B,MAAM,mDAAmD,CAAA;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAIxF,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AAoB3F,qBAAa,0BAA0B,CACrC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CACnF,SAAQ,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,CAAC;IACjF,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA6D;IAC7G,gBAAyB,mBAAmB,EAAE,MAAM,CAAmC;cAE9D,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAkD9G"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { NftCollectionInfo, NftCollectionWitnessConfig, NftCollectionWitnessQuery } from '@xyo-network/crypto-nft-collection-payload-plugin';
|
|
2
|
-
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
import { AbstractEvmWitness, EvmWitnessParams } from '@xyo-network/witness-evm-abstract';
|
|
4
|
-
export type CryptoNftCollectionWitnessParams = EvmWitnessParams<NftCollectionWitnessConfig>;
|
|
5
|
-
export declare class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractEvmWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {
|
|
6
|
-
static readonly configSchemas: Schema[];
|
|
7
|
-
static readonly defaultConfigSchema: Schema;
|
|
8
|
-
protected observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EAEjB,0BAA0B,EAE1B,yBAAyB,EAC1B,MAAM,mDAAmD,CAAA;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAIxF,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AAoB3F,qBAAa,0BAA0B,CACrC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CACnF,SAAQ,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,CAAC;IACjF,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA6D;IAC7G,gBAAyB,mBAAmB,EAAE,MAAM,CAAmC;cAE9D,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAkD9G"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { NftCollectionInfo, NftCollectionWitnessConfig, NftCollectionWitnessQuery } from '@xyo-network/crypto-nft-collection-payload-plugin';
|
|
2
|
-
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
import { AbstractEvmWitness, EvmWitnessParams } from '@xyo-network/witness-evm-abstract';
|
|
4
|
-
export type CryptoNftCollectionWitnessParams = EvmWitnessParams<NftCollectionWitnessConfig>;
|
|
5
|
-
export declare class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractEvmWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {
|
|
6
|
-
static readonly configSchemas: Schema[];
|
|
7
|
-
static readonly defaultConfigSchema: Schema;
|
|
8
|
-
protected observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EAEjB,0BAA0B,EAE1B,yBAAyB,EAC1B,MAAM,mDAAmD,CAAA;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAIxF,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AAoB3F,qBAAa,0BAA0B,CACrC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CACnF,SAAQ,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,CAAC;IACjF,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA6D;IAC7G,gBAAyB,mBAAmB,EAAE,MAAM,CAAmC;cAE9D,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAkD9G"}
|
package/dist/browser/index.cjs
DELETED
|
@@ -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"]}
|
package/dist/browser/index.d.cts
DELETED
|
@@ -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"}
|
package/dist/browser/index.d.mts
DELETED
|
@@ -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"}
|