@merkl/api 1.13.26 → 1.13.28

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 (43) hide show
  1. package/dist/src/eden/index.d.ts +378 -4
  2. package/dist/src/engine/implementations/DolomiteNetLending/metadata.d.ts +18 -0
  3. package/dist/src/engine/implementations/DolomiteNetLending/metadata.js.map +1 -0
  4. package/dist/src/engine/implementations/clamm/tvl.abstract.d.ts +1 -1
  5. package/dist/src/engine/metadata/factory.js.map +1 -1
  6. package/dist/src/engine/tvl/factory.js.map +1 -1
  7. package/dist/src/index.d.ts +421 -2
  8. package/dist/src/modules/v4/block-timestamp/block-timestamp.controller.d.ts +36 -0
  9. package/dist/src/modules/v4/block-timestamp/block-timestamp.controller.js.map +1 -1
  10. package/dist/src/modules/v4/block-timestamp/block-timestamp.model.d.ts +19 -0
  11. package/dist/src/modules/v4/block-timestamp/block-timestamp.model.js.map +1 -1
  12. package/dist/src/modules/v4/block-timestamp/block-timestamp.repository.d.ts +15 -0
  13. package/dist/src/modules/v4/block-timestamp/block-timestamp.repository.js.map +1 -1
  14. package/dist/src/modules/v4/block-timestamp/block-timestamp.service.d.ts +10 -0
  15. package/dist/src/modules/v4/block-timestamp/block-timestamp.service.js.map +1 -1
  16. package/dist/src/modules/v4/campaign/campaign.query-transformer.d.ts +85 -85
  17. package/dist/src/modules/v4/clamm/clamm.controller.d.ts +2 -2
  18. package/dist/src/modules/v4/diff/diff.controller.d.ts +412 -0
  19. package/dist/src/modules/v4/diff/diff.controller.js.map +1 -0
  20. package/dist/src/modules/v4/diff/diff.model.d.ts +65 -0
  21. package/dist/src/modules/v4/diff/diff.model.js.map +1 -0
  22. package/dist/src/modules/v4/diff/diff.repository.d.ts +196 -0
  23. package/dist/src/modules/v4/diff/diff.repository.js.map +1 -0
  24. package/dist/src/modules/v4/diff/diff.service.d.ts +108 -0
  25. package/dist/src/modules/v4/diff/diff.service.js.map +1 -0
  26. package/dist/src/modules/v4/leaf/leaf.model.d.ts +27 -0
  27. package/dist/src/modules/v4/leaf/leaf.model.js.map +1 -1
  28. package/dist/src/modules/v4/leaf/leaf.repository.d.ts +252 -4
  29. package/dist/src/modules/v4/leaf/leaf.repository.js.map +1 -1
  30. package/dist/src/modules/v4/leaf/leaf.service.d.ts +20 -138
  31. package/dist/src/modules/v4/leaf/leaf.service.js.map +1 -1
  32. package/dist/src/modules/v4/node/nodeStatus.service.d.ts +1 -1
  33. package/dist/src/modules/v4/node/nodeStatus.service.js.map +1 -1
  34. package/dist/src/modules/v4/opportunity/opportunity.query-transformer.d.ts +56 -56
  35. package/dist/src/modules/v4/reward/reward.service.js.map +1 -1
  36. package/dist/src/modules/v4/router.d.ts +421 -2
  37. package/dist/src/modules/v4/router.js.map +1 -1
  38. package/dist/src/modules/v4/transaction/transaction.service.d.ts +2793 -483
  39. package/dist/src/scripts/meta-leaf-migration-safety.js.map +1 -1
  40. package/dist/src/utils/getAPR.d.ts +1158 -3
  41. package/dist/src/utils/parseDistributionType.d.ts +1158 -3
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,196 @@
1
+ import { Prisma } from "@package/databases/api";
2
+ export declare abstract class DiffRepository {
3
+ /** Build where clause for DiffBreakdown queries */
4
+ static buildBreakdownWhere(params: {
5
+ distributionChainId: number;
6
+ root: string;
7
+ tokenAddress?: string;
8
+ campaignId?: string;
9
+ recipient?: string;
10
+ }): Prisma.DiffBreakdownWhereInput;
11
+ /** Paginated DiffBreakdown rows with sorting (numeric-aware for amount/claimed/unclaimed) */
12
+ static findManyBreakdowns(params: {
13
+ chainId: number;
14
+ root: string;
15
+ tokenAddress?: string;
16
+ campaignId?: string;
17
+ recipient?: string;
18
+ }, pagination: {
19
+ take?: number;
20
+ skip?: number;
21
+ }, sort?: string, order?: "asc" | "desc"): Promise<{
22
+ distributionChainId: number;
23
+ tokenAddress: string;
24
+ recipient: string;
25
+ campaignId: string;
26
+ reason: string;
27
+ root: string;
28
+ amount: string;
29
+ claimed: string;
30
+ lastProcessedTimestamp: number;
31
+ createdAt: number | null;
32
+ publishAfterTimestamp: number | null;
33
+ merged: boolean;
34
+ mergedAt: Date | null;
35
+ }[]>;
36
+ /** Count DiffBreakdown rows matching filters */
37
+ static countBreakdowns(where: Prisma.DiffBreakdownWhereInput): Promise<number>;
38
+ /** Group DiffBreakdown rows by merged status */
39
+ static groupByMergedBreakdowns(where: Prisma.DiffBreakdownWhereInput): Promise<(import("@prisma/client/runtime/client").GetAggregateResult<Prisma.$DiffBreakdownPayload<import("@prisma/client/runtime/client").InternalArgs & {
40
+ result: {};
41
+ model: {};
42
+ query: {};
43
+ client: {};
44
+ }>, {
45
+ by: "merged"[];
46
+ where: Prisma.DiffBreakdownWhereInput;
47
+ _count: true;
48
+ }> & {
49
+ merged: boolean;
50
+ })[]>;
51
+ /** Sum amount and claimed (absolute values) for DiffBreakdown rows */
52
+ static aggregateBreakdowns(where: Prisma.DiffBreakdownWhereInput): Promise<{
53
+ totalAmount: string;
54
+ totalClaimed: string;
55
+ positiveAmount: string;
56
+ negativeAmount: string;
57
+ }>;
58
+ /** Find campaigns with their opportunity for given chainId + campaignIds */
59
+ static findCampaignOpportunities(chainId: number, campaignIds: string[]): Promise<{
60
+ Opportunity: {
61
+ Chain: {
62
+ name: string;
63
+ };
64
+ id: string;
65
+ identifier: string;
66
+ name: string;
67
+ type: string;
68
+ };
69
+ campaignId: string;
70
+ }[]>;
71
+ /** Distinct token addresses for a given chain + root */
72
+ static findDistinctTokens(chainId: number, root: string): Promise<string[]>;
73
+ /** Recent MerklRoots for a chain (last 7 days) */
74
+ static findRecentRoots(chainId: number): Promise<{
75
+ root: string;
76
+ chainId: number;
77
+ epoch: number;
78
+ timestamp: bigint;
79
+ }[]>;
80
+ /** Build where clause for LeafBreakdown queries */
81
+ static buildLeafBreakdownWhere(params: {
82
+ distributionChainId: number;
83
+ tokenAddress: string;
84
+ campaignId?: string;
85
+ recipient?: string;
86
+ }): Prisma.LeafBreakdownWhereInput;
87
+ /** Paginated LeafBreakdown rows with sorting (numeric-aware for amount/claimed/unclaimed) */
88
+ static findManyLeafBreakdowns(params: {
89
+ chainId: number;
90
+ tokenAddress: string;
91
+ campaignId?: string;
92
+ recipient?: string;
93
+ }, pagination: {
94
+ take?: number;
95
+ skip?: number;
96
+ }, sort?: string, order?: "asc" | "desc"): Promise<{
97
+ distributionChainId: number;
98
+ tokenAddress: string;
99
+ recipient: string;
100
+ campaignId: string;
101
+ reason: string;
102
+ amount: string;
103
+ claimed: string;
104
+ lastProcessedTimestamp: number;
105
+ subCampaignId: string | null;
106
+ }[]>;
107
+ /** Count LeafBreakdown rows matching filters */
108
+ static countLeafBreakdowns(where: Prisma.LeafBreakdownWhereInput): Promise<number>;
109
+ /** Aggregate LeafBreakdown amounts (supports campaign/recipient filters) */
110
+ static aggregateLeafBreakdowns(where: Prisma.LeafBreakdownWhereInput): Promise<{
111
+ totalAmount: string;
112
+ totalClaimed: string;
113
+ positiveAmount: string;
114
+ negativeAmount: string;
115
+ }>;
116
+ /** Distinct token addresses for LeafBreakdown on a chain (raw SQL for perf) */
117
+ static findDistinctLeafTokens(chainId: number): Promise<string[]>;
118
+ /** Build where clause for Diff queries */
119
+ static buildDiffWhere(params: {
120
+ distributionChainId: number;
121
+ root: string;
122
+ tokenAddress?: string;
123
+ recipient?: string;
124
+ }): Prisma.DiffWhereInput;
125
+ /** Paginated Diff rows with numeric-aware sorting */
126
+ static findManyDiffs(params: {
127
+ chainId: number;
128
+ root: string;
129
+ tokenAddress?: string;
130
+ recipient?: string;
131
+ }, pagination: {
132
+ take?: number;
133
+ skip?: number;
134
+ }, sort?: string, order?: "asc" | "desc"): Promise<{
135
+ distributionChainId: number;
136
+ tokenAddress: string;
137
+ recipient: string;
138
+ root: string;
139
+ amount: string;
140
+ claimed: string;
141
+ merged: boolean;
142
+ mergedAt: Date | null;
143
+ }[]>;
144
+ /** Count Diff rows */
145
+ static countDiffs(where: Prisma.DiffWhereInput): Promise<number>;
146
+ /** Group Diff rows by merged status */
147
+ static groupByMergedDiffs(where: Prisma.DiffWhereInput): Promise<(import("@prisma/client/runtime/client").GetAggregateResult<Prisma.$DiffPayload<import("@prisma/client/runtime/client").InternalArgs & {
148
+ result: {};
149
+ model: {};
150
+ query: {};
151
+ client: {};
152
+ }>, {
153
+ by: "merged"[];
154
+ where: Prisma.DiffWhereInput;
155
+ _count: true;
156
+ }> & {
157
+ merged: boolean;
158
+ })[]>;
159
+ /** Aggregate Diff amounts */
160
+ static aggregateDiffs(where: Prisma.DiffWhereInput): Promise<{
161
+ totalAmount: string;
162
+ totalClaimed: string;
163
+ positiveAmount: string;
164
+ negativeAmount: string;
165
+ }>;
166
+ /** Build where clause for Leaf queries */
167
+ static buildLeafWhere(params: {
168
+ distributionChainId: number;
169
+ tokenAddress: string;
170
+ recipient?: string;
171
+ }): Prisma.LeafWhereInput;
172
+ /** Paginated Leaf rows with numeric-aware sorting */
173
+ static findManyLeaves(params: {
174
+ chainId: number;
175
+ tokenAddress: string;
176
+ recipient?: string;
177
+ }, pagination: {
178
+ take?: number;
179
+ skip?: number;
180
+ }, sort?: string, order?: "asc" | "desc"): Promise<{
181
+ distributionChainId: number;
182
+ tokenAddress: string;
183
+ recipient: string;
184
+ amount: string;
185
+ claimed: string;
186
+ }[]>;
187
+ /** Count Leaf rows */
188
+ static countLeaves(where: Prisma.LeafWhereInput): Promise<number>;
189
+ /** Aggregate Leaf amounts */
190
+ static aggregateLeaves(where: Prisma.LeafWhereInput): Promise<{
191
+ totalAmount: string;
192
+ totalClaimed: string;
193
+ positiveAmount: string;
194
+ negativeAmount: string;
195
+ }>;
196
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/diff/diff.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,wMAAgF;AAEhF,MAAM,OAAgB,cAAc;IAClC,mDAAmD;IACnD,MAAM,CAAC,mBAAmB,CAAC,MAM1B,EAAkC;QACjC,OAAO;YACL,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;YAC9C,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;YAChG,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IAAA,CACH;IAED,6FAA6F;IAC7F,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC7B,MAMC,EACD,UAA4C,EAC5C,IAAI,GAAG,WAAW,EAClB,KAAK,GAAmB,KAAK,EAC7B;QACA,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAE7D,iEAAiE;QACjE,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAiB;gBAC/B,MAAM,CAAC,GAAG,CAAA,2BAA2B,MAAM,CAAC,OAAO,EAAE;gBACrD,MAAM,CAAC,GAAG,CAAA,YAAY,MAAM,CAAC,IAAI,EAAE;aACpC,CAAC;YACF,IAAI,MAAM,CAAC,YAAY;gBAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9F,IAAI,MAAM,CAAC,UAAU;gBACnB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,4BAA4B,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClG,IAAI,MAAM,CAAC,SAAS;gBAClB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;YAElC,MAAM,SAAS,GACb,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;YAEjH,OAAO,MAAM,WAAW,CAAC,SAAS,CAgBjC;;gBAES,WAAW;mBACR,SAAS,IAAI,QAAQ;gBACxB,IAAI,WAAW,IAAI;OAC5B,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACrG,OAAO,MAAM,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC9C,KAAK;YACL,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;YACzB,GAAG,UAAU;SACd,CAAC,CAAC;IAAA,CACJ;IAED,gDAAgD;IAChD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAAqC,EAAE;QAClE,OAAO,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CACzD;IAED,gDAAgD;IAChD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAqC,EAAE;QAC1E,OAAO,MAAM,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;YAC7C,EAAE,EAAE,CAAC,QAAQ,CAAC;YACd,KAAK;YACL,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IAAA,CACJ;IAED,sEAAsE;IACtE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAqC,EAAE;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,mBAA6B,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;QAClC,MAAM,YAAY,GAAI,KAAK,CAAC,YAAuB,IAAI,IAAI,CAAC;QAE5D,MAAM,UAAU,GAAiB,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG,CAAA,YAAY,IAAI,EAAE,CAAC,CAAC;QAChH,IAAI,YAAY;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,YAAY,EAAE,CAAC,CAAC;QAEhF,MAAM,cAAc,GAClB,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU;YACxF,CAAC,CAAE,KAAK,CAAC,UAAU,CAAC,QAAmB;YACvC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,eAAe,GACnB,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,SAAS;YACrF,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,QAAmB;YACtC,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,cAAc;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,4BAA4B,IAAI,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACjH,IAAI,eAAe;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAElH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAEzC;;;;;;;cAOS,WAAW;KACpB,CAAC;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAAA,CAClB;IAED,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAe,EAAE,WAAqB,EAAE;QAC7E,OAAO,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzC,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE;YACxE,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE;oBACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;iBAClG;aACF;SACF,CAAC,CAAC;IAAA,CACJ;IAED,wDAAwD;IACxD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,IAAY,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;YACtD,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE;YAC7C,QAAQ,EAAE,CAAC,cAAc,CAAC;YAC1B,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;SAC/B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAAA,CACxC;IAED,kDAAkD;IAClD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5E,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC1C,KAAK,EAAE;gBACL,OAAO;gBACP,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;aAC/B;YACD,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC9B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;IAAA,CACJ;IAED,6LAAiF;IAEjF,mDAAmD;IACnD,MAAM,CAAC,uBAAuB,CAAC,MAK9B,EAAkC;QACjC,OAAO;YACL,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;YAChG,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IAAA,CACH;IAED,6FAA6F;IAC7F,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACjC,MAKC,EACD,UAA4C,EAC5C,IAAI,GAAG,WAAW,EAClB,KAAK,GAAmB,KAAK,EAC7B;QACA,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7F,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAE7D,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAiB;gBAC/B,MAAM,CAAC,GAAG,CAAA,2BAA2B,MAAM,CAAC,OAAO,EAAE;gBACrD,MAAM,CAAC,GAAG,CAAA,oBAAoB,MAAM,CAAC,YAAY,EAAE;aACpD,CAAC;YACF,IAAI,MAAM,CAAC,UAAU;gBACnB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,4BAA4B,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClG,IAAI,MAAM,CAAC,SAAS;gBAClB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;YAElC,MAAM,SAAS,GACb,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;YAEjH,OAAO,MAAM,WAAW,CAAC,SAAS,CAYjC;;gBAES,WAAW;mBACR,SAAS,IAAI,QAAQ;gBACxB,IAAI,WAAW,IAAI;OAC5B,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,uBAAuB,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACzG,OAAO,MAAM,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC9C,KAAK;YACL,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;YACzB,GAAG,UAAU;SACd,CAAC,CAAC;IAAA,CACJ;IAED,gDAAgD;IAChD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAqC,EAAE;QACtE,OAAO,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CACzD;IAED,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAqC,EAAE;QAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,mBAA6B,CAAC;QACpD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAsB,CAAC;QAElD,MAAM,UAAU,GAAiB;YAC/B,MAAM,CAAC,GAAG,CAAA,2BAA2B,OAAO,EAAE;YAC9C,MAAM,CAAC,GAAG,CAAA,oBAAoB,YAAY,EAAE;SAC7C,CAAC;QAEF,yDAAyD;QACzD,MAAM,cAAc,GAClB,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU;YACxF,CAAC,CAAE,KAAK,CAAC,UAAU,CAAC,QAAmB;YACvC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,eAAe,GACnB,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,SAAS;YACrF,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,QAAmB;YACtC,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,cAAc;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,4BAA4B,IAAI,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACjH,IAAI,eAAe;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAElH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAEzC;;;;;;;cAOS,WAAW;KACpB,CAAC;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAAA,CAClB;IAED,+EAA+E;IAC/E,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE;QACnD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAA4B;0FACgB,OAAO;KAC5F,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAAA,CACxC;IAED,+LAAiF;IAEjF,0CAA0C;IAC1C,MAAM,CAAC,cAAc,CAAC,MAKrB,EAAyB;QACxB,OAAO;YACL,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;YAC9C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IAAA,CACH;IAED,qDAAqD;IACrD,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,MAAoF,EACpF,UAA4C,EAC5C,IAAI,GAAG,WAAW,EAClB,KAAK,GAAmB,KAAK,EAC7B;QACA,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAE7D,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAiB;gBAC/B,MAAM,CAAC,GAAG,CAAA,2BAA2B,MAAM,CAAC,OAAO,EAAE;gBACrD,MAAM,CAAC,GAAG,CAAA,YAAY,MAAM,CAAC,IAAI,EAAE;aACpC,CAAC;YACF,IAAI,MAAM,CAAC,YAAY;gBAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9F,IAAI,MAAM,CAAC,SAAS;gBAClB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;YAElC,OAAO,MAAM,WAAW,CAAC,SAAS,CAWjC;;gBAES,WAAW;mBACR,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,QAAQ;gBAC9C,IAAI,WAAW,IAAI;OAC5B,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAChG,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IAAA,CAC7F;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAA4B,EAAE;QACpD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CAChD;IAED,uCAAuC;IACvC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAA4B,EAAE;QAC5D,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAAA,CAChF;IAED,6BAA6B;IAC7B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,KAA4B,EAAE;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,mBAA6B,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;QAClC,MAAM,YAAY,GAAI,KAAK,CAAC,YAAuB,IAAI,IAAI,CAAC;QAE5D,MAAM,UAAU,GAAiB,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG,CAAA,YAAY,IAAI,EAAE,CAAC,CAAC;QAChH,IAAI,YAAY;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,YAAY,EAAE,CAAC,CAAC;QAEhF,MAAM,eAAe,GACnB,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,SAAS;YACrF,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,QAAmB;YACtC,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,eAAe;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAElH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAEzC;;;;;;;cAOS,WAAW;KACpB,CAAC;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAAA,CAClB;IAED,+LAAiF;IAEjF,0CAA0C;IAC1C,MAAM,CAAC,cAAc,CAAC,MAIrB,EAAyB;QACxB,OAAO;YACL,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9F,CAAC;IAAA,CACH;IAED,qDAAqD;IACrD,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,MAAqE,EACrE,UAA4C,EAC5C,IAAI,GAAG,WAAW,EAClB,KAAK,GAAmB,KAAK,EAC7B;QACA,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAE7D,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAiB;gBAC/B,MAAM,CAAC,GAAG,CAAA,2BAA2B,MAAM,CAAC,OAAO,EAAE;gBACrD,MAAM,CAAC,GAAG,CAAA,oBAAoB,MAAM,CAAC,YAAY,EAAE;aACpD,CAAC;YACF,IAAI,MAAM,CAAC,SAAS;gBAClB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;YAElC,OAAO,MAAM,WAAW,CAAC,SAAS,CAEjC;;gBAES,WAAW;mBACR,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,QAAQ;gBAC9C,IAAI,WAAW,IAAI;OAC5B,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAChG,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IAAA,CAC7F;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAA4B,EAAE;QACrD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CAChD;IAED,6BAA6B;IAC7B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAA4B,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,mBAA6B,CAAC;QACpD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAsB,CAAC;QAElD,MAAM,UAAU,GAAiB;YAC/B,MAAM,CAAC,GAAG,CAAA,2BAA2B,OAAO,EAAE;YAC9C,MAAM,CAAC,GAAG,CAAA,oBAAoB,YAAY,EAAE;SAC7C,CAAC;QAEF,MAAM,eAAe,GACnB,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,SAAS;YACrF,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,QAAmB;YACtC,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,eAAe;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAElH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAEzC;;;;;;;cAOS,WAAW;KACpB,CAAC;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAAA,CAClB;CACF"}
@@ -0,0 +1,108 @@
1
+ import { type DiffBreakdownQueryModel, type DiffQueryModel, type LeafBreakdownQueryModel, type LeafQueryModel } from "./diff.model";
2
+ export declare abstract class DiffService {
3
+ /** Fetch paginated DiffBreakdown rows with optional filters and sorting */
4
+ static findManyDiffBreakdowns(query: DiffBreakdownQueryModel): Promise<{
5
+ distributionChainId: number;
6
+ tokenAddress: string;
7
+ recipient: string;
8
+ campaignId: string;
9
+ reason: string;
10
+ root: string;
11
+ amount: string;
12
+ claimed: string;
13
+ lastProcessedTimestamp: number;
14
+ createdAt: number | null;
15
+ publishAfterTimestamp: number | null;
16
+ merged: boolean;
17
+ mergedAt: Date | null;
18
+ }[]>;
19
+ /** Count DiffBreakdown rows matching filters */
20
+ static countDiffBreakdowns(query: DiffBreakdownQueryModel): Promise<number>;
21
+ /** Aggregated summary: merged/unmerged counts + total amount/claimed (absolute) */
22
+ static getBreakdownSummary(chainId: number, root: string, tokenAddress?: string, filters?: {
23
+ campaignId?: string;
24
+ recipient?: string;
25
+ }): Promise<{
26
+ total: number;
27
+ merged: number;
28
+ unmerged: number;
29
+ totalAmount: string;
30
+ totalClaimed: string;
31
+ positiveAmount: string;
32
+ negativeAmount: string;
33
+ }>;
34
+ /** Distinct token addresses for a chain + root */
35
+ static findDistinctTokens(chainId: number, root: string): Promise<string[]>;
36
+ /** Recent roots on a chain (last 7 days) */
37
+ static findRecentRoots(chainId: number): Promise<{
38
+ root: string;
39
+ chainId: number;
40
+ epoch: number;
41
+ timestamp: bigint;
42
+ }[]>;
43
+ /** Fetch paginated LeafBreakdown rows */
44
+ static findManyLeafBreakdowns(query: LeafBreakdownQueryModel): Promise<{
45
+ distributionChainId: number;
46
+ tokenAddress: string;
47
+ recipient: string;
48
+ campaignId: string;
49
+ reason: string;
50
+ amount: string;
51
+ claimed: string;
52
+ lastProcessedTimestamp: number;
53
+ subCampaignId: string | null;
54
+ }[]>;
55
+ /** Count LeafBreakdown rows matching filters */
56
+ static countLeafBreakdowns(query: LeafBreakdownQueryModel): Promise<number>;
57
+ /** Aggregated summary for LeafBreakdown */
58
+ static getLeafBreakdownSummary(chainId: number, tokenAddress: string, campaignId?: string, recipient?: string): Promise<{
59
+ total: number;
60
+ totalAmount: string;
61
+ totalClaimed: string;
62
+ positiveAmount: string;
63
+ negativeAmount: string;
64
+ }>;
65
+ /** Distinct token addresses for LeafBreakdown on a chain */
66
+ static findDistinctLeafTokens(chainId: number): Promise<string[]>;
67
+ /** Fetch paginated Diff rows */
68
+ static findManyDiffs(query: DiffQueryModel): Promise<{
69
+ distributionChainId: number;
70
+ tokenAddress: string;
71
+ recipient: string;
72
+ root: string;
73
+ amount: string;
74
+ claimed: string;
75
+ merged: boolean;
76
+ mergedAt: Date | null;
77
+ }[]>;
78
+ /** Count Diff rows */
79
+ static countDiffs(query: DiffQueryModel): Promise<number>;
80
+ /** Summary for Diff table */
81
+ static getDiffSummary(chainId: number, root: string, tokenAddress?: string, recipient?: string): Promise<{
82
+ total: number;
83
+ merged: number;
84
+ unmerged: number;
85
+ totalAmount: string;
86
+ totalClaimed: string;
87
+ positiveAmount: string;
88
+ negativeAmount: string;
89
+ }>;
90
+ /** Fetch paginated Leaf rows */
91
+ static findManyLeaves(query: LeafQueryModel): Promise<{
92
+ distributionChainId: number;
93
+ tokenAddress: string;
94
+ recipient: string;
95
+ amount: string;
96
+ claimed: string;
97
+ }[]>;
98
+ /** Count Leaf rows */
99
+ static countLeaves(query: LeafQueryModel): Promise<number>;
100
+ /** Summary for Leaf table */
101
+ static getLeafSummary(chainId: number, tokenAddress: string, recipient?: string): Promise<{
102
+ total: number;
103
+ totalAmount: string;
104
+ totalClaimed: string;
105
+ positiveAmount: string;
106
+ negativeAmount: string;
107
+ }>;
108
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/diff/diff.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,31 @@
1
+ import type { apiDbClient, engineDbClient } from "@package/databases";
1
2
  import type { MerklRootService } from "../merklRoot/merklRoot.service";
3
+ import type { LeafRepository } from "./leaf.repository";
4
+ /** Shape of a leaf row as returned by LeafRepository.getByRecipient. */
5
+ export type Leaf = Awaited<ReturnType<typeof LeafRepository.getByRecipient>>[number];
6
+ /** Shape of a temp leaf row from the engine DB. */
7
+ export type TempLeaf = Awaited<ReturnType<typeof engineDbClient.tempLeaves.findMany>>[number];
8
+ /** Prisma include for pre-fetching campaign data alongside temp leaves. */
9
+ export declare const campaignInclude: {
10
+ Opportunity: {
11
+ include: {
12
+ MainProtocol: true;
13
+ Chain: true;
14
+ Tokens: true;
15
+ ActivePrograms: true;
16
+ DepositUrls: {
17
+ orderBy: {
18
+ priority: "asc";
19
+ };
20
+ };
21
+ };
22
+ };
23
+ CampaignStatus: true;
24
+ };
25
+ /** Campaign row with the standard include for temp-leaf reconciliation. */
26
+ export type PrefetchedCampaign = Awaited<ReturnType<typeof apiDbClient.campaign.findMany<{
27
+ include: typeof campaignInclude;
28
+ }>>>[number];
2
29
  /**
3
30
  * Minimal RewardBreakdown shape needed for correction.
4
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"leaf.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/leaf/leaf.model.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"leaf.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/leaf/leaf.model.ts"],"names":[],"mappings":"AAYA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE;QACX,OAAO,EAAE;YACP,YAAY,EAAE,IAAa;YAC3B,KAAK,EAAE,IAAa;YACpB,MAAM,EAAE,IAAa;YACrB,cAAc,EAAE,IAAa;YAC7B,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAc,EAAE,EAAE;SACvD;KACF;IACD,cAAc,EAAE,IAAa;CAC9B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { TokenType } from "@package/resources/enums";
2
- import type { RootsByChain } from "./leaf.model";
2
+ import { type RootsByChain } from "./leaf.model";
3
3
  export declare abstract class LeafRepository {
4
+ /** Paginates reward breakdowns, ordered by amount desc. */
4
5
  static getByRecipient(recipient: string, distributionChainIds: number[], roots: RootsByChain, tags: string[], options: {
5
6
  items?: number;
6
7
  page?: number;
@@ -317,9 +318,7 @@ export declare abstract class LeafRepository {
317
318
  amount: string;
318
319
  claimed: string;
319
320
  })[]>;
320
- /**
321
- * @notice Returns rewards and campaignIds from breakdowns matching (recipient, root, tokenId)
322
- */
321
+ /** Returns leaf with all breakdowns matching (recipient, chainId, tokenAddress). */
323
322
  static getByChainRecipientToken(id: {
324
323
  distributionChainId: number;
325
324
  recipient: string;
@@ -343,4 +342,253 @@ export declare abstract class LeafRepository {
343
342
  amount: string;
344
343
  claimed: string;
345
344
  }) | null>;
345
+ /** Fetches pending temp leaves from the engine DB. */
346
+ static getTempLeaves(recipient: string, distributionChainIds: number[], reasonFilter?: string): Promise<{
347
+ chainId: number;
348
+ campaignId: string;
349
+ recipient: string;
350
+ reason: string;
351
+ rewardToken: string;
352
+ amount: string;
353
+ lastProcessedTimestamp: number;
354
+ createdAt: number;
355
+ publishAfterTimestamp: number | null;
356
+ }[]>;
357
+ /** Batch-fetches campaigns by (chainId, campaignId) pairs with standard includes. */
358
+ static getCampaignsByKeys(keys: Array<{
359
+ distributionChainId: number;
360
+ campaignId: string;
361
+ }>): Promise<({
362
+ CampaignStatus: {
363
+ campaignId: string;
364
+ computedUntil: bigint;
365
+ processingStarted: bigint;
366
+ status: import("@package/databases").RunStatus;
367
+ preComputeStatus: import("@package/databases").RunStatus;
368
+ preComputeProcessingStarted: bigint;
369
+ error: string;
370
+ details: import("@prisma/client/runtime/client").JsonValue;
371
+ }[];
372
+ Opportunity: {
373
+ ActivePrograms: {
374
+ id: string;
375
+ slug: string | null;
376
+ name: string;
377
+ description: string;
378
+ icon: string;
379
+ }[];
380
+ Chain: {
381
+ id: number;
382
+ name: string;
383
+ icon: string;
384
+ liveCampaigns: number;
385
+ endOfDisputePeriod: number;
386
+ lastClaimsOnchainFetchTimestamp: string | null;
387
+ };
388
+ DepositUrls: {
389
+ id: string;
390
+ title: string;
391
+ url: string;
392
+ subtitle: string | null;
393
+ icon: string | null;
394
+ priority: number;
395
+ opportunityId: string;
396
+ }[];
397
+ MainProtocol: {
398
+ id: string;
399
+ tags: string[];
400
+ name: string;
401
+ description: string;
402
+ url: string;
403
+ icon: string;
404
+ banner: string | null;
405
+ opportunityBannerLight: string | null;
406
+ opportunityBannerDark: string | null;
407
+ } | null;
408
+ Tokens: {
409
+ id: string;
410
+ name: string | null;
411
+ chainId: number;
412
+ address: string;
413
+ decimals: number;
414
+ symbol: string;
415
+ displaySymbol: string;
416
+ icon: string;
417
+ verified: boolean;
418
+ isTest: boolean;
419
+ type: import("@package/databases").TokenType;
420
+ isNative: boolean;
421
+ underlyingTokenId: string | null;
422
+ price: number | null;
423
+ updatedAt: number | null;
424
+ priceSource: string | null;
425
+ }[];
426
+ } & {
427
+ id: string;
428
+ chainId: number;
429
+ type: string;
430
+ identifier: string;
431
+ name: string;
432
+ description: string;
433
+ howToSteps: string[];
434
+ depositUrl: string | null;
435
+ explorerAddress: string | null;
436
+ status: import("@package/databases").Status;
437
+ action: import("@package/databases").OpportunityAction;
438
+ mainProtocolId: string | null;
439
+ tvl: number;
440
+ apr: number;
441
+ nativeApr: number | null;
442
+ maxApr: number | null;
443
+ dailyRewards: number;
444
+ tags: string[];
445
+ lastCampaignCreatedAt: Date;
446
+ manualOverrides: import("@package/databases").OpportunityManualOverride[];
447
+ liveCampaigns: number;
448
+ earliestCampaignStart: bigint | null;
449
+ latestCampaignStart: bigint | null;
450
+ earliestCampaignEnd: bigint | null;
451
+ latestCampaignEnd: bigint | null;
452
+ hidden: boolean;
453
+ };
454
+ } & {
455
+ id: string;
456
+ computeChainId: number;
457
+ distributionChainId: number;
458
+ campaignId: string;
459
+ type: string;
460
+ distributionType: import("@package/databases").DistributionType;
461
+ subType: number | null;
462
+ rewardTokenId: string;
463
+ amount: string;
464
+ opportunityId: string;
465
+ startTimestamp: bigint;
466
+ endTimestamp: bigint;
467
+ params: import("@prisma/client/runtime/client").JsonValue;
468
+ description: string | null;
469
+ pauseCompute: string | null;
470
+ dailyRewards: number;
471
+ apr: number;
472
+ creatorAddress: string;
473
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
474
+ createdAt: Date;
475
+ rootCampaignId: string | null;
476
+ parentCampaignId: string | null;
477
+ isPrivate: boolean;
478
+ campaignEncodingHash: string | null;
479
+ })[]>;
480
+ /** Batch-fetches tokens by (chainId, address) pairs. */
481
+ static getTokensByKeys(keys: Array<{
482
+ chainId: number;
483
+ address: string;
484
+ }>): Promise<{
485
+ id: string;
486
+ name: string | null;
487
+ chainId: number;
488
+ address: string;
489
+ decimals: number;
490
+ symbol: string;
491
+ displaySymbol: string;
492
+ icon: string;
493
+ verified: boolean;
494
+ isTest: boolean;
495
+ type: import("@package/databases").TokenType;
496
+ isNative: boolean;
497
+ underlyingTokenId: string | null;
498
+ price: number | null;
499
+ updatedAt: number | null;
500
+ priceSource: string | null;
501
+ }[]>;
502
+ /** Creates a leaf record, swallowing duplicate-key errors. */
503
+ static createLeaf(data: {
504
+ distributionChainId: number;
505
+ recipient: string;
506
+ tokenAddress: string;
507
+ amount: string;
508
+ claimed: string;
509
+ }): Promise<void>;
510
+ /** Upserts a leaf breakdown for an unmatched temp leaf. */
511
+ static upsertLeafBreakdown(data: {
512
+ distributionChainId: number;
513
+ recipient: string;
514
+ tokenAddress: string;
515
+ campaignId: string;
516
+ reason: string;
517
+ subCampaignId: string | null;
518
+ }): Promise<void>;
519
+ /** Returns the amount of a leaf by composite key, or 0n if not found. */
520
+ static findLeafAmount(key: {
521
+ distributionChainId: number;
522
+ recipient: string;
523
+ tokenAddress: string;
524
+ }): Promise<bigint>;
525
+ /** Updates the claimed amount on a leaf. */
526
+ static updateLeafClaimed(key: {
527
+ distributionChainId: number;
528
+ recipient: string;
529
+ tokenAddress: string;
530
+ }, claimed: string): Promise<void>;
531
+ /** Finds an unmerged diff by composite key + root. */
532
+ static findUnmergedDiff(distributionChainId: number, recipient: string, tokenAddress: string, root: string): Promise<{
533
+ distributionChainId: number;
534
+ tokenAddress: string;
535
+ recipient: string;
536
+ root: string;
537
+ amount: string;
538
+ claimed: string;
539
+ merged: boolean;
540
+ mergedAt: Date | null;
541
+ } | null>;
542
+ /** Updates the claimed amount on a diff. */
543
+ static updateDiffClaimed(key: {
544
+ distributionChainId: number;
545
+ recipient: string;
546
+ tokenAddress: string;
547
+ root: string;
548
+ }, claimed: string): Promise<void>;
549
+ /** Finds all leaf breakdowns for a given (chainId, recipient, token). */
550
+ static findLeafBreakdowns(distributionChainId: number, recipient: string, tokenAddress: string): Promise<{
551
+ distributionChainId: number;
552
+ tokenAddress: string;
553
+ recipient: string;
554
+ campaignId: string;
555
+ reason: string;
556
+ amount: string;
557
+ claimed: string;
558
+ lastProcessedTimestamp: number;
559
+ subCampaignId: string | null;
560
+ }[]>;
561
+ /** Updates the claimed amount on a single leaf breakdown. */
562
+ static updateLeafBreakdownClaimed(key: {
563
+ distributionChainId: number;
564
+ recipient: string;
565
+ tokenAddress: string;
566
+ campaignId: string;
567
+ reason: string;
568
+ }, claimed: string): Promise<void>;
569
+ /** Finds all unmerged diff breakdowns for a given (chainId, recipient, token, root). */
570
+ static findDiffBreakdowns(distributionChainId: number, recipient: string, tokenAddress: string, root: string): Promise<{
571
+ distributionChainId: number;
572
+ tokenAddress: string;
573
+ recipient: string;
574
+ campaignId: string;
575
+ reason: string;
576
+ root: string;
577
+ amount: string;
578
+ claimed: string;
579
+ lastProcessedTimestamp: number;
580
+ createdAt: number | null;
581
+ publishAfterTimestamp: number | null;
582
+ merged: boolean;
583
+ mergedAt: Date | null;
584
+ }[]>;
585
+ /** Updates the claimed amount on a single diff breakdown. */
586
+ static updateDiffBreakdownClaimed(key: {
587
+ distributionChainId: number;
588
+ recipient: string;
589
+ tokenAddress: string;
590
+ campaignId: string;
591
+ reason: string;
592
+ root: string;
593
+ }, claimed: string): Promise<void>;
346
594
  }