@quicknode/sdk 2.5.2 → 3.0.0-alpha.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/browser.js +9 -0
- package/index.d.ts +2298 -650
- package/index.darwin-arm64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-arm64-musl.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.linux-x64-musl.node +0 -0
- package/package.json +46 -54
- package/sdk.d.ts +339 -0
- package/sdk.js +102 -0
- package/sdk.mjs +34 -0
- package/README.md +0 -80
- package/cjs/index.js +0 -541
- package/cjs/package.json +0 -3
- package/esm/client/client.js +0 -9
- package/esm/client/index.js +0 -2
- package/esm/core/addOns/nftTokenV2/actions.js +0 -107
- package/esm/core/addOns/nftTokenV2/types/qn_fetchNFTCollectionDetails.js +0 -10
- package/esm/core/addOns/nftTokenV2/types/qn_fetchNFTs.js +0 -13
- package/esm/core/addOns/nftTokenV2/types/qn_fetchNFTsByCollection.js +0 -13
- package/esm/core/addOns/nftTokenV2/types/qn_getTokenMetadataByContractAddress.js +0 -10
- package/esm/core/addOns/nftTokenV2/types/qn_getTokenMetadataBySymbol.js +0 -11
- package/esm/core/addOns/nftTokenV2/types/qn_getTransactionsByAddress.js +0 -18
- package/esm/core/addOns/nftTokenV2/types/qn_getTransfersByNFT.js +0 -12
- package/esm/core/addOns/nftTokenV2/types/qn_getWalletTokenBalance.js +0 -12
- package/esm/core/addOns/nftTokenV2/types/qn_getWalletTokenTransactions.js +0 -14
- package/esm/core/addOns/nftTokenV2/types/qn_verifyNFTsOwner.js +0 -11
- package/esm/core/addOns/shared/helpers.js +0 -10
- package/esm/core/chains.js +0 -117
- package/esm/core/core.js +0 -30
- package/esm/core/index.d.ts +0 -558
- package/esm/core/index.js +0 -2
- package/esm/index.js +0 -11
- package/esm/lib/constants.js +0 -4
- package/esm/lib/errors/QNChainNotSupported.js +0 -7
- package/esm/lib/errors/QNInputValidationError.js +0 -10
- package/esm/lib/errors/QNInvalidEnpointUrl.js +0 -7
- package/esm/lib/helpers/getClientHeaders.js +0 -11
- package/esm/lib/helpers/globalFetch.js +0 -13
- package/esm/lib/validation/ValidateInput.js +0 -16
- package/esm/lib/validation/validators.js +0 -15
- package/esm/package.json +0 -4
- package/esm/solana/index.d.ts +0 -76
- package/esm/solana/index.js +0 -2
- package/esm/solana/solana.js +0 -111
package/index.d.ts
CHANGED
|
@@ -1,658 +1,2306 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export { viem };
|
|
4
|
-
import { z, ZodError } from 'zod';
|
|
5
|
-
import * as _solana_web3_js from '@solana/web3.js';
|
|
6
|
-
import { Transaction, PublicKey, Keypair, SendOptions, Connection } from '@solana/web3.js';
|
|
7
|
-
export { _solana_web3_js as solanaWeb3 };
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
8
3
|
|
|
9
|
-
|
|
10
|
-
[K in keyof T]: SimplifyType<T[K]>;
|
|
11
|
-
} : T;
|
|
4
|
+
/* auto-generated by NAPI-RS */
|
|
12
5
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
collectionTokenId: string;
|
|
20
|
-
collectionAddress: string;
|
|
21
|
-
name: string;
|
|
22
|
-
description: string;
|
|
23
|
-
imageUrl: string;
|
|
24
|
-
traits: NftTrait[];
|
|
25
|
-
chain: string;
|
|
26
|
-
network: string;
|
|
27
|
-
};
|
|
28
|
-
type RPCTokenMetadata = {
|
|
29
|
-
name: string | null;
|
|
30
|
-
symbol: string | null;
|
|
31
|
-
contractAddress: string;
|
|
32
|
-
decimals: string | null;
|
|
33
|
-
genesisBlock: string | null;
|
|
34
|
-
genesisTransaction: string | null;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
declare const qnFetchNFTInputSchema: z.ZodObject<{
|
|
38
|
-
wallet: z.ZodString;
|
|
39
|
-
contracts: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
40
|
-
omitFields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
41
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
42
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
43
|
-
}, "strict", z.ZodTypeAny, {
|
|
44
|
-
wallet: string;
|
|
45
|
-
contracts?: string[] | null | undefined;
|
|
46
|
-
omitFields?: string[] | null | undefined;
|
|
47
|
-
perPage?: number | null | undefined;
|
|
48
|
-
page?: number | null | undefined;
|
|
49
|
-
}, {
|
|
50
|
-
wallet: string;
|
|
51
|
-
contracts?: string[] | null | undefined;
|
|
52
|
-
omitFields?: string[] | null | undefined;
|
|
53
|
-
perPage?: number | null | undefined;
|
|
54
|
-
page?: number | null | undefined;
|
|
55
|
-
}>;
|
|
56
|
-
type QNFetchNFTInput = z.infer<typeof qnFetchNFTInputSchema>;
|
|
57
|
-
type QNFetchNFTResult = {
|
|
58
|
-
owner: string;
|
|
59
|
-
assets: RpcNftAsset[];
|
|
60
|
-
totalPages: number;
|
|
61
|
-
totalItems: number;
|
|
62
|
-
pageNumber: number;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
declare const qnFetchNFTCollectionDetailsInputSchema: z.ZodObject<{
|
|
66
|
-
contracts: z.ZodArray<z.ZodString, "many">;
|
|
67
|
-
}, "strict", z.ZodTypeAny, {
|
|
68
|
-
contracts: string[];
|
|
69
|
-
}, {
|
|
70
|
-
contracts: string[];
|
|
71
|
-
}>;
|
|
72
|
-
type QNFetchNFTCollectionDetailsInput = z.infer<typeof qnFetchNFTCollectionDetailsInputSchema>;
|
|
73
|
-
type RPCNftCollectionDetails = {
|
|
74
|
-
name: string;
|
|
75
|
-
address: string;
|
|
76
|
-
description: string;
|
|
77
|
-
erc1155: boolean;
|
|
78
|
-
erc721: boolean;
|
|
79
|
-
totalSupply: number;
|
|
80
|
-
circulatingSupply: number;
|
|
81
|
-
genesisBlock: number | null;
|
|
82
|
-
genesisTransaction: string | null;
|
|
83
|
-
};
|
|
84
|
-
type QNFetchNFTCollectionDetailsResult = RPCNftCollectionDetails[];
|
|
85
|
-
|
|
86
|
-
declare const qnFetchNFTsByCollectionInputSchema: z.ZodObject<{
|
|
87
|
-
omitFields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
88
|
-
collection: z.ZodString;
|
|
89
|
-
tokens: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
90
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
91
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
92
|
-
}, "strict", z.ZodTypeAny, {
|
|
93
|
-
collection: string;
|
|
94
|
-
omitFields?: string[] | null | undefined;
|
|
95
|
-
tokens?: string[] | null | undefined;
|
|
96
|
-
perPage?: number | null | undefined;
|
|
97
|
-
page?: number | null | undefined;
|
|
98
|
-
}, {
|
|
99
|
-
collection: string;
|
|
100
|
-
omitFields?: string[] | null | undefined;
|
|
101
|
-
tokens?: string[] | null | undefined;
|
|
102
|
-
perPage?: number | null | undefined;
|
|
103
|
-
page?: number | null | undefined;
|
|
104
|
-
}>;
|
|
105
|
-
type QNFetchNFTsByCollectionInput = z.infer<typeof qnFetchNFTsByCollectionInputSchema>;
|
|
106
|
-
type QNFetchNFTsByCollectionResult = {
|
|
107
|
-
collection: string;
|
|
108
|
-
tokens: RpcNftAsset[];
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
declare const qnGetTransfersByNFTInputSchema: z.ZodObject<{
|
|
112
|
-
collection: z.ZodString;
|
|
113
|
-
collectionTokenId: z.ZodString;
|
|
114
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
115
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
116
|
-
}, "strict", z.ZodTypeAny, {
|
|
117
|
-
collection: string;
|
|
118
|
-
collectionTokenId: string;
|
|
119
|
-
perPage?: number | null | undefined;
|
|
120
|
-
page?: number | null | undefined;
|
|
121
|
-
}, {
|
|
122
|
-
collection: string;
|
|
123
|
-
collectionTokenId: string;
|
|
124
|
-
perPage?: number | null | undefined;
|
|
125
|
-
page?: number | null | undefined;
|
|
126
|
-
}>;
|
|
127
|
-
type QNGetTransfersByNFTInput = z.infer<typeof qnGetTransfersByNFTInputSchema>;
|
|
128
|
-
type TransfersByNFTTransfer = {
|
|
129
|
-
blockNumber: number;
|
|
130
|
-
date: string;
|
|
131
|
-
from: string;
|
|
132
|
-
to: string;
|
|
133
|
-
txHash: string;
|
|
134
|
-
};
|
|
135
|
-
type QNGetTransfersByNFTResult = {
|
|
136
|
-
collection: string;
|
|
137
|
-
transfers: TransfersByNFTTransfer[];
|
|
138
|
-
totalPages: number;
|
|
139
|
-
pageNumber: number;
|
|
140
|
-
totalItems: number;
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
declare const qnVerifyNFTsOwnerInputSchema: z.ZodObject<{
|
|
144
|
-
wallet: z.ZodString;
|
|
145
|
-
contracts: z.ZodArray<z.ZodString, "many">;
|
|
146
|
-
}, "strict", z.ZodTypeAny, {
|
|
147
|
-
wallet: string;
|
|
148
|
-
contracts: string[];
|
|
149
|
-
}, {
|
|
150
|
-
wallet: string;
|
|
151
|
-
contracts: string[];
|
|
152
|
-
}>;
|
|
153
|
-
type QNVerifyNFTsOwnerInput = z.infer<typeof qnVerifyNFTsOwnerInputSchema>;
|
|
154
|
-
type QNVerifyNFTsOwnerResult = {
|
|
155
|
-
owner: string;
|
|
156
|
-
assets: string[];
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
declare const qnGetTokenMetadataByCAInputSchema: z.ZodObject<{
|
|
160
|
-
contract: z.ZodString;
|
|
161
|
-
}, "strict", z.ZodTypeAny, {
|
|
162
|
-
contract: string;
|
|
163
|
-
}, {
|
|
164
|
-
contract: string;
|
|
165
|
-
}>;
|
|
166
|
-
type QNGetTokenMetadataByCAInput = z.infer<typeof qnGetTokenMetadataByCAInputSchema>;
|
|
167
|
-
type QNGetTokenMetadataByCAResult = RPCTokenMetadata;
|
|
168
|
-
|
|
169
|
-
declare const qnGetTokenMetadataBySymbolInputSchema: z.ZodObject<{
|
|
170
|
-
symbol: z.ZodString;
|
|
171
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
172
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
173
|
-
}, "strict", z.ZodTypeAny, {
|
|
174
|
-
symbol: string;
|
|
175
|
-
perPage?: number | null | undefined;
|
|
176
|
-
page?: number | null | undefined;
|
|
177
|
-
}, {
|
|
178
|
-
symbol: string;
|
|
179
|
-
perPage?: number | null | undefined;
|
|
180
|
-
page?: number | null | undefined;
|
|
181
|
-
}>;
|
|
182
|
-
type QNGetTokenMetadataBySymbolInput = z.infer<typeof qnGetTokenMetadataBySymbolInputSchema>;
|
|
183
|
-
type QNGetTokenMetadataBySymbolResult = {
|
|
184
|
-
tokens: RPCTokenMetadata[];
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
declare const qnGetTransactionsByAddressInputSchema: z.ZodEffects<z.ZodObject<{
|
|
188
|
-
address: z.ZodString;
|
|
189
|
-
fromBlock: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
190
|
-
toBlock: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
191
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
192
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
193
|
-
}, "strict", z.ZodTypeAny, {
|
|
194
|
-
address: string;
|
|
195
|
-
fromBlock?: number | null | undefined;
|
|
196
|
-
toBlock?: number | null | undefined;
|
|
197
|
-
perPage?: number | null | undefined;
|
|
198
|
-
page?: number | null | undefined;
|
|
199
|
-
}, {
|
|
200
|
-
address: string;
|
|
201
|
-
fromBlock?: number | null | undefined;
|
|
202
|
-
toBlock?: number | null | undefined;
|
|
203
|
-
perPage?: number | null | undefined;
|
|
204
|
-
page?: number | null | undefined;
|
|
205
|
-
}>, {
|
|
206
|
-
address: string;
|
|
207
|
-
fromBlock?: number | null | undefined;
|
|
208
|
-
toBlock?: number | null | undefined;
|
|
209
|
-
perPage?: number | null | undefined;
|
|
210
|
-
page?: number | null | undefined;
|
|
211
|
-
}, {
|
|
212
|
-
address: string;
|
|
213
|
-
fromBlock?: number | null | undefined;
|
|
214
|
-
toBlock?: number | null | undefined;
|
|
215
|
-
perPage?: number | null | undefined;
|
|
216
|
-
page?: number | null | undefined;
|
|
217
|
-
}>;
|
|
218
|
-
type QNGetTransactionsByAddressInput = z.infer<typeof qnGetTransactionsByAddressInputSchema>;
|
|
219
|
-
interface RPCTransactionByAddress {
|
|
220
|
-
blockTimestamp: string;
|
|
221
|
-
transactionHash: string;
|
|
222
|
-
blockNumber: string;
|
|
223
|
-
transactionIndex: number;
|
|
224
|
-
fromAddress: string;
|
|
225
|
-
toAddress: string;
|
|
226
|
-
contractAddress: string | null;
|
|
227
|
-
value: string;
|
|
228
|
-
}
|
|
229
|
-
type QNGetTransactionsByAddressResult = {
|
|
230
|
-
paginatedItems: RPCTransactionByAddress[];
|
|
231
|
-
totalItems: number;
|
|
232
|
-
totalPages: number;
|
|
233
|
-
pageNumber: number;
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
declare const qnGetWalletTokenBalanceInputSchema: z.ZodObject<{
|
|
237
|
-
wallet: z.ZodString;
|
|
238
|
-
contracts: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
239
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
240
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
241
|
-
}, "strict", z.ZodTypeAny, {
|
|
242
|
-
wallet: string;
|
|
243
|
-
contracts?: string[] | null | undefined;
|
|
244
|
-
perPage?: number | null | undefined;
|
|
245
|
-
page?: number | null | undefined;
|
|
246
|
-
}, {
|
|
247
|
-
wallet: string;
|
|
248
|
-
contracts?: string[] | null | undefined;
|
|
249
|
-
perPage?: number | null | undefined;
|
|
250
|
-
page?: number | null | undefined;
|
|
251
|
-
}>;
|
|
252
|
-
type QNGetWalletTokenBalanceInput = z.infer<typeof qnGetWalletTokenBalanceInputSchema>;
|
|
253
|
-
type RPCWalletTokenBalance = {
|
|
254
|
-
quantityIn: string;
|
|
255
|
-
quantityOut: string;
|
|
256
|
-
name: string | null;
|
|
257
|
-
symbol: string | null;
|
|
258
|
-
decimals: string | null;
|
|
259
|
-
address: string;
|
|
260
|
-
totalBalance: string;
|
|
261
|
-
};
|
|
262
|
-
type QNGetWalletTokenBalanceResult = {
|
|
263
|
-
result: RPCWalletTokenBalance[];
|
|
264
|
-
totalItems: number;
|
|
265
|
-
totalPages: number;
|
|
266
|
-
pageNumber: number;
|
|
267
|
-
};
|
|
268
|
-
|
|
269
|
-
declare const qnGetWalletTokenTransactionsInputSchema: z.ZodObject<{
|
|
270
|
-
contract: z.ZodString;
|
|
271
|
-
address: z.ZodString;
|
|
272
|
-
fromBlock: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
273
|
-
toBlock: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
274
|
-
perPage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
275
|
-
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
276
|
-
}, "strict", z.ZodTypeAny, {
|
|
277
|
-
contract: string;
|
|
278
|
-
address: string;
|
|
279
|
-
fromBlock?: number | null | undefined;
|
|
280
|
-
toBlock?: number | null | undefined;
|
|
281
|
-
perPage?: number | null | undefined;
|
|
282
|
-
page?: number | null | undefined;
|
|
283
|
-
}, {
|
|
284
|
-
contract: string;
|
|
285
|
-
address: string;
|
|
286
|
-
fromBlock?: number | null | undefined;
|
|
287
|
-
toBlock?: number | null | undefined;
|
|
288
|
-
perPage?: number | null | undefined;
|
|
289
|
-
page?: number | null | undefined;
|
|
290
|
-
}>;
|
|
291
|
-
type QNGetWalletTokenTransactionsInput = z.infer<typeof qnGetWalletTokenTransactionsInputSchema>;
|
|
292
|
-
type RPCFullTokenMetadata = {
|
|
293
|
-
address: string;
|
|
294
|
-
genesisBlock: string | null;
|
|
295
|
-
genesisTransaction: string | null;
|
|
296
|
-
name: string | null;
|
|
297
|
-
symbol: string | null;
|
|
298
|
-
decimals: string | null;
|
|
299
|
-
contractAddress: string;
|
|
300
|
-
};
|
|
301
|
-
type RPCTokenTransaction = {
|
|
302
|
-
blockNumber: string;
|
|
303
|
-
transactionHash: string;
|
|
304
|
-
toAddress: string;
|
|
305
|
-
fromAddress: string;
|
|
306
|
-
logIndex: number;
|
|
307
|
-
type: string;
|
|
308
|
-
timestamp: string;
|
|
309
|
-
receivedTokenContractAddress: string | null;
|
|
310
|
-
sentTokenContractAddress: string | null;
|
|
311
|
-
sentAmount: string;
|
|
312
|
-
receivedAmount: string;
|
|
313
|
-
decimalSentAmount: string;
|
|
314
|
-
decimalReceivedAmount: string;
|
|
315
|
-
};
|
|
316
|
-
type QNGetWalletTokenTransactionsResult = {
|
|
317
|
-
paginatedItems: RPCTokenTransaction[];
|
|
318
|
-
totalItems: number;
|
|
319
|
-
totalPages: number;
|
|
320
|
-
pageNumber: number;
|
|
321
|
-
token: RPCFullTokenMetadata;
|
|
322
|
-
};
|
|
323
|
-
|
|
324
|
-
type NFTAndTokenActions = {
|
|
325
|
-
/**
|
|
326
|
-
* Returns aggregated data on NFTs for a given wallet.
|
|
327
|
-
*
|
|
328
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_fetchNFTs_v2
|
|
329
|
-
*
|
|
330
|
-
* @param args - {@link QNFetchNFTInput}
|
|
331
|
-
* @returns response - {@link QNFetchNFTsResult}
|
|
332
|
-
*
|
|
333
|
-
* @example
|
|
334
|
-
* import QuickNode from '@quicknode/sdk';
|
|
335
|
-
*
|
|
336
|
-
* const core = new QuickNode.Core({
|
|
337
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
338
|
-
* config: {
|
|
339
|
-
* addOns: { nftTokenV2: true }
|
|
340
|
-
* }
|
|
341
|
-
* }
|
|
342
|
-
*
|
|
343
|
-
* const response = await core.client.qn_fetchNFTs({
|
|
344
|
-
* wallet: "0xD10E24685c7CDD3cd3BaAA86b09C92Be28c834B6",
|
|
345
|
-
* contracts: ['0x2106C00Ac7dA0A3430aE667879139E832307AeAa'],
|
|
346
|
-
* });
|
|
347
|
-
*/
|
|
348
|
-
qn_fetchNFTs: (args: SimplifyType<QNFetchNFTInput>) => Promise<SimplifyType<QNFetchNFTResult>>;
|
|
349
|
-
/**
|
|
350
|
-
* Returns aggregated data on NFTs for a given wallet.
|
|
351
|
-
*
|
|
352
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_fetchNFTCollectionDetails_v2
|
|
353
|
-
*
|
|
354
|
-
* @param args - {@link QNFetchNFTCollectionDetailsInput}
|
|
355
|
-
* @returns response - {@link QNFetchNFTCollectionDetailsResult}
|
|
356
|
-
*
|
|
357
|
-
* @example
|
|
358
|
-
* import QuickNode from '@quicknode/sdk';
|
|
359
|
-
*
|
|
360
|
-
* const core = new QuickNode.Core({
|
|
361
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
362
|
-
* config: {
|
|
363
|
-
* addOns: { nftTokenV2: true }
|
|
364
|
-
* }
|
|
365
|
-
* }
|
|
366
|
-
*
|
|
367
|
-
* const response = await core.client.qn_fetchNFTCollectionDetails({
|
|
368
|
-
* contracts: [
|
|
369
|
-
* "0x60E4d786628Fea6478F785A6d7e704777c86a7c6",
|
|
370
|
-
* "0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7",
|
|
371
|
-
* ]
|
|
372
|
-
* });
|
|
373
|
-
*/
|
|
374
|
-
qn_fetchNFTCollectionDetails: (args: SimplifyType<QNFetchNFTCollectionDetailsInput>) => Promise<SimplifyType<QNFetchNFTCollectionDetailsResult>>;
|
|
375
|
-
/**
|
|
376
|
-
* Returns aggregated data on NFTs within a given collection.
|
|
377
|
-
*
|
|
378
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_fetchNFTsByCollection_v2
|
|
379
|
-
*
|
|
380
|
-
* @param args - {@link QNFetchNFTsByCollectionInput}
|
|
381
|
-
* @returns response - {@link QNFetchNFTsByCollectionResult}
|
|
382
|
-
*
|
|
383
|
-
* @example
|
|
384
|
-
* import QuickNode from '@quicknode/sdk';
|
|
385
|
-
*
|
|
386
|
-
* const core = new QuickNode.Core({
|
|
387
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
388
|
-
* config: {
|
|
389
|
-
* addOns: { nftTokenV2: true }
|
|
390
|
-
* }
|
|
391
|
-
* }
|
|
392
|
-
*
|
|
393
|
-
* const response = await core.client.qn_fetchNFTsByCollection({
|
|
394
|
-
* collection: "0x60E4d786628Fea6478F785A6d7e704777c86a7c6",
|
|
395
|
-
* })
|
|
396
|
-
*/
|
|
397
|
-
qn_fetchNFTsByCollection: (args: SimplifyType<QNFetchNFTsByCollectionInput>) => Promise<SimplifyType<QNFetchNFTsByCollectionResult>>;
|
|
398
|
-
/**
|
|
399
|
-
* Returns transfers by given NFT.
|
|
400
|
-
*
|
|
401
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_getTransfersByNFT_v2
|
|
402
|
-
*
|
|
403
|
-
* @param args - {@link QNGetTransfersByNFTInput}
|
|
404
|
-
* @returns response - {@link QNGetTransfersByNFTResult}
|
|
405
|
-
*
|
|
406
|
-
* @example
|
|
407
|
-
* import QuickNode from '@quicknode/sdk';
|
|
408
|
-
*
|
|
409
|
-
* const core = new QuickNode.Core({
|
|
410
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
411
|
-
* config: {
|
|
412
|
-
* addOns: { nftTokenV2: true }
|
|
413
|
-
* }
|
|
414
|
-
* }
|
|
415
|
-
*
|
|
416
|
-
* const response = await core.client.qn_getTransfersByNFT({
|
|
417
|
-
* collection: "0x60E4d786628Fea6478F785A6d7e704777c86a7c6",
|
|
418
|
-
7 * collectionTokenId: "1",
|
|
419
|
-
* })
|
|
420
|
-
*/
|
|
421
|
-
qn_getTransfersByNFT: (args: SimplifyType<QNGetTransfersByNFTInput>) => Promise<SimplifyType<QNGetTransfersByNFTResult>>;
|
|
422
|
-
/**
|
|
423
|
-
* Confirms ownership of specified NFTs for a given wallet.
|
|
424
|
-
*
|
|
425
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_verifyNFTsOwner_v2
|
|
426
|
-
*
|
|
427
|
-
* @param args - {@link QNVerifyNFTsOwnerInput}
|
|
428
|
-
* @returns response - {@link QNVerifyNFTsOwnerResult}
|
|
429
|
-
*
|
|
430
|
-
* @example
|
|
431
|
-
* import QuickNode from '@quicknode/sdk';
|
|
432
|
-
*
|
|
433
|
-
* const core = new QuickNode.Core({
|
|
434
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
435
|
-
* config: {
|
|
436
|
-
* addOns: { nftTokenV2: true }
|
|
437
|
-
* }
|
|
438
|
-
* }
|
|
439
|
-
*
|
|
440
|
-
* const response = await core.client.qn_verifyNFTsOwner({
|
|
441
|
-
* wallet: "0x91b51c173a4bdaa1a60e234fc3f705a16d228740",
|
|
442
|
-
* contracts: [
|
|
443
|
-
* "0x2106c00ac7da0a3430ae667879139e832307aeaa:3643",
|
|
444
|
-
* "0xd07dc4262bcdbf85190c01c996b4c06a461d2430:133803",
|
|
445
|
-
* ],
|
|
446
|
-
* })
|
|
447
|
-
*
|
|
448
|
-
*/
|
|
449
|
-
qn_verifyNFTsOwner: (args: SimplifyType<QNVerifyNFTsOwnerInput>) => Promise<SimplifyType<QNVerifyNFTsOwnerResult>>;
|
|
450
|
-
/**
|
|
451
|
-
* Returns token details for specified contract.
|
|
452
|
-
*
|
|
453
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_getTokenMetadataByContractAddress_v2
|
|
454
|
-
*
|
|
455
|
-
* @param args - {@link QNGetTokenMetadataByCAInput}
|
|
456
|
-
* @returns response - {@link QNGetTokenMetadataByCAResult}
|
|
457
|
-
*
|
|
458
|
-
* @example
|
|
459
|
-
* import QuickNode from '@quicknode/sdk';
|
|
460
|
-
*
|
|
461
|
-
* const core = new QuickNode.Core({
|
|
462
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
463
|
-
* config: {
|
|
464
|
-
* addOns: { nftTokenV2: true }
|
|
465
|
-
* }
|
|
466
|
-
* }
|
|
467
|
-
*
|
|
468
|
-
* const response = await core.client.qn_getTokenMetadataByContractAddress({
|
|
469
|
-
* contract: "0x2106c00ac7da0a3430ae667879139e832307aeaa",
|
|
470
|
-
* })
|
|
471
|
-
*/
|
|
472
|
-
qn_getTokenMetadataByContractAddress: (args: SimplifyType<QNGetTokenMetadataByCAInput>) => Promise<SimplifyType<QNGetTokenMetadataByCAResult | null>>;
|
|
473
|
-
/**
|
|
474
|
-
* Returns token details for specified token symbol.
|
|
475
|
-
*
|
|
476
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_getTokenMetadataBySymbol_v2
|
|
477
|
-
*
|
|
478
|
-
* @param args - {@link QNGetTokenMetadataBySymbolInput}
|
|
479
|
-
* @returns response - {@link QNGetTokenMetadataBySymbolResult}
|
|
480
|
-
*
|
|
481
|
-
* @example
|
|
482
|
-
* import QuickNode from '@quicknode/sdk';
|
|
483
|
-
*
|
|
484
|
-
* const core = new QuickNode.Core({
|
|
485
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
486
|
-
* config: {
|
|
487
|
-
* addOns: { nftTokenV2: true }
|
|
488
|
-
* }
|
|
489
|
-
* }
|
|
490
|
-
*
|
|
491
|
-
* const response = await core.client.qn_getTokenMetadataBySymbol({
|
|
492
|
-
* symbol: "DAI",
|
|
493
|
-
* })
|
|
494
|
-
*/
|
|
495
|
-
qn_getTokenMetadataBySymbol: (args: SimplifyType<QNGetTokenMetadataBySymbolInput>) => Promise<SimplifyType<QNGetTokenMetadataBySymbolResult>>;
|
|
496
|
-
/**
|
|
497
|
-
* Returns transactions within a specified wallet address.
|
|
498
|
-
*
|
|
499
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_getTransactionsByAddress_v2
|
|
500
|
-
*
|
|
501
|
-
* @param args - {@link QNGetTransactionsByAddressInput}
|
|
502
|
-
* @returns response - {@link QNGetTransactionsByAddressResult}
|
|
503
|
-
*
|
|
504
|
-
* @example
|
|
505
|
-
* import QuickNode from '@quicknode/sdk';
|
|
506
|
-
*
|
|
507
|
-
* const core = new QuickNode.Core({
|
|
508
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
509
|
-
* config: {
|
|
510
|
-
* addOns: { nftTokenV2: true }
|
|
511
|
-
* }
|
|
512
|
-
* }
|
|
513
|
-
*
|
|
514
|
-
* const response = await core.client.qn_getTransactionsByAddress({
|
|
515
|
-
* address: "0xD10E24685c7CDD3cd3BaAA86b09C92Be28c834B6"
|
|
516
|
-
* })
|
|
517
|
-
*/
|
|
518
|
-
qn_getTransactionsByAddress: (args: SimplifyType<QNGetTransactionsByAddressInput>) => Promise<SimplifyType<QNGetTransactionsByAddressResult>>;
|
|
519
|
-
/**
|
|
520
|
-
* Returns ERC-20 tokens and token balances within a wallet.
|
|
521
|
-
*
|
|
522
|
-
* - Docs: https://www.quicknode.com/docs/ethereum/qn_getWalletTokenBalance_v2
|
|
523
|
-
*
|
|
524
|
-
* @param args - {@link QNGetWalletTokenBalanceInput}
|
|
525
|
-
* @returns response - {@link QNGetWalletTokenBalanceResult}
|
|
526
|
-
*
|
|
527
|
-
* @example
|
|
528
|
-
* import QuickNode from '@quicknode/sdk';
|
|
529
|
-
*
|
|
530
|
-
* const core = new QuickNode.Core({
|
|
531
|
-
* endpointUrl: "https://some-cool-name.quiknode.pro/abcd1234",
|
|
532
|
-
* config: {
|
|
533
|
-
* addOns: { nftTokenV2: true }
|
|
534
|
-
* }
|
|
535
|
-
* }
|
|
536
|
-
*
|
|
537
|
-
* const response = await core.client.qn_getWalletTokenBalance({
|
|
538
|
-
* address: "0xD10E24685c7CDD3cd3BaAA86b09C92Be28c834B6"
|
|
539
|
-
* })
|
|
540
|
-
*/
|
|
541
|
-
qn_getWalletTokenBalance: (args: SimplifyType<QNGetWalletTokenBalanceInput>) => Promise<SimplifyType<QNGetWalletTokenBalanceResult>>;
|
|
542
|
-
qn_getWalletTokenTransactions: (args: SimplifyType<QNGetWalletTokenTransactionsInput>) => Promise<SimplifyType<QNGetWalletTokenTransactionsResult>>;
|
|
543
|
-
};
|
|
544
|
-
|
|
545
|
-
interface CoreArguments {
|
|
546
|
-
endpointUrl: string;
|
|
547
|
-
chain?: Chain;
|
|
548
|
-
config?: QNCoreClientConfig;
|
|
549
|
-
}
|
|
550
|
-
type QNCoreClientConfig = {
|
|
551
|
-
addOns?: {
|
|
552
|
-
nftTokenV2: boolean;
|
|
553
|
-
};
|
|
554
|
-
};
|
|
555
|
-
type QNCoreClient = PublicClient & NFTAndTokenActions;
|
|
556
|
-
|
|
557
|
-
declare class Core {
|
|
558
|
-
readonly endpointUrl: string;
|
|
559
|
-
readonly client: QNCoreClient;
|
|
560
|
-
constructor({ endpointUrl, chain, config }: CoreArguments);
|
|
6
|
+
/** A single line item on an invoice. */
|
|
7
|
+
export interface InvoiceLine {
|
|
8
|
+
/** Human-readable description of the line item. */
|
|
9
|
+
description: string
|
|
10
|
+
/** Line item amount in the smallest currency unit. */
|
|
11
|
+
amount: number
|
|
561
12
|
}
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
jsonrpc: string;
|
|
585
|
-
result: {
|
|
586
|
-
context: {
|
|
587
|
-
slot: number;
|
|
588
|
-
};
|
|
589
|
-
per_compute_unit: PriorityFeeEstimates;
|
|
590
|
-
per_transaction: PriorityFeeEstimates;
|
|
591
|
-
recommended: number;
|
|
592
|
-
};
|
|
593
|
-
id: number;
|
|
594
|
-
}
|
|
595
|
-
interface EstimatePriorityFeesParams {
|
|
596
|
-
last_n_blocks?: number;
|
|
597
|
-
account?: string;
|
|
598
|
-
api_version?: number;
|
|
599
|
-
}
|
|
600
|
-
interface SolanaClientArgs {
|
|
601
|
-
endpointUrl: string;
|
|
602
|
-
}
|
|
603
|
-
interface SmartTransactionBaseArgs {
|
|
604
|
-
transaction: Transaction;
|
|
605
|
-
feeLevel?: PriorityFeeLevels;
|
|
606
|
-
}
|
|
607
|
-
interface PrepareSmartTransactionArgs extends SmartTransactionBaseArgs {
|
|
608
|
-
payerPublicKey: PublicKey;
|
|
609
|
-
}
|
|
610
|
-
interface SendSmartTransactionArgs extends SmartTransactionBaseArgs {
|
|
611
|
-
keyPair: Keypair;
|
|
612
|
-
sendTransactionOptions?: SendOptions;
|
|
13
|
+
/** An invoice issued to the account. */
|
|
14
|
+
export interface Invoice {
|
|
15
|
+
/** Unique invoice identifier. */
|
|
16
|
+
id: string
|
|
17
|
+
/** Payment status (e.g. `paid`, `open`). */
|
|
18
|
+
status: string
|
|
19
|
+
/** Reason the invoice was generated (e.g. `subscription_cycle`). */
|
|
20
|
+
billingReason: string
|
|
21
|
+
/** Line items contributing to the invoice total. */
|
|
22
|
+
lines: Array<InvoiceLine>
|
|
23
|
+
/** Amount due in the smallest currency unit. */
|
|
24
|
+
amountDue: number
|
|
25
|
+
/** Amount already paid in the smallest currency unit. */
|
|
26
|
+
amountPaid: number
|
|
27
|
+
/** Start of the billing period (Unix timestamp). */
|
|
28
|
+
periodStart: number
|
|
29
|
+
/** End of the billing period (Unix timestamp). */
|
|
30
|
+
periodEnd: number
|
|
31
|
+
/** Timestamp when the invoice was created (Unix timestamp). */
|
|
32
|
+
created: number
|
|
33
|
+
/** Subtotal before taxes and adjustments. */
|
|
34
|
+
subtotal: number
|
|
613
35
|
}
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
* Sends a transaction with a dynamically generated priority fee based on the current network conditions and compute units needed by the transaction.
|
|
621
|
-
*/
|
|
622
|
-
sendSmartTransaction(args: SendSmartTransactionArgs): Promise<string>;
|
|
623
|
-
/**
|
|
624
|
-
* Prepares a transaction to be sent with a dynamically generated priority fee based
|
|
625
|
-
* on the current network conditions. It adds a `setComputeUnitPrice` instruction to the transaction
|
|
626
|
-
* and simulates the transaction to estimate the number of compute units it will consume.
|
|
627
|
-
* The returned transaction still needs to be signed and sent to the network.
|
|
628
|
-
*/
|
|
629
|
-
prepareSmartTransaction(args: PrepareSmartTransactionArgs): Promise<_solana_web3_js.Transaction>;
|
|
630
|
-
fetchEstimatePriorityFees(args?: EstimatePriorityFeesParams): Promise<PriorityFeeResponseData>;
|
|
631
|
-
private createDynamicPriorityFeeInstruction;
|
|
632
|
-
private getSimulationUnits;
|
|
36
|
+
/** Response from `list_invoices`. */
|
|
37
|
+
export interface ListInvoicesResponse {
|
|
38
|
+
/** Invoice data payload. */
|
|
39
|
+
data?: ListInvoicesData
|
|
40
|
+
/** Error message when the request did not succeed. */
|
|
41
|
+
error?: string
|
|
633
42
|
}
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
};
|
|
639
|
-
|
|
640
|
-
declare class QNInputValidationError extends Error {
|
|
641
|
-
messages: string[];
|
|
642
|
-
zodError: ZodError;
|
|
643
|
-
issues: ZodError['issues'];
|
|
644
|
-
constructor({ messages, zodError, }: {
|
|
645
|
-
messages: string[];
|
|
646
|
-
zodError: ZodError;
|
|
647
|
-
});
|
|
43
|
+
/** Invoice list wrapper. */
|
|
44
|
+
export interface ListInvoicesData {
|
|
45
|
+
/** Invoices on the account. */
|
|
46
|
+
invoices: Array<Invoice>
|
|
648
47
|
}
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
48
|
+
/** A payment recorded on the account. */
|
|
49
|
+
export interface Payment {
|
|
50
|
+
/** Payment amount as a string in the account's currency. */
|
|
51
|
+
amount: string
|
|
52
|
+
/** Last four digits of the card used for the payment. */
|
|
53
|
+
cardLast4?: string
|
|
54
|
+
/** Timestamp when the payment was recorded. */
|
|
55
|
+
createdAt: string
|
|
56
|
+
/** Currency code (e.g. `usd`). */
|
|
57
|
+
currency: string
|
|
58
|
+
/** Payment status. */
|
|
59
|
+
status: string
|
|
60
|
+
/** Portion of the payment attributed to marketplace spending. */
|
|
61
|
+
marketplaceAmount?: string
|
|
652
62
|
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
63
|
+
/** Response from `list_payments`. */
|
|
64
|
+
export interface ListPaymentsResponse {
|
|
65
|
+
/** Payment data payload. */
|
|
66
|
+
data?: ListPaymentsData
|
|
67
|
+
/** Error message when the request did not succeed. */
|
|
68
|
+
error?: string
|
|
69
|
+
}
|
|
70
|
+
/** Payment list wrapper. */
|
|
71
|
+
export interface ListPaymentsData {
|
|
72
|
+
/** Payments on the account. */
|
|
73
|
+
payments: Array<Payment>
|
|
74
|
+
}
|
|
75
|
+
/** Parameters for `bulk_update_endpoint_status`. */
|
|
76
|
+
export interface BulkUpdateEndpointStatusRequest {
|
|
77
|
+
/** Endpoint ids to update. */
|
|
78
|
+
ids: Array<string>
|
|
79
|
+
/** Target status (`active` or `paused`). */
|
|
80
|
+
status: string
|
|
81
|
+
}
|
|
82
|
+
/** Per-endpoint result within a bulk response. */
|
|
83
|
+
export interface BulkOperationResult {
|
|
84
|
+
/** Endpoint id the result refers to. */
|
|
85
|
+
id: string
|
|
86
|
+
/** Whether the operation succeeded for this endpoint. */
|
|
87
|
+
success: boolean
|
|
88
|
+
}
|
|
89
|
+
/** Summary data for a `bulk_update_endpoint_status` response. */
|
|
90
|
+
export interface BulkUpdateEndpointStatusData {
|
|
91
|
+
/** Total number of endpoints processed. */
|
|
92
|
+
total: number
|
|
93
|
+
/** Number successfully updated. */
|
|
94
|
+
updatedCount: number
|
|
95
|
+
/** Number that failed. */
|
|
96
|
+
failedCount: number
|
|
97
|
+
/** Per-endpoint outcomes. */
|
|
98
|
+
results: Array<BulkOperationResult>
|
|
99
|
+
}
|
|
100
|
+
/** Response from `bulk_update_endpoint_status`. */
|
|
101
|
+
export interface BulkUpdateEndpointStatusResponse {
|
|
102
|
+
/** Bulk update summary. */
|
|
103
|
+
data?: BulkUpdateEndpointStatusData
|
|
104
|
+
/** Error message when the request did not succeed. */
|
|
105
|
+
error?: string
|
|
106
|
+
}
|
|
107
|
+
/** Parameters for `bulk_add_tag`. */
|
|
108
|
+
export interface BulkAddTagRequest {
|
|
109
|
+
/** Endpoint ids to tag. */
|
|
110
|
+
ids: Array<string>
|
|
111
|
+
/** Label of the tag to apply (created if it doesn't exist). */
|
|
112
|
+
label: string
|
|
113
|
+
}
|
|
114
|
+
/** Tag reference returned on bulk tag operations. */
|
|
115
|
+
export interface BulkTag {
|
|
116
|
+
/** Tag identifier. */
|
|
117
|
+
tagId: number
|
|
118
|
+
/** Tag label. */
|
|
119
|
+
label: string
|
|
120
|
+
}
|
|
121
|
+
/** Summary data for a `bulk_add_tag` response. */
|
|
122
|
+
export interface BulkAddTagData {
|
|
123
|
+
/** Total number of endpoints processed. */
|
|
124
|
+
total: number
|
|
125
|
+
/** Number successfully tagged. */
|
|
126
|
+
updatedCount: number
|
|
127
|
+
/** Number that failed. */
|
|
128
|
+
failedCount: number
|
|
129
|
+
/** Per-endpoint outcomes. */
|
|
130
|
+
results: Array<BulkOperationResult>
|
|
131
|
+
/** The tag that was applied. */
|
|
132
|
+
tag: BulkTag
|
|
133
|
+
}
|
|
134
|
+
/** Response from `bulk_add_tag`. */
|
|
135
|
+
export interface BulkAddTagResponse {
|
|
136
|
+
/** Bulk add-tag summary. */
|
|
137
|
+
data?: BulkAddTagData
|
|
138
|
+
/** Error message when the request did not succeed. */
|
|
139
|
+
error?: string
|
|
140
|
+
}
|
|
141
|
+
/** Parameters for `bulk_remove_tag`. */
|
|
142
|
+
export interface BulkRemoveTagRequest {
|
|
143
|
+
/** Endpoint ids to untag. */
|
|
144
|
+
ids: Array<string>
|
|
145
|
+
/** Tag to remove. */
|
|
146
|
+
tagId: number
|
|
147
|
+
}
|
|
148
|
+
/** Summary data for a `bulk_remove_tag` response. */
|
|
149
|
+
export interface BulkRemoveTagData {
|
|
150
|
+
/** Total number of endpoints processed. */
|
|
151
|
+
total: number
|
|
152
|
+
/** Number successfully updated. */
|
|
153
|
+
updatedCount: number
|
|
154
|
+
/** Number that failed. */
|
|
155
|
+
failedCount: number
|
|
156
|
+
/** Per-endpoint outcomes. */
|
|
157
|
+
results: Array<BulkOperationResult>
|
|
158
|
+
}
|
|
159
|
+
/** Response from `bulk_remove_tag`. */
|
|
160
|
+
export interface BulkRemoveTagResponse {
|
|
161
|
+
/** Bulk remove-tag summary. */
|
|
162
|
+
data?: BulkRemoveTagData
|
|
163
|
+
/** Error message when the request did not succeed. */
|
|
164
|
+
error?: string
|
|
165
|
+
}
|
|
166
|
+
/** A network within a supported chain. */
|
|
167
|
+
export interface ChainNetwork {
|
|
168
|
+
/** Network slug (e.g. `mainnet`). */
|
|
169
|
+
slug: string
|
|
170
|
+
/** Human-readable network name. */
|
|
171
|
+
name: string
|
|
172
|
+
/** Numeric chain id, when applicable. */
|
|
173
|
+
chainId?: number
|
|
174
|
+
}
|
|
175
|
+
/** A blockchain supported by QuickNode along with its networks. */
|
|
176
|
+
export interface Chain {
|
|
177
|
+
/** Chain slug (e.g. `ethereum`). */
|
|
178
|
+
slug: string
|
|
179
|
+
/** Networks available on this chain. */
|
|
180
|
+
networks: Array<ChainNetwork>
|
|
181
|
+
/** Whether the chain is shown in selection UIs. */
|
|
182
|
+
isSelectChain?: boolean
|
|
183
|
+
}
|
|
184
|
+
/** Response from `list_chains`. */
|
|
185
|
+
export interface ListChainsResponse {
|
|
186
|
+
/** Supported chains and their networks. */
|
|
187
|
+
data: Array<Chain>
|
|
188
|
+
/** Error message when the request did not succeed. */
|
|
189
|
+
error?: string
|
|
190
|
+
}
|
|
191
|
+
/** Parameters for `get_endpoint_metrics`. */
|
|
192
|
+
export interface GetEndpointMetricsRequest {
|
|
193
|
+
/** Time period (`hour`, `day`, `week`, or `month`). */
|
|
194
|
+
period: string
|
|
195
|
+
/** Metric name (e.g. `method_calls_over_time`, `response_status_breakdown`). */
|
|
196
|
+
metric: string
|
|
197
|
+
}
|
|
198
|
+
/** Parameters for `get_account_metrics`. */
|
|
199
|
+
export interface GetAccountMetricsRequest {
|
|
200
|
+
/** Time period (`hour`, `day`, `week`, or `month`). */
|
|
201
|
+
period: string
|
|
202
|
+
/** Metric name (e.g. `method_calls_over_time`, `credits_over_time`). */
|
|
203
|
+
metric: string
|
|
204
|
+
/** Optional percentile for latency metrics (e.g. `p50`, `p95`, `p99`). */
|
|
205
|
+
percentile?: string
|
|
206
|
+
}
|
|
207
|
+
/** A single metric series, consisting of a descriptive tag and timestamped data points. */
|
|
208
|
+
export interface EndpointMetric {
|
|
209
|
+
/** Data points, each as `[timestamp, value]`. */
|
|
210
|
+
data: Array<Array<number>>
|
|
211
|
+
/** Human-readable tag identifying the series. */
|
|
212
|
+
tag: string
|
|
213
|
+
}
|
|
214
|
+
/** Response from `get_endpoint_metrics`. */
|
|
215
|
+
export interface GetEndpointMetricsResponse {
|
|
216
|
+
/** Metric series returned for the endpoint. */
|
|
217
|
+
data: Array<EndpointMetric>
|
|
218
|
+
/** Error message when the request did not succeed. */
|
|
219
|
+
error?: string
|
|
220
|
+
}
|
|
221
|
+
/** Response from `get_account_metrics`. */
|
|
222
|
+
export interface GetAccountMetricsResponse {
|
|
223
|
+
/** Metric series returned for the account. */
|
|
224
|
+
data: Array<EndpointMetric>
|
|
225
|
+
/** Error message when the request did not succeed. */
|
|
226
|
+
error?: string
|
|
227
|
+
}
|
|
228
|
+
/** A per-method rate limiter configured on an endpoint. */
|
|
229
|
+
export interface MethodRateLimiter {
|
|
230
|
+
/** Rate limiter identifier. */
|
|
231
|
+
id: string
|
|
232
|
+
/** Interval over which the rate applies (e.g. `second`, `minute`). */
|
|
233
|
+
interval: string
|
|
234
|
+
/** RPC methods the limiter applies to. */
|
|
235
|
+
methods: Array<string>
|
|
236
|
+
/** Maximum number of calls allowed per interval. */
|
|
237
|
+
rate: number
|
|
238
|
+
/** Whether the limiter is `enabled` or `disabled`. */
|
|
239
|
+
status: string
|
|
240
|
+
/** Creation timestamp. */
|
|
241
|
+
created: string
|
|
242
|
+
}
|
|
243
|
+
/** Inner data for `get_method_rate_limits`. */
|
|
244
|
+
export interface GetMethodRateLimitsData {
|
|
245
|
+
/** Rate limiters configured on the endpoint. */
|
|
246
|
+
rateLimiters: Array<MethodRateLimiter>
|
|
247
|
+
}
|
|
248
|
+
/** Response from `get_method_rate_limits`. */
|
|
249
|
+
export interface GetMethodRateLimitsResponse {
|
|
250
|
+
/** Rate limiters payload. */
|
|
251
|
+
data?: GetMethodRateLimitsData
|
|
252
|
+
/** Error message when the request did not succeed. */
|
|
253
|
+
error?: string
|
|
254
|
+
}
|
|
255
|
+
/** Parameters for `create_method_rate_limit`. */
|
|
256
|
+
export interface CreateMethodRateLimitRequest {
|
|
257
|
+
/** Interval over which the rate applies (e.g. `second`). */
|
|
258
|
+
interval: string
|
|
259
|
+
/** RPC methods the limiter applies to. */
|
|
260
|
+
methods: Array<string>
|
|
261
|
+
/** Maximum number of calls allowed per interval. */
|
|
262
|
+
rate: number
|
|
263
|
+
}
|
|
264
|
+
/** Response from `create_method_rate_limit`. */
|
|
265
|
+
export interface CreateMethodRateLimitResponse {
|
|
266
|
+
/** The created rate limiter. */
|
|
267
|
+
data?: MethodRateLimiter
|
|
268
|
+
/** Error message when the request did not succeed. */
|
|
269
|
+
error?: string
|
|
270
|
+
}
|
|
271
|
+
/** Parameters for `update_method_rate_limit`. Only provided fields are changed. */
|
|
272
|
+
export interface UpdateMethodRateLimitRequest {
|
|
273
|
+
/** New set of RPC methods the limiter applies to. */
|
|
274
|
+
methods?: Array<string>
|
|
275
|
+
/** New status (`enabled` or `disabled`). */
|
|
276
|
+
status?: string
|
|
277
|
+
/** New rate value. */
|
|
278
|
+
rate?: number
|
|
279
|
+
}
|
|
280
|
+
/** Response from `update_method_rate_limit`. */
|
|
281
|
+
export interface UpdateMethodRateLimitResponse {
|
|
282
|
+
/** The updated rate limiter. */
|
|
283
|
+
data?: MethodRateLimiter
|
|
284
|
+
/** Error message when the request did not succeed. */
|
|
285
|
+
error?: string
|
|
286
|
+
}
|
|
287
|
+
/** Endpoint-wide rate limit settings. */
|
|
288
|
+
export interface RateLimitSettings {
|
|
289
|
+
/** Requests per second. */
|
|
290
|
+
rps?: number
|
|
291
|
+
/** Requests per minute. */
|
|
292
|
+
rpm?: number
|
|
293
|
+
/** Requests per day. */
|
|
294
|
+
rpd?: number
|
|
295
|
+
}
|
|
296
|
+
/** Parameters for `update_rate_limits`. */
|
|
297
|
+
export interface UpdateRateLimitsRequest {
|
|
298
|
+
/** Rate limit values to apply. */
|
|
299
|
+
rateLimits: RateLimitSettings
|
|
300
|
+
}
|
|
301
|
+
/** A single security feature's name, status, and optional value. */
|
|
302
|
+
export interface SecurityOption {
|
|
303
|
+
/** Name of the security feature (e.g. `tokens`, `jwts`, `ips`). */
|
|
304
|
+
option: string
|
|
305
|
+
/** Whether the feature is `enabled` or `disabled`. */
|
|
306
|
+
status: string
|
|
307
|
+
/** Optional configuration value associated with the feature. */
|
|
308
|
+
value?: string
|
|
309
|
+
}
|
|
310
|
+
/** Response from `get_security_options`. */
|
|
311
|
+
export interface GetSecurityOptionsResponse {
|
|
312
|
+
/** Security options on the endpoint. */
|
|
313
|
+
data: Array<SecurityOption>
|
|
314
|
+
/** Error message when the request did not succeed. */
|
|
315
|
+
error?: string
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Per-feature toggles for `update_security_options`. Each field accepts
|
|
319
|
+
* `enabled` or `disabled`.
|
|
320
|
+
*/
|
|
321
|
+
export interface SecurityOptionsUpdate {
|
|
322
|
+
/** Token authentication toggle. */
|
|
323
|
+
tokens?: string
|
|
324
|
+
/** Referrer validation toggle. */
|
|
325
|
+
referrers?: string
|
|
326
|
+
/** JWT validation toggle. */
|
|
327
|
+
jwts?: string
|
|
328
|
+
/** IP whitelist toggle. */
|
|
329
|
+
ips?: string
|
|
330
|
+
/** Domain masking toggle. */
|
|
331
|
+
domainMasks?: string
|
|
332
|
+
/** HSTS (HTTP Strict Transport Security) toggle. */
|
|
333
|
+
hsts?: string
|
|
334
|
+
/** CORS toggle. */
|
|
335
|
+
cors?: string
|
|
336
|
+
/** Request (method) filter toggle. */
|
|
337
|
+
requestFilters?: string
|
|
338
|
+
/** Custom IP header toggle. */
|
|
339
|
+
ipCustomHeader?: string
|
|
340
|
+
}
|
|
341
|
+
/** Parameters for `update_security_options`. */
|
|
342
|
+
export interface UpdateSecurityOptionsRequest {
|
|
343
|
+
/** Security toggles to apply. */
|
|
344
|
+
options: SecurityOptionsUpdate
|
|
345
|
+
}
|
|
346
|
+
/** Response from `update_security_options`. */
|
|
347
|
+
export interface UpdateSecurityOptionsResponse {
|
|
348
|
+
/** Updated security options. */
|
|
349
|
+
data: Array<SecurityOption>
|
|
350
|
+
/** Error message when the request did not succeed. */
|
|
351
|
+
error?: string
|
|
352
|
+
}
|
|
353
|
+
/** Parameters for `create_referrer`. */
|
|
354
|
+
export interface CreateReferrerRequest {
|
|
355
|
+
/** Allowed referrer URL or domain. */
|
|
356
|
+
referrer?: string
|
|
357
|
+
}
|
|
358
|
+
/** Parameters for `create_ip`. */
|
|
359
|
+
export interface CreateIpRequest {
|
|
360
|
+
/** IP address to whitelist. */
|
|
361
|
+
ip?: string
|
|
362
|
+
}
|
|
363
|
+
/** Parameters for `create_domain_mask`. */
|
|
364
|
+
export interface CreateDomainMaskRequest {
|
|
365
|
+
/** Custom domain that will mask the endpoint's QuickNode URL. */
|
|
366
|
+
domainMask?: string
|
|
367
|
+
}
|
|
368
|
+
/** Parameters for `create_jwt`. */
|
|
369
|
+
export interface CreateJwtRequest {
|
|
370
|
+
/** Public key used to verify signed JWTs. */
|
|
371
|
+
publicKey?: string
|
|
372
|
+
/** Key identifier (`kid`) embedded in JWT headers. */
|
|
373
|
+
kid?: string
|
|
374
|
+
/** Human-readable name for the JWT configuration. */
|
|
375
|
+
name?: string
|
|
376
|
+
}
|
|
377
|
+
/** Parameters for `create_request_filter`. */
|
|
378
|
+
export interface CreateRequestFilterRequest {
|
|
379
|
+
/** Whitelisted RPC methods; other methods will be blocked. */
|
|
380
|
+
method?: Array<string>
|
|
381
|
+
}
|
|
382
|
+
/** Response from `create_request_filter`. */
|
|
383
|
+
export interface CreateRequestFilterResponse {
|
|
384
|
+
/** The created filter payload. */
|
|
385
|
+
data?: CreateRequestFilterData
|
|
386
|
+
/** Error message when the request did not succeed. */
|
|
387
|
+
error?: string
|
|
388
|
+
}
|
|
389
|
+
/** Data wrapper for a created request filter. */
|
|
390
|
+
export interface CreateRequestFilterData {
|
|
391
|
+
/** Identifier of the newly created request filter. */
|
|
392
|
+
id: string
|
|
393
|
+
}
|
|
394
|
+
/** Parameters for `update_request_filter`. */
|
|
395
|
+
export interface UpdateRequestFilterRequest {
|
|
396
|
+
/** New set of whitelisted RPC methods. */
|
|
397
|
+
method?: Array<string>
|
|
398
|
+
}
|
|
399
|
+
/** Parameters for `create_or_update_ip_custom_header`. */
|
|
400
|
+
export interface CreateOrUpdateIpCustomHeaderRequest {
|
|
401
|
+
/** Header name used to identify the client IP (e.g. `X-Forwarded-For`). */
|
|
402
|
+
headerName: string
|
|
403
|
+
}
|
|
404
|
+
/** Data wrapper for the IP custom header configuration. */
|
|
405
|
+
export interface IpCustomHeaderData {
|
|
406
|
+
/** Configured header name. */
|
|
407
|
+
headerName: string
|
|
408
|
+
}
|
|
409
|
+
/** Response from `create_or_update_ip_custom_header`. */
|
|
410
|
+
export interface CreateOrUpdateIpCustomHeaderResponse {
|
|
411
|
+
/** Stored header configuration. */
|
|
412
|
+
data?: IpCustomHeaderData
|
|
413
|
+
/** Error message when the request did not succeed. */
|
|
414
|
+
error?: string
|
|
415
|
+
}
|
|
416
|
+
/** Response wrapper for delete operations that return a boolean success flag. */
|
|
417
|
+
export interface DeleteBoolResponse {
|
|
418
|
+
/** `true` when the deletion succeeded. */
|
|
419
|
+
data?: boolean
|
|
420
|
+
/** Error message when the request did not succeed. */
|
|
421
|
+
error?: string
|
|
422
|
+
}
|
|
423
|
+
/** Parameters for `get_endpoints`. */
|
|
424
|
+
export interface GetEndpointsRequest {
|
|
425
|
+
/** Maximum number of endpoints returned. */
|
|
426
|
+
limit?: number
|
|
427
|
+
/** Starting index into the result set. */
|
|
428
|
+
offset?: number
|
|
429
|
+
/** Search by subdomain or label. */
|
|
430
|
+
search?: string
|
|
431
|
+
/** Field to sort results by. */
|
|
432
|
+
sortBy?: string
|
|
433
|
+
/** Sort direction (`asc` or `desc`). */
|
|
434
|
+
sortDirection?: string
|
|
435
|
+
/** Filter results to endpoints on these networks. */
|
|
436
|
+
networks?: Array<string>
|
|
437
|
+
/** Filter results to endpoints in these statuses. */
|
|
438
|
+
statuses?: Array<string>
|
|
439
|
+
/** Filter results by label. */
|
|
440
|
+
labels?: Array<string>
|
|
441
|
+
/** When true, return only dedicated endpoints. */
|
|
442
|
+
dedicated?: boolean
|
|
443
|
+
/** When true, return only flat-rate endpoints. */
|
|
444
|
+
isFlatRate?: boolean
|
|
445
|
+
/** Filter results by associated tag ids. */
|
|
446
|
+
tagIds?: Array<number>
|
|
447
|
+
/** Filter results by associated tag labels. */
|
|
448
|
+
tagLabels?: Array<string>
|
|
449
|
+
}
|
|
450
|
+
/** Response from `get_endpoints`. */
|
|
451
|
+
export interface GetEndpointsResponse {
|
|
452
|
+
/** Endpoints on the current page. */
|
|
453
|
+
data: Array<Endpoint>
|
|
454
|
+
/** Pagination metadata for the response. */
|
|
455
|
+
pagination?: Pagination
|
|
456
|
+
/** Error message when the request did not succeed. */
|
|
457
|
+
error?: string
|
|
458
|
+
}
|
|
459
|
+
/** Pagination metadata for admin list responses. */
|
|
460
|
+
export interface Pagination {
|
|
461
|
+
/** Total number of items matching the query across all pages. */
|
|
462
|
+
total: number
|
|
463
|
+
/** Page size used for this response. */
|
|
464
|
+
limit: number
|
|
465
|
+
/** Starting index of this page within the full result set. */
|
|
466
|
+
offset: number
|
|
467
|
+
}
|
|
468
|
+
/** Summary representation of an endpoint in list responses. */
|
|
469
|
+
export interface Endpoint {
|
|
470
|
+
/** Unique endpoint identifier. */
|
|
471
|
+
id: string
|
|
472
|
+
/** QuickNode-assigned subdomain. */
|
|
473
|
+
name: string
|
|
474
|
+
/** Human-readable label. */
|
|
475
|
+
label?: string
|
|
476
|
+
/** Current operational status (e.g. `active`, `paused`). */
|
|
477
|
+
status: string
|
|
478
|
+
/** Blockchain the endpoint serves (e.g. `ethereum`). */
|
|
479
|
+
chain: string
|
|
480
|
+
/** Specific network within the chain (e.g. `mainnet`). */
|
|
481
|
+
network: string
|
|
482
|
+
/** Whether the endpoint is dedicated. */
|
|
483
|
+
isDedicated: boolean
|
|
484
|
+
/** Whether the endpoint is billed at a flat rate. */
|
|
485
|
+
isFlatRate: boolean
|
|
486
|
+
/** HTTP RPC URL. */
|
|
487
|
+
httpUrl: string
|
|
488
|
+
/** WebSocket RPC URL, when available. */
|
|
489
|
+
wssUrl?: string
|
|
490
|
+
/** Tags applied to the endpoint. */
|
|
491
|
+
tags: Array<EndpointTag>
|
|
492
|
+
}
|
|
493
|
+
/** Tag reference as returned on an endpoint. */
|
|
494
|
+
export interface EndpointTag {
|
|
495
|
+
/** Tag identifier. */
|
|
496
|
+
tagId: number
|
|
497
|
+
/** Tag label. */
|
|
498
|
+
label: string
|
|
499
|
+
}
|
|
500
|
+
/** Parameters for `create_endpoint`. */
|
|
501
|
+
export interface CreateEndpointRequest {
|
|
502
|
+
/** Blockchain the endpoint should serve (e.g. `ethereum`). */
|
|
503
|
+
chain?: string
|
|
504
|
+
/** Specific network within the chain (e.g. `mainnet`). */
|
|
505
|
+
network?: string
|
|
506
|
+
}
|
|
507
|
+
/** Response from `create_endpoint`. */
|
|
508
|
+
export interface CreateEndpointResponse {
|
|
509
|
+
/** The newly created endpoint. */
|
|
510
|
+
data: SingleEndpoint
|
|
511
|
+
/** Error message when the request did not succeed. */
|
|
512
|
+
error?: string
|
|
513
|
+
}
|
|
514
|
+
/** Full representation of a single endpoint, including its security and rate limits. */
|
|
515
|
+
export interface SingleEndpoint {
|
|
516
|
+
/** Unique endpoint identifier. */
|
|
517
|
+
id: string
|
|
518
|
+
/** Human-readable label. */
|
|
519
|
+
label?: string
|
|
520
|
+
/** Current operational status. */
|
|
521
|
+
status?: string
|
|
522
|
+
/** Blockchain the endpoint serves. */
|
|
523
|
+
chain: string
|
|
524
|
+
/** Specific network within the chain. */
|
|
525
|
+
network: string
|
|
526
|
+
/** HTTP RPC URL. */
|
|
527
|
+
httpUrl: string
|
|
528
|
+
/** WebSocket RPC URL, when available. */
|
|
529
|
+
wssUrl?: string
|
|
530
|
+
/** Endpoint security configuration. */
|
|
531
|
+
security?: EndpointSecurity
|
|
532
|
+
/** Endpoint rate limits. */
|
|
533
|
+
rateLimits?: EndpointRateLimits
|
|
534
|
+
/** Tags applied to the endpoint. */
|
|
535
|
+
tags: Array<EndpointTag>
|
|
536
|
+
}
|
|
537
|
+
/** Rate limits applied to an endpoint. */
|
|
538
|
+
export interface EndpointRateLimits {
|
|
539
|
+
/** Whether rate limits are applied per client IP instead of per endpoint. */
|
|
540
|
+
rateLimitByIp?: boolean
|
|
541
|
+
/** Account-level rate limit, when applicable. */
|
|
542
|
+
account?: number
|
|
543
|
+
/** Requests per second. */
|
|
544
|
+
rps?: number
|
|
545
|
+
/** Requests per minute. */
|
|
546
|
+
rpm?: number
|
|
547
|
+
/** Requests per day. */
|
|
548
|
+
rpd?: number
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Security configuration for an endpoint — the aggregate of tokens, JWTs,
|
|
552
|
+
* referrers, domain masks, IPs, and request filters plus their enabled
|
|
553
|
+
* toggles.
|
|
554
|
+
*/
|
|
555
|
+
export interface EndpointSecurity {
|
|
556
|
+
/** Per-feature enabled/disabled toggles. */
|
|
557
|
+
options?: EndpointSecurityOptions
|
|
558
|
+
/** Authentication tokens configured on the endpoint. */
|
|
559
|
+
tokens?: Array<EndpointToken>
|
|
560
|
+
/** JWTs configured on the endpoint. */
|
|
561
|
+
jwts?: Array<EndpointJwt>
|
|
562
|
+
/** Allowed referrer URLs/domains. */
|
|
563
|
+
referrers?: Array<EndpointReferrer>
|
|
564
|
+
/** Configured domain masks. */
|
|
565
|
+
domainMasks?: Array<EndpointDomainMask>
|
|
566
|
+
/** Whitelisted IP addresses. */
|
|
567
|
+
ips?: Array<EndpointIp>
|
|
568
|
+
/** Request (method) filters. */
|
|
569
|
+
requestFilters?: Array<EndpointRequestFilter>
|
|
570
|
+
}
|
|
571
|
+
/** Boolean toggles controlling which security features are enabled. */
|
|
572
|
+
export interface EndpointSecurityOptions {
|
|
573
|
+
/** Whether token authentication is enforced. */
|
|
574
|
+
tokens?: boolean
|
|
575
|
+
/** Whether JWT validation is enforced. */
|
|
576
|
+
jwts?: boolean
|
|
577
|
+
/** Whether domain masking is enabled. */
|
|
578
|
+
domainMasks?: boolean
|
|
579
|
+
/** Whether IP whitelisting is enforced. */
|
|
580
|
+
ips?: boolean
|
|
581
|
+
/** Whether referrer validation is enforced. */
|
|
582
|
+
referrers?: boolean
|
|
583
|
+
/** Whether request (method) filtering is enforced. */
|
|
584
|
+
requestFilters?: boolean
|
|
585
|
+
/** Custom header used to identify the client IP. */
|
|
586
|
+
ipCustomHeader?: EndpointIpCustomHeaderOption
|
|
587
|
+
}
|
|
588
|
+
/** Custom header option value for IP identification. */
|
|
589
|
+
export interface EndpointIpCustomHeaderOption {
|
|
590
|
+
/** Header name (e.g. `X-Forwarded-For`). */
|
|
591
|
+
value?: string
|
|
592
|
+
}
|
|
593
|
+
/** Authentication token configured on an endpoint. */
|
|
594
|
+
export interface EndpointToken {
|
|
595
|
+
/** Token identifier. */
|
|
596
|
+
id: string
|
|
597
|
+
/** Token secret. */
|
|
598
|
+
token: string
|
|
599
|
+
}
|
|
600
|
+
/** JWT configured on an endpoint for signed-request authentication. */
|
|
601
|
+
export interface EndpointJwt {
|
|
602
|
+
/** JWT identifier. */
|
|
603
|
+
id: string
|
|
604
|
+
/** Public key used to verify signed JWTs. */
|
|
605
|
+
publicKey: string
|
|
606
|
+
/** Key identifier (`kid`) embedded in JWT headers. */
|
|
607
|
+
kid: string
|
|
608
|
+
/** Human-readable name. */
|
|
609
|
+
name: string
|
|
610
|
+
}
|
|
611
|
+
/** Allowed referrer entry for request-origin validation. */
|
|
612
|
+
export interface EndpointReferrer {
|
|
613
|
+
/** Referrer entry identifier. */
|
|
614
|
+
id: string
|
|
615
|
+
/** Allowed referrer URL or domain. */
|
|
616
|
+
referrer?: string
|
|
617
|
+
}
|
|
618
|
+
/** Domain mask configured on an endpoint. */
|
|
619
|
+
export interface EndpointDomainMask {
|
|
620
|
+
/** Domain mask identifier. */
|
|
621
|
+
id: string
|
|
622
|
+
/** Masking domain. */
|
|
623
|
+
domain: string
|
|
624
|
+
}
|
|
625
|
+
/** Whitelisted IP address on an endpoint. */
|
|
626
|
+
export interface EndpointIp {
|
|
627
|
+
/** IP entry identifier. */
|
|
628
|
+
id: string
|
|
629
|
+
/** Whitelisted IP address. */
|
|
630
|
+
ip: string
|
|
631
|
+
}
|
|
632
|
+
/** Request (method) filter configured on an endpoint. */
|
|
633
|
+
export interface EndpointRequestFilter {
|
|
634
|
+
/** Filter identifier. */
|
|
635
|
+
id: string
|
|
636
|
+
/** Whitelisted RPC methods. */
|
|
637
|
+
method: Array<string>
|
|
638
|
+
}
|
|
639
|
+
/** Response from `show_endpoint`. */
|
|
640
|
+
export interface ShowEndpointResponse {
|
|
641
|
+
/** The endpoint, when found. */
|
|
642
|
+
data?: SingleEndpoint
|
|
643
|
+
/** Error message when the request did not succeed. */
|
|
644
|
+
error?: string
|
|
645
|
+
}
|
|
646
|
+
/** Parameters for `update_endpoint`. */
|
|
647
|
+
export interface UpdateEndpointRequest {
|
|
648
|
+
/** New human-readable label. */
|
|
649
|
+
label?: string
|
|
650
|
+
}
|
|
651
|
+
/** Parameters for `update_endpoint_status`. */
|
|
652
|
+
export interface UpdateEndpointStatusRequest {
|
|
653
|
+
/** New status (`active` or `paused`). */
|
|
654
|
+
status: string
|
|
655
|
+
}
|
|
656
|
+
/** Response from `update_endpoint_status`. */
|
|
657
|
+
export interface UpdateEndpointStatusResponse {
|
|
658
|
+
/** Confirmation string returned by the API. */
|
|
659
|
+
data?: string
|
|
660
|
+
/** Error message when the request did not succeed. */
|
|
661
|
+
error?: string
|
|
662
|
+
}
|
|
663
|
+
/** Parameters for `create_tag` (on a specific endpoint). */
|
|
664
|
+
export interface CreateTagRequest {
|
|
665
|
+
/** Label for the new tag. */
|
|
666
|
+
label?: string
|
|
667
|
+
}
|
|
668
|
+
/** Response from `get_endpoint_security`. */
|
|
669
|
+
export interface GetEndpointSecurityResponse {
|
|
670
|
+
/** The endpoint's security configuration. */
|
|
671
|
+
data?: EndpointSecurity
|
|
672
|
+
/** Error message when the request did not succeed. */
|
|
673
|
+
error?: string
|
|
674
|
+
}
|
|
675
|
+
/** Parameters for `get_endpoint_logs`. */
|
|
676
|
+
export interface GetEndpointLogsRequest {
|
|
677
|
+
/** Start of the query window (timestamp). */
|
|
678
|
+
from: string
|
|
679
|
+
/** End of the query window (timestamp). */
|
|
680
|
+
to: string
|
|
681
|
+
/** When true, include full request/response payloads in each entry. */
|
|
682
|
+
includeDetails?: boolean
|
|
683
|
+
/** Maximum number of log entries returned. */
|
|
684
|
+
limit?: number
|
|
685
|
+
/** Cursor returned by a previous page; pass to fetch the next page. */
|
|
686
|
+
nextAt?: string
|
|
687
|
+
}
|
|
688
|
+
/** Raw request/response payloads attached to a log entry. */
|
|
689
|
+
export interface LogDetails {
|
|
690
|
+
/** JSON-encoded request body (truncated at 2KB). */
|
|
691
|
+
request?: string
|
|
692
|
+
/** JSON-encoded response body (truncated at 2KB). */
|
|
693
|
+
response?: string
|
|
694
|
+
}
|
|
695
|
+
/** A single endpoint log entry. */
|
|
696
|
+
export interface EndpointLog {
|
|
697
|
+
/** Time the request was received. */
|
|
698
|
+
timestamp: string
|
|
699
|
+
/** RPC method called (e.g. `eth_blockNumber`). */
|
|
700
|
+
method?: string
|
|
701
|
+
/** Network the request was routed to. */
|
|
702
|
+
network?: string
|
|
703
|
+
/** HTTP verb (e.g. `POST`). */
|
|
704
|
+
httpMethod?: string
|
|
705
|
+
/** Response HTTP status code. */
|
|
706
|
+
status?: number
|
|
707
|
+
/** JSON-RPC error code, when present. */
|
|
708
|
+
errorCode?: number
|
|
709
|
+
/** Request URL. */
|
|
710
|
+
url?: string
|
|
711
|
+
/** Request UUID used to fetch full log details. */
|
|
712
|
+
requestId?: string
|
|
713
|
+
/** Full payloads, included when requested. */
|
|
714
|
+
details?: LogDetails
|
|
715
|
+
}
|
|
716
|
+
/** Response from `get_endpoint_logs`. */
|
|
717
|
+
export interface GetEndpointLogsResponse {
|
|
718
|
+
/** Log entries on the current page. */
|
|
719
|
+
data: Array<EndpointLog>
|
|
720
|
+
/** Cursor for the next page; `None` when there are no more entries. */
|
|
721
|
+
nextAt?: string
|
|
722
|
+
}
|
|
723
|
+
/** Response from `get_log_details`. */
|
|
724
|
+
export interface GetLogDetailsResponse {
|
|
725
|
+
/** Raw request and response payloads for the log entry. */
|
|
726
|
+
data?: LogDetails
|
|
727
|
+
}
|
|
728
|
+
/** An account-level tag, shared across endpoints. */
|
|
729
|
+
export interface AccountTag {
|
|
730
|
+
/** Tag identifier. */
|
|
731
|
+
id: number
|
|
732
|
+
/** Tag label. */
|
|
733
|
+
label: string
|
|
734
|
+
/** Number of endpoints the tag is applied to. */
|
|
735
|
+
usageCount: number
|
|
736
|
+
}
|
|
737
|
+
/** Inner data wrapper for `list_tags`. */
|
|
738
|
+
export interface ListTagsData {
|
|
739
|
+
/** Tags on the account. */
|
|
740
|
+
tags: Array<AccountTag>
|
|
741
|
+
}
|
|
742
|
+
/** Response from `list_tags`. */
|
|
743
|
+
export interface ListTagsResponse {
|
|
744
|
+
/** Account tags payload. */
|
|
745
|
+
data?: ListTagsData
|
|
746
|
+
/** Error message when the request did not succeed. */
|
|
747
|
+
error?: string
|
|
748
|
+
}
|
|
749
|
+
/** Parameters for `rename_tag`. */
|
|
750
|
+
export interface RenameTagRequest {
|
|
751
|
+
/** New label for the tag. */
|
|
752
|
+
label: string
|
|
753
|
+
}
|
|
754
|
+
/** Response from `rename_tag`. */
|
|
755
|
+
export interface RenameTagResponse {
|
|
756
|
+
/** The renamed tag. */
|
|
757
|
+
data?: AccountTag
|
|
758
|
+
/** Error message when the request did not succeed. */
|
|
759
|
+
error?: string
|
|
760
|
+
}
|
|
761
|
+
/** Inner data for `delete_account_tag`. */
|
|
762
|
+
export interface DeleteAccountTagData {
|
|
763
|
+
/** `true` when the tag was deleted. */
|
|
764
|
+
success: boolean
|
|
765
|
+
}
|
|
766
|
+
/** Response from `delete_account_tag`. */
|
|
767
|
+
export interface DeleteAccountTagResponse {
|
|
768
|
+
/** Deletion result. */
|
|
769
|
+
data?: DeleteAccountTagData
|
|
770
|
+
/** Error message when the request did not succeed. */
|
|
771
|
+
error?: string
|
|
772
|
+
}
|
|
773
|
+
/** A team member or pending invitee. */
|
|
774
|
+
export interface TeamUser {
|
|
775
|
+
/** User identifier. */
|
|
776
|
+
id: number
|
|
777
|
+
/** Display name. */
|
|
778
|
+
fullName?: string
|
|
779
|
+
/** Email address. */
|
|
780
|
+
email: string
|
|
781
|
+
/** Team role (e.g. `admin`, `viewer`, `billing`). */
|
|
782
|
+
role?: string
|
|
783
|
+
/** Membership status (e.g. `active`, `pending`). */
|
|
784
|
+
status?: string
|
|
785
|
+
/** When the user was added. */
|
|
786
|
+
createdAt?: string
|
|
787
|
+
/** Profile photo URL. */
|
|
788
|
+
photoUrl?: string
|
|
789
|
+
/** Whether this user is the primary user on the account. */
|
|
790
|
+
accountPrimaryUser?: boolean
|
|
791
|
+
}
|
|
792
|
+
/** Summary representation of a team in list responses. */
|
|
793
|
+
export interface TeamSummary {
|
|
794
|
+
/** Team identifier. */
|
|
795
|
+
id: number
|
|
796
|
+
/** Team name. */
|
|
797
|
+
name: string
|
|
798
|
+
/** Current member count. */
|
|
799
|
+
membersCount?: number
|
|
800
|
+
/** Active team members. */
|
|
801
|
+
users: Array<TeamUser>
|
|
802
|
+
}
|
|
803
|
+
/** Full team detail including pending invites. */
|
|
804
|
+
export interface TeamDetail {
|
|
805
|
+
/** Team identifier. */
|
|
806
|
+
id: number
|
|
807
|
+
/** Team name. */
|
|
808
|
+
name: string
|
|
809
|
+
/** Default role assigned to newly invited members. */
|
|
810
|
+
defaultRole?: string
|
|
811
|
+
/** Current member count. */
|
|
812
|
+
membersCount?: number
|
|
813
|
+
/** Active team members. */
|
|
814
|
+
users: Array<TeamUser>
|
|
815
|
+
/** Invites that have not yet been accepted. */
|
|
816
|
+
pendingInvites: Array<TeamUser>
|
|
817
|
+
}
|
|
818
|
+
/** Response from `list_teams`. */
|
|
819
|
+
export interface ListTeamsResponse {
|
|
820
|
+
/** Teams on the account. */
|
|
821
|
+
data: Array<TeamSummary>
|
|
822
|
+
/** Error message when the request did not succeed. */
|
|
823
|
+
error?: string
|
|
824
|
+
}
|
|
825
|
+
/** Parameters for `create_team`. */
|
|
826
|
+
export interface CreateTeamRequest {
|
|
827
|
+
/** Team name. */
|
|
828
|
+
name: string
|
|
829
|
+
}
|
|
830
|
+
/** Inner data for `create_team` responses. */
|
|
831
|
+
export interface CreateTeamData {
|
|
832
|
+
/** Team identifier. */
|
|
833
|
+
id: number
|
|
834
|
+
/** Team name. */
|
|
835
|
+
name: string
|
|
836
|
+
/** Default role for newly invited members. */
|
|
837
|
+
defaultRole?: string
|
|
838
|
+
/** Initial member count. */
|
|
839
|
+
membersCount?: number
|
|
840
|
+
}
|
|
841
|
+
/** Response from `create_team`. */
|
|
842
|
+
export interface CreateTeamResponse {
|
|
843
|
+
/** The newly created team. */
|
|
844
|
+
data?: CreateTeamData
|
|
845
|
+
/** Error message when the request did not succeed. */
|
|
846
|
+
error?: string
|
|
847
|
+
}
|
|
848
|
+
/** Response from `get_team`. */
|
|
849
|
+
export interface GetTeamResponse {
|
|
850
|
+
/** The team's full detail. */
|
|
851
|
+
data?: TeamDetail
|
|
852
|
+
/** Error message when the request did not succeed. */
|
|
853
|
+
error?: string
|
|
854
|
+
}
|
|
855
|
+
/** Inner data for `delete_team` responses. */
|
|
856
|
+
export interface DeleteTeamData {
|
|
857
|
+
/** Human-readable confirmation message. */
|
|
858
|
+
message?: string
|
|
859
|
+
}
|
|
860
|
+
/** Response from `delete_team`. */
|
|
861
|
+
export interface DeleteTeamResponse {
|
|
862
|
+
/** Deletion result payload. */
|
|
863
|
+
data?: DeleteTeamData
|
|
864
|
+
/** Error message when the request did not succeed. */
|
|
865
|
+
error?: string
|
|
866
|
+
}
|
|
867
|
+
/** A team's endpoint association. */
|
|
868
|
+
export interface TeamEndpoint {
|
|
869
|
+
/** Endpoint identifier. */
|
|
870
|
+
id: number
|
|
871
|
+
/** Endpoint subdomain. */
|
|
872
|
+
subdomain: string
|
|
873
|
+
/** Blockchain the endpoint serves. */
|
|
874
|
+
chain?: string
|
|
875
|
+
/** Network within the chain. */
|
|
876
|
+
network?: string
|
|
877
|
+
}
|
|
878
|
+
/** Response from `list_team_endpoints`. */
|
|
879
|
+
export interface ListTeamEndpointsResponse {
|
|
880
|
+
/** Endpoints accessible to the team. */
|
|
881
|
+
data: Array<TeamEndpoint>
|
|
882
|
+
/** Error message when the request did not succeed. */
|
|
883
|
+
error?: string
|
|
884
|
+
}
|
|
885
|
+
/** Parameters for `update_team_endpoints`. */
|
|
886
|
+
export interface UpdateTeamEndpointsRequest {
|
|
887
|
+
/** Endpoint ids to associate with the team; pass an empty array to remove all. */
|
|
888
|
+
endpointIds: Array<string>
|
|
889
|
+
}
|
|
890
|
+
/** Inner data for `update_team_endpoints` responses. */
|
|
891
|
+
export interface UpdateTeamEndpointsData {
|
|
892
|
+
/** `true` when the association update succeeded. */
|
|
893
|
+
success?: boolean
|
|
894
|
+
}
|
|
895
|
+
/** Response from `update_team_endpoints`. */
|
|
896
|
+
export interface UpdateTeamEndpointsResponse {
|
|
897
|
+
/** Update result. */
|
|
898
|
+
data?: UpdateTeamEndpointsData
|
|
899
|
+
/** Error message when the request did not succeed. */
|
|
900
|
+
error?: string
|
|
901
|
+
}
|
|
902
|
+
/** Parameters for `invite_team_member`. */
|
|
903
|
+
export interface InviteTeamMemberRequest {
|
|
904
|
+
/** Email address to invite. */
|
|
905
|
+
email: string
|
|
906
|
+
/** Full name (required for new users). */
|
|
907
|
+
fullName?: string
|
|
908
|
+
/** Team role (`admin`, `viewer`, or `billing`); required for new users. */
|
|
909
|
+
role?: string
|
|
910
|
+
}
|
|
911
|
+
/** Response from `invite_team_member`. */
|
|
912
|
+
export interface InviteTeamMemberResponse {
|
|
913
|
+
/** The invited user and their invitation status. */
|
|
914
|
+
data?: TeamUser
|
|
915
|
+
/** Error message when the request did not succeed. */
|
|
916
|
+
error?: string
|
|
917
|
+
}
|
|
918
|
+
/** Parameters for `remove_team_member`. */
|
|
919
|
+
export interface RemoveTeamMemberRequest {
|
|
920
|
+
/** When true, also delete the user entirely rather than just removing them from the team. */
|
|
921
|
+
destroyUser?: boolean
|
|
922
|
+
}
|
|
923
|
+
/** Shared message-shaped data wrapper for team operations. */
|
|
924
|
+
export interface TeamMessageData {
|
|
925
|
+
/** Human-readable confirmation message. */
|
|
926
|
+
message?: string
|
|
927
|
+
}
|
|
928
|
+
/** Response from `remove_team_member`. */
|
|
929
|
+
export interface RemoveTeamMemberResponse {
|
|
930
|
+
/** Operation result message. */
|
|
931
|
+
data?: TeamMessageData
|
|
932
|
+
/** Error message when the request did not succeed. */
|
|
933
|
+
error?: string
|
|
934
|
+
}
|
|
935
|
+
/** Response from `resend_team_invite`. */
|
|
936
|
+
export interface ResendTeamInviteResponse {
|
|
937
|
+
/** Operation result message. */
|
|
938
|
+
data?: TeamMessageData
|
|
939
|
+
/** Error message when the request did not succeed. */
|
|
940
|
+
error?: string
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Parameters for the account usage methods (`get_usage`, `get_usage_by_*`).
|
|
944
|
+
* Both bounds are optional; omit for account-to-date totals.
|
|
945
|
+
*/
|
|
946
|
+
export interface GetUsageRequest {
|
|
947
|
+
/** Start of the query window (Unix timestamp). */
|
|
948
|
+
startTime?: number
|
|
949
|
+
/** End of the query window (Unix timestamp). */
|
|
950
|
+
endTime?: number
|
|
951
|
+
}
|
|
952
|
+
/** Aggregate account usage for a time window. */
|
|
953
|
+
export interface UsageData {
|
|
954
|
+
/** Credits consumed during the window. */
|
|
955
|
+
creditsUsed: number
|
|
956
|
+
/** Credits still available, when the plan has a finite limit. */
|
|
957
|
+
creditsRemaining?: number
|
|
958
|
+
/** Plan's credit limit, when applicable. */
|
|
959
|
+
limit?: number
|
|
960
|
+
/** Credits consumed beyond the plan limit. */
|
|
961
|
+
overages?: number
|
|
962
|
+
/** Start of the queried window. */
|
|
963
|
+
startTime: number
|
|
964
|
+
/** End of the queried window. */
|
|
965
|
+
endTime: number
|
|
966
|
+
}
|
|
967
|
+
/** Response from `get_usage`. */
|
|
968
|
+
export interface GetUsageResponse {
|
|
969
|
+
/** Aggregate usage payload. */
|
|
970
|
+
data?: UsageData
|
|
971
|
+
/** Error message when the request did not succeed. */
|
|
972
|
+
error?: string
|
|
973
|
+
}
|
|
974
|
+
/** Per-endpoint usage row. */
|
|
975
|
+
export interface EndpointUsage {
|
|
976
|
+
/** Endpoint subdomain. */
|
|
977
|
+
name: string
|
|
978
|
+
/** Blockchain the endpoint serves. */
|
|
979
|
+
chain?: string
|
|
980
|
+
/** Network within the chain. */
|
|
981
|
+
network?: string
|
|
982
|
+
/** Operational status during the window. */
|
|
983
|
+
status?: string
|
|
984
|
+
/** Total credits consumed by this endpoint. */
|
|
985
|
+
creditsUsed: number
|
|
986
|
+
/** Human-readable label. */
|
|
987
|
+
label?: string
|
|
988
|
+
/** Per-method credit breakdown. */
|
|
989
|
+
methodsBreakdown: Array<MethodUsage>
|
|
990
|
+
/** Request count during the window. */
|
|
991
|
+
requests?: number
|
|
992
|
+
}
|
|
993
|
+
/** Per-method usage row. */
|
|
994
|
+
export interface MethodUsage {
|
|
995
|
+
/** RPC method name. */
|
|
996
|
+
methodName: string
|
|
997
|
+
/** Credits consumed by this method. */
|
|
998
|
+
creditsUsed: number
|
|
999
|
+
/** Whether the call required an archival node. */
|
|
1000
|
+
archive?: boolean
|
|
1001
|
+
/** Network the calls targeted. */
|
|
1002
|
+
network?: string
|
|
1003
|
+
/** Chain the calls targeted. */
|
|
1004
|
+
chain?: string
|
|
1005
|
+
}
|
|
1006
|
+
/** Per-chain usage row. */
|
|
1007
|
+
export interface ChainUsage {
|
|
1008
|
+
/** Chain name or slug. */
|
|
1009
|
+
name: string
|
|
1010
|
+
/** Credits consumed on the chain. */
|
|
1011
|
+
creditsUsed: number
|
|
1012
|
+
}
|
|
1013
|
+
/** Inner data for `get_usage_by_endpoint`. */
|
|
1014
|
+
export interface UsageByEndpointData {
|
|
1015
|
+
/** Per-endpoint rows. */
|
|
1016
|
+
endpoints: Array<EndpointUsage>
|
|
1017
|
+
/** Start of the queried window. */
|
|
1018
|
+
startTime?: number
|
|
1019
|
+
/** End of the queried window. */
|
|
1020
|
+
endTime?: number
|
|
1021
|
+
}
|
|
1022
|
+
/** Response from `get_usage_by_endpoint`. */
|
|
1023
|
+
export interface GetUsageByEndpointResponse {
|
|
1024
|
+
/** Per-endpoint usage payload. */
|
|
1025
|
+
data?: UsageByEndpointData
|
|
1026
|
+
/** Error message when the request did not succeed. */
|
|
1027
|
+
error?: string
|
|
1028
|
+
}
|
|
1029
|
+
/** Inner data for `get_usage_by_method`. */
|
|
1030
|
+
export interface UsageByMethodData {
|
|
1031
|
+
/** Per-method rows. */
|
|
1032
|
+
methods: Array<MethodUsage>
|
|
1033
|
+
/** Start of the queried window. */
|
|
1034
|
+
startTime?: number
|
|
1035
|
+
/** End of the queried window. */
|
|
1036
|
+
endTime?: number
|
|
1037
|
+
}
|
|
1038
|
+
/** Response from `get_usage_by_method`. */
|
|
1039
|
+
export interface GetUsageByMethodResponse {
|
|
1040
|
+
/** Per-method usage payload. */
|
|
1041
|
+
data?: UsageByMethodData
|
|
1042
|
+
/** Error message when the request did not succeed. */
|
|
1043
|
+
error?: string
|
|
1044
|
+
}
|
|
1045
|
+
/** Inner data for `get_usage_by_chain`. */
|
|
1046
|
+
export interface UsageByChainData {
|
|
1047
|
+
/** Per-chain rows. */
|
|
1048
|
+
chains: Array<ChainUsage>
|
|
1049
|
+
/** Start of the queried window. */
|
|
1050
|
+
startTime?: number
|
|
1051
|
+
/** End of the queried window. */
|
|
1052
|
+
endTime?: number
|
|
1053
|
+
}
|
|
1054
|
+
/** Response from `get_usage_by_chain`. */
|
|
1055
|
+
export interface GetUsageByChainResponse {
|
|
1056
|
+
/** Per-chain usage payload. */
|
|
1057
|
+
data?: UsageByChainData
|
|
1058
|
+
/** Error message when the request did not succeed. */
|
|
1059
|
+
error?: string
|
|
1060
|
+
}
|
|
1061
|
+
/** Per-tag usage row. */
|
|
1062
|
+
export interface TagUsage {
|
|
1063
|
+
/** Tag identifier. */
|
|
1064
|
+
tagId?: number
|
|
1065
|
+
/** Tag label. */
|
|
1066
|
+
label: string
|
|
1067
|
+
/** Credits consumed by endpoints with this tag. */
|
|
1068
|
+
creditsUsed: number
|
|
1069
|
+
/** Request count during the window. */
|
|
1070
|
+
requests: number
|
|
1071
|
+
}
|
|
1072
|
+
/** Inner data for `get_usage_by_tag`. */
|
|
1073
|
+
export interface UsageByTagData {
|
|
1074
|
+
/** Per-tag rows. */
|
|
1075
|
+
tags: Array<TagUsage>
|
|
1076
|
+
/** Start of the queried window. */
|
|
1077
|
+
startTime?: number
|
|
1078
|
+
/** End of the queried window. */
|
|
1079
|
+
endTime?: number
|
|
1080
|
+
}
|
|
1081
|
+
/** Response from `get_usage_by_tag`. */
|
|
1082
|
+
export interface GetUsageByTagResponse {
|
|
1083
|
+
/** Per-tag usage payload. */
|
|
1084
|
+
data?: UsageByTagData
|
|
1085
|
+
/** Error message when the request did not succeed. */
|
|
1086
|
+
error?: string
|
|
1087
|
+
}
|
|
1088
|
+
export interface HttpConfig {
|
|
1089
|
+
timeoutSecs?: number
|
|
1090
|
+
poolMaxIdlePerHost?: number
|
|
1091
|
+
}
|
|
1092
|
+
export interface AdminConfig {
|
|
1093
|
+
baseUrl?: string
|
|
1094
|
+
}
|
|
1095
|
+
export interface StreamsConfig {
|
|
1096
|
+
baseUrl?: string
|
|
1097
|
+
}
|
|
1098
|
+
export interface WebhooksConfig {
|
|
1099
|
+
baseUrl?: string
|
|
1100
|
+
}
|
|
1101
|
+
export interface KvStoreConfig {
|
|
1102
|
+
baseUrl?: string
|
|
1103
|
+
}
|
|
1104
|
+
export interface SdkFullConfig {
|
|
1105
|
+
apiKey: string
|
|
1106
|
+
http?: HttpConfig
|
|
1107
|
+
admin?: AdminConfig
|
|
1108
|
+
streams?: StreamsConfig
|
|
1109
|
+
webhooks?: WebhooksConfig
|
|
1110
|
+
kvstore?: KvStoreConfig
|
|
1111
|
+
}
|
|
1112
|
+
/** Parameters for `create_set`. */
|
|
1113
|
+
export interface CreateSetParams {
|
|
1114
|
+
/** Unique key identifying the set. */
|
|
1115
|
+
key: string
|
|
1116
|
+
/** String value stored under the key. */
|
|
1117
|
+
value: string
|
|
1118
|
+
}
|
|
1119
|
+
/** Parameters for `get_sets`. */
|
|
1120
|
+
export interface GetSetsParams {
|
|
1121
|
+
/** Maximum number of entries returned. */
|
|
1122
|
+
limit?: number
|
|
1123
|
+
/** Cursor returned by a previous page; pass to fetch the next page. */
|
|
1124
|
+
cursor?: string
|
|
1125
|
+
}
|
|
1126
|
+
/** Parameters for `bulk_sets`. Either or both fields may be supplied. */
|
|
1127
|
+
export interface BulkSetsParams {
|
|
1128
|
+
/** Key/value pairs to add. */
|
|
1129
|
+
addSets?: Record<string, string>
|
|
1130
|
+
/** Keys to delete. */
|
|
1131
|
+
deleteSets?: Array<string>
|
|
1132
|
+
}
|
|
1133
|
+
/** Parameters for `create_list`. */
|
|
1134
|
+
export interface CreateListParams {
|
|
1135
|
+
/** Unique key identifying the list. */
|
|
1136
|
+
key: string
|
|
1137
|
+
/** Initial items inserted into the list. */
|
|
1138
|
+
items: Array<string>
|
|
1139
|
+
}
|
|
1140
|
+
/** Parameters for `get_lists`. */
|
|
1141
|
+
export interface GetListsParams {
|
|
1142
|
+
/** Maximum number of list keys returned. */
|
|
1143
|
+
limit?: number
|
|
1144
|
+
/** Cursor returned by a previous page; pass to fetch the next page. */
|
|
1145
|
+
cursor?: string
|
|
1146
|
+
}
|
|
1147
|
+
/** Parameters for `get_list`. */
|
|
1148
|
+
export interface GetListParams {
|
|
1149
|
+
/** Maximum number of items returned. */
|
|
1150
|
+
limit?: number
|
|
1151
|
+
/** Cursor returned by a previous page; pass to fetch the next page. */
|
|
1152
|
+
cursor?: string
|
|
1153
|
+
}
|
|
1154
|
+
/** Parameters for `update_list`. Either or both fields may be supplied. */
|
|
1155
|
+
export interface UpdateListParams {
|
|
1156
|
+
/** Items to add to the list. */
|
|
1157
|
+
addItems?: Array<string>
|
|
1158
|
+
/** Items to remove from the list. */
|
|
1159
|
+
removeItems?: Array<string>
|
|
1160
|
+
}
|
|
1161
|
+
/** Parameters for `add_list_item`. */
|
|
1162
|
+
export interface AddListItemParams {
|
|
1163
|
+
/** Item to append to the list. */
|
|
1164
|
+
item: string
|
|
1165
|
+
}
|
|
1166
|
+
/** A single key/value entry returned by `get_sets`. */
|
|
1167
|
+
export interface KvSetEntry {
|
|
1168
|
+
/** Key identifying the set. */
|
|
1169
|
+
key: string
|
|
1170
|
+
/** Stored string value. */
|
|
1171
|
+
value: string
|
|
1172
|
+
}
|
|
1173
|
+
/** Response from `get_sets`. */
|
|
1174
|
+
export interface GetSetsResponse {
|
|
1175
|
+
/** Key/value entries on the current page. */
|
|
1176
|
+
data: Array<KvSetEntry>
|
|
1177
|
+
/** Cursor for the next page; empty string when there are no more pages. */
|
|
1178
|
+
cursor: string
|
|
1179
|
+
}
|
|
1180
|
+
/** Response from `get_set`. */
|
|
1181
|
+
export interface GetSetResponse {
|
|
1182
|
+
/** Stored string value. */
|
|
1183
|
+
value: string
|
|
1184
|
+
}
|
|
1185
|
+
/** Inner data for `get_lists` responses. */
|
|
1186
|
+
export interface GetListsData {
|
|
1187
|
+
/** List keys on the current page. */
|
|
1188
|
+
keys: Array<string>
|
|
1189
|
+
}
|
|
1190
|
+
/** Response from `get_lists`. */
|
|
1191
|
+
export interface GetListsResponse {
|
|
1192
|
+
/** List keys on the current page. */
|
|
1193
|
+
data: GetListsData
|
|
1194
|
+
/** Cursor for the next page; empty string when there are no more pages. */
|
|
1195
|
+
cursor: string
|
|
1196
|
+
}
|
|
1197
|
+
/** Inner data for `get_list` responses. */
|
|
1198
|
+
export interface GetListData {
|
|
1199
|
+
/** Items in the list on the current page. */
|
|
1200
|
+
items: Array<string>
|
|
1201
|
+
}
|
|
1202
|
+
/** Response from `get_list`. */
|
|
1203
|
+
export interface GetListResponse {
|
|
1204
|
+
/** Items for the list on the current page. */
|
|
1205
|
+
data: GetListData
|
|
1206
|
+
/** Cursor for the next page; empty string when there are no more pages. */
|
|
1207
|
+
cursor: string
|
|
1208
|
+
}
|
|
1209
|
+
/** Response from `list_contains_item`. */
|
|
1210
|
+
export interface ListContainsItemResponse {
|
|
1211
|
+
/** `true` when the item is present in the list. */
|
|
1212
|
+
exists: boolean
|
|
1213
|
+
}
|
|
1214
|
+
/** Geographic region where a stream runs. */
|
|
1215
|
+
export const enum StreamRegion {
|
|
1216
|
+
UsaEast = 'UsaEast',
|
|
1217
|
+
EuropeCentral = 'EuropeCentral',
|
|
1218
|
+
AsiaEast = 'AsiaEast'
|
|
1219
|
+
}
|
|
1220
|
+
/** Type of on-chain data a stream delivers (blocks, transactions, logs, etc.). */
|
|
1221
|
+
export const enum StreamDataset {
|
|
1222
|
+
Block = 'Block',
|
|
1223
|
+
BlockWithReceipts = 'BlockWithReceipts',
|
|
1224
|
+
Transactions = 'Transactions',
|
|
1225
|
+
Logs = 'Logs',
|
|
1226
|
+
Receipts = 'Receipts',
|
|
1227
|
+
TraceBlocks = 'TraceBlocks',
|
|
1228
|
+
DebugTraces = 'DebugTraces',
|
|
1229
|
+
BlockWithReceiptsDebugTrace = 'BlockWithReceiptsDebugTrace',
|
|
1230
|
+
BlockWithReceiptsTraceBlock = 'BlockWithReceiptsTraceBlock',
|
|
1231
|
+
BlobSidecars = 'BlobSidecars',
|
|
1232
|
+
ProgramsWithLogs = 'ProgramsWithLogs',
|
|
1233
|
+
Ledger = 'Ledger',
|
|
1234
|
+
Events = 'Events',
|
|
1235
|
+
Orders = 'Orders',
|
|
1236
|
+
Trades = 'Trades',
|
|
1237
|
+
BookUpdates = 'BookUpdates',
|
|
1238
|
+
Twap = 'Twap',
|
|
1239
|
+
WriterActions = 'WriterActions'
|
|
1240
|
+
}
|
|
1241
|
+
/** Destination kind a stream delivers to (webhook, S3, Postgres, etc.). */
|
|
1242
|
+
export const enum StreamDestination {
|
|
1243
|
+
Webhook = 'Webhook',
|
|
1244
|
+
S3 = 'S3',
|
|
1245
|
+
Azure = 'Azure',
|
|
1246
|
+
Postgres = 'Postgres',
|
|
1247
|
+
Clickhouse = 'Clickhouse',
|
|
1248
|
+
Snowflake = 'Snowflake',
|
|
1249
|
+
Mysql = 'Mysql',
|
|
1250
|
+
Mongo = 'Mongo',
|
|
1251
|
+
Kafka = 'Kafka',
|
|
1252
|
+
Redis = 'Redis'
|
|
1253
|
+
}
|
|
1254
|
+
/** Language a stream's filter function is written in. */
|
|
1255
|
+
export const enum FilterLanguage {
|
|
1256
|
+
Javascript = 'Javascript',
|
|
1257
|
+
Go = 'Go',
|
|
1258
|
+
Wasm = 'Wasm'
|
|
1259
|
+
}
|
|
1260
|
+
/** Where stream metadata is included in delivered payloads. */
|
|
1261
|
+
export const enum StreamMetadataLocation {
|
|
1262
|
+
Body = 'Body',
|
|
1263
|
+
Header = 'Header',
|
|
1264
|
+
None = 'None'
|
|
1265
|
+
}
|
|
1266
|
+
/** Billing product type the stream is associated with. */
|
|
1267
|
+
export const enum ProductType {
|
|
1268
|
+
Stream = 'Stream',
|
|
1269
|
+
Webhook = 'Webhook'
|
|
1270
|
+
}
|
|
1271
|
+
/** Operational state of a stream. */
|
|
1272
|
+
export const enum StreamStatus {
|
|
1273
|
+
Active = 'Active',
|
|
1274
|
+
Paused = 'Paused',
|
|
1275
|
+
Terminated = 'Terminated',
|
|
1276
|
+
Completed = 'Completed',
|
|
1277
|
+
Blocked = 'Blocked'
|
|
1278
|
+
}
|
|
1279
|
+
/** Configuration for delivering stream batches to an HTTP webhook endpoint. */
|
|
1280
|
+
export interface WebhookAttributes {
|
|
1281
|
+
/** Destination URL that receives batched stream payloads. */
|
|
1282
|
+
url: string
|
|
1283
|
+
/** Maximum number of retry attempts for a failed delivery. */
|
|
1284
|
+
maxRetry: number
|
|
1285
|
+
/** Seconds to wait between retry attempts. */
|
|
1286
|
+
retryIntervalSec: number
|
|
1287
|
+
/** Timeout in seconds for each POST request. */
|
|
1288
|
+
postTimeoutSec: number
|
|
1289
|
+
/** Optional token included with each request so the receiver can verify authenticity. */
|
|
1290
|
+
securityToken?: string
|
|
1291
|
+
/** Compression applied to the payload (e.g. `none`, `gzip`). */
|
|
1292
|
+
compression: string
|
|
1293
|
+
}
|
|
1294
|
+
/** Configuration for delivering stream batches to an S3-compatible object store. */
|
|
1295
|
+
export interface S3Attributes {
|
|
1296
|
+
/** S3 service endpoint (e.g. `s3.amazonaws.com`). */
|
|
1297
|
+
endpoint: string
|
|
1298
|
+
/** Access key used to authenticate with the S3 endpoint. */
|
|
1299
|
+
accessKey: string
|
|
1300
|
+
/** Secret key used to authenticate with the S3 endpoint. */
|
|
1301
|
+
secretKey: string
|
|
1302
|
+
/** Target bucket name. */
|
|
1303
|
+
bucket: string
|
|
1304
|
+
/** Key prefix prepended to each written object. */
|
|
1305
|
+
objectPrefix: string
|
|
1306
|
+
/** Compression applied to written objects (e.g. `none`, `gzip`). */
|
|
1307
|
+
compression: string
|
|
1308
|
+
/** File format/extension for written objects (e.g. `.json`). */
|
|
1309
|
+
fileType: string
|
|
1310
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1311
|
+
maxRetry: number
|
|
1312
|
+
/** Seconds to wait between retry attempts. */
|
|
1313
|
+
retryIntervalSec: number
|
|
1314
|
+
/** Whether to use TLS when connecting to the endpoint. */
|
|
1315
|
+
useSsl?: boolean
|
|
1316
|
+
}
|
|
1317
|
+
/** Configuration for delivering stream batches to Azure Blob Storage. */
|
|
1318
|
+
export interface AzureAttributes {
|
|
1319
|
+
/** Azure storage account name. */
|
|
1320
|
+
storageAccount: string
|
|
1321
|
+
/** SAS token used to authorize writes. */
|
|
1322
|
+
sasToken: string
|
|
1323
|
+
/** Container that receives written blobs. */
|
|
1324
|
+
container: string
|
|
1325
|
+
/** Compression applied to written blobs (e.g. `none`, `gzip`). */
|
|
1326
|
+
compression: string
|
|
1327
|
+
/** File format/extension for written blobs (e.g. `.json`). */
|
|
1328
|
+
fileType: string
|
|
1329
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1330
|
+
maxRetry: number
|
|
1331
|
+
/** Seconds to wait between retry attempts. */
|
|
1332
|
+
retryIntervalSec: number
|
|
1333
|
+
/** Optional name prefix prepended to each written blob. */
|
|
1334
|
+
blobPrefix?: string
|
|
1335
|
+
}
|
|
1336
|
+
/** Configuration for delivering stream batches to a PostgreSQL database. */
|
|
1337
|
+
export interface PostgresAttributes {
|
|
1338
|
+
/** Database host. */
|
|
1339
|
+
host: string
|
|
1340
|
+
/** Database port. */
|
|
1341
|
+
port: number
|
|
1342
|
+
/** Database name. */
|
|
1343
|
+
database: string
|
|
1344
|
+
/** Username used to authenticate. */
|
|
1345
|
+
username: string
|
|
1346
|
+
/** Password used to authenticate. */
|
|
1347
|
+
password: string
|
|
1348
|
+
/** Destination table for inserted rows. */
|
|
1349
|
+
tableName: string
|
|
1350
|
+
/** Postgres SSL mode (e.g. `disable`, `require`, `verify-full`). */
|
|
1351
|
+
sslmode: string
|
|
1352
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1353
|
+
maxRetry: number
|
|
1354
|
+
/** Seconds to wait between retry attempts. */
|
|
1355
|
+
retryIntervalSec: number
|
|
1356
|
+
}
|
|
1357
|
+
/** Configuration for delivering stream batches to a MySQL database. */
|
|
1358
|
+
export interface MysqlAttributes {
|
|
1359
|
+
/** Database host. */
|
|
1360
|
+
host: string
|
|
1361
|
+
/** Database port. */
|
|
1362
|
+
port: number
|
|
1363
|
+
/** Database name. */
|
|
1364
|
+
database: string
|
|
1365
|
+
/** Username used to authenticate. */
|
|
1366
|
+
username: string
|
|
1367
|
+
/** Password used to authenticate. */
|
|
1368
|
+
password: string
|
|
1369
|
+
/** Destination table for inserted rows. */
|
|
1370
|
+
tableName: string
|
|
1371
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1372
|
+
maxRetry: number
|
|
1373
|
+
/** Seconds to wait between retry attempts. */
|
|
1374
|
+
retryIntervalSec: number
|
|
1375
|
+
}
|
|
1376
|
+
/** Configuration for delivering stream batches to a MongoDB database. */
|
|
1377
|
+
export interface MongoAttributes {
|
|
1378
|
+
/** Database host (connection string or hostname). */
|
|
1379
|
+
host: string
|
|
1380
|
+
/** Database name. */
|
|
1381
|
+
database: string
|
|
1382
|
+
/** Username used to authenticate. */
|
|
1383
|
+
username: string
|
|
1384
|
+
/** Password used to authenticate. */
|
|
1385
|
+
password: string
|
|
1386
|
+
/** Destination collection for inserted documents. */
|
|
1387
|
+
collectionName: string
|
|
1388
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1389
|
+
maxRetry: number
|
|
1390
|
+
/** Seconds to wait between retry attempts. */
|
|
1391
|
+
retryIntervalSec: number
|
|
1392
|
+
}
|
|
1393
|
+
/** Configuration for delivering stream batches to a ClickHouse cluster. */
|
|
1394
|
+
export interface ClickhouseAttributes {
|
|
1395
|
+
/** Comma-separated list of ClickHouse hosts. */
|
|
1396
|
+
hosts: string
|
|
1397
|
+
/** Database name. */
|
|
1398
|
+
database: string
|
|
1399
|
+
/** Username used to authenticate. */
|
|
1400
|
+
username: string
|
|
1401
|
+
/** Password used to authenticate. */
|
|
1402
|
+
password: string
|
|
1403
|
+
/** Destination table for inserted rows. */
|
|
1404
|
+
tableName: string
|
|
1405
|
+
/** Default table engine options applied when a table is created. */
|
|
1406
|
+
defaultTableEngineOpts: string
|
|
1407
|
+
/** Default index granularity for created tables. */
|
|
1408
|
+
defaultGranularity: number
|
|
1409
|
+
/** Default compression codec for created tables. */
|
|
1410
|
+
defaultCompression: string
|
|
1411
|
+
/** Default secondary index type for created tables. */
|
|
1412
|
+
defaultIndexType: string
|
|
1413
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1414
|
+
maxRetry: number
|
|
1415
|
+
/** Seconds to wait between retry attempts. */
|
|
1416
|
+
retryIntervalSec: number
|
|
1417
|
+
/** Disable datetime precision for older ClickHouse versions that don't support it. */
|
|
1418
|
+
disableDatetimePrecision?: boolean
|
|
1419
|
+
/** Enable when the target ClickHouse server does not support `RENAME COLUMN`. */
|
|
1420
|
+
dontSupportRenameColumn?: boolean
|
|
1421
|
+
/** Enable when the target ClickHouse server does not support empty default values. */
|
|
1422
|
+
dontSupportEmptyDefaultValue?: boolean
|
|
1423
|
+
/** Skip writing version metadata during initialization. */
|
|
1424
|
+
skipInitializeWithVersion?: boolean
|
|
1425
|
+
}
|
|
1426
|
+
/** Configuration for delivering stream batches to a Snowflake data warehouse. */
|
|
1427
|
+
export interface SnowflakeAttributes {
|
|
1428
|
+
/** Snowflake account identifier. */
|
|
1429
|
+
account: string
|
|
1430
|
+
/** Snowflake host. */
|
|
1431
|
+
host: string
|
|
1432
|
+
/** Snowflake port. */
|
|
1433
|
+
port: number
|
|
1434
|
+
/** Connection protocol (e.g. `https`). */
|
|
1435
|
+
protocol: string
|
|
1436
|
+
/** Database name. */
|
|
1437
|
+
database: string
|
|
1438
|
+
/** Schema within the database. */
|
|
1439
|
+
schema: string
|
|
1440
|
+
/** Warehouse used to run inserts. */
|
|
1441
|
+
warehouse: string
|
|
1442
|
+
/** Username used to authenticate. */
|
|
1443
|
+
username: string
|
|
1444
|
+
/** Password used to authenticate. */
|
|
1445
|
+
password: string
|
|
1446
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1447
|
+
maxRetry: number
|
|
1448
|
+
/** Seconds to wait between retry attempts. */
|
|
1449
|
+
retryIntervalSec: number
|
|
1450
|
+
/** Optional destination table for inserted rows. */
|
|
1451
|
+
tableName?: string
|
|
1452
|
+
}
|
|
1453
|
+
/** Configuration for delivering stream batches to a Kafka topic. */
|
|
1454
|
+
export interface KafkaAttributes {
|
|
1455
|
+
/** Comma-separated list of Kafka broker addresses (host:port). */
|
|
1456
|
+
bootstrapServers: string
|
|
1457
|
+
/** Destination topic. */
|
|
1458
|
+
topicName: string
|
|
1459
|
+
/** Compression codec applied to produced messages (e.g. `none`, `gzip`). */
|
|
1460
|
+
compressionType: string
|
|
1461
|
+
/** Maximum number of messages grouped per produce request. */
|
|
1462
|
+
batchSize: number
|
|
1463
|
+
/** Milliseconds the producer waits to batch additional messages. */
|
|
1464
|
+
lingerMs: number
|
|
1465
|
+
/** Maximum request size in bytes. */
|
|
1466
|
+
maxRequestSize: number
|
|
1467
|
+
/** Request timeout in seconds. */
|
|
1468
|
+
timeoutSec: number
|
|
1469
|
+
/** Maximum number of retry attempts for a failed produce. */
|
|
1470
|
+
maxRetry: number
|
|
1471
|
+
/** Seconds to wait between retry attempts. */
|
|
1472
|
+
retryIntervalSec: number
|
|
1473
|
+
/** Optional SASL username. */
|
|
1474
|
+
username?: string
|
|
1475
|
+
/** Optional SASL password. */
|
|
1476
|
+
password?: string
|
|
1477
|
+
/** Optional security protocol (e.g. `SASL_SSL`). */
|
|
1478
|
+
protocol?: string
|
|
1479
|
+
/** Optional SASL mechanism (e.g. `PLAIN`, `SCRAM-SHA-256`). */
|
|
1480
|
+
mechanisms?: string
|
|
1481
|
+
}
|
|
1482
|
+
/** Configuration for delivering stream batches to a Redis instance. */
|
|
1483
|
+
export interface RedisAttributes {
|
|
1484
|
+
/** Redis host. */
|
|
1485
|
+
host: string
|
|
1486
|
+
/** Redis port. */
|
|
1487
|
+
port: number
|
|
1488
|
+
/** Redis logical database index. */
|
|
1489
|
+
database: number
|
|
1490
|
+
/** Username used to authenticate. */
|
|
1491
|
+
username: string
|
|
1492
|
+
/** Password used to authenticate. */
|
|
1493
|
+
password: string
|
|
1494
|
+
/** Redis key that receives written payloads. */
|
|
1495
|
+
keyName: string
|
|
1496
|
+
/** Maximum number of retry attempts for a failed write. */
|
|
1497
|
+
maxRetry: number
|
|
1498
|
+
/** Seconds to wait between retry attempts. */
|
|
1499
|
+
retryIntervalSec: number
|
|
1500
|
+
/** Whether to connect over TLS. */
|
|
1501
|
+
tls?: boolean
|
|
1502
|
+
}
|
|
1503
|
+
/**
|
|
1504
|
+
* Links a stream's filter to an address book so JSON paths resolve against its
|
|
1505
|
+
* managed address set.
|
|
1506
|
+
*/
|
|
1507
|
+
export interface AddressBookConfig {
|
|
1508
|
+
/** Identifier of the address book to use. */
|
|
1509
|
+
addressBookId: string
|
|
1510
|
+
/** Optional JSON path that resolves to an object whose fields are matched against the book. */
|
|
1511
|
+
objectsFilterPath?: string
|
|
1512
|
+
/** JSON paths whose resolved values are matched against the book's addresses. */
|
|
1513
|
+
elementsFilterPaths: Array<string>
|
|
1514
|
+
}
|
|
1515
|
+
/** Pagination metadata returned alongside a paginated result set. */
|
|
1516
|
+
export interface PageInfo {
|
|
1517
|
+
/** Page size used for this response. */
|
|
1518
|
+
limit: number
|
|
1519
|
+
/** Starting index of this page within the full result set. */
|
|
1520
|
+
offset: number
|
|
1521
|
+
/** Total number of items matching the query across all pages. */
|
|
1522
|
+
total: number
|
|
1523
|
+
}
|
|
1524
|
+
/** Parameters for `list_streams`. */
|
|
1525
|
+
export interface ListStreamsParams {
|
|
1526
|
+
/** Filter results by stream type. */
|
|
1527
|
+
streamType?: string
|
|
1528
|
+
/** Starting index into the result set; defaults to 0. */
|
|
1529
|
+
offset?: number
|
|
1530
|
+
/** Maximum number of streams returned. */
|
|
1531
|
+
limit?: number
|
|
1532
|
+
/** Field to sort results by. */
|
|
1533
|
+
orderBy?: string
|
|
1534
|
+
/** Sort direction (`asc` or `desc`). */
|
|
1535
|
+
orderDirection?: string
|
|
1536
|
+
}
|
|
1537
|
+
/** Parameters for `test_filter`. */
|
|
1538
|
+
export interface TestFilterParams {
|
|
1539
|
+
/** Blockchain network to run the test against (e.g. `ethereum-mainnet`). */
|
|
1540
|
+
network: string
|
|
1541
|
+
/** Dataset the filter operates on. */
|
|
1542
|
+
dataset: StreamDataset
|
|
1543
|
+
/** Specific block number to feed into the filter for the test. */
|
|
1544
|
+
block: string
|
|
1545
|
+
/** Base64-encoded filter function to evaluate. */
|
|
1546
|
+
filterFunction?: string
|
|
1547
|
+
/** Language the filter function is written in. */
|
|
1548
|
+
filterLanguage?: FilterLanguage
|
|
1549
|
+
/** Address book linked to the filter, if any. */
|
|
1550
|
+
addressBookConfig?: AddressBookConfig
|
|
1551
|
+
}
|
|
1552
|
+
/** Result of a `test_filter` call. */
|
|
1553
|
+
export interface TestFilterResponse {
|
|
1554
|
+
/** Filter output as a JSON string. Shape depends on the dataset and the user's filter function. */
|
|
1555
|
+
result: string
|
|
1556
|
+
/** Log lines emitted by the filter function during evaluation. */
|
|
1557
|
+
logs: Array<string>
|
|
1558
|
+
}
|
|
1559
|
+
/** Result of `get_enabled_count`. */
|
|
1560
|
+
export interface EnabledCountResponse {
|
|
1561
|
+
/** Total count of currently enabled streams. */
|
|
1562
|
+
total: number
|
|
1563
|
+
}
|
|
1564
|
+
/** Identifier of a predefined webhook filter template. */
|
|
1565
|
+
export const enum WebhookTemplateId {
|
|
1566
|
+
EvmWalletFilter = 'EvmWalletFilter',
|
|
1567
|
+
EvmContractEvents = 'EvmContractEvents',
|
|
1568
|
+
EvmAbiFilter = 'EvmAbiFilter',
|
|
1569
|
+
SolanaWalletFilter = 'SolanaWalletFilter',
|
|
1570
|
+
BitcoinWalletFilter = 'BitcoinWalletFilter',
|
|
1571
|
+
XrplWalletFilter = 'XrplWalletFilter',
|
|
1572
|
+
HyperliquidWalletEventsFilter = 'HyperliquidWalletEventsFilter',
|
|
1573
|
+
StellarWalletTransactionsSourceAccountFilter = 'StellarWalletTransactionsSourceAccountFilter'
|
|
1574
|
+
}
|
|
1575
|
+
/** Position a webhook begins (or resumes) delivering from when activated. */
|
|
1576
|
+
export const enum WebhookStartFrom {
|
|
1577
|
+
/** Resume from the last-delivered block. */
|
|
1578
|
+
Last = 'Last',
|
|
1579
|
+
/** Start from the newest available block. */
|
|
1580
|
+
Latest = 'Latest'
|
|
1581
|
+
}
|
|
1582
|
+
/**
|
|
1583
|
+
* Template arguments for an EVM wallet filter: matches activity for a list of
|
|
1584
|
+
* wallet addresses.
|
|
1585
|
+
*/
|
|
1586
|
+
export interface EvmWalletFilterTemplate {
|
|
1587
|
+
/** Wallet addresses to match against. */
|
|
1588
|
+
wallets: Array<string>
|
|
1589
|
+
}
|
|
1590
|
+
/**
|
|
1591
|
+
* Template arguments for filtering EVM contract events, optionally scoped to
|
|
1592
|
+
* a specific set of event topic hashes.
|
|
1593
|
+
*/
|
|
1594
|
+
export interface EvmContractEventsTemplate {
|
|
1595
|
+
/** Contract addresses to watch for events. */
|
|
1596
|
+
contracts: Array<string>
|
|
1597
|
+
/** Optional list of event topic hashes to restrict the filter to specific events. */
|
|
1598
|
+
eventHashes?: Array<string>
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Template arguments for an EVM ABI filter: decodes and filters events for a
|
|
1602
|
+
* set of contracts using a provided ABI.
|
|
1603
|
+
*/
|
|
1604
|
+
export interface EvmAbiFilterTemplate {
|
|
1605
|
+
/** JSON-encoded contract ABI used to decode event data. */
|
|
1606
|
+
abi: string
|
|
1607
|
+
/** Contract addresses to watch for events. */
|
|
1608
|
+
contracts: Array<string>
|
|
1609
|
+
}
|
|
1610
|
+
/**
|
|
1611
|
+
* Template arguments for a Solana wallet filter: matches activity for a list
|
|
1612
|
+
* of Solana account addresses.
|
|
1613
|
+
*/
|
|
1614
|
+
export interface SolanaWalletFilterTemplate {
|
|
1615
|
+
/** Solana account addresses to match against. */
|
|
1616
|
+
accounts: Array<string>
|
|
1617
|
+
}
|
|
1618
|
+
/** Template arguments for a Bitcoin wallet filter. */
|
|
1619
|
+
export interface BitcoinWalletFilterTemplate {
|
|
1620
|
+
/** Bitcoin wallet addresses to match against. */
|
|
1621
|
+
wallets: Array<string>
|
|
1622
|
+
}
|
|
1623
|
+
/** Template arguments for an XRPL wallet filter. */
|
|
1624
|
+
export interface XrplWalletFilterTemplate {
|
|
1625
|
+
/** XRPL wallet addresses to match against. */
|
|
1626
|
+
wallets: Array<string>
|
|
1627
|
+
}
|
|
1628
|
+
/** Template arguments for a Hyperliquid wallet-events filter. */
|
|
1629
|
+
export interface HyperliquidWalletEventsFilterTemplate {
|
|
1630
|
+
/** Hyperliquid wallet addresses to match against. */
|
|
1631
|
+
wallets: Array<string>
|
|
1632
|
+
}
|
|
1633
|
+
/**
|
|
1634
|
+
* Template arguments for a Stellar wallet-transactions filter, matching
|
|
1635
|
+
* transactions where the given wallets are the source account.
|
|
1636
|
+
*/
|
|
1637
|
+
export interface StellarWalletTransactionsFilterTemplate {
|
|
1638
|
+
/** Stellar wallet addresses to match against. */
|
|
1639
|
+
wallets: Array<string>
|
|
1640
|
+
}
|
|
1641
|
+
/**
|
|
1642
|
+
* Template identifier paired with its arguments, consumed by
|
|
1643
|
+
* `create_webhook_from_template` and `update_webhook_template`. Construct via
|
|
1644
|
+
* the typed static factory methods (one per template); do not set fields
|
|
1645
|
+
* directly.
|
|
1646
|
+
*/
|
|
1647
|
+
export interface TemplateArgs {
|
|
1648
|
+
/** Which filter template these arguments correspond to. */
|
|
1649
|
+
templateId: WebhookTemplateId
|
|
1650
|
+
/** Template arguments, pre-serialized as a JSON string. */
|
|
1651
|
+
value: string
|
|
1652
|
+
}
|
|
1653
|
+
/** Destination configuration for a webhook. */
|
|
1654
|
+
export interface WebhookDestinationAttributes {
|
|
1655
|
+
/** Target URL that receives webhook payloads. */
|
|
1656
|
+
url: string
|
|
1657
|
+
/** Optional token sent with each payload so the receiver can verify authenticity; generated automatically when omitted. */
|
|
1658
|
+
securityToken?: string
|
|
1659
|
+
/** Optional payload compression (`gzip` or `none`). */
|
|
1660
|
+
compression?: string
|
|
1661
|
+
}
|
|
1662
|
+
/** Parameters for `list_webhooks`. */
|
|
1663
|
+
export interface GetWebhooksParams {
|
|
1664
|
+
/** Maximum number of webhooks returned. */
|
|
1665
|
+
limit?: number
|
|
1666
|
+
/** Starting index into the result set. */
|
|
1667
|
+
offset?: number
|
|
1668
|
+
}
|
|
1669
|
+
/**
|
|
1670
|
+
* Parameters for `update_webhook`. All fields are optional; only set fields
|
|
1671
|
+
* are modified.
|
|
1672
|
+
*/
|
|
1673
|
+
export interface UpdateWebhookParams {
|
|
1674
|
+
/** New human-readable name. */
|
|
1675
|
+
name?: string
|
|
1676
|
+
/** New notification email. */
|
|
1677
|
+
notificationEmail?: string
|
|
1678
|
+
/** New destination configuration. */
|
|
1679
|
+
destinationAttributes?: WebhookDestinationAttributes
|
|
1680
|
+
}
|
|
1681
|
+
/** Parameters for `activate_webhook`. */
|
|
1682
|
+
export interface ActivateWebhookParams {
|
|
1683
|
+
/** Position to begin (or resume) delivery from. */
|
|
1684
|
+
startFrom: WebhookStartFrom
|
|
1685
|
+
}
|
|
1686
|
+
/** Parameters for `create_webhook_from_template`. */
|
|
1687
|
+
export interface CreateWebhookFromTemplateParams {
|
|
1688
|
+
/** Human-readable label for the webhook. */
|
|
1689
|
+
name: string
|
|
1690
|
+
/** Blockchain network to watch (e.g. `ethereum-mainnet`). */
|
|
1691
|
+
network: string
|
|
1692
|
+
/** Optional email that receives alerts if the webhook terminates. */
|
|
1693
|
+
notificationEmail?: string
|
|
1694
|
+
/** Destination configuration for delivered payloads. */
|
|
1695
|
+
destinationAttributes: WebhookDestinationAttributes
|
|
1696
|
+
/** Filter template identifier and its arguments. */
|
|
1697
|
+
templateArgs: TemplateArgs
|
|
1698
|
+
}
|
|
1699
|
+
/** Parameters for `update_webhook_template`. */
|
|
1700
|
+
export interface UpdateWebhookTemplateParams {
|
|
1701
|
+
/** New human-readable name. */
|
|
1702
|
+
name?: string
|
|
1703
|
+
/** New notification email. */
|
|
1704
|
+
notificationEmail?: string
|
|
1705
|
+
/** New destination configuration. */
|
|
1706
|
+
destinationAttributes?: WebhookDestinationAttributes
|
|
1707
|
+
/** New template identifier and arguments. */
|
|
1708
|
+
templateArgs: TemplateArgs
|
|
1709
|
+
}
|
|
1710
|
+
/** A webhook's full configuration and current state. */
|
|
1711
|
+
export interface Webhook {
|
|
1712
|
+
/** Unique webhook identifier. */
|
|
1713
|
+
id: string
|
|
1714
|
+
/** Human-readable webhook name. */
|
|
1715
|
+
name: string
|
|
1716
|
+
/** Current operational state (e.g. `active`, `paused`). */
|
|
1717
|
+
status: string
|
|
1718
|
+
/** Blockchain network the webhook is watching. */
|
|
1719
|
+
network: string
|
|
1720
|
+
/** Timestamp when the webhook was created. */
|
|
1721
|
+
createdAt: string
|
|
1722
|
+
/** Timestamp of the most recent modification. */
|
|
1723
|
+
updatedAt?: string
|
|
1724
|
+
/** Template identifier used to create the webhook, if any. */
|
|
1725
|
+
templateId?: string
|
|
1726
|
+
/** Email address notified of webhook terminations or failures. */
|
|
1727
|
+
notificationEmail?: string
|
|
1728
|
+
/** Destination-specific configuration as a JSON string. */
|
|
1729
|
+
destinationAttributes?: string
|
|
1730
|
+
}
|
|
1731
|
+
/** Response from `list_webhooks`. */
|
|
1732
|
+
export interface ListWebhooksResponse {
|
|
1733
|
+
/** Webhooks on the current page. */
|
|
1734
|
+
data: Array<Webhook>
|
|
1735
|
+
}
|
|
1736
|
+
/** Response from `get_enabled_count` for webhooks. */
|
|
1737
|
+
export interface WebhookEnabledCountResponse {
|
|
1738
|
+
/** Total count of enabled webhooks on the account. */
|
|
1739
|
+
total: number
|
|
1740
|
+
}
|
|
1741
|
+
export interface CreateStreamParamsNode {
|
|
1742
|
+
name: string
|
|
1743
|
+
region: StreamRegion
|
|
1744
|
+
network: string
|
|
1745
|
+
dataset: StreamDataset
|
|
1746
|
+
startRange: number
|
|
1747
|
+
endRange: number
|
|
1748
|
+
destinationAttributes: any
|
|
1749
|
+
plan: string
|
|
1750
|
+
thresholdFetchBuffer: number
|
|
1751
|
+
datasetBatchSize?: number
|
|
1752
|
+
maxBatchSize?: number
|
|
1753
|
+
maxBufferRangeSize?: number
|
|
1754
|
+
maxBufferProcessingWorkers?: number
|
|
1755
|
+
keepDistanceFromTip?: number
|
|
1756
|
+
filterFunction?: string
|
|
1757
|
+
filterLanguage?: FilterLanguage
|
|
1758
|
+
addressBookConfig?: AddressBookConfig
|
|
1759
|
+
includeStreamMetadata?: StreamMetadataLocation
|
|
1760
|
+
productType?: ProductType
|
|
1761
|
+
status?: StreamStatus
|
|
1762
|
+
notificationEmail?: string
|
|
1763
|
+
chargeMinCap?: number
|
|
1764
|
+
fixBlockReorgs?: number
|
|
1765
|
+
elasticBatchEnabled?: boolean
|
|
1766
|
+
extraDestinations?: Array<any>
|
|
1767
|
+
}
|
|
1768
|
+
export interface UpdateStreamParamsNode {
|
|
1769
|
+
name?: string
|
|
1770
|
+
region?: StreamRegion
|
|
1771
|
+
network?: string
|
|
1772
|
+
dataset?: StreamDataset
|
|
1773
|
+
startRange?: number
|
|
1774
|
+
endRange?: number
|
|
1775
|
+
destinationAttributes?: any
|
|
1776
|
+
plan?: string
|
|
1777
|
+
thresholdFetchBuffer?: number
|
|
1778
|
+
datasetBatchSize?: number
|
|
1779
|
+
maxBatchSize?: number
|
|
1780
|
+
maxBufferRangeSize?: number
|
|
1781
|
+
maxBufferProcessingWorkers?: number
|
|
1782
|
+
keepDistanceFromTip?: number
|
|
1783
|
+
filterFunction?: string
|
|
1784
|
+
filterLanguage?: FilterLanguage
|
|
1785
|
+
addressBookConfig?: AddressBookConfig
|
|
1786
|
+
includeStreamMetadata?: StreamMetadataLocation
|
|
1787
|
+
notificationEmail?: string
|
|
1788
|
+
chargeMinCap?: number
|
|
1789
|
+
fixBlockReorgs?: number
|
|
1790
|
+
elasticBatchEnabled?: boolean
|
|
1791
|
+
status?: StreamStatus
|
|
1792
|
+
memo?: string
|
|
1793
|
+
extraDestinations?: Array<any>
|
|
1794
|
+
}
|
|
1795
|
+
export interface StreamNode {
|
|
1796
|
+
id: string
|
|
1797
|
+
name: string
|
|
1798
|
+
status: string
|
|
1799
|
+
createdAt: string
|
|
1800
|
+
updatedAt: string
|
|
1801
|
+
sequence: number
|
|
1802
|
+
network: string
|
|
1803
|
+
dataset: string
|
|
1804
|
+
region: string
|
|
1805
|
+
startRange: number
|
|
1806
|
+
endRange: number
|
|
1807
|
+
plan?: string
|
|
1808
|
+
thresholdFetchBuffer?: number
|
|
1809
|
+
datasetBatchSize?: number
|
|
1810
|
+
maxBatchSize?: number
|
|
1811
|
+
maxBufferRangeSize?: number
|
|
1812
|
+
maxBufferProcessingWorkers?: number
|
|
1813
|
+
keepDistanceFromTip?: number
|
|
1814
|
+
filterFunction?: string
|
|
1815
|
+
filterLanguage?: string
|
|
1816
|
+
includeStreamMetadata?: string
|
|
1817
|
+
productType?: string
|
|
1818
|
+
notificationEmail?: string
|
|
1819
|
+
fixBlockReorgs?: number
|
|
1820
|
+
currentHash?: string
|
|
1821
|
+
destinationAttributes?: any
|
|
1822
|
+
elasticBatchEnabled?: boolean
|
|
1823
|
+
qnAccountId?: string
|
|
1824
|
+
chargeMinCap?: number
|
|
1825
|
+
memo?: string
|
|
1826
|
+
addressBookConfig?: AddressBookConfig
|
|
1827
|
+
extraDestinations?: Array<any>
|
|
1828
|
+
}
|
|
1829
|
+
export interface ListStreamsResponseNode {
|
|
1830
|
+
data: Array<StreamNode>
|
|
1831
|
+
pageInfo: PageInfo
|
|
1832
|
+
}
|
|
1833
|
+
export declare class QuickNodeSdk {
|
|
1834
|
+
/** Creates a new SDK instance from an explicit configuration. */
|
|
1835
|
+
constructor(config: SdkFullConfig)
|
|
1836
|
+
/** Returns the admin sub-client. */
|
|
1837
|
+
get admin(): AdminApiClient
|
|
1838
|
+
/** Returns the streams sub-client. */
|
|
1839
|
+
get streams(): StreamsApiClient
|
|
1840
|
+
/** Returns the webhooks sub-client. */
|
|
1841
|
+
get webhooks(): WebhooksApiClient
|
|
1842
|
+
/** Returns the kvstore sub-client. */
|
|
1843
|
+
get kvstore(): KvStoreApiClient
|
|
1844
|
+
/** Creates a new SDK instance using configuration from environment variables. */
|
|
1845
|
+
static fromEnv(): QuickNodeSdk
|
|
1846
|
+
}
|
|
1847
|
+
export declare class AdminApiClient {
|
|
1848
|
+
/**
|
|
1849
|
+
* Returns a paginated list of endpoints on the account. Supports searching
|
|
1850
|
+
* by subdomain or label, filtering by networks, statuses, labels, and
|
|
1851
|
+
* tags, and sorting. The response includes endpoint metadata (id, label,
|
|
1852
|
+
* status, chain/network, HTTP and WebSocket URLs, tags) plus
|
|
1853
|
+
* total/limit/offset pagination info.
|
|
1854
|
+
*/
|
|
1855
|
+
getEndpoints(params?: GetEndpointsRequest | undefined | null): Promise<GetEndpointsResponse>
|
|
1856
|
+
/**
|
|
1857
|
+
* Creates a new endpoint for a given blockchain and network. Requires
|
|
1858
|
+
* `chain` and `network`; returns the new endpoint with its HTTP and
|
|
1859
|
+
* WebSocket URLs, default security configuration (tokens, JWTs, IPs,
|
|
1860
|
+
* domain masks, CORS), and rate limits.
|
|
1861
|
+
*/
|
|
1862
|
+
createEndpoint(params?: CreateEndpointRequest | undefined | null): Promise<CreateEndpointResponse>
|
|
1863
|
+
/** Returns details for a specific endpoint by ID. */
|
|
1864
|
+
showEndpoint(id: string): Promise<ShowEndpointResponse>
|
|
1865
|
+
/**
|
|
1866
|
+
* Updates editable fields on an endpoint (e.g. its label). Returns a
|
|
1867
|
+
* boolean indicating whether the update succeeded.
|
|
1868
|
+
*/
|
|
1869
|
+
updateEndpoint(id: string, params?: UpdateEndpointRequest | undefined | null): Promise<void>
|
|
1870
|
+
/**
|
|
1871
|
+
* Archives an endpoint. The API uses `DELETE` but the effect is archival
|
|
1872
|
+
* rather than permanent deletion.
|
|
1873
|
+
*/
|
|
1874
|
+
archiveEndpoint(id: string): Promise<void>
|
|
1875
|
+
/**
|
|
1876
|
+
* Pauses or unpauses an endpoint by setting its status to `active` or
|
|
1877
|
+
* `paused`.
|
|
1878
|
+
*/
|
|
1879
|
+
updateEndpointStatus(id: string, params: UpdateEndpointStatusRequest): Promise<UpdateEndpointStatusResponse>
|
|
1880
|
+
/**
|
|
1881
|
+
* Creates a new tag on a specific endpoint from a label. Returns the new
|
|
1882
|
+
* tag with its id, account info, and timestamps.
|
|
1883
|
+
*/
|
|
1884
|
+
createTag(id: string, params?: CreateTagRequest | undefined | null): Promise<void>
|
|
1885
|
+
/** Removes a tag from a specific endpoint by tag id. */
|
|
1886
|
+
deleteTag(id: string, tagId: string): Promise<void>
|
|
1887
|
+
/**
|
|
1888
|
+
* Returns account RPC usage totals for an optional time range. The
|
|
1889
|
+
* response includes `credits_used`, `credits_remaining`, the account
|
|
1890
|
+
* `limit`, any `overages`, and the queried time window.
|
|
1891
|
+
*/
|
|
1892
|
+
getUsage(params?: GetUsageRequest | undefined | null): Promise<GetUsageResponse>
|
|
1893
|
+
/**
|
|
1894
|
+
* Returns RPC usage broken down per endpoint over an optional time range.
|
|
1895
|
+
* Each entry includes endpoint metadata, aggregate `credits_used` and
|
|
1896
|
+
* `requests`, and a per-method credit breakdown.
|
|
1897
|
+
*/
|
|
1898
|
+
getUsageByEndpoint(params?: GetUsageRequest | undefined | null): Promise<GetUsageByEndpointResponse>
|
|
1899
|
+
/**
|
|
1900
|
+
* Returns RPC usage grouped by method over an optional time range. Each
|
|
1901
|
+
* entry includes the method name, credits consumed, and archival status.
|
|
1902
|
+
* Ranges longer than one week are rounded to midnight UTC.
|
|
1903
|
+
*/
|
|
1904
|
+
getUsageByMethod(params?: GetUsageRequest | undefined | null): Promise<GetUsageByMethodResponse>
|
|
1905
|
+
/**
|
|
1906
|
+
* Returns RPC usage grouped by chain over an optional time range. Each
|
|
1907
|
+
* entry includes the chain and its credit consumption.
|
|
1908
|
+
*/
|
|
1909
|
+
getUsageByChain(params?: GetUsageRequest | undefined | null): Promise<GetUsageByChainResponse>
|
|
1910
|
+
/**
|
|
1911
|
+
* Returns activity logs for a specific endpoint. Supports filtering by
|
|
1912
|
+
* timestamp range and pagination. Each log entry includes timestamp,
|
|
1913
|
+
* HTTP method, network, status code, and error data; full request/response
|
|
1914
|
+
* bodies can be included when requested.
|
|
1915
|
+
*/
|
|
1916
|
+
getEndpointLogs(id: string, params: GetEndpointLogsRequest): Promise<GetEndpointLogsResponse>
|
|
1917
|
+
/**
|
|
1918
|
+
* Returns the raw request and response payloads for a specific log entry
|
|
1919
|
+
* on an endpoint, identified by request UUID. Both payloads are
|
|
1920
|
+
* JSON-encoded strings and are truncated at 2KB.
|
|
1921
|
+
*/
|
|
1922
|
+
getLogDetails(id: string, requestId: string): Promise<GetLogDetailsResponse>
|
|
1923
|
+
/**
|
|
1924
|
+
* Returns the security options for an endpoint — an object of security
|
|
1925
|
+
* feature toggles with their current enabled/disabled status.
|
|
1926
|
+
*/
|
|
1927
|
+
getSecurityOptions(id: string): Promise<GetSecurityOptionsResponse>
|
|
1928
|
+
/**
|
|
1929
|
+
* Updates which security features are enabled on an endpoint. Each option
|
|
1930
|
+
* in the submitted object can be toggled `enabled` or `disabled` —
|
|
1931
|
+
* examples include token auth, JWT validation, IP restrictions, CORS,
|
|
1932
|
+
* HSTS, referrer validation, and domain masking.
|
|
1933
|
+
*/
|
|
1934
|
+
updateSecurityOptions(id: string, params: UpdateSecurityOptionsRequest): Promise<UpdateSecurityOptionsResponse>
|
|
1935
|
+
/** Generates a new authentication token for an endpoint. */
|
|
1936
|
+
createToken(id: string): Promise<void>
|
|
1937
|
+
/** Revokes a token on an endpoint by token id. */
|
|
1938
|
+
deleteToken(id: string, tokenId: string): Promise<DeleteBoolResponse>
|
|
1939
|
+
/**
|
|
1940
|
+
* Adds a referrer to an endpoint's security settings, specifying which
|
|
1941
|
+
* external URL or domain is permitted to call the endpoint.
|
|
1942
|
+
*/
|
|
1943
|
+
createReferrer(id: string, params?: CreateReferrerRequest | undefined | null): Promise<void>
|
|
1944
|
+
/** Removes a referrer from an endpoint's security settings by referrer id. */
|
|
1945
|
+
deleteReferrer(id: string, referrerId: string): Promise<DeleteBoolResponse>
|
|
1946
|
+
/** Adds an IP address to an endpoint's security whitelist. */
|
|
1947
|
+
createIp(id: string, params?: CreateIpRequest | undefined | null): Promise<void>
|
|
1948
|
+
/** Removes an IP address from an endpoint's security whitelist by ip id. */
|
|
1949
|
+
deleteIp(id: string, ipId: string): Promise<DeleteBoolResponse>
|
|
1950
|
+
/**
|
|
1951
|
+
* Adds a domain mask to an endpoint — a custom domain used to hide the
|
|
1952
|
+
* endpoint's QuickNode URL so requests can be routed through your own
|
|
1953
|
+
* domain.
|
|
1954
|
+
*/
|
|
1955
|
+
createDomainMask(id: string, params?: CreateDomainMaskRequest | undefined | null): Promise<void>
|
|
1956
|
+
/** Removes a domain mask from an endpoint by domain mask id. */
|
|
1957
|
+
deleteDomainMask(id: string, domainMaskId: string): Promise<DeleteBoolResponse>
|
|
1958
|
+
/**
|
|
1959
|
+
* Creates a new JWT for endpoint authentication. Accepts a public key,
|
|
1960
|
+
* key id (`kid`), and token name.
|
|
1961
|
+
*/
|
|
1962
|
+
createJwt(id: string, params?: CreateJwtRequest | undefined | null): Promise<void>
|
|
1963
|
+
/**
|
|
1964
|
+
* Removes a JWT from an endpoint's security configuration by jwt id,
|
|
1965
|
+
* revoking its access.
|
|
1966
|
+
*/
|
|
1967
|
+
deleteJwt(id: string, jwtId: string): Promise<void>
|
|
1968
|
+
/**
|
|
1969
|
+
* Creates a request filter on an endpoint — a method whitelist that
|
|
1970
|
+
* restricts which RPC methods may be called. Accepts an array of method
|
|
1971
|
+
* names; other methods are blocked.
|
|
1972
|
+
*/
|
|
1973
|
+
createRequestFilter(id: string, params?: CreateRequestFilterRequest | undefined | null): Promise<CreateRequestFilterResponse>
|
|
1974
|
+
/**
|
|
1975
|
+
* Updates an existing request filter on an endpoint, replacing the
|
|
1976
|
+
* whitelisted method list.
|
|
1977
|
+
*/
|
|
1978
|
+
updateRequestFilter(id: string, requestFilterId: string, params?: UpdateRequestFilterRequest | undefined | null): Promise<void>
|
|
1979
|
+
/**
|
|
1980
|
+
* Removes a request filter from an endpoint's security configuration by
|
|
1981
|
+
* request filter id.
|
|
1982
|
+
*/
|
|
1983
|
+
deleteRequestFilter(id: string, requestFilterId: string): Promise<void>
|
|
1984
|
+
/**
|
|
1985
|
+
* Enables multichain functionality on an endpoint, allowing a single
|
|
1986
|
+
* endpoint to serve multiple chains.
|
|
1987
|
+
*/
|
|
1988
|
+
enableMultichain(id: string): Promise<void>
|
|
1989
|
+
/** Disables multichain functionality on an endpoint. */
|
|
1990
|
+
disableMultichain(id: string): Promise<void>
|
|
1991
|
+
/**
|
|
1992
|
+
* Sets the custom HTTP header used to identify the client IP for an
|
|
1993
|
+
* endpoint (for example, `X-Forwarded-For`). This header is used by
|
|
1994
|
+
* IP-based security features to resolve the real client address when
|
|
1995
|
+
* requests are proxied.
|
|
1996
|
+
*/
|
|
1997
|
+
createOrUpdateIpCustomHeader(id: string, params: CreateOrUpdateIpCustomHeaderRequest): Promise<CreateOrUpdateIpCustomHeaderResponse>
|
|
1998
|
+
/** Removes the custom IP header configuration from an endpoint. */
|
|
1999
|
+
deleteIpCustomHeader(id: string): Promise<DeleteBoolResponse>
|
|
2000
|
+
/**
|
|
2001
|
+
* Returns the method rate limits configured on an endpoint, including
|
|
2002
|
+
* each limiter's interval, methods, rate, and status.
|
|
2003
|
+
*/
|
|
2004
|
+
getMethodRateLimits(id: string): Promise<GetMethodRateLimitsResponse>
|
|
2005
|
+
/**
|
|
2006
|
+
* Creates a per-method rate limit on an endpoint. A method rate limit
|
|
2007
|
+
* caps specific RPC methods rather than the endpoint as a whole, defined
|
|
2008
|
+
* by an `interval` (e.g. `second`), the target `methods`, and a `rate`.
|
|
2009
|
+
*/
|
|
2010
|
+
createMethodRateLimit(id: string, params: CreateMethodRateLimitRequest): Promise<CreateMethodRateLimitResponse>
|
|
2011
|
+
/**
|
|
2012
|
+
* Updates an existing method rate limit on an endpoint. Accepts the
|
|
2013
|
+
* methods to apply the limit to, the desired `status`, and the `rate`.
|
|
2014
|
+
*/
|
|
2015
|
+
updateMethodRateLimit(id: string, methodRateLimitId: string, params?: UpdateMethodRateLimitRequest | undefined | null): Promise<UpdateMethodRateLimitResponse>
|
|
2016
|
+
/** Removes a method rate limit from an endpoint by method rate limit id. */
|
|
2017
|
+
deleteMethodRateLimit(id: string, methodRateLimitId: string): Promise<void>
|
|
2018
|
+
/**
|
|
2019
|
+
* Updates the overall rate limits on an endpoint. Accepts `rps`
|
|
2020
|
+
* (requests per second), `rpm` (requests per minute), and `rpd` (requests
|
|
2021
|
+
* per day).
|
|
2022
|
+
*/
|
|
2023
|
+
updateRateLimits(id: string, params: UpdateRateLimitsRequest): Promise<void>
|
|
2024
|
+
/**
|
|
2025
|
+
* Returns time-series metrics for a specific endpoint. Requires a
|
|
2026
|
+
* `period` (`hour`, `day`, `week`, or `month`) and a metric type such as
|
|
2027
|
+
* `method_calls_over_time` or `response_status_breakdown`.
|
|
2028
|
+
*/
|
|
2029
|
+
getEndpointMetrics(id: string, params: GetEndpointMetricsRequest): Promise<GetEndpointMetricsResponse>
|
|
2030
|
+
/**
|
|
2031
|
+
* Returns aggregated metrics across all endpoints on the account. Accepts
|
|
2032
|
+
* a `period` (`hour`, `day`, `week`, or `month`) and a metric type such
|
|
2033
|
+
* as `method_calls_over_time` or `credits_over_time`.
|
|
2034
|
+
*/
|
|
2035
|
+
getAccountMetrics(params: GetAccountMetricsRequest): Promise<GetAccountMetricsResponse>
|
|
2036
|
+
/**
|
|
2037
|
+
* Returns all chains supported by QuickNode along with their networks.
|
|
2038
|
+
* Each entry includes the chain slug and its network slugs and names.
|
|
2039
|
+
*/
|
|
2040
|
+
listChains(): Promise<ListChainsResponse>
|
|
2041
|
+
/**
|
|
2042
|
+
* Returns the account's invoices, including id, status, billing reason,
|
|
2043
|
+
* amounts due and paid, line items with descriptions and billing periods,
|
|
2044
|
+
* and creation timestamps.
|
|
2045
|
+
*/
|
|
2046
|
+
listInvoices(): Promise<ListInvoicesResponse>
|
|
2047
|
+
/**
|
|
2048
|
+
* Returns all payments on the account, including amount, status, card
|
|
2049
|
+
* last-four, timestamp, currency, and marketplace spending.
|
|
2050
|
+
*/
|
|
2051
|
+
listPayments(): Promise<ListPaymentsResponse>
|
|
2052
|
+
/**
|
|
2053
|
+
* Returns all teams on the account. Each team includes its id, name,
|
|
2054
|
+
* member count, and member details (roles, contact info, account status).
|
|
2055
|
+
*/
|
|
2056
|
+
listTeams(): Promise<ListTeamsResponse>
|
|
2057
|
+
/**
|
|
2058
|
+
* Creates a new team. Requires a `name`; returns the new team with its
|
|
2059
|
+
* id, name, default role, and member count.
|
|
2060
|
+
*/
|
|
2061
|
+
createTeam(params: CreateTeamRequest): Promise<CreateTeamResponse>
|
|
2062
|
+
/**
|
|
2063
|
+
* Returns a specific team by id, including active members with their
|
|
2064
|
+
* roles and contact info plus any pending invites.
|
|
2065
|
+
*/
|
|
2066
|
+
getTeam(id: number): Promise<GetTeamResponse>
|
|
2067
|
+
/**
|
|
2068
|
+
* Deletes a team by id. The team must have no members before it can be
|
|
2069
|
+
* deleted.
|
|
2070
|
+
*/
|
|
2071
|
+
deleteTeam(id: number): Promise<DeleteTeamResponse>
|
|
2072
|
+
/**
|
|
2073
|
+
* Returns the endpoints accessible to a given team. Each entry includes
|
|
2074
|
+
* the endpoint id, subdomain, chain, and network.
|
|
2075
|
+
*/
|
|
2076
|
+
listTeamEndpoints(id: number): Promise<ListTeamEndpointsResponse>
|
|
2077
|
+
/**
|
|
2078
|
+
* Assigns or unassigns endpoints for a team. Pass an array of endpoint ids
|
|
2079
|
+
* to set the team's accessible endpoints; pass an empty array to remove
|
|
2080
|
+
* all associations.
|
|
2081
|
+
*/
|
|
2082
|
+
updateTeamEndpoints(id: number, params: UpdateTeamEndpointsRequest): Promise<UpdateTeamEndpointsResponse>
|
|
2083
|
+
/**
|
|
2084
|
+
* Invites a user to a team by email. For new users, `full_name` and
|
|
2085
|
+
* `role` (`admin`, `viewer`, or `billing`) are also required. Returns the
|
|
2086
|
+
* invited user's profile and invitation status.
|
|
2087
|
+
*/
|
|
2088
|
+
inviteTeamMember(id: number, params: InviteTeamMemberRequest): Promise<InviteTeamMemberResponse>
|
|
2089
|
+
/** Removes a user from a team by team id and user id. */
|
|
2090
|
+
removeTeamMember(id: number, userId: number, params?: RemoveTeamMemberRequest | undefined | null): Promise<RemoveTeamMemberResponse>
|
|
2091
|
+
/**
|
|
2092
|
+
* Resends the invitation email to a pending team member, identified by
|
|
2093
|
+
* team id and user id.
|
|
2094
|
+
*/
|
|
2095
|
+
resendTeamInvite(id: number, userId: number): Promise<ResendTeamInviteResponse>
|
|
2096
|
+
/**
|
|
2097
|
+
* Pauses or unpauses multiple endpoints in a single call. Accepts an
|
|
2098
|
+
* array of endpoint ids and a target status (`active` or `paused`);
|
|
2099
|
+
* returns per-endpoint success/failure results plus totals.
|
|
2100
|
+
*/
|
|
2101
|
+
bulkUpdateEndpointStatus(params: BulkUpdateEndpointStatusRequest): Promise<BulkUpdateEndpointStatusResponse>
|
|
2102
|
+
/**
|
|
2103
|
+
* Applies a single tag label to multiple endpoints in one call. Returns
|
|
2104
|
+
* totals for affected endpoints, successes, and failures, plus the tag
|
|
2105
|
+
* that was applied.
|
|
2106
|
+
*/
|
|
2107
|
+
bulkAddTag(params: BulkAddTagRequest): Promise<BulkAddTagResponse>
|
|
2108
|
+
/**
|
|
2109
|
+
* Removes a tag from multiple endpoints in one call, identified by an
|
|
2110
|
+
* array of endpoint ids and a tag id.
|
|
2111
|
+
*/
|
|
2112
|
+
bulkRemoveTag(params: BulkRemoveTagRequest): Promise<BulkRemoveTagResponse>
|
|
2113
|
+
/**
|
|
2114
|
+
* Returns all account-level tags, including tags with zero associated
|
|
2115
|
+
* endpoints. Each tag includes its id, label, and endpoint usage count.
|
|
2116
|
+
*/
|
|
2117
|
+
listTags(): Promise<ListTagsResponse>
|
|
2118
|
+
/**
|
|
2119
|
+
* Updates the label of an account tag. Because the tag is shared across
|
|
2120
|
+
* endpoints, all associated endpoints reflect the new label immediately.
|
|
2121
|
+
*/
|
|
2122
|
+
renameTag(id: number, params: RenameTagRequest): Promise<RenameTagResponse>
|
|
2123
|
+
/**
|
|
2124
|
+
* Deletes an account-level tag. The tag must first be removed from all
|
|
2125
|
+
* endpoints before it can be deleted.
|
|
2126
|
+
*/
|
|
2127
|
+
deleteAccountTag(id: number): Promise<DeleteAccountTagResponse>
|
|
2128
|
+
/**
|
|
2129
|
+
* Returns RPC usage grouped by endpoint tag over an optional time range.
|
|
2130
|
+
* Each entry includes the tag id, label, credits consumed, and request
|
|
2131
|
+
* count.
|
|
2132
|
+
*/
|
|
2133
|
+
getUsageByTag(params?: GetUsageRequest | undefined | null): Promise<GetUsageByTagResponse>
|
|
2134
|
+
/**
|
|
2135
|
+
* Returns the full security configuration for an endpoint in a single
|
|
2136
|
+
* call, without loading the entire endpoint object. The response includes
|
|
2137
|
+
* tokens, JWTs, referrers, domain masks, IPs, and a security options
|
|
2138
|
+
* object describing which features are enabled.
|
|
2139
|
+
*/
|
|
2140
|
+
getEndpointSecurity(id: string): Promise<GetEndpointSecurityResponse>
|
|
2141
|
+
}
|
|
2142
|
+
export declare class StreamsApiClient {
|
|
2143
|
+
/**
|
|
2144
|
+
* Creates a new Stream on a given blockchain network and dataset, delivering
|
|
2145
|
+
* batches to the configured destination. Start from a specific block for
|
|
2146
|
+
* backfills or from the tip for real-time streaming, and optionally attach
|
|
2147
|
+
* a base64-encoded JavaScript filter to transform data before delivery.
|
|
2148
|
+
* The stream can be created in an active or paused state and supports
|
|
2149
|
+
* reorg handling, distance-from-tip, elastic batching, notification emails,
|
|
2150
|
+
* and extra destinations for multi-destination delivery.
|
|
2151
|
+
*/
|
|
2152
|
+
createStream(params: CreateStreamParamsNode): Promise<StreamNode>
|
|
2153
|
+
/**
|
|
2154
|
+
* Returns a paginated list of streams on the account. Each stream includes
|
|
2155
|
+
* its full configuration — identifiers, timestamps, network and dataset,
|
|
2156
|
+
* filter, block range, destination settings, and operational status — and
|
|
2157
|
+
* surfaces advanced features such as elastic batching and extra
|
|
2158
|
+
* destinations, where batches must be delivered to every configured
|
|
2159
|
+
* destination before the stream advances. Supports pagination via
|
|
2160
|
+
* `offset`/`limit` and sorting via `order_by`/`order_direction`, and can
|
|
2161
|
+
* filter by stream type.
|
|
2162
|
+
*/
|
|
2163
|
+
listStreams(params?: ListStreamsParams | undefined | null): Promise<ListStreamsResponseNode>
|
|
2164
|
+
/**
|
|
2165
|
+
* Removes every stream on the account. Takes no filters and cannot be
|
|
2166
|
+
* undone.
|
|
2167
|
+
*/
|
|
2168
|
+
deleteAllStreams(): Promise<void>
|
|
2169
|
+
/**
|
|
2170
|
+
* Returns a single stream by ID, including its full configuration and
|
|
2171
|
+
* current status.
|
|
2172
|
+
*/
|
|
2173
|
+
getStream(id: string): Promise<StreamNode>
|
|
2174
|
+
/**
|
|
2175
|
+
* Updates an existing stream's configuration. Only fields present on
|
|
2176
|
+
* `params` are modified; omitted fields are left unchanged.
|
|
2177
|
+
*/
|
|
2178
|
+
updateStream(id: string, params: UpdateStreamParamsNode): Promise<StreamNode>
|
|
2179
|
+
/** Deletes a single stream by ID. */
|
|
2180
|
+
deleteStream(id: string): Promise<void>
|
|
2181
|
+
/** Activates a stream by ID, resuming delivery from its current position. */
|
|
2182
|
+
activateStream(id: string): Promise<void>
|
|
2183
|
+
/** Pauses a stream by ID, halting delivery until it is activated again. */
|
|
2184
|
+
pauseStream(id: string): Promise<void>
|
|
2185
|
+
/**
|
|
2186
|
+
* Runs a filter function against a specified block on a given network and
|
|
2187
|
+
* dataset, returning the filter's output so it can be validated before
|
|
2188
|
+
* being attached to a live stream.
|
|
2189
|
+
*/
|
|
2190
|
+
testFilter(params: TestFilterParams): Promise<TestFilterResponse>
|
|
2191
|
+
/**
|
|
2192
|
+
* Returns the total count of currently enabled (active) streams on the
|
|
2193
|
+
* account, optionally filtered by stream type.
|
|
2194
|
+
*/
|
|
2195
|
+
getEnabledCount(streamType?: string | undefined | null): Promise<EnabledCountResponse>
|
|
2196
|
+
}
|
|
2197
|
+
export declare class WebhooksApiClient {
|
|
2198
|
+
/**
|
|
2199
|
+
* Returns a paginated list of webhooks on the account. Each entry includes
|
|
2200
|
+
* the webhook's identifier, creation timestamp, name, network, notification
|
|
2201
|
+
* email, destination configuration (URL, security token, compression),
|
|
2202
|
+
* current status, and any associated template. The response also includes
|
|
2203
|
+
* a `pageInfo` object with the applied limit, offset, and total count.
|
|
2204
|
+
*/
|
|
2205
|
+
listWebhooks(params?: GetWebhooksParams | undefined | null): Promise<ListWebhooksResponse>
|
|
2206
|
+
/**
|
|
2207
|
+
* Removes every webhook on the account. Destructive and takes no
|
|
2208
|
+
* parameters.
|
|
2209
|
+
*/
|
|
2210
|
+
deleteAllWebhooks(): Promise<void>
|
|
2211
|
+
/**
|
|
2212
|
+
* Fetches a single webhook's full configuration and status by ID. Returns
|
|
2213
|
+
* creation timestamp, name, network, notification email, destination
|
|
2214
|
+
* configuration (URL, security token, compression), the sequence number
|
|
2215
|
+
* of the last successfully delivered block, the current status, and the
|
|
2216
|
+
* associated template with its arguments.
|
|
2217
|
+
*/
|
|
2218
|
+
getWebhook(id: string): Promise<Webhook>
|
|
2219
|
+
/**
|
|
2220
|
+
* Modifies an existing webhook's configuration. Supports updating the
|
|
2221
|
+
* webhook's name, notification email, and destination attributes (URL,
|
|
2222
|
+
* security token, and compression — `none` or `gzip`). All fields are
|
|
2223
|
+
* optional, so partial updates are supported; if the security token is
|
|
2224
|
+
* omitted on update, one is generated automatically. Returns the
|
|
2225
|
+
* webhook's full updated configuration.
|
|
2226
|
+
*/
|
|
2227
|
+
updateWebhook(id: string, params?: UpdateWebhookParams | undefined | null): Promise<Webhook>
|
|
2228
|
+
/** Permanently removes a single webhook by ID. */
|
|
2229
|
+
deleteWebhook(id: string): Promise<void>
|
|
2230
|
+
/** Pauses a webhook by ID so it stops delivering events until reactivated. */
|
|
2231
|
+
pauseWebhook(id: string): Promise<void>
|
|
2232
|
+
/**
|
|
2233
|
+
* Activates a previously created or paused webhook so it begins (or
|
|
2234
|
+
* resumes) delivering events. `start_from` determines where processing
|
|
2235
|
+
* resumes: `Latest` begins from the newest available block; other values
|
|
2236
|
+
* replay from an earlier point.
|
|
2237
|
+
*/
|
|
2238
|
+
activateWebhook(id: string, params: ActivateWebhookParams): Promise<void>
|
|
2239
|
+
/**
|
|
2240
|
+
* Returns the total number of enabled webhooks currently configured on
|
|
2241
|
+
* the account.
|
|
2242
|
+
*/
|
|
2243
|
+
getEnabledCount(): Promise<WebhookEnabledCountResponse>
|
|
2244
|
+
/**
|
|
2245
|
+
* Creates a new webhook from a predefined filter template. Requires a
|
|
2246
|
+
* descriptive name, a target blockchain network, and destination
|
|
2247
|
+
* attributes (URL, optional security token — auto-generated when omitted,
|
|
2248
|
+
* and optional compression — `gzip` or `none`). `template_args` carries
|
|
2249
|
+
* template-specific configuration such as wallet addresses or contract
|
|
2250
|
+
* filters. An optional `notification_email` receives alerts if the
|
|
2251
|
+
* webhook terminates.
|
|
2252
|
+
*/
|
|
2253
|
+
createWebhookFromTemplate(params: CreateWebhookFromTemplateParams): Promise<Webhook>
|
|
2254
|
+
/**
|
|
2255
|
+
* Updates an existing template-backed webhook, modifying its template
|
|
2256
|
+
* arguments and optionally its name, notification email, and destination
|
|
2257
|
+
* attributes (URL, security token, compression — `none` or `gzip`).
|
|
2258
|
+
* All optional fields support partial updates; a security token is
|
|
2259
|
+
* generated automatically if not provided. Templates cover EVM chains,
|
|
2260
|
+
* Solana, Bitcoin, XRPL, Hyperliquid, and Stellar.
|
|
2261
|
+
*/
|
|
2262
|
+
updateWebhookTemplate(webhookId: string, params: UpdateWebhookTemplateParams): Promise<Webhook>
|
|
2263
|
+
}
|
|
2264
|
+
export declare class KvStoreApiClient {
|
|
2265
|
+
/** Creates a new set, storing a single string value under the given key. */
|
|
2266
|
+
createSet(params: CreateSetParams): Promise<void>
|
|
2267
|
+
/**
|
|
2268
|
+
* Returns a paginated page of key/value entries from the store. Use the
|
|
2269
|
+
* response `cursor` to fetch subsequent pages.
|
|
2270
|
+
*/
|
|
2271
|
+
getSets(params?: GetSetsParams | undefined | null): Promise<GetSetsResponse>
|
|
2272
|
+
/** Returns the string value stored for a single set by key. */
|
|
2273
|
+
getSet(key: string): Promise<GetSetResponse>
|
|
2274
|
+
/**
|
|
2275
|
+
* Adds and removes multiple sets in a single request. Either `add_sets`,
|
|
2276
|
+
* `delete_sets`, or both may be supplied.
|
|
2277
|
+
*/
|
|
2278
|
+
bulkSets(params: BulkSetsParams): Promise<void>
|
|
2279
|
+
/** Removes a single set by key. */
|
|
2280
|
+
deleteSet(key: string): Promise<void>
|
|
2281
|
+
/** Creates a new list under the given key, seeded with the provided items. */
|
|
2282
|
+
createList(params: CreateListParams): Promise<void>
|
|
2283
|
+
/**
|
|
2284
|
+
* Returns a paginated page of list keys from the store. Use the response
|
|
2285
|
+
* `cursor` to fetch subsequent pages.
|
|
2286
|
+
*/
|
|
2287
|
+
getLists(params?: GetListsParams | undefined | null): Promise<GetListsResponse>
|
|
2288
|
+
/**
|
|
2289
|
+
* Returns a paginated page of items from the list identified by `key`.
|
|
2290
|
+
* Use the response `cursor` to fetch subsequent pages.
|
|
2291
|
+
*/
|
|
2292
|
+
getList(key: string, params?: GetListParams | undefined | null): Promise<GetListResponse>
|
|
2293
|
+
/**
|
|
2294
|
+
* Updates an existing list by adding and/or removing items in a single
|
|
2295
|
+
* operation. Either `add_items`, `remove_items`, or both may be supplied.
|
|
2296
|
+
*/
|
|
2297
|
+
updateList(key: string, params: UpdateListParams): Promise<void>
|
|
2298
|
+
/** Appends a single item to the list identified by `key`. */
|
|
2299
|
+
addListItem(key: string, params: AddListItemParams): Promise<void>
|
|
2300
|
+
/** Checks whether the specified list contains the given item. */
|
|
2301
|
+
listContainsItem(key: string, item: string): Promise<ListContainsItemResponse>
|
|
2302
|
+
/** Removes a specific item from the list identified by `key`. */
|
|
2303
|
+
deleteListItem(key: string, item: string): Promise<void>
|
|
2304
|
+
/** Removes a list and all of its items by key. */
|
|
2305
|
+
deleteList(key: string): Promise<void>
|
|
656
2306
|
}
|
|
657
|
-
|
|
658
|
-
export { Core, CoreArguments, EstimatePriorityFeesParams, PrepareSmartTransactionArgs, PriorityFeeEstimates, PriorityFeeLevels, PriorityFeeRequestPayload, PriorityFeeResponseData, QNChainNotSupported, QNCoreClient, QNCoreClientConfig, QNFetchNFTCollectionDetailsInput, QNFetchNFTCollectionDetailsResult, QNFetchNFTInput, QNFetchNFTResult, QNFetchNFTsByCollectionInput, QNFetchNFTsByCollectionResult, QNGetTokenMetadataByCAInput, QNGetTokenMetadataByCAResult, QNGetTokenMetadataBySymbolInput, QNGetTokenMetadataBySymbolResult, QNGetTransactionsByAddressInput, QNGetTransactionsByAddressResult, QNGetTransfersByNFTInput, QNGetTransfersByNFTResult, QNGetWalletTokenBalanceInput, QNGetWalletTokenBalanceResult, QNGetWalletTokenTransactionsInput, QNGetWalletTokenTransactionsResult, QNInputValidationError, QNInvalidEndpointUrl, QNVerifyNFTsOwnerInput, QNVerifyNFTsOwnerResult, SendSmartTransactionArgs, SmartTransactionBaseArgs, Solana, SolanaClientArgs, QuickNode as default };
|