@aintivirus-ai/mixer-sdk 1.0.9 → 1.0.11
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.
|
@@ -77,6 +77,17 @@ export declare class AintiVirusEVMSubgraph {
|
|
|
77
77
|
skip?: number;
|
|
78
78
|
orderDirection?: OrderDirection;
|
|
79
79
|
}): Promise<StakedEntity[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Fetch staked events for multiple season assets in a single subgraph call.
|
|
82
|
+
* Use instead of looping over assets with getStakedEvents to reduce API calls.
|
|
83
|
+
*/
|
|
84
|
+
getStakedEventsBulk(params: {
|
|
85
|
+
seasonAssetIds: string[];
|
|
86
|
+
staker?: string;
|
|
87
|
+
first?: number;
|
|
88
|
+
skip?: number;
|
|
89
|
+
orderDirection?: OrderDirection;
|
|
90
|
+
}): Promise<StakedEntity[]>;
|
|
80
91
|
getUnstakedEvents(params?: {
|
|
81
92
|
staker?: string;
|
|
82
93
|
seasonAssetId?: string;
|
|
@@ -84,6 +95,17 @@ export declare class AintiVirusEVMSubgraph {
|
|
|
84
95
|
skip?: number;
|
|
85
96
|
orderDirection?: OrderDirection;
|
|
86
97
|
}): Promise<UnstakedEntity[]>;
|
|
98
|
+
/**
|
|
99
|
+
* Fetch unstaked events for multiple season assets in a single subgraph call.
|
|
100
|
+
* Use instead of looping over assets with getUnstakedEvents to reduce API calls.
|
|
101
|
+
*/
|
|
102
|
+
getUnstakedEventsBulk(params: {
|
|
103
|
+
seasonAssetIds: string[];
|
|
104
|
+
staker?: string;
|
|
105
|
+
first?: number;
|
|
106
|
+
skip?: number;
|
|
107
|
+
orderDirection?: OrderDirection;
|
|
108
|
+
}): Promise<UnstakedEntity[]>;
|
|
87
109
|
getClaimedEvents(params?: {
|
|
88
110
|
staker?: string;
|
|
89
111
|
seasonAssetId?: string;
|
|
@@ -91,6 +113,17 @@ export declare class AintiVirusEVMSubgraph {
|
|
|
91
113
|
skip?: number;
|
|
92
114
|
orderDirection?: OrderDirection;
|
|
93
115
|
}): Promise<ClaimedEntity[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Fetch claimed events for multiple season assets in a single subgraph call.
|
|
118
|
+
* Use instead of looping over assets with getClaimedEvents to reduce API calls.
|
|
119
|
+
*/
|
|
120
|
+
getClaimedEventsBulk(params: {
|
|
121
|
+
seasonAssetIds: string[];
|
|
122
|
+
staker?: string;
|
|
123
|
+
first?: number;
|
|
124
|
+
skip?: number;
|
|
125
|
+
orderDirection?: OrderDirection;
|
|
126
|
+
}): Promise<ClaimedEntity[]>;
|
|
94
127
|
/**
|
|
95
128
|
* Get payment stats by payment contract address (id = contract address hex).
|
|
96
129
|
*/
|
|
@@ -319,6 +319,33 @@ class AintiVirusEVMSubgraph {
|
|
|
319
319
|
transactionHash: e.transactionHash,
|
|
320
320
|
}));
|
|
321
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Fetch staked events for multiple season assets in a single subgraph call.
|
|
324
|
+
* Use instead of looping over assets with getStakedEvents to reduce API calls.
|
|
325
|
+
*/
|
|
326
|
+
async getStakedEventsBulk(params) {
|
|
327
|
+
const { seasonAssetIds, staker, first = 500, skip = 0, orderDirection = "desc", } = params;
|
|
328
|
+
if (seasonAssetIds.length === 0)
|
|
329
|
+
return [];
|
|
330
|
+
const where = { seasonAsset_in: seasonAssetIds };
|
|
331
|
+
if (staker)
|
|
332
|
+
where.staker = staker.toLowerCase();
|
|
333
|
+
const data = await this.request(queries_1.QUERIES.stakedEvents, {
|
|
334
|
+
first,
|
|
335
|
+
skip,
|
|
336
|
+
where,
|
|
337
|
+
orderDirection,
|
|
338
|
+
});
|
|
339
|
+
return (data.stakeds ?? []).map((e) => ({
|
|
340
|
+
id: e.id,
|
|
341
|
+
staker: e.staker,
|
|
342
|
+
seasonAsset: { id: e.seasonAsset?.id },
|
|
343
|
+
amount: (0, utils_1.asBigint)(e.amount),
|
|
344
|
+
blockNumber: (0, utils_1.asBigint)(e.blockNumber),
|
|
345
|
+
blockTimestamp: (0, utils_1.asBigint)(e.blockTimestamp),
|
|
346
|
+
transactionHash: e.transactionHash,
|
|
347
|
+
}));
|
|
348
|
+
}
|
|
322
349
|
async getUnstakedEvents(params) {
|
|
323
350
|
const { staker, seasonAssetId, first = 50, skip = 0, orderDirection = "desc", } = params ?? {};
|
|
324
351
|
const where = {};
|
|
@@ -342,6 +369,33 @@ class AintiVirusEVMSubgraph {
|
|
|
342
369
|
transactionHash: e.transactionHash,
|
|
343
370
|
}));
|
|
344
371
|
}
|
|
372
|
+
/**
|
|
373
|
+
* Fetch unstaked events for multiple season assets in a single subgraph call.
|
|
374
|
+
* Use instead of looping over assets with getUnstakedEvents to reduce API calls.
|
|
375
|
+
*/
|
|
376
|
+
async getUnstakedEventsBulk(params) {
|
|
377
|
+
const { seasonAssetIds, staker, first = 500, skip = 0, orderDirection = "desc", } = params;
|
|
378
|
+
if (seasonAssetIds.length === 0)
|
|
379
|
+
return [];
|
|
380
|
+
const where = { seasonAsset_in: seasonAssetIds };
|
|
381
|
+
if (staker)
|
|
382
|
+
where.staker = staker.toLowerCase();
|
|
383
|
+
const data = await this.request(queries_1.QUERIES.unstakedEvents, {
|
|
384
|
+
first,
|
|
385
|
+
skip,
|
|
386
|
+
where,
|
|
387
|
+
orderDirection,
|
|
388
|
+
});
|
|
389
|
+
return (data.unstakeds ?? []).map((e) => ({
|
|
390
|
+
id: e.id,
|
|
391
|
+
staker: e.staker,
|
|
392
|
+
seasonAsset: { id: e.seasonAsset?.id },
|
|
393
|
+
amount: (0, utils_1.asBigint)(e.amount),
|
|
394
|
+
blockNumber: (0, utils_1.asBigint)(e.blockNumber),
|
|
395
|
+
blockTimestamp: (0, utils_1.asBigint)(e.blockTimestamp),
|
|
396
|
+
transactionHash: e.transactionHash,
|
|
397
|
+
}));
|
|
398
|
+
}
|
|
345
399
|
async getClaimedEvents(params) {
|
|
346
400
|
const { staker, seasonAssetId, first = 50, skip = 0, orderDirection = "desc", } = params ?? {};
|
|
347
401
|
const where = {};
|
|
@@ -365,6 +419,33 @@ class AintiVirusEVMSubgraph {
|
|
|
365
419
|
transactionHash: e.transactionHash,
|
|
366
420
|
}));
|
|
367
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* Fetch claimed events for multiple season assets in a single subgraph call.
|
|
424
|
+
* Use instead of looping over assets with getClaimedEvents to reduce API calls.
|
|
425
|
+
*/
|
|
426
|
+
async getClaimedEventsBulk(params) {
|
|
427
|
+
const { seasonAssetIds, staker, first = 500, skip = 0, orderDirection = "desc", } = params;
|
|
428
|
+
if (seasonAssetIds.length === 0)
|
|
429
|
+
return [];
|
|
430
|
+
const where = { seasonAsset_in: seasonAssetIds };
|
|
431
|
+
if (staker)
|
|
432
|
+
where.staker = staker.toLowerCase();
|
|
433
|
+
const data = await this.request(queries_1.QUERIES.claimedEvents, {
|
|
434
|
+
first,
|
|
435
|
+
skip,
|
|
436
|
+
where,
|
|
437
|
+
orderDirection,
|
|
438
|
+
});
|
|
439
|
+
return (data.claimeds ?? []).map((e) => ({
|
|
440
|
+
id: e.id,
|
|
441
|
+
staker: e.staker,
|
|
442
|
+
seasonAsset: { id: e.seasonAsset?.id },
|
|
443
|
+
amount: (0, utils_1.asBigint)(e.amount),
|
|
444
|
+
blockNumber: (0, utils_1.asBigint)(e.blockNumber),
|
|
445
|
+
blockTimestamp: (0, utils_1.asBigint)(e.blockTimestamp),
|
|
446
|
+
transactionHash: e.transactionHash,
|
|
447
|
+
}));
|
|
448
|
+
}
|
|
368
449
|
/**
|
|
369
450
|
* Get payment stats by payment contract address (id = contract address hex).
|
|
370
451
|
*/
|
|
@@ -21,11 +21,15 @@ function useEVMReady() {
|
|
|
21
21
|
const evmSDK = mixer?.getActiveEVM?.() ?? null;
|
|
22
22
|
const evmChainConfig = chainId != null ? getEvmChainConfig(chainId) : undefined;
|
|
23
23
|
const subgraphUrl = evmChainConfig?.subgraphUrl;
|
|
24
|
+
const subgraphApiKey = evmChainConfig?.subgraphApiKey;
|
|
24
25
|
const subgraph = (0, react_1.useMemo)(() => {
|
|
25
26
|
if (!subgraphUrl)
|
|
26
27
|
return null;
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
const headers = subgraphApiKey
|
|
29
|
+
? { Authorization: `Bearer ${subgraphApiKey}` }
|
|
30
|
+
: undefined;
|
|
31
|
+
return new subgraph_1.AintiVirusEVMSubgraph({ endpoint: subgraphUrl, headers });
|
|
32
|
+
}, [subgraphUrl, subgraphApiKey]);
|
|
29
33
|
const isSupportedEVMChain = chainId != null &&
|
|
30
34
|
evmChainIds.length > 0 &&
|
|
31
35
|
evmChainIds.includes(chainId);
|
package/dist/types/index.d.ts
CHANGED
|
@@ -110,6 +110,8 @@ export interface EvmChainConfig {
|
|
|
110
110
|
wethGatewayAddress?: string;
|
|
111
111
|
rpcUrl?: string;
|
|
112
112
|
subgraphUrl?: string;
|
|
113
|
+
/** Subgraph API key for The Graph Gateway (Bearer token). Required when using gateway.thegraph.com */
|
|
114
|
+
subgraphApiKey?: string;
|
|
113
115
|
/** Payment contract address (for subgraph payment stats / payment processed list) */
|
|
114
116
|
paymentAddress?: string;
|
|
115
117
|
/**
|
package/package.json
CHANGED