@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.
- package/dist/browser/Plugin.d.cts +2 -0
- package/dist/browser/Plugin.d.cts.map +1 -1
- package/dist/browser/Plugin.d.mts +2 -0
- package/dist/browser/Plugin.d.mts.map +1 -1
- package/dist/browser/Plugin.d.ts +2 -0
- package/dist/browser/Plugin.d.ts.map +1 -1
- package/dist/browser/Witness.d.cts +6 -1
- package/dist/browser/Witness.d.cts.map +1 -1
- package/dist/browser/Witness.d.mts +6 -1
- package/dist/browser/Witness.d.mts.map +1 -1
- package/dist/browser/Witness.d.ts +6 -1
- package/dist/browser/Witness.d.ts.map +1 -1
- package/dist/browser/index.cjs +155 -114
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +155 -114
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lib/contractHasFunctions.d.cts +4 -0
- package/dist/browser/lib/contractHasFunctions.d.cts.map +1 -0
- package/dist/browser/lib/contractHasFunctions.d.mts +4 -0
- package/dist/browser/lib/contractHasFunctions.d.mts.map +1 -0
- package/dist/browser/lib/contractHasFunctions.d.ts +4 -0
- package/dist/browser/lib/contractHasFunctions.d.ts.map +1 -0
- package/dist/browser/lib/getNftCollectionNfts.d.cts +3 -2
- package/dist/browser/lib/getNftCollectionNfts.d.cts.map +1 -1
- package/dist/browser/lib/getNftCollectionNfts.d.mts +3 -2
- package/dist/browser/lib/getNftCollectionNfts.d.mts.map +1 -1
- package/dist/browser/lib/getNftCollectionNfts.d.ts +3 -2
- package/dist/browser/lib/getNftCollectionNfts.d.ts.map +1 -1
- package/dist/browser/lib/getProviderFromEnv.d.cts +4 -0
- package/dist/browser/lib/getProviderFromEnv.d.cts.map +1 -0
- package/dist/browser/lib/getProviderFromEnv.d.mts +4 -0
- package/dist/browser/lib/getProviderFromEnv.d.mts.map +1 -0
- package/dist/browser/lib/getProviderFromEnv.d.ts +4 -0
- package/dist/browser/lib/getProviderFromEnv.d.ts.map +1 -0
- package/dist/browser/lib/index.d.cts +3 -2
- package/dist/browser/lib/index.d.cts.map +1 -1
- package/dist/browser/lib/index.d.mts +3 -2
- package/dist/browser/lib/index.d.mts.map +1 -1
- package/dist/browser/lib/index.d.ts +3 -2
- package/dist/browser/lib/index.d.ts.map +1 -1
- package/dist/browser/lib/tokenTypes.d.cts +6 -0
- package/dist/browser/lib/tokenTypes.d.cts.map +1 -0
- package/dist/browser/lib/tokenTypes.d.mts +6 -0
- package/dist/browser/lib/tokenTypes.d.mts.map +1 -0
- package/dist/browser/lib/tokenTypes.d.ts +6 -0
- package/dist/browser/lib/tokenTypes.d.ts.map +1 -0
- package/dist/browser/lib/tryCall.d.cts +2 -0
- package/dist/browser/lib/tryCall.d.cts.map +1 -0
- package/dist/browser/lib/tryCall.d.mts +2 -0
- package/dist/browser/lib/tryCall.d.mts.map +1 -0
- package/dist/browser/lib/tryCall.d.ts +2 -0
- package/dist/browser/lib/tryCall.d.ts.map +1 -0
- package/dist/node/Plugin.d.cts +2 -0
- package/dist/node/Plugin.d.cts.map +1 -1
- package/dist/node/Plugin.d.mts +2 -0
- package/dist/node/Plugin.d.mts.map +1 -1
- package/dist/node/Plugin.d.ts +2 -0
- package/dist/node/Plugin.d.ts.map +1 -1
- package/dist/node/Witness.d.cts +6 -1
- package/dist/node/Witness.d.cts.map +1 -1
- package/dist/node/Witness.d.mts +6 -1
- package/dist/node/Witness.d.mts.map +1 -1
- package/dist/node/Witness.d.ts +6 -1
- package/dist/node/Witness.d.ts.map +1 -1
- package/dist/node/index.js +162 -118
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +155 -114
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/lib/contractHasFunctions.d.cts +4 -0
- package/dist/node/lib/contractHasFunctions.d.cts.map +1 -0
- package/dist/node/lib/contractHasFunctions.d.mts +4 -0
- package/dist/node/lib/contractHasFunctions.d.mts.map +1 -0
- package/dist/node/lib/contractHasFunctions.d.ts +4 -0
- package/dist/node/lib/contractHasFunctions.d.ts.map +1 -0
- package/dist/node/lib/getNftCollectionNfts.d.cts +3 -2
- package/dist/node/lib/getNftCollectionNfts.d.cts.map +1 -1
- package/dist/node/lib/getNftCollectionNfts.d.mts +3 -2
- package/dist/node/lib/getNftCollectionNfts.d.mts.map +1 -1
- package/dist/node/lib/getNftCollectionNfts.d.ts +3 -2
- package/dist/node/lib/getNftCollectionNfts.d.ts.map +1 -1
- package/dist/node/lib/getProviderFromEnv.d.cts +4 -0
- package/dist/node/lib/getProviderFromEnv.d.cts.map +1 -0
- package/dist/node/lib/getProviderFromEnv.d.mts +4 -0
- package/dist/node/lib/getProviderFromEnv.d.mts.map +1 -0
- package/dist/node/lib/getProviderFromEnv.d.ts +4 -0
- package/dist/node/lib/getProviderFromEnv.d.ts.map +1 -0
- package/dist/node/lib/index.d.cts +3 -2
- package/dist/node/lib/index.d.cts.map +1 -1
- package/dist/node/lib/index.d.mts +3 -2
- package/dist/node/lib/index.d.mts.map +1 -1
- package/dist/node/lib/index.d.ts +3 -2
- package/dist/node/lib/index.d.ts.map +1 -1
- package/dist/node/lib/tokenTypes.d.cts +6 -0
- package/dist/node/lib/tokenTypes.d.cts.map +1 -0
- package/dist/node/lib/tokenTypes.d.mts +6 -0
- package/dist/node/lib/tokenTypes.d.mts.map +1 -0
- package/dist/node/lib/tokenTypes.d.ts +6 -0
- package/dist/node/lib/tokenTypes.d.ts.map +1 -0
- package/dist/node/lib/tryCall.d.cts +2 -0
- package/dist/node/lib/tryCall.d.cts.map +1 -0
- package/dist/node/lib/tryCall.d.mts +2 -0
- package/dist/node/lib/tryCall.d.mts.map +1 -0
- package/dist/node/lib/tryCall.d.ts +2 -0
- package/dist/node/lib/tryCall.d.ts.map +1 -0
- package/package.json +17 -13
- package/src/Witness.ts +51 -9
- package/src/lib/contractHasFunctions.ts +20 -0
- package/src/lib/getNftCollectionNfts.ts +49 -38
- package/src/lib/getProviderFromEnv.ts +29 -0
- package/src/lib/index.ts +3 -2
- package/src/lib/tokenTypes.ts +25 -0
- package/src/lib/tryCall.ts +11 -0
- package/dist/browser/lib/getNftCollectionCount.d.cts +0 -2
- package/dist/browser/lib/getNftCollectionCount.d.cts.map +0 -1
- package/dist/browser/lib/getNftCollectionCount.d.mts +0 -2
- package/dist/browser/lib/getNftCollectionCount.d.mts.map +0 -1
- package/dist/browser/lib/getNftCollectionCount.d.ts +0 -2
- package/dist/browser/lib/getNftCollectionCount.d.ts.map +0 -1
- package/dist/browser/lib/getNftCollectionMetadata.d.cts +0 -5
- package/dist/browser/lib/getNftCollectionMetadata.d.cts.map +0 -1
- package/dist/browser/lib/getNftCollectionMetadata.d.mts +0 -5
- package/dist/browser/lib/getNftCollectionMetadata.d.mts.map +0 -1
- package/dist/browser/lib/getNftCollectionMetadata.d.ts +0 -5
- package/dist/browser/lib/getNftCollectionMetadata.d.ts.map +0 -1
- package/dist/browser/lib/getProvider.d.cts +0 -3
- package/dist/browser/lib/getProvider.d.cts.map +0 -1
- package/dist/browser/lib/getProvider.d.mts +0 -3
- package/dist/browser/lib/getProvider.d.mts.map +0 -1
- package/dist/browser/lib/getProvider.d.ts +0 -3
- package/dist/browser/lib/getProvider.d.ts.map +0 -1
- package/dist/node/lib/getNftCollectionCount.d.cts +0 -2
- package/dist/node/lib/getNftCollectionCount.d.cts.map +0 -1
- package/dist/node/lib/getNftCollectionCount.d.mts +0 -2
- package/dist/node/lib/getNftCollectionCount.d.mts.map +0 -1
- package/dist/node/lib/getNftCollectionCount.d.ts +0 -2
- package/dist/node/lib/getNftCollectionCount.d.ts.map +0 -1
- package/dist/node/lib/getNftCollectionMetadata.d.cts +0 -5
- package/dist/node/lib/getNftCollectionMetadata.d.cts.map +0 -1
- package/dist/node/lib/getNftCollectionMetadata.d.mts +0 -5
- package/dist/node/lib/getNftCollectionMetadata.d.mts.map +0 -1
- package/dist/node/lib/getNftCollectionMetadata.d.ts +0 -5
- package/dist/node/lib/getNftCollectionMetadata.d.ts.map +0 -1
- package/dist/node/lib/getProvider.d.cts +0 -3
- package/dist/node/lib/getProvider.d.cts.map +0 -1
- package/dist/node/lib/getProvider.d.mts +0 -3
- package/dist/node/lib/getProvider.d.mts.map +0 -1
- package/dist/node/lib/getProvider.d.ts +0 -3
- package/dist/node/lib/getProvider.d.ts.map +0 -1
- package/src/lib/getNftCollectionCount.ts +0 -22
- package/src/lib/getNftCollectionMetadata.ts +0 -58
- package/src/lib/getProvider.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"tryCall.d.ts","sourceRoot":"","sources":["../../../src/lib/tryCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,qCAA4C,MAAM,2BAUrE,CAAA"}
|
package/dist/node/Plugin.d.cts
CHANGED
|
@@ -52,5 +52,7 @@ export declare const CryptoNftCollectionWitnessPlugin: () => import("@xyo-networ
|
|
|
52
52
|
};
|
|
53
53
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
54
54
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
provider: import("@ethersproject/abstract-provider").Provider;
|
|
55
57
|
}>>;
|
|
56
58
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS1C,CAAA"}
|
package/dist/node/Plugin.d.mts
CHANGED
|
@@ -52,5 +52,7 @@ export declare const CryptoNftCollectionWitnessPlugin: () => import("@xyo-networ
|
|
|
52
52
|
};
|
|
53
53
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
54
54
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
provider: import("@ethersproject/abstract-provider").Provider;
|
|
55
57
|
}>>;
|
|
56
58
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS1C,CAAA"}
|
package/dist/node/Plugin.d.ts
CHANGED
|
@@ -52,5 +52,7 @@ export declare const CryptoNftCollectionWitnessPlugin: () => import("@xyo-networ
|
|
|
52
52
|
};
|
|
53
53
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
54
54
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
provider: import("@ethersproject/abstract-provider").Provider;
|
|
55
57
|
}>>;
|
|
56
58
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS1C,CAAA"}
|
package/dist/node/Witness.d.cts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { InfuraProvider, Provider, WebSocketProvider } from '@ethersproject/providers';
|
|
1
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
2
3
|
import { NftCollectionInfo, NftCollectionWitnessConfig, NftCollectionWitnessQuery } from '@xyo-network/crypto-nft-collection-payload-plugin';
|
|
3
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
|
-
export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig
|
|
6
|
+
export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig>, {
|
|
7
|
+
provider: Provider;
|
|
8
|
+
}>;
|
|
6
9
|
export declare class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {
|
|
7
10
|
static configSchemas: "network.xyo.crypto.nft.collection.witness.config"[];
|
|
11
|
+
protected providers: Record<number, WebSocketProvider | InfuraProvider>;
|
|
12
|
+
protected getProvider(chainId: number): WebSocketProvider | InfuraProvider;
|
|
8
13
|
protected observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]>;
|
|
9
14
|
}
|
|
10
15
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGtF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAEL,iBAAiB,EAEjB,0BAA0B,EAE1B,yBAAyB,EAC1B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,MAAM,gCAAgC,GAAG,aAAa,CAC1D,eAAe,CAAC,0BAA0B,CAAC,EAC3C;IACE,QAAQ,EAAE,QAAQ,CAAA;CACnB,CACF,CAAA;AAoBD,qBAAa,0BAA0B,CAAC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CAAE,SAAQ,eAAe,CAClJ,OAAO,EACP,yBAAyB,EACzB,iBAAiB,CAClB;IACC,OAAgB,aAAa,uDAAqC;IAElE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC,CAAK;IAE5E,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM;cAKZ,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAiD9G"}
|
package/dist/node/Witness.d.mts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { InfuraProvider, Provider, WebSocketProvider } from '@ethersproject/providers';
|
|
1
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
2
3
|
import { NftCollectionInfo, NftCollectionWitnessConfig, NftCollectionWitnessQuery } from '@xyo-network/crypto-nft-collection-payload-plugin';
|
|
3
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
|
-
export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig
|
|
6
|
+
export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig>, {
|
|
7
|
+
provider: Provider;
|
|
8
|
+
}>;
|
|
6
9
|
export declare class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {
|
|
7
10
|
static configSchemas: "network.xyo.crypto.nft.collection.witness.config"[];
|
|
11
|
+
protected providers: Record<number, WebSocketProvider | InfuraProvider>;
|
|
12
|
+
protected getProvider(chainId: number): WebSocketProvider | InfuraProvider;
|
|
8
13
|
protected observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]>;
|
|
9
14
|
}
|
|
10
15
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGtF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAEL,iBAAiB,EAEjB,0BAA0B,EAE1B,yBAAyB,EAC1B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,MAAM,gCAAgC,GAAG,aAAa,CAC1D,eAAe,CAAC,0BAA0B,CAAC,EAC3C;IACE,QAAQ,EAAE,QAAQ,CAAA;CACnB,CACF,CAAA;AAoBD,qBAAa,0BAA0B,CAAC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CAAE,SAAQ,eAAe,CAClJ,OAAO,EACP,yBAAyB,EACzB,iBAAiB,CAClB;IACC,OAAgB,aAAa,uDAAqC;IAElE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC,CAAK;IAE5E,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM;cAKZ,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAiD9G"}
|
package/dist/node/Witness.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { InfuraProvider, Provider, WebSocketProvider } from '@ethersproject/providers';
|
|
1
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
2
3
|
import { NftCollectionInfo, NftCollectionWitnessConfig, NftCollectionWitnessQuery } from '@xyo-network/crypto-nft-collection-payload-plugin';
|
|
3
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
|
-
export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig
|
|
6
|
+
export type CryptoNftCollectionWitnessParams = WitnessParams<AnyConfigSchema<NftCollectionWitnessConfig>, {
|
|
7
|
+
provider: Provider;
|
|
8
|
+
}>;
|
|
6
9
|
export declare class CryptoNftCollectionWitness<TParams extends CryptoNftCollectionWitnessParams = CryptoNftCollectionWitnessParams> extends AbstractWitness<TParams, NftCollectionWitnessQuery, NftCollectionInfo> {
|
|
7
10
|
static configSchemas: "network.xyo.crypto.nft.collection.witness.config"[];
|
|
11
|
+
protected providers: Record<number, WebSocketProvider | InfuraProvider>;
|
|
12
|
+
protected getProvider(chainId: number): WebSocketProvider | InfuraProvider;
|
|
8
13
|
protected observeHandler(payloads?: NftCollectionWitnessQuery[]): Promise<NftCollectionInfo[]>;
|
|
9
14
|
}
|
|
10
15
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGtF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAEL,iBAAiB,EAEjB,0BAA0B,EAE1B,yBAAyB,EAC1B,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,MAAM,gCAAgC,GAAG,aAAa,CAC1D,eAAe,CAAC,0BAA0B,CAAC,EAC3C;IACE,QAAQ,EAAE,QAAQ,CAAA;CACnB,CACF,CAAA;AAoBD,qBAAa,0BAA0B,CAAC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CAAE,SAAQ,eAAe,CAClJ,OAAO,EACP,yBAAyB,EACzB,iBAAiB,CAClB;IACC,OAAgB,aAAa,uDAAqC;IAElE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC,CAAK;IAE5E,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM;cAKZ,cAAc,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAiD9G"}
|
package/dist/node/index.js
CHANGED
|
@@ -23,12 +23,15 @@ __export(src_exports, {
|
|
|
23
23
|
CryptoNftCollectionWitness: () => CryptoNftCollectionWitness,
|
|
24
24
|
CryptoNftCollectionWitnessPlugin: () => CryptoNftCollectionWitnessPlugin,
|
|
25
25
|
checkIpfsUrl: () => checkIpfsUrl,
|
|
26
|
+
contractHasFunctions: () => contractHasFunctions,
|
|
26
27
|
default: () => src_default,
|
|
27
|
-
getInterfaceID: () => getInterfaceID,
|
|
28
|
-
getNftCollectionCount: () => getNftCollectionCount,
|
|
29
|
-
getNftCollectionMetadata: () => getNftCollectionMetadata,
|
|
30
28
|
getNftCollectionMetrics: () => getNftCollectionMetrics,
|
|
31
|
-
getNftCollectionNfts: () => getNftCollectionNfts
|
|
29
|
+
getNftCollectionNfts: () => getNftCollectionNfts,
|
|
30
|
+
getProviderFromEnv: () => getProviderFromEnv,
|
|
31
|
+
getProviderFromEnvInternal: () => getProviderFromEnvInternal,
|
|
32
|
+
isErc1155: () => isErc1155,
|
|
33
|
+
isErc721: () => isErc721,
|
|
34
|
+
tokenTypes: () => tokenTypes
|
|
32
35
|
});
|
|
33
36
|
module.exports = __toCommonJS(src_exports);
|
|
34
37
|
|
|
@@ -43,6 +46,7 @@ var import_eth_address = require("@xylabs/eth-address");
|
|
|
43
46
|
var import_abstract_witness = require("@xyo-network/abstract-witness");
|
|
44
47
|
var import_core = require("@xyo-network/core");
|
|
45
48
|
var import_crypto_nft_collection_payload_plugin = require("@xyo-network/crypto-nft-collection-payload-plugin");
|
|
49
|
+
var import_open_zeppelin_typechain3 = require("@xyo-network/open-zeppelin-typechain");
|
|
46
50
|
|
|
47
51
|
// src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
|
|
48
52
|
var calculateAllPropertiesDistribution = (array) => {
|
|
@@ -104,87 +108,64 @@ var getNftCollectionMetrics = (nfts) => {
|
|
|
104
108
|
return { metadata: { attributes } };
|
|
105
109
|
};
|
|
106
110
|
|
|
107
|
-
// src/lib/
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
// src/lib/nonEvaluableContractAddresses.ts
|
|
126
|
-
var nonEvaluableContractAddresses = [
|
|
127
|
-
// ENS
|
|
128
|
-
"0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72"
|
|
129
|
-
].map((address) => address.toUpperCase());
|
|
130
|
-
|
|
131
|
-
// src/lib/getNftCollectionCount.ts
|
|
132
|
-
var getNftCollectionCount = async (contractAddress, chainId) => {
|
|
133
|
-
if (nonEvaluableContractAddresses.includes(contractAddress.toUpperCase())) {
|
|
134
|
-
throw new Error(`Unable to evaluate collection with contractAddress: ${contractAddress}`);
|
|
111
|
+
// src/lib/contractHasFunctions.ts
|
|
112
|
+
var contractHasFunctions = async (provider, address, contractInterface, functionNames) => {
|
|
113
|
+
try {
|
|
114
|
+
const bytecode = await provider.getCode(address, "latest");
|
|
115
|
+
for (let i = 0; i < functionNames.length; i++) {
|
|
116
|
+
const nameSig = contractInterface.getSighash(functionNames[i]).substring(2);
|
|
117
|
+
if (!bytecode.includes(nameSig)) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
} catch (ex) {
|
|
124
|
+
const error = ex;
|
|
125
|
+
console.log(error);
|
|
126
|
+
return false;
|
|
135
127
|
}
|
|
136
|
-
const provider = getProviderFromEnv(chainId);
|
|
137
|
-
const contract = import_open_zeppelin_typechain.ERC721Enumerable__factory.connect(contractAddress, provider);
|
|
138
|
-
return (await contract.totalSupply()).toNumber();
|
|
139
128
|
};
|
|
140
129
|
|
|
141
|
-
// src/lib/
|
|
130
|
+
// src/lib/getNftCollectionNfts.ts
|
|
131
|
+
var import_axios = require("@xyo-network/axios");
|
|
132
|
+
var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
|
|
142
133
|
var import_open_zeppelin_typechain2 = require("@xyo-network/open-zeppelin-typechain");
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
return
|
|
151
|
-
}
|
|
152
|
-
var
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const contract721 = import_open_zeppelin_typechain2.ERC721Enumerable__factory.connect(contractAddress, provider);
|
|
158
|
-
const contract1155 = import_open_zeppelin_typechain2.ERC1155__factory.connect(contractAddress, provider);
|
|
159
|
-
let name = "";
|
|
160
|
-
try {
|
|
161
|
-
name = await contract721.name();
|
|
162
|
-
} catch (ex) {
|
|
163
|
-
const error = ex;
|
|
164
|
-
console.log(`name: ${error.message}`);
|
|
134
|
+
|
|
135
|
+
// src/lib/tokenTypes.ts
|
|
136
|
+
var import_open_zeppelin_typechain = require("@xyo-network/open-zeppelin-typechain");
|
|
137
|
+
var isErc1155 = async (provider, address) => {
|
|
138
|
+
return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.ERC1155URIStorage__factory.createInterface(), ["uri"]);
|
|
139
|
+
};
|
|
140
|
+
var isErc721 = async (provider, address) => {
|
|
141
|
+
return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.IERC721Metadata__factory.createInterface(), ["name", "symbol", "tokenURI"]);
|
|
142
|
+
};
|
|
143
|
+
var tokenTypes = async (provider, address) => {
|
|
144
|
+
const [erc721, erc1155] = await Promise.all([isErc721(provider, address), isErc1155(provider, address)]);
|
|
145
|
+
const result = [];
|
|
146
|
+
if (erc721) {
|
|
147
|
+
result.push("ERC721");
|
|
165
148
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
symbol = await contract721.symbol();
|
|
169
|
-
} catch (ex) {
|
|
170
|
-
const error = ex;
|
|
171
|
-
console.log(`symbol: ${error.message}`);
|
|
149
|
+
if (erc1155) {
|
|
150
|
+
result.push("ERC1155");
|
|
172
151
|
}
|
|
173
|
-
|
|
152
|
+
return result;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
// src/lib/tryCall.ts
|
|
156
|
+
var tryCall = async (func, name) => {
|
|
174
157
|
try {
|
|
175
|
-
|
|
158
|
+
return await func();
|
|
176
159
|
} catch (ex) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
160
|
+
if (name) {
|
|
161
|
+
const error = ex;
|
|
162
|
+
console.log(`tryCall failed [${name}]: ${error.message}`);
|
|
163
|
+
}
|
|
164
|
+
return void 0;
|
|
180
165
|
}
|
|
181
|
-
return { address: contractAddress, chainId, name, symbol, type: is1155 ? "ERC1155" : "ERC721" };
|
|
182
166
|
};
|
|
183
167
|
|
|
184
168
|
// src/lib/getNftCollectionNfts.ts
|
|
185
|
-
var import_axios = require("@xyo-network/axios");
|
|
186
|
-
var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
|
|
187
|
-
var import_open_zeppelin_typechain3 = require("@xyo-network/open-zeppelin-typechain");
|
|
188
169
|
var ipfsGateway = "5d7b6582.beta.decentralnetworkservices.com";
|
|
189
170
|
var checkIpfsUrl = (urlToCheck, ipfsGateway2) => {
|
|
190
171
|
const url = new URL(urlToCheck);
|
|
@@ -202,74 +183,134 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway2) => {
|
|
|
202
183
|
return urlToCheck;
|
|
203
184
|
}
|
|
204
185
|
};
|
|
205
|
-
var getNftCollectionNfts = async (contractAddress,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
186
|
+
var getNftCollectionNfts = async (contractAddress, provider, types, maxNfts = 100) => {
|
|
187
|
+
try {
|
|
188
|
+
const axios = new import_axios.AxiosJson({ timeout: 2e3 });
|
|
189
|
+
const enumerable = import_open_zeppelin_typechain2.ERC721Enumerable__factory.connect(contractAddress, provider);
|
|
190
|
+
const storage = import_open_zeppelin_typechain2.ERC721URIStorage__factory.connect(contractAddress, provider);
|
|
191
|
+
const supply1155 = import_open_zeppelin_typechain2.ERC1155Supply__factory.connect(contractAddress, provider);
|
|
192
|
+
const finalTypes = types ?? await tokenTypes(provider, contractAddress);
|
|
193
|
+
const result = [];
|
|
194
|
+
for (let i = 0; i < maxNfts; i++) {
|
|
195
|
+
const tokenId = await tryCall(async () => (await enumerable.tokenByIndex(i)).toHexString());
|
|
196
|
+
if (tokenId !== void 0) {
|
|
197
|
+
const supply = finalTypes.includes((0, import_crypto_nft_payload_plugin.toTokenType)("ERC1155")) ? await tryCall(async () => (await supply1155.totalSupply(tokenId)).toHexString()) ?? "0x01" : "0x01";
|
|
198
|
+
const metadataUri = await tryCall(async () => await storage.tokenURI(tokenId));
|
|
199
|
+
const checkedMetaDataUri = metadataUri ? checkIpfsUrl(metadataUri, ipfsGateway) : void 0;
|
|
200
|
+
let metadata = void 0;
|
|
201
|
+
if (checkedMetaDataUri !== void 0) {
|
|
202
|
+
try {
|
|
203
|
+
metadata = (await axios.get(checkedMetaDataUri)).data;
|
|
204
|
+
} catch (ex) {
|
|
205
|
+
const error = ex;
|
|
206
|
+
console.error(`Get Metadata failed: ${error.message}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const info = {
|
|
210
|
+
address: contractAddress,
|
|
211
|
+
chainId: provider.network.chainId,
|
|
212
|
+
metadata,
|
|
213
|
+
metadataUri,
|
|
214
|
+
schema: import_crypto_nft_payload_plugin.NftSchema,
|
|
215
|
+
supply,
|
|
216
|
+
tokenId,
|
|
217
|
+
type: finalTypes.at(0),
|
|
218
|
+
types: finalTypes
|
|
219
|
+
};
|
|
220
|
+
result.push(info);
|
|
221
|
+
}
|
|
227
222
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
supply,
|
|
235
|
-
tokenId,
|
|
236
|
-
type: nftType
|
|
237
|
-
};
|
|
238
|
-
result.push(info);
|
|
223
|
+
return result;
|
|
224
|
+
} catch (ex) {
|
|
225
|
+
const error = ex;
|
|
226
|
+
console.error(`getNftCollectionNfts failed: [${error.name}] ${error.message}`);
|
|
227
|
+
console.log(error.stack);
|
|
228
|
+
return [];
|
|
239
229
|
}
|
|
240
|
-
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// src/lib/getProviderFromEnv.ts
|
|
233
|
+
var import_providers = require("@ethersproject/providers");
|
|
234
|
+
var getProviderFromEnvInternal = (chainId = 1) => {
|
|
235
|
+
console.log(`getProviderFromEnvInternal: ${chainId}`);
|
|
236
|
+
const infuraWssUri = process.env.INFURA_WSS_URI;
|
|
237
|
+
const infuraProvider = new import_providers.InfuraProvider(chainId, {
|
|
238
|
+
projectId: process.env.INFURA_PROJECT_ID,
|
|
239
|
+
projectSecret: process.env.INFURA_PROJECT_SECRET
|
|
240
|
+
});
|
|
241
|
+
const infuraGenericWebsocketProvider = infuraWssUri ? new import_providers.WebSocketProvider(infuraWssUri, chainId) : void 0;
|
|
242
|
+
const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI;
|
|
243
|
+
const quickNodeWebSocketProvider = quickNodeWSSUri ? new import_providers.WebSocketProvider(quickNodeWSSUri, chainId) : void 0;
|
|
244
|
+
const quickNodeHttpsUri = process.env.QUICKNODE_WSS_URI;
|
|
245
|
+
const quickRpcProvider = quickNodeHttpsUri ? new import_providers.JsonRpcProvider(quickNodeHttpsUri, chainId) : void 0;
|
|
246
|
+
const provider = infuraProvider ?? quickNodeWebSocketProvider ?? infuraProvider ?? infuraGenericWebsocketProvider ?? quickRpcProvider;
|
|
247
|
+
return provider;
|
|
248
|
+
};
|
|
249
|
+
var providers = {};
|
|
250
|
+
var getProviderFromEnv = (chainId = 1) => {
|
|
251
|
+
console.log(`getProviderFromEnv: ${chainId}`);
|
|
252
|
+
providers[chainId] = providers[chainId] ?? getProviderFromEnvInternal(chainId);
|
|
253
|
+
return providers[chainId];
|
|
241
254
|
};
|
|
242
255
|
|
|
243
256
|
// src/Witness.ts
|
|
244
257
|
var defaultMaxNfts = 100;
|
|
245
258
|
var NoOp = Promise.resolve();
|
|
259
|
+
function resolvedValue(settled, assert) {
|
|
260
|
+
if (assert && settled.status === "rejected") {
|
|
261
|
+
throw settled.reason;
|
|
262
|
+
}
|
|
263
|
+
return settled.status === "fulfilled" ? settled.value : void 0;
|
|
264
|
+
}
|
|
246
265
|
var CryptoNftCollectionWitness = class extends import_abstract_witness.AbstractWitness {
|
|
247
266
|
static configSchemas = [import_crypto_nft_collection_payload_plugin.NftCollectionWitnessConfigSchema];
|
|
267
|
+
providers = {};
|
|
268
|
+
getProvider(chainId) {
|
|
269
|
+
this.providers[chainId] = this.providers[chainId] ?? getProviderFromEnv(chainId);
|
|
270
|
+
return this.providers[chainId];
|
|
271
|
+
}
|
|
248
272
|
async observeHandler(payloads) {
|
|
249
273
|
await this.started("throw");
|
|
250
274
|
const queries = (payloads == null ? void 0 : payloads.filter(import_crypto_nft_collection_payload_plugin.isNftCollectionWitnessQuery)) ?? [];
|
|
251
275
|
const observations = await Promise.all(
|
|
252
276
|
queries.map(async (query) => {
|
|
277
|
+
const chainId = (0, import_assert.assertEx)((query == null ? void 0 : query.chainId) || this.config.chainId, "params.chainId is required");
|
|
278
|
+
const provider = this.getProvider(chainId);
|
|
253
279
|
const address = (0, import_assert.assertEx)(
|
|
254
280
|
import_eth_address.EthAddress.parse((0, import_assert.assertEx)((query == null ? void 0 : query.address) || this.config.address, "params.address is required")),
|
|
255
281
|
"Failed to parse params.address"
|
|
256
282
|
).toString();
|
|
257
|
-
const
|
|
283
|
+
const erc721Enumerable = import_open_zeppelin_typechain3.ERC721Enumerable__factory.connect(address, provider);
|
|
258
284
|
const maxNfts = (query == null ? void 0 : query.maxNfts) || defaultMaxNfts;
|
|
259
|
-
const [
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
285
|
+
const [name, symbol, total, typesSettled, archivistSettled] = await Promise.allSettled([
|
|
286
|
+
await erc721Enumerable.name(),
|
|
287
|
+
await erc721Enumerable.symbol(),
|
|
288
|
+
(await erc721Enumerable.totalSupply()).toNumber(),
|
|
289
|
+
await tokenTypes(provider, address),
|
|
290
|
+
await this.writeArchivist()
|
|
264
291
|
]);
|
|
292
|
+
const types = resolvedValue(typesSettled, true);
|
|
293
|
+
const nfts = await getNftCollectionNfts(address, provider, types, maxNfts);
|
|
265
294
|
const metrics = getNftCollectionMetrics(nfts);
|
|
295
|
+
const archivist = resolvedValue(archivistSettled);
|
|
266
296
|
const [sources] = await Promise.all([
|
|
267
297
|
// Hash all the payloads
|
|
268
298
|
Promise.all(nfts.map((nft) => import_core.PayloadHasher.hashAsync(nft))),
|
|
269
299
|
// Insert them into the archivist if we have one
|
|
270
300
|
archivist ? archivist.insert(nfts) : NoOp
|
|
271
301
|
]);
|
|
272
|
-
const payload = {
|
|
302
|
+
const payload = {
|
|
303
|
+
address,
|
|
304
|
+
chainId,
|
|
305
|
+
metrics,
|
|
306
|
+
name: resolvedValue(name, true),
|
|
307
|
+
schema: import_crypto_nft_collection_payload_plugin.NftCollectionSchema,
|
|
308
|
+
sources,
|
|
309
|
+
symbol: resolvedValue(symbol, true),
|
|
310
|
+
total: resolvedValue(total, true),
|
|
311
|
+
type: types.at(0),
|
|
312
|
+
types
|
|
313
|
+
};
|
|
273
314
|
return payload;
|
|
274
315
|
})
|
|
275
316
|
);
|
|
@@ -295,10 +336,13 @@ var src_default = CryptoNftCollectionWitnessPlugin;
|
|
|
295
336
|
CryptoNftCollectionWitness,
|
|
296
337
|
CryptoNftCollectionWitnessPlugin,
|
|
297
338
|
checkIpfsUrl,
|
|
298
|
-
|
|
299
|
-
getNftCollectionCount,
|
|
300
|
-
getNftCollectionMetadata,
|
|
339
|
+
contractHasFunctions,
|
|
301
340
|
getNftCollectionMetrics,
|
|
302
|
-
getNftCollectionNfts
|
|
341
|
+
getNftCollectionNfts,
|
|
342
|
+
getProviderFromEnv,
|
|
343
|
+
getProviderFromEnvInternal,
|
|
344
|
+
isErc1155,
|
|
345
|
+
isErc721,
|
|
346
|
+
tokenTypes
|
|
303
347
|
});
|
|
304
348
|
//# sourceMappingURL=index.js.map
|