@xyo-network/crypto-nft-witness-wallet-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 -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 +5 -1
- package/dist/browser/Witness.d.cts.map +1 -1
- package/dist/browser/Witness.d.mts +5 -1
- package/dist/browser/Witness.d.mts.map +1 -1
- package/dist/browser/Witness.d.ts +5 -1
- package/dist/browser/Witness.d.ts.map +1 -1
- package/dist/browser/index.cjs +174 -141
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +172 -139
- 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/getNftCollectionMetadata.d.cts.map +1 -1
- package/dist/browser/lib/getNftCollectionMetadata.d.mts.map +1 -1
- package/dist/browser/lib/getNftCollectionMetadata.d.ts.map +1 -1
- 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 +2 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.cts.map +1 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.mts +2 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.mts.map +1 -1
- package/dist/browser/lib/getNftsOwnedByAddress.d.ts +2 -1
- 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 +3 -0
- package/dist/browser/lib/index.d.cts.map +1 -1
- package/dist/browser/lib/index.d.mts +3 -0
- package/dist/browser/lib/index.d.mts.map +1 -1
- package/dist/browser/lib/index.d.ts +3 -0
- 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 -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 +5 -1
- package/dist/node/Witness.d.cts.map +1 -1
- package/dist/node/Witness.d.mts +5 -1
- package/dist/node/Witness.d.mts.map +1 -1
- package/dist/node/Witness.d.ts +5 -1
- package/dist/node/Witness.d.ts.map +1 -1
- package/dist/node/index.js +181 -142
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +172 -139
- 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/getNftCollectionMetadata.d.cts.map +1 -1
- package/dist/node/lib/getNftCollectionMetadata.d.mts.map +1 -1
- package/dist/node/lib/getNftCollectionMetadata.d.ts.map +1 -1
- 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 +2 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.cts.map +1 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.mts +2 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.mts.map +1 -1
- package/dist/node/lib/getNftsOwnedByAddress.d.ts +2 -1
- 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 +3 -0
- package/dist/node/lib/index.d.cts.map +1 -1
- package/dist/node/lib/index.d.mts +3 -0
- package/dist/node/lib/index.d.mts.map +1 -1
- package/dist/node/lib/index.d.ts +3 -0
- 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 +16 -12
- package/src/Witness.ts +39 -22
- package/src/lib/contractHasFunctions.ts +20 -0
- package/src/lib/getNftCollectionMetadata.ts +0 -2
- package/src/lib/getNftMetadata.ts +29 -16
- package/src/lib/getNftsOwnedByAddress.ts +63 -54
- package/src/lib/getProvider.ts +19 -7
- package/src/lib/index.ts +3 -0
- package/src/lib/tokenTypes.ts +25 -0
- package/src/lib/tryCall.ts +11 -0
|
@@ -41,7 +41,6 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
41
41
|
}) | undefined;
|
|
42
42
|
} & {
|
|
43
43
|
address?: string | undefined;
|
|
44
|
-
chainId?: number | undefined;
|
|
45
44
|
schema: "network.xyo.crypto.nft.witness.config";
|
|
46
45
|
timeout?: number | undefined;
|
|
47
46
|
}, "schema"> & {
|
|
@@ -53,5 +52,7 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
53
52
|
};
|
|
54
53
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
55
54
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
provider: import("@ethersproject/providers").JsonRpcProvider | import("@ethersproject/providers").WebSocketProvider;
|
|
56
57
|
}>>;
|
|
57
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,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,7 +41,6 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
41
41
|
}) | undefined;
|
|
42
42
|
} & {
|
|
43
43
|
address?: string | undefined;
|
|
44
|
-
chainId?: number | undefined;
|
|
45
44
|
schema: "network.xyo.crypto.nft.witness.config";
|
|
46
45
|
timeout?: number | undefined;
|
|
47
46
|
}, "schema"> & {
|
|
@@ -53,5 +52,7 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
53
52
|
};
|
|
54
53
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
55
54
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
provider: import("@ethersproject/providers").JsonRpcProvider | import("@ethersproject/providers").WebSocketProvider;
|
|
56
57
|
}>>;
|
|
57
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,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,7 +41,6 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
41
41
|
}) | undefined;
|
|
42
42
|
} & {
|
|
43
43
|
address?: string | undefined;
|
|
44
|
-
chainId?: number | undefined;
|
|
45
44
|
schema: "network.xyo.crypto.nft.witness.config";
|
|
46
45
|
timeout?: number | undefined;
|
|
47
46
|
}, "schema"> & {
|
|
@@ -53,5 +52,7 @@ export declare const CryptoWalletNftWitnessPlugin: () => import("@xyo-network/pa
|
|
|
53
52
|
};
|
|
54
53
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
55
54
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
provider: import("@ethersproject/providers").JsonRpcProvider | import("@ethersproject/providers").WebSocketProvider;
|
|
56
57
|
}>>;
|
|
57
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,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,10 +1,14 @@
|
|
|
1
|
+
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
|
|
1
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
2
3
|
import { CryptoWalletNftWitnessConfig, NftInfo, NftWitnessQuery } from '@xyo-network/crypto-nft-payload-plugin';
|
|
3
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
|
-
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig
|
|
6
|
+
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig>, {
|
|
7
|
+
provider: JsonRpcProvider | WebSocketProvider;
|
|
8
|
+
}>;
|
|
6
9
|
export declare class CryptoWalletNftWitness<TParams extends CryptoWalletNftWitnessParams = CryptoWalletNftWitnessParams> extends AbstractWitness<TParams, NftWitnessQuery, NftInfo> {
|
|
7
10
|
static configSchemas: "network.xyo.crypto.nft.witness.config"[];
|
|
11
|
+
get provider(): JsonRpcProvider | WebSocketProvider;
|
|
8
12
|
get timeout(): number;
|
|
9
13
|
protected observeHandler(payloads?: NftWitnessQuery[]): Promise<NftInfo[]>;
|
|
10
14
|
}
|
|
@@ -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,eAAe,EAAY,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGvF,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,QAAQ,wCAEX;IAED,IAAI,OAAO,WAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA+B1F"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
|
|
1
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
2
3
|
import { CryptoWalletNftWitnessConfig, NftInfo, NftWitnessQuery } from '@xyo-network/crypto-nft-payload-plugin';
|
|
3
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
|
-
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig
|
|
6
|
+
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig>, {
|
|
7
|
+
provider: JsonRpcProvider | WebSocketProvider;
|
|
8
|
+
}>;
|
|
6
9
|
export declare class CryptoWalletNftWitness<TParams extends CryptoWalletNftWitnessParams = CryptoWalletNftWitnessParams> extends AbstractWitness<TParams, NftWitnessQuery, NftInfo> {
|
|
7
10
|
static configSchemas: "network.xyo.crypto.nft.witness.config"[];
|
|
11
|
+
get provider(): JsonRpcProvider | WebSocketProvider;
|
|
8
12
|
get timeout(): number;
|
|
9
13
|
protected observeHandler(payloads?: NftWitnessQuery[]): Promise<NftInfo[]>;
|
|
10
14
|
}
|
|
@@ -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,eAAe,EAAY,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGvF,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,QAAQ,wCAEX;IAED,IAAI,OAAO,WAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA+B1F"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
|
|
1
2
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
2
3
|
import { CryptoWalletNftWitnessConfig, NftInfo, NftWitnessQuery } from '@xyo-network/crypto-nft-payload-plugin';
|
|
3
4
|
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
4
5
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
|
-
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig
|
|
6
|
+
export type CryptoWalletNftWitnessParams = WitnessParams<AnyConfigSchema<CryptoWalletNftWitnessConfig>, {
|
|
7
|
+
provider: JsonRpcProvider | WebSocketProvider;
|
|
8
|
+
}>;
|
|
6
9
|
export declare class CryptoWalletNftWitness<TParams extends CryptoWalletNftWitnessParams = CryptoWalletNftWitnessParams> extends AbstractWitness<TParams, NftWitnessQuery, NftInfo> {
|
|
7
10
|
static configSchemas: "network.xyo.crypto.nft.witness.config"[];
|
|
11
|
+
get provider(): JsonRpcProvider | WebSocketProvider;
|
|
8
12
|
get timeout(): number;
|
|
9
13
|
protected observeHandler(payloads?: NftWitnessQuery[]): Promise<NftInfo[]>;
|
|
10
14
|
}
|
|
@@ -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,eAAe,EAAY,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGvF,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,QAAQ,wCAEX;IAED,IAAI,OAAO,WAEV;cAEwB,cAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA+B1F"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -23,28 +23,53 @@ __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
|
-
getNftsOwnedByAddress: () => getNftsOwnedByAddress
|
|
31
|
+
getNftsOwnedByAddress: () => getNftsOwnedByAddress,
|
|
32
|
+
getProviderFromEnv: () => getProviderFromEnv,
|
|
33
|
+
getProviderFromEnvInternal: () => getProviderFromEnvInternal,
|
|
34
|
+
isErc1155: () => isErc1155,
|
|
35
|
+
isErc721: () => isErc721,
|
|
36
|
+
tokenTypes: () => tokenTypes
|
|
31
37
|
});
|
|
32
38
|
module.exports = __toCommonJS(src_exports);
|
|
33
39
|
|
|
34
40
|
// src/Plugin.ts
|
|
35
|
-
var
|
|
41
|
+
var import_crypto_nft_payload_plugin2 = require("@xyo-network/crypto-nft-payload-plugin");
|
|
36
42
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
37
43
|
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
38
44
|
|
|
39
45
|
// src/Witness.ts
|
|
40
|
-
var
|
|
46
|
+
var import_assert3 = require("@xylabs/assert");
|
|
41
47
|
var import_eth_address = require("@xylabs/eth-address");
|
|
42
48
|
var import_abstract_witness = require("@xyo-network/abstract-witness");
|
|
43
|
-
var
|
|
49
|
+
var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
|
|
50
|
+
|
|
51
|
+
// src/lib/contractHasFunctions.ts
|
|
52
|
+
var contractHasFunctions = async (provider, address, contractInterface, functionNames) => {
|
|
53
|
+
try {
|
|
54
|
+
const bytecode = await provider.getCode(address, "latest");
|
|
55
|
+
for (let i = 0; i < functionNames.length; i++) {
|
|
56
|
+
const nameSig = contractInterface.getSighash(functionNames[i]).substring(2);
|
|
57
|
+
if (!bytecode.includes(nameSig)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
} catch (ex) {
|
|
64
|
+
const error = ex;
|
|
65
|
+
console.log(error);
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
44
69
|
|
|
45
70
|
// src/lib/getNftsOwnedByAddress.ts
|
|
71
|
+
var import_assert2 = require("@xylabs/assert");
|
|
46
72
|
var import_axios2 = require("@xyo-network/axios");
|
|
47
|
-
var import_crypto_nft_payload_plugin = require("@xyo-network/crypto-nft-payload-plugin");
|
|
48
73
|
var import_open_zeppelin_typechain3 = require("@xyo-network/open-zeppelin-typechain");
|
|
49
74
|
|
|
50
75
|
// src/lib/getInfuraProvider.ts
|
|
@@ -64,54 +89,31 @@ var getInfuraProviderConfig = () => {
|
|
|
64
89
|
return { projectId, projectSecret };
|
|
65
90
|
};
|
|
66
91
|
|
|
67
|
-
// src/lib/
|
|
92
|
+
// src/lib/getNftMetadata.ts
|
|
93
|
+
var import_axios = require("@xyo-network/axios");
|
|
94
|
+
var import_open_zeppelin_typechain2 = require("@xyo-network/open-zeppelin-typechain");
|
|
95
|
+
|
|
96
|
+
// src/lib/tokenTypes.ts
|
|
68
97
|
var import_open_zeppelin_typechain = require("@xyo-network/open-zeppelin-typechain");
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
98
|
+
var isErc1155 = async (provider, address) => {
|
|
99
|
+
return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.ERC1155URIStorage__factory.createInterface(), ["uri"]);
|
|
100
|
+
};
|
|
101
|
+
var isErc721 = async (provider, address) => {
|
|
102
|
+
return await contractHasFunctions(provider, address, import_open_zeppelin_typechain.IERC721Metadata__factory.createInterface(), ["name", "symbol", "tokenURI"]);
|
|
103
|
+
};
|
|
104
|
+
var tokenTypes = async (provider, address) => {
|
|
105
|
+
const [erc721, erc1155] = await Promise.all([isErc721(provider, address), isErc1155(provider, address)]);
|
|
106
|
+
const result = [];
|
|
107
|
+
if (erc721) {
|
|
108
|
+
result.push("ERC721");
|
|
75
109
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var getNftCollectionMetadata = async (contractAddress, provider) => {
|
|
79
|
-
try {
|
|
80
|
-
const contract721 = import_open_zeppelin_typechain.ERC721Enumerable__factory.connect(contractAddress, provider);
|
|
81
|
-
const contract1155 = import_open_zeppelin_typechain.ERC1155__factory.connect(contractAddress, provider);
|
|
82
|
-
let name = "";
|
|
83
|
-
try {
|
|
84
|
-
name = await contract721.name();
|
|
85
|
-
} catch (ex) {
|
|
86
|
-
const error = ex;
|
|
87
|
-
console.log(`name: ${error.message}`);
|
|
88
|
-
}
|
|
89
|
-
let symbol = "";
|
|
90
|
-
try {
|
|
91
|
-
symbol = await contract721.symbol();
|
|
92
|
-
} catch (ex) {
|
|
93
|
-
const error = ex;
|
|
94
|
-
console.log(`symbol: ${error.message}`);
|
|
95
|
-
}
|
|
96
|
-
let is1155 = false;
|
|
97
|
-
try {
|
|
98
|
-
is1155 = await contract1155.supportsInterface(getInterfaceID(import_open_zeppelin_typechain.ERC1155__factory.getInterface(import_open_zeppelin_typechain.ERC1155__factory.abi)));
|
|
99
|
-
} catch (ex) {
|
|
100
|
-
const error = ex;
|
|
101
|
-
console.log(`is1155: ${error.message}`);
|
|
102
|
-
is1155 = false;
|
|
103
|
-
}
|
|
104
|
-
return { address: contractAddress, chainId: provider.network.chainId, name, symbol, type: is1155 ? "ERC1155" : "ERC721" };
|
|
105
|
-
} catch (ex) {
|
|
106
|
-
const error = ex;
|
|
107
|
-
console.error(`getNftCollectionMetadata: ${error.message}`);
|
|
108
|
-
throw ex;
|
|
110
|
+
if (erc1155) {
|
|
111
|
+
result.push("ERC1155");
|
|
109
112
|
}
|
|
113
|
+
return result;
|
|
110
114
|
};
|
|
111
115
|
|
|
112
116
|
// src/lib/getNftMetadata.ts
|
|
113
|
-
var import_axios = require("@xyo-network/axios");
|
|
114
|
-
var import_open_zeppelin_typechain2 = require("@xyo-network/open-zeppelin-typechain");
|
|
115
117
|
var ipfsGateway = "5d7b6582.beta.decentralnetworkservices.com";
|
|
116
118
|
var checkIpfsUrl = (urlToCheck, ipfsGateway2) => {
|
|
117
119
|
const url = new URL(urlToCheck);
|
|
@@ -131,21 +133,28 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway2) => {
|
|
|
131
133
|
};
|
|
132
134
|
var getNftMetadata = async (contractAddress, provider, tokenId) => {
|
|
133
135
|
const axios = new import_axios.AxiosJson({ timeout: 2e3 });
|
|
134
|
-
const
|
|
136
|
+
const enumerable721 = import_open_zeppelin_typechain2.ERC721Enumerable__factory.connect(contractAddress, provider);
|
|
137
|
+
const storage721 = import_open_zeppelin_typechain2.ERC721URIStorage__factory.connect(contractAddress, provider);
|
|
135
138
|
const storage1155 = import_open_zeppelin_typechain2.ERC1155URIStorage__factory.connect(contractAddress, provider);
|
|
139
|
+
const is1155 = await isErc1155(provider, contractAddress);
|
|
136
140
|
let uri1155;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
141
|
+
if (is1155) {
|
|
142
|
+
try {
|
|
143
|
+
uri1155 = await storage1155.uri(tokenId);
|
|
144
|
+
} catch (ex) {
|
|
145
|
+
}
|
|
142
146
|
}
|
|
147
|
+
const is721 = await isErc721(provider, contractAddress);
|
|
143
148
|
let metadataUri;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
if (is721) {
|
|
150
|
+
try {
|
|
151
|
+
metadataUri = await enumerable721.tokenURI(tokenId);
|
|
152
|
+
} catch (ex) {
|
|
153
|
+
try {
|
|
154
|
+
metadataUri = await storage721.tokenURI(tokenId);
|
|
155
|
+
} catch (ex2) {
|
|
156
|
+
}
|
|
157
|
+
}
|
|
149
158
|
}
|
|
150
159
|
const tokenMetadataUri = metadataUri ?? uri1155;
|
|
151
160
|
const checkedMetaDataUri = tokenMetadataUri ? checkIpfsUrl(tokenMetadataUri, ipfsGateway) : tokenMetadataUri;
|
|
@@ -153,25 +162,21 @@ var getNftMetadata = async (contractAddress, provider, tokenId) => {
|
|
|
153
162
|
try {
|
|
154
163
|
metadata = checkedMetaDataUri ? (await axios.get(checkedMetaDataUri)).data : void 0;
|
|
155
164
|
} catch (ex) {
|
|
156
|
-
const error = ex;
|
|
157
|
-
console.error(`metadata: ${error.message}`);
|
|
158
165
|
}
|
|
159
166
|
return [tokenMetadataUri, metadata];
|
|
160
167
|
};
|
|
161
168
|
|
|
162
|
-
// src/lib/
|
|
163
|
-
var
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const provider = infuraWebsocketProvider ?? infuraProvider ?? infuraWebsocketProvider ?? quickNodeProvider ?? infuraProvider;
|
|
174
|
-
return provider;
|
|
169
|
+
// src/lib/tryCall.ts
|
|
170
|
+
var tryCall = async (func, name) => {
|
|
171
|
+
try {
|
|
172
|
+
return await func();
|
|
173
|
+
} catch (ex) {
|
|
174
|
+
if (name) {
|
|
175
|
+
const error = ex;
|
|
176
|
+
console.log(`tryCall failed [${name}]: ${error.message}`);
|
|
177
|
+
}
|
|
178
|
+
return void 0;
|
|
179
|
+
}
|
|
175
180
|
};
|
|
176
181
|
|
|
177
182
|
// src/lib/getNftsOwnedByAddress.ts
|
|
@@ -211,60 +216,54 @@ var getNftMetadataUri = async (address, tokenId) => {
|
|
|
211
216
|
const results = await Promise.all([getErc721MetadataUri(address, tokenId), getErc1155MetadataUri(address, tokenId)]);
|
|
212
217
|
return results[0][0] ?? results[1][0];
|
|
213
218
|
};
|
|
214
|
-
var getNftsOwnedByAddress = async (publicAddress,
|
|
219
|
+
var getNftsOwnedByAddress = async (publicAddress, provider, maxNfts = 1e3, timeout = 5e3) => {
|
|
220
|
+
const endpoint = (0, import_assert2.assertEx)(process.env.QUICKNODE_API_URI, "No endpoint found");
|
|
215
221
|
const axios = new import_axios2.AxiosJson({ timeout });
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
222
|
+
const assets = [];
|
|
223
|
+
let done = false;
|
|
224
|
+
let currentPage = 0;
|
|
225
|
+
const id = Date.now();
|
|
226
|
+
while (!done && assets.length < maxNfts) {
|
|
227
|
+
const query = {
|
|
228
|
+
id,
|
|
229
|
+
jsonrpc: "2.0",
|
|
230
|
+
method: "qn_fetchNFTs",
|
|
231
|
+
params: [
|
|
232
|
+
{
|
|
233
|
+
omitFields: ["traits"],
|
|
234
|
+
page: currentPage + 1,
|
|
235
|
+
perPage: 10,
|
|
236
|
+
wallet: publicAddress
|
|
234
237
|
}
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
238
|
+
]
|
|
239
|
+
};
|
|
240
|
+
const results = (await axios.post(endpoint, query)).data.result;
|
|
241
|
+
assets.push(...results.assets ?? []);
|
|
242
|
+
currentPage = results.pageNumber;
|
|
243
|
+
done = results.pageNumber === results.totalPages;
|
|
244
|
+
}
|
|
240
245
|
const nftResult = await Promise.all(
|
|
241
246
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
242
|
-
|
|
247
|
+
assets.map(async (nft) => {
|
|
243
248
|
try {
|
|
244
|
-
const {
|
|
249
|
+
const { collectionAddress, collectionTokenId } = nft;
|
|
245
250
|
let supply = "0x01";
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
const supply1155 = import_open_zeppelin_typechain3.ERC1155Supply__factory.connect(
|
|
249
|
-
|
|
250
|
-
type = nftType;
|
|
251
|
-
supply = nftType === (0, import_crypto_nft_payload_plugin.toTokenType)("ERC1155") ? (await supply1155.totalSupply(tokenId)).toHexString() : "0x01";
|
|
252
|
-
} catch (ex) {
|
|
253
|
-
const error = ex;
|
|
254
|
-
console.error(`supply: ${error.message}`);
|
|
251
|
+
const types = await tokenTypes(provider, collectionAddress);
|
|
252
|
+
if (types.includes("ERC1155")) {
|
|
253
|
+
const supply1155 = import_open_zeppelin_typechain3.ERC1155Supply__factory.connect(collectionAddress, provider);
|
|
254
|
+
supply = await tryCall(async () => (await supply1155.totalSupply(collectionTokenId)).toHexString()) ?? "0x01";
|
|
255
255
|
}
|
|
256
256
|
const fields = {
|
|
257
|
-
address:
|
|
258
|
-
chainId,
|
|
259
|
-
metadata,
|
|
260
|
-
metadataUri: externalUrl,
|
|
257
|
+
address: collectionAddress,
|
|
258
|
+
chainId: provider.network.chainId,
|
|
261
259
|
supply,
|
|
262
|
-
tokenId,
|
|
263
|
-
type
|
|
260
|
+
tokenId: collectionTokenId,
|
|
261
|
+
type: types.at(0),
|
|
262
|
+
types
|
|
264
263
|
};
|
|
265
264
|
if (!fields.metadataUri || !fields.metadata) {
|
|
266
|
-
const [metadataUri,
|
|
267
|
-
fields.metadata =
|
|
265
|
+
const [metadataUri, metadata] = await getNftMetadata(collectionAddress, provider, fields.tokenId);
|
|
266
|
+
fields.metadata = metadata;
|
|
268
267
|
fields.metadataUri = metadataUri;
|
|
269
268
|
}
|
|
270
269
|
return fields;
|
|
@@ -279,43 +278,77 @@ var getNftsOwnedByAddress = async (publicAddress, chainId, privateKey, maxNfts =
|
|
|
279
278
|
return nftResult;
|
|
280
279
|
};
|
|
281
280
|
|
|
281
|
+
// src/lib/getProvider.ts
|
|
282
|
+
var import_providers2 = require("@ethersproject/providers");
|
|
283
|
+
var getProviderFromEnvInternal = (chainId = 1) => {
|
|
284
|
+
console.log(`getProviderFromEnvInternal: ${chainId}`);
|
|
285
|
+
const infuraWssUri = process.env.INFURA_WSS_URI;
|
|
286
|
+
const infuraProvider = new import_providers2.InfuraProvider(chainId, {
|
|
287
|
+
projectId: process.env.INFURA_PROJECT_ID,
|
|
288
|
+
projectSecret: process.env.INFURA_PROJECT_SECRET
|
|
289
|
+
});
|
|
290
|
+
const infuraGenericWebsocketProvider = infuraWssUri ? new import_providers2.WebSocketProvider(infuraWssUri, chainId) : void 0;
|
|
291
|
+
const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI;
|
|
292
|
+
const quickNodeWebSocketProvider = quickNodeWSSUri ? new import_providers2.WebSocketProvider(quickNodeWSSUri, chainId) : void 0;
|
|
293
|
+
const quickNodeHttpsUri = process.env.QUICKNODE_WSS_URI;
|
|
294
|
+
const quickRpcProvider = quickNodeHttpsUri ? new import_providers2.JsonRpcProvider(quickNodeHttpsUri, chainId) : void 0;
|
|
295
|
+
const provider = infuraProvider ?? quickNodeWebSocketProvider ?? infuraProvider ?? infuraGenericWebsocketProvider ?? quickRpcProvider;
|
|
296
|
+
return provider;
|
|
297
|
+
};
|
|
298
|
+
var providers = {};
|
|
299
|
+
var getProviderFromEnv = (chainId = 1) => {
|
|
300
|
+
console.log(`getProviderFromEnv: ${chainId}`);
|
|
301
|
+
providers[chainId] = providers[chainId] ?? getProviderFromEnvInternal(chainId);
|
|
302
|
+
return providers[chainId];
|
|
303
|
+
};
|
|
304
|
+
|
|
282
305
|
// src/Witness.ts
|
|
283
|
-
var schema =
|
|
306
|
+
var schema = import_crypto_nft_payload_plugin.NftSchema;
|
|
284
307
|
var defaultMaxNfts = 100;
|
|
285
308
|
var CryptoWalletNftWitness = class extends import_abstract_witness.AbstractWitness {
|
|
286
|
-
static configSchemas = [
|
|
309
|
+
static configSchemas = [import_crypto_nft_payload_plugin.NftWitnessConfigSchema];
|
|
310
|
+
get provider() {
|
|
311
|
+
return this.params.provider;
|
|
312
|
+
}
|
|
287
313
|
get timeout() {
|
|
288
|
-
return this.config.timeout ??
|
|
314
|
+
return this.config.timeout ?? 1e4;
|
|
289
315
|
}
|
|
290
316
|
async observeHandler(payloads) {
|
|
291
317
|
await this.started("throw");
|
|
292
|
-
const queries = payloads?.filter(
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
318
|
+
const queries = payloads?.filter(import_crypto_nft_payload_plugin.isNftWitnessQuery) ?? [];
|
|
319
|
+
try {
|
|
320
|
+
const observations = await Promise.all(
|
|
321
|
+
queries.map(async (query) => {
|
|
322
|
+
const addressValue = (0, import_assert3.assertEx)(query?.address ?? this.config.address, "params.address is required");
|
|
323
|
+
const parsedAddressValue = import_eth_address.EthAddress.parse(addressValue);
|
|
324
|
+
const address = (0, import_assert3.assertEx)(parsedAddressValue?.toString(), "Failed to parse params.address");
|
|
325
|
+
const network = this.provider.network;
|
|
326
|
+
const chainId = (0, import_assert3.assertEx)(network.chainId, "params.chainId is required");
|
|
327
|
+
const maxNfts = query?.maxNfts || defaultMaxNfts;
|
|
328
|
+
try {
|
|
329
|
+
const nfts = await getNftsOwnedByAddress(address, this.provider, maxNfts, this.timeout);
|
|
330
|
+
const observation = nfts.map((nft) => {
|
|
331
|
+
return { ...nft, schema };
|
|
332
|
+
});
|
|
333
|
+
return observation;
|
|
334
|
+
} catch (ex) {
|
|
335
|
+
const error = ex;
|
|
336
|
+
throw Error(`Failed to get nfts for address ${address} on chainId ${chainId}: ${error.message}`);
|
|
337
|
+
}
|
|
338
|
+
})
|
|
339
|
+
);
|
|
340
|
+
return observations.flat();
|
|
341
|
+
} catch (ex) {
|
|
342
|
+
const error = ex;
|
|
343
|
+
console.error(error);
|
|
344
|
+
return [];
|
|
345
|
+
}
|
|
313
346
|
}
|
|
314
347
|
};
|
|
315
348
|
|
|
316
349
|
// src/Plugin.ts
|
|
317
350
|
var CryptoWalletNftWitnessPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
318
|
-
{ required: { [
|
|
351
|
+
{ required: { [import_crypto_nft_payload_plugin2.NftSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
319
352
|
{
|
|
320
353
|
witness: async (params) => {
|
|
321
354
|
const result = await CryptoWalletNftWitness.create(params);
|