@merkl/api 1.9.6 → 1.9.8
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/src/eden/index.d.ts +69 -1
- package/dist/src/engine/implementations/ErcMultiToken/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/StabullStaking/metadata.d.ts +1 -1
- package/dist/src/index.d.ts +79 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/jobs/update-user-claim-db.js.map +1 -1
- package/dist/src/modules/v4/cache/cache.service.js.map +1 -1
- package/dist/src/modules/v4/campaign/campaign.query-transformer.d.ts +111 -111
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +1 -1
- package/dist/src/modules/v4/{node/node.utils.d.ts → chain/chain.utils.d.ts} +5 -0
- package/dist/src/modules/v4/chain/chain.utils.js.map +1 -0
- package/dist/src/modules/v4/claims/claims.controller.d.ts +51 -59
- package/dist/src/modules/v4/claims/claims.controller.js.map +1 -1
- package/dist/src/modules/v4/claims/claims.model.d.ts +74 -8
- package/dist/src/modules/v4/claims/claims.model.js.map +1 -1
- package/dist/src/modules/v4/claims/claims.repository.d.ts +45 -3
- package/dist/src/modules/v4/claims/claims.repository.js.map +1 -1
- package/dist/src/modules/v4/claims/claims.service.d.ts +6 -35
- package/dist/src/modules/v4/claims/claims.service.js.map +1 -1
- package/dist/src/modules/v4/legacy-claims/claims.controller.d.ts +115 -0
- package/dist/src/modules/v4/legacy-claims/claims.controller.js.map +1 -0
- package/dist/src/modules/v4/legacy-claims/claims.model.d.ts +9 -0
- package/dist/src/modules/v4/legacy-claims/claims.model.js.map +1 -0
- package/dist/src/modules/v4/legacy-claims/claims.repository.d.ts +5 -0
- package/dist/src/modules/v4/legacy-claims/claims.repository.js.map +1 -0
- package/dist/src/modules/v4/legacy-claims/claims.service.d.ts +38 -0
- package/dist/src/modules/v4/legacy-claims/claims.service.js.map +1 -0
- package/dist/src/modules/v4/node/node.controller.js.map +1 -1
- package/dist/src/modules/v4/node/node.service.d.ts +1 -24
- package/dist/src/modules/v4/node/node.service.js.map +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.query-transformer.d.ts +40 -40
- package/dist/src/modules/v4/programPayload/programPayload.repository.js.map +1 -1
- package/dist/src/modules/v4/router.d.ts +79 -1
- package/dist/src/modules/v4/router.js.map +1 -1
- package/dist/src/utils/parseDistributionType.d.ts +835 -835
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/modules/v4/node/node.utils.js.map +0 -1
|
@@ -41,12 +41,12 @@ export declare abstract class CampaignService {
|
|
|
41
41
|
};
|
|
42
42
|
startTimestamp?: undefined;
|
|
43
43
|
} | {
|
|
44
|
-
endTimestamp?: undefined;
|
|
45
44
|
startTimestamp: {
|
|
46
45
|
lte?: undefined;
|
|
47
46
|
gt: number;
|
|
48
47
|
gte?: undefined;
|
|
49
48
|
};
|
|
49
|
+
endTimestamp?: undefined;
|
|
50
50
|
} | {
|
|
51
51
|
endTimestamp: {
|
|
52
52
|
lt?: undefined;
|
|
@@ -9,3 +9,8 @@ export interface ChainBlockHeight {
|
|
|
9
9
|
* @returns Array of chain IDs with their current block heights
|
|
10
10
|
*/
|
|
11
11
|
export declare function fetchCurrentBlockHeights(chainIds: ChainId[]): Promise<ChainBlockHeight[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Estimate average block time for a chain by sampling recent blocks
|
|
14
|
+
* Returns block time in seconds
|
|
15
|
+
*/
|
|
16
|
+
export declare function estimateBlockTime(chainId: ChainId): Promise<number | null>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.utils.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/chain/chain.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOtD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAmB,EAA+B;IAC/F,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;YAC7E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;IAAA,CACF,CAAC,CAAC;IAEH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAAA,CAC/C;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgB,EAA0B;IAChF,OAAO,YAAY,CAAC,IAAI,CACtB,UAAU,CAAC,MAAM,EACjB,KAAK,EAAE,OAAgB,EAAE,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YAE/D,mDAAmD;YACnD,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,GAAG,UAAU,CAAC,CAAC;YAEtE,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACnD,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACzC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aACxC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YAC/D,MAAM,SAAS,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;YAExD,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEjC,OAAO,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;IAAA,CACF,EACD,OAAO,CACR,CAAC;AAAA,CACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Elysia from "elysia";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const ClaimsController: Elysia<"/claims", {
|
|
3
3
|
decorator: {};
|
|
4
4
|
store: {};
|
|
5
5
|
derive: {};
|
|
@@ -16,61 +16,69 @@ export declare const ClaimController: Elysia<"/claims", {
|
|
|
16
16
|
response: {};
|
|
17
17
|
}, {
|
|
18
18
|
claims: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
message?: string | undefined;
|
|
54
|
-
found?: unknown;
|
|
55
|
-
property?: string | undefined;
|
|
56
|
-
expected?: string | undefined;
|
|
57
|
-
};
|
|
19
|
+
get: {
|
|
20
|
+
body: unknown;
|
|
21
|
+
params: {};
|
|
22
|
+
query: {
|
|
23
|
+
chainId?: number | undefined;
|
|
24
|
+
recipient?: string | undefined;
|
|
25
|
+
campaignId?: string | undefined;
|
|
26
|
+
token?: string | undefined;
|
|
27
|
+
root?: string | undefined;
|
|
28
|
+
};
|
|
29
|
+
headers: unknown;
|
|
30
|
+
response: {
|
|
31
|
+
200: {
|
|
32
|
+
id: string;
|
|
33
|
+
chainId: number;
|
|
34
|
+
recipient: string;
|
|
35
|
+
blockNumber: number;
|
|
36
|
+
timestamp: number;
|
|
37
|
+
token: string;
|
|
38
|
+
campaignId: string;
|
|
39
|
+
reason: string;
|
|
40
|
+
root: string;
|
|
41
|
+
amount: string;
|
|
42
|
+
metadata: any;
|
|
43
|
+
isLatest: boolean;
|
|
44
|
+
}[];
|
|
45
|
+
422: {
|
|
46
|
+
type: "validation";
|
|
47
|
+
on: string;
|
|
48
|
+
summary?: string | undefined;
|
|
49
|
+
message?: string | undefined;
|
|
50
|
+
found?: unknown;
|
|
51
|
+
property?: string | undefined;
|
|
52
|
+
expected?: string | undefined;
|
|
58
53
|
};
|
|
59
54
|
};
|
|
60
55
|
};
|
|
61
56
|
};
|
|
62
57
|
} & {
|
|
63
58
|
claims: {
|
|
64
|
-
|
|
59
|
+
status: {
|
|
65
60
|
get: {
|
|
66
61
|
body: unknown;
|
|
67
62
|
params: {};
|
|
68
63
|
query: {
|
|
69
|
-
|
|
64
|
+
chainIds?: number[] | undefined;
|
|
70
65
|
};
|
|
71
66
|
headers: unknown;
|
|
72
67
|
response: {
|
|
73
|
-
200:
|
|
68
|
+
200: {
|
|
69
|
+
[x: number]: {
|
|
70
|
+
chainId: number;
|
|
71
|
+
sources: {
|
|
72
|
+
sourceId: string;
|
|
73
|
+
chainId: number;
|
|
74
|
+
currentBlock: number;
|
|
75
|
+
lastFetchedBlock: number;
|
|
76
|
+
blockDifference: number;
|
|
77
|
+
claimCount: number;
|
|
78
|
+
timeBehind: number | null;
|
|
79
|
+
}[];
|
|
80
|
+
};
|
|
81
|
+
};
|
|
74
82
|
422: {
|
|
75
83
|
type: "validation";
|
|
76
84
|
on: string;
|
|
@@ -84,22 +92,6 @@ export declare const ClaimController: Elysia<"/claims", {
|
|
|
84
92
|
};
|
|
85
93
|
};
|
|
86
94
|
};
|
|
87
|
-
} & {
|
|
88
|
-
claims: {
|
|
89
|
-
count: {
|
|
90
|
-
total: {
|
|
91
|
-
get: {
|
|
92
|
-
body: unknown;
|
|
93
|
-
params: {};
|
|
94
|
-
query: unknown;
|
|
95
|
-
headers: unknown;
|
|
96
|
-
response: {
|
|
97
|
-
200: number;
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
95
|
}, {
|
|
104
96
|
derive: {};
|
|
105
97
|
resolve: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.controller.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"claims.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;KAC5F,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;IACpE,KAAK,EAAE,YAAY;IACnB,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAA,CAC3E;IACD,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE;QACN,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EACT,+HAA+H;KAClI;CACF,CAAC;IAEF,iEAAuC;KAEtC,KAAK,CAAC;IACL,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CACvB,CAAC;KAED,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;IACxF,KAAK,EAAE,oBAAoB;IAC3B,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IAAA,CACF;IACD,QAAQ,EAAE,uBAAuB;IACjC,MAAM,EAAE;QACN,WAAW,EACT,4HAA4H;KAC/H;CACF,CAAC,CAAC"}
|
|
@@ -1,9 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { type TSchema } from "elysia";
|
|
2
|
+
import type { ResourceEngine } from "../prisma";
|
|
3
|
+
export type ClaimsV2 = ResourceEngine<"ClaimsV2", "id", {
|
|
4
|
+
metadata: Record<string, unknown> | null;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const GetClaimsDto: import("@sinclair/typebox").TObject<{
|
|
7
|
+
chainId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
8
|
+
recipient: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
|
+
campaignId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
10
|
+
token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
11
|
+
root: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const GetClaimsResponseDto: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
14
|
+
id: import("@sinclair/typebox").TString;
|
|
15
|
+
chainId: import("@sinclair/typebox").TNumber;
|
|
16
|
+
recipient: import("@sinclair/typebox").TString;
|
|
17
|
+
blockNumber: import("@sinclair/typebox").TNumber;
|
|
18
|
+
timestamp: import("@sinclair/typebox").TNumber;
|
|
19
|
+
token: import("@sinclair/typebox").TString;
|
|
20
|
+
campaignId: import("@sinclair/typebox").TString;
|
|
21
|
+
reason: import("@sinclair/typebox").TString;
|
|
22
|
+
root: import("@sinclair/typebox").TString;
|
|
23
|
+
amount: import("@sinclair/typebox").TString;
|
|
24
|
+
metadata: import("@sinclair/typebox").TAny;
|
|
25
|
+
isLatest: import("@sinclair/typebox").TBoolean;
|
|
26
|
+
}>>;
|
|
27
|
+
export type GetClaimsModel = typeof GetClaimsDto.static;
|
|
28
|
+
export declare const ClaimsStatusQueryDto: import("@sinclair/typebox").TObject<{
|
|
29
|
+
chainIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TNumber>>;
|
|
30
|
+
}>;
|
|
31
|
+
export type ClaimsStatusQueryModel = typeof ClaimsStatusQueryDto.static;
|
|
32
|
+
export type ClaimsStatusItemType = {
|
|
33
|
+
sourceId: string;
|
|
34
|
+
chainId: number;
|
|
35
|
+
currentBlock: number;
|
|
36
|
+
lastFetchedBlock: number;
|
|
37
|
+
blockDifference: number;
|
|
38
|
+
claimCount: number;
|
|
39
|
+
timeBehind: number | null;
|
|
9
40
|
};
|
|
41
|
+
export type ClaimsStatusByChainType = Record<number, {
|
|
42
|
+
chainId: number;
|
|
43
|
+
sources: ClaimsStatusItemType[];
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* Wraps a schema in a union with t.Null()
|
|
47
|
+
*/
|
|
48
|
+
export declare function withNull<T extends TSchema>(schema: T): import("@sinclair/typebox").TUnion<[T, import("@sinclair/typebox").TNull]>;
|
|
49
|
+
/**
|
|
50
|
+
* Claims status per source/chain combination
|
|
51
|
+
*/
|
|
52
|
+
export declare const ClaimsStatusItemSchema: import("@sinclair/typebox").TObject<{
|
|
53
|
+
sourceId: import("@sinclair/typebox").TString;
|
|
54
|
+
chainId: import("@sinclair/typebox").TNumber;
|
|
55
|
+
currentBlock: import("@sinclair/typebox").TNumber;
|
|
56
|
+
lastFetchedBlock: import("@sinclair/typebox").TNumber;
|
|
57
|
+
blockDifference: import("@sinclair/typebox").TNumber;
|
|
58
|
+
claimCount: import("@sinclair/typebox").TNumber;
|
|
59
|
+
timeBehind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Response DTO for claims status aggregated by chain
|
|
63
|
+
*/
|
|
64
|
+
export declare const ClaimsStatusResponseDto: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TObject<{
|
|
65
|
+
chainId: import("@sinclair/typebox").TNumber;
|
|
66
|
+
sources: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
67
|
+
sourceId: import("@sinclair/typebox").TString;
|
|
68
|
+
chainId: import("@sinclair/typebox").TNumber;
|
|
69
|
+
currentBlock: import("@sinclair/typebox").TNumber;
|
|
70
|
+
lastFetchedBlock: import("@sinclair/typebox").TNumber;
|
|
71
|
+
blockDifference: import("@sinclair/typebox").TNumber;
|
|
72
|
+
claimCount: import("@sinclair/typebox").TNumber;
|
|
73
|
+
timeBehind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>;
|
|
74
|
+
}>>;
|
|
75
|
+
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.model.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"claims.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,47 @@
|
|
|
1
|
+
import type { ClaimsV2 } from "@package/databases/engine";
|
|
1
2
|
import type { ChainId } from "@package/resources/enums";
|
|
2
|
-
import type {
|
|
3
|
-
export declare class
|
|
4
|
-
static
|
|
3
|
+
import type { GetClaimsModel } from "./claims.model";
|
|
4
|
+
export declare class ClaimsRepository {
|
|
5
|
+
static findMany(query: GetClaimsModel): Promise<ClaimsV2[]>;
|
|
6
|
+
static getClaimsByChains(chainIds?: ChainId[]): Promise<ClaimsV2[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Get all unique sources (distributor addresses) that have entries in ClaimsV2Source
|
|
9
|
+
*/
|
|
10
|
+
static getSources(chainIds?: number[]): Promise<string[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Get all chains for a given source (distributor)
|
|
13
|
+
*/
|
|
14
|
+
static getChainsPerSource(source: string): Promise<number[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Get the last (most recent) block for a chain across all sources
|
|
17
|
+
*/
|
|
18
|
+
static getLastBlockForChain(chainId: ChainId): Promise<{
|
|
19
|
+
id: string;
|
|
20
|
+
chainId: number;
|
|
21
|
+
lastFetchedBlockNumber: number;
|
|
22
|
+
source: string;
|
|
23
|
+
} | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the last (most recent) block for a specific source/chain combination
|
|
26
|
+
*/
|
|
27
|
+
static getLastBlockForSourceChain(source: string, chainId: ChainId): Promise<{
|
|
28
|
+
id: string;
|
|
29
|
+
chainId: number;
|
|
30
|
+
lastFetchedBlockNumber: number;
|
|
31
|
+
source: string;
|
|
32
|
+
} | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Get the oldest claim block for a chain across all sources
|
|
35
|
+
*/
|
|
36
|
+
static getOldestBlockForChain(chainId: ChainId): Promise<number | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Get the oldest claim block for a specific source/chain combination
|
|
39
|
+
* Note: We approximate this by finding the oldest claim timestamp, since ClaimsV2 doesn't have a direct source field
|
|
40
|
+
* We rely on ClaimsV2Source to track which distributor is being monitored
|
|
41
|
+
*/
|
|
42
|
+
static getOldestBlockForSourceChain(_source: string, chainId: ChainId): Promise<number | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Get the count of claims for a specific source/chain combination
|
|
45
|
+
*/
|
|
46
|
+
static getClaimCountForSourceChain(_source: string, chainId: ChainId): Promise<number>;
|
|
5
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claims.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare abstract class ClaimService {
|
|
5
|
-
static getHistoricalClaims(params: UserUniqueModel, chainFilter?: ChainId[]): Promise<(ClaimModel & {
|
|
6
|
-
token?: {
|
|
7
|
-
id: string;
|
|
8
|
-
name: string | null;
|
|
9
|
-
chainId: number;
|
|
10
|
-
address: string;
|
|
11
|
-
decimals: number;
|
|
12
|
-
symbol: string;
|
|
13
|
-
icon: string;
|
|
14
|
-
verified: boolean;
|
|
15
|
-
isNative: boolean;
|
|
16
|
-
isTest: boolean;
|
|
17
|
-
type: "POINT" | "PRETGE" | "TOKEN";
|
|
18
|
-
price?: number | null | undefined;
|
|
19
|
-
updatedAt?: number | null | undefined;
|
|
20
|
-
priceSource?: string | null | undefined;
|
|
21
|
-
displaySymbol?: string | undefined;
|
|
22
|
-
} | undefined;
|
|
23
|
-
})[]>;
|
|
1
|
+
import type { ClaimsStatusByChainType } from "./claims.model";
|
|
2
|
+
export declare abstract class ClaimsService {
|
|
3
|
+
private static getChainStatus;
|
|
24
4
|
/**
|
|
25
|
-
* Get
|
|
26
|
-
*
|
|
27
|
-
* @param startTimestamp - Optional start timestamp (unix seconds) - Not currently used, reserved for future filtering
|
|
28
|
-
* @param endTimestamp - Optional end timestamp (unix seconds) - Not currently used, reserved for future filtering
|
|
29
|
-
* @returns Number of unique addresses that have claimed rewards
|
|
5
|
+
* Get claims status aggregated by chains and sources
|
|
6
|
+
* Returns progress information for all active source/chain combinations
|
|
30
7
|
*/
|
|
31
|
-
static
|
|
32
|
-
/**
|
|
33
|
-
* Get total number of unique claimers across all chains
|
|
34
|
-
* Note: This counts unique claimers per chain and sums them up. A user who has claimed on multiple chains will be counted multiple times.
|
|
35
|
-
* @returns Object with total count (sum of claimers across all chains) and per-chain breakdown
|
|
36
|
-
*/
|
|
37
|
-
static getClaimersCountAcrossChains(startTimestamp?: string, endTimestamp?: string): Promise<number>;
|
|
8
|
+
static getClaimsStatus(filterChainIds?: number[]): Promise<ClaimsStatusByChainType>;
|
|
38
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"claims.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/claims/claims.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import Elysia from "elysia";
|
|
2
|
+
export declare const LegacyClaimController: Elysia<"/claims", {
|
|
3
|
+
decorator: {};
|
|
4
|
+
store: {};
|
|
5
|
+
derive: {};
|
|
6
|
+
resolve: {};
|
|
7
|
+
}, {
|
|
8
|
+
typebox: {};
|
|
9
|
+
error: {};
|
|
10
|
+
}, {
|
|
11
|
+
schema: {};
|
|
12
|
+
standaloneSchema: {};
|
|
13
|
+
macro: {};
|
|
14
|
+
macroFn: {};
|
|
15
|
+
parser: {};
|
|
16
|
+
response: {};
|
|
17
|
+
}, {
|
|
18
|
+
claims: {
|
|
19
|
+
":address": {
|
|
20
|
+
get: {
|
|
21
|
+
body: unknown;
|
|
22
|
+
params: {
|
|
23
|
+
address: string;
|
|
24
|
+
};
|
|
25
|
+
query: {
|
|
26
|
+
chainIds: string[];
|
|
27
|
+
};
|
|
28
|
+
headers: unknown;
|
|
29
|
+
response: {
|
|
30
|
+
200: (import("./claims.model").LegacyClaimModel & {
|
|
31
|
+
token?: {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string | null;
|
|
34
|
+
chainId: number;
|
|
35
|
+
address: string;
|
|
36
|
+
decimals: number;
|
|
37
|
+
symbol: string;
|
|
38
|
+
icon: string;
|
|
39
|
+
verified: boolean;
|
|
40
|
+
isNative: boolean;
|
|
41
|
+
isTest: boolean;
|
|
42
|
+
type: "POINT" | "PRETGE" | "TOKEN";
|
|
43
|
+
price?: number | null | undefined;
|
|
44
|
+
updatedAt?: number | null | undefined;
|
|
45
|
+
priceSource?: string | null | undefined;
|
|
46
|
+
displaySymbol?: string | undefined;
|
|
47
|
+
} | undefined;
|
|
48
|
+
})[];
|
|
49
|
+
422: {
|
|
50
|
+
type: "validation";
|
|
51
|
+
on: string;
|
|
52
|
+
summary?: string | undefined;
|
|
53
|
+
message?: string | undefined;
|
|
54
|
+
found?: unknown;
|
|
55
|
+
property?: string | undefined;
|
|
56
|
+
expected?: string | undefined;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
} & {
|
|
63
|
+
claims: {
|
|
64
|
+
count: {
|
|
65
|
+
get: {
|
|
66
|
+
body: unknown;
|
|
67
|
+
params: {};
|
|
68
|
+
query: {
|
|
69
|
+
chainId: number;
|
|
70
|
+
};
|
|
71
|
+
headers: unknown;
|
|
72
|
+
response: {
|
|
73
|
+
200: number;
|
|
74
|
+
422: {
|
|
75
|
+
type: "validation";
|
|
76
|
+
on: string;
|
|
77
|
+
summary?: string | undefined;
|
|
78
|
+
message?: string | undefined;
|
|
79
|
+
found?: unknown;
|
|
80
|
+
property?: string | undefined;
|
|
81
|
+
expected?: string | undefined;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
} & {
|
|
88
|
+
claims: {
|
|
89
|
+
count: {
|
|
90
|
+
total: {
|
|
91
|
+
get: {
|
|
92
|
+
body: unknown;
|
|
93
|
+
params: {};
|
|
94
|
+
query: unknown;
|
|
95
|
+
headers: unknown;
|
|
96
|
+
response: {
|
|
97
|
+
200: number;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
}, {
|
|
104
|
+
derive: {};
|
|
105
|
+
resolve: {};
|
|
106
|
+
schema: {};
|
|
107
|
+
standaloneSchema: {};
|
|
108
|
+
response: {};
|
|
109
|
+
}, {
|
|
110
|
+
derive: {};
|
|
111
|
+
resolve: {};
|
|
112
|
+
schema: {};
|
|
113
|
+
standaloneSchema: {};
|
|
114
|
+
response: {};
|
|
115
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/legacy-claims/claims.controller.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,mMAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAElG,uKAAyE;KAExE,GAAG,CACF,WAAW,EACX,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC7G;IACE,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,qBAAqB;IAC5B,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC;IAAA,CACF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,iGAAiG;KAC/G;CACF,CACF;KAEA,GAAG,CACF,QAAQ,EACR,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,EAC7G;IACE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC,EAAE,CAAC;IACzF,MAAM,EAAE,EAAE,WAAW,EAAE,iEAAiE,EAAE;CAC3F,CACF;KAEA,GAAG,CACF,cAAc,EACd,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,4BAA4B,CAAC,EACjG;IACE,MAAM,EAAE,EAAE,WAAW,EAAE,+DAA+D,EAAE;CACzF,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/legacy-claims/claims.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/legacy-claims/claims.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,OAAO,qBAAqB;IAChC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE,OAAe,EAAE;QACpD,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CACL,MAAM,OAAO,CAGX,4BAA4B,CAAC,OAAO,CAAC;YACrC,mEAAmE;YACnE,GAAG,CAAA;;;;;;;;;;;;KAYR,EACK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CACjC,CACF,CAAC,WAAW,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CACL,MAAM,OAAO,CAGX,4BAA4B,CAAC,OAAO,CAAC;YACrC,mEAAmE;YACnE,GAAG,CAAA;;;;;;;;;;;OAWN,EACG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CACjC,CACF,CAAC,WAAW,CAAC;QAChB,CAAC;IAAA,CACF;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ChainId } from "@package/resources/enums";
|
|
2
|
+
import type { UserUniqueModel } from "../../../modules/v4/user/user.model";
|
|
3
|
+
import type { LegacyClaimModel } from "./claims.model";
|
|
4
|
+
export declare abstract class LegacyClaimService {
|
|
5
|
+
static getHistoricalClaims(params: UserUniqueModel, chainFilter?: ChainId[]): Promise<(LegacyClaimModel & {
|
|
6
|
+
token?: {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string | null;
|
|
9
|
+
chainId: number;
|
|
10
|
+
address: string;
|
|
11
|
+
decimals: number;
|
|
12
|
+
symbol: string;
|
|
13
|
+
icon: string;
|
|
14
|
+
verified: boolean;
|
|
15
|
+
isNative: boolean;
|
|
16
|
+
isTest: boolean;
|
|
17
|
+
type: "POINT" | "PRETGE" | "TOKEN";
|
|
18
|
+
price?: number | null | undefined;
|
|
19
|
+
updatedAt?: number | null | undefined;
|
|
20
|
+
priceSource?: string | null | undefined;
|
|
21
|
+
displaySymbol?: string | undefined;
|
|
22
|
+
} | undefined;
|
|
23
|
+
})[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Get total number of unique claimers on a chain by querying the Reward table
|
|
26
|
+
* @param chainId - The chain to query
|
|
27
|
+
* @param startTimestamp - Optional start timestamp (unix seconds) - Not currently used, reserved for future filtering
|
|
28
|
+
* @param endTimestamp - Optional end timestamp (unix seconds) - Not currently used, reserved for future filtering
|
|
29
|
+
* @returns Number of unique addresses that have claimed rewards
|
|
30
|
+
*/
|
|
31
|
+
static getClaimersCount(chainId: ChainId, beforeTimestamp?: string, afterTimestamp?: string): Promise<number>;
|
|
32
|
+
/**
|
|
33
|
+
* Get total number of unique claimers across all chains
|
|
34
|
+
* Note: This counts unique claimers per chain and sums them up. A user who has claimed on multiple chains will be counted multiple times.
|
|
35
|
+
* @returns Object with total count (sum of claimers across all chains) and per-chain breakdown
|
|
36
|
+
*/
|
|
37
|
+
static getClaimersCountAcrossChains(startTimestamp?: string, endTimestamp?: string): Promise<number>;
|
|
38
|
+
}
|