@xyo-network/crypto-nft-witness-wallet-plugin 2.78.3 → 2.78.5
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 -1
- package/dist/browser/Plugin.d.cts.map +1 -1
- package/dist/browser/Plugin.d.mts +2 -1
- package/dist/browser/Plugin.d.mts.map +1 -1
- package/dist/browser/Plugin.d.ts +2 -1
- package/dist/browser/Plugin.d.ts.map +1 -1
- package/dist/browser/Witness.d.cts +4 -3
- package/dist/browser/Witness.d.cts.map +1 -1
- package/dist/browser/Witness.d.mts +4 -3
- package/dist/browser/Witness.d.mts.map +1 -1
- package/dist/browser/Witness.d.ts +4 -3
- package/dist/browser/Witness.d.ts.map +1 -1
- package/dist/browser/index.cjs +148 -105
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +150 -107
- 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/getAssetsFromWallet.d.cts +13 -0
- package/dist/browser/lib/getAssetsFromWallet.d.cts.map +1 -0
- package/dist/browser/lib/getAssetsFromWallet.d.mts +13 -0
- package/dist/browser/lib/getAssetsFromWallet.d.mts.map +1 -0
- package/dist/browser/lib/getAssetsFromWallet.d.ts +13 -0
- package/dist/browser/lib/getAssetsFromWallet.d.ts.map +1 -0
- package/dist/browser/lib/getAssetsFromWalletFromOpenSea.d.cts +17 -0
- package/dist/browser/lib/getAssetsFromWalletFromOpenSea.d.cts.map +1 -0
- package/dist/browser/lib/getAssetsFromWalletFromOpenSea.d.mts +17 -0
- package/dist/browser/lib/getAssetsFromWalletFromOpenSea.d.mts.map +1 -0
- package/dist/browser/lib/getAssetsFromWalletFromOpenSea.d.ts +17 -0
- package/dist/browser/lib/getAssetsFromWalletFromOpenSea.d.ts.map +1 -0
- package/dist/browser/lib/getNftMetadata.d.cts +2 -2
- package/dist/browser/lib/getNftMetadata.d.cts.map +1 -1
- package/dist/browser/lib/getNftMetadata.d.mts +2 -2
- package/dist/browser/lib/getNftMetadata.d.mts.map +1 -1
- package/dist/browser/lib/getNftMetadata.d.ts +2 -2
- package/dist/browser/lib/getNftMetadata.d.ts.map +1 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.cts +5 -3
- package/dist/browser/lib/getNftsOwnedByAddress.d.cts.map +1 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.mts +5 -3
- package/dist/browser/lib/getNftsOwnedByAddress.d.mts.map +1 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.ts +5 -3
- package/dist/browser/lib/getNftsOwnedByAddress.d.ts.map +1 -1
- package/dist/browser/lib/getProvider.d.cts +3 -2
- package/dist/browser/lib/getProvider.d.cts.map +1 -1
- package/dist/browser/lib/getProvider.d.mts +3 -2
- package/dist/browser/lib/getProvider.d.mts.map +1 -1
- package/dist/browser/lib/getProvider.d.ts +3 -2
- package/dist/browser/lib/getProvider.d.ts.map +1 -1
- package/dist/browser/lib/index.d.cts +1 -0
- package/dist/browser/lib/index.d.cts.map +1 -1
- package/dist/browser/lib/index.d.mts +1 -0
- package/dist/browser/lib/index.d.mts.map +1 -1
- package/dist/browser/lib/index.d.ts +1 -0
- package/dist/browser/lib/index.d.ts.map +1 -1
- package/dist/browser/lib/tokenTypes.d.cts +4 -6
- package/dist/browser/lib/tokenTypes.d.cts.map +1 -1
- package/dist/browser/lib/tokenTypes.d.mts +4 -6
- package/dist/browser/lib/tokenTypes.d.mts.map +1 -1
- package/dist/browser/lib/tokenTypes.d.ts +4 -6
- package/dist/browser/lib/tokenTypes.d.ts.map +1 -1
- 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 -1
- package/dist/node/Plugin.d.cts.map +1 -1
- package/dist/node/Plugin.d.mts +2 -1
- package/dist/node/Plugin.d.mts.map +1 -1
- package/dist/node/Plugin.d.ts +2 -1
- package/dist/node/Plugin.d.ts.map +1 -1
- package/dist/node/Witness.d.cts +4 -3
- package/dist/node/Witness.d.cts.map +1 -1
- package/dist/node/Witness.d.mts +4 -3
- package/dist/node/Witness.d.mts.map +1 -1
- package/dist/node/Witness.d.ts +4 -3
- package/dist/node/Witness.d.ts.map +1 -1
- package/dist/node/index.js +152 -107
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +150 -108
- 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/getAssetsFromWallet.d.cts +13 -0
- package/dist/node/lib/getAssetsFromWallet.d.cts.map +1 -0
- package/dist/node/lib/getAssetsFromWallet.d.mts +13 -0
- package/dist/node/lib/getAssetsFromWallet.d.mts.map +1 -0
- package/dist/node/lib/getAssetsFromWallet.d.ts +13 -0
- package/dist/node/lib/getAssetsFromWallet.d.ts.map +1 -0
- package/dist/node/lib/getAssetsFromWalletFromOpenSea.d.cts +17 -0
- package/dist/node/lib/getAssetsFromWalletFromOpenSea.d.cts.map +1 -0
- package/dist/node/lib/getAssetsFromWalletFromOpenSea.d.mts +17 -0
- package/dist/node/lib/getAssetsFromWalletFromOpenSea.d.mts.map +1 -0
- package/dist/node/lib/getAssetsFromWalletFromOpenSea.d.ts +17 -0
- package/dist/node/lib/getAssetsFromWalletFromOpenSea.d.ts.map +1 -0
- package/dist/node/lib/getNftMetadata.d.cts +2 -2
- package/dist/node/lib/getNftMetadata.d.cts.map +1 -1
- package/dist/node/lib/getNftMetadata.d.mts +2 -2
- package/dist/node/lib/getNftMetadata.d.mts.map +1 -1
- package/dist/node/lib/getNftMetadata.d.ts +2 -2
- package/dist/node/lib/getNftMetadata.d.ts.map +1 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.cts +5 -3
- package/dist/node/lib/getNftsOwnedByAddress.d.cts.map +1 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.mts +5 -3
- package/dist/node/lib/getNftsOwnedByAddress.d.mts.map +1 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.ts +5 -3
- package/dist/node/lib/getNftsOwnedByAddress.d.ts.map +1 -1
- package/dist/node/lib/getProvider.d.cts +3 -2
- package/dist/node/lib/getProvider.d.cts.map +1 -1
- package/dist/node/lib/getProvider.d.mts +3 -2
- package/dist/node/lib/getProvider.d.mts.map +1 -1
- package/dist/node/lib/getProvider.d.ts +3 -2
- package/dist/node/lib/getProvider.d.ts.map +1 -1
- package/dist/node/lib/index.d.cts +1 -0
- package/dist/node/lib/index.d.cts.map +1 -1
- package/dist/node/lib/index.d.mts +1 -0
- package/dist/node/lib/index.d.mts.map +1 -1
- package/dist/node/lib/index.d.ts +1 -0
- package/dist/node/lib/index.d.ts.map +1 -1
- package/dist/node/lib/tokenTypes.d.cts +4 -6
- package/dist/node/lib/tokenTypes.d.cts.map +1 -1
- package/dist/node/lib/tokenTypes.d.mts +4 -6
- package/dist/node/lib/tokenTypes.d.mts.map +1 -1
- package/dist/node/lib/tokenTypes.d.ts +4 -6
- package/dist/node/lib/tokenTypes.d.ts.map +1 -1
- 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 +15 -14
- package/src/Witness.ts +37 -25
- package/src/lib/contractHasFunctions.ts +20 -0
- package/src/lib/getAssetsFromWallet.ts +56 -0
- package/src/lib/getAssetsFromWalletFromOpenSea.ts +27 -0
- package/src/lib/getNftMetadata.ts +4 -4
- package/src/lib/getNftsOwnedByAddress.ts +64 -68
- package/src/lib/getProvider.ts +19 -7
- package/src/lib/index.ts +1 -0
- package/src/lib/tokenTypes.ts +8 -19
- package/src/lib/tryCall.ts +11 -0
|
@@ -41,6 +41,7 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
41
41
|
}) | undefined;
|
|
42
42
|
} & {
|
|
43
43
|
address?: string | undefined;
|
|
44
|
+
loadMetadata?: boolean | undefined;
|
|
44
45
|
schema: "network.xyo.crypto.nft.witness.config";
|
|
45
46
|
timeout?: number | undefined;
|
|
46
47
|
}, "schema"> & {
|
|
@@ -53,6 +54,6 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
53
54
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
54
55
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
56
|
} & {
|
|
56
|
-
provider: import("@ethersproject/
|
|
57
|
+
provider: import("@ethersproject/providers").JsonRpcProvider | import("@ethersproject/providers").WebSocketProvider;
|
|
57
58
|
}>>;
|
|
58
59
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAStC,CAAA"}
|
|
@@ -41,6 +41,7 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
41
41
|
}) | undefined;
|
|
42
42
|
} & {
|
|
43
43
|
address?: string | undefined;
|
|
44
|
+
loadMetadata?: boolean | undefined;
|
|
44
45
|
schema: "network.xyo.crypto.nft.witness.config";
|
|
45
46
|
timeout?: number | undefined;
|
|
46
47
|
}, "schema"> & {
|
|
@@ -53,6 +54,6 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
53
54
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
54
55
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
56
|
} & {
|
|
56
|
-
provider: import("@ethersproject/
|
|
57
|
+
provider: import("@ethersproject/providers").JsonRpcProvider | import("@ethersproject/providers").WebSocketProvider;
|
|
57
58
|
}>>;
|
|
58
59
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAStC,CAAA"}
|
package/dist/browser/Plugin.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
41
41
|
}) | undefined;
|
|
42
42
|
} & {
|
|
43
43
|
address?: string | undefined;
|
|
44
|
+
loadMetadata?: boolean | undefined;
|
|
44
45
|
schema: "network.xyo.crypto.nft.witness.config";
|
|
45
46
|
timeout?: number | undefined;
|
|
46
47
|
}, "schema"> & {
|
|
@@ -53,6 +54,6 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
53
54
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
54
55
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
56
|
} & {
|
|
56
|
-
provider: import("@ethersproject/
|
|
57
|
+
provider: import("@ethersproject/providers").JsonRpcProvider | import("@ethersproject/providers").WebSocketProvider;
|
|
57
58
|
}>>;
|
|
58
59
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAStC,CAAA"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
|
|
2
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
3
3
|
import { CryptoWalletNftWitnessConfig, NftInfo, NftWitnessQuery } from '@xyo-network/crypto-nft-payload-plugin';
|
|
4
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
5
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
6
6
|
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig>, {
|
|
7
|
-
provider:
|
|
7
|
+
provider: JsonRpcProvider | WebSocketProvider;
|
|
8
8
|
}>;
|
|
9
9
|
export declare class CryptoWalletNftWitness<TParams extends CryptoWalletNftWitnessParams = CryptoWalletNftWitnessParams> extends AbstractWitness<TParams, NftWitnessQuery, NftInfo> {
|
|
10
10
|
static configSchemas: "network.xyo.crypto.nft.witness.config"[];
|
|
11
|
-
get
|
|
11
|
+
get loadMetadata(): boolean;
|
|
12
|
+
get provider(): JsonRpcProvider | WebSocketProvider;
|
|
12
13
|
get timeout(): number;
|
|
13
14
|
protected observeHandler(payloads?: NftWitnessQuery[]): Promise<NftInfo[]>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,4BAA4B,EAE5B,OAAO,EAGP,eAAe,EAChB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,MAAM,4BAA4B,GAAG,aAAa,CACtD,eAAe,CAAC,4BAA4B,CAAC,EAC7C;IACE,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAA;CAC9C,CACF,CAAA;AAMD,qBAAa,sBAAsB,CAAC,OAAO,SAAS,4BAA4B,GAAG,4BAA4B,CAAE,SAAQ,eAAe,CACtI,OAAO,EACP,eAAe,EACf,OAAO,CACR;IACC,OAAgB,aAAa,4CAA2B;IAExD,IAAI,YAAY,YAEf;IAED,IAAI,QAAQ,wCAEX;IAED,IAAI,OAAO,WAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiC1F"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
|
|
2
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
3
3
|
import { CryptoWalletNftWitnessConfig, NftInfo, NftWitnessQuery } from '@xyo-network/crypto-nft-payload-plugin';
|
|
4
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
5
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
6
6
|
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig>, {
|
|
7
|
-
provider:
|
|
7
|
+
provider: JsonRpcProvider | WebSocketProvider;
|
|
8
8
|
}>;
|
|
9
9
|
export declare class CryptoWalletNftWitness<TParams extends CryptoWalletNftWitnessParams = CryptoWalletNftWitnessParams> extends AbstractWitness<TParams, NftWitnessQuery, NftInfo> {
|
|
10
10
|
static configSchemas: "network.xyo.crypto.nft.witness.config"[];
|
|
11
|
-
get
|
|
11
|
+
get loadMetadata(): boolean;
|
|
12
|
+
get provider(): JsonRpcProvider | WebSocketProvider;
|
|
12
13
|
get timeout(): number;
|
|
13
14
|
protected observeHandler(payloads?: NftWitnessQuery[]): Promise<NftInfo[]>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,4BAA4B,EAE5B,OAAO,EAGP,eAAe,EAChB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,MAAM,4BAA4B,GAAG,aAAa,CACtD,eAAe,CAAC,4BAA4B,CAAC,EAC7C;IACE,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAA;CAC9C,CACF,CAAA;AAMD,qBAAa,sBAAsB,CAAC,OAAO,SAAS,4BAA4B,GAAG,4BAA4B,CAAE,SAAQ,eAAe,CACtI,OAAO,EACP,eAAe,EACf,OAAO,CACR;IACC,OAAgB,aAAa,4CAA2B;IAExD,IAAI,YAAY,YAEf;IAED,IAAI,QAAQ,wCAEX;IAED,IAAI,OAAO,WAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiC1F"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
|
|
2
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
3
3
|
import { CryptoWalletNftWitnessConfig, NftInfo, NftWitnessQuery } from '@xyo-network/crypto-nft-payload-plugin';
|
|
4
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
5
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
6
6
|
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig>, {
|
|
7
|
-
provider:
|
|
7
|
+
provider: JsonRpcProvider | WebSocketProvider;
|
|
8
8
|
}>;
|
|
9
9
|
export declare class CryptoWalletNftWitness<TParams extends CryptoWalletNftWitnessParams = CryptoWalletNftWitnessParams> extends AbstractWitness<TParams, NftWitnessQuery, NftInfo> {
|
|
10
10
|
static configSchemas: "network.xyo.crypto.nft.witness.config"[];
|
|
11
|
-
get
|
|
11
|
+
get loadMetadata(): boolean;
|
|
12
|
+
get provider(): JsonRpcProvider | WebSocketProvider;
|
|
12
13
|
get timeout(): number;
|
|
13
14
|
protected observeHandler(payloads?: NftWitnessQuery[]): Promise<NftInfo[]>;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,4BAA4B,EAE5B,OAAO,EAGP,eAAe,EAChB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI1D,MAAM,MAAM,4BAA4B,GAAG,aAAa,CACtD,eAAe,CAAC,4BAA4B,CAAC,EAC7C;IACE,QAAQ,EAAE,eAAe,GAAG,iBAAiB,CAAA;CAC9C,CACF,CAAA;AAMD,qBAAa,sBAAsB,CAAC,OAAO,SAAS,4BAA4B,GAAG,4BAA4B,CAAE,SAAQ,eAAe,CACtI,OAAO,EACP,eAAe,EACf,OAAO,CACR;IACC,OAAgB,aAAa,4CAA2B;IAExD,IAAI,YAAY,YAEf;IAED,IAAI,QAAQ,wCAEX;IAED,IAAI,OAAO,WAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiC1F"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -23,13 +23,16 @@ __export(src_exports, {
|
|
|
23
23
|
CryptoWalletNftWitness: () => CryptoWalletNftWitness,
|
|
24
24
|
CryptoWalletNftWitnessPlugin: () => CryptoWalletNftWitnessPlugin,
|
|
25
25
|
checkIpfsUrl: () => checkIpfsUrl2,
|
|
26
|
+
contractHasFunctions: () => contractHasFunctions,
|
|
26
27
|
default: () => src_default,
|
|
27
28
|
getErc1155MetadataUri: () => getErc1155MetadataUri,
|
|
28
29
|
getErc721MetadataUri: () => getErc721MetadataUri,
|
|
29
30
|
getNftMetadataUri: () => getNftMetadataUri,
|
|
30
31
|
getNftsOwnedByAddress: () => getNftsOwnedByAddress,
|
|
32
|
+
getNftsOwnedByAddressWithMetadata: () => getNftsOwnedByAddressWithMetadata,
|
|
31
33
|
getProviderFromEnv: () => getProviderFromEnv,
|
|
32
|
-
|
|
34
|
+
getProviderFromEnvInternal: () => getProviderFromEnvInternal,
|
|
35
|
+
getTokenTypes: () => getTokenTypes,
|
|
33
36
|
isErc1155: () => isErc1155,
|
|
34
37
|
isErc721: () => isErc721,
|
|
35
38
|
tokenTypes: () => tokenTypes
|
|
@@ -47,15 +50,42 @@ var import_eth_address = require("@xylabs/eth-address");
|
|
|
47
50
|
var import_abstract_witness = require("@xyo-network/abstract-witness");
|
|
48
51
|
var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
|
|
49
52
|
|
|
53
|
+
// src/lib/contractHasFunctions.ts
|
|
54
|
+
var contractHasFunctions = async (provider, address, contractInterface, functionNames) => {
|
|
55
|
+
try {
|
|
56
|
+
const bytecode = await provider.getCode(address, "latest");
|
|
57
|
+
for (let i = 0; i < functionNames.length; i++) {
|
|
58
|
+
const nameSig = contractInterface.getSighash(functionNames[i]).substring(2);
|
|
59
|
+
if (!bytecode.includes(nameSig)) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
} catch (ex) {
|
|
66
|
+
const error = ex;
|
|
67
|
+
console.log(error);
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
50
72
|
// src/lib/getNftsOwnedByAddress.ts
|
|
51
|
-
var import_assert2 = require("@xylabs/assert");
|
|
52
|
-
var import_account = require("@xyo-network/account");
|
|
53
|
-
var import_api_graphql_plugin = require("@xyo-network/api-graphql-plugin");
|
|
54
73
|
var import_open_zeppelin_typechain3 = require("@xyo-network/open-zeppelin-typechain");
|
|
74
|
+
var import_lru_cache = require("lru-cache");
|
|
75
|
+
|
|
76
|
+
// src/lib/getAssetsFromWalletFromOpenSea.ts
|
|
77
|
+
var import_assert = require("@xylabs/assert");
|
|
78
|
+
var import_axios = require("@xyo-network/axios");
|
|
79
|
+
var getNftsFromWalletFromOpenSea = async (chainId, address, maxNfts = 200, timeout = 2e3) => {
|
|
80
|
+
const apiKey = (0, import_assert.assertEx)(process.env.OPENSEA_API_KEY, "No opensea key found");
|
|
81
|
+
const axios = new import_axios.AxiosJson({ headers: { "x-api-key": apiKey }, timeout });
|
|
82
|
+
const nfts = (await axios.get(`https://api.opensea.io/api/v2/chain/ethereum/account/${address}/nfts?limit=${maxNfts}`)).data.nfts;
|
|
83
|
+
return nfts;
|
|
84
|
+
};
|
|
55
85
|
|
|
56
86
|
// src/lib/getInfuraProvider.ts
|
|
57
87
|
var import_providers = require("@ethersproject/providers");
|
|
58
|
-
var
|
|
88
|
+
var import_assert2 = require("@xylabs/assert");
|
|
59
89
|
var instance = void 0;
|
|
60
90
|
var getInfuraProvider = () => {
|
|
61
91
|
if (instance)
|
|
@@ -65,36 +95,25 @@ var getInfuraProvider = () => {
|
|
|
65
95
|
return instance;
|
|
66
96
|
};
|
|
67
97
|
var getInfuraProviderConfig = () => {
|
|
68
|
-
const projectId = (0,
|
|
69
|
-
const projectSecret = (0,
|
|
98
|
+
const projectId = (0, import_assert2.assertEx)(process.env.INFURA_PROJECT_ID, "Missing INFURA_PROJECT_ID ENV VAR");
|
|
99
|
+
const projectSecret = (0, import_assert2.assertEx)(process.env.INFURA_PROJECT_SECRET, "Missing INFURA_PROJECT_SECRET ENV VAR");
|
|
70
100
|
return { projectId, projectSecret };
|
|
71
101
|
};
|
|
72
102
|
|
|
73
103
|
// src/lib/getNftMetadata.ts
|
|
74
|
-
var
|
|
104
|
+
var import_axios2 = require("@xyo-network/axios");
|
|
75
105
|
var import_open_zeppelin_typechain2 = require("@xyo-network/open-zeppelin-typechain");
|
|
76
106
|
|
|
77
107
|
// src/lib/tokenTypes.ts
|
|
78
108
|
var import_open_zeppelin_typechain = require("@xyo-network/open-zeppelin-typechain");
|
|
79
|
-
var isErc1155 = async (
|
|
80
|
-
return await
|
|
81
|
-
};
|
|
82
|
-
var isErc721 = async (contract) => {
|
|
83
|
-
return await hasFunctions(contract, import_open_zeppelin_typechain.IERC721Metadata__factory.createInterface(), ["name", "symbol", "tokenURI"]);
|
|
109
|
+
var isErc1155 = async (provider, address) => {
|
|
110
|
+
return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.ERC1155URIStorage__factory.createInterface(), ["uri"]);
|
|
84
111
|
};
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
for (let i = 0; i < functionNames.length; i++) {
|
|
88
|
-
const nameSig = contractInterface.getSighash(functionNames[i]).substring(2);
|
|
89
|
-
if (!bytecode.includes(nameSig)) {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
return false;
|
|
112
|
+
var isErc721 = async (provider, address) => {
|
|
113
|
+
return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.IERC721Metadata__factory.createInterface(), ["name", "symbol", "tokenURI"]);
|
|
95
114
|
};
|
|
96
|
-
var tokenTypes = async (
|
|
97
|
-
const [erc721, erc1155] = await Promise.all([isErc721(
|
|
115
|
+
var tokenTypes = async (provider, address) => {
|
|
116
|
+
const [erc721, erc1155] = await Promise.all([isErc721(provider, address), isErc1155(provider, address)]);
|
|
98
117
|
const result = [];
|
|
99
118
|
if (erc721) {
|
|
100
119
|
result.push("ERC721");
|
|
@@ -124,11 +143,11 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway2) => {
|
|
|
124
143
|
}
|
|
125
144
|
};
|
|
126
145
|
var getNftMetadata = async (contractAddress, provider, tokenId) => {
|
|
127
|
-
const axios = new
|
|
146
|
+
const axios = new import_axios2.AxiosJson({ timeout: 2e3 });
|
|
128
147
|
const enumerable721 = import_open_zeppelin_typechain2.ERC721Enumerable__factory.connect(contractAddress, provider);
|
|
129
148
|
const storage721 = import_open_zeppelin_typechain2.ERC721URIStorage__factory.connect(contractAddress, provider);
|
|
130
149
|
const storage1155 = import_open_zeppelin_typechain2.ERC1155URIStorage__factory.connect(contractAddress, provider);
|
|
131
|
-
const is1155 = await isErc1155(
|
|
150
|
+
const is1155 = await isErc1155(provider, contractAddress);
|
|
132
151
|
let uri1155;
|
|
133
152
|
if (is1155) {
|
|
134
153
|
try {
|
|
@@ -136,7 +155,7 @@ var getNftMetadata = async (contractAddress, provider, tokenId) => {
|
|
|
136
155
|
} catch (ex) {
|
|
137
156
|
}
|
|
138
157
|
}
|
|
139
|
-
const is721 = await isErc721(
|
|
158
|
+
const is721 = await isErc721(provider, contractAddress);
|
|
140
159
|
let metadataUri;
|
|
141
160
|
if (is721) {
|
|
142
161
|
try {
|
|
@@ -158,6 +177,19 @@ var getNftMetadata = async (contractAddress, provider, tokenId) => {
|
|
|
158
177
|
return [tokenMetadataUri, metadata];
|
|
159
178
|
};
|
|
160
179
|
|
|
180
|
+
// src/lib/tryCall.ts
|
|
181
|
+
var tryCall = async (func, name) => {
|
|
182
|
+
try {
|
|
183
|
+
return await func();
|
|
184
|
+
} catch (ex) {
|
|
185
|
+
if (name) {
|
|
186
|
+
const error = ex;
|
|
187
|
+
console.log(`tryCall failed [${name}]: ${error.message}`);
|
|
188
|
+
}
|
|
189
|
+
return void 0;
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
|
|
161
193
|
// src/lib/getNftsOwnedByAddress.ts
|
|
162
194
|
var checkIpfsUrl2 = (urlToCheck, ipfsGateway2) => {
|
|
163
195
|
const url = new URL(urlToCheck);
|
|
@@ -175,6 +207,18 @@ var checkIpfsUrl2 = (urlToCheck, ipfsGateway2) => {
|
|
|
175
207
|
return urlToCheck;
|
|
176
208
|
}
|
|
177
209
|
};
|
|
210
|
+
var tokenTypeCache = new import_lru_cache.LRUCache({ max: 100 });
|
|
211
|
+
var getTokenTypes = async (provider, address) => {
|
|
212
|
+
const key = `${address}|${(await provider.getNetwork()).chainId}`;
|
|
213
|
+
const currentValue = tokenTypeCache.get(key);
|
|
214
|
+
if (currentValue) {
|
|
215
|
+
return currentValue;
|
|
216
|
+
} else {
|
|
217
|
+
const types = await tokenTypes(provider, address);
|
|
218
|
+
tokenTypeCache.set(key, types);
|
|
219
|
+
return types;
|
|
220
|
+
}
|
|
221
|
+
};
|
|
178
222
|
var getErc721MetadataUri = async (address, tokenId) => {
|
|
179
223
|
try {
|
|
180
224
|
const contract = import_open_zeppelin_typechain3.ERC721__factory.connect(address, getInfuraProvider());
|
|
@@ -195,68 +239,49 @@ var getNftMetadataUri = async (address, tokenId) => {
|
|
|
195
239
|
const results = await Promise.all([getErc721MetadataUri(address, tokenId), getErc1155MetadataUri(address, tokenId)]);
|
|
196
240
|
return results[0][0] ?? results[1][0];
|
|
197
241
|
};
|
|
198
|
-
var
|
|
199
|
-
const
|
|
200
|
-
const
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
walletByAddress(address: "${publicAddress}") {
|
|
209
|
-
walletNFTs (first: ${maxNfts}) {
|
|
210
|
-
edges {
|
|
211
|
-
node {
|
|
212
|
-
nft {
|
|
213
|
-
contractAddress
|
|
214
|
-
metadata
|
|
215
|
-
tokenId
|
|
216
|
-
externalUrl
|
|
217
|
-
name
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
242
|
+
var getNftsOwnedByAddressWithMetadata = async (publicAddress, provider, maxNfts = 200, timeout = 5e3) => {
|
|
243
|
+
const nfts = await getNftsOwnedByAddress(publicAddress, provider, maxNfts, timeout);
|
|
244
|
+
const nftResult = await Promise.all(
|
|
245
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
246
|
+
nfts.map(async (nft) => {
|
|
247
|
+
try {
|
|
248
|
+
if (!nft.metadataUri || !nft.metadata) {
|
|
249
|
+
const [metadataUri, metadata] = await getNftMetadata(nft.address, provider, nft.tokenId);
|
|
250
|
+
nft.metadata = metadata;
|
|
251
|
+
nft.metadataUri = metadataUri;
|
|
222
252
|
}
|
|
253
|
+
return nft;
|
|
254
|
+
} catch (ex) {
|
|
255
|
+
const error = ex;
|
|
256
|
+
console.error(`Error: ${error.message}`);
|
|
257
|
+
console.error(`${error.stack}`);
|
|
258
|
+
throw ex;
|
|
223
259
|
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const
|
|
260
|
+
})
|
|
261
|
+
);
|
|
262
|
+
return nftResult;
|
|
263
|
+
};
|
|
264
|
+
var getNftsOwnedByAddress = async (publicAddress, provider, maxNfts = 100, timeout = 5e3) => {
|
|
265
|
+
const nfts = await getNftsFromWalletFromOpenSea(provider.network.chainId, publicAddress, maxNfts, timeout);
|
|
230
266
|
const nftResult = await Promise.all(
|
|
231
267
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
232
|
-
|
|
268
|
+
nfts.map(async (nft) => {
|
|
233
269
|
try {
|
|
234
|
-
const {
|
|
270
|
+
const { contract, identifier } = nft;
|
|
235
271
|
let supply = "0x01";
|
|
236
|
-
const
|
|
237
|
-
const storage1155 = import_open_zeppelin_typechain3.ERC1155URIStorage__factory.connect(contractAddress, provider);
|
|
238
|
-
const types = await tokenTypes(storage1155);
|
|
272
|
+
const types = await getTokenTypes(provider, contract);
|
|
239
273
|
if (types.includes("ERC1155")) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
} catch (ex) {
|
|
243
|
-
}
|
|
274
|
+
const supply1155 = import_open_zeppelin_typechain3.ERC1155Supply__factory.connect(contract, provider);
|
|
275
|
+
supply = await tryCall(async () => (await supply1155.totalSupply(contract)).toHexString()) ?? "0x01";
|
|
244
276
|
}
|
|
245
277
|
const fields = {
|
|
246
|
-
address:
|
|
247
|
-
chainId:
|
|
248
|
-
metadata,
|
|
249
|
-
metadataUri: externalUrl,
|
|
278
|
+
address: contract,
|
|
279
|
+
chainId: provider.network.chainId,
|
|
250
280
|
supply,
|
|
251
|
-
tokenId,
|
|
281
|
+
tokenId: identifier,
|
|
252
282
|
type: types.at(0),
|
|
253
283
|
types
|
|
254
284
|
};
|
|
255
|
-
if (!fields.metadataUri || !fields.metadata) {
|
|
256
|
-
const [metadataUri, metadata2] = await getNftMetadata(contractAddress, provider, fields.tokenId);
|
|
257
|
-
fields.metadata = metadata2;
|
|
258
|
-
fields.metadataUri = metadataUri;
|
|
259
|
-
}
|
|
260
285
|
return fields;
|
|
261
286
|
} catch (ex) {
|
|
262
287
|
const error = ex;
|
|
@@ -271,54 +296,72 @@ var getNftsOwnedByAddress = async (publicAddress, provider, maxNfts = 1e3, timeo
|
|
|
271
296
|
|
|
272
297
|
// src/lib/getProvider.ts
|
|
273
298
|
var import_providers2 = require("@ethersproject/providers");
|
|
274
|
-
var
|
|
299
|
+
var getProviderFromEnvInternal = (chainId = 1) => {
|
|
300
|
+
console.log(`getProviderFromEnvInternal: ${chainId}`);
|
|
275
301
|
const infuraWssUri = process.env.INFURA_WSS_URI;
|
|
276
|
-
const infuraProvider = new import_providers2.InfuraProvider(
|
|
302
|
+
const infuraProvider = new import_providers2.InfuraProvider(chainId, {
|
|
277
303
|
projectId: process.env.INFURA_PROJECT_ID,
|
|
278
304
|
projectSecret: process.env.INFURA_PROJECT_SECRET
|
|
279
305
|
});
|
|
280
|
-
const
|
|
281
|
-
const
|
|
282
|
-
const
|
|
283
|
-
const
|
|
306
|
+
const infuraGenericWebsocketProvider = infuraWssUri ? new import_providers2.WebSocketProvider(infuraWssUri, chainId) : void 0;
|
|
307
|
+
const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI;
|
|
308
|
+
const quickNodeWebSocketProvider = quickNodeWSSUri ? new import_providers2.WebSocketProvider(quickNodeWSSUri, chainId) : void 0;
|
|
309
|
+
const quickNodeHttpsUri = process.env.QUICKNODE_WSS_URI;
|
|
310
|
+
const quickRpcProvider = quickNodeHttpsUri ? new import_providers2.JsonRpcProvider(quickNodeHttpsUri, chainId) : void 0;
|
|
311
|
+
const provider = infuraProvider ?? quickNodeWebSocketProvider ?? infuraProvider ?? infuraGenericWebsocketProvider ?? quickRpcProvider;
|
|
284
312
|
return provider;
|
|
285
313
|
};
|
|
314
|
+
var providers = {};
|
|
315
|
+
var getProviderFromEnv = (chainId = 1) => {
|
|
316
|
+
console.log(`getProviderFromEnv: ${chainId}`);
|
|
317
|
+
providers[chainId] = providers[chainId] ?? getProviderFromEnvInternal(chainId);
|
|
318
|
+
return providers[chainId];
|
|
319
|
+
};
|
|
286
320
|
|
|
287
321
|
// src/Witness.ts
|
|
288
322
|
var schema = import_crypto_nft_payload_plugin.NftSchema;
|
|
289
323
|
var defaultMaxNfts = 100;
|
|
290
324
|
var CryptoWalletNftWitness = class extends import_abstract_witness.AbstractWitness {
|
|
291
325
|
static configSchemas = [import_crypto_nft_payload_plugin.NftWitnessConfigSchema];
|
|
326
|
+
get loadMetadata() {
|
|
327
|
+
return this.config.loadMetadata ?? true;
|
|
328
|
+
}
|
|
292
329
|
get provider() {
|
|
293
330
|
return this.params.provider;
|
|
294
331
|
}
|
|
295
332
|
get timeout() {
|
|
296
|
-
return this.config.timeout ??
|
|
333
|
+
return this.config.timeout ?? 1e4;
|
|
297
334
|
}
|
|
298
335
|
async observeHandler(payloads) {
|
|
299
336
|
await this.started("throw");
|
|
300
337
|
const queries = payloads?.filter(import_crypto_nft_payload_plugin.isNftWitnessQuery) ?? [];
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
338
|
+
try {
|
|
339
|
+
const observations = await Promise.all(
|
|
340
|
+
queries.map(async (query) => {
|
|
341
|
+
const addressValue = (0, import_assert3.assertEx)(query?.address ?? this.config.address, "params.address is required");
|
|
342
|
+
const parsedAddressValue = import_eth_address.EthAddress.parse(addressValue);
|
|
343
|
+
const address = (0, import_assert3.assertEx)(parsedAddressValue?.toString(), "Failed to parse params.address");
|
|
344
|
+
const network = this.provider.network;
|
|
345
|
+
const chainId = (0, import_assert3.assertEx)(network.chainId, "params.chainId is required");
|
|
346
|
+
const maxNfts = query?.maxNfts || defaultMaxNfts;
|
|
347
|
+
try {
|
|
348
|
+
const nfts = this.loadMetadata ? await getNftsOwnedByAddressWithMetadata(address, this.provider, maxNfts, this.timeout) : await getNftsOwnedByAddress(address, this.provider, maxNfts, this.timeout);
|
|
349
|
+
const observation = nfts.map((nft) => {
|
|
350
|
+
return { ...nft, schema };
|
|
351
|
+
});
|
|
352
|
+
return observation;
|
|
353
|
+
} catch (ex) {
|
|
354
|
+
const error = ex;
|
|
355
|
+
throw Error(`Failed to get nfts for address ${address} on chainId ${chainId}: ${error.message}`);
|
|
356
|
+
}
|
|
357
|
+
})
|
|
358
|
+
);
|
|
359
|
+
return observations.flat();
|
|
360
|
+
} catch (ex) {
|
|
361
|
+
const error = ex;
|
|
362
|
+
console.error(error);
|
|
363
|
+
return [];
|
|
364
|
+
}
|
|
322
365
|
}
|
|
323
366
|
};
|
|
324
367
|
|