@lodestar/api 1.50.0-dev.1bf214377e → 1.50.0-dev.1cd749f306

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/lib/beacon/client/events.d.ts.map +1 -1
  2. package/lib/beacon/client/events.js +2 -1
  3. package/lib/beacon/client/events.js.map +1 -1
  4. package/lib/beacon/routes/beacon/index.d.ts +28 -2
  5. package/lib/beacon/routes/beacon/index.d.ts.map +1 -1
  6. package/lib/beacon/routes/beacon/index.js +23 -1
  7. package/lib/beacon/routes/beacon/index.js.map +1 -1
  8. package/lib/beacon/routes/beacon/state.d.ts +30 -5
  9. package/lib/beacon/routes/beacon/state.d.ts.map +1 -1
  10. package/lib/beacon/routes/beacon/state.js +25 -4
  11. package/lib/beacon/routes/beacon/state.js.map +1 -1
  12. package/lib/beacon/routes/debug.d.ts +24 -10
  13. package/lib/beacon/routes/debug.d.ts.map +1 -1
  14. package/lib/beacon/routes/debug.js +19 -18
  15. package/lib/beacon/routes/debug.js.map +1 -1
  16. package/lib/beacon/routes/events.d.ts +2 -0
  17. package/lib/beacon/routes/events.d.ts.map +1 -1
  18. package/lib/beacon/routes/events.js.map +1 -1
  19. package/lib/index.d.ts +1 -1
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/utils/client/error.d.ts +8 -1
  23. package/lib/utils/client/error.d.ts.map +1 -1
  24. package/lib/utils/client/error.js +4 -1
  25. package/lib/utils/client/error.js.map +1 -1
  26. package/lib/utils/client/response.d.ts +1 -1
  27. package/lib/utils/client/response.d.ts.map +1 -1
  28. package/lib/utils/client/response.js +11 -7
  29. package/lib/utils/client/response.js.map +1 -1
  30. package/lib/utils/fork.d.ts +2 -1
  31. package/lib/utils/fork.d.ts.map +1 -1
  32. package/lib/utils/fork.js +7 -1
  33. package/lib/utils/fork.js.map +1 -1
  34. package/package.json +7 -7
  35. package/src/beacon/client/events.ts +3 -0
  36. package/src/beacon/routes/beacon/index.ts +40 -1
  37. package/src/beacon/routes/beacon/state.ts +50 -8
  38. package/src/beacon/routes/debug.ts +22 -18
  39. package/src/beacon/routes/events.ts +2 -0
  40. package/src/index.ts +1 -1
  41. package/src/utils/client/error.ts +7 -1
  42. package/src/utils/client/response.ts +13 -9
  43. package/src/utils/fork.ts +10 -0
@@ -2,7 +2,7 @@ import {HeadersExtra, HttpHeader, parseContentTypeHeader} from "../headers.js";
2
2
  import {HttpStatusCode} from "../httpStatusCode.js";
3
3
  import {Endpoint} from "../types.js";
4
4
  import {WireFormat, getWireFormat} from "../wireFormat.js";
5
- import {ApiError} from "./error.js";
5
+ import {ApiError, ApiFailure} from "./error.js";
6
6
  import {RouteDefinitionExtra} from "./request.js";
7
7
 
8
8
  export type RawBody =
@@ -162,7 +162,8 @@ export class ApiResponse<E extends Endpoint> extends Response {
162
162
  return null;
163
163
  }
164
164
 
165
- return new ApiError(this.getErrorMessage(), this.status, this.definition.operationId);
165
+ const {message, failures} = this.parseErrorBody();
166
+ return new ApiError(message, this.status, this.definition.operationId, failures);
166
167
  }
167
168
 
168
169
  async errorBody(): Promise<string> {
@@ -187,19 +188,22 @@ export class ApiResponse<E extends Endpoint> extends Response {
187
188
  return this._errorBody;
188
189
  }
189
190
 
190
- private getErrorMessage(): string {
191
+ private parseErrorBody(): {message: string; failures?: ApiFailure[]} {
191
192
  const errBody = this.resolvedErrorBody();
192
193
  try {
193
- const errJson = JSON.parse(errBody) as {message?: string; failures?: {message: string}[]};
194
+ const errJson = JSON.parse(errBody) as {message?: string; failures?: ApiFailure[]};
194
195
  if (errJson.message) {
195
- if (errJson.failures) {
196
- return `${errJson.message}\n` + errJson.failures.map((e) => e.message).join("\n");
196
+ if (Array.isArray(errJson.failures)) {
197
+ return {
198
+ message: `${errJson.message}\n` + errJson.failures.map((e) => e.message).join("\n"),
199
+ failures: errJson.failures,
200
+ };
197
201
  }
198
- return errJson.message;
202
+ return {message: errJson.message};
199
203
  }
200
- return errBody;
204
+ return {message: errBody};
201
205
  } catch (_e) {
202
- return errBody || this.statusText;
206
+ return {message: errBody || this.statusText};
203
207
  }
204
208
  }
205
209
  }
package/src/utils/fork.ts CHANGED
@@ -3,10 +3,12 @@ import {
3
3
  ForkPostAltair,
4
4
  ForkPostBellatrix,
5
5
  ForkPostDeneb,
6
+ ForkPostElectra,
6
7
  ForkPostGloas,
7
8
  isForkPostAltair,
8
9
  isForkPostBellatrix,
9
10
  isForkPostDeneb,
11
+ isForkPostElectra,
10
12
  isForkPostGloas,
11
13
  } from "@lodestar/params";
12
14
  import {SSZTypesFor, sszTypesFor} from "@lodestar/types";
@@ -45,6 +47,14 @@ export function getPostDenebForkTypes(fork: ForkName): SSZTypesFor<ForkPostDeneb
45
47
  return sszTypesFor(fork);
46
48
  }
47
49
 
50
+ export function getPostElectraForkTypes(fork: ForkName): SSZTypesFor<ForkPostElectra> {
51
+ if (!isForkPostElectra(fork)) {
52
+ throw Error(`Invalid fork=${fork} for post-electra fork types`);
53
+ }
54
+
55
+ return sszTypesFor(fork);
56
+ }
57
+
48
58
  export function getPostGloasForkTypes(fork: ForkName): SSZTypesFor<ForkPostGloas> {
49
59
  if (!isForkPostGloas(fork)) {
50
60
  throw Error(`Invalid fork=${fork} for post-gloas fork types`);