@lodestar/api 1.20.0-dev.c1532773c2 → 1.20.0-dev.f4460cd1d6

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 (228) hide show
  1. package/README.md +2 -2
  2. package/lib/beacon/client/beacon.d.ts +4 -3
  3. package/lib/beacon/client/beacon.js +3 -36
  4. package/lib/beacon/client/beacon.js.map +1 -1
  5. package/lib/beacon/client/config.d.ts +4 -3
  6. package/lib/beacon/client/config.js +3 -6
  7. package/lib/beacon/client/config.js.map +1 -1
  8. package/lib/beacon/client/debug.d.ts +4 -3
  9. package/lib/beacon/client/debug.js +4 -45
  10. package/lib/beacon/client/debug.js.map +1 -1
  11. package/lib/beacon/client/events.d.ts +5 -2
  12. package/lib/beacon/client/events.js +32 -35
  13. package/lib/beacon/client/events.js.map +1 -1
  14. package/lib/beacon/client/index.d.ts +6 -3
  15. package/lib/beacon/client/index.js +2 -2
  16. package/lib/beacon/client/index.js.map +1 -1
  17. package/lib/beacon/client/lightclient.d.ts +4 -3
  18. package/lib/beacon/client/lightclient.js +4 -7
  19. package/lib/beacon/client/lightclient.js.map +1 -1
  20. package/lib/beacon/client/lodestar.d.ts +4 -3
  21. package/lib/beacon/client/lodestar.js +4 -7
  22. package/lib/beacon/client/lodestar.js.map +1 -1
  23. package/lib/beacon/client/node.d.ts +4 -3
  24. package/lib/beacon/client/node.js +4 -7
  25. package/lib/beacon/client/node.js.map +1 -1
  26. package/lib/beacon/client/proof.d.ts +5 -4
  27. package/lib/beacon/client/proof.js +5 -61
  28. package/lib/beacon/client/proof.js.map +1 -1
  29. package/lib/beacon/client/validator.d.ts +4 -3
  30. package/lib/beacon/client/validator.js +4 -7
  31. package/lib/beacon/client/validator.js.map +1 -1
  32. package/lib/beacon/index.d.ts +5 -5
  33. package/lib/beacon/index.js.map +1 -1
  34. package/lib/beacon/routes/beacon/block.d.ts +282 -164
  35. package/lib/beacon/routes/beacon/block.js +324 -116
  36. package/lib/beacon/routes/beacon/block.js.map +1 -1
  37. package/lib/beacon/routes/beacon/index.d.ts +6 -588
  38. package/lib/beacon/routes/beacon/index.js +16 -26
  39. package/lib/beacon/routes/beacon/index.js.map +1 -1
  40. package/lib/beacon/routes/beacon/pool.d.ts +155 -117
  41. package/lib/beacon/routes/beacon/pool.js +146 -42
  42. package/lib/beacon/routes/beacon/pool.js.map +1 -1
  43. package/lib/beacon/routes/beacon/rewards.d.ts +113 -101
  44. package/lib/beacon/routes/beacon/rewards.js +98 -63
  45. package/lib/beacon/routes/beacon/rewards.js.map +1 -1
  46. package/lib/beacon/routes/beacon/state.d.ts +172 -226
  47. package/lib/beacon/routes/beacon/state.js +204 -126
  48. package/lib/beacon/routes/beacon/state.js.map +1 -1
  49. package/lib/beacon/routes/config.d.ts +21 -36
  50. package/lib/beacon/routes/config.js +45 -24
  51. package/lib/beacon/routes/config.js.map +1 -1
  52. package/lib/beacon/routes/debug.d.ts +32 -95
  53. package/lib/beacon/routes/debug.js +87 -45
  54. package/lib/beacon/routes/debug.js.map +1 -1
  55. package/lib/beacon/routes/events.d.ts +20 -16
  56. package/lib/beacon/routes/events.js +39 -17
  57. package/lib/beacon/routes/events.js.map +1 -1
  58. package/lib/beacon/routes/index.d.ts +19 -19
  59. package/lib/beacon/routes/index.js +1 -0
  60. package/lib/beacon/routes/index.js.map +1 -1
  61. package/lib/beacon/routes/lightclient.d.ts +33 -55
  62. package/lib/beacon/routes/lightclient.js +107 -47
  63. package/lib/beacon/routes/lightclient.js.map +1 -1
  64. package/lib/beacon/routes/lodestar.d.ts +74 -148
  65. package/lib/beacon/routes/lodestar.js +126 -77
  66. package/lib/beacon/routes/lodestar.js.map +1 -1
  67. package/lib/beacon/routes/node.d.ts +48 -82
  68. package/lib/beacon/routes/node.js +90 -57
  69. package/lib/beacon/routes/node.js.map +1 -1
  70. package/lib/beacon/routes/proof.d.ts +25 -31
  71. package/lib/beacon/routes/proof.js +44 -24
  72. package/lib/beacon/routes/proof.js.map +1 -1
  73. package/lib/beacon/routes/validator.d.ts +547 -320
  74. package/lib/beacon/routes/validator.js +494 -213
  75. package/lib/beacon/routes/validator.js.map +1 -1
  76. package/lib/beacon/server/beacon.d.ts +3 -4
  77. package/lib/beacon/server/beacon.js +4 -57
  78. package/lib/beacon/server/beacon.js.map +1 -1
  79. package/lib/beacon/server/config.d.ts +3 -4
  80. package/lib/beacon/server/config.js +4 -5
  81. package/lib/beacon/server/config.js.map +1 -1
  82. package/lib/beacon/server/debug.d.ts +3 -4
  83. package/lib/beacon/server/debug.js +4 -54
  84. package/lib/beacon/server/debug.js.map +1 -1
  85. package/lib/beacon/server/events.d.ts +4 -4
  86. package/lib/beacon/server/events.js +17 -23
  87. package/lib/beacon/server/events.js.map +1 -1
  88. package/lib/beacon/server/index.d.ts +7 -8
  89. package/lib/beacon/server/index.js +13 -14
  90. package/lib/beacon/server/index.js.map +1 -1
  91. package/lib/beacon/server/lightclient.d.ts +3 -4
  92. package/lib/beacon/server/lightclient.js +4 -5
  93. package/lib/beacon/server/lightclient.js.map +1 -1
  94. package/lib/beacon/server/lodestar.d.ts +3 -4
  95. package/lib/beacon/server/lodestar.js +4 -5
  96. package/lib/beacon/server/lodestar.js.map +1 -1
  97. package/lib/beacon/server/node.d.ts +3 -4
  98. package/lib/beacon/server/node.js +4 -18
  99. package/lib/beacon/server/node.js.map +1 -1
  100. package/lib/beacon/server/proof.d.ts +3 -4
  101. package/lib/beacon/server/proof.js +4 -36
  102. package/lib/beacon/server/proof.js.map +1 -1
  103. package/lib/beacon/server/validator.d.ts +3 -4
  104. package/lib/beacon/server/validator.js +4 -21
  105. package/lib/beacon/server/validator.js.map +1 -1
  106. package/lib/builder/client.d.ts +4 -6
  107. package/lib/builder/client.js +3 -9
  108. package/lib/builder/client.js.map +1 -1
  109. package/lib/builder/index.d.ts +8 -5
  110. package/lib/builder/index.js +4 -1
  111. package/lib/builder/index.js.map +1 -1
  112. package/lib/builder/routes.d.ts +24 -38
  113. package/lib/builder/routes.js +77 -33
  114. package/lib/builder/routes.js.map +1 -1
  115. package/lib/builder/server/index.d.ts +6 -6
  116. package/lib/builder/server/index.js +7 -8
  117. package/lib/builder/server/index.js.map +1 -1
  118. package/lib/index.d.ts +9 -6
  119. package/lib/index.js +5 -4
  120. package/lib/index.js.map +1 -1
  121. package/lib/keymanager/client.d.ts +4 -3
  122. package/lib/keymanager/client.js +4 -7
  123. package/lib/keymanager/client.js.map +1 -1
  124. package/lib/keymanager/index.d.ts +5 -4
  125. package/lib/keymanager/index.js +1 -1
  126. package/lib/keymanager/index.js.map +1 -1
  127. package/lib/keymanager/routes.d.ts +155 -177
  128. package/lib/keymanager/routes.js +236 -123
  129. package/lib/keymanager/routes.js.map +1 -1
  130. package/lib/keymanager/server/index.d.ts +6 -6
  131. package/lib/keymanager/server/index.js +7 -8
  132. package/lib/keymanager/server/index.js.map +1 -1
  133. package/lib/server/index.d.ts +2 -0
  134. package/lib/server/index.js +3 -0
  135. package/lib/server/index.js.map +1 -0
  136. package/lib/utils/client/error.d.ts +6 -0
  137. package/lib/utils/client/error.js +8 -0
  138. package/lib/utils/client/error.js.map +1 -0
  139. package/lib/utils/client/httpClient.d.ts +35 -75
  140. package/lib/utils/client/httpClient.js +201 -153
  141. package/lib/utils/client/httpClient.js.map +1 -1
  142. package/lib/utils/client/index.d.ts +6 -2
  143. package/lib/utils/client/index.js +6 -2
  144. package/lib/utils/client/index.js.map +1 -1
  145. package/lib/utils/client/method.d.ts +11 -0
  146. package/lib/utils/client/method.js +27 -0
  147. package/lib/utils/client/method.js.map +1 -0
  148. package/lib/utils/client/request.d.ts +33 -0
  149. package/lib/utils/client/request.js +66 -0
  150. package/lib/utils/client/request.js.map +1 -0
  151. package/lib/utils/client/response.d.ts +35 -0
  152. package/lib/utils/client/response.js +166 -0
  153. package/lib/utils/client/response.js.map +1 -0
  154. package/lib/utils/codecs.d.ts +28 -0
  155. package/lib/utils/codecs.js +105 -0
  156. package/lib/utils/codecs.js.map +1 -0
  157. package/lib/utils/fork.d.ts +8 -0
  158. package/lib/utils/fork.js +35 -0
  159. package/lib/utils/fork.js.map +1 -0
  160. package/lib/utils/headers.d.ts +37 -0
  161. package/lib/utils/headers.js +134 -0
  162. package/lib/utils/headers.js.map +1 -0
  163. package/lib/utils/httpStatusCode.js.map +1 -0
  164. package/lib/utils/index.d.ts +1 -1
  165. package/lib/utils/index.js +1 -1
  166. package/lib/utils/index.js.map +1 -1
  167. package/lib/utils/metadata.d.ts +88 -0
  168. package/lib/utils/metadata.js +126 -0
  169. package/lib/utils/metadata.js.map +1 -0
  170. package/lib/utils/schema.d.ts +31 -17
  171. package/lib/utils/schema.js +18 -6
  172. package/lib/utils/schema.js.map +1 -1
  173. package/lib/utils/serdes.d.ts +3 -0
  174. package/lib/utils/serdes.js +13 -0
  175. package/lib/utils/serdes.js.map +1 -1
  176. package/lib/utils/server/{errors.d.ts → error.d.ts} +2 -2
  177. package/lib/utils/server/{errors.js → error.js} +1 -1
  178. package/lib/utils/server/error.js.map +1 -0
  179. package/lib/utils/server/handler.d.ts +11 -0
  180. package/lib/utils/server/handler.js +109 -0
  181. package/lib/utils/server/handler.js.map +1 -0
  182. package/lib/utils/server/index.d.ts +5 -4
  183. package/lib/utils/server/index.js +5 -4
  184. package/lib/utils/server/index.js.map +1 -1
  185. package/lib/utils/server/method.d.ts +35 -0
  186. package/lib/utils/server/method.js +2 -0
  187. package/lib/utils/server/method.js.map +1 -0
  188. package/lib/utils/server/parser.d.ts +3 -0
  189. package/lib/utils/server/parser.js +20 -0
  190. package/lib/utils/server/parser.js.map +1 -0
  191. package/lib/utils/server/route.d.ts +20 -0
  192. package/lib/utils/server/route.js +19 -0
  193. package/lib/utils/server/route.js.map +1 -0
  194. package/lib/utils/types.d.ts +116 -104
  195. package/lib/utils/types.js +2 -155
  196. package/lib/utils/types.js.map +1 -1
  197. package/lib/utils/urlFormat.d.ts +2 -2
  198. package/lib/utils/urlFormat.js +3 -3
  199. package/lib/utils/urlFormat.js.map +1 -1
  200. package/lib/utils/wireFormat.d.ts +8 -0
  201. package/lib/utils/wireFormat.js +23 -0
  202. package/lib/utils/wireFormat.js.map +1 -0
  203. package/package.json +9 -6
  204. package/lib/interfaces.d.ts +0 -44
  205. package/lib/interfaces.js +0 -2
  206. package/lib/interfaces.js.map +0 -1
  207. package/lib/utils/acceptHeader.d.ts +0 -9
  208. package/lib/utils/acceptHeader.js +0 -62
  209. package/lib/utils/acceptHeader.js.map +0 -1
  210. package/lib/utils/client/client.d.ts +0 -29
  211. package/lib/utils/client/client.js +0 -88
  212. package/lib/utils/client/client.js.map +0 -1
  213. package/lib/utils/client/httpStatusCode.js.map +0 -1
  214. package/lib/utils/routes.d.ts +0 -6
  215. package/lib/utils/routes.js +0 -31
  216. package/lib/utils/routes.js.map +0 -1
  217. package/lib/utils/server/errors.js.map +0 -1
  218. package/lib/utils/server/genericJsonServer.d.ts +0 -13
  219. package/lib/utils/server/genericJsonServer.js +0 -32
  220. package/lib/utils/server/genericJsonServer.js.map +0 -1
  221. package/lib/utils/server/registerRoute.d.ts +0 -3
  222. package/lib/utils/server/registerRoute.js +0 -13
  223. package/lib/utils/server/registerRoute.js.map +0 -1
  224. package/lib/utils/server/types.d.ts +0 -22
  225. package/lib/utils/server/types.js +0 -2
  226. package/lib/utils/server/types.js.map +0 -1
  227. /package/lib/utils/{client/httpStatusCode.d.ts → httpStatusCode.d.ts} +0 -0
  228. /package/lib/utils/{client/httpStatusCode.js → httpStatusCode.js} +0 -0
@@ -1,11 +1,11 @@
1
- import { ContainerType, ValueOf } from "@chainsafe/ssz";
2
- import { ForkName } from "@lodestar/params";
3
- import { allForks, Slot, RootHex, StringType } from "@lodestar/types";
4
- import { ReturnTypes, RoutesData, ReqSerializers, ReqEmpty } from "../../utils/index.js";
5
- import { HttpStatusCode } from "../../utils/client/httpStatusCode.js";
6
- import { ApiClientResponse, ResponseFormat } from "../../interfaces.js";
7
- import { ExecutionOptimistic, Finalized, StateId } from "./beacon/state.js";
8
- declare const protoNodeSszType: ContainerType<{
1
+ import { Type, ValueOf } from "@chainsafe/ssz";
2
+ import { ChainForkConfig } from "@lodestar/config";
3
+ import { allForks, StringType, phase0 } from "@lodestar/types";
4
+ import { EmptyArgs, EmptyMeta, EmptyRequest } from "../../utils/codecs.js";
5
+ import { ExecutionOptimisticFinalizedAndVersionMeta, ExecutionOptimisticAndFinalizedMeta } from "../../utils/metadata.js";
6
+ import { Endpoint, RouteDefinitions } from "../../utils/types.js";
7
+ import { StateArgs } from "./beacon/state.js";
8
+ declare const ProtoNodeResponseListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
9
9
  executionPayloadBlockHash: StringType<string>;
10
10
  executionPayloadNumber: import("@chainsafe/ssz").UintNumberType;
11
11
  executionStatus: StringType<string>;
@@ -27,116 +27,53 @@ declare const protoNodeSszType: ContainerType<{
27
27
  weight: import("@chainsafe/ssz").UintNumberType;
28
28
  bestChild: StringType<string>;
29
29
  bestDescendant: StringType<string>;
30
- }>;
31
- type ProtoNodeApiType = ValueOf<typeof protoNodeSszType>;
32
- export type Api = {
30
+ }>>, unknown, unknown>;
31
+ declare const SlotRootListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
32
+ slot: import("@chainsafe/ssz").UintNumberType;
33
+ root: StringType<string>;
34
+ }>>, unknown, unknown>;
35
+ declare const SlotRootExecutionOptimisticListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
36
+ slot: import("@chainsafe/ssz").UintNumberType;
37
+ root: StringType<string>;
38
+ executionOptimistic: import("@chainsafe/ssz").BooleanType;
39
+ }>>, unknown, unknown>;
40
+ type ProtoNodeResponseList = ValueOf<typeof ProtoNodeResponseListType>;
41
+ type SlotRootList = ValueOf<typeof SlotRootListType>;
42
+ type SlotRootExecutionOptimisticList = ValueOf<typeof SlotRootExecutionOptimisticListType>;
43
+ export type Endpoints = {
33
44
  /**
34
45
  * Retrieves all possible chain heads (leaves of fork choice tree).
35
46
  */
36
- getDebugChainHeads(): Promise<ApiClientResponse<{
37
- [HttpStatusCode.OK]: {
38
- data: {
39
- slot: Slot;
40
- root: RootHex;
41
- }[];
42
- };
43
- }>>;
47
+ getDebugChainHeads: Endpoint<"GET", EmptyArgs, EmptyRequest, SlotRootList, EmptyMeta>;
44
48
  /**
45
49
  * Retrieves all possible chain heads (leaves of fork choice tree).
46
50
  */
47
- getDebugChainHeadsV2(): Promise<ApiClientResponse<{
48
- [HttpStatusCode.OK]: {
49
- data: {
50
- slot: Slot;
51
- root: RootHex;
52
- executionOptimistic: ExecutionOptimistic;
53
- }[];
54
- };
55
- }>>;
51
+ getDebugChainHeadsV2: Endpoint<"GET", EmptyArgs, EmptyRequest, SlotRootExecutionOptimisticList, EmptyMeta>;
56
52
  /**
57
53
  * Dump all ProtoArray's nodes to debug
58
54
  */
59
- getProtoArrayNodes(): Promise<ApiClientResponse<{
60
- [HttpStatusCode.OK]: {
61
- data: ProtoNodeApiType[];
62
- };
63
- }>>;
55
+ getProtoArrayNodes: Endpoint<"GET", EmptyArgs, EmptyRequest, ProtoNodeResponseList, EmptyMeta>;
64
56
  /**
65
57
  * Get full BeaconState object
66
58
  * Returns full BeaconState object for given stateId.
67
59
  * Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ
68
- *
69
- * @param stateId State identifier.
70
- * Can be one of: "head" (canonical head in node's view), "genesis", "finalized", "justified", \<slot\>, \<hex encoded stateRoot with 0x prefix\>.
71
60
  */
72
- getState(stateId: StateId, format?: "json"): Promise<ApiClientResponse<{
73
- [HttpStatusCode.OK]: {
74
- data: allForks.BeaconState;
75
- executionOptimistic: ExecutionOptimistic;
76
- finalized: Finalized;
77
- };
78
- }>>;
79
- getState(stateId: StateId, format: "ssz"): Promise<ApiClientResponse<{
80
- [HttpStatusCode.OK]: Uint8Array;
81
- }>>;
82
- getState(stateId: StateId, format?: ResponseFormat): Promise<ApiClientResponse<{
83
- [HttpStatusCode.OK]: Uint8Array | {
84
- data: allForks.BeaconState;
85
- executionOptimistic: ExecutionOptimistic;
86
- finalized: Finalized;
61
+ getState: Endpoint<"GET", StateArgs, {
62
+ params: {
63
+ state_id: string;
87
64
  };
88
- }>>;
65
+ }, phase0.BeaconState, ExecutionOptimisticAndFinalizedMeta>;
89
66
  /**
90
67
  * Get full BeaconState object
91
68
  * Returns full BeaconState object for given stateId.
92
69
  * Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ
93
- *
94
- * @param stateId State identifier.
95
- * Can be one of: "head" (canonical head in node's view), "genesis", "finalized", "justified", \<slot\>, \<hex encoded stateRoot with 0x prefix\>.
96
70
  */
97
- getStateV2(stateId: StateId, format?: "json"): Promise<ApiClientResponse<{
98
- [HttpStatusCode.OK]: {
99
- data: allForks.BeaconState;
100
- executionOptimistic: ExecutionOptimistic;
101
- finalized: Finalized;
102
- version: ForkName;
103
- };
104
- }>>;
105
- getStateV2(stateId: StateId, format: "ssz"): Promise<ApiClientResponse<{
106
- [HttpStatusCode.OK]: Uint8Array;
107
- }>>;
108
- getStateV2(stateId: StateId, format?: ResponseFormat): Promise<ApiClientResponse<{
109
- [HttpStatusCode.OK]: Uint8Array | {
110
- data: allForks.BeaconState;
111
- executionOptimistic: ExecutionOptimistic;
112
- finalized: Finalized;
113
- version: ForkName;
114
- };
115
- }>>;
116
- };
117
- export declare const routesData: RoutesData<Api>;
118
- export type ReqTypes = {
119
- getDebugChainHeads: ReqEmpty;
120
- getDebugChainHeadsV2: ReqEmpty;
121
- getProtoArrayNodes: ReqEmpty;
122
- getState: {
123
- params: {
124
- state_id: string;
125
- };
126
- headers: {
127
- accept?: string;
128
- };
129
- };
130
- getStateV2: {
71
+ getStateV2: Endpoint<"GET", StateArgs, {
131
72
  params: {
132
73
  state_id: string;
133
74
  };
134
- headers: {
135
- accept?: string;
136
- };
137
- };
75
+ }, allForks.BeaconState, ExecutionOptimisticFinalizedAndVersionMeta>;
138
76
  };
139
- export declare function getReqSerializers(): ReqSerializers<Api, ReqTypes>;
140
- export declare function getReturnTypes(): ReturnTypes<Api>;
77
+ export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpoints>;
141
78
  export {};
142
79
  //# sourceMappingURL=debug.d.ts.map
@@ -1,11 +1,13 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
1
2
  import { ContainerType } from "@chainsafe/ssz";
2
3
  import { ssz, StringType } from "@lodestar/types";
3
- import { ArrayOf, Schema, WithVersion, reqEmpty, ContainerDataExecutionOptimistic, WithExecutionOptimistic, WithFinalized, ContainerData, } from "../../utils/index.js";
4
- import { HttpStatusCode } from "../../utils/client/httpStatusCode.js";
5
- import { parseAcceptHeader, writeAcceptHeader } from "../../utils/acceptHeader.js";
4
+ import { ArrayOf, EmptyRequestCodec, EmptyMetaCodec, WithVersion, } from "../../utils/codecs.js";
5
+ import { ExecutionOptimisticFinalizedAndVersionCodec, ExecutionOptimisticAndFinalizedCodec, } from "../../utils/metadata.js";
6
+ import { WireFormat } from "../../utils/wireFormat.js";
7
+ import { Schema } from "../../utils/schema.js";
6
8
  // See /packages/api/src/routes/index.ts for reasoning and instructions to add new routes
7
9
  const stringType = new StringType();
8
- const protoNodeSszType = new ContainerType({
10
+ const ProtoNodeResponseType = new ContainerType({
9
11
  executionPayloadBlockHash: stringType,
10
12
  executionPayloadNumber: ssz.UintNum64,
11
13
  executionStatus: stringType,
@@ -28,48 +30,88 @@ const protoNodeSszType = new ContainerType({
28
30
  bestChild: stringType,
29
31
  bestDescendant: stringType,
30
32
  }, { jsonCase: "eth2" });
31
- export const routesData = {
32
- getDebugChainHeads: { url: "/eth/v1/debug/beacon/heads", method: "GET" },
33
- getDebugChainHeadsV2: { url: "/eth/v2/debug/beacon/heads", method: "GET" },
34
- getProtoArrayNodes: { url: "/eth/v0/debug/forkchoice", method: "GET" },
35
- getState: { url: "/eth/v1/debug/beacon/states/{state_id}", method: "GET" },
36
- getStateV2: { url: "/eth/v2/debug/beacon/states/{state_id}", method: "GET" },
37
- };
38
- export function getReqSerializers() {
39
- const getState = {
40
- writeReq: (state_id, format) => ({
41
- params: { state_id: String(state_id) },
42
- headers: { accept: writeAcceptHeader(format) },
43
- }),
44
- parseReq: ({ params, headers }) => [params.state_id, parseAcceptHeader(headers.accept)],
45
- schema: { params: { state_id: Schema.StringRequired } },
46
- };
47
- return {
48
- getDebugChainHeads: reqEmpty,
49
- getDebugChainHeadsV2: reqEmpty,
50
- getProtoArrayNodes: reqEmpty,
51
- getState: getState,
52
- getStateV2: getState,
53
- };
54
- }
55
- export function getReturnTypes() {
56
- const SlotRoot = new ContainerType({
57
- slot: ssz.Slot,
58
- root: stringType,
59
- }, { jsonCase: "eth2" });
60
- const SlotRootExecutionOptimistic = new ContainerType({
61
- slot: ssz.Slot,
62
- root: stringType,
63
- executionOptimistic: ssz.Boolean,
64
- }, { jsonCase: "eth2" });
33
+ const SlotRootType = new ContainerType({
34
+ slot: ssz.Slot,
35
+ root: stringType,
36
+ }, { jsonCase: "eth2" });
37
+ const SlotRootExecutionOptimisticType = new ContainerType({
38
+ slot: ssz.Slot,
39
+ root: stringType,
40
+ executionOptimistic: ssz.Boolean,
41
+ }, { jsonCase: "eth2" });
42
+ const ProtoNodeResponseListType = ArrayOf(ProtoNodeResponseType);
43
+ const SlotRootListType = ArrayOf(SlotRootType);
44
+ const SlotRootExecutionOptimisticListType = ArrayOf(SlotRootExecutionOptimisticType);
45
+ // Default timeout is not sufficient to download state as JSON
46
+ const GET_STATE_TIMEOUT_MS = 5 * 60 * 1000;
47
+ export function getDefinitions(_config) {
65
48
  return {
66
- getDebugChainHeads: ContainerData(ArrayOf(SlotRoot)),
67
- getDebugChainHeadsV2: ContainerData(ArrayOf(SlotRootExecutionOptimistic)),
68
- getProtoArrayNodes: ContainerData(ArrayOf(protoNodeSszType)),
69
- getState: WithFinalized(ContainerDataExecutionOptimistic(ssz.phase0.BeaconState)),
70
- getStateV2: WithFinalized(WithExecutionOptimistic(
71
- // Teku returns fork as UPPERCASE
72
- WithVersion((fork) => ssz[fork.toLowerCase()].BeaconState))),
49
+ getDebugChainHeads: {
50
+ url: "/eth/v1/debug/beacon/heads",
51
+ method: "GET",
52
+ req: EmptyRequestCodec,
53
+ resp: {
54
+ data: SlotRootListType,
55
+ meta: EmptyMetaCodec,
56
+ onlySupport: WireFormat.json,
57
+ },
58
+ },
59
+ getDebugChainHeadsV2: {
60
+ url: "/eth/v2/debug/beacon/heads",
61
+ method: "GET",
62
+ req: EmptyRequestCodec,
63
+ resp: {
64
+ data: SlotRootExecutionOptimisticListType,
65
+ meta: EmptyMetaCodec,
66
+ onlySupport: WireFormat.json,
67
+ },
68
+ },
69
+ getProtoArrayNodes: {
70
+ url: "/eth/v0/debug/forkchoice",
71
+ method: "GET",
72
+ req: EmptyRequestCodec,
73
+ resp: {
74
+ data: ProtoNodeResponseListType,
75
+ meta: EmptyMetaCodec,
76
+ onlySupport: WireFormat.json,
77
+ },
78
+ },
79
+ getState: {
80
+ url: "/eth/v1/debug/beacon/states/{state_id}",
81
+ method: "GET",
82
+ req: {
83
+ writeReq: ({ stateId }) => ({ params: { state_id: stateId.toString() } }),
84
+ parseReq: ({ params }) => ({ stateId: params.state_id }),
85
+ schema: {
86
+ params: { state_id: Schema.StringRequired },
87
+ },
88
+ },
89
+ resp: {
90
+ data: ssz.phase0.BeaconState,
91
+ meta: ExecutionOptimisticAndFinalizedCodec,
92
+ },
93
+ init: {
94
+ timeoutMs: GET_STATE_TIMEOUT_MS,
95
+ },
96
+ },
97
+ getStateV2: {
98
+ url: "/eth/v2/debug/beacon/states/{state_id}",
99
+ method: "GET",
100
+ req: {
101
+ writeReq: ({ stateId }) => ({ params: { state_id: stateId.toString() } }),
102
+ parseReq: ({ params }) => ({ stateId: params.state_id }),
103
+ schema: {
104
+ params: { state_id: Schema.StringRequired },
105
+ },
106
+ },
107
+ resp: {
108
+ data: WithVersion((fork) => ssz[fork].BeaconState),
109
+ meta: ExecutionOptimisticFinalizedAndVersionCodec,
110
+ },
111
+ init: {
112
+ timeoutMs: GET_STATE_TIMEOUT_MS,
113
+ },
114
+ },
73
115
  };
74
116
  }
75
117
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/beacon/routes/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/beacon/routes/debug.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { ContainerType, ValueOf } from "@chainsafe/ssz";
2
+ import { ChainForkConfig } from "@lodestar/config";
2
3
  import { Epoch, phase0, capella, Slot, StringType, RootHex, altair, UintNum64, allForks } from "@lodestar/types";
3
4
  import { ForkName } from "@lodestar/params";
4
- import { RouteDef, TypeJson } from "../../utils/index.js";
5
- import { HttpStatusCode } from "../../utils/client/httpStatusCode.js";
6
- import { ApiClientResponse } from "../../interfaces.js";
5
+ import { Endpoint, RouteDefinitions } from "../../utils/index.js";
6
+ import { EmptyMeta, EmptyResponseData } from "../../utils/codecs.js";
7
7
  export declare const blobSidecarSSE: ContainerType<{
8
8
  blockRoot: StringType<string>;
9
9
  index: import("@chainsafe/ssz").UintNumberType;
@@ -107,29 +107,33 @@ export type BeaconEvent = {
107
107
  message: EventData[K];
108
108
  };
109
109
  }[EventType];
110
- export type Api = {
110
+ type EventstreamArgs = {
111
+ /** Event types to subscribe to */
112
+ topics: EventType[];
113
+ signal: AbortSignal;
114
+ onEvent: (event: BeaconEvent) => void;
115
+ onError?: (err: Error) => void;
116
+ onClose?: () => void;
117
+ };
118
+ export type Endpoints = {
111
119
  /**
112
120
  * Subscribe to beacon node events
113
121
  * Provides endpoint to subscribe to beacon node Server-Sent-Events stream.
114
122
  * Consumers should use [eventsource](https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface)
115
123
  * implementation to listen on those events.
116
124
  *
117
- * @param topics Event types to subscribe to
118
- * @returns Opened SSE stream.
125
+ * Returns if SSE stream has been opened.
119
126
  */
120
- eventstream(topics: EventType[], signal: AbortSignal, onEvent: (event: BeaconEvent) => void): Promise<ApiClientResponse<{
121
- [HttpStatusCode.OK]: void;
122
- }>>;
123
- };
124
- export declare const routesData: {
125
- [K in keyof Api]: RouteDef;
126
- };
127
- export type ReqTypes = {
128
- eventstream: {
127
+ eventstream: Endpoint<"GET", EventstreamArgs, {
129
128
  query: {
130
129
  topics: EventType[];
131
130
  };
132
- };
131
+ }, EmptyResponseData, EmptyMeta>;
132
+ };
133
+ export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpoints>;
134
+ export type TypeJson<T> = {
135
+ toJson: (data: T) => unknown;
136
+ fromJson: (data: unknown) => T;
133
137
  };
134
138
  export declare function getTypeByEvent(): {
135
139
  [K in EventType]: TypeJson<EventData[K]>;
@@ -1,8 +1,10 @@
1
1
  import { ContainerType } from "@chainsafe/ssz";
2
2
  import { ssz, StringType } from "@lodestar/types";
3
- import { isForkExecution, isForkLightClient } from "@lodestar/params";
4
- import { WithVersion } from "../../utils/index.js";
5
- import { HttpStatusCode } from "../../utils/client/httpStatusCode.js";
3
+ import { Schema } from "../../utils/index.js";
4
+ import { EmptyResponseCodec } from "../../utils/codecs.js";
5
+ import { getExecutionForkTypes, getLightClientForkTypes } from "../../utils/fork.js";
6
+ import { VersionType } from "../../utils/metadata.js";
7
+ // See /packages/api/src/routes/index.ts for reasoning and instructions to add new routes
6
8
  const stringType = new StringType();
7
9
  export const blobSidecarSSE = new ContainerType({
8
10
  blockRoot: stringType,
@@ -11,7 +13,6 @@ export const blobSidecarSSE = new ContainerType({
11
13
  kzgCommitment: stringType,
12
14
  versionedHash: stringType,
13
15
  }, { typeName: "BlobSidecarSSE", jsonCase: "eth2" });
14
- // See /packages/api/src/routes/index.ts for reasoning and instructions to add new routes
15
16
  export var EventType;
16
17
  (function (EventType) {
17
18
  /**
@@ -64,17 +65,38 @@ export const eventTypes = {
64
65
  [EventType.payloadAttributes]: EventType.payloadAttributes,
65
66
  [EventType.blobSidecar]: EventType.blobSidecar,
66
67
  };
67
- export const routesData = {
68
- eventstream: { url: "/eth/v1/events", method: "GET" },
69
- };
70
- // It doesn't make sense to define a getReqSerializers() here given the exotic argument of eventstream()
71
- // The request is very simple: (topics) => {query: {topics}}, and the test will ensure compatibility server - client
68
+ export function getDefinitions(_config) {
69
+ return {
70
+ eventstream: {
71
+ url: "/eth/v1/events",
72
+ method: "GET",
73
+ req: {
74
+ writeReq: ({ topics }) => ({ query: { topics } }),
75
+ parseReq: ({ query }) => ({ topics: query.topics }),
76
+ schema: {
77
+ query: { topics: Schema.StringArrayRequired },
78
+ },
79
+ },
80
+ resp: EmptyResponseCodec,
81
+ },
82
+ };
83
+ }
72
84
  export function getTypeByEvent() {
73
- const getLightClientType = (fork) => {
74
- if (!isForkLightClient(fork)) {
75
- throw Error(`Invalid fork=${fork} for lightclient fork types`);
76
- }
77
- return ssz.allForksLightClient[fork];
85
+ // eslint-disable-next-line @typescript-eslint/naming-convention
86
+ const WithVersion = (getType) => {
87
+ return {
88
+ toJson: ({ data, version }) => ({
89
+ data: getType(version).toJson(data),
90
+ version,
91
+ }),
92
+ fromJson: (val) => {
93
+ const { version } = VersionType.fromJson(val);
94
+ return {
95
+ data: getType(version).fromJson(val.data),
96
+ version,
97
+ };
98
+ },
99
+ };
78
100
  };
79
101
  return {
80
102
  [EventType.head]: new ContainerType({
@@ -113,10 +135,10 @@ export function getTypeByEvent() {
113
135
  executionOptimistic: ssz.Boolean,
114
136
  }, { jsonCase: "eth2" }),
115
137
  [EventType.contributionAndProof]: ssz.altair.SignedContributionAndProof,
116
- [EventType.payloadAttributes]: WithVersion((fork) => isForkExecution(fork) ? ssz.allForksExecution[fork].SSEPayloadAttributes : ssz.bellatrix.SSEPayloadAttributes),
138
+ [EventType.payloadAttributes]: WithVersion((fork) => getExecutionForkTypes(fork).SSEPayloadAttributes),
117
139
  [EventType.blobSidecar]: blobSidecarSSE,
118
- [EventType.lightClientOptimisticUpdate]: WithVersion((fork) => getLightClientType(fork).LightClientOptimisticUpdate),
119
- [EventType.lightClientFinalityUpdate]: WithVersion((fork) => getLightClientType(fork).LightClientFinalityUpdate),
140
+ [EventType.lightClientOptimisticUpdate]: WithVersion((fork) => getLightClientForkTypes(fork).LightClientOptimisticUpdate),
141
+ [EventType.lightClientFinalityUpdate]: WithVersion((fork) => getLightClientForkTypes(fork).LightClientFinalityUpdate),
120
142
  };
121
143
  }
122
144
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/beacon/routes/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/beacon/routes/events.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { Api as BeaconApi } from "./beacon/index.js";
2
- import { Api as ConfigApi } from "./config.js";
3
- import { Api as DebugApi } from "./debug.js";
4
- import { Api as EventsApi } from "./events.js";
5
- import { Api as LightclientApi } from "./lightclient.js";
6
- import { Api as LodestarApi } from "./lodestar.js";
7
- import { Api as NodeApi } from "./node.js";
8
- import { Api as ProofApi } from "./proof.js";
9
- import { Api as ValidatorApi } from "./validator.js";
1
+ import { Endpoints as BeaconEndpoints } from "./beacon/index.js";
2
+ import { Endpoints as ConfigEndpoints } from "./config.js";
3
+ import { Endpoints as DebugEndpoints } from "./debug.js";
4
+ import { Endpoints as EventsEndpoints } from "./events.js";
5
+ import { Endpoints as LightclientEndpoints } from "./lightclient.js";
6
+ import { Endpoints as LodestarEndpoints } from "./lodestar.js";
7
+ import { Endpoints as NodeEndpoints } from "./node.js";
8
+ import { Endpoints as ProofEndpoints } from "./proof.js";
9
+ import { Endpoints as ValidatorEndpoints } from "./validator.js";
10
10
  import * as beacon from "./beacon/index.js";
11
11
  import * as config from "./config.js";
12
12
  import * as debug from "./debug.js";
@@ -17,15 +17,15 @@ import * as node from "./node.js";
17
17
  import * as proof from "./proof.js";
18
18
  import * as validator from "./validator.js";
19
19
  export { beacon, config, debug, events, lightclient, lodestar, node, proof, validator };
20
- export type Api = {
21
- beacon: BeaconApi;
22
- config: ConfigApi;
23
- debug: DebugApi;
24
- events: EventsApi;
25
- lightclient: LightclientApi;
26
- lodestar: LodestarApi;
27
- node: NodeApi;
28
- proof: ProofApi;
29
- validator: ValidatorApi;
20
+ export type Endpoints = {
21
+ beacon: BeaconEndpoints;
22
+ config: ConfigEndpoints;
23
+ debug: DebugEndpoints;
24
+ events: EventsEndpoints;
25
+ lightclient: LightclientEndpoints;
26
+ lodestar: LodestarEndpoints;
27
+ node: NodeEndpoints;
28
+ proof: ProofEndpoints;
29
+ validator: ValidatorEndpoints;
30
30
  };
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -8,6 +8,7 @@ import * as node from "./node.js";
8
8
  import * as proof from "./proof.js";
9
9
  import * as validator from "./validator.js";
10
10
  export { beacon, config, debug, events, lightclient, lodestar, node, proof, validator };
11
+ // TODO: update to reflect new design
11
12
  // Reasoning of the API definitions
12
13
  // ================================
13
14
  //
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/beacon/routes/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC;AActF,mCAAmC;AACnC,mCAAmC;AACnC,EAAE;AACF,+FAA+F;AAC/F,+CAA+C;AAC/C,cAAc;AACd,iDAAiD;AACjD,kBAAkB;AAClB,sCAAsC;AACtC,cAAc;AACd,wCAAwC;AACxC,EAAE;AACF,0FAA0F;AAC1F,+FAA+F;AAC/F,EAAE;AACF,oGAAoG;AACpG,oCAAoC;AACpC,sCAAsC;AACtC,EAAE;AACF,2FAA2F;AAC3F,+FAA+F;AAC/F,yFAAyF;AACzF,EAAE;AACF,kGAAkG;AAClG,sGAAsG;AACtG,EAAE;AACF,EAAE;AACF,wBAAwB;AACxB,wBAAwB;AACxB,EAAE;AACF,iHAAiH;AACjH,+GAA+G;AAC/G,0FAA0F;AAC1F,yDAAyD;AACzD,8GAA8G;AAC9G,yDAAyD;AACzD,8GAA8G;AAC9G,gGAAgG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/beacon/routes/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC;AActF,qCAAqC;AACrC,mCAAmC;AACnC,mCAAmC;AACnC,EAAE;AACF,+FAA+F;AAC/F,+CAA+C;AAC/C,cAAc;AACd,iDAAiD;AACjD,kBAAkB;AAClB,sCAAsC;AACtC,cAAc;AACd,wCAAwC;AACxC,EAAE;AACF,0FAA0F;AAC1F,+FAA+F;AAC/F,EAAE;AACF,oGAAoG;AACpG,oCAAoC;AACpC,sCAAsC;AACtC,EAAE;AACF,2FAA2F;AAC3F,+FAA+F;AAC/F,yFAAyF;AACzF,EAAE;AACF,kGAAkG;AAClG,sGAAsG;AACtG,EAAE;AACF,EAAE;AACF,wBAAwB;AACxB,wBAAwB;AACxB,EAAE;AACF,iHAAiH;AACjH,+GAA+G;AAC/G,0FAA0F;AAC1F,yDAAyD;AACzD,8GAA8G;AAC9G,yDAAyD;AACzD,8GAA8G;AAC9G,gGAAgG"}