@merkl/api 1.6.73 → 1.6.74

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.
@@ -8636,6 +8636,126 @@ declare const eden: {
8636
8636
  expected?: string | undefined;
8637
8637
  };
8638
8638
  }>>;
8639
+ "block-difference": {
8640
+ get: (options: {
8641
+ fetch?: RequestInit | undefined;
8642
+ headers?: Record<string, unknown> | undefined;
8643
+ query: {
8644
+ chainId: number;
8645
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
8646
+ };
8647
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
8648
+ 200: {
8649
+ protocol: import("@package/resources/enums").ProtocolType;
8650
+ chainId: number;
8651
+ oldestBlock: number;
8652
+ currentBlock: number;
8653
+ blockDifference: number;
8654
+ source: string;
8655
+ } | null;
8656
+ 422: {
8657
+ type: "validation";
8658
+ on: string;
8659
+ summary?: string | undefined;
8660
+ message?: string | undefined;
8661
+ found?: unknown;
8662
+ property?: string | undefined;
8663
+ expected?: string | undefined;
8664
+ };
8665
+ }>>;
8666
+ };
8667
+ "last-block": {
8668
+ get: (options: {
8669
+ fetch?: RequestInit | undefined;
8670
+ headers?: Record<string, unknown> | undefined;
8671
+ query: {
8672
+ chainId: number;
8673
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
8674
+ };
8675
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
8676
+ 200: {
8677
+ protocol: import("@package/resources/enums").ProtocolType;
8678
+ chainId: number;
8679
+ lastFetchedBlockNumber: number;
8680
+ source: string;
8681
+ } | null;
8682
+ 422: {
8683
+ type: "validation";
8684
+ on: string;
8685
+ summary?: string | undefined;
8686
+ message?: string | undefined;
8687
+ found?: unknown;
8688
+ property?: string | undefined;
8689
+ expected?: string | undefined;
8690
+ };
8691
+ }>>;
8692
+ };
8693
+ "oldest-block": {
8694
+ get: (options: {
8695
+ fetch?: RequestInit | undefined;
8696
+ headers?: Record<string, unknown> | undefined;
8697
+ query: {
8698
+ chainId: number;
8699
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
8700
+ };
8701
+ }) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
8702
+ 200: {
8703
+ protocol: import("@package/resources/enums").ProtocolType;
8704
+ chainId: number;
8705
+ lastFetchedBlockNumber: number;
8706
+ source: string;
8707
+ } | null;
8708
+ 422: {
8709
+ type: "validation";
8710
+ on: string;
8711
+ summary?: string | undefined;
8712
+ message?: string | undefined;
8713
+ found?: unknown;
8714
+ property?: string | undefined;
8715
+ expected?: string | undefined;
8716
+ };
8717
+ }>>;
8718
+ };
8719
+ protocol: ((params: {
8720
+ protocol: string | number;
8721
+ }) => {
8722
+ chains: {
8723
+ get: (options?: {
8724
+ fetch?: RequestInit | undefined;
8725
+ headers?: Record<string, unknown> | undefined;
8726
+ query?: Record<string, unknown> | undefined;
8727
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
8728
+ 200: import("@package/resources/enums").ChainId[];
8729
+ 422: {
8730
+ type: "validation";
8731
+ on: string;
8732
+ summary?: string | undefined;
8733
+ message?: string | undefined;
8734
+ found?: unknown;
8735
+ property?: string | undefined;
8736
+ expected?: string | undefined;
8737
+ };
8738
+ }>>;
8739
+ };
8740
+ }) & {};
8741
+ protocols: {
8742
+ get: (options?: {
8743
+ fetch?: RequestInit | undefined;
8744
+ headers?: Record<string, unknown> | undefined;
8745
+ query?: Record<string, unknown> | undefined;
8746
+ } | undefined) => Promise<import("@elysiajs/eden").Treaty.TreatyResponse<{
8747
+ 200: import("@package/resources/enums").ProtocolType[];
8748
+ 422: {
8749
+ type: "validation";
8750
+ on: string;
8751
+ summary?: string | undefined;
8752
+ message?: string | undefined;
8753
+ found?: unknown;
8754
+ property?: string | undefined;
8755
+ expected?: string | undefined;
8756
+ };
8757
+ }>>;
8758
+ };
8639
8759
  };
8640
8760
  ofac: ((params: {
8641
8761
  ip: string | number;
@@ -8984,6 +8984,153 @@ declare const app: Elysia<"", {
8984
8984
  };
8985
8985
  };
8986
8986
  };
8987
+ } & {
8988
+ node: {
8989
+ protocols: {
8990
+ get: {
8991
+ body: unknown;
8992
+ params: {};
8993
+ query: unknown;
8994
+ headers: unknown;
8995
+ response: {
8996
+ 200: import("@package/resources/enums").ProtocolType[];
8997
+ 422: {
8998
+ type: "validation";
8999
+ on: string;
9000
+ summary?: string | undefined;
9001
+ message?: string | undefined;
9002
+ found?: unknown;
9003
+ property?: string | undefined;
9004
+ expected?: string | undefined;
9005
+ };
9006
+ };
9007
+ };
9008
+ };
9009
+ };
9010
+ } & {
9011
+ node: {
9012
+ protocol: {
9013
+ ":protocol": {
9014
+ chains: {
9015
+ get: {
9016
+ body: unknown;
9017
+ params: {
9018
+ protocol: import("@package/resources/enums").ProtocolType;
9019
+ };
9020
+ query: unknown;
9021
+ headers: unknown;
9022
+ response: {
9023
+ 200: import("@package/resources/enums").ChainId[];
9024
+ 422: {
9025
+ type: "validation";
9026
+ on: string;
9027
+ summary?: string | undefined;
9028
+ message?: string | undefined;
9029
+ found?: unknown;
9030
+ property?: string | undefined;
9031
+ expected?: string | undefined;
9032
+ };
9033
+ };
9034
+ };
9035
+ };
9036
+ };
9037
+ };
9038
+ };
9039
+ } & {
9040
+ node: {
9041
+ "last-block": {
9042
+ get: {
9043
+ body: unknown;
9044
+ params: {};
9045
+ query: {
9046
+ chainId: number;
9047
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
9048
+ };
9049
+ headers: unknown;
9050
+ response: {
9051
+ 200: {
9052
+ protocol: import("@package/resources/enums").ProtocolType;
9053
+ chainId: number;
9054
+ lastFetchedBlockNumber: number;
9055
+ source: string;
9056
+ } | null;
9057
+ 422: {
9058
+ type: "validation";
9059
+ on: string;
9060
+ summary?: string | undefined;
9061
+ message?: string | undefined;
9062
+ found?: unknown;
9063
+ property?: string | undefined;
9064
+ expected?: string | undefined;
9065
+ };
9066
+ };
9067
+ };
9068
+ };
9069
+ };
9070
+ } & {
9071
+ node: {
9072
+ "oldest-block": {
9073
+ get: {
9074
+ body: unknown;
9075
+ params: {};
9076
+ query: {
9077
+ chainId: number;
9078
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
9079
+ };
9080
+ headers: unknown;
9081
+ response: {
9082
+ 200: {
9083
+ protocol: import("@package/resources/enums").ProtocolType;
9084
+ chainId: number;
9085
+ lastFetchedBlockNumber: number;
9086
+ source: string;
9087
+ } | null;
9088
+ 422: {
9089
+ type: "validation";
9090
+ on: string;
9091
+ summary?: string | undefined;
9092
+ message?: string | undefined;
9093
+ found?: unknown;
9094
+ property?: string | undefined;
9095
+ expected?: string | undefined;
9096
+ };
9097
+ };
9098
+ };
9099
+ };
9100
+ };
9101
+ } & {
9102
+ node: {
9103
+ "block-difference": {
9104
+ get: {
9105
+ body: unknown;
9106
+ params: {};
9107
+ query: {
9108
+ chainId: number;
9109
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
9110
+ };
9111
+ headers: unknown;
9112
+ response: {
9113
+ 200: {
9114
+ protocol: import("@package/resources/enums").ProtocolType;
9115
+ chainId: number;
9116
+ oldestBlock: number;
9117
+ currentBlock: number;
9118
+ blockDifference: number;
9119
+ source: string;
9120
+ } | null;
9121
+ 422: {
9122
+ type: "validation";
9123
+ on: string;
9124
+ summary?: string | undefined;
9125
+ message?: string | undefined;
9126
+ found?: unknown;
9127
+ property?: string | undefined;
9128
+ expected?: string | undefined;
9129
+ };
9130
+ };
9131
+ };
9132
+ };
9133
+ };
8987
9134
  } & {
8988
9135
  ofac: {
8989
9136
  ":ip": {
@@ -53,6 +53,153 @@ export declare const NodeController: Elysia<"/node", {
53
53
  };
54
54
  };
55
55
  };
56
+ } & {
57
+ node: {
58
+ protocols: {
59
+ get: {
60
+ body: unknown;
61
+ params: {};
62
+ query: unknown;
63
+ headers: unknown;
64
+ response: {
65
+ 200: import("@package/resources/enums").ProtocolType[];
66
+ 422: {
67
+ type: "validation";
68
+ on: string;
69
+ summary?: string | undefined;
70
+ message?: string | undefined;
71
+ found?: unknown;
72
+ property?: string | undefined;
73
+ expected?: string | undefined;
74
+ };
75
+ };
76
+ };
77
+ };
78
+ };
79
+ } & {
80
+ node: {
81
+ protocol: {
82
+ ":protocol": {
83
+ chains: {
84
+ get: {
85
+ body: unknown;
86
+ params: {
87
+ protocol: import("@package/resources/enums").ProtocolType;
88
+ };
89
+ query: unknown;
90
+ headers: unknown;
91
+ response: {
92
+ 200: import("@package/resources/enums").ChainId[];
93
+ 422: {
94
+ type: "validation";
95
+ on: string;
96
+ summary?: string | undefined;
97
+ message?: string | undefined;
98
+ found?: unknown;
99
+ property?: string | undefined;
100
+ expected?: string | undefined;
101
+ };
102
+ };
103
+ };
104
+ };
105
+ };
106
+ };
107
+ };
108
+ } & {
109
+ node: {
110
+ "last-block": {
111
+ get: {
112
+ body: unknown;
113
+ params: {};
114
+ query: {
115
+ chainId: number;
116
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
117
+ };
118
+ headers: unknown;
119
+ response: {
120
+ 200: {
121
+ protocol: import("@package/resources/enums").ProtocolType;
122
+ chainId: number;
123
+ lastFetchedBlockNumber: number;
124
+ source: string;
125
+ } | null;
126
+ 422: {
127
+ type: "validation";
128
+ on: string;
129
+ summary?: string | undefined;
130
+ message?: string | undefined;
131
+ found?: unknown;
132
+ property?: string | undefined;
133
+ expected?: string | undefined;
134
+ };
135
+ };
136
+ };
137
+ };
138
+ };
139
+ } & {
140
+ node: {
141
+ "oldest-block": {
142
+ get: {
143
+ body: unknown;
144
+ params: {};
145
+ query: {
146
+ chainId: number;
147
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
148
+ };
149
+ headers: unknown;
150
+ response: {
151
+ 200: {
152
+ protocol: import("@package/resources/enums").ProtocolType;
153
+ chainId: number;
154
+ lastFetchedBlockNumber: number;
155
+ source: string;
156
+ } | null;
157
+ 422: {
158
+ type: "validation";
159
+ on: string;
160
+ summary?: string | undefined;
161
+ message?: string | undefined;
162
+ found?: unknown;
163
+ property?: string | undefined;
164
+ expected?: string | undefined;
165
+ };
166
+ };
167
+ };
168
+ };
169
+ };
170
+ } & {
171
+ node: {
172
+ "block-difference": {
173
+ get: {
174
+ body: unknown;
175
+ params: {};
176
+ query: {
177
+ chainId: number;
178
+ protocol?: import("@package/resources/enums").ProtocolType | undefined;
179
+ };
180
+ headers: unknown;
181
+ response: {
182
+ 200: {
183
+ protocol: import("@package/resources/enums").ProtocolType;
184
+ chainId: number;
185
+ oldestBlock: number;
186
+ currentBlock: number;
187
+ blockDifference: number;
188
+ source: string;
189
+ } | null;
190
+ 422: {
191
+ type: "validation";
192
+ on: string;
193
+ summary?: string | undefined;
194
+ message?: string | undefined;
195
+ found?: unknown;
196
+ property?: string | undefined;
197
+ expected?: string | undefined;
198
+ };
199
+ };
200
+ };
201
+ };
202
+ };
56
203
  }, {
57
204
  derive: {};
58
205
  resolve: {};
@@ -1 +1 @@
1
- {"version":3,"file":"node.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/node/node.controller.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAC3F,EAAE,EACF,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtD;IACE,KAAK,EAAE,UAAU;IACjB,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,KAAK,CAAC,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAE,CAAC;QAChG,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO;YAAE,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAA,CAC/D;IACD,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE;QACN,OAAO,EAAE,0EAA0E;QACnF,IAAI,EAAE,0IAAwI;QAC9I,WAAW,EACT,uIAAuI;KAC1I;CACF,CACF,CAAC"}
1
+ {"version":3,"file":"node.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/node/node.controller.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { ProtocolType } from "@package/resources/enums";
1
+ import { ChainId, ProtocolType } from "@package/resources/enums";
2
2
  import type { MetadataMapping } from "@package/sdk/types/subcampaigns/metadata";
3
+ import { type TSchema } from "elysia";
3
4
  import type { ResourceEngine } from "../prisma";
4
5
  export type Nodes = ResourceEngine<"Nodes", "id", {
5
6
  nodeType: ProtocolType;
@@ -26,3 +27,48 @@ export declare const GetNodeResponseDto: import("@sinclair/typebox").TArray<impo
26
27
  }>;
27
28
  }>>;
28
29
  export type GetNodeModel = typeof GetNodeDto.static;
30
+ /**
31
+ * DTO for protocol query parameter
32
+ */
33
+ export declare const ProtocolDto: import("@sinclair/typebox").TObject<{
34
+ protocol: import("@sinclair/typebox").TEnum<typeof ProtocolType>;
35
+ }>;
36
+ /**
37
+ * DTO for protocol and chainId query parameters
38
+ */
39
+ export declare const ProtocolChainDto: import("@sinclair/typebox").TObject<{
40
+ chainId: import("@sinclair/typebox").TNumber;
41
+ protocol: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof ProtocolType>>;
42
+ }>;
43
+ /**
44
+ * Response DTO for getProtocols
45
+ */
46
+ export declare const ProtocolsResponseDto: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TEnum<typeof ProtocolType>>;
47
+ /**
48
+ * Response DTO for getChainsPerProtocol
49
+ */
50
+ export declare const ChainsPerProtocolResponseDto: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TEnum<typeof ChainId>>;
51
+ /**
52
+ * Base block info schema (reusable)
53
+ */
54
+ export declare const BaseBlockInfoSchema: import("@sinclair/typebox").TObject<{
55
+ protocol: import("@sinclair/typebox").TEnum<typeof ProtocolType>;
56
+ chainId: import("@sinclair/typebox").TNumber;
57
+ lastFetchedBlockNumber: import("@sinclair/typebox").TNumber;
58
+ source: import("@sinclair/typebox").TString;
59
+ }>;
60
+ /**
61
+ * Block difference schema (reusable)
62
+ */
63
+ export declare const BlockDifferenceSchema: import("@sinclair/typebox").TObject<{
64
+ protocol: import("@sinclair/typebox").TEnum<typeof ProtocolType>;
65
+ chainId: import("@sinclair/typebox").TNumber;
66
+ oldestBlock: import("@sinclair/typebox").TNumber;
67
+ currentBlock: import("@sinclair/typebox").TNumber;
68
+ blockDifference: import("@sinclair/typebox").TNumber;
69
+ source: import("@sinclair/typebox").TString;
70
+ }>;
71
+ /**
72
+ * Wraps a schema in a union with t.Null()
73
+ */
74
+ export declare function withNull<T extends TSchema>(schema: T): import("@sinclair/typebox").TUnion<[T, import("@sinclair/typebox").TNull]>;
@@ -1 +1 @@
1
- {"version":3,"file":"node.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/node/node.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,CAAC,CAAC,OAAO,CAAC;QACR,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,CAAC,CAAC,CAAC;KACd,CAAC,CACH;IACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,CAAC,4CAA4C,EAAE,aAAa,CAAC;KACxE,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACvC,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,2BAA2B;KACzC,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QACjB,WAAW,EAAE,mCAAmC;KACjD,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;KACnD,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,qBAAqB;KACnC,CAAC;IACF,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,yCAAyC;KACvD,CAAC;IACF,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE;IACjB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;YACX,WAAW,EAAE,yCAAyC;SACvD,CAAC;QACF,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC/B,WAAW,EAAE,qDAAqD;SACnE,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,wBAAwB;SACtC,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,kDAAkD;SAChE,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,WAAW,EAAE,6CAA6C;SAC3D,CAAC,CACH;KACF,CAAC;CACH,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"node.model.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/node/node.model.ts"],"names":[],"mappings":"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"}
@@ -37,4 +37,56 @@ export declare class NodeRepository {
37
37
  creationBlockNumber: number;
38
38
  metadata: import("@prisma/client/runtime/client").JsonValue;
39
39
  }[]>;
40
+ /**
41
+ * Get all unique protocols that have entries in NodesSources
42
+ */
43
+ static getProtocols(): Promise<ProtocolType[]>;
44
+ /**
45
+ * Get all chains for a given protocol
46
+ */
47
+ static getChainsPerProtocol(protocol: ProtocolType): Promise<number[]>;
48
+ /**
49
+ * Get the last (most recent) block for a chain across all protocols
50
+ */
51
+ static getLastBlockForChain(chainId: ChainId): Promise<{
52
+ id: string;
53
+ lastFetchedBlockNumber: number;
54
+ nodeType: string;
55
+ chainId: number;
56
+ source: string;
57
+ topics: string[];
58
+ } | null>;
59
+ /**
60
+ * Get the last (most recent) block for a specific protocol/chain combination
61
+ */
62
+ static getLastBlockForProtocolChain(protocol: ProtocolType, chainId: ChainId): Promise<{
63
+ id: string;
64
+ lastFetchedBlockNumber: number;
65
+ nodeType: string;
66
+ chainId: number;
67
+ source: string;
68
+ topics: string[];
69
+ }>;
70
+ /**
71
+ * Get the oldest (lowest) block for a chain across all protocols
72
+ */
73
+ static getOldestBlockForChain(chainId: ChainId): Promise<{
74
+ id: string;
75
+ lastFetchedBlockNumber: number;
76
+ nodeType: string;
77
+ chainId: number;
78
+ source: string;
79
+ topics: string[];
80
+ } | null>;
81
+ /**
82
+ * Get the oldest (lowest) block for a specific protocol/chain combination
83
+ */
84
+ static getOldestBlockForProtocolChain(protocol: ProtocolType, chainId: ChainId): Promise<{
85
+ id: string;
86
+ lastFetchedBlockNumber: number;
87
+ nodeType: string;
88
+ chainId: number;
89
+ source: string;
90
+ topics: string[];
91
+ } | null>;
40
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/node/node.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAmB,EAAE;QACzC,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;gBACnC,SAAS,EAAE,KAAK,CAAC,WAAW;aAC7B;YACD,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;IAAA,CACJ;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAyB,EAAE,QAAoB,EAAE;QAChF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,KAAK,EAAE;gBACL,GAAG,CAAC,QAAQ,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC9C,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;aAC5B;SACF,CAAC,CAAC;IAAA,CACJ;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAsB,EAAE,QAAoB,EAAE;QAC5E,OAAO,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAAA,CACvE;CACF"}
1
+ {"version":3,"file":"node.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/node/node.repository.ts"],"names":[],"mappings":"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"}
@@ -26,4 +26,74 @@ export declare abstract class NodeService {
26
26
  static getNodesByProtocols(chainIds: ChainId[], protocols: ProtocolType[]): Promise<(Nodes["model"] & {
27
27
  metadata: MetadataMapping[ProtocolType];
28
28
  })[]>;
29
+ /**
30
+ * Get all protocols that have entries in the database
31
+ * Filters based on DataAccessLayer to only include valid protocols
32
+ */
33
+ static getProtocols(): Promise<ProtocolType[]>;
34
+ /**
35
+ * Get all chains that are tied to a specific protocol's config
36
+ * Uses SDK DataAccessLayer to get all configured chains, not just those with nodes in DB
37
+ */
38
+ static getChainsPerProtocol(protocol: ProtocolType): Promise<ChainId[]>;
39
+ /**
40
+ * Get last (most recent) block for a chain (across all protocols)
41
+ */
42
+ static getLastBlockForChain(chainId: ChainId): Promise<{
43
+ protocol: ProtocolType;
44
+ chainId: number;
45
+ lastFetchedBlockNumber: number;
46
+ source: string;
47
+ } | null>;
48
+ /**
49
+ * Get last (most recent) block for a specific protocol/chain
50
+ */
51
+ static getLastBlockForProtocolChain(protocol: ProtocolType, chainId: ChainId): Promise<{
52
+ protocol: ProtocolType;
53
+ chainId: number;
54
+ lastFetchedBlockNumber: number;
55
+ source: string;
56
+ } | null>;
57
+ /**
58
+ * Get oldest block for a chain (across all protocols)
59
+ */
60
+ static getOldestBlockForChain(chainId: ChainId): Promise<{
61
+ protocol: ProtocolType;
62
+ chainId: number;
63
+ lastFetchedBlockNumber: number;
64
+ source: string;
65
+ } | null>;
66
+ /**
67
+ * Get oldest block for a specific protocol/chain
68
+ */
69
+ static getOldestBlockForProtocolChain(protocol: ProtocolType, chainId: ChainId): Promise<{
70
+ protocol: ProtocolType;
71
+ chainId: number;
72
+ lastFetchedBlockNumber: number;
73
+ source: string;
74
+ } | null>;
75
+ /**
76
+ * Get block difference between oldest block for a chain and current block
77
+ * Parallelizes the fetching of current block height even for single chain
78
+ */
79
+ static getBlockDifferenceForChain(chainId: ChainId): Promise<{
80
+ protocol: ProtocolType;
81
+ chainId: number;
82
+ oldestBlock: number;
83
+ currentBlock: number;
84
+ blockDifference: number;
85
+ source: string;
86
+ } | null>;
87
+ /**
88
+ * Get block difference between oldest block for a protocol/chain and current block
89
+ * Parallelizes the fetching of current block height even for single chain
90
+ */
91
+ static getBlockDifferenceForProtocolChain(protocol: ProtocolType, chainId: ChainId): Promise<{
92
+ protocol: ProtocolType;
93
+ chainId: number;
94
+ oldestBlock: number;
95
+ currentBlock: number;
96
+ blockDifference: number;
97
+ source: string;
98
+ } | null>;
29
99
  }