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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { type OrderDirectionValue } from '../common/types.js';
2
- import { type CampaignEvent, type CampaignOrderByValue, type Campaign, type CampaignFilters } from './types.js';
2
+ import { type CampaignEvent, type CampaignOrderByValue, type Campaign, type CampaignFilters, type CampaignEventFilters, type CampaignEventOrderByValue } from './types.js';
3
3
  export declare function getCampaign(chainId: number, id: string): Promise<Campaign | null>;
4
4
  export declare function getCampaigns(chainId: number, options?: {
5
5
  first?: number;
@@ -8,4 +8,10 @@ export declare function getCampaigns(chainId: number, options?: {
8
8
  orderBy?: CampaignOrderByValue;
9
9
  orderDirection?: OrderDirectionValue;
10
10
  }): Promise<Campaign[]>;
11
- export declare function getCampaignEvents(chainId: number, id: string, since?: number): Promise<CampaignEvent[]>;
11
+ export declare function getCampaignEvents(chainId: number, options?: {
12
+ first?: number;
13
+ skip?: number;
14
+ filters?: CampaignEventFilters;
15
+ orderBy?: CampaignEventOrderByValue;
16
+ orderDirection?: OrderDirectionValue;
17
+ }): Promise<CampaignEvent[] | null>;
@@ -1,9 +1,9 @@
1
1
  import { DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE } from '../common/constants.js';
2
2
  import { CustomGqlClient } from '../common/custom-gql-client.js';
3
3
  import { OrderDirection } from '../common/types.js';
4
- import { prepareFilters } from './helpers.js';
5
- import { GET_CAMPAIGN_QUERY, GET_CAMPAIGNS_QUERY, GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY, GET_CAMPAIGN_CANCEL_EVENT_QUERY, GET_CAMPAIGN_COMPLETE_EVENT_QUERY, GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY, GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY, } from './queries.js';
6
- import { CampaignOrderBy, CampaignEventType, } from './types.js';
4
+ import { prepareCampaignFilters, prepareCampaignEventFilters, } from './helpers.js';
5
+ import { GET_CAMPAIGN_QUERY, GET_CAMPAIGNS_QUERY, GET_CAMPAIGN_EVENTS_QUERY, } from './queries.js';
6
+ import { CampaignOrderBy, CampaignEventOrderBy, } from './types.js';
7
7
  function mapCampaign(campaign) {
8
8
  return {
9
9
  ...campaign,
@@ -22,37 +22,6 @@ function mapCampaign(campaign) {
22
22
  finalizedAt: campaign.finalizedAt ? Number(campaign.finalizedAt) : null,
23
23
  };
24
24
  }
25
- function mapCampaignEvent(type, subgraphEvent) {
26
- let details;
27
- switch (type) {
28
- case CampaignEventType.INTERMEDIATE_RESULTS: {
29
- const event = subgraphEvent;
30
- details = {
31
- url: event.url,
32
- hash: event.hash,
33
- };
34
- break;
35
- }
36
- case CampaignEventType.BULK_PAYOUT: {
37
- const event = subgraphEvent;
38
- details = {
39
- url: event.url,
40
- hash: event.hash,
41
- recipients: event.recipients,
42
- amounts: event.amounts,
43
- };
44
- break;
45
- }
46
- default:
47
- details = {};
48
- }
49
- return {
50
- type: type,
51
- campaign: subgraphEvent.id,
52
- timestamp: Number(subgraphEvent.createdAt),
53
- details,
54
- };
55
- }
56
25
  export async function getCampaign(chainId, id) {
57
26
  const { campaign } = await CustomGqlClient.request(chainId, GET_CAMPAIGN_QUERY, { id });
58
27
  if (!campaign) {
@@ -69,37 +38,21 @@ export async function getCampaigns(chainId, options = {}) {
69
38
  };
70
39
  const { campaigns } = await CustomGqlClient.request(chainId, GET_CAMPAIGNS_QUERY, {
71
40
  ...paginationOptions,
72
- where: prepareFilters(options.filters || {}),
41
+ where: prepareCampaignFilters(options.filters || {}),
73
42
  });
74
43
  return campaigns.map(mapCampaign);
75
44
  }
76
- export async function getCampaignEvents(chainId, id, since) {
77
- try {
78
- // 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
79
- const eventPromises = {
80
- [CampaignEventType.CANCELLATION_REQUESTED]: CustomGqlClient.request(chainId, GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY, { id }),
81
- [CampaignEventType.CANCEL]: CustomGqlClient.request(chainId, GET_CAMPAIGN_CANCEL_EVENT_QUERY, { id }),
82
- [CampaignEventType.COMPLETE]: CustomGqlClient.request(chainId, GET_CAMPAIGN_COMPLETE_EVENT_QUERY, { id }),
83
- [CampaignEventType.INTERMEDIATE_RESULTS]: CustomGqlClient.request(chainId, GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY, { id }),
84
- [CampaignEventType.BULK_PAYOUT]: CustomGqlClient.request(chainId, GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY, { id }),
85
- };
86
- await Promise.all(Object.values(eventPromises));
87
- const results = [];
88
- for (const [eventType, promise] of Object.entries(eventPromises)) {
89
- const result = await promise;
90
- if (!result.campaignEvent) {
91
- continue;
92
- }
93
- if (since && result.campaignEvent.createdAt < since) {
94
- continue;
95
- }
96
- results.push(mapCampaignEvent(eventType, result.campaignEvent));
97
- }
98
- return results.sort((a, b) => a.timestamp - b.timestamp);
99
- }
100
- catch (error) {
101
- console.error('Error fetching campaign events', { error });
102
- throw new Error('Error fetching campaign events');
103
- }
45
+ export async function getCampaignEvents(chainId, options = {}) {
46
+ const paginationOptions = {
47
+ first: Math.min(options.first || DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE),
48
+ skip: options.skip || 0,
49
+ orderBy: options.orderBy || CampaignEventOrderBy.CREATED_AT,
50
+ orderDirection: options.orderDirection || OrderDirection.ASC,
51
+ };
52
+ const { campaignEvents } = await CustomGqlClient.request(chainId, GET_CAMPAIGN_EVENTS_QUERY, {
53
+ ...paginationOptions,
54
+ where: prepareCampaignEventFilters(options.filters || {}),
55
+ });
56
+ return campaignEvents;
104
57
  }
105
58
  //# sourceMappingURL=fetchers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchers.js","sourceRoot":"","sources":["../../src/campaigns/fetchers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchers.js","sourceRoot":"","sources":["../../src/campaigns/fetchers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- import { CampaignFilters } from './types.js';
2
- export declare function prepareFilters(filters: CampaignFilters): Record<string, unknown>;
1
+ import { CampaignEventFilters, CampaignFilters } from './types.js';
2
+ export declare function prepareCampaignFilters(filters: CampaignFilters): Record<string, unknown>;
3
+ export declare function prepareCampaignEventFilters(filters: CampaignEventFilters): Record<string, unknown>;
@@ -1,5 +1,5 @@
1
1
  import { convertDateFilterToString } from '../common/helpers.js';
2
- export function prepareFilters(filters) {
2
+ export function prepareCampaignFilters(filters) {
3
3
  const preparedFilters = {};
4
4
  if (filters.startDate_gte) {
5
5
  preparedFilters.startDate_gte = convertDateFilterToString(filters.startDate_gte);
@@ -24,4 +24,17 @@ export function prepareFilters(filters) {
24
24
  ...preparedFilters,
25
25
  };
26
26
  }
27
+ export function prepareCampaignEventFilters(filters) {
28
+ const preparedFilters = {};
29
+ if (filters.createdAt_gte) {
30
+ preparedFilters.createdAt_gte = convertDateFilterToString(filters.createdAt_gte);
31
+ }
32
+ if (filters.createdAt_lte) {
33
+ preparedFilters.createdAt_lte = convertDateFilterToString(filters.createdAt_lte);
34
+ }
35
+ return {
36
+ ...filters,
37
+ ...preparedFilters,
38
+ };
39
+ }
27
40
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/campaigns/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,MAAM,UAAU,cAAc,CAC5B,OAAwB;IAExB,MAAM,eAAe,GAA4B,EAAE,CAAC;IAEpD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,eAAe,CAAC,WAAW,GAAG,yBAAyB,CACrD,OAAO,CAAC,WAAW,CACpB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,eAAe,CAAC,WAAW,GAAG,yBAAyB,CACrD,OAAO,CAAC,WAAW,CACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/campaigns/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,MAAM,UAAU,sBAAsB,CACpC,OAAwB;IAExB,MAAM,eAAe,GAA4B,EAAE,CAAC;IAEpD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,eAAe,CAAC,WAAW,GAAG,yBAAyB,CACrD,OAAO,CAAC,WAAW,CACpB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,eAAe,CAAC,WAAW,GAAG,yBAAyB,CACrD,OAAO,CAAC,WAAW,CACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA6B;IAE7B,MAAM,eAAe,GAA4B,EAAE,CAAC;IAEpD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,eAAe,CAAC,aAAa,GAAG,yBAAyB,CACvD,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC"}
@@ -1,7 +1,3 @@
1
1
  export declare const GET_CAMPAIGN_QUERY = "\n query getCampaign($id: Bytes!) {\n campaign(id: $id) {\n ...CampaignFields\n }\n }\n \n fragment CampaignFields on Campaign {\n id\n status\n factoryAddress\n creatorAddress\n fundTokenAddress\n fundAmount\n currentBalance\n rewardsDistributed\n manifest\n exchange\n type\n symbol\n startDate\n endDate\n exchangeOracleAddress\n recordingOracleAddress\n reputationOracleAddress\n exchangeOracleFee\n recordingOracleFee\n reputationOracleFee\n intermediateResultsUrl\n intermediateResultsHash\n finalResultsUrl\n finalResultsHash\n createdAt\n cancellationRequestedAt\n finalizedAt\n }\n\n";
2
2
  export declare const GET_CAMPAIGNS_QUERY = "\n query getCampaigns(\n $first: Int!\n $skip: Int!\n $where: Campaign_filter\n $orderBy: Campaign_orderBy\n $orderDirection: OrderDirection\n ) {\n campaigns(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n ...CampaignFields\n }\n }\n \n fragment CampaignFields on Campaign {\n id\n status\n factoryAddress\n creatorAddress\n fundTokenAddress\n fundAmount\n currentBalance\n rewardsDistributed\n manifest\n exchange\n type\n symbol\n startDate\n endDate\n exchangeOracleAddress\n recordingOracleAddress\n reputationOracleAddress\n exchangeOracleFee\n recordingOracleFee\n reputationOracleFee\n intermediateResultsUrl\n intermediateResultsHash\n finalResultsUrl\n finalResultsHash\n createdAt\n cancellationRequestedAt\n finalizedAt\n }\n\n";
3
- export declare const GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY = "\n query getCancellationRequestedEvent($id: Bytes!) {\n campaignEvent: cancellationRequestedEvent(id: $id) {\n id\n createdAt\n }\n }\n";
4
- export declare const GET_CAMPAIGN_CANCEL_EVENT_QUERY = "\n query getCancelEvent($id: Bytes!) {\n campaignEvent: cancelEvent(id: $id) {\n id\n createdAt\n }\n }\n";
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
- 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
- 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";
3
+ export declare const GET_CAMPAIGN_EVENTS_QUERY = "\n query getCampaignEvents(\n $first: Int!\n $skip: Int!\n $where: CampaignEvent_filter\n $orderBy: CampaignEvent_orderBy\n $orderDirection: OrderDirection\n ) {\n campaignEvents(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n ...CampaignEventFields\n }\n }\n \n fragment CampaignEventFields on CampaignEvent {\n id\n campaign\n type\n createdAt\n url\n hash\n recipients\n amounts\n }\n\n";
@@ -29,6 +29,18 @@ const CAMPAIGN_FRAGMENT = `
29
29
  finalizedAt
30
30
  }
31
31
  `;
32
+ const CAMPAIGN_EVENT_FRAGMENT = `
33
+ fragment CampaignEventFields on CampaignEvent {
34
+ id
35
+ campaign
36
+ type
37
+ createdAt
38
+ url
39
+ hash
40
+ recipients
41
+ amounts
42
+ }
43
+ `;
32
44
  export const GET_CAMPAIGN_QUERY = `
33
45
  query getCampaign($id: Bytes!) {
34
46
  campaign(id: $id) {
@@ -57,50 +69,24 @@ export const GET_CAMPAIGNS_QUERY = `
57
69
  }
58
70
  ${CAMPAIGN_FRAGMENT}
59
71
  `;
60
- export const GET_CAMPAIGN_REQUESTED_CANCELLATION_EVENT_QUERY = `
61
- query getCancellationRequestedEvent($id: Bytes!) {
62
- campaignEvent: cancellationRequestedEvent(id: $id) {
63
- id
64
- createdAt
65
- }
66
- }
67
- `;
68
- export const GET_CAMPAIGN_CANCEL_EVENT_QUERY = `
69
- query getCancelEvent($id: Bytes!) {
70
- campaignEvent: cancelEvent(id: $id) {
71
- id
72
- createdAt
73
- }
74
- }
75
- `;
76
- export const GET_CAMPAIGN_COMPLETE_EVENT_QUERY = `
77
- query getCompleteEvent($id: Bytes!) {
78
- campaignEvent: completeEvent(id: $id) {
79
- id
80
- createdAt
81
- }
82
- }
83
- `;
84
- export const GET_CAMPAIGN_BULK_TRANSFER_EVENT_QUERY = `
85
- query getBulkTransferEvent($id: Bytes!) {
86
- campaignEvent: bulkTransferEvent(id: $id) {
87
- id
88
- createdAt
89
- url
90
- hash
91
- recipients
92
- amounts
93
- }
94
- }
95
- `;
96
- export const GET_CAMPAIGN_INTERMEDIATE_RESULTS_EVENT_QUERY = `
97
- query getIntermediateResultsEvent($id: Bytes!) {
98
- campaignEvent: intermediateResultsEvent(id: $id) {
99
- id
100
- createdAt
101
- url
102
- hash
72
+ export const GET_CAMPAIGN_EVENTS_QUERY = `
73
+ query getCampaignEvents(
74
+ $first: Int!
75
+ $skip: Int!
76
+ $where: CampaignEvent_filter
77
+ $orderBy: CampaignEvent_orderBy
78
+ $orderDirection: OrderDirection
79
+ ) {
80
+ campaignEvents(
81
+ first: $first
82
+ skip: $skip
83
+ where: $where
84
+ orderBy: $orderBy
85
+ orderDirection: $orderDirection
86
+ ) {
87
+ ...CampaignEventFields
103
88
  }
104
89
  }
90
+ ${CAMPAIGN_EVENT_FRAGMENT}
105
91
  `;
106
92
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/campaigns/queries.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BzB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;IAM9B,iBAAiB;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;IAkB/B,iBAAiB;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,+CAA+C,GAAG;;;;;;;CAO9D,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;CAO9C,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;;;CAOhD,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG;;;;;;;;;;;CAWrD,CAAC;AAEF,MAAM,CAAC,MAAM,6CAA6C,GAAG;;;;;;;;;CAS5D,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/campaigns/queries.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BzB,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;CAW/B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;IAM9B,iBAAiB;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;IAkB/B,iBAAiB;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;IAkBrC,uBAAuB;CAC1B,CAAC"}
@@ -88,23 +88,23 @@ export declare enum CampaignEventType {
88
88
  COMPLETE = "complete"
89
89
  }
90
90
  export type CampaignEvent = {
91
- type: CampaignEventType;
92
- campaign: string;
93
- timestamp: number;
94
- details: Record<string, unknown>;
95
- };
96
- export type SubgraphBaseEvent = {
97
91
  id: string;
92
+ campaign: string;
93
+ type: CampaignEventType;
98
94
  createdAt: number;
99
- };
100
- export type SubgraphIntermediateResultsEvent = SubgraphBaseEvent & {
101
- url: string;
95
+ url: string | null;
102
96
  hash: string | null;
97
+ recipients: string[] | null;
98
+ amounts: string[] | null;
103
99
  };
104
- export type SubgraphBulkTransferEvent = SubgraphBaseEvent & {
105
- url: string;
106
- hash: string | null;
107
- recipients: string[];
108
- amounts: string[];
100
+ export type CampaignEventFilters = {
101
+ campaign?: string;
102
+ createdAt_gte?: Date | number;
103
+ createdAt_lte?: Date | number;
104
+ type_in?: CampaignEventType[];
109
105
  };
106
+ export declare enum CampaignEventOrderBy {
107
+ CREATED_AT = "createdAt"
108
+ }
110
109
  export type CampaignOrderByValue = `${CampaignOrderBy}`;
110
+ export type CampaignEventOrderByValue = `${CampaignEventOrderBy}`;
@@ -14,4 +14,8 @@ export var CampaignEventType;
14
14
  CampaignEventType["BULK_PAYOUT"] = "bulkPayout";
15
15
  CampaignEventType["COMPLETE"] = "complete";
16
16
  })(CampaignEventType || (CampaignEventType = {}));
17
+ export var CampaignEventOrderBy;
18
+ (function (CampaignEventOrderBy) {
19
+ CampaignEventOrderBy["CREATED_AT"] = "createdAt";
20
+ })(CampaignEventOrderBy || (CampaignEventOrderBy = {}));
17
21
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/campaigns/types.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,2CAAwB,CAAA;IACxB,2CAAwB,CAAA;IACxB,uCAAoB,CAAA;IACpB,6CAA0B,CAAA;IAC1B,qDAAkC,CAAA;AACpC,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,qEAAgD,CAAA;IAChD,sCAAiB,CAAA;IACjB,iEAA4C,CAAA;IAC5C,+CAA0B,CAAA;IAC1B,0CAAqB,CAAA;AACvB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/campaigns/types.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,2CAAwB,CAAA;IACxB,2CAAwB,CAAA;IACxB,uCAAoB,CAAA;IACpB,6CAA0B,CAAA;IAC1B,qDAAkC,CAAA;AACpC,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,qEAAgD,CAAA;IAChD,sCAAiB,CAAA;IACjB,iEAA4C,CAAA;IAC5C,+CAA0B,CAAA;IAC1B,0CAAqB,CAAA;AACvB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAoBD,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,gDAAwB,CAAA;AAC1B,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B"}
@@ -6,10 +6,10 @@ export var ChainId;
6
6
  ChainId[ChainId["ETHEREUM_SEPOLIA"] = 11155111] = "ETHEREUM_SEPOLIA";
7
7
  })(ChainId || (ChainId = {}));
8
8
  export const SubgraphUrlByChain = {
9
- [ChainId.POLYGON]: 'https://gateway.thegraph.com/api/deployments/id/QmewMWCMoR2sTnWhHe4eoo7UsNSAkEpLAsSFUwH5X2pfei',
10
- [ChainId.POLYGON_AMOY]: 'https://gateway.thegraph.com/api/deployments/id/QmdjGSysyv9a56kmbDqmAuPsdVR7W86g3A6ZChUEmXQ9Dr',
11
- [ChainId.ETHEREUM]: 'https://gateway.thegraph.com/api/deployments/id/Qmb6hMTh3yhZTdN2Zn8b4F9Sif9fufBMqB9iQiUW7kQFgx',
12
- [ChainId.ETHEREUM_SEPOLIA]: 'https://gateway.thegraph.com/api/deployments/id/QmQxWJ5WbuTmrKvKsLcKpVKyTEYUpsxwdkkDZxSz8Twoxo',
9
+ [ChainId.POLYGON]: 'https://gateway.thegraph.com/api/deployments/id/QmRtKyAMPPs3ABGpFZSSZTdB3je3wRJwaAtAjRRGB9obk3',
10
+ [ChainId.POLYGON_AMOY]: 'https://gateway.thegraph.com/api/deployments/id/QmQcSRJBCZKFYTc3ciSJK5Vc5DiWoXmccrR6NFUm8DiuVQ',
11
+ [ChainId.ETHEREUM]: 'https://gateway.thegraph.com/api/deployments/id/QmWpD6Atge4Xu78dosYhumHUC4BVWRaq3NLLGYvVjgAnr5',
12
+ [ChainId.ETHEREUM_SEPOLIA]: 'https://gateway.thegraph.com/api/deployments/id/QmYCXPiE2gcETmWrixK8B9yYmHAYqLvCW7KFy3AusfxNK8',
13
13
  };
14
14
  export const MAX_PAGE_SIZE = 1000;
15
15
  export const DEFAULT_PAGE_SIZE = 100;
package/dist/index.d.ts CHANGED
@@ -14,6 +14,12 @@ export declare const subgraphClient: {
14
14
  orderBy?: import("./campaigns/types.js").CampaignOrderByValue;
15
15
  orderDirection?: import("./common/types.js").OrderDirectionValue;
16
16
  }): Promise<import("./campaigns/types.js").Campaign[]>;
17
- getCampaignEvents(chainId: number, id: string, since?: number): Promise<import("./campaigns/types.js").CampaignEvent[]>;
17
+ getCampaignEvents(chainId: number, options?: {
18
+ first?: number;
19
+ skip?: number;
20
+ filters?: import("./campaigns/types.js").CampaignEventFilters;
21
+ orderBy?: import("./campaigns/types.js").CampaignEventOrderByValue;
22
+ orderDirection?: import("./common/types.js").OrderDirectionValue;
23
+ }): Promise<import("./campaigns/types.js").CampaignEvent[] | null>;
18
24
  };
19
25
  export default subgraphClient;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hu-fi/subgraph-sdk",
3
- "version": "4.0.0-beta.7",
3
+ "version": "5.0.0-beta.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,7 +37,6 @@
37
37
  "globals": "^17.6.0",
38
38
  "prettier": "^3.8.1",
39
39
  "tsc-alias": "^1.8.16",
40
- "tsconfig-paths": "^4.2.0",
41
40
  "tsx": "^4.22.3",
42
41
  "typescript": "^6.0.3",
43
42
  "typescript-eslint": "^8.59.4"