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

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 +33 -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 +277 -168
  35. package/lib/beacon/routes/beacon/block.js +308 -117
  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 +22 -104
  53. package/lib/beacon/routes/debug.js +53 -45
  54. package/lib/beacon/routes/debug.js.map +1 -1
  55. package/lib/beacon/routes/events.d.ts +24 -20
  56. package/lib/beacon/routes/events.js +40 -18
  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 +34 -56
  62. package/lib/beacon/routes/lightclient.js +108 -48
  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 +524 -325
  74. package/lib/beacon/routes/validator.js +468 -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 +25 -39
  113. package/lib/builder/routes.js +78 -34
  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 +36 -0
  152. package/lib/utils/client/response.js +167 -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 +7 -0
  158. package/lib/utils/fork.js +29 -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 +115 -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 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/beacon/routes/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/beacon/routes/validator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/beacon/index.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/beacon/index.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=beacon.d.ts.map
@@ -1,59 +1,6 @@
1
- import { ssz } from "@lodestar/types";
2
- import { routesData, getReturnTypes, getReqSerializers } from "../routes/beacon/index.js";
3
- import { getGenericJsonServer } from "../../utils/server/index.js";
4
- export function getRoutes(config, api) {
5
- const reqSerializers = getReqSerializers(config);
6
- const returnTypes = getReturnTypes();
7
- // Most of routes return JSON, use a server auto-generator
8
- const serverRoutes = getGenericJsonServer({ routesData, getReturnTypes, getReqSerializers }, config, api);
9
- return {
10
- ...serverRoutes,
11
- // Non-JSON routes. Return JSON or binary depending on "accept" header
12
- getBlock: {
13
- ...serverRoutes.getBlock,
14
- handler: async (req) => {
15
- const response = await api.getBlock(...reqSerializers.getBlock.parseReq(req));
16
- if (response instanceof Uint8Array) {
17
- // Fastify 4.x.x will automatically add header `Content-Type: application/octet-stream` if TypedArray
18
- return response;
19
- }
20
- else {
21
- return returnTypes.getBlock.toJson(response);
22
- }
23
- },
24
- },
25
- getBlockV2: {
26
- ...serverRoutes.getBlockV2,
27
- handler: async (req, res) => {
28
- const response = await api.getBlockV2(...reqSerializers.getBlockV2.parseReq(req));
29
- if (response instanceof Uint8Array) {
30
- const slot = extractSlotFromBlockBytes(response);
31
- const version = config.getForkName(slot);
32
- void res.header("Eth-Consensus-Version", version);
33
- // Fastify 4.x.x will automatically add header `Content-Type: application/octet-stream` if TypedArray
34
- return response;
35
- }
36
- else {
37
- void res.header("Eth-Consensus-Version", response.version);
38
- return returnTypes.getBlockV2.toJson(response);
39
- }
40
- },
41
- },
42
- };
43
- }
44
- function extractSlotFromBlockBytes(block) {
45
- const { signature } = ssz.phase0.SignedBeaconBlock.fields;
46
- /**
47
- * class SignedBeaconBlock(Container):
48
- * message: BeaconBlock [offset - 4 bytes]
49
- * signature: BLSSignature [fixed - 96 bytes]
50
- *
51
- * class BeaconBlock(Container):
52
- * slot: Slot [fixed - 8 bytes]
53
- * ...
54
- */
55
- const offset = 4 + signature.lengthBytes;
56
- const bytes = block.subarray(offset, offset + ssz.Slot.byteLength);
57
- return ssz.Slot.deserialize(bytes);
1
+ import { createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions } from "../routes/beacon/index.js";
3
+ export function getRoutes(config, methods) {
4
+ return createFastifyRoutes(getDefinitions(config), methods);
58
5
  }
59
6
  //# sourceMappingURL=beacon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../src/beacon/server/beacon.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAe,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAG/E,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,GAAmB;IACpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,0DAA0D;IAC1D,MAAM,YAAY,GAAG,oBAAoB,CACvC,EAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,EAC/C,MAAM,EACN,GAAG,CACJ,CAAC;IACF,OAAO;QACL,GAAG,YAAY;QACf,sEAAsE;QACtE,QAAQ,EAAE;YACR,GAAG,YAAY,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9E,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;oBACnC,qGAAqG;oBACrG,OAAO,QAAQ,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;SACF;QACD,UAAU,EAAE;YACV,GAAG,YAAY,CAAC,UAAU;YAC1B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClF,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzC,KAAK,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;oBAClD,qGAAqG;oBACrG,OAAO,QAAQ,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC3D,OAAO,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAiB;IAClD,MAAM,EAAC,SAAS,EAAC,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACxD;;;;;;;;OAQG;IACH,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../src/beacon/server/beacon.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAY,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAEpE,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,OAAsC;IACvF,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/config.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/config.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=config.d.ts.map
@@ -1,7 +1,6 @@
1
- import { routesData, getReturnTypes, getReqSerializers } from "../routes/config.js";
2
- import { getGenericJsonServer } from "../../utils/server/index.js";
3
- export function getRoutes(config, api) {
4
- // All routes return JSON, use a server auto-generator
5
- return getGenericJsonServer({ routesData, getReturnTypes, getReqSerializers }, config, api);
1
+ import { createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions } from "../routes/config.js";
3
+ export function getRoutes(config, methods) {
4
+ return createFastifyRoutes(getDefinitions(config), methods);
6
5
  }
7
6
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/beacon/server/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAe,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAG/E,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,GAAmB;IACpE,sDAAsD;IACtD,OAAO,oBAAoB,CAA2B,EAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACtH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/beacon/server/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAY,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAE9D,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,OAAsC;IACvF,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/debug.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/debug.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=debug.d.ts.map
@@ -1,56 +1,6 @@
1
- import { ssz } from "@lodestar/types";
2
- import { routesData, getReturnTypes, getReqSerializers } from "../routes/debug.js";
3
- import { getGenericJsonServer } from "../../utils/server/index.js";
4
- export function getRoutes(config, api) {
5
- const reqSerializers = getReqSerializers();
6
- const returnTypes = getReturnTypes();
7
- const serverRoutes = getGenericJsonServer({ routesData, getReturnTypes, getReqSerializers }, config, api);
8
- return {
9
- ...serverRoutes,
10
- // Non-JSON routes. Return JSON or binary depending on "accept" header
11
- getState: {
12
- ...serverRoutes.getState,
13
- handler: async (req) => {
14
- const response = await api.getState(...reqSerializers.getState.parseReq(req));
15
- if (response instanceof Uint8Array) {
16
- // Fastify 4.x.x will automatically add header `Content-Type: application/octet-stream` if TypedArray
17
- return response;
18
- }
19
- else {
20
- return returnTypes.getState.toJson(response);
21
- }
22
- },
23
- },
24
- getStateV2: {
25
- ...serverRoutes.getStateV2,
26
- handler: async (req, res) => {
27
- const response = await api.getStateV2(...reqSerializers.getStateV2.parseReq(req));
28
- if (response instanceof Uint8Array) {
29
- const slot = extractSlotFromStateBytes(response);
30
- const version = config.getForkName(slot);
31
- void res.header("Eth-Consensus-Version", version);
32
- // Fastify 4.x.x will automatically add header `Content-Type: application/octet-stream` if TypedArray
33
- return response;
34
- }
35
- else {
36
- void res.header("Eth-Consensus-Version", response.version);
37
- return returnTypes.getStateV2.toJson(response);
38
- }
39
- },
40
- },
41
- };
42
- }
43
- function extractSlotFromStateBytes(state) {
44
- const { genesisTime, genesisValidatorsRoot } = ssz.phase0.BeaconState.fields;
45
- /**
46
- * class BeaconState(Container):
47
- * genesisTime: BeaconBlock [offset - 4 bytes]
48
- * genesisValidatorsRoot: BLSSignature [fixed - 96 bytes]
49
- * slot: Slot [fixed - 8 bytes]
50
- * ...
51
- */
52
- const offset = genesisTime.byteLength + genesisValidatorsRoot.lengthBytes;
53
- const bytes = state.subarray(offset, offset + ssz.Slot.byteLength);
54
- return ssz.Slot.deserialize(bytes);
1
+ import { createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions } from "../routes/debug.js";
3
+ export function getRoutes(config, methods) {
4
+ return createFastifyRoutes(getDefinitions(config), methods);
55
5
  }
56
6
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/beacon/server/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAe,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAG/E,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,GAAmB;IACpE,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,YAAY,GAAG,oBAAoB,CACvC,EAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,EAC/C,MAAM,EACN,GAAG,CACJ,CAAC;IAEF,OAAO;QACL,GAAG,YAAY;QAEf,sEAAsE;QACtE,QAAQ,EAAE;YACR,GAAG,YAAY,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9E,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;oBACnC,qGAAqG;oBACrG,OAAO,QAAQ,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;SACF;QACD,UAAU,EAAE;YACV,GAAG,YAAY,CAAC,UAAU;YAC1B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClF,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzC,KAAK,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;oBAClD,qGAAqG;oBACrG,OAAO,QAAQ,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC3D,OAAO,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAiB;IAClD,MAAM,EAAC,WAAW,EAAE,qBAAqB,EAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IAC3E;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,qBAAqB,CAAC,WAAW,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/beacon/server/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAY,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAE7D,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,OAAsC;IACvF,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Api, ReqTypes } from "../routes/events.js";
2
- import { ServerRoutes } from "../../utils/server/index.js";
3
- import { ServerApi } from "../../interfaces.js";
4
- export declare function getRoutes(api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/events.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
5
5
  export declare function serializeSSEEvent(chunk: {
6
6
  event: string;
7
7
  data: unknown;
@@ -1,13 +1,12 @@
1
- import { routesData, getEventSerdes, eventTypes } from "../routes/events.js";
2
- import { ApiError } from "../../utils/server/index.js";
3
- export function getRoutes(api) {
1
+ import { ApiError, createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions, eventTypes, getEventSerdes } from "../routes/events.js";
3
+ export function getRoutes(config, methods) {
4
4
  const eventSerdes = getEventSerdes();
5
+ const serverRoutes = createFastifyRoutes(getDefinitions(config), methods);
5
6
  return {
6
7
  // Non-JSON route. Server Sent Events (SSE)
7
8
  eventstream: {
8
- url: routesData.eventstream.url,
9
- method: routesData.eventstream.method,
10
- id: "eventstream",
9
+ ...serverRoutes.eventstream,
11
10
  handler: async (req, res) => {
12
11
  const validTopics = new Set(Object.values(eventTypes));
13
12
  for (const topic of req.query.topics) {
@@ -33,14 +32,18 @@ export function getRoutes(api) {
33
32
  // Source: https://stackoverflow.com/questions/13672743/eventsource-server-sent-events-through-nginx
34
33
  res.raw.setHeader("X-Accel-Buffering", "no");
35
34
  await new Promise((resolve, reject) => {
36
- void api.eventstream(req.query.topics, controller.signal, (event) => {
37
- try {
38
- const data = eventSerdes.toJson(event);
39
- res.raw.write(serializeSSEEvent({ event: event.type, data }));
40
- }
41
- catch (e) {
42
- reject(e);
43
- }
35
+ void methods.eventstream({
36
+ topics: req.query.topics,
37
+ signal: controller.signal,
38
+ onEvent: (event) => {
39
+ try {
40
+ const data = eventSerdes.toJson(event);
41
+ res.raw.write(serializeSSEEvent({ event: event.type, data }));
42
+ }
43
+ catch (e) {
44
+ reject(e);
45
+ }
46
+ },
44
47
  });
45
48
  // The stream will never end by the server unless the node is stopped.
46
49
  // In that case the BeaconNode class will call server.close() and end this connection.
@@ -54,15 +57,6 @@ export function getRoutes(api) {
54
57
  controller.abort();
55
58
  }
56
59
  },
57
- // TODO: Bundle this in /routes/events?
58
- schema: {
59
- querystring: {
60
- type: "object",
61
- properties: {
62
- topics: { type: "array", items: { type: "string" } },
63
- },
64
- },
65
- },
66
60
  },
67
61
  };
68
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/beacon/server/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/beacon/server/events.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
+ import type { FastifyInstance } from "fastify";
1
2
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api } from "../routes/index.js";
3
- import { ApiError, ServerInstance, RouteConfig } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export { ApiError };
6
- export type { RouteConfig };
7
- export declare function registerRoutes(server: ServerInstance, config: ChainForkConfig, api: {
8
- [K in keyof Api]: ServerApi<Api[K]>;
9
- }, enabledNamespaces: (keyof Api)[]): void;
3
+ import { ApplicationMethods } from "../../utils/server/index.js";
4
+ import { Endpoints } from "../routes/index.js";
5
+ export type BeaconApiMethods = {
6
+ [K in keyof Endpoints]: ApplicationMethods<Endpoints[K]>;
7
+ };
8
+ export declare function registerRoutes(server: FastifyInstance, config: ChainForkConfig, methods: BeaconApiMethods, enabledNamespaces: (keyof Endpoints)[]): void;
10
9
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,3 @@
1
- import { ApiError, registerRoute } from "../../utils/server/index.js";
2
1
  import * as beacon from "./beacon.js";
3
2
  import * as configApi from "./config.js";
4
3
  import * as debug from "./debug.js";
@@ -8,20 +7,18 @@ import * as lodestar from "./lodestar.js";
8
7
  import * as node from "./node.js";
9
8
  import * as proof from "./proof.js";
10
9
  import * as validator from "./validator.js";
11
- // Re-export for usage in beacon-node
12
- export { ApiError };
13
- export function registerRoutes(server, config, api, enabledNamespaces) {
10
+ export function registerRoutes(server, config, methods, enabledNamespaces) {
14
11
  const routesByNamespace = {
15
12
  // Initializes route types and their definitions
16
- beacon: () => beacon.getRoutes(config, api.beacon),
17
- config: () => configApi.getRoutes(config, api.config),
18
- debug: () => debug.getRoutes(config, api.debug),
19
- events: () => events.getRoutes(api.events),
20
- lightclient: () => lightclient.getRoutes(config, api.lightclient),
21
- lodestar: () => lodestar.getRoutes(config, api.lodestar),
22
- node: () => node.getRoutes(config, api.node),
23
- proof: () => proof.getRoutes(config, api.proof),
24
- validator: () => validator.getRoutes(config, api.validator),
13
+ beacon: () => beacon.getRoutes(config, methods.beacon),
14
+ config: () => configApi.getRoutes(config, methods.config),
15
+ debug: () => debug.getRoutes(config, methods.debug),
16
+ events: () => events.getRoutes(config, methods.events),
17
+ lightclient: () => lightclient.getRoutes(config, methods.lightclient),
18
+ lodestar: () => lodestar.getRoutes(config, methods.lodestar),
19
+ node: () => node.getRoutes(config, methods.node),
20
+ proof: () => proof.getRoutes(config, methods.proof),
21
+ validator: () => validator.getRoutes(config, methods.validator),
25
22
  };
26
23
  for (const namespace of enabledNamespaces) {
27
24
  const routes = routesByNamespace[namespace];
@@ -29,7 +26,9 @@ export function registerRoutes(server, config, api, enabledNamespaces) {
29
26
  throw Error(`Unknown api namespace ${namespace}`);
30
27
  }
31
28
  for (const route of Object.values(routes())) {
32
- registerRoute(server, route, namespace);
29
+ // Append the namespace as a tag for downstream consumption
30
+ route.schema.tags = [namespace];
31
+ server.route(route);
33
32
  }
34
33
  }
35
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/beacon/server/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAA4C,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAG9G,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,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;AAE5C,qCAAqC;AACrC,OAAO,EAAC,QAAQ,EAAC,CAAC;AAKlB,MAAM,UAAU,cAAc,CAC5B,MAAsB,EACtB,MAAuB,EACvB,GAA0C,EAC1C,iBAAgC;IAEhC,MAAM,iBAAiB,GAOnB;QACF,gDAAgD;QAChD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QAClD,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACrD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1C,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;QACjE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;QACxD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;QAC5C,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;QAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;KAC5D,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC5C,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/beacon/server/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,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;AAI5C,MAAM,UAAU,cAAc,CAC5B,MAAuB,EACvB,MAAuB,EACvB,OAAyB,EACzB,iBAAsC;IAEtC,MAAM,iBAAiB,GAOnB;QACF,gDAAgD;QAChD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACtD,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACzD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;QACnD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACtD,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;QACrE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;QAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;QAChD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;QACnD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;KAChE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC5C,2DAA2D;YAC3D,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/lightclient.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/lightclient.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=lightclient.d.ts.map
@@ -1,7 +1,6 @@
1
- import { routesData, getReturnTypes, getReqSerializers } from "../routes/lightclient.js";
2
- import { getGenericJsonServer } from "../../utils/server/index.js";
3
- export function getRoutes(config, api) {
4
- // All routes return JSON, use a server auto-generator
5
- return getGenericJsonServer({ routesData, getReturnTypes, getReqSerializers }, config, api);
1
+ import { createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions } from "../routes/lightclient.js";
3
+ export function getRoutes(config, methods) {
4
+ return createFastifyRoutes(getDefinitions(config), methods);
6
5
  }
7
6
  //# sourceMappingURL=lightclient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightclient.js","sourceRoot":"","sources":["../../../src/beacon/server/lightclient.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AACtG,OAAO,EAAe,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAG/E,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,GAAmB;IACpE,sDAAsD;IACtD,OAAO,oBAAoB,CAA2B,EAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACtH,CAAC"}
1
+ {"version":3,"file":"lightclient.js","sourceRoot":"","sources":["../../../src/beacon/server/lightclient.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAY,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAEnE,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,OAAsC;IACvF,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/lodestar.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/lodestar.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=lodestar.d.ts.map
@@ -1,7 +1,6 @@
1
- import { routesData, getReturnTypes, getReqSerializers } from "../routes/lodestar.js";
2
- import { getGenericJsonServer } from "../../utils/server/index.js";
3
- export function getRoutes(config, api) {
4
- // All routes return JSON, use a server auto-generator
5
- return getGenericJsonServer({ routesData, getReturnTypes, getReqSerializers }, config, api);
1
+ import { createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions } from "../routes/lodestar.js";
3
+ export function getRoutes(config, methods) {
4
+ return createFastifyRoutes(getDefinitions(config), methods);
6
5
  }
7
6
  //# sourceMappingURL=lodestar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/beacon/server/lodestar.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAe,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAG/E,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,GAAmB;IACpE,sDAAsD;IACtD,OAAO,oBAAoB,CAA2B,EAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACtH,CAAC"}
1
+ {"version":3,"file":"lodestar.js","sourceRoot":"","sources":["../../../src/beacon/server/lodestar.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAY,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,OAAsC;IACvF,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/node.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<ServerApi<Api>, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/node.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=node.d.ts.map
@@ -1,20 +1,6 @@
1
- import { routesData, getReturnTypes, getReqSerializers } from "../routes/node.js";
2
- import { getGenericJsonServer } from "../../utils/server/index.js";
3
- export function getRoutes(config, api) {
4
- const reqSerializers = getReqSerializers();
5
- const serverRoutes = getGenericJsonServer({ routesData, getReturnTypes, getReqSerializers }, config, api);
6
- return {
7
- ...serverRoutes,
8
- getHealth: {
9
- ...serverRoutes.getHealth,
10
- handler: async (req, res) => {
11
- const args = reqSerializers.getHealth.parseReq(req);
12
- // Note: This type casting is required as per route definition getHealth
13
- // does not return a value but since the internal API does not have access
14
- // to response object it is required to set the HTTP status code here.
15
- res.statusCode = (await api.getHealth(...args));
16
- },
17
- },
18
- };
1
+ import { createFastifyRoutes } from "../../utils/server/index.js";
2
+ import { getDefinitions } from "../routes/node.js";
3
+ export function getRoutes(config, methods) {
4
+ return createFastifyRoutes(getDefinitions(config), methods);
19
5
  }
20
6
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/beacon/server/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAe,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAG/E,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,GAAmB;IACpE,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,MAAM,YAAY,GAAG,oBAAoB,CACvC,EAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAC,EAC/C,MAAM,EACN,GAAG,CACJ,CAAC;IAEF,OAAO;QACL,GAAG,YAAY;QAEf,SAAS,EAAE;YACT,GAAG,YAAY,CAAC,SAAS;YACzB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpD,wEAAwE;gBACxE,0EAA0E;gBAC1E,sEAAsE;gBACtE,GAAG,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAsB,CAAC;YACvE,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/beacon/server/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAY,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAE5D,MAAM,UAAU,SAAS,CAAC,MAAuB,EAAE,OAAsC;IACvF,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { Api, ReqTypes } from "../routes/proof.js";
3
- import { ServerRoutes } from "../../utils/server/index.js";
4
- import { ServerApi } from "../../interfaces.js";
5
- export declare function getRoutes(config: ChainForkConfig, api: ServerApi<Api>): ServerRoutes<Api, ReqTypes>;
2
+ import { ApplicationMethods, FastifyRoutes } from "../../utils/server/index.js";
3
+ import { Endpoints } from "../routes/proof.js";
4
+ export declare function getRoutes(config: ChainForkConfig, methods: ApplicationMethods<Endpoints>): FastifyRoutes<Endpoints>;
6
5
  //# sourceMappingURL=proof.d.ts.map