@hu-fi/subgraph-sdk 4.0.0-beta.5 → 4.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/campaigns/fetchers.d.ts +0 -1
- package/dist/campaigns/helpers.d.ts +0 -1
- package/dist/campaigns/queries.d.ts +0 -1
- package/dist/campaigns/types.d.ts +0 -1
- package/dist/common/constants.d.ts +0 -1
- package/dist/common/custom-gql-client.d.ts +0 -1
- package/dist/common/errors.d.ts +0 -1
- package/dist/common/helpers.d.ts +0 -1
- package/dist/common/types.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/stats/fetchers.d.ts +0 -1
- package/dist/stats/queries.d.ts +0 -1
- package/dist/stats/types.d.ts +0 -1
- package/package.json +2 -3
- package/dist/campaigns/fetchers.d.ts.map +0 -1
- package/dist/campaigns/helpers.d.ts.map +0 -1
- package/dist/campaigns/queries.d.ts.map +0 -1
- package/dist/campaigns/types.d.ts.map +0 -1
- package/dist/common/constants.d.ts.map +0 -1
- package/dist/common/custom-gql-client.d.ts.map +0 -1
- package/dist/common/errors.d.ts.map +0 -1
- package/dist/common/helpers.d.ts.map +0 -1
- package/dist/common/types.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/stats/fetchers.d.ts.map +0 -1
- package/dist/stats/queries.d.ts.map +0 -1
- package/dist/stats/types.d.ts.map +0 -1
- package/src/campaigns/fetchers.ts +0 -174
- package/src/campaigns/helpers.ts +0 -50
- package/src/campaigns/queries.ts +0 -112
- package/src/campaigns/types.ts +0 -119
- package/src/common/constants.ts +0 -22
- package/src/common/custom-gql-client.ts +0 -53
- package/src/common/errors.ts +0 -11
- package/src/common/helpers.ts +0 -6
- package/src/common/types.ts +0 -6
- package/src/index.ts +0 -22
- package/src/stats/fetchers.ts +0 -57
- package/src/stats/queries.ts +0 -24
- package/src/stats/types.ts +0 -33
|
@@ -9,4 +9,3 @@ export declare function getCampaigns(chainId: number, options?: {
|
|
|
9
9
|
orderDirection?: OrderDirectionValue;
|
|
10
10
|
}): Promise<Campaign[]>;
|
|
11
11
|
export declare function getCampaignEvents(chainId: number, id: string, since?: number): Promise<CampaignEvent[]>;
|
|
12
|
-
//# sourceMappingURL=fetchers.d.ts.map
|
|
@@ -5,4 +5,3 @@ export declare const GET_CAMPAIGN_CANCEL_EVENT_QUERY = "\n query getCancelEvent
|
|
|
5
5
|
export declare const GET_CAMPAIGN_COMPLETE_EVENT_QUERY = "\n query getCompleteEvent($id: Bytes!) {\n campaignEvent: completeEvent(id: $id) {\n id\n createdAt\n }\n }\n";
|
|
6
6
|
export declare const GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY = "\n query getBulkTransferEvent($id: Bytes!) {\n campaignEvent: bulkTransferEvent(id: $id) {\n id\n createdAt\n url\n hash\n recipients\n amounts\n }\n }\n";
|
|
7
7
|
export declare const GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY = "\n query getIntermediateResultsEvent($id: Bytes!) {\n campaignEvent: intermediateResultsEvent(id: $id) {\n id\n createdAt\n url\n hash\n }\n }\n";
|
|
8
|
-
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -8,4 +8,3 @@ export declare const SubgraphUrlByChain: Record<ChainId, string>;
|
|
|
8
8
|
export declare const MAX_PAGE_SIZE = 1000;
|
|
9
9
|
export declare const DEFAULT_PAGE_SIZE = 100;
|
|
10
10
|
export declare const CAMPAIGNS_STATISTICS_ID = "campaigns-statistics-id";
|
|
11
|
-
//# sourceMappingURL=constants.d.ts.map
|
package/dist/common/errors.d.ts
CHANGED
package/dist/common/helpers.d.ts
CHANGED
package/dist/common/types.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/stats/fetchers.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { type OverallStats, type OraclesStats } from './types.js';
|
|
2
2
|
export declare function getOverallStats(chainId: number): Promise<OverallStats>;
|
|
3
3
|
export declare function getStatsByOracles(chainId: number, exchangeOracleAddress: string, recordingOracleAddress: string, reputationOracleAddress: string): Promise<OraclesStats | null>;
|
|
4
|
-
//# sourceMappingURL=fetchers.d.ts.map
|
package/dist/stats/queries.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export declare const GET_OVERALL_STATS_QUERY = "\n query getOverallStats($id: ID!) {\n campaignsStatistics(id: $id) {\n id\n nActive\n nCancelled\n nCompleted\n }\n }\n";
|
|
2
2
|
export declare const GET_ORACLES_STATS_QUERY = "\n query getOraclesStats($id: ID!) {\n oraclesCampaignsCounter(id: $id) {\n id\n nActive\n nCancelled\n nCompleted\n exchangeOracleAddress\n recordingOracleAddress\n reputationOracleAddress\n }\n }\n";
|
|
3
|
-
//# sourceMappingURL=queries.d.ts.map
|
package/dist/stats/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hu-fi/subgraph-sdk",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
|
-
"dist/**/*"
|
|
15
|
-
"src/**/*"
|
|
14
|
+
"dist/**/*"
|
|
16
15
|
],
|
|
17
16
|
"scripts": {
|
|
18
17
|
"clean": "tsc --build --clean tsconfig.build.json && rm -rf ./dist",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetchers.d.ts","sourceRoot":"","sources":["../../src/campaigns/fetchers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAY7E,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAEzB,KAAK,QAAQ,EACb,KAAK,eAAe,EAKrB,MAAM,YAAY,CAAC;AA4DpB,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAU1B;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACjC,GACL,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgBrB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,EAAE,CAAC,CA0C1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/campaigns/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2CzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/campaigns/queries.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,kBAAkB,srBAO9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,k7BAmB/B,CAAC;AAEF,eAAO,MAAM,+CAA+C,8JAO3D,CAAC;AAEF,eAAO,MAAM,+BAA+B,gIAO3C,CAAC;AAEF,eAAO,MAAM,iCAAiC,oIAO7C,CAAC;AAEF,eAAO,MAAM,sCAAsC,oMAWlD,CAAC;AAEF,eAAO,MAAM,6CAA6C,iLASzD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/campaigns/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO;IACjB,OAAO,MAAM;IACb,YAAY,QAAQ;IACpB,QAAQ,IAAI;IACZ,gBAAgB,WAAW;CAC5B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAStD,CAAC;AAEF,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,uBAAuB,4BAA4B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-gql-client.d.ts","sourceRoot":"","sources":["../../src/common/custom-gql-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAQ7C;AAED,qBAAa,eAAe;WACb,OAAO,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC;CA+Bd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAS7C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/common/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAKtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,MAAM,MAAM,mBAAmB,GAAG,GAAG,cAAc,EAAE,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,cAAc,EAGtB,OAAO,gBAAgB,GAAG,OAAO,aAAa,CAAC;AAEpD,eAAe,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetchers.d.ts","sourceRoot":"","sources":["../../src/stats/fetchers.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAapB,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAM5E;AAWD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,MAAM,EAC7B,sBAAsB,EAAE,MAAM,EAC9B,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAY9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/stats/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,yJASnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,uPAYnC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stats/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE } from '@/common/constants.js';
|
|
2
|
-
import { CustomGqlClient } from '@/common/custom-gql-client.js';
|
|
3
|
-
import { OrderDirection, type OrderDirectionValue } from '@/common/types.js';
|
|
4
|
-
|
|
5
|
-
import { prepareFilters } from './helpers.js';
|
|
6
|
-
import {
|
|
7
|
-
GET_CAMPAIGN_QUERY,
|
|
8
|
-
GET_CAMPAIGNS_QUERY,
|
|
9
|
-
GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY,
|
|
10
|
-
GET_CAMPAIGN_CANCEL_EVENT_QUERY,
|
|
11
|
-
GET_CAMPAIGN_COMPLETE_EVENT_QUERY,
|
|
12
|
-
GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY,
|
|
13
|
-
GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY,
|
|
14
|
-
} from './queries.js';
|
|
15
|
-
import {
|
|
16
|
-
type CampaignEvent,
|
|
17
|
-
CampaignOrderBy,
|
|
18
|
-
type CampaignOrderByValue,
|
|
19
|
-
type SubgraphCampaign,
|
|
20
|
-
type Campaign,
|
|
21
|
-
type CampaignFilters,
|
|
22
|
-
type SubgraphBaseEvent,
|
|
23
|
-
type SubgraphBulkTransferEvent,
|
|
24
|
-
type SubgraphIntermediateResultsEvent,
|
|
25
|
-
CampaignEventType,
|
|
26
|
-
} from './types.js';
|
|
27
|
-
|
|
28
|
-
function mapCampaign(campaign: SubgraphCampaign): Campaign {
|
|
29
|
-
return {
|
|
30
|
-
...campaign,
|
|
31
|
-
fundAmount: BigInt(campaign.fundAmount),
|
|
32
|
-
currentBalance: BigInt(campaign.currentBalance),
|
|
33
|
-
rewardsDistributed: BigInt(campaign.rewardsDistributed),
|
|
34
|
-
startDate: Number(campaign.startDate),
|
|
35
|
-
endDate: Number(campaign.endDate),
|
|
36
|
-
exchangeOracleFee: Number(campaign.exchangeOracleFee),
|
|
37
|
-
recordingOracleFee: Number(campaign.recordingOracleFee),
|
|
38
|
-
reputationOracleFee: Number(campaign.reputationOracleFee),
|
|
39
|
-
createdAt: Number(campaign.createdAt),
|
|
40
|
-
cancellationRequestedAt: campaign.cancellationRequestedAt
|
|
41
|
-
? Number(campaign.cancellationRequestedAt)
|
|
42
|
-
: null,
|
|
43
|
-
finalizedAt: campaign.finalizedAt ? Number(campaign.finalizedAt) : null,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function mapCampaignEvent(
|
|
48
|
-
type: CampaignEventType,
|
|
49
|
-
subgraphEvent:
|
|
50
|
-
| SubgraphBaseEvent
|
|
51
|
-
| SubgraphIntermediateResultsEvent
|
|
52
|
-
| SubgraphBulkTransferEvent,
|
|
53
|
-
): CampaignEvent {
|
|
54
|
-
let details: Record<string, unknown>;
|
|
55
|
-
switch (type) {
|
|
56
|
-
case CampaignEventType.INTERMEDIATE_RESULTS: {
|
|
57
|
-
const event = subgraphEvent as SubgraphIntermediateResultsEvent;
|
|
58
|
-
details = {
|
|
59
|
-
url: event.url,
|
|
60
|
-
hash: event.hash,
|
|
61
|
-
};
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
case CampaignEventType.BULK_PAYOUT: {
|
|
65
|
-
const event = subgraphEvent as SubgraphBulkTransferEvent;
|
|
66
|
-
details = {
|
|
67
|
-
url: event.url,
|
|
68
|
-
hash: event.hash,
|
|
69
|
-
recipients: event.recipients,
|
|
70
|
-
amounts: event.amounts,
|
|
71
|
-
};
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
default:
|
|
75
|
-
details = {};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return {
|
|
79
|
-
type: type,
|
|
80
|
-
campaign: subgraphEvent.id,
|
|
81
|
-
timestamp: Number(subgraphEvent.createdAt),
|
|
82
|
-
details,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export async function getCampaign(
|
|
87
|
-
chainId: number,
|
|
88
|
-
id: string,
|
|
89
|
-
): Promise<Campaign | null> {
|
|
90
|
-
const { campaign } = await CustomGqlClient.request<{
|
|
91
|
-
campaign: SubgraphCampaign | null;
|
|
92
|
-
}>(chainId, GET_CAMPAIGN_QUERY, { id });
|
|
93
|
-
|
|
94
|
-
if (!campaign) {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return mapCampaign(campaign);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export async function getCampaigns(
|
|
102
|
-
chainId: number,
|
|
103
|
-
options: {
|
|
104
|
-
first?: number;
|
|
105
|
-
skip?: number;
|
|
106
|
-
filters?: CampaignFilters;
|
|
107
|
-
orderBy?: CampaignOrderByValue;
|
|
108
|
-
orderDirection?: OrderDirectionValue;
|
|
109
|
-
} = {},
|
|
110
|
-
): Promise<Campaign[]> {
|
|
111
|
-
const paginationOptions = {
|
|
112
|
-
first: Math.min(options.first || DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE),
|
|
113
|
-
skip: options.skip || 0,
|
|
114
|
-
orderBy: options.orderBy || CampaignOrderBy.CREATED_AT,
|
|
115
|
-
orderDirection: options.orderDirection || OrderDirection.DESC,
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
const { campaigns } = await CustomGqlClient.request<{
|
|
119
|
-
campaigns: SubgraphCampaign[];
|
|
120
|
-
}>(chainId, GET_CAMPAIGNS_QUERY, {
|
|
121
|
-
...paginationOptions,
|
|
122
|
-
where: prepareFilters(options.filters || {}),
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
return campaigns.map(mapCampaign);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export async function getCampaignEvents(
|
|
129
|
-
chainId: number,
|
|
130
|
-
id: string,
|
|
131
|
-
since?: number,
|
|
132
|
-
): Promise<CampaignEvent[]> {
|
|
133
|
-
try {
|
|
134
|
-
// Due to the subgraph logic we can have not more than 5 events per campaign, so we need to fetch events 1 by 1 and filter them by createdAt_gte
|
|
135
|
-
const eventPromises = {
|
|
136
|
-
[CampaignEventType.CANCELLATION_REQUESTED]: CustomGqlClient.request<{
|
|
137
|
-
campaignEvent: SubgraphBaseEvent | null;
|
|
138
|
-
}>(chainId, GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY, { id }),
|
|
139
|
-
[CampaignEventType.CANCEL]: CustomGqlClient.request<{
|
|
140
|
-
campaignEvent: SubgraphBaseEvent | null;
|
|
141
|
-
}>(chainId, GET_CAMPAIGN_CANCEL_EVENT_QUERY, { id }),
|
|
142
|
-
[CampaignEventType.COMPLETE]: CustomGqlClient.request<{
|
|
143
|
-
campaignEvent: SubgraphBaseEvent | null;
|
|
144
|
-
}>(chainId, GET_CAMPAIGN_COMPLETE_EVENT_QUERY, { id }),
|
|
145
|
-
[CampaignEventType.INTERMEDIATE_RESULTS]: CustomGqlClient.request<{
|
|
146
|
-
campaignEvent: SubgraphIntermediateResultsEvent | null;
|
|
147
|
-
}>(chainId, GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY, { id }),
|
|
148
|
-
[CampaignEventType.BULK_PAYOUT]: CustomGqlClient.request<{
|
|
149
|
-
campaignEvent: SubgraphBulkTransferEvent | null;
|
|
150
|
-
}>(chainId, GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY, { id }),
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
await Promise.all(Object.values(eventPromises));
|
|
154
|
-
|
|
155
|
-
const results: CampaignEvent[] = [];
|
|
156
|
-
for (const [eventType, promise] of Object.entries(eventPromises)) {
|
|
157
|
-
const result = await promise;
|
|
158
|
-
if (!result.campaignEvent) {
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
if (since && result.campaignEvent.createdAt < since) {
|
|
162
|
-
continue;
|
|
163
|
-
}
|
|
164
|
-
results.push(
|
|
165
|
-
mapCampaignEvent(eventType as CampaignEventType, result.campaignEvent),
|
|
166
|
-
);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return results.sort((a, b) => a.timestamp - b.timestamp);
|
|
170
|
-
} catch (error) {
|
|
171
|
-
console.error('Error fetching campaign events', { error });
|
|
172
|
-
throw new Error('Error fetching campaign events');
|
|
173
|
-
}
|
|
174
|
-
}
|
package/src/campaigns/helpers.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { convertDateFilterToString } from '@/common/helpers.js';
|
|
2
|
-
|
|
3
|
-
import { CampaignFilters } from './types.js';
|
|
4
|
-
|
|
5
|
-
export function prepareFilters(
|
|
6
|
-
filters: CampaignFilters,
|
|
7
|
-
): Record<string, unknown> {
|
|
8
|
-
const preparedFilters: Record<string, unknown> = {};
|
|
9
|
-
|
|
10
|
-
if (filters.startDate_gte) {
|
|
11
|
-
preparedFilters.startDate_gte = convertDateFilterToString(
|
|
12
|
-
filters.startDate_gte,
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
if (filters.startDate_lte) {
|
|
17
|
-
preparedFilters.startDate_lte = convertDateFilterToString(
|
|
18
|
-
filters.startDate_lte,
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if (filters.createdAt_gte) {
|
|
23
|
-
preparedFilters.createdAt_gte = convertDateFilterToString(
|
|
24
|
-
filters.createdAt_gte,
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (filters.createdAt_lte) {
|
|
29
|
-
preparedFilters.createdAt_lte = convertDateFilterToString(
|
|
30
|
-
filters.createdAt_lte,
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (filters.endDate_gte) {
|
|
35
|
-
preparedFilters.endDate_gte = convertDateFilterToString(
|
|
36
|
-
filters.endDate_gte,
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (filters.endDate_lte) {
|
|
41
|
-
preparedFilters.endDate_lte = convertDateFilterToString(
|
|
42
|
-
filters.endDate_lte,
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
...filters,
|
|
48
|
-
...preparedFilters,
|
|
49
|
-
};
|
|
50
|
-
}
|
package/src/campaigns/queries.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
const CAMPAIGN_FRAGMENT = `
|
|
2
|
-
fragment CampaignFields on Campaign {
|
|
3
|
-
id
|
|
4
|
-
status
|
|
5
|
-
factoryAddress
|
|
6
|
-
creatorAddress
|
|
7
|
-
fundTokenAddress
|
|
8
|
-
fundAmount
|
|
9
|
-
currentBalance
|
|
10
|
-
rewardsDistributed
|
|
11
|
-
manifest
|
|
12
|
-
exchange
|
|
13
|
-
type
|
|
14
|
-
symbol
|
|
15
|
-
startDate
|
|
16
|
-
endDate
|
|
17
|
-
exchangeOracleAddress
|
|
18
|
-
recordingOracleAddress
|
|
19
|
-
reputationOracleAddress
|
|
20
|
-
exchangeOracleFee
|
|
21
|
-
recordingOracleFee
|
|
22
|
-
reputationOracleFee
|
|
23
|
-
intermediateResultsUrl
|
|
24
|
-
intermediateResultsHash
|
|
25
|
-
finalResultsUrl
|
|
26
|
-
finalResultsHash
|
|
27
|
-
createdAt
|
|
28
|
-
cancellationRequestedAt
|
|
29
|
-
finalizedAt
|
|
30
|
-
}
|
|
31
|
-
`;
|
|
32
|
-
|
|
33
|
-
export const GET_CAMPAIGN_QUERY = `
|
|
34
|
-
query getCampaign($id: Bytes!) {
|
|
35
|
-
campaign(id: $id) {
|
|
36
|
-
...CampaignFields
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
${CAMPAIGN_FRAGMENT}
|
|
40
|
-
`;
|
|
41
|
-
|
|
42
|
-
export const GET_CAMPAIGNS_QUERY = `
|
|
43
|
-
query getCampaigns(
|
|
44
|
-
$first: Int!
|
|
45
|
-
$skip: Int!
|
|
46
|
-
$where: Campaign_filter
|
|
47
|
-
$orderBy: Campaign_orderBy
|
|
48
|
-
$orderDirection: OrderDirection
|
|
49
|
-
) {
|
|
50
|
-
campaigns(
|
|
51
|
-
first: $first
|
|
52
|
-
skip: $skip
|
|
53
|
-
where: $where
|
|
54
|
-
orderBy: $orderBy
|
|
55
|
-
orderDirection: $orderDirection
|
|
56
|
-
) {
|
|
57
|
-
...CampaignFields
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
${CAMPAIGN_FRAGMENT}
|
|
61
|
-
`;
|
|
62
|
-
|
|
63
|
-
export const GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY = `
|
|
64
|
-
query getCancellationRequestedEvent($id: Bytes!) {
|
|
65
|
-
campaignEvent: cancellationRequestedEvent(id: $id) {
|
|
66
|
-
id
|
|
67
|
-
createdAt
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
`;
|
|
71
|
-
|
|
72
|
-
export const GET_CAMPAIGN_CANCEL_EVENT_QUERY = `
|
|
73
|
-
query getCancelEvent($id: Bytes!) {
|
|
74
|
-
campaignEvent: cancelEvent(id: $id) {
|
|
75
|
-
id
|
|
76
|
-
createdAt
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
`;
|
|
80
|
-
|
|
81
|
-
export const GET_CAMPAIGN_COMPLETE_EVENT_QUERY = `
|
|
82
|
-
query getCompleteEvent($id: Bytes!) {
|
|
83
|
-
campaignEvent: completeEvent(id: $id) {
|
|
84
|
-
id
|
|
85
|
-
createdAt
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
`;
|
|
89
|
-
|
|
90
|
-
export const GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY = `
|
|
91
|
-
query getBulkTransferEvent($id: Bytes!) {
|
|
92
|
-
campaignEvent: bulkTransferEvent(id: $id) {
|
|
93
|
-
id
|
|
94
|
-
createdAt
|
|
95
|
-
url
|
|
96
|
-
hash
|
|
97
|
-
recipients
|
|
98
|
-
amounts
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
`;
|
|
102
|
-
|
|
103
|
-
export const GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY = `
|
|
104
|
-
query getIntermediateResultsEvent($id: Bytes!) {
|
|
105
|
-
campaignEvent: intermediateResultsEvent(id: $id) {
|
|
106
|
-
id
|
|
107
|
-
createdAt
|
|
108
|
-
url
|
|
109
|
-
hash
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
`;
|
package/src/campaigns/types.ts
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
export type SubgraphCampaign = {
|
|
2
|
-
id: string;
|
|
3
|
-
status: string;
|
|
4
|
-
factoryAddress: string;
|
|
5
|
-
creatorAddress: string;
|
|
6
|
-
fundTokenAddress: string;
|
|
7
|
-
fundAmount: string;
|
|
8
|
-
currentBalance: string;
|
|
9
|
-
rewardsDistributed: string;
|
|
10
|
-
manifest: string;
|
|
11
|
-
exchange: string;
|
|
12
|
-
type: string;
|
|
13
|
-
symbol: string;
|
|
14
|
-
startDate: string;
|
|
15
|
-
endDate: string;
|
|
16
|
-
exchangeOracleAddress: string;
|
|
17
|
-
recordingOracleAddress: string;
|
|
18
|
-
reputationOracleAddress: string;
|
|
19
|
-
exchangeOracleFee: string;
|
|
20
|
-
recordingOracleFee: string;
|
|
21
|
-
reputationOracleFee: string;
|
|
22
|
-
intermediateResultsUrl: string | null;
|
|
23
|
-
intermediateResultsHash: string | null;
|
|
24
|
-
finalResultsUrl: string | null;
|
|
25
|
-
finalResultsHash: string | null;
|
|
26
|
-
createdAt: string;
|
|
27
|
-
cancellationRequestedAt: string | null;
|
|
28
|
-
finalizedAt: string | null;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export type Campaign = {
|
|
32
|
-
id: string;
|
|
33
|
-
status: string;
|
|
34
|
-
factoryAddress: string;
|
|
35
|
-
creatorAddress: string;
|
|
36
|
-
fundTokenAddress: string;
|
|
37
|
-
fundAmount: bigint;
|
|
38
|
-
currentBalance: bigint;
|
|
39
|
-
rewardsDistributed: bigint;
|
|
40
|
-
manifest: string;
|
|
41
|
-
exchange: string;
|
|
42
|
-
type: string;
|
|
43
|
-
symbol: string;
|
|
44
|
-
startDate: number;
|
|
45
|
-
endDate: number;
|
|
46
|
-
exchangeOracleAddress: string;
|
|
47
|
-
recordingOracleAddress: string;
|
|
48
|
-
reputationOracleAddress: string;
|
|
49
|
-
exchangeOracleFee: number;
|
|
50
|
-
recordingOracleFee: number;
|
|
51
|
-
reputationOracleFee: number;
|
|
52
|
-
intermediateResultsUrl: string | null;
|
|
53
|
-
intermediateResultsHash: string | null;
|
|
54
|
-
finalResultsUrl: string | null;
|
|
55
|
-
finalResultsHash: string | null;
|
|
56
|
-
createdAt: number;
|
|
57
|
-
cancellationRequestedAt: number | null;
|
|
58
|
-
finalizedAt: number | null;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
export type CampaignFilters = {
|
|
62
|
-
status_in?: string[];
|
|
63
|
-
startDate_gte?: Date | number;
|
|
64
|
-
startDate_lte?: Date | number;
|
|
65
|
-
createdAt_gte?: Date | number;
|
|
66
|
-
createdAt_lte?: Date | number;
|
|
67
|
-
endDate_gte?: Date | number;
|
|
68
|
-
endDate_lte?: Date | number;
|
|
69
|
-
type_in?: string[];
|
|
70
|
-
exchange_in?: string[];
|
|
71
|
-
symbol_contains_nocase?: string;
|
|
72
|
-
exchangeOracleAddress?: string;
|
|
73
|
-
recordingOracleAddress?: string;
|
|
74
|
-
reputationOracleAddress?: string;
|
|
75
|
-
fundTokenAddress?: string;
|
|
76
|
-
creatorAddress?: string;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export enum CampaignOrderBy {
|
|
80
|
-
CREATED_AT = 'createdAt',
|
|
81
|
-
START_DATE = 'startDate',
|
|
82
|
-
END_DATE = 'endDate',
|
|
83
|
-
FUND_AMOUNT = 'fundAmount',
|
|
84
|
-
CURRENT_BALANCE = 'currentBalance',
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export enum CampaignEventType {
|
|
88
|
-
CANCELLATION_REQUESTED = 'cancellationRequested',
|
|
89
|
-
CANCEL = 'cancel',
|
|
90
|
-
INTERMEDIATE_RESULTS = 'intermediateResults',
|
|
91
|
-
BULK_PAYOUT = 'bulkPayout',
|
|
92
|
-
COMPLETE = 'complete',
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export type CampaignEvent = {
|
|
96
|
-
type: CampaignEventType;
|
|
97
|
-
campaign: string;
|
|
98
|
-
timestamp: number;
|
|
99
|
-
details: Record<string, unknown>;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export type SubgraphBaseEvent = {
|
|
103
|
-
id: string;
|
|
104
|
-
createdAt: number;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export type SubgraphIntermediateResultsEvent = SubgraphBaseEvent & {
|
|
108
|
-
url: string;
|
|
109
|
-
hash: string | null;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
export type SubgraphBulkTransferEvent = SubgraphBaseEvent & {
|
|
113
|
-
url: string;
|
|
114
|
-
hash: string | null;
|
|
115
|
-
recipients: string[];
|
|
116
|
-
amounts: string[];
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export type CampaignOrderByValue = `${CampaignOrderBy}`;
|
package/src/common/constants.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export enum ChainId {
|
|
2
|
-
POLYGON = 137,
|
|
3
|
-
POLYGON_AMOY = 80002,
|
|
4
|
-
ETHEREUM = 1,
|
|
5
|
-
ETHEREUM_SEPOLIA = 11155111,
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export const SubgraphUrlByChain: Record<ChainId, string> = {
|
|
9
|
-
[ChainId.POLYGON]:
|
|
10
|
-
'https://gateway.thegraph.com/api/deployments/id/QmewMWCMoR2sTnWhHe4eoo7UsNSAkEpLAsSFUwH5X2pfei',
|
|
11
|
-
[ChainId.POLYGON_AMOY]:
|
|
12
|
-
'https://gateway.thegraph.com/api/deployments/id/QmdjGSysyv9a56kmbDqmAuPsdVR7W86g3A6ZChUEmXQ9Dr',
|
|
13
|
-
[ChainId.ETHEREUM]:
|
|
14
|
-
'https://gateway.thegraph.com/api/deployments/id/Qmb6hMTh3yhZTdN2Zn8b4F9Sif9fufBMqB9iQiUW7kQFgx',
|
|
15
|
-
[ChainId.ETHEREUM_SEPOLIA]:
|
|
16
|
-
'https://gateway.thegraph.com/api/deployments/id/QmQxWJ5WbuTmrKvKsLcKpVKyTEYUpsxwdkkDZxSz8Twoxo',
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const MAX_PAGE_SIZE = 1000;
|
|
20
|
-
export const DEFAULT_PAGE_SIZE = 100;
|
|
21
|
-
|
|
22
|
-
export const CAMPAIGNS_STATISTICS_ID = 'campaigns-statistics-id';
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { request as graphqlRequest } from 'graphql-request';
|
|
2
|
-
|
|
3
|
-
import { ChainId, SubgraphUrlByChain } from './constants.js';
|
|
4
|
-
import { HufiSdkError } from './errors.js';
|
|
5
|
-
|
|
6
|
-
export class GraphqlClientError extends HufiSdkError {
|
|
7
|
-
constructor(message: string, cause?: unknown) {
|
|
8
|
-
super(message, cause);
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(this, 'cause', {
|
|
11
|
-
// to support logging of this prop in custom loggers
|
|
12
|
-
enumerable: true,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export class CustomGqlClient {
|
|
18
|
-
static async request<T>(
|
|
19
|
-
chainId: number,
|
|
20
|
-
query: string,
|
|
21
|
-
variables?: Record<string, unknown>,
|
|
22
|
-
): Promise<T> {
|
|
23
|
-
const subgraphApiKey = process.env.HUFI_SUBGRAPH_API_KEY;
|
|
24
|
-
if (!subgraphApiKey) {
|
|
25
|
-
throw new HufiSdkError(
|
|
26
|
-
'HUFI_SUBGRAPH_API_KEY environment variable is not set',
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const subgraphUrl = SubgraphUrlByChain[chainId as ChainId];
|
|
31
|
-
if (!subgraphUrl) {
|
|
32
|
-
throw new HufiSdkError(`Unsupported chainId: ${chainId}`);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
try {
|
|
36
|
-
const response = await graphqlRequest<T>({
|
|
37
|
-
url: subgraphUrl,
|
|
38
|
-
requestHeaders: {
|
|
39
|
-
Authorization: `Bearer ${subgraphApiKey}`,
|
|
40
|
-
},
|
|
41
|
-
document: query,
|
|
42
|
-
variables,
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
return response;
|
|
46
|
-
} catch (error) {
|
|
47
|
-
throw new GraphqlClientError(
|
|
48
|
-
'Failed to request data from subgraph',
|
|
49
|
-
error instanceof Error ? error.message : error,
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
package/src/common/errors.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class HufiSdkError extends Error {
|
|
2
|
-
constructor(message: string, cause?: unknown) {
|
|
3
|
-
const errorOptions: ErrorOptions = {};
|
|
4
|
-
if (cause) {
|
|
5
|
-
errorOptions.cause = cause;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
super(message, errorOptions);
|
|
9
|
-
this.name = this.constructor.name;
|
|
10
|
-
}
|
|
11
|
-
}
|
package/src/common/helpers.ts
DELETED
package/src/common/types.ts
DELETED
package/src/index.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export {
|
|
2
|
-
CampaignEventType,
|
|
3
|
-
CampaignOrderBy,
|
|
4
|
-
type Campaign,
|
|
5
|
-
type CampaignEvent,
|
|
6
|
-
type CampaignFilters,
|
|
7
|
-
} from './campaigns/types.js';
|
|
8
|
-
export type { OraclesStats, OverallStats } from './stats/types.js';
|
|
9
|
-
|
|
10
|
-
export { GraphqlClientError } from './common/custom-gql-client.js';
|
|
11
|
-
export { HufiSdkError } from './common/errors.js';
|
|
12
|
-
export { OrderDirection } from './common/types.js';
|
|
13
|
-
|
|
14
|
-
import * as campaignFetchers from './campaigns/fetchers.js';
|
|
15
|
-
import * as statsFetchers from './stats/fetchers.js';
|
|
16
|
-
|
|
17
|
-
export const subgraphClient = {
|
|
18
|
-
...campaignFetchers,
|
|
19
|
-
...statsFetchers,
|
|
20
|
-
} as typeof campaignFetchers & typeof statsFetchers;
|
|
21
|
-
|
|
22
|
-
export default subgraphClient;
|
package/src/stats/fetchers.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { CAMPAIGNS_STATISTICS_ID } from '@/common/constants.js';
|
|
2
|
-
import { CustomGqlClient } from '@/common/custom-gql-client.js';
|
|
3
|
-
|
|
4
|
-
import { GET_OVERALL_STATS_QUERY, GET_ORACLES_STATS_QUERY } from './queries.js';
|
|
5
|
-
import {
|
|
6
|
-
type OverallStats,
|
|
7
|
-
type SubgraphOverallStats,
|
|
8
|
-
type SubgraphOraclesStats,
|
|
9
|
-
type OraclesStats,
|
|
10
|
-
} from './types.js';
|
|
11
|
-
|
|
12
|
-
function mapOverallStatistics(
|
|
13
|
-
stats: SubgraphOverallStats | null,
|
|
14
|
-
): OverallStats {
|
|
15
|
-
return {
|
|
16
|
-
id: stats ? stats.id : CAMPAIGNS_STATISTICS_ID,
|
|
17
|
-
nActive: stats ? Number(stats.nActive) : 0,
|
|
18
|
-
nCancelled: stats ? Number(stats.nCancelled) : 0,
|
|
19
|
-
nCompleted: stats ? Number(stats.nCompleted) : 0,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export async function getOverallStats(chainId: number): Promise<OverallStats> {
|
|
24
|
-
const { campaignsStatistics } = await CustomGqlClient.request<{
|
|
25
|
-
campaignsStatistics: SubgraphOverallStats | null;
|
|
26
|
-
}>(chainId, GET_OVERALL_STATS_QUERY, { id: CAMPAIGNS_STATISTICS_ID });
|
|
27
|
-
|
|
28
|
-
return mapOverallStatistics(campaignsStatistics);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function mapOraclesStatistics(stats: SubgraphOraclesStats): OraclesStats {
|
|
32
|
-
return {
|
|
33
|
-
...stats,
|
|
34
|
-
nActive: stats ? Number(stats.nActive) : 0,
|
|
35
|
-
nCancelled: stats ? Number(stats.nCancelled) : 0,
|
|
36
|
-
nCompleted: stats ? Number(stats.nCompleted) : 0,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export async function getStatsByOracles(
|
|
41
|
-
chainId: number,
|
|
42
|
-
exchangeOracleAddress: string,
|
|
43
|
-
recordingOracleAddress: string,
|
|
44
|
-
reputationOracleAddress: string,
|
|
45
|
-
): Promise<OraclesStats | null> {
|
|
46
|
-
// Contructing an ID for oraclesCampaignsCounter entity: exchange oracle address + other oracle addresses without 0x
|
|
47
|
-
const id = `${exchangeOracleAddress}${recordingOracleAddress.slice(2)}${reputationOracleAddress.slice(2)}`;
|
|
48
|
-
const { oraclesCampaignsCounter } = await CustomGqlClient.request<{
|
|
49
|
-
oraclesCampaignsCounter: SubgraphOraclesStats | null;
|
|
50
|
-
}>(chainId, GET_ORACLES_STATS_QUERY, { id });
|
|
51
|
-
|
|
52
|
-
if (!oraclesCampaignsCounter) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return mapOraclesStatistics(oraclesCampaignsCounter);
|
|
57
|
-
}
|
package/src/stats/queries.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export const GET_OVERALL_STATS_QUERY = `
|
|
2
|
-
query getOverallStats($id: ID!) {
|
|
3
|
-
campaignsStatistics(id: $id) {
|
|
4
|
-
id
|
|
5
|
-
nActive
|
|
6
|
-
nCancelled
|
|
7
|
-
nCompleted
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
`;
|
|
11
|
-
|
|
12
|
-
export const GET_ORACLES_STATS_QUERY = `
|
|
13
|
-
query getOraclesStats($id: ID!) {
|
|
14
|
-
oraclesCampaignsCounter(id: $id) {
|
|
15
|
-
id
|
|
16
|
-
nActive
|
|
17
|
-
nCancelled
|
|
18
|
-
nCompleted
|
|
19
|
-
exchangeOracleAddress
|
|
20
|
-
recordingOracleAddress
|
|
21
|
-
reputationOracleAddress
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
`;
|
package/src/stats/types.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export type SubgraphOverallStats = {
|
|
2
|
-
id: string;
|
|
3
|
-
nActive: string;
|
|
4
|
-
nCancelled: string;
|
|
5
|
-
nCompleted: string;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export type OverallStats = {
|
|
9
|
-
id: string;
|
|
10
|
-
nActive: number;
|
|
11
|
-
nCancelled: number;
|
|
12
|
-
nCompleted: number;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type SubgraphOraclesStats = {
|
|
16
|
-
id: string;
|
|
17
|
-
exchangeOracleAddress: string;
|
|
18
|
-
recordingOracleAddress: string;
|
|
19
|
-
reputationOracleAddress: string;
|
|
20
|
-
nActive: string;
|
|
21
|
-
nCompleted: string;
|
|
22
|
-
nCancelled: string;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export type OraclesStats = {
|
|
26
|
-
id: string;
|
|
27
|
-
exchangeOracleAddress: string;
|
|
28
|
-
recordingOracleAddress: string;
|
|
29
|
-
reputationOracleAddress: string;
|
|
30
|
-
nActive: number;
|
|
31
|
-
nCompleted: number;
|
|
32
|
-
nCancelled: number;
|
|
33
|
-
};
|