@hu-fi/subgraph-sdk 4.0.0-beta.5 → 4.0.0-beta.7

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.
Files changed (41) hide show
  1. package/dist/campaigns/fetchers.d.ts +0 -1
  2. package/dist/campaigns/helpers.d.ts +0 -1
  3. package/dist/campaigns/queries.d.ts +0 -1
  4. package/dist/campaigns/types.d.ts +0 -1
  5. package/dist/common/constants.d.ts +0 -1
  6. package/dist/common/custom-gql-client.d.ts +0 -1
  7. package/dist/common/errors.d.ts +0 -1
  8. package/dist/common/helpers.d.ts +0 -1
  9. package/dist/common/types.d.ts +0 -1
  10. package/dist/index.d.ts +13 -4
  11. package/dist/index.js.map +1 -1
  12. package/dist/stats/fetchers.d.ts +0 -1
  13. package/dist/stats/queries.d.ts +0 -1
  14. package/dist/stats/types.d.ts +0 -1
  15. package/package.json +2 -3
  16. package/dist/campaigns/fetchers.d.ts.map +0 -1
  17. package/dist/campaigns/helpers.d.ts.map +0 -1
  18. package/dist/campaigns/queries.d.ts.map +0 -1
  19. package/dist/campaigns/types.d.ts.map +0 -1
  20. package/dist/common/constants.d.ts.map +0 -1
  21. package/dist/common/custom-gql-client.d.ts.map +0 -1
  22. package/dist/common/errors.d.ts.map +0 -1
  23. package/dist/common/helpers.d.ts.map +0 -1
  24. package/dist/common/types.d.ts.map +0 -1
  25. package/dist/index.d.ts.map +0 -1
  26. package/dist/stats/fetchers.d.ts.map +0 -1
  27. package/dist/stats/queries.d.ts.map +0 -1
  28. package/dist/stats/types.d.ts.map +0 -1
  29. package/src/campaigns/fetchers.ts +0 -174
  30. package/src/campaigns/helpers.ts +0 -50
  31. package/src/campaigns/queries.ts +0 -112
  32. package/src/campaigns/types.ts +0 -119
  33. package/src/common/constants.ts +0 -22
  34. package/src/common/custom-gql-client.ts +0 -53
  35. package/src/common/errors.ts +0 -11
  36. package/src/common/helpers.ts +0 -6
  37. package/src/common/types.ts +0 -6
  38. package/src/index.ts +0 -22
  39. package/src/stats/fetchers.ts +0 -57
  40. package/src/stats/queries.ts +0 -24
  41. 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
@@ -1,3 +1,2 @@
1
1
  import { CampaignFilters } from './types.js';
2
2
  export declare function prepareFilters(filters: CampaignFilters): Record<string, unknown>;
3
- //# sourceMappingURL=helpers.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
@@ -108,4 +108,3 @@ export type SubgraphBulkTransferEvent = SubgraphBaseEvent & {
108
108
  amounts: string[];
109
109
  };
110
110
  export type CampaignOrderByValue = `${CampaignOrderBy}`;
111
- //# sourceMappingURL=types.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
@@ -5,4 +5,3 @@ export declare class GraphqlClientError extends HufiSdkError {
5
5
  export declare class CustomGqlClient {
6
6
  static request<T>(chainId: number, query: string, variables?: Record<string, unknown>): Promise<T>;
7
7
  }
8
- //# sourceMappingURL=custom-gql-client.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export declare class HufiSdkError extends Error {
2
2
  constructor(message: string, cause?: unknown);
3
3
  }
4
- //# sourceMappingURL=errors.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function convertDateFilterToString(value: Date | number): string;
2
- //# sourceMappingURL=helpers.d.ts.map
@@ -3,4 +3,3 @@ export declare enum OrderDirection {
3
3
  DESC = "desc"
4
4
  }
5
5
  export type OrderDirectionValue = `${OrderDirection}`;
6
- //# sourceMappingURL=types.d.ts.map
package/dist/index.d.ts CHANGED
@@ -3,8 +3,17 @@ export type { OraclesStats, OverallStats } from './stats/types.js';
3
3
  export { GraphqlClientError } from './common/custom-gql-client.js';
4
4
  export { HufiSdkError } from './common/errors.js';
5
5
  export { OrderDirection } from './common/types.js';
6
- import * as campaignFetchers from './campaigns/fetchers.js';
7
- import * as statsFetchers from './stats/fetchers.js';
8
- export declare const subgraphClient: typeof campaignFetchers & typeof statsFetchers;
6
+ export declare const subgraphClient: {
7
+ getOverallStats(chainId: number): Promise<import("./stats/types.js").OverallStats>;
8
+ getStatsByOracles(chainId: number, exchangeOracleAddress: string, recordingOracleAddress: string, reputationOracleAddress: string): Promise<import("./stats/types.js").OraclesStats | null>;
9
+ getCampaign(chainId: number, id: string): Promise<import("./campaigns/types.js").Campaign | null>;
10
+ getCampaigns(chainId: number, options?: {
11
+ first?: number;
12
+ skip?: number;
13
+ filters?: import("./campaigns/types.js").CampaignFilters;
14
+ orderBy?: import("./campaigns/types.js").CampaignOrderByValue;
15
+ orderDirection?: import("./common/types.js").OrderDirectionValue;
16
+ }): Promise<import("./campaigns/types.js").Campaign[]>;
17
+ getCampaignEvents(chainId: number, id: string, since?: number): Promise<import("./campaigns/types.js").CampaignEvent[]>;
18
+ };
9
19
  export default subgraphClient;
10
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,GAIhB,MAAM,sBAAsB,CAAC;AAG9B,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,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,gBAAgB;IACnB,GAAG,aAAa;CACiC,CAAC;AAEpD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,GAIhB,MAAM,sBAAsB,CAAC;AAG9B,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,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,gBAAgB;IACnB,GAAG,aAAa;CACjB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -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
@@ -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
@@ -28,4 +28,3 @@ export type OraclesStats = {
28
28
  nCompleted: number;
29
29
  nCancelled: number;
30
30
  };
31
- //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hu-fi/subgraph-sdk",
3
- "version": "4.0.0-beta.5",
3
+ "version": "4.0.0-beta.7",
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"}
@@ -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
- }
@@ -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
- }
@@ -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
- `;
@@ -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}`;
@@ -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
- }
@@ -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
- }
@@ -1,6 +0,0 @@
1
- export function convertDateFilterToString(value: Date | number): string {
2
- if (value instanceof Date) {
3
- return value.getTime().toString();
4
- }
5
- return value.toString();
6
- }
@@ -1,6 +0,0 @@
1
- export enum OrderDirection {
2
- ASC = 'asc',
3
- DESC = 'desc',
4
- }
5
-
6
- export type OrderDirectionValue = `${OrderDirection}`;
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;
@@ -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
- }
@@ -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
- `;
@@ -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
- };