@quicknode/sdk 1.1.5 → 2.0.1
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/README.md +3 -8
- package/cjs/index.js +15 -1093
- package/esm/{src/client → client}/client.js +0 -2
- package/esm/{src/index.js → index.js} +0 -2
- package/esm/lib/validation/ValidateInput.js +16 -0
- package/esm/lib/validation/validators.js +15 -0
- package/index.d.ts +6 -2767
- package/package.json +11 -29
- package/esm/package.json.js +0 -3
- package/esm/src/api/api.js +0 -94
- package/esm/src/api/controllers/contracts.js +0 -34
- package/esm/src/api/controllers/events.js +0 -113
- package/esm/src/api/controllers/nfts.js +0 -227
- package/esm/src/api/controllers/tokens.js +0 -93
- package/esm/src/api/controllers/transactions.js +0 -120
- package/esm/src/api/controllers/utils.js +0 -53
- package/esm/src/api/graphql/customUrqlClient.js +0 -23
- package/esm/src/api/graphql/generatedTypes.js +0 -22
- package/esm/src/api/graphql/modifyQueryForChain.js +0 -28
- package/esm/src/api/index.d.ts +0 -2690
- package/esm/src/api/index.js +0 -2
- package/esm/src/api/types/chains.js +0 -7
- package/esm/src/api/types/contracts/getContractDetails.js +0 -12
- package/esm/src/api/types/events/getAll.js +0 -7
- package/esm/src/api/types/events/getByContract.js +0 -12
- package/esm/src/api/types/nfts/getByContractAddress.js +0 -10
- package/esm/src/api/types/nfts/getByWalletAddress.js +0 -18
- package/esm/src/api/types/nfts/getCollectionDetails.js +0 -11
- package/esm/src/api/types/nfts/getCollectionEvents.js +0 -12
- package/esm/src/api/types/nfts/getNFTDetails.js +0 -9
- package/esm/src/api/types/nfts/getNFTEvents.js +0 -13
- package/esm/src/api/types/nfts/getTrendingCollections.js +0 -7
- package/esm/src/api/types/nfts/verifyOwnershipByAddress.js +0 -12
- package/esm/src/api/types/tokens/getBalancesByWalletAddress.js +0 -12
- package/esm/src/api/types/transactions/getByHash.js +0 -11
- package/esm/src/api/types/transactions/getBySearch.js +0 -7
- package/esm/src/api/types/utils/gasPrices.js +0 -12
- package/esm/src/api/utils/constants.js +0 -3
- package/esm/src/api/utils/helpers.js +0 -11
- package/esm/src/api/utils/isValidENSAddress.js +0 -21
- package/esm/src/api/utils/postQueryFormatter.js +0 -24
- package/esm/src/api/utils/removeNodesAndEdges.js +0 -51
- package/esm/src/lib/validation/ValidateInput.js +0 -35
- package/esm/src/lib/validation/codegenDerivedValidators.js +0 -28
- package/esm/src/lib/validation/validators.js +0 -105
- package/esm/{src/client → client}/index.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/actions.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_fetchNFTCollectionDetails.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_fetchNFTs.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_fetchNFTsByCollection.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getTokenMetadataByContractAddress.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getTokenMetadataBySymbol.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getTransactionsByAddress.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getTransfersByNFT.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getWalletTokenBalance.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getWalletTokenTransactions.js +0 -0
- package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_verifyNFTsOwner.js +0 -0
- package/esm/{src/core → core}/addOns/shared/helpers.js +0 -0
- package/esm/{src/core → core}/chains.js +0 -0
- package/esm/{src/core → core}/core.js +0 -0
- package/esm/{src/core → core}/index.d.ts +4 -4
- /package/esm/{src/core → core}/index.js +0 -0
- /package/esm/{src/lib → lib}/errors/QNChainNotSupported.js +0 -0
- /package/esm/{src/lib → lib}/errors/QNInputValidationError.js +0 -0
- /package/esm/{src/lib → lib}/errors/QNInvalidEnpointUrl.js +0 -0
- /package/esm/{src/lib → lib}/helpers/globalFetch.js +0 -0
package/esm/src/api/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
// Using zod for runtime validation
|
|
5
|
-
const contractDetailsValidator = z
|
|
6
|
-
.object({
|
|
7
|
-
contractAddress: isEvmAddress,
|
|
8
|
-
})
|
|
9
|
-
.merge(supportedChainInput)
|
|
10
|
-
.strict();
|
|
11
|
-
|
|
12
|
-
export { contractDetailsValidator };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, baseEventsInput, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const contractEventsValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
contractAddress: isEvmAddress,
|
|
7
|
-
})
|
|
8
|
-
.merge(baseEventsInput)
|
|
9
|
-
.merge(supportedChainInput)
|
|
10
|
-
.strict();
|
|
11
|
-
|
|
12
|
-
export { contractEventsValidator };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, paginationParams, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const nftsByContractAddressValidator = z
|
|
5
|
-
.object({ contractAddress: isEvmAddress })
|
|
6
|
-
.merge(paginationParams)
|
|
7
|
-
.merge(supportedChainInput)
|
|
8
|
-
.strict();
|
|
9
|
-
|
|
10
|
-
export { nftsByContractAddressValidator };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { isENSAddress, isEvmAddress, contractTokensFilter, paginationParams, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const walletByAddressValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
address: z.union([isENSAddress, isEvmAddress]),
|
|
7
|
-
filter: z
|
|
8
|
-
.object({
|
|
9
|
-
contractTokens: contractTokensFilter,
|
|
10
|
-
})
|
|
11
|
-
.strict()
|
|
12
|
-
.optional(),
|
|
13
|
-
})
|
|
14
|
-
.merge(paginationParams)
|
|
15
|
-
.merge(supportedChainInput)
|
|
16
|
-
.strict();
|
|
17
|
-
|
|
18
|
-
export { walletByAddressValidator };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const nftCollectionDetailsValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
contractAddress: isEvmAddress,
|
|
7
|
-
})
|
|
8
|
-
.merge(supportedChainInput)
|
|
9
|
-
.strict();
|
|
10
|
-
|
|
11
|
-
export { nftCollectionDetailsValidator };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, baseEventsInput, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const collectionEventsValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
contractAddress: isEvmAddress,
|
|
7
|
-
})
|
|
8
|
-
.merge(baseEventsInput)
|
|
9
|
-
.merge(supportedChainInput)
|
|
10
|
-
.strict();
|
|
11
|
-
|
|
12
|
-
export { collectionEventsValidator };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const nftDetailsValidator = z
|
|
5
|
-
.object({ contractAddress: isEvmAddress, tokenId: z.string() })
|
|
6
|
-
.merge(supportedChainInput)
|
|
7
|
-
.strict();
|
|
8
|
-
|
|
9
|
-
export { nftDetailsValidator };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { isEvmAddress, baseEventsInput, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const nftEventsValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
contractAddress: isEvmAddress,
|
|
7
|
-
tokenId: z.string(),
|
|
8
|
-
})
|
|
9
|
-
.merge(baseEventsInput)
|
|
10
|
-
.merge(supportedChainInput)
|
|
11
|
-
.strict();
|
|
12
|
-
|
|
13
|
-
export { nftEventsValidator };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isENSAddress, isEvmAddress, contractTokensFilter, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const verifyOwnershipValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
address: z.union([isENSAddress, isEvmAddress]),
|
|
7
|
-
nfts: contractTokensFilter,
|
|
8
|
-
})
|
|
9
|
-
.merge(supportedChainInput)
|
|
10
|
-
.strict();
|
|
11
|
-
|
|
12
|
-
export { verifyOwnershipValidator };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isENSAddress, isEvmAddress, paginationParams, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const balancesByWalletAddressValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
address: z.union([isENSAddress, isEvmAddress]),
|
|
7
|
-
})
|
|
8
|
-
.merge(paginationParams)
|
|
9
|
-
.merge(supportedChainInput)
|
|
10
|
-
.strict();
|
|
11
|
-
|
|
12
|
-
export { balancesByWalletAddressValidator };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { isEvmTransactionHash, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const transactionsByHashValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
hash: isEvmTransactionHash,
|
|
7
|
-
})
|
|
8
|
-
.merge(supportedChainInput)
|
|
9
|
-
.strict();
|
|
10
|
-
|
|
11
|
-
export { transactionsByHashValidator };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { gasPriceFilters, supportedChainInput } from '../../../lib/validation/validators.js';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
|
-
const gasPricesValidator = z
|
|
5
|
-
.object({
|
|
6
|
-
returnInGwei: z.boolean().nullish(),
|
|
7
|
-
filter: gasPriceFilters.nullish(),
|
|
8
|
-
})
|
|
9
|
-
.merge(supportedChainInput)
|
|
10
|
-
.strict();
|
|
11
|
-
|
|
12
|
-
export { gasPricesValidator };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* https://eips.ethereum.org/EIPS/eip-137#name-syntax
|
|
3
|
-
*
|
|
4
|
-
* explanation of the regex pattern:
|
|
5
|
-
* ^ Matches the start of the string
|
|
6
|
-
* (?=.{3,255}$) Lookahead assertion for the length of the string (3 to 255 characters)
|
|
7
|
-
* [\p{L}\p{N}\p{Pd}\p{M}\p{S}\u{1F300}-\u{1F6FF}]+ Matches one or more Unicode letter, number, punctuation, symbol, or character in the specified emoji range
|
|
8
|
-
* (\.[\p{L}\p{N}\p{Pd}\p{M}\p{S}\u{1F300}-\u{1F6FF}]+)* Matches zero or more occurrences of a dot followed by one or more Unicode characters
|
|
9
|
-
* \.(?:eth|xyz|art) Matches a dot followed by either 'eth', 'xyz', or 'art'
|
|
10
|
-
* $ Matches the end of the string
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
function isValidENSAddress(ensAddress) {
|
|
14
|
-
const allowedTLDs = ['eth', 'xyz', 'art'];
|
|
15
|
-
const unicodeAndEmojis = '[\\p{L}\\p{N}\\p{Pd}\\p{M}\\p{S}\\u{1F300}-\\u{1F6FF}]';
|
|
16
|
-
const regexPattern = `^(?=.{3,255}$)${unicodeAndEmojis}+(\\.${unicodeAndEmojis}+)*\\.(?:${allowedTLDs.join('|')})$`;
|
|
17
|
-
const regex = new RegExp(regexPattern, 'mu');
|
|
18
|
-
return regex.test(ensAddress);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export { isValidENSAddress };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// Formats the query result with the edges and nodes removed into what we want to return to the user
|
|
2
|
-
function formatQueryResult(queryResult, resultsKey, // Key that the actual results are in
|
|
3
|
-
paginationKey, // Key that the pagination info is in
|
|
4
|
-
resultsKeyToRemove, // Key that the results are nested under to remove for each entry
|
|
5
|
-
additionalModification) {
|
|
6
|
-
const additionaProperties = Object.fromEntries(Object.entries(queryResult).filter(([key]) => key !== resultsKey && key !== paginationKey));
|
|
7
|
-
let trimmedResults = queryResult[resultsKey];
|
|
8
|
-
if (resultsKeyToRemove) {
|
|
9
|
-
trimmedResults = trimmedResults.map((result) => result[resultsKeyToRemove] || {});
|
|
10
|
-
}
|
|
11
|
-
const formattedResultBase = {
|
|
12
|
-
results: trimmedResults,
|
|
13
|
-
pageInfo: queryResult[paginationKey],
|
|
14
|
-
};
|
|
15
|
-
let result = {
|
|
16
|
-
...formattedResultBase,
|
|
17
|
-
...additionaProperties,
|
|
18
|
-
};
|
|
19
|
-
if (additionalModification)
|
|
20
|
-
result = additionalModification(result);
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { formatQueryResult };
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
function isConnection(object) {
|
|
2
|
-
return (typeof object === 'object' &&
|
|
3
|
-
!!object &&
|
|
4
|
-
('edges' in object ||
|
|
5
|
-
'total' in object ||
|
|
6
|
-
'pageInfo' in object ||
|
|
7
|
-
'breadcrumbs' in object));
|
|
8
|
-
}
|
|
9
|
-
function removeNodesAndEdges(data) {
|
|
10
|
-
const keys = Object.keys(data);
|
|
11
|
-
const output = {};
|
|
12
|
-
keys.forEach((key) => {
|
|
13
|
-
const value = data[key];
|
|
14
|
-
if (typeof value === 'string' ||
|
|
15
|
-
typeof value === 'boolean' ||
|
|
16
|
-
typeof value === 'number' ||
|
|
17
|
-
value === null ||
|
|
18
|
-
value === undefined) {
|
|
19
|
-
return (output[key] = value);
|
|
20
|
-
}
|
|
21
|
-
if (Array.isArray(value)) {
|
|
22
|
-
// An array can just be an array of strings and not edges and nodes
|
|
23
|
-
if (value.every((val) => typeof val === 'string')) {
|
|
24
|
-
return (output[key] = value);
|
|
25
|
-
}
|
|
26
|
-
return (output[key] = value.map((item) => removeNodesAndEdges(item)));
|
|
27
|
-
}
|
|
28
|
-
if (isConnection(value)) {
|
|
29
|
-
if (value.breadcrumbs)
|
|
30
|
-
output[`${key}Breadcrumbs`] = value.breadcrumbs;
|
|
31
|
-
if (value.total)
|
|
32
|
-
output[`${key}Total`] = value.total;
|
|
33
|
-
if (value.viewport)
|
|
34
|
-
output[`${key}Viewport`] = value.viewport;
|
|
35
|
-
if (value.pageInfo) {
|
|
36
|
-
const { ...pageInfoRest } = value.pageInfo;
|
|
37
|
-
output[`${key}PageInfo`] = pageInfoRest;
|
|
38
|
-
}
|
|
39
|
-
return (output[key] = value.edges?.map((item) => {
|
|
40
|
-
if (item.node) {
|
|
41
|
-
return removeNodesAndEdges(item.node);
|
|
42
|
-
}
|
|
43
|
-
return item;
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
return (output[key] = removeNodesAndEdges(value));
|
|
47
|
-
});
|
|
48
|
-
return output;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { removeNodesAndEdges };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { QNInputValidationError } from '../errors/QNInputValidationError.js';
|
|
2
|
-
|
|
3
|
-
function formatErrors(baseError) {
|
|
4
|
-
const errorMessages = [];
|
|
5
|
-
baseError.errors.forEach((error) => {
|
|
6
|
-
errorMessages.push(`${error.path.length > 0 ? error.path + ': ' : ''}${error.message}`);
|
|
7
|
-
});
|
|
8
|
-
return errorMessages.length > 0
|
|
9
|
-
? new QNInputValidationError({
|
|
10
|
-
messages: errorMessages,
|
|
11
|
-
zodError: baseError,
|
|
12
|
-
})
|
|
13
|
-
: null;
|
|
14
|
-
}
|
|
15
|
-
// Decorator for runtime validation to handle input that is unknown at compile time
|
|
16
|
-
function ValidateInput(schema) {
|
|
17
|
-
return function (target, propertyName, descriptor) {
|
|
18
|
-
const method = descriptor.value;
|
|
19
|
-
if (!method)
|
|
20
|
-
return;
|
|
21
|
-
descriptor.value = async function (...args) {
|
|
22
|
-
const [input] = args;
|
|
23
|
-
const validation = schema.safeParse(input);
|
|
24
|
-
if (!validation.success) {
|
|
25
|
-
const formattedErrors = formatErrors(validation.error);
|
|
26
|
-
if (formattedErrors) {
|
|
27
|
-
throw formattedErrors;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return method.apply(this, args);
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { ValidateInput, formatErrors };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
// Below are zod enums used a validators that should be the same as the string unions generated by codegen.
|
|
4
|
-
// There are compile-time checks to ensure that they are the same and in sync. If you are getting a
|
|
5
|
-
// type error here, you need to update the the validator array to match the codegen type.
|
|
6
|
-
const CONTRACT_STANDARDS = ['ERC20', 'ERC721', 'ERC1155'];
|
|
7
|
-
const isContractStandard = z.enum(CONTRACT_STANDARDS);
|
|
8
|
-
const MARKETPLACES = [
|
|
9
|
-
'BLUR',
|
|
10
|
-
'CRYPTOPUNKS',
|
|
11
|
-
'LOOKSRARE',
|
|
12
|
-
'NIFTY_GATEWAY',
|
|
13
|
-
'OPENSEA',
|
|
14
|
-
'SEAPORT',
|
|
15
|
-
'X2Y2',
|
|
16
|
-
'ZEROX',
|
|
17
|
-
];
|
|
18
|
-
const isMarketplace = z.enum(MARKETPLACES);
|
|
19
|
-
const TOKEN_TRANSFER_TYPES = [
|
|
20
|
-
'TRANSFER',
|
|
21
|
-
'MINT',
|
|
22
|
-
'SALE',
|
|
23
|
-
'SWAP',
|
|
24
|
-
'BURN',
|
|
25
|
-
];
|
|
26
|
-
const isTokenTransferType = z.enum(TOKEN_TRANSFER_TYPES);
|
|
27
|
-
|
|
28
|
-
export { isContractStandard, isMarketplace, isTokenTransferType };
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { isContractStandard, isMarketplace, isTokenTransferType } from './codegenDerivedValidators.js';
|
|
3
|
-
import { supportedChains } from '../../api/types/chains.js';
|
|
4
|
-
import { isValidENSAddress } from '../../api/utils/isValidENSAddress.js';
|
|
5
|
-
|
|
6
|
-
const isEvmAddress = z
|
|
7
|
-
.string()
|
|
8
|
-
.length(42) // Using built-in function for better error messages
|
|
9
|
-
.startsWith('0x') // Using built-in function for better error messages
|
|
10
|
-
.regex(/^0x[a-fA-F0-9]{40}$/, 'Not a valid address');
|
|
11
|
-
const isENSAddress = z.string().refine((val) => isValidENSAddress(val));
|
|
12
|
-
const isEvmTransactionHash = z
|
|
13
|
-
.string()
|
|
14
|
-
.length(66) // Using built-in function for better error messages
|
|
15
|
-
.startsWith('0x') // Using built-in function for better error messages
|
|
16
|
-
.regex(/^0x[a-fA-F0-9]{64}$/, 'Not a valid transaction hash');
|
|
17
|
-
const supportedChainInput = z
|
|
18
|
-
.object({
|
|
19
|
-
chain: z.enum(supportedChains).nullish(),
|
|
20
|
-
})
|
|
21
|
-
.strict();
|
|
22
|
-
function fullFilters(baseType) {
|
|
23
|
-
return z
|
|
24
|
-
.object({
|
|
25
|
-
eq: baseType.nullish(),
|
|
26
|
-
gt: baseType.nullish(),
|
|
27
|
-
gte: baseType.nullish(),
|
|
28
|
-
in: z.array(baseType).nullish(),
|
|
29
|
-
lt: baseType.nullish(),
|
|
30
|
-
lte: baseType.nullish(),
|
|
31
|
-
notIn: z.array(baseType).nullish(),
|
|
32
|
-
})
|
|
33
|
-
.strict();
|
|
34
|
-
}
|
|
35
|
-
function limitedFilters(baseType) {
|
|
36
|
-
return z
|
|
37
|
-
.object({
|
|
38
|
-
eq: baseType.nullish(),
|
|
39
|
-
in: z.array(baseType).nullish(),
|
|
40
|
-
notIn: z.array(baseType).nullish(),
|
|
41
|
-
})
|
|
42
|
-
.strict();
|
|
43
|
-
}
|
|
44
|
-
const tokenEventFilters = z
|
|
45
|
-
.object({
|
|
46
|
-
blockNumber: fullFilters(z.number().positive()).nullish(),
|
|
47
|
-
contractAddress: limitedFilters(isEvmAddress).nullish(),
|
|
48
|
-
contractStandard: limitedFilters(isContractStandard).nullish(),
|
|
49
|
-
fromAddress: limitedFilters(isEvmAddress).nullish(),
|
|
50
|
-
marketplace: limitedFilters(isMarketplace).nullish(),
|
|
51
|
-
timestamp: fullFilters(z.string().datetime({ offset: true })).nullish(),
|
|
52
|
-
toAddress: limitedFilters(isEvmAddress).nullish(),
|
|
53
|
-
transactionHash: limitedFilters(isEvmTransactionHash).nullish(),
|
|
54
|
-
type: limitedFilters(isTokenTransferType).nullish(),
|
|
55
|
-
walletAddress: limitedFilters(isEvmAddress).nullish(),
|
|
56
|
-
})
|
|
57
|
-
.strict();
|
|
58
|
-
const transactionFilters = z
|
|
59
|
-
.object({
|
|
60
|
-
blockNumber: fullFilters(z.number().positive()).nullish(),
|
|
61
|
-
fromAddress: isEvmAddress.nullish(),
|
|
62
|
-
timestamp: fullFilters(z.string().datetime({ offset: true })).nullish(),
|
|
63
|
-
toAddress: isEvmAddress.nullish(),
|
|
64
|
-
})
|
|
65
|
-
.strict();
|
|
66
|
-
const gasPriceFilters = z
|
|
67
|
-
.object({
|
|
68
|
-
blockNumber: fullFilters(z.number().positive()).nullish(),
|
|
69
|
-
})
|
|
70
|
-
.strict();
|
|
71
|
-
const paginationParams = z
|
|
72
|
-
.object({
|
|
73
|
-
before: z.string().nullish(),
|
|
74
|
-
after: z.string().nullish(),
|
|
75
|
-
first: z.number().positive().nullish(),
|
|
76
|
-
})
|
|
77
|
-
.strict();
|
|
78
|
-
const baseEventsInput = z
|
|
79
|
-
.object({
|
|
80
|
-
filter: tokenEventFilters.nullish(),
|
|
81
|
-
})
|
|
82
|
-
.merge(paginationParams)
|
|
83
|
-
.strict();
|
|
84
|
-
const baseTransactionsInput = z
|
|
85
|
-
.object({
|
|
86
|
-
filter: transactionFilters.optional(),
|
|
87
|
-
})
|
|
88
|
-
.merge(paginationParams)
|
|
89
|
-
.strict();
|
|
90
|
-
const contractTokensFilter = z
|
|
91
|
-
.array(z
|
|
92
|
-
.object({
|
|
93
|
-
contractAddress: isEvmAddress,
|
|
94
|
-
tokenId: z.string().optional(),
|
|
95
|
-
})
|
|
96
|
-
.strict())
|
|
97
|
-
.nonempty();
|
|
98
|
-
const rpcPaginationParams = z
|
|
99
|
-
.object({
|
|
100
|
-
perPage: z.number().positive().nullish(),
|
|
101
|
-
page: z.number().positive().nullish(),
|
|
102
|
-
})
|
|
103
|
-
.strict();
|
|
104
|
-
|
|
105
|
-
export { baseEventsInput, baseTransactionsInput, contractTokensFilter, gasPriceFilters, isENSAddress, isEvmAddress, isEvmTransactionHash, paginationParams, rpcPaginationParams, supportedChainInput, tokenEventFilters, transactionFilters };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/esm/{src/core → core}/addOns/nftTokenV2/types/qn_getTokenMetadataByContractAddress.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -79,8 +79,8 @@ type RPCNftCollectionDetails = {
|
|
|
79
79
|
type QNFetchNFTCollectionDetailsResult = RPCNftCollectionDetails[];
|
|
80
80
|
|
|
81
81
|
declare const qnFetchNFTsByCollectionInputSchema: z.ZodObject<{
|
|
82
|
-
collection: z.ZodString;
|
|
83
82
|
omitFields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
83
|
+
collection: z.ZodString;
|
|
84
84
|
tokens: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
85
85
|
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
86
86
|
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -262,22 +262,22 @@ type QNGetWalletTokenBalanceResult = {
|
|
|
262
262
|
};
|
|
263
263
|
|
|
264
264
|
declare const qnGetWalletTokenTransactionsInputSchema: z.ZodObject<{
|
|
265
|
-
address: z.ZodString;
|
|
266
265
|
contract: z.ZodString;
|
|
266
|
+
address: z.ZodString;
|
|
267
267
|
fromBlock: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
268
268
|
toBlock: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
269
269
|
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
270
270
|
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
271
271
|
}, "strict", z.ZodTypeAny, {
|
|
272
|
-
address: string;
|
|
273
272
|
contract: string;
|
|
273
|
+
address: string;
|
|
274
274
|
fromBlock?: number | null | undefined;
|
|
275
275
|
toBlock?: number | null | undefined;
|
|
276
276
|
perPage?: number | null | undefined;
|
|
277
277
|
page?: number | null | undefined;
|
|
278
278
|
}, {
|
|
279
|
-
address: string;
|
|
280
279
|
contract: string;
|
|
280
|
+
address: string;
|
|
281
281
|
fromBlock?: number | null | undefined;
|
|
282
282
|
toBlock?: number | null | undefined;
|
|
283
283
|
perPage?: number | null | undefined;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|