@xyo-network/crypto-nft-diviner-score-plugin 6.0.2 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +5 -0
  2. package/package.json +15 -18
  3. package/dist/browser/Diviner.d.ts +0 -11
  4. package/dist/browser/Diviner.d.ts.map +0 -1
  5. package/dist/browser/Plugin.d.ts +0 -3
  6. package/dist/browser/Plugin.d.ts.map +0 -1
  7. package/dist/browser/index.d.ts +0 -4
  8. package/dist/browser/index.d.ts.map +0 -1
  9. package/dist/browser/index.mjs +0 -368
  10. package/dist/browser/index.mjs.map +0 -7
  11. package/dist/browser/lib/index.d.ts +0 -2
  12. package/dist/browser/lib/index.d.ts.map +0 -1
  13. package/dist/browser/lib/rating/analyzeNft.d.ts +0 -11
  14. package/dist/browser/lib/rating/analyzeNft.d.ts.map +0 -1
  15. package/dist/browser/lib/rating/criteria/index.d.ts +0 -2
  16. package/dist/browser/lib/rating/criteria/index.d.ts.map +0 -1
  17. package/dist/browser/lib/rating/criteria/scoring/contract.d.ts +0 -4
  18. package/dist/browser/lib/rating/criteria/scoring/contract.d.ts.map +0 -1
  19. package/dist/browser/lib/rating/criteria/scoring/index.d.ts +0 -6
  20. package/dist/browser/lib/rating/criteria/scoring/index.d.ts.map +0 -1
  21. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.ts +0 -5
  22. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.ts.map +0 -1
  23. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts +0 -6
  24. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts.map +0 -1
  25. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.ts +0 -2
  26. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.ts.map +0 -1
  27. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts +0 -5
  28. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts.map +0 -1
  29. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.ts +0 -5
  30. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.ts.map +0 -1
  31. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.ts +0 -5
  32. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.ts.map +0 -1
  33. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.ts +0 -5
  34. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.ts.map +0 -1
  35. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.ts +0 -5
  36. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.ts.map +0 -1
  37. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.ts +0 -10
  38. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.ts.map +0 -1
  39. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.ts +0 -2
  40. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.ts.map +0 -1
  41. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts +0 -7
  42. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts.map +0 -1
  43. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.ts +0 -5
  44. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.ts.map +0 -1
  45. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts +0 -5
  46. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts.map +0 -1
  47. package/dist/browser/lib/rating/criteria/scoring/supply.d.ts +0 -4
  48. package/dist/browser/lib/rating/criteria/scoring/supply.d.ts.map +0 -1
  49. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.ts +0 -10
  50. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.ts.map +0 -1
  51. package/dist/browser/lib/rating/criteria/scoring/type.d.ts +0 -4
  52. package/dist/browser/lib/rating/criteria/scoring/type.d.ts.map +0 -1
  53. package/dist/browser/lib/rating/criteria/scoringCriteria.d.ts +0 -55
  54. package/dist/browser/lib/rating/criteria/scoringCriteria.d.ts.map +0 -1
  55. package/dist/browser/lib/rating/index.d.ts +0 -3
  56. package/dist/browser/lib/rating/index.d.ts.map +0 -1
  57. package/dist/node/Diviner.d.ts +0 -11
  58. package/dist/node/Diviner.d.ts.map +0 -1
  59. package/dist/node/Plugin.d.ts +0 -3
  60. package/dist/node/Plugin.d.ts.map +0 -1
  61. package/dist/node/index.d.ts +0 -4
  62. package/dist/node/index.d.ts.map +0 -1
  63. package/dist/node/index.mjs +0 -368
  64. package/dist/node/index.mjs.map +0 -7
  65. package/dist/node/lib/index.d.ts +0 -2
  66. package/dist/node/lib/index.d.ts.map +0 -1
  67. package/dist/node/lib/rating/analyzeNft.d.ts +0 -11
  68. package/dist/node/lib/rating/analyzeNft.d.ts.map +0 -1
  69. package/dist/node/lib/rating/criteria/index.d.ts +0 -2
  70. package/dist/node/lib/rating/criteria/index.d.ts.map +0 -1
  71. package/dist/node/lib/rating/criteria/scoring/contract.d.ts +0 -4
  72. package/dist/node/lib/rating/criteria/scoring/contract.d.ts.map +0 -1
  73. package/dist/node/lib/rating/criteria/scoring/index.d.ts +0 -6
  74. package/dist/node/lib/rating/criteria/scoring/index.d.ts.map +0 -1
  75. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.ts +0 -5
  76. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.ts.map +0 -1
  77. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts +0 -6
  78. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.ts.map +0 -1
  79. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.ts +0 -2
  80. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.ts.map +0 -1
  81. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts +0 -5
  82. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.ts.map +0 -1
  83. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.ts +0 -5
  84. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.ts.map +0 -1
  85. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.ts +0 -5
  86. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.ts.map +0 -1
  87. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.ts +0 -5
  88. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.ts.map +0 -1
  89. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.ts +0 -5
  90. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.ts.map +0 -1
  91. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.ts +0 -10
  92. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.ts.map +0 -1
  93. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.ts +0 -2
  94. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.ts.map +0 -1
  95. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts +0 -7
  96. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.ts.map +0 -1
  97. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.ts +0 -5
  98. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.ts.map +0 -1
  99. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts +0 -5
  100. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.ts.map +0 -1
  101. package/dist/node/lib/rating/criteria/scoring/supply.d.ts +0 -4
  102. package/dist/node/lib/rating/criteria/scoring/supply.d.ts.map +0 -1
  103. package/dist/node/lib/rating/criteria/scoring/tokenId.d.ts +0 -10
  104. package/dist/node/lib/rating/criteria/scoring/tokenId.d.ts.map +0 -1
  105. package/dist/node/lib/rating/criteria/scoring/type.d.ts +0 -4
  106. package/dist/node/lib/rating/criteria/scoring/type.d.ts.map +0 -1
  107. package/dist/node/lib/rating/criteria/scoringCriteria.d.ts +0 -55
  108. package/dist/node/lib/rating/criteria/scoringCriteria.d.ts.map +0 -1
  109. package/dist/node/lib/rating/index.d.ts +0 -3
  110. package/dist/node/lib/rating/index.d.ts.map +0 -1
@@ -1,2 +0,0 @@
1
- export * from './evaluateAttributes.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftBackgroundColor: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreBackgroundColor: (background_color: unknown) => ScaledScore;
5
- //# sourceMappingURL=backgroundColor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backgroundColor.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/backgroundColor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAOtE,eAAO,MAAM,uBAAuB,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAEnF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,kBAAkB,OAAO,KAAG,WAQhE,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftDescription: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreDescription: (description: unknown) => ScaledScore;
5
- //# sourceMappingURL=description.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"description.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/description.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,eAAO,MAAM,mBAAmB,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAE/E,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,aAAa,OAAO,KAAG,WAIvD,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftExternalUrl: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreExternalUrl: (external_url: unknown) => ScaledScore;
5
- //# sourceMappingURL=externalUrl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"externalUrl.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAKtE,eAAO,MAAM,mBAAmB,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAE/E,CAAA;AACD,eAAO,MAAM,gBAAgB,GAAI,cAAc,OAAO,KAAG,WAMxD,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftImage: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreImage: (image: unknown) => ScaledScore;
5
- //# sourceMappingURL=image.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAStE,eAAO,MAAM,aAAa,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAQzE,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,WAS3C,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftImageData: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreImageData: (image_data: unknown) => ScaledScore;
5
- //# sourceMappingURL=imageData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageData.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/imageData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAoBtE,eAAO,MAAM,iBAAiB,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAQ7E,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,YAAY,OAAO,KAAG,WAIpD,CAAA"}
@@ -1,10 +0,0 @@
1
- export * from './animationUrl.ts';
2
- export * from './attributes/index.ts';
3
- export * from './backgroundColor.ts';
4
- export * from './description.ts';
5
- export * from './externalUrl.ts';
6
- export * from './image.ts';
7
- export * from './imageData.ts';
8
- export * from './name.ts';
9
- export * from './youtubeUrl.ts';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './urlHelpers.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1,7 +0,0 @@
1
- export declare const web3Protocols: string[];
2
- export declare const toUrl: (url?: string | null) => URL | undefined;
3
- export declare const isValidUrl: (url?: string | null) => boolean;
4
- export declare const isWeb3: (url?: string | null) => boolean;
5
- export declare const isWeb2: (url?: string | null) => boolean;
6
- export declare const isSecure: (url?: string | null) => boolean;
7
- //# sourceMappingURL=urlHelpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlHelpers.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAAmB,CAAA;AAE7C,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,GAAG,GAAG,SAOjD,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,OAAmC,CAAA;AAEpF,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,OAA4E,CAAA;AACzH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,OAAuB,CAAA;AACpE,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,GAAG,IAAI,KAAG,OAA2D,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftName: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreName: (name: unknown) => ScaledScore;
5
- //# sourceMappingURL=name.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,eAAO,MAAM,YAAY,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAExE,CAAA;AACD,eAAO,MAAM,SAAS,GAAI,MAAM,OAAO,KAAG,WAIzC,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { ScaledScore } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreNftYoutubeUrl: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
- export declare const scoreYoutubeUrl: (youtube_url: unknown) => ScaledScore;
5
- //# sourceMappingURL=youtubeUrl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"youtubeUrl.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAKtE,eAAO,MAAM,kBAAkB,GAAI,KAAK,aAAa,GAAG,oBAAoB,KAAG,WAE9E,CAAA;AACD,eAAO,MAAM,eAAe,GAAI,aAAa,OAAO,KAAG,WAOtD,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreSupply: PassFailScoringFunction<NftInfoFields>;
4
- //# sourceMappingURL=supply.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supply.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/supply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAGlF,eAAO,MAAM,WAAW,EAAE,uBAAuB,CAAC,aAAa,CAQ9D,CAAA"}
@@ -1,10 +0,0 @@
1
- import type { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model';
3
- /**
4
- * Callers SHALL NOT assume that ID numbers have any specific pattern to them, and
5
- * MUST treat the ID as a "black box"
6
- * @param nft
7
- * @returns
8
- */
9
- export declare const scoreTokenId: PassFailScoringFunction<NftInfoFields>;
10
- //# sourceMappingURL=tokenId.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenId.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAGlF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,uBAAuB,CAAC,aAAa,CAQ/D,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model';
3
- export declare const scoreType: PassFailScoringFunction<NftInfoFields>;
4
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAGlF,eAAO,MAAM,SAAS,EAAE,uBAAuB,CAAC,aAAa,CAM5D,CAAA"}
@@ -1,55 +0,0 @@
1
- export declare const scoringCriteria: {
2
- Attributes: {
3
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
4
- weight: number;
5
- };
6
- 'Animation URL': {
7
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
8
- weight: number;
9
- };
10
- 'Background Color': {
11
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
12
- weight: number;
13
- };
14
- Description: {
15
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
16
- weight: number;
17
- };
18
- 'External Url': {
19
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
20
- weight: number;
21
- };
22
- Image: {
23
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
24
- weight: number;
25
- };
26
- 'Image Data': {
27
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
28
- weight: number;
29
- };
30
- Name: {
31
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
32
- weight: number;
33
- };
34
- 'YouTube URL': {
35
- score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
36
- weight: number;
37
- };
38
- 'Contract Address': {
39
- score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
40
- weight: number;
41
- };
42
- Supply: {
43
- score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
44
- weight: number;
45
- };
46
- 'Token Id': {
47
- score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
48
- weight: number;
49
- };
50
- Type: {
51
- score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
52
- weight: number;
53
- };
54
- };
55
- //# sourceMappingURL=scoringCriteria.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scoringCriteria.d.ts","sourceRoot":"","sources":["../../../../../src/lib/rating/criteria/scoringCriteria.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM3B,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './analyzeNft.ts';
2
- export * from './criteria/index.ts';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/rating/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA"}
@@ -1,11 +0,0 @@
1
- import type { NftScore, NftScoreDivinerConfig } from '@xyo-network/crypto-nft-payload-plugin';
2
- import type { AnyConfigSchema, DivinerParams, Payload, Schema } from '@xyo-network/sdk-js';
3
- import { AbstractDiviner } from '@xyo-network/sdk-js';
4
- export type NftScoreDivinerParams = DivinerParams<AnyConfigSchema<NftScoreDivinerConfig>>;
5
- export declare const isNftScore: (payload: Payload) => payload is NftScore;
6
- export declare class NftScoreDiviner<TParams extends NftScoreDivinerParams = NftScoreDivinerParams> extends AbstractDiviner<TParams> {
7
- static readonly configSchemas: Schema[];
8
- static readonly defaultConfigSchema: Schema;
9
- protected divineHandler: (payloads?: Payload[]) => Promise<Payload[]>;
10
- }
11
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,QAAQ,EACR,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAM/C,OAAO,KAAK,EACV,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAChD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAA;AAKrE,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAYzF,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,QAA6C,CAAA;AAEtG,qBAAa,eAAe,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC1H,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAwD;IACxG,gBAAyB,mBAAmB,EAAE,MAAM,CAA8B;IAElF,UAAmB,aAAa,GAAU,WAAW,OAAO,EAAE,KAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAUlF;CACF"}
@@ -1,3 +0,0 @@
1
- import { NftScoreDiviner } from './Diviner.ts';
2
- export declare const NftScoreDivinerPlugin: () => import("@xyo-network/sdk-js").PayloadSetDivinerPlugin<NftScoreDiviner<import("./Diviner.ts").NftScoreDivinerParams>>;
3
- //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,eAAO,MAAM,qBAAqB,4HAS/B,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './Diviner.ts';
2
- export * from './lib/index.ts';
3
- export { NftScoreDivinerPlugin as default, NftScoreDivinerPlugin } from './Plugin.ts';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA"}
@@ -1,368 +0,0 @@
1
- // src/Diviner.ts
2
- import {
3
- isNftInfo,
4
- NftScoreDivinerConfigSchema,
5
- NftScoreSchema
6
- } from "@xyo-network/crypto-nft-payload-plugin";
7
- import { AbstractDiviner, PayloadBuilder } from "@xyo-network/sdk-js";
8
-
9
- // src/lib/rating/criteria/scoring/contract.ts
10
- import { FAIL, PASS } from "@xyo-network/crypto-nft-score-model";
11
- import { isAddress } from "ethers";
12
- var scoreContractAddress = (nft) => {
13
- if (!nft.address) return FAIL;
14
- if (typeof nft.address !== "string") return FAIL;
15
- if (!isAddress(nft.address)) return FAIL;
16
- return PASS;
17
- };
18
-
19
- // src/lib/rating/criteria/scoring/metadata/animationUrl.ts
20
- import {
21
- incrementPossible,
22
- incrementTotal,
23
- incrementTotalAndPossible,
24
- PASS as PASS2
25
- } from "@xyo-network/crypto-nft-score-model";
26
-
27
- // src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts
28
- var web3Protocols = ["ipfs:", "ar:"];
29
- var toUrl = (url) => {
30
- if (!url) return void 0;
31
- try {
32
- return new URL(url);
33
- } catch {
34
- return void 0;
35
- }
36
- };
37
- var isValidUrl = (url) => toUrl(url) !== void 0;
38
- var isWeb3 = (url) => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol);
39
- var isSecure = (url) => isWeb3(url) || toUrl(url)?.protocol === "https:";
40
-
41
- // src/lib/rating/criteria/scoring/metadata/animationUrl.ts
42
- var scoreNftAnimationUrl = (nft) => {
43
- return scoreAnimationUrl(nft.metadata?.animation_url);
44
- };
45
- var scoreAnimationUrl = (animation_url) => {
46
- const score = [0, 0];
47
- if (animation_url === void 0 || animation_url === null) return PASS2;
48
- incrementPossible(score);
49
- if (typeof animation_url !== "string") return score;
50
- incrementTotalAndPossible(score);
51
- if (!isValidUrl(animation_url)) return score;
52
- incrementTotalAndPossible(score);
53
- if (!isSecure(animation_url)) return score;
54
- incrementTotalAndPossible(score);
55
- if (!isWeb3(animation_url)) return score;
56
- return incrementTotal(score);
57
- };
58
-
59
- // src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
60
- import {
61
- incrementPossible as incrementPossible2,
62
- incrementTotal as incrementTotal2,
63
- incrementTotalAndPossible as incrementTotalAndPossible2
64
- } from "@xyo-network/crypto-nft-score-model";
65
- var isDate = (value) => {
66
- if (isNumber(value)) {
67
- try {
68
- new Date(value);
69
- return true;
70
- } catch {
71
- return false;
72
- }
73
- }
74
- return false;
75
- };
76
- var isNumber = (value) => typeof value === "number";
77
- var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
78
- var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
79
- var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
80
- var evaluateNftAttributes = (nft) => nft?.metadata?.attributes ? evaluateAttributes(nft?.metadata?.attributes) : [0, 1];
81
- var evaluateAttributes = (attributes) => {
82
- if (!attributes || !Array.isArray(attributes) || attributes.length === 0) return [0, 1];
83
- const score = [0, 0];
84
- for (const attribute of attributes) {
85
- const [attributeTotal, attributePossible] = evaluateAttribute(attribute);
86
- incrementTotalAndPossible2(score, attributeTotal, attributePossible);
87
- }
88
- return [1, 1];
89
- };
90
- var evaluateAttribute = (attribute) => {
91
- const score = [0, 1];
92
- const max_value = attribute?.max_value;
93
- const trait_type = attribute?.trait_type;
94
- const value = attribute?.value;
95
- if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value)) return score;
96
- incrementTotal2(score);
97
- incrementPossible2(score);
98
- if (validDisplayType(attribute)) incrementTotal2(score);
99
- if (max_value !== void 0) {
100
- incrementPossible2(score);
101
- if (isNumber(max_value) && isNumber(value) && value <= max_value) incrementTotal2(score);
102
- }
103
- return score;
104
- };
105
- var validDisplayType = (attribute) => {
106
- switch (attribute?.display_type) {
107
- case "number":
108
- case "boost_number": {
109
- if (isNumber(attribute?.value)) return true;
110
- break;
111
- }
112
- case "boost_percentage": {
113
- if (isPercentage(attribute?.value)) return true;
114
- break;
115
- }
116
- case "date": {
117
- if (isDate(attribute?.value)) return true;
118
- break;
119
- }
120
- case "string":
121
- case void 0: {
122
- if (isNonEmptyString(attribute?.value)) return true;
123
- break;
124
- }
125
- default: {
126
- break;
127
- }
128
- }
129
- return false;
130
- };
131
-
132
- // src/lib/rating/criteria/scoring/metadata/backgroundColor.ts
133
- import {
134
- incrementPossible as incrementPossible3,
135
- incrementTotal as incrementTotal3,
136
- incrementTotalAndPossible as incrementTotalAndPossible3,
137
- PASS as PASS3
138
- } from "@xyo-network/crypto-nft-score-model";
139
- var isHexColor = /^[\da-f]{6}$/i;
140
- var scoreNftBackgroundColor = (nft) => {
141
- return scoreBackgroundColor(nft.metadata?.background_color);
142
- };
143
- var scoreBackgroundColor = (background_color) => {
144
- const score = [0, 0];
145
- if (background_color === void 0 || background_color === null) return PASS3;
146
- incrementPossible3(score);
147
- if (typeof background_color !== "string") return score;
148
- incrementTotalAndPossible3(score);
149
- if (!isHexColor.test(background_color.toUpperCase())) return score;
150
- return incrementTotal3(score);
151
- };
152
-
153
- // src/lib/rating/criteria/scoring/metadata/description.ts
154
- import { incrementTotal as incrementTotal4 } from "@xyo-network/crypto-nft-score-model";
155
- var scoreNftDescription = (nft) => {
156
- return scoreDescription(nft.metadata?.description);
157
- };
158
- var scoreDescription = (description) => {
159
- const score = [0, 1];
160
- if (!description || typeof description !== "string") return score;
161
- return incrementTotal4(score);
162
- };
163
-
164
- // src/lib/rating/criteria/scoring/metadata/externalUrl.ts
165
- import { incrementTotal as incrementTotal5 } from "@xyo-network/crypto-nft-score-model";
166
- var scoreNftExternalUrl = (nft) => {
167
- return scoreExternalUrl(nft?.metadata?.external_url);
168
- };
169
- var scoreExternalUrl = (external_url) => {
170
- const score = [0, 2];
171
- if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url)) return score;
172
- incrementTotal5(score);
173
- if (!isSecure(external_url)) return score;
174
- return incrementTotal5(score);
175
- };
176
-
177
- // src/lib/rating/criteria/scoring/metadata/image.ts
178
- import { incrementTotal as incrementTotal6, PASS as PASS4 } from "@xyo-network/crypto-nft-score-model";
179
- var MaxPossibleImageScore = 3;
180
- var scoreNftImage = (nft) => {
181
- if (nft?.metadata?.image) {
182
- return scoreImage(nft.metadata?.image);
183
- } else {
184
- return nft.metadata?.image_data ? PASS4 : [0, MaxPossibleImageScore];
185
- }
186
- };
187
- var scoreImage = (image) => {
188
- const score = [0, MaxPossibleImageScore];
189
- if (!image || typeof image !== "string" || !isValidUrl(image)) return score;
190
- incrementTotal6(score);
191
- if (!isSecure(image)) return score;
192
- incrementTotal6(score);
193
- if (!isWeb3(image)) return score;
194
- incrementTotal6(score);
195
- return score;
196
- };
197
-
198
- // src/lib/rating/criteria/scoring/metadata/imageData.ts
199
- import { PASS as PASS5 } from "@xyo-network/crypto-nft-score-model";
200
- import { parse } from "svg-parser";
201
- var MaxPossibleImageDataScore = 1;
202
- var isValidImageData = (image_data) => {
203
- if (!image_data.startsWith("<svg")) return false;
204
- try {
205
- parse(image_data);
206
- return true;
207
- } catch {
208
- return false;
209
- }
210
- };
211
- var scoreNftImageData = (nft) => {
212
- if (nft?.metadata?.image_data) {
213
- return scoreImageData(nft.metadata?.image_data);
214
- } else {
215
- return nft.metadata?.image ? PASS5 : [0, MaxPossibleImageDataScore];
216
- }
217
- };
218
- var scoreImageData = (image_data) => {
219
- return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
220
- };
221
-
222
- // src/lib/rating/criteria/scoring/metadata/name.ts
223
- import { incrementTotal as incrementTotal7 } from "@xyo-network/crypto-nft-score-model";
224
- var scoreNftName = (nft) => {
225
- return scoreName(nft.metadata?.name);
226
- };
227
- var scoreName = (name) => {
228
- const score = [0, 1];
229
- if (!name || typeof name !== "string") return score;
230
- return incrementTotal7(score);
231
- };
232
-
233
- // src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts
234
- import { incrementTotal as incrementTotal8, PASS as PASS6 } from "@xyo-network/crypto-nft-score-model";
235
- var scoreNftYoutubeUrl = (nft) => {
236
- return scoreYoutubeUrl(nft?.metadata?.youtube_url);
237
- };
238
- var scoreYoutubeUrl = (youtube_url) => {
239
- if (youtube_url === void 0 || youtube_url === null) return PASS6;
240
- const score = [0, 2];
241
- if (typeof youtube_url !== "string" || !isValidUrl(youtube_url)) return score;
242
- incrementTotal8(score);
243
- if (!isSecure(youtube_url)) return score;
244
- return incrementTotal8(score);
245
- };
246
-
247
- // src/lib/rating/criteria/scoring/supply.ts
248
- import { FAIL as FAIL2, PASS as PASS7 } from "@xyo-network/crypto-nft-score-model";
249
- var scoreSupply = (nft) => {
250
- if (!nft.supply) return FAIL2;
251
- if (typeof nft.supply !== "string") return FAIL2;
252
- try {
253
- return BigInt(nft.tokenId) >= 0n && BigInt(nft.tokenId) < 2n ** 256n ? PASS7 : FAIL2;
254
- } catch {
255
- return FAIL2;
256
- }
257
- };
258
-
259
- // src/lib/rating/criteria/scoring/tokenId.ts
260
- import { FAIL as FAIL3, PASS as PASS8 } from "@xyo-network/crypto-nft-score-model";
261
- var scoreTokenId = (nft) => {
262
- if (!nft.tokenId) return FAIL3;
263
- if (typeof nft.tokenId !== "string") return FAIL3;
264
- try {
265
- return BigInt(nft.tokenId) >= 0n && BigInt(nft.tokenId) < 2n ** 256n ? PASS8 : FAIL3;
266
- } catch {
267
- return FAIL3;
268
- }
269
- };
270
-
271
- // src/lib/rating/criteria/scoring/type.ts
272
- import { FAIL as FAIL4, PASS as PASS9 } from "@xyo-network/crypto-nft-score-model";
273
- var scoreType = (nft) => {
274
- if (!((nft.types?.length ?? 0) > 0)) return FAIL4;
275
- if (!Array.isArray(nft.types)) return FAIL4;
276
- const typesUpper = new Set(nft.types.map((t) => t?.toUpperCase()));
277
- if (!typesUpper.has("ERC721") && !typesUpper.has("ERC1155")) return FAIL4;
278
- return PASS9;
279
- };
280
-
281
- // src/lib/rating/criteria/scoringCriteria.ts
282
- var attributesScoringCriteria = { Attributes: { score: evaluateNftAttributes, weight: 1 } };
283
- var metadataScoringCriteria = {
284
- "Animation URL": { score: scoreNftAnimationUrl, weight: 1 },
285
- "Background Color": { score: scoreNftBackgroundColor, weight: 1 },
286
- "Description": { score: scoreNftDescription, weight: 1 },
287
- "External Url": { score: scoreNftExternalUrl, weight: 1 },
288
- "Image": { score: scoreNftImage, weight: 1 },
289
- "Image Data": { score: scoreNftImageData, weight: 1 },
290
- "Name": { score: scoreNftName, weight: 1 },
291
- "YouTube URL": { score: scoreNftYoutubeUrl, weight: 1 },
292
- ...attributesScoringCriteria
293
- };
294
- var scoringCriteria = {
295
- "Contract Address": { score: scoreContractAddress, weight: 1 },
296
- "Supply": { score: scoreSupply, weight: 1 },
297
- "Token Id": { score: scoreTokenId, weight: 1 },
298
- "Type": { score: scoreType, weight: 1 },
299
- ...metadataScoringCriteria
300
- };
301
-
302
- // src/lib/rating/analyzeNft.ts
303
- var analyzeNft = async (nft) => {
304
- const result = Object.fromEntries(
305
- await Promise.all(
306
- Object.entries(scoringCriteria).map(async ([key, { score, weight }]) => {
307
- const rawScore = await score(nft);
308
- const weighted = rawScore.map((v) => v * weight);
309
- return [key, weighted];
310
- })
311
- )
312
- );
313
- return result;
314
- };
315
-
316
- // src/Diviner.ts
317
- var toNftScorePayload = (nftInfo, scores) => {
318
- const {
319
- address,
320
- chainId,
321
- types
322
- } = nftInfo;
323
- return {
324
- address,
325
- chainId,
326
- schema: NftScoreSchema,
327
- scores,
328
- types
329
- };
330
- };
331
- var isNftScore = (payload) => payload.schema === NftScoreSchema;
332
- var NftScoreDiviner = class extends AbstractDiviner {
333
- static configSchemas = [...super.configSchemas, NftScoreDivinerConfigSchema];
334
- static defaultConfigSchema = NftScoreDivinerConfigSchema;
335
- divineHandler = async (payloads) => {
336
- const nftInfos = payloads?.filter(isNftInfo) ?? [];
337
- const results = await Promise.all(
338
- nftInfos.map(async (nftInfo) => {
339
- const score = toNftScorePayload(nftInfo, await analyzeNft(nftInfo));
340
- const sourceHash = await PayloadBuilder.dataHash(nftInfo);
341
- return { ...score, sources: [sourceHash] };
342
- })
343
- );
344
- return results;
345
- };
346
- };
347
-
348
- // src/Plugin.ts
349
- import { NftSchema } from "@xyo-network/crypto-nft-payload-plugin";
350
- import { createPayloadSetDivinerPlugin, PayloadSetSchema } from "@xyo-network/sdk-js";
351
- var NftScoreDivinerPlugin = () => createPayloadSetDivinerPlugin(
352
- { required: { [NftSchema]: 1 }, schema: PayloadSetSchema },
353
- {
354
- diviner: async (params) => {
355
- const result = await NftScoreDiviner.create(params);
356
- return result;
357
- }
358
- }
359
- );
360
- export {
361
- NftScoreDiviner,
362
- NftScoreDivinerPlugin,
363
- analyzeNft,
364
- NftScoreDivinerPlugin as default,
365
- isNftScore,
366
- scoringCriteria
367
- };
368
- //# sourceMappingURL=index.mjs.map