@lodestar/api 1.50.0-dev.c04a499311 → 1.50.0-dev.c24762bc60
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.
- package/lib/beacon/client/events.d.ts.map +1 -1
- package/lib/beacon/client/events.js +2 -1
- package/lib/beacon/client/events.js.map +1 -1
- package/lib/beacon/routes/beacon/index.d.ts +28 -2
- package/lib/beacon/routes/beacon/index.d.ts.map +1 -1
- package/lib/beacon/routes/beacon/index.js +23 -1
- package/lib/beacon/routes/beacon/index.js.map +1 -1
- package/lib/beacon/routes/beacon/state.d.ts +30 -5
- package/lib/beacon/routes/beacon/state.d.ts.map +1 -1
- package/lib/beacon/routes/beacon/state.js +25 -4
- package/lib/beacon/routes/beacon/state.js.map +1 -1
- package/lib/beacon/routes/debug.d.ts +24 -10
- package/lib/beacon/routes/debug.d.ts.map +1 -1
- package/lib/beacon/routes/debug.js +19 -18
- package/lib/beacon/routes/debug.js.map +1 -1
- package/lib/beacon/routes/events.d.ts +2 -0
- package/lib/beacon/routes/events.d.ts.map +1 -1
- package/lib/beacon/routes/events.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/client/error.d.ts +8 -1
- package/lib/utils/client/error.d.ts.map +1 -1
- package/lib/utils/client/error.js +4 -1
- package/lib/utils/client/error.js.map +1 -1
- package/lib/utils/client/response.d.ts +1 -1
- package/lib/utils/client/response.d.ts.map +1 -1
- package/lib/utils/client/response.js +11 -7
- package/lib/utils/client/response.js.map +1 -1
- package/lib/utils/fork.d.ts +2 -1
- package/lib/utils/fork.d.ts.map +1 -1
- package/lib/utils/fork.js +7 -1
- package/lib/utils/fork.js.map +1 -1
- package/package.json +7 -7
- package/src/beacon/client/events.ts +3 -0
- package/src/beacon/routes/beacon/index.ts +40 -1
- package/src/beacon/routes/beacon/state.ts +50 -8
- package/src/beacon/routes/debug.ts +22 -18
- package/src/beacon/routes/events.ts +2 -0
- package/src/index.ts +1 -1
- package/src/utils/client/error.ts +7 -1
- package/src/utils/client/response.ts +13 -9
- 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
|
-
|
|
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
|
|
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?:
|
|
194
|
+
const errJson = JSON.parse(errBody) as {message?: string; failures?: ApiFailure[]};
|
|
194
195
|
if (errJson.message) {
|
|
195
|
-
if (errJson.failures) {
|
|
196
|
-
return
|
|
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`);
|