@lodestar/api 1.20.0-dev.f6d3bce802 → 1.20.0-dev.ff253a7e4b

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 +1 -1
  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 +8 -6
  119. package/lib/index.js +4 -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 +135 -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,157 +1,4 @@
1
- import { isBasicType, ListBasicType, isCompositeType, ListCompositeType } from "@chainsafe/ssz";
2
- import { ForkName } from "@lodestar/params";
3
- import { objectToExpectedCase } from "@lodestar/utils";
4
- // See /packages/api/src/routes/index.ts for reasoning
5
- /* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/no-explicit-any */
6
- /** All JSON inside the JS code must be camel case */
7
- const codeCase = "camel";
8
- //
9
- // Helpers
10
- //
11
- /** Shortcut for routes that have no params, query nor body */
12
- export const reqEmpty = {
13
- writeReq: () => ({}),
14
- parseReq: () => [],
15
- };
16
- /** Shortcut for routes that have only body */
17
- export const reqOnlyBody = (type, bodySchema) => ({
18
- writeReq: (items) => ({ body: type.toJson(items) }),
19
- parseReq: ({ body }) => [type.fromJson(body)],
20
- schema: { body: bodySchema },
21
- });
22
- /** SSZ factory helper + typed. limit = 1e6 as a big enough random number */
23
- export function ArrayOf(elementType) {
24
- if (isCompositeType(elementType)) {
25
- return new ListCompositeType(elementType, Infinity);
26
- }
27
- else if (isBasicType(elementType)) {
28
- return new ListBasicType(elementType, Infinity);
29
- }
30
- else {
31
- throw Error(`Unknown type ${elementType.typeName}`);
32
- }
33
- }
34
- /**
35
- * SSZ factory helper + typed to return responses of type
36
- * ```
37
- * data: T
38
- * ```
39
- */
40
- export function ContainerData(dataType) {
41
- return {
42
- toJson: ({ data }) => ({
43
- data: dataType.toJson(data),
44
- }),
45
- fromJson: ({ data }) => {
46
- return {
47
- data: dataType.fromJson(data),
48
- };
49
- },
50
- };
51
- }
52
- /**
53
- * SSZ factory helper + typed to return responses of type `{data: T; executionOptimistic: boolean}`
54
- */
55
- export function ContainerDataExecutionOptimistic(dataType) {
56
- return {
57
- toJson: ({ data, executionOptimistic }) => ({
58
- data: dataType.toJson(data),
59
- execution_optimistic: executionOptimistic,
60
- }),
61
- fromJson: ({ data, execution_optimistic }) => {
62
- return {
63
- data: dataType.fromJson(data),
64
- executionOptimistic: execution_optimistic,
65
- };
66
- },
67
- };
68
- }
69
- /**
70
- * SSZ factory helper + typed to return responses of type
71
- * ```
72
- * data: T
73
- * version: ForkName
74
- * ```
75
- */
76
- export function WithVersion(getType) {
77
- return {
78
- toJson: ({ data, version }) => ({
79
- data: getType(version ?? ForkName.phase0).toJson(data),
80
- version,
81
- }),
82
- fromJson: ({ data, version }) => {
83
- // Teku returns fork as UPPERCASE
84
- version = version.toLowerCase();
85
- // Un-safe external data, validate version is known ForkName value
86
- if (!(version in ForkName))
87
- throw Error(`Invalid version ${version}`);
88
- return {
89
- data: getType(version).fromJson(data),
90
- version: version,
91
- };
92
- },
93
- };
94
- }
95
- /**
96
- * SSZ factory helper to wrap an existing type with `{executionOptimistic: boolean}`
97
- */
98
- export function WithExecutionOptimistic(type) {
99
- return {
100
- toJson: ({ executionOptimistic, ...data }) => ({
101
- ...type.toJson(data),
102
- execution_optimistic: executionOptimistic,
103
- }),
104
- fromJson: ({ execution_optimistic, ...data }) => ({
105
- ...type.fromJson(data),
106
- executionOptimistic: execution_optimistic,
107
- }),
108
- };
109
- }
110
- /**
111
- * SSZ factory helper to wrap an existing type with `{finalized: boolean}`
112
- */
113
- export function WithFinalized(type) {
114
- return {
115
- toJson: ({ finalized, ...data }) => ({
116
- ...type.toJson(data),
117
- finalized,
118
- }),
119
- fromJson: ({ finalized, ...data }) => ({
120
- ...type.fromJson(data),
121
- finalized,
122
- }),
123
- };
124
- }
125
- /**
126
- * SSZ factory helper to wrap an existing type with `{executionPayloadValue: Wei, consensusBlockValue: Wei}`
127
- */
128
- export function WithBlockValues(type) {
129
- return {
130
- toJson: ({ executionPayloadValue, consensusBlockValue, ...data }) => ({
131
- ...type.toJson(data),
132
- execution_payload_value: executionPayloadValue.toString(),
133
- consensus_block_value: consensusBlockValue.toString(),
134
- }),
135
- fromJson: ({ execution_payload_value, consensus_block_value, ...data }) => ({
136
- ...type.fromJson(data),
137
- // For cross client usage where beacon or validator are of separate clients, executionPayloadValue could be missing
138
- executionPayloadValue: BigInt(execution_payload_value ?? "0"),
139
- consensusBlockValue: BigInt(consensus_block_value ?? "0"),
140
- }),
141
- };
142
- }
143
- /** Helper to only translate casing */
144
- export function jsonType(jsonCase) {
145
- return {
146
- toJson: (val) => objectToExpectedCase(val, jsonCase),
147
- fromJson: (json) => objectToExpectedCase(json, codeCase),
148
- };
149
- }
150
- /** Helper to not do any transformation with the type */
151
- export function sameType() {
152
- return {
153
- toJson: (val) => val,
154
- fromJson: (json) => json,
155
- };
1
+ export function isRequestWithoutBody(definition) {
2
+ return definition.method === "GET" || definition.req.schema.body === undefined;
156
3
  }
157
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AA4GA,MAAM,UAAU,oBAAoB,CAClC,UAA8B;IAE9B,OAAO,UAAU,CAAC,MAAM,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;AACjF,CAAC"}
@@ -12,7 +12,7 @@ export type Token = {
12
12
  type Args = Record<string, string | number>;
13
13
  export declare function urlToTokens(path: string): Token[];
14
14
  /**
15
- * Compile a route URL formater with syntax `/path/{var1}/{var2}`.
15
+ * Compile a route URL formatter with syntax `/path/{var1}/{var2}`.
16
16
  * Returns a function that expects an object `{var1: 1, var2: 2}`, and returns`/path/1/2`.
17
17
  *
18
18
  * It's cheap enough to be negligible. For the sample input below it costs:
@@ -21,7 +21,7 @@ export declare function urlToTokens(path: string): Token[];
21
21
  * - execute with template literal: 12 ns / op
22
22
  * @param path `/eth/v1/validator/:name/attester/:epoch`
23
23
  */
24
- export declare function compileRouteUrlFormater(path: string): (arg: Args) => string;
24
+ export declare function compileRouteUrlFormatter(path: string): (arg: Args) => string;
25
25
  /**
26
26
  * Converts notation used in OpenAPI spec '/states/{state_id}',
27
27
  * into colon notation used by fastify '/states/:state_id'
@@ -43,7 +43,7 @@ export function urlToTokens(path) {
43
43
  return tokens;
44
44
  }
45
45
  /**
46
- * Compile a route URL formater with syntax `/path/{var1}/{var2}`.
46
+ * Compile a route URL formatter with syntax `/path/{var1}/{var2}`.
47
47
  * Returns a function that expects an object `{var1: 1, var2: 2}`, and returns`/path/1/2`.
48
48
  *
49
49
  * It's cheap enough to be negligible. For the sample input below it costs:
@@ -52,7 +52,7 @@ export function urlToTokens(path) {
52
52
  * - execute with template literal: 12 ns / op
53
53
  * @param path `/eth/v1/validator/:name/attester/:epoch`
54
54
  */
55
- export function compileRouteUrlFormater(path) {
55
+ export function compileRouteUrlFormatter(path) {
56
56
  const tokens = urlToTokens(path);
57
57
  // Return a faster function if there's not ':' token
58
58
  if (tokens.length === 1 && tokens[0].type === TokenType.String) {
@@ -68,7 +68,7 @@ export function compileRouteUrlFormater(path) {
68
68
  }
69
69
  }
70
70
  });
71
- return function urlFormater(args) {
71
+ return function urlFormatter(args) {
72
72
  // Don't use .map() or .join(), it's x3 slower
73
73
  let s = "";
74
74
  for (const fn of fns)
@@ -1 +1 @@
1
- {"version":3,"file":"urlFormat.js","sourceRoot":"","sources":["../../src/utils/urlFormat.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;gBACjE,CAAC;gBACD,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;YAED,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACd,MAAM,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;gBACjE,UAAU,GAAG,KAAK,CAAC;gBACnB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC,oDAAoD;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QAC/D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YAEzB,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;gBACzB,OAAO,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,WAAW,CAAC,IAAU;QACpC,8CAA8C;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS,CAAC,MAAM;gBACnB,OAAO,KAAK,CAAC,GAAG,CAAC;YAEnB,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxB,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"urlFormat.js","sourceRoot":"","sources":["../../src/utils/urlFormat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MediaType } from "./headers.js";
2
+ export declare enum WireFormat {
3
+ json = "json",
4
+ ssz = "ssz"
5
+ }
6
+ export declare function getWireFormat(mediaType: MediaType): WireFormat;
7
+ export declare function fromWireFormat(wireFormat: WireFormat): MediaType;
8
+ //# sourceMappingURL=wireFormat.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { MediaType } from "./headers.js";
2
+ export var WireFormat;
3
+ (function (WireFormat) {
4
+ WireFormat["json"] = "json";
5
+ WireFormat["ssz"] = "ssz";
6
+ })(WireFormat || (WireFormat = {}));
7
+ export function getWireFormat(mediaType) {
8
+ switch (mediaType) {
9
+ case MediaType.json:
10
+ return WireFormat.json;
11
+ case MediaType.ssz:
12
+ return WireFormat.ssz;
13
+ }
14
+ }
15
+ export function fromWireFormat(wireFormat) {
16
+ switch (wireFormat) {
17
+ case WireFormat.json:
18
+ return MediaType.json;
19
+ case WireFormat.ssz:
20
+ return MediaType.ssz;
21
+ }
22
+ }
23
+ //# sourceMappingURL=wireFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireFormat.js","sourceRoot":"","sources":["../../src/utils/wireFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yBAAW,CAAA;AACb,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,UAAU,CAAC,GAAG,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAsB;IACnD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,IAAI;YAClB,OAAO,SAAS,CAAC,IAAI,CAAC;QACxB,KAAK,UAAU,CAAC,GAAG;YACjB,OAAO,SAAS,CAAC,GAAG,CAAC;IACzB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -11,12 +11,15 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.20.0-dev.f6d3bce802",
14
+ "version": "1.20.0-dev.ff253a7e4b",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
18
18
  "import": "./lib/index.js"
19
19
  },
20
+ "./server": {
21
+ "import": "./lib/server/index.js"
22
+ },
20
23
  "./beacon": {
21
24
  "import": "./lib/beacon/index.js"
22
25
  },
@@ -69,10 +72,10 @@
69
72
  "dependencies": {
70
73
  "@chainsafe/persistent-merkle-tree": "^0.7.1",
71
74
  "@chainsafe/ssz": "^0.15.1",
72
- "@lodestar/config": "1.20.0-dev.f6d3bce802",
73
- "@lodestar/params": "1.20.0-dev.f6d3bce802",
74
- "@lodestar/types": "1.20.0-dev.f6d3bce802",
75
- "@lodestar/utils": "1.20.0-dev.f6d3bce802",
75
+ "@lodestar/config": "1.20.0-dev.ff253a7e4b",
76
+ "@lodestar/params": "1.20.0-dev.ff253a7e4b",
77
+ "@lodestar/types": "1.20.0-dev.ff253a7e4b",
78
+ "@lodestar/utils": "1.20.0-dev.ff253a7e4b",
76
79
  "eventsource": "^2.0.2",
77
80
  "qs": "^6.11.1"
78
81
  },
@@ -89,5 +92,5 @@
89
92
  "api",
90
93
  "blockchain"
91
94
  ],
92
- "gitHead": "2e9f61bb527cffdc3a76084679f0c09c6a5d2f7c"
95
+ "gitHead": "207be15acfe3aa0b91582e39ae2fdb170e2d76f1"
93
96
  }
@@ -1,44 +0,0 @@
1
- import { HttpStatusCode, HttpSuccessCodes } from "./utils/client/httpStatusCode.js";
2
- import { Resolves } from "./utils/types.js";
3
- export type ResponseFormat = "json" | "ssz";
4
- export type APIClientHandler = (...args: any) => PromiseLike<ApiClientResponse>;
5
- export type APIServerHandler = (...args: any) => PromiseLike<unknown>;
6
- export type ApiClientSuccessResponse<S extends keyof any, T> = {
7
- ok: true;
8
- status: S;
9
- response: T;
10
- error?: never;
11
- };
12
- export type ApiClientErrorResponse<S extends Exclude<HttpStatusCode, HttpSuccessCodes>> = {
13
- ok: false;
14
- status: S;
15
- response?: never;
16
- error: {
17
- code: S;
18
- operationId: string;
19
- message?: string;
20
- };
21
- };
22
- export type ApiClientResponse<S extends Partial<{
23
- [K in HttpSuccessCodes]: unknown;
24
- }> = {
25
- [K in HttpSuccessCodes]: unknown;
26
- }, E extends Exclude<HttpStatusCode, HttpSuccessCodes> = Exclude<HttpStatusCode, HttpSuccessCodes>> = {
27
- [K in keyof S]: ApiClientSuccessResponse<K, S[K]>;
28
- }[keyof S] | {
29
- [K in E]: ApiClientErrorResponse<K>;
30
- }[E] | ApiClientErrorResponse<HttpStatusCode.INTERNAL_SERVER_ERROR>;
31
- export type ApiClientResponseData<T extends ApiClientResponse> = T extends {
32
- ok: true;
33
- response: infer R;
34
- } ? R : never;
35
- export type GenericOptions = Record<string, unknown>;
36
- export type ServerApi<T extends Record<string, APIClientHandler>> = {
37
- [K in keyof T]: (...args: [...args: Parameters<T[K]>, opts?: GenericOptions]) => Promise<ApiClientResponseData<Resolves<T[K]>>>;
38
- };
39
- export type ClientApi<T extends Record<string, APIServerHandler>> = {
40
- [K in keyof T]: (...args: Parameters<T[K]>) => Promise<ApiClientResponse<{
41
- [HttpStatusCode.OK]: Resolves<T[K]>;
42
- }>>;
43
- };
44
- //# sourceMappingURL=interfaces.d.ts.map
package/lib/interfaces.js DELETED
@@ -1,2 +0,0 @@
1
- import { HttpStatusCode } from "./utils/client/httpStatusCode.js";
2
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAmB,MAAM,kCAAkC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { ResponseFormat } from "../interfaces.js";
2
- declare enum MediaType {
3
- json = "application/json",
4
- ssz = "application/octet-stream"
5
- }
6
- export declare function writeAcceptHeader(format?: ResponseFormat): MediaType;
7
- export declare function parseAcceptHeader(accept?: string): ResponseFormat;
8
- export {};
9
- //# sourceMappingURL=acceptHeader.d.ts.map
@@ -1,62 +0,0 @@
1
- var MediaType;
2
- (function (MediaType) {
3
- MediaType["json"] = "application/json";
4
- MediaType["ssz"] = "application/octet-stream";
5
- })(MediaType || (MediaType = {}));
6
- const MEDIA_TYPES = {
7
- json: MediaType.json,
8
- ssz: MediaType.ssz,
9
- };
10
- function responseFormatFromMediaType(mediaType) {
11
- switch (mediaType) {
12
- default:
13
- case MediaType.json:
14
- return "json";
15
- case MediaType.ssz:
16
- return "ssz";
17
- }
18
- }
19
- export function writeAcceptHeader(format) {
20
- return format === undefined ? MEDIA_TYPES["json"] : MEDIA_TYPES[format];
21
- }
22
- export function parseAcceptHeader(accept) {
23
- // Use json by default.
24
- if (!accept) {
25
- return "json";
26
- }
27
- const mediaTypes = Object.values(MediaType);
28
- // Respect Quality Values per RFC-9110
29
- // Acceptable mime-types are comma separated with optional whitespace
30
- return responseFormatFromMediaType(accept
31
- .toLowerCase()
32
- .split(",")
33
- .map((x) => x.trim())
34
- .reduce((best, current) => {
35
- // An optional `;` delimiter is used to separate the mime-type from the weight
36
- // Normalize here, using 1 as the default qvalue
37
- const quality = current.includes(";") ? current.split(";") : [current, "q=1"];
38
- const mediaType = quality[0].trim();
39
- // If the mime type isn't acceptable, move on to the next entry
40
- if (!mediaTypes.includes(mediaType)) {
41
- return best;
42
- }
43
- // Otherwise, the portion after the semicolon has optional whitespace and the constant prefix "q="
44
- const weight = quality[1].trim();
45
- if (!weight.startsWith("q=")) {
46
- // If the format is invalid simply move on to the next entry
47
- return best;
48
- }
49
- const qvalue = +weight.replace("q=", "");
50
- if (isNaN(qvalue) || qvalue > 1 || qvalue <= 0) {
51
- // If we can't convert the qvalue to a valid number, move on
52
- return best;
53
- }
54
- if (qvalue < best[0]) {
55
- // This mime type is not preferred
56
- return best;
57
- }
58
- // This mime type is preferred
59
- return [qvalue, mediaType];
60
- }, [0, MediaType.json])[1]);
61
- }
62
- //# sourceMappingURL=acceptHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acceptHeader.js","sourceRoot":"","sources":["../../src/utils/acceptHeader.ts"],"names":[],"mappings":"AAEA,IAAK,SAGJ;AAHD,WAAK,SAAS;IACZ,sCAAyB,CAAA;IACzB,6CAAgC,CAAA;AAClC,CAAC,EAHI,SAAS,KAAT,SAAS,QAGb;AAED,MAAM,WAAW,GAEb;IACF,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,GAAG,EAAE,SAAS,CAAC,GAAG;CACnB,CAAC;AAEF,SAAS,2BAA2B,CAAC,SAAoB;IACvD,QAAQ,SAAS,EAAE,CAAC;QAClB,QAAQ;QACR,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAe;IAC/C,uBAAuB;IACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE5C,sCAAsC;IACtC,qEAAqE;IACrE,OAAO,2BAA2B,CAChC,MAAM;SACH,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CACL,CAAC,IAAyB,EAAE,OAAe,EAAuB,EAAE;QAClE,8EAA8E;QAC9E,gDAAgD;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAe,CAAC;QAEjD,+DAA+D;QAC/D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kGAAkG;QAClG,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,4DAA4D;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/C,4DAA4D;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,kCAAkC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CACpB,CAAC,CAAC,CAAC,CACP,CAAC;AACJ,CAAC"}
@@ -1,29 +0,0 @@
1
- import { RouteDef, ReqGeneric, ReturnTypes, ReqSerializer, ReqSerializers, RoutesData } from "../types.js";
2
- import { APIClientHandler } from "../../interfaces.js";
3
- import { FetchOpts, IHttpClient } from "./httpClient.js";
4
- type ExtraOpts = {
5
- retries?: number;
6
- };
7
- type ParametersWithOptionalExtraOpts<T extends (...args: any) => any> = [...Parameters<T>, ExtraOpts] | Parameters<T>;
8
- export type ApiWithExtraOpts<T extends Record<string, APIClientHandler>> = {
9
- [K in keyof T]: (...args: ParametersWithOptionalExtraOpts<T[K]>) => ReturnType<T[K]>;
10
- };
11
- /**
12
- * Format FetchFn opts from Fn arguments given a route definition and request serializer.
13
- * For routes that return only JSOn use @see getGenericJsonClient
14
- */
15
- export declare function getFetchOptsSerializer<Fn extends (...args: any) => any, ReqType extends ReqGeneric>(routeDef: RouteDef, reqSerializer: ReqSerializer<Fn, ReqType>, routeId: string): (...args: Parameters<Fn>) => FetchOpts;
16
- /**
17
- * Generate `getFetchOptsSerializer()` functions for all routes in `Api`
18
- */
19
- export declare function getFetchOptsSerializers<Api extends Record<string, APIClientHandler>, ReqTypes extends {
20
- [K in keyof Api]: ReqGeneric;
21
- }>(routesData: RoutesData<Api>, reqSerializers: ReqSerializers<Api, ReqTypes>): { [K in keyof RoutesData<Api>]: (...args: Parameters<Api[keyof Api]>) => FetchOpts; };
22
- /**
23
- * Get a generic JSON client from route definition, request serializer and return types.
24
- */
25
- export declare function generateGenericJsonClient<Api extends Record<string, APIClientHandler>, ReqTypes extends {
26
- [K in keyof Api]: ReqGeneric;
27
- }>(routesData: RoutesData<Api>, reqSerializers: ReqSerializers<Api, ReqTypes>, returnTypes: ReturnTypes<Api>, fetchFn: IHttpClient): ApiWithExtraOpts<Api>;
28
- export {};
29
- //# sourceMappingURL=client.d.ts.map
@@ -1,88 +0,0 @@
1
- import { TimeoutError, mapValues } from "@lodestar/utils";
2
- import { compileRouteUrlFormater } from "../urlFormat.js";
3
- import { HttpError } from "./httpClient.js";
4
- import { HttpStatusCode } from "./httpStatusCode.js";
5
- // See /packages/api/src/routes/index.ts for reasoning
6
- /**
7
- * Format FetchFn opts from Fn arguments given a route definition and request serializer.
8
- * For routes that return only JSOn use @see getGenericJsonClient
9
- */
10
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
11
- export function getFetchOptsSerializer(routeDef, reqSerializer, routeId) {
12
- const urlFormater = compileRouteUrlFormater(routeDef.url);
13
- return function getFetchOpts(...args) {
14
- const req = reqSerializer.writeReq(...args);
15
- return {
16
- url: urlFormater(req.params ?? {}),
17
- method: routeDef.method,
18
- query: Object.keys(req.query ?? {}).length ? req.query : undefined,
19
- body: req.body,
20
- headers: req.headers,
21
- routeId,
22
- };
23
- };
24
- }
25
- /**
26
- * Generate `getFetchOptsSerializer()` functions for all routes in `Api`
27
- */
28
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
29
- export function getFetchOptsSerializers(routesData, reqSerializers) {
30
- return mapValues(routesData, (routeDef, routeId) => getFetchOptsSerializer(routeDef, reqSerializers[routeId], routeId));
31
- }
32
- /**
33
- * Get a generic JSON client from route definition, request serializer and return types.
34
- */
35
- export function generateGenericJsonClient(routesData, reqSerializers, returnTypes, fetchFn) {
36
- return mapValues(routesData, (routeDef, routeId) => {
37
- const fetchOptsSerializer = getFetchOptsSerializer(routeDef, reqSerializers[routeId], routeId);
38
- const returnType = returnTypes[routeId];
39
- return async function request(...args) {
40
- try {
41
- // extract the extraOpts if provided
42
- //
43
- const argLen = args?.length ?? 0;
44
- const lastArg = args[argLen];
45
- const retries = lastArg?.retries;
46
- const extraOpts = { retries };
47
- if (returnType) {
48
- // open extraOpts first if some serializer wants to add some overriding param
49
- const res = await fetchFn.json({
50
- ...extraOpts,
51
- ...fetchOptsSerializer(...args),
52
- });
53
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/return-await
54
- return { ok: true, response: returnType.fromJson(res.body), status: res.status };
55
- }
56
- else {
57
- // We need to avoid parsing the response as the servers might just
58
- // response status 200 and close the request instead of writing an
59
- // empty json response. We return the status code.
60
- const res = await fetchFn.request({
61
- ...extraOpts,
62
- ...fetchOptsSerializer(...args),
63
- });
64
- // eslint-disable-next-line @typescript-eslint/return-await
65
- return { ok: true, response: undefined, status: res.status };
66
- }
67
- }
68
- catch (err) {
69
- if (err instanceof HttpError) {
70
- return {
71
- ok: false,
72
- status: err.status,
73
- error: { code: err.status, message: err.message, operationId: routeId },
74
- };
75
- }
76
- if (err instanceof TimeoutError) {
77
- return {
78
- ok: false,
79
- status: HttpStatusCode.INTERNAL_SERVER_ERROR,
80
- error: { code: HttpStatusCode.INTERNAL_SERVER_ERROR, message: err.message, operationId: routeId },
81
- };
82
- }
83
- throw err;
84
- }
85
- };
86
- });
87
- }
88
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client/client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"httpStatusCode.js","sourceRoot":"","sources":["../../../src/utils/client/httpStatusCode.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;GAGG;AACH,MAAM,CAAN,IAAY,cAqXX;AArXD,WAAY,cAAc;IACxB;;;;;;OAMG;IACH,6DAAc,CAAA;IAEd;;OAEG;IACH,mFAAyB,CAAA;IAEzB;;;;OAIG;IACH,iEAAgB,CAAA;IAEhB;;;;;OAKG;IACH,iDAAQ,CAAA;IAER;;OAEG;IACH,2DAAa,CAAA;IAEb;;;OAGG;IACH,6DAAc,CAAA;IAEd;;;;OAIG;IACH,uGAAmC,CAAA;IAEnC;;OAEG;IACH,iEAAgB,CAAA;IAEhB;;;OAGG;IACH,uEAAmB,CAAA;IAEnB;;;;OAIG;IACH,2EAAqB,CAAA;IAErB;;;OAGG;IACH,qEAAkB,CAAA;IAElB;;;OAGG;IACH,6EAAsB,CAAA;IAEtB;;;OAGG;IACH,2DAAa,CAAA;IAEb;;;;OAIG;IACH,6EAAsB,CAAA;IAEtB;;OAEG;IACH,+EAAuB,CAAA;IAEvB;;;;;;;OAOG;IACH,uDAAW,CAAA;IAEX;;;;;OAKG;IACH,+DAAe,CAAA;IAEf;;;OAGG;IACH,qEAAkB,CAAA;IAElB;;;;OAIG;IACH,+DAAe,CAAA;IAEf;;OAEG;IACH,qEAAkB,CAAA;IAElB;;;;;OAKG;IACH,iFAAwB,CAAA;IAExB;;;;OAIG;IACH,iFAAwB,CAAA;IAExB;;;OAGG;IACH,mEAAiB,CAAA;IAEjB;;;;;OAKG;IACH,qEAAkB,CAAA;IAElB;;;;OAIG;IACH,6EAAsB,CAAA;IAEtB;;;OAGG;IACH,+DAAe,CAAA;IAEf;;;OAGG;IACH,+DAAe,CAAA;IAEf;;;OAGG;IACH,iFAAwB,CAAA;IAExB;;OAEG;IACH,yEAAoB,CAAA;IAEpB;;OAEG;IACH,uGAAmC,CAAA;IAEnC;;;;OAIG;IACH,2EAAqB,CAAA;IAErB;;;OAGG;IACH,6DAAc,CAAA;IAEd;;;;;;OAMG;IACH,qDAAU,CAAA;IAEV;;OAEG;IACH,2EAAqB,CAAA;IAErB;;OAEG;IACH,mFAAyB,CAAA;IAEzB;;OAEG;IACH,+EAAuB,CAAA;IAEvB;;;;OAIG;IACH,qEAAkB,CAAA;IAElB;;;OAGG;IACH,yFAA4B,CAAA;IAE5B;;;;OAIG;IACH,uFAA2B,CAAA;IAE3B;;OAEG;IACH,iFAAwB,CAAA;IAExB;;;;OAIG;IACH,uEAAmB,CAAA;IAEnB;;OAEG;IACH,mFAAyB,CAAA;IAEzB;;OAEG;IACH,qFAA0B,CAAA;IAE1B;;OAEG;IACH,yDAAY,CAAA;IAEZ;;OAEG;IACH,+EAAuB,CAAA;IAEvB;;OAEG;IACH,6EAAsB,CAAA;IAEtB;;;;;OAKG;IACH,uFAA2B,CAAA;IAE3B;;OAEG;IACH,+EAAuB,CAAA;IAEvB;;;OAGG;IACH,2GAAqC,CAAA;IAErC;;;OAGG;IACH,uGAAmC,CAAA;IAEnC;;OAEG;IACH,uFAA2B,CAAA;IAE3B;;;OAGG;IACH,2EAAqB,CAAA;IAErB;;OAEG;IACH,mEAAiB,CAAA;IAEjB;;;OAGG;IACH,mFAAyB,CAAA;IAEzB;;OAEG;IACH,2EAAqB,CAAA;IAErB;;OAEG;IACH,iGAAgC,CAAA;IAEhC;;OAEG;IACH,2FAA6B,CAAA;IAE7B;;OAEG;IACH,qFAA0B,CAAA;IAE1B;;OAEG;IACH,uEAAmB,CAAA;IAEnB;;OAEG;IACH,qEAAkB,CAAA;IAElB;;;;OAIG;IACH,2GAAqC,CAAA;AACvC,CAAC,EArXW,cAAc,KAAd,cAAc,QAqXzB"}
@@ -1,6 +0,0 @@
1
- import { allForks } from "@lodestar/types";
2
- import { ForkBlobs } from "@lodestar/params";
3
- import { TypeJson } from "./types.js";
4
- export declare function allForksSignedBlockContentsReqSerializer(blockSerializer: (data: allForks.SignedBeaconBlock) => TypeJson<allForks.SignedBeaconBlock>): TypeJson<allForks.SignedBlockContents>;
5
- export declare function allForksBlockContentsResSerializer(fork: ForkBlobs): TypeJson<allForks.BlockContents>;
6
- //# sourceMappingURL=routes.d.ts.map
@@ -1,31 +0,0 @@
1
- import { ssz } from "@lodestar/types";
2
- /* eslint-disable @typescript-eslint/naming-convention */
3
- export function allForksSignedBlockContentsReqSerializer(blockSerializer) {
4
- return {
5
- toJson: (data) => ({
6
- signed_block: blockSerializer(data.signedBlock).toJson(data.signedBlock),
7
- kzg_proofs: ssz.deneb.KZGProofs.toJson(data.kzgProofs),
8
- blobs: ssz.deneb.Blobs.toJson(data.blobs),
9
- }),
10
- fromJson: (data) => ({
11
- signedBlock: blockSerializer(data.signed_block).fromJson(data.signed_block),
12
- kzgProofs: ssz.deneb.KZGProofs.fromJson(data.kzg_proofs),
13
- blobs: ssz.deneb.Blobs.fromJson(data.blobs),
14
- }),
15
- };
16
- }
17
- export function allForksBlockContentsResSerializer(fork) {
18
- return {
19
- toJson: (data) => ({
20
- block: ssz.allForks[fork].BeaconBlock.toJson(data.block),
21
- kzg_proofs: ssz.deneb.KZGProofs.toJson(data.kzgProofs),
22
- blobs: ssz.deneb.Blobs.toJson(data.blobs),
23
- }),
24
- fromJson: (data) => ({
25
- block: ssz.allForks[fork].BeaconBlock.fromJson(data.block),
26
- kzgProofs: ssz.deneb.KZGProofs.fromJson(data.kzg_proofs),
27
- blobs: ssz.deneb.Blobs.fromJson(data.blobs),
28
- }),
29
- };
30
- }
31
- //# sourceMappingURL=routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/utils/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAK9C,yDAAyD;AAEzD,MAAM,UAAU,wCAAwC,CACtD,eAA2F;IAE3F,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjB,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YACxE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACtD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1C,CAAC;QAEF,QAAQ,EAAE,CAAC,IAAkE,EAAE,EAAE,CAAC,CAAC;YACjF,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,YAA0C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YACzG,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YACxD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAe;IAChE,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjB,KAAK,EAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAwD,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACtG,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACtD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1C,CAAC;QACF,QAAQ,EAAE,CAAC,IAAmF,EAAE,EAAE,CAAC,CAAC;YAClG,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1D,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YACxD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/server/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAEjC,YAAY,UAA0B,EAAE,OAAgB;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import { ChainForkConfig } from "@lodestar/config";
2
- import { ReqGeneric, RouteGroupDefinition } from "../types.js";
3
- import { APIServerHandler } from "../../interfaces.js";
4
- import { ServerRoute } from "./types.js";
5
- export type ServerRoutes<Api extends Record<string, APIServerHandler>, ReqTypes extends {
6
- [K in keyof Api]: ReqGeneric;
7
- }> = {
8
- [K in keyof Api]: ServerRoute<ReqTypes[K]>;
9
- };
10
- export declare function getGenericJsonServer<Api extends Record<string, APIServerHandler>, ReqTypes extends {
11
- [K in keyof Api]: ReqGeneric;
12
- }>({ routesData, getReqSerializers, getReturnTypes }: RouteGroupDefinition<Api, ReqTypes>, config: ChainForkConfig, api: Api): ServerRoutes<Api, ReqTypes>;
13
- //# sourceMappingURL=genericJsonServer.d.ts.map