@xyo-network/crypto-nft-collection-witness-plugin 2.78.2 → 2.78.4

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 (151) hide show
  1. package/dist/browser/Plugin.d.cts +2 -0
  2. package/dist/browser/Plugin.d.cts.map +1 -1
  3. package/dist/browser/Plugin.d.mts +2 -0
  4. package/dist/browser/Plugin.d.mts.map +1 -1
  5. package/dist/browser/Plugin.d.ts +2 -0
  6. package/dist/browser/Plugin.d.ts.map +1 -1
  7. package/dist/browser/Witness.d.cts +6 -1
  8. package/dist/browser/Witness.d.cts.map +1 -1
  9. package/dist/browser/Witness.d.mts +6 -1
  10. package/dist/browser/Witness.d.mts.map +1 -1
  11. package/dist/browser/Witness.d.ts +6 -1
  12. package/dist/browser/Witness.d.ts.map +1 -1
  13. package/dist/browser/index.cjs +155 -114
  14. package/dist/browser/index.cjs.map +1 -1
  15. package/dist/browser/index.js +155 -114
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/browser/lib/contractHasFunctions.d.cts +4 -0
  18. package/dist/browser/lib/contractHasFunctions.d.cts.map +1 -0
  19. package/dist/browser/lib/contractHasFunctions.d.mts +4 -0
  20. package/dist/browser/lib/contractHasFunctions.d.mts.map +1 -0
  21. package/dist/browser/lib/contractHasFunctions.d.ts +4 -0
  22. package/dist/browser/lib/contractHasFunctions.d.ts.map +1 -0
  23. package/dist/browser/lib/getNftCollectionNfts.d.cts +3 -2
  24. package/dist/browser/lib/getNftCollectionNfts.d.cts.map +1 -1
  25. package/dist/browser/lib/getNftCollectionNfts.d.mts +3 -2
  26. package/dist/browser/lib/getNftCollectionNfts.d.mts.map +1 -1
  27. package/dist/browser/lib/getNftCollectionNfts.d.ts +3 -2
  28. package/dist/browser/lib/getNftCollectionNfts.d.ts.map +1 -1
  29. package/dist/browser/lib/getProviderFromEnv.d.cts +4 -0
  30. package/dist/browser/lib/getProviderFromEnv.d.cts.map +1 -0
  31. package/dist/browser/lib/getProviderFromEnv.d.mts +4 -0
  32. package/dist/browser/lib/getProviderFromEnv.d.mts.map +1 -0
  33. package/dist/browser/lib/getProviderFromEnv.d.ts +4 -0
  34. package/dist/browser/lib/getProviderFromEnv.d.ts.map +1 -0
  35. package/dist/browser/lib/index.d.cts +3 -2
  36. package/dist/browser/lib/index.d.cts.map +1 -1
  37. package/dist/browser/lib/index.d.mts +3 -2
  38. package/dist/browser/lib/index.d.mts.map +1 -1
  39. package/dist/browser/lib/index.d.ts +3 -2
  40. package/dist/browser/lib/index.d.ts.map +1 -1
  41. package/dist/browser/lib/tokenTypes.d.cts +6 -0
  42. package/dist/browser/lib/tokenTypes.d.cts.map +1 -0
  43. package/dist/browser/lib/tokenTypes.d.mts +6 -0
  44. package/dist/browser/lib/tokenTypes.d.mts.map +1 -0
  45. package/dist/browser/lib/tokenTypes.d.ts +6 -0
  46. package/dist/browser/lib/tokenTypes.d.ts.map +1 -0
  47. package/dist/browser/lib/tryCall.d.cts +2 -0
  48. package/dist/browser/lib/tryCall.d.cts.map +1 -0
  49. package/dist/browser/lib/tryCall.d.mts +2 -0
  50. package/dist/browser/lib/tryCall.d.mts.map +1 -0
  51. package/dist/browser/lib/tryCall.d.ts +2 -0
  52. package/dist/browser/lib/tryCall.d.ts.map +1 -0
  53. package/dist/node/Plugin.d.cts +2 -0
  54. package/dist/node/Plugin.d.cts.map +1 -1
  55. package/dist/node/Plugin.d.mts +2 -0
  56. package/dist/node/Plugin.d.mts.map +1 -1
  57. package/dist/node/Plugin.d.ts +2 -0
  58. package/dist/node/Plugin.d.ts.map +1 -1
  59. package/dist/node/Witness.d.cts +6 -1
  60. package/dist/node/Witness.d.cts.map +1 -1
  61. package/dist/node/Witness.d.mts +6 -1
  62. package/dist/node/Witness.d.mts.map +1 -1
  63. package/dist/node/Witness.d.ts +6 -1
  64. package/dist/node/Witness.d.ts.map +1 -1
  65. package/dist/node/index.js +162 -118
  66. package/dist/node/index.js.map +1 -1
  67. package/dist/node/index.mjs +155 -114
  68. package/dist/node/index.mjs.map +1 -1
  69. package/dist/node/lib/contractHasFunctions.d.cts +4 -0
  70. package/dist/node/lib/contractHasFunctions.d.cts.map +1 -0
  71. package/dist/node/lib/contractHasFunctions.d.mts +4 -0
  72. package/dist/node/lib/contractHasFunctions.d.mts.map +1 -0
  73. package/dist/node/lib/contractHasFunctions.d.ts +4 -0
  74. package/dist/node/lib/contractHasFunctions.d.ts.map +1 -0
  75. package/dist/node/lib/getNftCollectionNfts.d.cts +3 -2
  76. package/dist/node/lib/getNftCollectionNfts.d.cts.map +1 -1
  77. package/dist/node/lib/getNftCollectionNfts.d.mts +3 -2
  78. package/dist/node/lib/getNftCollectionNfts.d.mts.map +1 -1
  79. package/dist/node/lib/getNftCollectionNfts.d.ts +3 -2
  80. package/dist/node/lib/getNftCollectionNfts.d.ts.map +1 -1
  81. package/dist/node/lib/getProviderFromEnv.d.cts +4 -0
  82. package/dist/node/lib/getProviderFromEnv.d.cts.map +1 -0
  83. package/dist/node/lib/getProviderFromEnv.d.mts +4 -0
  84. package/dist/node/lib/getProviderFromEnv.d.mts.map +1 -0
  85. package/dist/node/lib/getProviderFromEnv.d.ts +4 -0
  86. package/dist/node/lib/getProviderFromEnv.d.ts.map +1 -0
  87. package/dist/node/lib/index.d.cts +3 -2
  88. package/dist/node/lib/index.d.cts.map +1 -1
  89. package/dist/node/lib/index.d.mts +3 -2
  90. package/dist/node/lib/index.d.mts.map +1 -1
  91. package/dist/node/lib/index.d.ts +3 -2
  92. package/dist/node/lib/index.d.ts.map +1 -1
  93. package/dist/node/lib/tokenTypes.d.cts +6 -0
  94. package/dist/node/lib/tokenTypes.d.cts.map +1 -0
  95. package/dist/node/lib/tokenTypes.d.mts +6 -0
  96. package/dist/node/lib/tokenTypes.d.mts.map +1 -0
  97. package/dist/node/lib/tokenTypes.d.ts +6 -0
  98. package/dist/node/lib/tokenTypes.d.ts.map +1 -0
  99. package/dist/node/lib/tryCall.d.cts +2 -0
  100. package/dist/node/lib/tryCall.d.cts.map +1 -0
  101. package/dist/node/lib/tryCall.d.mts +2 -0
  102. package/dist/node/lib/tryCall.d.mts.map +1 -0
  103. package/dist/node/lib/tryCall.d.ts +2 -0
  104. package/dist/node/lib/tryCall.d.ts.map +1 -0
  105. package/package.json +17 -13
  106. package/src/Witness.ts +51 -9
  107. package/src/lib/contractHasFunctions.ts +20 -0
  108. package/src/lib/getNftCollectionNfts.ts +49 -38
  109. package/src/lib/getProviderFromEnv.ts +29 -0
  110. package/src/lib/index.ts +3 -2
  111. package/src/lib/tokenTypes.ts +25 -0
  112. package/src/lib/tryCall.ts +11 -0
  113. package/dist/browser/lib/getNftCollectionCount.d.cts +0 -2
  114. package/dist/browser/lib/getNftCollectionCount.d.cts.map +0 -1
  115. package/dist/browser/lib/getNftCollectionCount.d.mts +0 -2
  116. package/dist/browser/lib/getNftCollectionCount.d.mts.map +0 -1
  117. package/dist/browser/lib/getNftCollectionCount.d.ts +0 -2
  118. package/dist/browser/lib/getNftCollectionCount.d.ts.map +0 -1
  119. package/dist/browser/lib/getNftCollectionMetadata.d.cts +0 -5
  120. package/dist/browser/lib/getNftCollectionMetadata.d.cts.map +0 -1
  121. package/dist/browser/lib/getNftCollectionMetadata.d.mts +0 -5
  122. package/dist/browser/lib/getNftCollectionMetadata.d.mts.map +0 -1
  123. package/dist/browser/lib/getNftCollectionMetadata.d.ts +0 -5
  124. package/dist/browser/lib/getNftCollectionMetadata.d.ts.map +0 -1
  125. package/dist/browser/lib/getProvider.d.cts +0 -3
  126. package/dist/browser/lib/getProvider.d.cts.map +0 -1
  127. package/dist/browser/lib/getProvider.d.mts +0 -3
  128. package/dist/browser/lib/getProvider.d.mts.map +0 -1
  129. package/dist/browser/lib/getProvider.d.ts +0 -3
  130. package/dist/browser/lib/getProvider.d.ts.map +0 -1
  131. package/dist/node/lib/getNftCollectionCount.d.cts +0 -2
  132. package/dist/node/lib/getNftCollectionCount.d.cts.map +0 -1
  133. package/dist/node/lib/getNftCollectionCount.d.mts +0 -2
  134. package/dist/node/lib/getNftCollectionCount.d.mts.map +0 -1
  135. package/dist/node/lib/getNftCollectionCount.d.ts +0 -2
  136. package/dist/node/lib/getNftCollectionCount.d.ts.map +0 -1
  137. package/dist/node/lib/getNftCollectionMetadata.d.cts +0 -5
  138. package/dist/node/lib/getNftCollectionMetadata.d.cts.map +0 -1
  139. package/dist/node/lib/getNftCollectionMetadata.d.mts +0 -5
  140. package/dist/node/lib/getNftCollectionMetadata.d.mts.map +0 -1
  141. package/dist/node/lib/getNftCollectionMetadata.d.ts +0 -5
  142. package/dist/node/lib/getNftCollectionMetadata.d.ts.map +0 -1
  143. package/dist/node/lib/getProvider.d.cts +0 -3
  144. package/dist/node/lib/getProvider.d.cts.map +0 -1
  145. package/dist/node/lib/getProvider.d.mts +0 -3
  146. package/dist/node/lib/getProvider.d.mts.map +0 -1
  147. package/dist/node/lib/getProvider.d.ts +0 -3
  148. package/dist/node/lib/getProvider.d.ts.map +0 -1
  149. package/src/lib/getNftCollectionCount.ts +0 -22
  150. package/src/lib/getNftCollectionMetadata.ts +0 -58
  151. package/src/lib/getProvider.ts +0 -17
@@ -1,4 +1,5 @@
1
- import { NftInfo } from '@xyo-network/crypto-nft-payload-plugin';
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { NftInfo, TokenType } from '@xyo-network/crypto-nft-payload-plugin';
2
3
  /**
3
4
  * Returns the equivalent IPFS gateway URL for the supplied URL.
4
5
  * @param urlToCheck The URL to check
@@ -6,5 +7,5 @@ import { NftInfo } from '@xyo-network/crypto-nft-payload-plugin';
6
7
  * equivalent IPFS gateway URL. Otherwise, returns the original URL.
7
8
  */
8
9
  export declare const checkIpfsUrl: (urlToCheck: string, ipfsGateway: string) => string;
9
- export declare const getNftCollectionNfts: (contractAddress: string, chainId: number, maxNfts?: number) => Promise<NftInfo[]>;
10
+ export declare const getNftCollectionNfts: (contractAddress: string, provider: JsonRpcProvider, types?: TokenType[], maxNfts?: number) => Promise<NftInfo[]>;
10
11
  //# sourceMappingURL=getNftCollectionNfts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNftCollectionNfts.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuC,MAAM,wCAAwC,CAAA;AASrG;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,eAAe,MAAM,WAenE,CAAA;AAED,eAAO,MAAM,oBAAoB,oBAId,MAAM,WAId,MAAM,uBAOd,QAAQ,OAAO,EAAE,CAsCnB,CAAA"}
1
+ {"version":3,"file":"getNftCollectionNfts.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAA0B,SAAS,EAAe,MAAM,wCAAwC,CAAA;AAQhH;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,eAAe,MAAM,WAenE,CAAA;AAED,eAAO,MAAM,oBAAoB,oBAId,MAAM,YAIb,eAAe,UACjB,SAAS,EAAE,uBAOlB,QAAQ,OAAO,EAAE,CAgDnB,CAAA"}
@@ -1,4 +1,5 @@
1
- import { NftInfo } from '@xyo-network/crypto-nft-payload-plugin';
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { NftInfo, TokenType } from '@xyo-network/crypto-nft-payload-plugin';
2
3
  /**
3
4
  * Returns the equivalent IPFS gateway URL for the supplied URL.
4
5
  * @param urlToCheck The URL to check
@@ -6,5 +7,5 @@ import { NftInfo } from '@xyo-network/crypto-nft-payload-plugin';
6
7
  * equivalent IPFS gateway URL. Otherwise, returns the original URL.
7
8
  */
8
9
  export declare const checkIpfsUrl: (urlToCheck: string, ipfsGateway: string) => string;
9
- export declare const getNftCollectionNfts: (contractAddress: string, chainId: number, maxNfts?: number) => Promise<NftInfo[]>;
10
+ export declare const getNftCollectionNfts: (contractAddress: string, provider: JsonRpcProvider, types?: TokenType[], maxNfts?: number) => Promise<NftInfo[]>;
10
11
  //# sourceMappingURL=getNftCollectionNfts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNftCollectionNfts.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuC,MAAM,wCAAwC,CAAA;AASrG;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,eAAe,MAAM,WAenE,CAAA;AAED,eAAO,MAAM,oBAAoB,oBAId,MAAM,WAId,MAAM,uBAOd,QAAQ,OAAO,EAAE,CAsCnB,CAAA"}
1
+ {"version":3,"file":"getNftCollectionNfts.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionNfts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,OAAO,EAA0B,SAAS,EAAe,MAAM,wCAAwC,CAAA;AAQhH;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,eAAe,MAAM,WAenE,CAAA;AAED,eAAO,MAAM,oBAAoB,oBAId,MAAM,YAIb,eAAe,UACjB,SAAS,EAAE,uBAOlB,QAAQ,OAAO,EAAE,CAgDnB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { InfuraProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
2
+ export declare const getProviderFromEnvInternal: (chainId?: number) => InfuraProvider;
3
+ export declare const getProviderFromEnv: (chainId?: number) => JsonRpcProvider | WebSocketProvider;
4
+ //# sourceMappingURL=getProviderFromEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProviderFromEnv.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderFromEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE7F,eAAO,MAAM,0BAA0B,aAAa,MAAM,mBAkBzD,CAAA;AAID,eAAO,MAAM,kBAAkB,aAAa,MAAM,wCAIjD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { InfuraProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
2
+ export declare const getProviderFromEnvInternal: (chainId?: number) => InfuraProvider;
3
+ export declare const getProviderFromEnv: (chainId?: number) => JsonRpcProvider | WebSocketProvider;
4
+ //# sourceMappingURL=getProviderFromEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProviderFromEnv.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderFromEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE7F,eAAO,MAAM,0BAA0B,aAAa,MAAM,mBAkBzD,CAAA;AAID,eAAO,MAAM,kBAAkB,aAAa,MAAM,wCAIjD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { InfuraProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
2
+ export declare const getProviderFromEnvInternal: (chainId?: number) => InfuraProvider;
3
+ export declare const getProviderFromEnv: (chainId?: number) => JsonRpcProvider | WebSocketProvider;
4
+ //# sourceMappingURL=getProviderFromEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProviderFromEnv.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderFromEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE7F,eAAO,MAAM,0BAA0B,aAAa,MAAM,mBAkBzD,CAAA;AAID,eAAO,MAAM,kBAAkB,aAAa,MAAM,wCAIjD,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from './collectionMetrics';
2
- export * from './getNftCollectionCount';
3
- export * from './getNftCollectionMetadata';
2
+ export * from './contractHasFunctions';
4
3
  export * from './getNftCollectionNfts';
4
+ export * from './getProviderFromEnv';
5
+ export * from './tokenTypes';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from './collectionMetrics';
2
- export * from './getNftCollectionCount';
3
- export * from './getNftCollectionMetadata';
2
+ export * from './contractHasFunctions';
4
3
  export * from './getNftCollectionNfts';
4
+ export * from './getProviderFromEnv';
5
+ export * from './tokenTypes';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from './collectionMetrics';
2
- export * from './getNftCollectionCount';
3
- export * from './getNftCollectionMetadata';
2
+ export * from './contractHasFunctions';
4
3
  export * from './getNftCollectionNfts';
4
+ export * from './getProviderFromEnv';
5
+ export * from './tokenTypes';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Provider } from '@ethersproject/providers';
2
+ import { TokenType } from '@xyo-network/crypto-nft-payload-plugin';
3
+ export declare const isErc1155: (provider: Provider, address: string) => Promise<boolean>;
4
+ export declare const isErc721: (provider: Provider, address: string) => Promise<boolean>;
5
+ export declare const tokenTypes: (provider: Provider, address: string) => Promise<TokenType[]>;
6
+ //# sourceMappingURL=tokenTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTypes.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAKlE,eAAO,MAAM,SAAS,aAAoB,QAAQ,WAAW,MAAM,qBAElE,CAAA;AAED,eAAO,MAAM,QAAQ,aAAoB,QAAQ,WAAW,MAAM,qBAEjE,CAAA;AAED,eAAO,MAAM,UAAU,aAAoB,QAAQ,WAAW,MAAM,yBAUnE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Provider } from '@ethersproject/providers';
2
+ import { TokenType } from '@xyo-network/crypto-nft-payload-plugin';
3
+ export declare const isErc1155: (provider: Provider, address: string) => Promise<boolean>;
4
+ export declare const isErc721: (provider: Provider, address: string) => Promise<boolean>;
5
+ export declare const tokenTypes: (provider: Provider, address: string) => Promise<TokenType[]>;
6
+ //# sourceMappingURL=tokenTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTypes.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAKlE,eAAO,MAAM,SAAS,aAAoB,QAAQ,WAAW,MAAM,qBAElE,CAAA;AAED,eAAO,MAAM,QAAQ,aAAoB,QAAQ,WAAW,MAAM,qBAEjE,CAAA;AAED,eAAO,MAAM,UAAU,aAAoB,QAAQ,WAAW,MAAM,yBAUnE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Provider } from '@ethersproject/providers';
2
+ import { TokenType } from '@xyo-network/crypto-nft-payload-plugin';
3
+ export declare const isErc1155: (provider: Provider, address: string) => Promise<boolean>;
4
+ export declare const isErc721: (provider: Provider, address: string) => Promise<boolean>;
5
+ export declare const tokenTypes: (provider: Provider, address: string) => Promise<TokenType[]>;
6
+ //# sourceMappingURL=tokenTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTypes.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAKlE,eAAO,MAAM,SAAS,aAAoB,QAAQ,WAAW,MAAM,qBAElE,CAAA;AAED,eAAO,MAAM,QAAQ,aAAoB,QAAQ,WAAW,MAAM,qBAEjE,CAAA;AAED,eAAO,MAAM,UAAU,aAAoB,QAAQ,WAAW,MAAM,yBAUnE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const tryCall: <T>(func: () => Promise<T>, name?: string) => Promise<T | undefined>;
2
+ //# sourceMappingURL=tryCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tryCall.d.ts","sourceRoot":"","sources":["../../../src/lib/tryCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,qCAA4C,MAAM,2BAUrE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const tryCall: <T>(func: () => Promise<T>, name?: string) => Promise<T | undefined>;
2
+ //# sourceMappingURL=tryCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tryCall.d.ts","sourceRoot":"","sources":["../../../src/lib/tryCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,qCAA4C,MAAM,2BAUrE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const tryCall: <T>(func: () => Promise<T>, name?: string) => Promise<T | undefined>;
2
+ //# sourceMappingURL=tryCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tryCall.d.ts","sourceRoot":"","sources":["../../../src/lib/tryCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,qCAA4C,MAAM,2BAUrE,CAAA"}
package/package.json CHANGED
@@ -11,23 +11,27 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@ethersproject/abi": "^5.7.0",
14
+ "@ethersproject/contracts": "^5.7.0",
15
+ "@ethersproject/providers": "^5.7.2",
14
16
  "@xylabs/assert": "^2.13.3",
15
17
  "@xylabs/eth-address": "^2.13.3",
16
- "@xyo-network/abstract-witness": "~2.78.2",
17
- "@xyo-network/core": "~2.78.2",
18
- "@xyo-network/crypto-nft-collection-payload-plugin": "~2.78.2",
19
- "@xyo-network/crypto-nft-payload-plugin": "~2.78.2",
20
- "@xyo-network/module-model": "~2.78.2",
21
- "@xyo-network/payload-model": "~2.78.2",
22
- "@xyo-network/payloadset-plugin": "~2.78.2",
23
- "@xyo-network/witness-model": "~2.78.2"
18
+ "@xyo-network/abstract-witness": "~2.78.4",
19
+ "@xyo-network/axios": "~2.78.4",
20
+ "@xyo-network/core": "~2.78.4",
21
+ "@xyo-network/crypto-nft-collection-payload-plugin": "~2.78.4",
22
+ "@xyo-network/crypto-nft-payload-plugin": "~2.78.4",
23
+ "@xyo-network/module-model": "~2.78.4",
24
+ "@xyo-network/open-zeppelin-typechain": "^2.2.11",
25
+ "@xyo-network/payload-model": "~2.78.4",
26
+ "@xyo-network/payloadset-plugin": "~2.78.4",
27
+ "@xyo-network/witness-model": "~2.78.4"
24
28
  },
25
29
  "devDependencies": {
26
30
  "@xylabs/jest-helpers": "^2.13.3",
27
- "@xylabs/ts-scripts-yarn3": "^3.1.13",
28
- "@xylabs/tsconfig": "^3.1.13",
29
- "@xyo-network/account": "~2.78.2",
30
- "@xyo-network/account-model": "~2.78.2",
31
+ "@xylabs/ts-scripts-yarn3": "^3.1.21",
32
+ "@xylabs/tsconfig": "^3.1.21",
33
+ "@xyo-network/account": "~2.78.4",
34
+ "@xyo-network/account-model": "~2.78.4",
31
35
  "ethers": "^5.7.2",
32
36
  "jest": "^29.7.0",
33
37
  "typescript": "^5.2.2"
@@ -72,5 +76,5 @@
72
76
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
73
77
  },
74
78
  "sideEffects": false,
75
- "version": "2.78.2"
79
+ "version": "2.78.4"
76
80
  }
package/src/Witness.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { InfuraProvider, Provider, WebSocketProvider } from '@ethersproject/providers'
1
2
  import { assertEx } from '@xylabs/assert'
2
3
  import { EthAddress } from '@xylabs/eth-address'
3
4
  import { AbstractWitness } from '@xyo-network/abstract-witness'
@@ -11,11 +12,17 @@ import {
11
12
  NftCollectionWitnessQuery,
12
13
  } from '@xyo-network/crypto-nft-collection-payload-plugin'
13
14
  import { AnyConfigSchema } from '@xyo-network/module-model'
15
+ import { ERC721Enumerable__factory } from '@xyo-network/open-zeppelin-typechain'
14
16
  import { WitnessParams } from '@xyo-network/witness-model'
15
17
 
16
- import { getNftCollectionCount, getNftCollectionMetadata, getNftCollectionMetrics, getNftCollectionNfts } from './lib'
18
+ import { getNftCollectionMetrics, getNftCollectionNfts, getProviderFromEnv, tokenTypes } from './lib'
17
19
 
18
- export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig>>
20
+ export type CryptoNftCollectionWitnessParams = WitnessParams<
21
+ AnyConfigSchema<NftCollectionWitnessConfig>,
22
+ {
23
+ provider: Provider
24
+ }
25
+ >
19
26
 
20
27
  const defaultMaxNfts = 100
21
28
 
@@ -26,6 +33,15 @@ const defaultMaxNfts = 100
26
33
  */
27
34
  const NoOp = Promise.resolve()
28
35
 
36
+ function resolvedValue<T>(settled: PromiseSettledResult<T>, assert: true): T
37
+ function resolvedValue<T>(settled: PromiseSettledResult<T>, assert?: false): T | undefined
38
+ function resolvedValue<T>(settled: PromiseSettledResult<T>, assert?: boolean) {
39
+ if (assert && settled.status === 'rejected') {
40
+ throw settled.reason
41
+ }
42
+ return settled.status === 'fulfilled' ? settled.value : undefined
43
+ }
44
+
29
45
  export class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractWitness<
30
46
  TParams,
31
47
  NftCollectionWitnessQuery,
@@ -33,31 +49,57 @@ export class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitne
33
49
  > {
34
50
  static override configSchemas = [NftCollectionWitnessConfigSchema]
35
51
 
52
+ protected providers: Record<number, WebSocketProvider | InfuraProvider> = {}
53
+
54
+ protected getProvider(chainId: number) {
55
+ this.providers[chainId] = this.providers[chainId] ?? getProviderFromEnv(chainId)
56
+ return this.providers[chainId]
57
+ }
58
+
36
59
  protected override async observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]> {
37
60
  await this.started('throw')
38
61
  const queries = payloads?.filter(isNftCollectionWitnessQuery) ?? []
39
62
  const observations = await Promise.all(
40
63
  queries.map<Promise<NftCollectionInfo>>(async (query) => {
64
+ const chainId = assertEx(query?.chainId || this.config.chainId, 'params.chainId is required')
65
+ const provider = this.getProvider(chainId)
41
66
  const address = assertEx(
42
67
  EthAddress.parse(assertEx(query?.address || this.config.address, 'params.address is required')),
43
68
  'Failed to parse params.address',
44
69
  ).toString()
45
- const chainId = assertEx(query?.chainId || this.config.chainId, 'params.chainId is required')
70
+
71
+ const erc721Enumerable = ERC721Enumerable__factory.connect(address, provider)
72
+
46
73
  const maxNfts = query?.maxNfts || defaultMaxNfts
47
- const [info, total, nfts, archivist] = await Promise.all([
48
- getNftCollectionMetadata(address, chainId),
49
- getNftCollectionCount(address, chainId),
50
- getNftCollectionNfts(address, chainId, maxNfts),
51
- this.writeArchivist(),
74
+ const [name, symbol, total, typesSettled, archivistSettled] = await Promise.allSettled([
75
+ await erc721Enumerable.name(),
76
+ await erc721Enumerable.symbol(),
77
+ (await erc721Enumerable.totalSupply()).toNumber(),
78
+ await tokenTypes(provider, address),
79
+ await this.writeArchivist(),
52
80
  ])
81
+ const types = resolvedValue(typesSettled, true)
82
+ const nfts = await getNftCollectionNfts(address, provider, types, maxNfts)
53
83
  const metrics = getNftCollectionMetrics(nfts)
84
+ const archivist = resolvedValue(archivistSettled)
54
85
  const [sources] = await Promise.all([
55
86
  // Hash all the payloads
56
87
  Promise.all(nfts.map((nft) => PayloadHasher.hashAsync(nft))),
57
88
  // Insert them into the archivist if we have one
58
89
  archivist ? archivist.insert(nfts) : NoOp,
59
90
  ])
60
- const payload: NftCollectionInfo = { ...info, metrics, schema: NftCollectionSchema, sources, total }
91
+ const payload: NftCollectionInfo = {
92
+ address,
93
+ chainId,
94
+ metrics,
95
+ name: resolvedValue(name, true),
96
+ schema: NftCollectionSchema,
97
+ sources,
98
+ symbol: resolvedValue(symbol, true),
99
+ total: resolvedValue(total, true),
100
+ type: types.at(0),
101
+ types,
102
+ }
61
103
  return payload
62
104
  }),
63
105
  )
@@ -0,0 +1,20 @@
1
+ import { Interface } from '@ethersproject/abi'
2
+ import { Provider } from '@ethersproject/providers'
3
+
4
+ export const contractHasFunctions = async (provider: Provider, address: string, contractInterface: Interface, functionNames: string[]) => {
5
+ try {
6
+ const bytecode = await provider.getCode(address, 'latest')
7
+ for (let i = 0; i < functionNames.length; i++) {
8
+ const nameSig = contractInterface.getSighash(functionNames[i]).substring(2)
9
+ if (!bytecode.includes(nameSig)) {
10
+ return false
11
+ }
12
+ return true
13
+ }
14
+ return false
15
+ } catch (ex) {
16
+ const error = ex as Error
17
+ console.log(error)
18
+ return false
19
+ }
20
+ }
@@ -1,10 +1,10 @@
1
+ import { JsonRpcProvider } from '@ethersproject/providers'
1
2
  import { AxiosJson } from '@xyo-network/axios'
2
- import { NftInfo, NftMetadata, NftSchema, toTokenType } from '@xyo-network/crypto-nft-payload-plugin'
3
+ import { NftInfo, NftMetadata, NftSchema, TokenType, toTokenType } from '@xyo-network/crypto-nft-payload-plugin'
3
4
  import { ERC721Enumerable__factory, ERC721URIStorage__factory, ERC1155Supply__factory } from '@xyo-network/open-zeppelin-typechain'
4
5
 
5
- import { getNftCollectionMetadata } from './getNftCollectionMetadata'
6
- import { getProviderFromEnv } from './getProvider'
7
- import { nonEvaluableContractAddresses } from './nonEvaluableContractAddresses'
6
+ import { tokenTypes } from './tokenTypes'
7
+ import { tryCall } from './tryCall'
8
8
 
9
9
  const ipfsGateway = '5d7b6582.beta.decentralnetworkservices.com'
10
10
 
@@ -39,7 +39,8 @@ export const getNftCollectionNfts = async (
39
39
  /**
40
40
  * The chain ID (1 = Ethereum Mainnet, 4 = Rinkeby, etc.) of the chain to search for NFTs on
41
41
  */
42
- chainId: number,
42
+ provider: JsonRpcProvider,
43
+ types?: TokenType[],
43
44
  /**
44
45
  * The maximum number of NFTs to return. Configurable to prevent
45
46
  * large wallets from exhausting Infura API credits. Ideally a
@@ -47,41 +48,51 @@ export const getNftCollectionNfts = async (
47
48
  */
48
49
  maxNfts = 100,
49
50
  ): Promise<NftInfo[]> => {
50
- if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {
51
- throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`)
52
- }
53
- const axios = new AxiosJson({ timeout: 2000 })
54
- const provider = getProviderFromEnv(chainId)
55
- const enumerable = ERC721Enumerable__factory.connect(contractAddress, provider)
56
- const storage = ERC721URIStorage__factory.connect(contractAddress, provider)
57
- const supply1155 = ERC1155Supply__factory.connect(contractAddress, provider)
58
- const result: NftInfo[] = []
59
- const { type: nftType } = await getNftCollectionMetadata(contractAddress, chainId)
51
+ try {
52
+ const axios = new AxiosJson({ timeout: 2000 })
53
+ const enumerable = ERC721Enumerable__factory.connect(contractAddress, provider)
54
+ const storage = ERC721URIStorage__factory.connect(contractAddress, provider)
55
+ const supply1155 = ERC1155Supply__factory.connect(contractAddress, provider)
56
+ const finalTypes = types ?? (await tokenTypes(provider, contractAddress))
57
+ const result: NftInfo[] = []
60
58
 
61
- for (let i = 0; i < maxNfts; i++) {
62
- const tokenId = (await enumerable.tokenByIndex(i)).toHexString()
63
- const supply = nftType === toTokenType('ERC11155') ? (await supply1155.totalSupply(tokenId)).toHexString() : '0x01'
64
- const metadataUri = await storage.tokenURI(tokenId)
65
- const checkedMetaDataUri = checkIpfsUrl(metadataUri, ipfsGateway)
66
- let metadata: NftMetadata | undefined = undefined
67
- try {
68
- metadata = (await axios.get(checkedMetaDataUri)).data
69
- } catch (ex) {
70
- const error = ex as Error
71
- console.error(error.message)
72
- }
59
+ for (let i = 0; i < maxNfts; i++) {
60
+ const tokenId = await tryCall(async () => (await enumerable.tokenByIndex(i)).toHexString())
61
+ if (tokenId !== undefined) {
62
+ const supply = finalTypes.includes(toTokenType('ERC1155'))
63
+ ? (await tryCall(async () => (await supply1155.totalSupply(tokenId)).toHexString())) ?? '0x01'
64
+ : '0x01'
65
+ const metadataUri = await tryCall(async () => await storage.tokenURI(tokenId))
66
+ const checkedMetaDataUri = metadataUri ? checkIpfsUrl(metadataUri, ipfsGateway) : undefined
67
+ let metadata: NftMetadata | undefined = undefined
68
+ if (checkedMetaDataUri !== undefined) {
69
+ try {
70
+ metadata = (await axios.get(checkedMetaDataUri)).data
71
+ } catch (ex) {
72
+ const error = ex as Error
73
+ console.error(`Get Metadata failed: ${error.message}`)
74
+ }
75
+ }
73
76
 
74
- const info: NftInfo = {
75
- address: contractAddress,
76
- chainId,
77
- metadata,
78
- metadataUri,
79
- schema: NftSchema,
80
- supply,
81
- tokenId,
82
- type: nftType,
77
+ const info: NftInfo = {
78
+ address: contractAddress,
79
+ chainId: provider.network.chainId,
80
+ metadata,
81
+ metadataUri,
82
+ schema: NftSchema,
83
+ supply,
84
+ tokenId,
85
+ type: finalTypes.at(0),
86
+ types: finalTypes,
87
+ }
88
+ result.push(info)
89
+ }
83
90
  }
84
- result.push(info)
91
+ return result
92
+ } catch (ex) {
93
+ const error = ex as Error
94
+ console.error(`getNftCollectionNfts failed: [${error.name}] ${error.message}`)
95
+ console.log(error.stack)
96
+ return []
85
97
  }
86
- return result
87
98
  }
@@ -0,0 +1,29 @@
1
+ import { InfuraProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers'
2
+
3
+ export const getProviderFromEnvInternal = (chainId: number = 0x01) => {
4
+ console.log(`getProviderFromEnvInternal: ${chainId}`)
5
+ const infuraWssUri = process.env.INFURA_WSS_URI
6
+ const infuraProvider = new InfuraProvider(chainId, {
7
+ projectId: process.env.INFURA_PROJECT_ID,
8
+ projectSecret: process.env.INFURA_PROJECT_SECRET,
9
+ })
10
+
11
+ const infuraGenericWebsocketProvider = infuraWssUri ? new WebSocketProvider(infuraWssUri, chainId) : undefined
12
+
13
+ const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI
14
+ const quickNodeWebSocketProvider = quickNodeWSSUri ? new WebSocketProvider(quickNodeWSSUri, chainId) : undefined
15
+
16
+ const quickNodeHttpsUri = process.env.QUICKNODE_WSS_URI
17
+ const quickRpcProvider = quickNodeHttpsUri ? new JsonRpcProvider(quickNodeHttpsUri, chainId) : undefined
18
+
19
+ const provider = infuraProvider ?? quickNodeWebSocketProvider ?? infuraProvider ?? infuraGenericWebsocketProvider ?? quickRpcProvider
20
+ return provider
21
+ }
22
+
23
+ const providers: Record<number, JsonRpcProvider | WebSocketProvider> = {}
24
+
25
+ export const getProviderFromEnv = (chainId: number = 0x01) => {
26
+ console.log(`getProviderFromEnv: ${chainId}`)
27
+ providers[chainId] = providers[chainId] ?? getProviderFromEnvInternal(chainId)
28
+ return providers[chainId]
29
+ }
package/src/lib/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './collectionMetrics'
2
- export * from './getNftCollectionCount'
3
- export * from './getNftCollectionMetadata'
2
+ export * from './contractHasFunctions'
4
3
  export * from './getNftCollectionNfts'
4
+ export * from './getProviderFromEnv'
5
+ export * from './tokenTypes'
@@ -0,0 +1,25 @@
1
+ import { Provider } from '@ethersproject/providers'
2
+ import { TokenType } from '@xyo-network/crypto-nft-payload-plugin'
3
+ import { ERC1155URIStorage__factory, IERC721Metadata__factory } from '@xyo-network/open-zeppelin-typechain'
4
+
5
+ import { contractHasFunctions } from './contractHasFunctions'
6
+
7
+ export const isErc1155 = async (provider: Provider, address: string) => {
8
+ return await contractHasFunctions(provider, address, ERC1155URIStorage__factory.createInterface(), ['uri'])
9
+ }
10
+
11
+ export const isErc721 = async (provider: Provider, address: string) => {
12
+ return await contractHasFunctions(provider, address, IERC721Metadata__factory.createInterface(), ['name', 'symbol', 'tokenURI'])
13
+ }
14
+
15
+ export const tokenTypes = async (provider: Provider, address: string) => {
16
+ const [erc721, erc1155] = await Promise.all([isErc721(provider, address), isErc1155(provider, address)])
17
+ const result: TokenType[] = []
18
+ if (erc721) {
19
+ result.push('ERC721')
20
+ }
21
+ if (erc1155) {
22
+ result.push('ERC1155')
23
+ }
24
+ return result
25
+ }
@@ -0,0 +1,11 @@
1
+ export const tryCall = async <T>(func: () => Promise<T>, name?: string): Promise<T | undefined> => {
2
+ try {
3
+ return await func()
4
+ } catch (ex) {
5
+ if (name) {
6
+ const error = ex as Error
7
+ console.log(`tryCall failed [${name}]: ${error.message}`)
8
+ }
9
+ return undefined
10
+ }
11
+ }
@@ -1,2 +0,0 @@
1
- export declare const getNftCollectionCount: (contractAddress: string, chainId: number) => Promise<number>;
2
- //# sourceMappingURL=getNftCollectionCount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionCount.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionCount.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,oBAIf,MAAM,WAId,MAAM,KACd,QAAQ,MAAM,CAOhB,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const getNftCollectionCount: (contractAddress: string, chainId: number) => Promise<number>;
2
- //# sourceMappingURL=getNftCollectionCount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionCount.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionCount.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,oBAIf,MAAM,WAId,MAAM,KACd,QAAQ,MAAM,CAOhB,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const getNftCollectionCount: (contractAddress: string, chainId: number) => Promise<number>;
2
- //# sourceMappingURL=getNftCollectionCount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionCount.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionCount.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,oBAIf,MAAM,WAId,MAAM,KACd,QAAQ,MAAM,CAOhB,CAAA"}
@@ -1,5 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { NftCollectionMetadata } from '@xyo-network/crypto-nft-collection-payload-plugin';
3
- export declare function getInterfaceID(contractInterface: Interface): string;
4
- export declare const getNftCollectionMetadata: (contractAddress: string, chainId: number) => Promise<Omit<NftCollectionMetadata, 'total'>>;
5
- //# sourceMappingURL=getNftCollectionMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAOzF,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,SAAS,UAQ1D;AAED,eAAO,MAAM,wBAAwB,oBAIlB,MAAM,WAId,MAAM,KACd,QAAQ,KAAK,qBAAqB,EAAE,OAAO,CAAC,CA8B9C,CAAA"}
@@ -1,5 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { NftCollectionMetadata } from '@xyo-network/crypto-nft-collection-payload-plugin';
3
- export declare function getInterfaceID(contractInterface: Interface): string;
4
- export declare const getNftCollectionMetadata: (contractAddress: string, chainId: number) => Promise<Omit<NftCollectionMetadata, 'total'>>;
5
- //# sourceMappingURL=getNftCollectionMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAOzF,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,SAAS,UAQ1D;AAED,eAAO,MAAM,wBAAwB,oBAIlB,MAAM,WAId,MAAM,KACd,QAAQ,KAAK,qBAAqB,EAAE,OAAO,CAAC,CA8B9C,CAAA"}
@@ -1,5 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { NftCollectionMetadata } from '@xyo-network/crypto-nft-collection-payload-plugin';
3
- export declare function getInterfaceID(contractInterface: Interface): string;
4
- export declare const getNftCollectionMetadata: (contractAddress: string, chainId: number) => Promise<Omit<NftCollectionMetadata, 'total'>>;
5
- //# sourceMappingURL=getNftCollectionMetadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNftCollectionMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/getNftCollectionMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAOzF,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,SAAS,UAQ1D;AAED,eAAO,MAAM,wBAAwB,oBAIlB,MAAM,WAId,MAAM,KACd,QAAQ,KAAK,qBAAqB,EAAE,OAAO,CAAC,CA8B9C,CAAA"}
@@ -1,3 +0,0 @@
1
- import { InfuraProvider, WebSocketProvider } from '@ethersproject/providers';
2
- export declare const getProviderFromEnv: (chainId?: string | number) => WebSocketProvider | InfuraProvider;
3
- //# sourceMappingURL=getProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getProvider.d.ts","sourceRoot":"","sources":["../../../src/lib/getProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5E,eAAO,MAAM,kBAAkB,aAAa,MAAM,GAAG,MAAM,uCAc1D,CAAA"}
@@ -1,3 +0,0 @@
1
- import { InfuraProvider, WebSocketProvider } from '@ethersproject/providers';
2
- export declare const getProviderFromEnv: (chainId?: string | number) => WebSocketProvider | InfuraProvider;
3
- //# sourceMappingURL=getProvider.d.ts.map