@lodestar/api 1.19.0 → 1.20.0-dev.0f3109f322
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/README.md +2 -2
- package/lib/beacon/client/beacon.d.ts +4 -3
- package/lib/beacon/client/beacon.js +3 -36
- package/lib/beacon/client/beacon.js.map +1 -1
- package/lib/beacon/client/config.d.ts +4 -3
- package/lib/beacon/client/config.js +3 -6
- package/lib/beacon/client/config.js.map +1 -1
- package/lib/beacon/client/debug.d.ts +4 -3
- package/lib/beacon/client/debug.js +4 -45
- package/lib/beacon/client/debug.js.map +1 -1
- package/lib/beacon/client/events.d.ts +5 -2
- package/lib/beacon/client/events.js +33 -35
- package/lib/beacon/client/events.js.map +1 -1
- package/lib/beacon/client/index.d.ts +6 -3
- package/lib/beacon/client/index.js +2 -2
- package/lib/beacon/client/index.js.map +1 -1
- package/lib/beacon/client/lightclient.d.ts +4 -3
- package/lib/beacon/client/lightclient.js +4 -7
- package/lib/beacon/client/lightclient.js.map +1 -1
- package/lib/beacon/client/lodestar.d.ts +4 -3
- package/lib/beacon/client/lodestar.js +4 -7
- package/lib/beacon/client/lodestar.js.map +1 -1
- package/lib/beacon/client/node.d.ts +4 -3
- package/lib/beacon/client/node.js +4 -7
- package/lib/beacon/client/node.js.map +1 -1
- package/lib/beacon/client/proof.d.ts +5 -4
- package/lib/beacon/client/proof.js +5 -61
- package/lib/beacon/client/proof.js.map +1 -1
- package/lib/beacon/client/validator.d.ts +4 -3
- package/lib/beacon/client/validator.js +4 -7
- package/lib/beacon/client/validator.js.map +1 -1
- package/lib/beacon/index.d.ts +5 -5
- package/lib/beacon/index.js.map +1 -1
- package/lib/beacon/routes/beacon/block.d.ts +286 -167
- package/lib/beacon/routes/beacon/block.js +317 -117
- package/lib/beacon/routes/beacon/block.js.map +1 -1
- package/lib/beacon/routes/beacon/index.d.ts +6 -588
- package/lib/beacon/routes/beacon/index.js +16 -26
- package/lib/beacon/routes/beacon/index.js.map +1 -1
- package/lib/beacon/routes/beacon/pool.d.ts +155 -117
- package/lib/beacon/routes/beacon/pool.js +146 -42
- package/lib/beacon/routes/beacon/pool.js.map +1 -1
- package/lib/beacon/routes/beacon/rewards.d.ts +113 -101
- package/lib/beacon/routes/beacon/rewards.js +98 -63
- package/lib/beacon/routes/beacon/rewards.js.map +1 -1
- package/lib/beacon/routes/beacon/state.d.ts +172 -226
- package/lib/beacon/routes/beacon/state.js +204 -126
- package/lib/beacon/routes/beacon/state.js.map +1 -1
- package/lib/beacon/routes/config.d.ts +21 -36
- package/lib/beacon/routes/config.js +45 -24
- package/lib/beacon/routes/config.js.map +1 -1
- package/lib/beacon/routes/debug.d.ts +22 -104
- package/lib/beacon/routes/debug.js +53 -45
- package/lib/beacon/routes/debug.js.map +1 -1
- package/lib/beacon/routes/events.d.ts +24 -20
- package/lib/beacon/routes/events.js +40 -18
- package/lib/beacon/routes/events.js.map +1 -1
- package/lib/beacon/routes/index.d.ts +19 -19
- package/lib/beacon/routes/index.js +1 -0
- package/lib/beacon/routes/index.js.map +1 -1
- package/lib/beacon/routes/lightclient.d.ts +34 -56
- package/lib/beacon/routes/lightclient.js +108 -48
- package/lib/beacon/routes/lightclient.js.map +1 -1
- package/lib/beacon/routes/lodestar.d.ts +74 -148
- package/lib/beacon/routes/lodestar.js +126 -77
- package/lib/beacon/routes/lodestar.js.map +1 -1
- package/lib/beacon/routes/node.d.ts +48 -82
- package/lib/beacon/routes/node.js +90 -57
- package/lib/beacon/routes/node.js.map +1 -1
- package/lib/beacon/routes/proof.d.ts +25 -31
- package/lib/beacon/routes/proof.js +44 -24
- package/lib/beacon/routes/proof.js.map +1 -1
- package/lib/beacon/routes/validator.d.ts +524 -325
- package/lib/beacon/routes/validator.js +468 -213
- package/lib/beacon/routes/validator.js.map +1 -1
- package/lib/beacon/server/beacon.d.ts +3 -4
- package/lib/beacon/server/beacon.js +4 -57
- package/lib/beacon/server/beacon.js.map +1 -1
- package/lib/beacon/server/config.d.ts +3 -4
- package/lib/beacon/server/config.js +4 -5
- package/lib/beacon/server/config.js.map +1 -1
- package/lib/beacon/server/debug.d.ts +3 -4
- package/lib/beacon/server/debug.js +4 -54
- package/lib/beacon/server/debug.js.map +1 -1
- package/lib/beacon/server/events.d.ts +4 -4
- package/lib/beacon/server/events.js +17 -23
- package/lib/beacon/server/events.js.map +1 -1
- package/lib/beacon/server/index.d.ts +7 -8
- package/lib/beacon/server/index.js +13 -14
- package/lib/beacon/server/index.js.map +1 -1
- package/lib/beacon/server/lightclient.d.ts +3 -4
- package/lib/beacon/server/lightclient.js +4 -5
- package/lib/beacon/server/lightclient.js.map +1 -1
- package/lib/beacon/server/lodestar.d.ts +3 -4
- package/lib/beacon/server/lodestar.js +4 -5
- package/lib/beacon/server/lodestar.js.map +1 -1
- package/lib/beacon/server/node.d.ts +3 -4
- package/lib/beacon/server/node.js +4 -18
- package/lib/beacon/server/node.js.map +1 -1
- package/lib/beacon/server/proof.d.ts +3 -4
- package/lib/beacon/server/proof.js +4 -36
- package/lib/beacon/server/proof.js.map +1 -1
- package/lib/beacon/server/validator.d.ts +3 -4
- package/lib/beacon/server/validator.js +4 -21
- package/lib/beacon/server/validator.js.map +1 -1
- package/lib/builder/client.d.ts +4 -6
- package/lib/builder/client.js +3 -9
- package/lib/builder/client.js.map +1 -1
- package/lib/builder/index.d.ts +8 -5
- package/lib/builder/index.js +4 -1
- package/lib/builder/index.js.map +1 -1
- package/lib/builder/routes.d.ts +25 -39
- package/lib/builder/routes.js +78 -34
- package/lib/builder/routes.js.map +1 -1
- package/lib/builder/server/index.d.ts +6 -6
- package/lib/builder/server/index.js +7 -8
- package/lib/builder/server/index.js.map +1 -1
- package/lib/index.d.ts +9 -6
- package/lib/index.js +5 -4
- package/lib/index.js.map +1 -1
- package/lib/keymanager/client.d.ts +4 -3
- package/lib/keymanager/client.js +4 -7
- package/lib/keymanager/client.js.map +1 -1
- package/lib/keymanager/index.d.ts +5 -4
- package/lib/keymanager/index.js +1 -1
- package/lib/keymanager/index.js.map +1 -1
- package/lib/keymanager/routes.d.ts +155 -177
- package/lib/keymanager/routes.js +236 -123
- package/lib/keymanager/routes.js.map +1 -1
- package/lib/keymanager/server/index.d.ts +6 -6
- package/lib/keymanager/server/index.js +7 -8
- package/lib/keymanager/server/index.js.map +1 -1
- package/lib/server/index.d.ts +2 -0
- package/lib/server/index.js +3 -0
- package/lib/server/index.js.map +1 -0
- package/lib/utils/client/error.d.ts +6 -0
- package/lib/utils/client/error.js +8 -0
- package/lib/utils/client/error.js.map +1 -0
- package/lib/utils/client/httpClient.d.ts +35 -75
- package/lib/utils/client/httpClient.js +201 -153
- package/lib/utils/client/httpClient.js.map +1 -1
- package/lib/utils/client/index.d.ts +6 -2
- package/lib/utils/client/index.js +6 -2
- package/lib/utils/client/index.js.map +1 -1
- package/lib/utils/client/method.d.ts +11 -0
- package/lib/utils/client/method.js +27 -0
- package/lib/utils/client/method.js.map +1 -0
- package/lib/utils/client/request.d.ts +33 -0
- package/lib/utils/client/request.js +66 -0
- package/lib/utils/client/request.js.map +1 -0
- package/lib/utils/client/response.d.ts +36 -0
- package/lib/utils/client/response.js +167 -0
- package/lib/utils/client/response.js.map +1 -0
- package/lib/utils/codecs.d.ts +28 -0
- package/lib/utils/codecs.js +105 -0
- package/lib/utils/codecs.js.map +1 -0
- package/lib/utils/fork.d.ts +7 -0
- package/lib/utils/fork.js +29 -0
- package/lib/utils/fork.js.map +1 -0
- package/lib/utils/headers.d.ts +37 -0
- package/lib/utils/headers.js +134 -0
- package/lib/utils/headers.js.map +1 -0
- package/lib/utils/httpStatusCode.js.map +1 -0
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/metadata.d.ts +88 -0
- package/lib/utils/metadata.js +126 -0
- package/lib/utils/metadata.js.map +1 -0
- package/lib/utils/schema.d.ts +31 -17
- package/lib/utils/schema.js +18 -6
- package/lib/utils/schema.js.map +1 -1
- package/lib/utils/serdes.d.ts +3 -0
- package/lib/utils/serdes.js +13 -0
- package/lib/utils/serdes.js.map +1 -1
- package/lib/utils/server/{errors.d.ts → error.d.ts} +2 -2
- package/lib/utils/server/{errors.js → error.js} +1 -1
- package/lib/utils/server/error.js.map +1 -0
- package/lib/utils/server/handler.d.ts +11 -0
- package/lib/utils/server/handler.js +115 -0
- package/lib/utils/server/handler.js.map +1 -0
- package/lib/utils/server/index.d.ts +5 -4
- package/lib/utils/server/index.js +5 -4
- package/lib/utils/server/index.js.map +1 -1
- package/lib/utils/server/method.d.ts +35 -0
- package/lib/utils/server/method.js +2 -0
- package/lib/utils/server/method.js.map +1 -0
- package/lib/utils/server/parser.d.ts +3 -0
- package/lib/utils/server/parser.js +20 -0
- package/lib/utils/server/parser.js.map +1 -0
- package/lib/utils/server/route.d.ts +20 -0
- package/lib/utils/server/route.js +19 -0
- package/lib/utils/server/route.js.map +1 -0
- package/lib/utils/types.d.ts +116 -104
- package/lib/utils/types.js +2 -155
- package/lib/utils/types.js.map +1 -1
- package/lib/utils/urlFormat.d.ts +2 -2
- package/lib/utils/urlFormat.js +3 -3
- package/lib/utils/urlFormat.js.map +1 -1
- package/lib/utils/wireFormat.d.ts +8 -0
- package/lib/utils/wireFormat.js +23 -0
- package/lib/utils/wireFormat.js.map +1 -0
- package/package.json +9 -6
- package/lib/interfaces.d.ts +0 -44
- package/lib/interfaces.js +0 -2
- package/lib/interfaces.js.map +0 -1
- package/lib/utils/acceptHeader.d.ts +0 -9
- package/lib/utils/acceptHeader.js +0 -62
- package/lib/utils/acceptHeader.js.map +0 -1
- package/lib/utils/client/client.d.ts +0 -29
- package/lib/utils/client/client.js +0 -88
- package/lib/utils/client/client.js.map +0 -1
- package/lib/utils/client/httpStatusCode.js.map +0 -1
- package/lib/utils/routes.d.ts +0 -6
- package/lib/utils/routes.js +0 -31
- package/lib/utils/routes.js.map +0 -1
- package/lib/utils/server/errors.js.map +0 -1
- package/lib/utils/server/genericJsonServer.d.ts +0 -13
- package/lib/utils/server/genericJsonServer.js +0 -32
- package/lib/utils/server/genericJsonServer.js.map +0 -1
- package/lib/utils/server/registerRoute.d.ts +0 -3
- package/lib/utils/server/registerRoute.js +0 -13
- package/lib/utils/server/registerRoute.js.map +0 -1
- package/lib/utils/server/types.d.ts +0 -22
- package/lib/utils/server/types.js +0 -2
- package/lib/utils/server/types.js.map +0 -1
- /package/lib/utils/{client/httpStatusCode.d.ts → httpStatusCode.d.ts} +0 -0
- /package/lib/utils/{client/httpStatusCode.js → httpStatusCode.js} +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { toBase64 } from "@lodestar/utils";
|
|
2
|
+
export var HttpHeader;
|
|
3
|
+
(function (HttpHeader) {
|
|
4
|
+
HttpHeader["ContentType"] = "content-type";
|
|
5
|
+
HttpHeader["Accept"] = "accept";
|
|
6
|
+
HttpHeader["Authorization"] = "authorization";
|
|
7
|
+
})(HttpHeader || (HttpHeader = {}));
|
|
8
|
+
export var MediaType;
|
|
9
|
+
(function (MediaType) {
|
|
10
|
+
MediaType["json"] = "application/json";
|
|
11
|
+
MediaType["ssz"] = "application/octet-stream";
|
|
12
|
+
})(MediaType || (MediaType = {}));
|
|
13
|
+
export const SUPPORTED_MEDIA_TYPES = Object.values(MediaType);
|
|
14
|
+
function isSupportedMediaType(mediaType, supported) {
|
|
15
|
+
return mediaType !== null && supported.includes(mediaType);
|
|
16
|
+
}
|
|
17
|
+
export function parseContentTypeHeader(contentType) {
|
|
18
|
+
if (!contentType) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const mediaType = contentType.split(";", 1)[0].trim().toLowerCase();
|
|
22
|
+
return isSupportedMediaType(mediaType, SUPPORTED_MEDIA_TYPES) ? mediaType : null;
|
|
23
|
+
}
|
|
24
|
+
export function parseAcceptHeader(accept, supported = SUPPORTED_MEDIA_TYPES) {
|
|
25
|
+
if (!accept) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
// Respect Quality Values per RFC-9110
|
|
29
|
+
// Acceptable mime-types are comma separated with optional whitespace
|
|
30
|
+
return 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 (!isSupportedMediaType(mediaType, supported)) {
|
|
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, null])[1];
|
|
61
|
+
}
|
|
62
|
+
export function setAuthorizationHeader(url, headers, { bearerToken }) {
|
|
63
|
+
if (bearerToken && !headers.has(HttpHeader.Authorization)) {
|
|
64
|
+
headers.set(HttpHeader.Authorization, `Bearer ${bearerToken}`);
|
|
65
|
+
}
|
|
66
|
+
if (url.username || url.password) {
|
|
67
|
+
if (!headers.has(HttpHeader.Authorization)) {
|
|
68
|
+
headers.set(HttpHeader.Authorization, `Basic ${toBase64(decodeURIComponent(`${url.username}:${url.password}`))}`);
|
|
69
|
+
}
|
|
70
|
+
// Remove the username and password from the URL
|
|
71
|
+
url.username = "";
|
|
72
|
+
url.password = "";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export function mergeHeaders(...headersList) {
|
|
76
|
+
const mergedHeaders = new Headers();
|
|
77
|
+
for (const headers of headersList) {
|
|
78
|
+
if (!headers) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (Array.isArray(headers)) {
|
|
82
|
+
for (const [key, value] of headers) {
|
|
83
|
+
mergedHeaders.set(key, value);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (headers instanceof Headers) {
|
|
87
|
+
for (const [key, value] of headers) {
|
|
88
|
+
mergedHeaders.set(key, value);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
93
|
+
mergedHeaders.set(key, value);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return mergedHeaders;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get header from request headers, by default an error will be thrown if the header
|
|
101
|
+
* is not present. The header can be marked as optional in which case the return value
|
|
102
|
+
* might be `undefined` but no error will be thrown if header is missing.
|
|
103
|
+
*/
|
|
104
|
+
export function fromHeaders(headers, name, required = true) {
|
|
105
|
+
// Fastify converts all headers to lower case
|
|
106
|
+
const header = headers[name.toLowerCase()];
|
|
107
|
+
if (header === undefined && required) {
|
|
108
|
+
throw Error(`${name} header is required`);
|
|
109
|
+
}
|
|
110
|
+
return header;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Extension of Headers object returned by Fetch API
|
|
114
|
+
*/
|
|
115
|
+
export class HeadersExtra extends Headers {
|
|
116
|
+
/**
|
|
117
|
+
* Get required header from response headers
|
|
118
|
+
*/
|
|
119
|
+
getRequired(name) {
|
|
120
|
+
const header = this.get(name);
|
|
121
|
+
if (header === null) {
|
|
122
|
+
throw Error(`${name} header is required in response`);
|
|
123
|
+
}
|
|
124
|
+
return header;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get optional header from response headers.
|
|
128
|
+
* Return default value if it does not exist
|
|
129
|
+
*/
|
|
130
|
+
getOrDefault(name, defaultValue) {
|
|
131
|
+
return this.get(name) ?? defaultValue;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpStatusCode.js","sourceRoot":"","sources":["../../src/utils/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"}
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.js
CHANGED
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,wBAAwB,EAAE,mBAAmB,EAAC,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ContainerType, ValueOf } from "@chainsafe/ssz";
|
|
2
|
+
import { ForkName } from "@lodestar/params";
|
|
3
|
+
import { StringType } from "@lodestar/types";
|
|
4
|
+
import { ResponseMetadataCodec } from "./types.js";
|
|
5
|
+
export declare const VersionType: ContainerType<{
|
|
6
|
+
/**
|
|
7
|
+
* Fork code name
|
|
8
|
+
*/
|
|
9
|
+
version: StringType<ForkName>;
|
|
10
|
+
}>;
|
|
11
|
+
export declare const ExecutionOptimisticType: ContainerType<{
|
|
12
|
+
/**
|
|
13
|
+
* True if the response references an unverified execution payload.
|
|
14
|
+
* Optimistic information may be invalidated at a later time.
|
|
15
|
+
*/
|
|
16
|
+
executionOptimistic: import("@chainsafe/ssz").BooleanType;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const ExecutionOptimisticAndFinalizedType: ContainerType<{
|
|
19
|
+
/**
|
|
20
|
+
* True if the response references the finalized history of the chain, as determined by fork choice
|
|
21
|
+
*/
|
|
22
|
+
finalized: import("@chainsafe/ssz").BooleanType;
|
|
23
|
+
/**
|
|
24
|
+
* True if the response references an unverified execution payload.
|
|
25
|
+
* Optimistic information may be invalidated at a later time.
|
|
26
|
+
*/
|
|
27
|
+
executionOptimistic: import("@chainsafe/ssz").BooleanType;
|
|
28
|
+
}>;
|
|
29
|
+
export declare const ExecutionOptimisticAndVersionType: ContainerType<{
|
|
30
|
+
/**
|
|
31
|
+
* Fork code name
|
|
32
|
+
*/
|
|
33
|
+
version: StringType<ForkName>;
|
|
34
|
+
/**
|
|
35
|
+
* True if the response references an unverified execution payload.
|
|
36
|
+
* Optimistic information may be invalidated at a later time.
|
|
37
|
+
*/
|
|
38
|
+
executionOptimistic: import("@chainsafe/ssz").BooleanType;
|
|
39
|
+
}>;
|
|
40
|
+
export declare const ExecutionOptimisticFinalizedAndVersionType: ContainerType<{
|
|
41
|
+
/**
|
|
42
|
+
* Fork code name
|
|
43
|
+
*/
|
|
44
|
+
version: StringType<ForkName>;
|
|
45
|
+
/**
|
|
46
|
+
* True if the response references the finalized history of the chain, as determined by fork choice
|
|
47
|
+
*/
|
|
48
|
+
finalized: import("@chainsafe/ssz").BooleanType;
|
|
49
|
+
/**
|
|
50
|
+
* True if the response references an unverified execution payload.
|
|
51
|
+
* Optimistic information may be invalidated at a later time.
|
|
52
|
+
*/
|
|
53
|
+
executionOptimistic: import("@chainsafe/ssz").BooleanType;
|
|
54
|
+
}>;
|
|
55
|
+
export declare const ExecutionOptimisticAndDependentRootType: ContainerType<{
|
|
56
|
+
/**
|
|
57
|
+
* The block root that this response is dependent on
|
|
58
|
+
*/
|
|
59
|
+
dependentRoot: StringType<string>;
|
|
60
|
+
/**
|
|
61
|
+
* True if the response references an unverified execution payload.
|
|
62
|
+
* Optimistic information may be invalidated at a later time.
|
|
63
|
+
*/
|
|
64
|
+
executionOptimistic: import("@chainsafe/ssz").BooleanType;
|
|
65
|
+
}>;
|
|
66
|
+
export type VersionMeta = ValueOf<typeof VersionType>;
|
|
67
|
+
export type ExecutionOptimisticMeta = ValueOf<typeof ExecutionOptimisticType>;
|
|
68
|
+
export type ExecutionOptimisticAndFinalizedMeta = ValueOf<typeof ExecutionOptimisticAndFinalizedType>;
|
|
69
|
+
export type ExecutionOptimisticAndVersionMeta = ValueOf<typeof ExecutionOptimisticAndVersionType>;
|
|
70
|
+
export type ExecutionOptimisticFinalizedAndVersionMeta = ValueOf<typeof ExecutionOptimisticFinalizedAndVersionType>;
|
|
71
|
+
export type ExecutionOptimisticAndDependentRootMeta = ValueOf<typeof ExecutionOptimisticAndDependentRootType>;
|
|
72
|
+
export declare enum MetaHeader {
|
|
73
|
+
Version = "Eth-Consensus-Version",
|
|
74
|
+
ConsensusBlockValue = "Eth-Consensus-Block-Value",
|
|
75
|
+
ExecutionPayloadBlinded = "Eth-Execution-Payload-Blinded",
|
|
76
|
+
ExecutionPayloadValue = "Eth-Execution-Payload-Value",
|
|
77
|
+
Finalized = "Eth-Consensus-Finalized",
|
|
78
|
+
DependentRoot = "Eth-Consensus-Dependent-Root",
|
|
79
|
+
ExecutionOptimistic = "Eth-Execution-Optimistic",
|
|
80
|
+
ExecutionPayloadSource = "Eth-Execution-Payload-Source"
|
|
81
|
+
}
|
|
82
|
+
export declare const ExecutionOptimisticCodec: ResponseMetadataCodec<ExecutionOptimisticMeta>;
|
|
83
|
+
export declare const VersionCodec: ResponseMetadataCodec<VersionMeta>;
|
|
84
|
+
export declare const ExecutionOptimisticAndVersionCodec: ResponseMetadataCodec<ExecutionOptimisticAndVersionMeta>;
|
|
85
|
+
export declare const ExecutionOptimisticAndFinalizedCodec: ResponseMetadataCodec<ExecutionOptimisticAndFinalizedMeta>;
|
|
86
|
+
export declare const ExecutionOptimisticFinalizedAndVersionCodec: ResponseMetadataCodec<ExecutionOptimisticFinalizedAndVersionMeta>;
|
|
87
|
+
export declare const ExecutionOptimisticAndDependentRootCodec: ResponseMetadataCodec<ExecutionOptimisticAndDependentRootMeta>;
|
|
88
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
+
import { ContainerType } from "@chainsafe/ssz";
|
|
3
|
+
import { StringType, ssz, stringType } from "@lodestar/types";
|
|
4
|
+
import { toBoolean } from "./serdes.js";
|
|
5
|
+
import { toForkName } from "./fork.js";
|
|
6
|
+
export const VersionType = new ContainerType({
|
|
7
|
+
/**
|
|
8
|
+
* Fork code name
|
|
9
|
+
*/
|
|
10
|
+
version: new StringType(),
|
|
11
|
+
});
|
|
12
|
+
VersionType.fields.version.fromJson = (json) => {
|
|
13
|
+
return toForkName(stringType.fromJson(json));
|
|
14
|
+
};
|
|
15
|
+
export const ExecutionOptimisticType = new ContainerType({
|
|
16
|
+
/**
|
|
17
|
+
* True if the response references an unverified execution payload.
|
|
18
|
+
* Optimistic information may be invalidated at a later time.
|
|
19
|
+
*/
|
|
20
|
+
executionOptimistic: ssz.Boolean,
|
|
21
|
+
}, { jsonCase: "eth2" });
|
|
22
|
+
export const ExecutionOptimisticAndFinalizedType = new ContainerType({
|
|
23
|
+
...ExecutionOptimisticType.fields,
|
|
24
|
+
/**
|
|
25
|
+
* True if the response references the finalized history of the chain, as determined by fork choice
|
|
26
|
+
*/
|
|
27
|
+
finalized: ssz.Boolean,
|
|
28
|
+
}, { jsonCase: "eth2" });
|
|
29
|
+
export const ExecutionOptimisticAndVersionType = new ContainerType({
|
|
30
|
+
...ExecutionOptimisticType.fields,
|
|
31
|
+
...VersionType.fields,
|
|
32
|
+
}, { jsonCase: "eth2" });
|
|
33
|
+
export const ExecutionOptimisticFinalizedAndVersionType = new ContainerType({
|
|
34
|
+
...ExecutionOptimisticAndFinalizedType.fields,
|
|
35
|
+
...VersionType.fields,
|
|
36
|
+
}, { jsonCase: "eth2" });
|
|
37
|
+
export const ExecutionOptimisticAndDependentRootType = new ContainerType({
|
|
38
|
+
...ExecutionOptimisticType.fields,
|
|
39
|
+
/**
|
|
40
|
+
* The block root that this response is dependent on
|
|
41
|
+
*/
|
|
42
|
+
dependentRoot: stringType,
|
|
43
|
+
}, { jsonCase: "eth2" });
|
|
44
|
+
export var MetaHeader;
|
|
45
|
+
(function (MetaHeader) {
|
|
46
|
+
MetaHeader["Version"] = "Eth-Consensus-Version";
|
|
47
|
+
MetaHeader["ConsensusBlockValue"] = "Eth-Consensus-Block-Value";
|
|
48
|
+
MetaHeader["ExecutionPayloadBlinded"] = "Eth-Execution-Payload-Blinded";
|
|
49
|
+
MetaHeader["ExecutionPayloadValue"] = "Eth-Execution-Payload-Value";
|
|
50
|
+
/* Lodestar-specific (non-standardized) headers */
|
|
51
|
+
MetaHeader["Finalized"] = "Eth-Consensus-Finalized";
|
|
52
|
+
MetaHeader["DependentRoot"] = "Eth-Consensus-Dependent-Root";
|
|
53
|
+
MetaHeader["ExecutionOptimistic"] = "Eth-Execution-Optimistic";
|
|
54
|
+
MetaHeader["ExecutionPayloadSource"] = "Eth-Execution-Payload-Source";
|
|
55
|
+
})(MetaHeader || (MetaHeader = {}));
|
|
56
|
+
export const ExecutionOptimisticCodec = {
|
|
57
|
+
toJson: (val) => ExecutionOptimisticType.toJson(val),
|
|
58
|
+
fromJson: (val) => ExecutionOptimisticType.fromJson(val),
|
|
59
|
+
toHeadersObject: (val) => ({
|
|
60
|
+
[MetaHeader.ExecutionOptimistic]: val.executionOptimistic.toString(),
|
|
61
|
+
}),
|
|
62
|
+
fromHeaders: (headers) => ({
|
|
63
|
+
executionOptimistic: toBoolean(headers.getOrDefault(MetaHeader.ExecutionOptimistic, "false")),
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
export const VersionCodec = {
|
|
67
|
+
toJson: (val) => VersionType.toJson(val),
|
|
68
|
+
fromJson: (val) => VersionType.fromJson(val),
|
|
69
|
+
toHeadersObject: (val) => ({
|
|
70
|
+
[MetaHeader.Version]: val.version,
|
|
71
|
+
}),
|
|
72
|
+
fromHeaders: (headers) => ({
|
|
73
|
+
version: toForkName(headers.getRequired(MetaHeader.Version)),
|
|
74
|
+
}),
|
|
75
|
+
};
|
|
76
|
+
export const ExecutionOptimisticAndVersionCodec = {
|
|
77
|
+
toJson: (val) => ExecutionOptimisticAndVersionType.toJson(val),
|
|
78
|
+
fromJson: (val) => ExecutionOptimisticAndVersionType.fromJson(val),
|
|
79
|
+
toHeadersObject: (val) => ({
|
|
80
|
+
[MetaHeader.ExecutionOptimistic]: val.executionOptimistic.toString(),
|
|
81
|
+
[MetaHeader.Version]: val.version,
|
|
82
|
+
}),
|
|
83
|
+
fromHeaders: (headers) => ({
|
|
84
|
+
executionOptimistic: toBoolean(headers.getOrDefault(MetaHeader.ExecutionOptimistic, "false")),
|
|
85
|
+
version: toForkName(headers.getRequired(MetaHeader.Version)),
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
export const ExecutionOptimisticAndFinalizedCodec = {
|
|
89
|
+
toJson: (val) => ExecutionOptimisticAndFinalizedType.toJson(val),
|
|
90
|
+
fromJson: (val) => ExecutionOptimisticAndFinalizedType.fromJson(val),
|
|
91
|
+
toHeadersObject: (val) => ({
|
|
92
|
+
[MetaHeader.ExecutionOptimistic]: val.executionOptimistic.toString(),
|
|
93
|
+
[MetaHeader.Finalized]: val.finalized.toString(),
|
|
94
|
+
}),
|
|
95
|
+
fromHeaders: (headers) => ({
|
|
96
|
+
executionOptimistic: toBoolean(headers.getOrDefault(MetaHeader.ExecutionOptimistic, "false")),
|
|
97
|
+
finalized: toBoolean(headers.getOrDefault(MetaHeader.Finalized, "false")),
|
|
98
|
+
}),
|
|
99
|
+
};
|
|
100
|
+
export const ExecutionOptimisticFinalizedAndVersionCodec = {
|
|
101
|
+
toJson: (val) => ExecutionOptimisticFinalizedAndVersionType.toJson(val),
|
|
102
|
+
fromJson: (val) => ExecutionOptimisticFinalizedAndVersionType.fromJson(val),
|
|
103
|
+
toHeadersObject: (val) => ({
|
|
104
|
+
[MetaHeader.ExecutionOptimistic]: val.executionOptimistic.toString(),
|
|
105
|
+
[MetaHeader.Finalized]: val.finalized.toString(),
|
|
106
|
+
[MetaHeader.Version]: val.version,
|
|
107
|
+
}),
|
|
108
|
+
fromHeaders: (headers) => ({
|
|
109
|
+
executionOptimistic: toBoolean(headers.getOrDefault(MetaHeader.ExecutionOptimistic, "false")),
|
|
110
|
+
finalized: toBoolean(headers.getOrDefault(MetaHeader.Finalized, "false")),
|
|
111
|
+
version: toForkName(headers.getRequired(MetaHeader.Version)),
|
|
112
|
+
}),
|
|
113
|
+
};
|
|
114
|
+
export const ExecutionOptimisticAndDependentRootCodec = {
|
|
115
|
+
toJson: (val) => ExecutionOptimisticAndDependentRootType.toJson(val),
|
|
116
|
+
fromJson: (val) => ExecutionOptimisticAndDependentRootType.fromJson(val),
|
|
117
|
+
toHeadersObject: (val) => ({
|
|
118
|
+
[MetaHeader.ExecutionOptimistic]: val.executionOptimistic.toString(),
|
|
119
|
+
[MetaHeader.DependentRoot]: val.dependentRoot,
|
|
120
|
+
}),
|
|
121
|
+
fromHeaders: (headers) => ({
|
|
122
|
+
executionOptimistic: toBoolean(headers.getOrDefault(MetaHeader.ExecutionOptimistic, "false")),
|
|
123
|
+
dependentRoot: headers.getRequired(MetaHeader.DependentRoot),
|
|
124
|
+
}),
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAC,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC;IAC3C;;OAEG;IACH,OAAO,EAAE,IAAI,UAAU,EAAY;CACpC,CAAC,CAAC;AACH,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IAC7C,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,aAAa,CACtD;IACE;;;OAGG;IACH,mBAAmB,EAAE,GAAG,CAAC,OAAO;CACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,aAAa,CAClE;IACE,GAAG,uBAAuB,CAAC,MAAM;IACjC;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC,OAAO;CACvB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,aAAa,CAChE;IACE,GAAG,uBAAuB,CAAC,MAAM;IACjC,GAAG,WAAW,CAAC,MAAM;CACtB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,0CAA0C,GAAG,IAAI,aAAa,CACzE;IACE,GAAG,mCAAmC,CAAC,MAAM;IAC7C,GAAG,WAAW,CAAC,MAAM;CACtB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,aAAa,CACtE;IACE,GAAG,uBAAuB,CAAC,MAAM;IACjC;;OAEG;IACH,aAAa,EAAE,UAAU;CAC1B,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;AASF,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,+CAAiC,CAAA;IACjC,+DAAiD,CAAA;IACjD,uEAAyD,CAAA;IACzD,mEAAqD,CAAA;IAErD,kDAAkD;IAClD,mDAAqC,CAAA;IACrC,4DAA8C,CAAA;IAC9C,8DAAgD,CAAA;IAChD,qEAAuD,CAAA;AACzD,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAmD;IACtF,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC;IACpD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC;IACxD,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE;KACrE,CAAC;IACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;KAC9F,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAuC;IAC9D,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;IACxC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC5C,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO;KAClC,CAAC;IACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC7D,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAA6D;IAC1G,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iCAAiC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC9D,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iCAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC;IAClE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACpE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO;KAClC,CAAC;IACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC7F,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC7D,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAA+D;IAC9G,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mCAAmC,CAAC,MAAM,CAAC,GAAG,CAAC;IAChE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mCAAmC,CAAC,QAAQ,CAAC,GAAG,CAAC;IACpE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACpE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;KACjD,CAAC;IACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC7F,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC1E,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,2CAA2C,GACtD;IACE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,0CAA0C,CAAC,MAAM,CAAC,GAAG,CAAC;IACvE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,0CAA0C,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3E,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACpE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;QAChD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO;KAClC,CAAC;IACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC7F,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC7D,CAAC;CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,wCAAwC,GACnD;IACE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,uCAAuC,CAAC,MAAM,CAAC,GAAG,CAAC;IACpE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,uCAAuC,CAAC,QAAQ,CAAC,GAAG,CAAC;IACxE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACpE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa;KAC9C,CAAC;IACF,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC7F,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC;KAC7D,CAAC;CACH,CAAC"}
|
package/lib/utils/schema.d.ts
CHANGED
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type JsonSchema = Record<string,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[K in keyof ReqType["params"]]: Schema;
|
|
6
|
-
};
|
|
7
|
-
query?: {
|
|
8
|
-
[K in keyof ReqType["query"]]: Schema;
|
|
9
|
-
};
|
|
10
|
-
body?: Schema;
|
|
1
|
+
import { Endpoint, HeaderParams, PathParams, QueryParams } from "./types.js";
|
|
2
|
+
type JsonSchema = Record<string, unknown>;
|
|
3
|
+
type RequireSchema<T> = {
|
|
4
|
+
[K in keyof T]-?: Schema;
|
|
11
5
|
};
|
|
6
|
+
export type SchemaDefinition<ReqType extends Endpoint["request"]> = (ReqType["params"] extends PathParams ? {
|
|
7
|
+
params: RequireSchema<ReqType["params"]>;
|
|
8
|
+
} : {
|
|
9
|
+
params?: never;
|
|
10
|
+
}) & (ReqType["query"] extends QueryParams ? {
|
|
11
|
+
query: RequireSchema<ReqType["query"]>;
|
|
12
|
+
} : {
|
|
13
|
+
query?: never;
|
|
14
|
+
}) & (ReqType["headers"] extends HeaderParams ? {
|
|
15
|
+
headers: RequireSchema<ReqType["headers"]>;
|
|
16
|
+
} : {
|
|
17
|
+
headers?: never;
|
|
18
|
+
}) & (ReqType extends {
|
|
19
|
+
body: unknown;
|
|
20
|
+
} ? {
|
|
21
|
+
body: Schema;
|
|
22
|
+
} : {
|
|
23
|
+
body?: never;
|
|
24
|
+
});
|
|
12
25
|
export declare enum Schema {
|
|
13
26
|
Uint = 0,
|
|
14
27
|
UintRequired = 1,
|
|
@@ -16,13 +29,14 @@ export declare enum Schema {
|
|
|
16
29
|
String = 3,
|
|
17
30
|
StringRequired = 4,
|
|
18
31
|
StringArray = 5,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
32
|
+
StringArrayRequired = 6,
|
|
33
|
+
UintOrStringRequired = 7,
|
|
34
|
+
UintOrStringArray = 8,
|
|
35
|
+
Object = 9,
|
|
36
|
+
ObjectArray = 10,
|
|
37
|
+
AnyArray = 11,
|
|
38
|
+
Boolean = 12
|
|
25
39
|
}
|
|
26
|
-
export declare function getFastifySchema(schemaDef: SchemaDefinition<
|
|
40
|
+
export declare function getFastifySchema<T extends Endpoint["request"]>(schemaDef: SchemaDefinition<T>): JsonSchema;
|
|
27
41
|
export {};
|
|
28
42
|
//# sourceMappingURL=schema.d.ts.map
|
package/lib/utils/schema.js
CHANGED
|
@@ -6,12 +6,13 @@ export var Schema;
|
|
|
6
6
|
Schema[Schema["String"] = 3] = "String";
|
|
7
7
|
Schema[Schema["StringRequired"] = 4] = "StringRequired";
|
|
8
8
|
Schema[Schema["StringArray"] = 5] = "StringArray";
|
|
9
|
-
Schema[Schema["
|
|
10
|
-
Schema[Schema["
|
|
11
|
-
Schema[Schema["
|
|
12
|
-
Schema[Schema["
|
|
13
|
-
Schema[Schema["
|
|
14
|
-
Schema[Schema["
|
|
9
|
+
Schema[Schema["StringArrayRequired"] = 6] = "StringArrayRequired";
|
|
10
|
+
Schema[Schema["UintOrStringRequired"] = 7] = "UintOrStringRequired";
|
|
11
|
+
Schema[Schema["UintOrStringArray"] = 8] = "UintOrStringArray";
|
|
12
|
+
Schema[Schema["Object"] = 9] = "Object";
|
|
13
|
+
Schema[Schema["ObjectArray"] = 10] = "ObjectArray";
|
|
14
|
+
Schema[Schema["AnyArray"] = 11] = "AnyArray";
|
|
15
|
+
Schema[Schema["Boolean"] = 12] = "Boolean";
|
|
15
16
|
})(Schema || (Schema = {}));
|
|
16
17
|
/**
|
|
17
18
|
* Return JSON schema from a Schema enum. Useful to declare schemas in a succinct format
|
|
@@ -27,6 +28,7 @@ function getJsonSchemaItem(schema) {
|
|
|
27
28
|
case Schema.StringRequired:
|
|
28
29
|
return { type: "string" };
|
|
29
30
|
case Schema.StringArray:
|
|
31
|
+
case Schema.StringArrayRequired:
|
|
30
32
|
return { type: "array", items: { type: "string" } };
|
|
31
33
|
case Schema.UintOrStringRequired:
|
|
32
34
|
return { anyOf: [{ type: "string" }, { type: "integer" }] };
|
|
@@ -47,6 +49,7 @@ function isRequired(schema) {
|
|
|
47
49
|
case Schema.UintRequired:
|
|
48
50
|
case Schema.StringRequired:
|
|
49
51
|
case Schema.UintOrStringRequired:
|
|
52
|
+
case Schema.StringArrayRequired:
|
|
50
53
|
return true;
|
|
51
54
|
default:
|
|
52
55
|
return false;
|
|
@@ -75,6 +78,15 @@ export function getFastifySchema(schemaDef) {
|
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
}
|
|
81
|
+
if (schemaDef.headers) {
|
|
82
|
+
schema.headers = { type: "object", required: [], properties: {} };
|
|
83
|
+
for (const [key, def] of Object.entries(schemaDef.headers)) {
|
|
84
|
+
schema.headers.properties[key] = getJsonSchemaItem(def);
|
|
85
|
+
if (isRequired(def)) {
|
|
86
|
+
schema.headers.required.push(key);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
78
90
|
return schema;
|
|
79
91
|
}
|
|
80
92
|
//# sourceMappingURL=schema.js.map
|
package/lib/utils/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/serdes.d.ts
CHANGED
|
@@ -23,6 +23,9 @@ export declare function fromU64Str(u64Str: U64Str): number;
|
|
|
23
23
|
export declare function toU64Str(u64: U64): U64Str;
|
|
24
24
|
export declare function fromU64StrOpt(u64Str: U64Str | undefined): U64 | undefined;
|
|
25
25
|
export declare function toU64StrOpt(u64: U64 | undefined): U64Str | undefined;
|
|
26
|
+
export declare function toValidatorIdsStr(ids?: (string | number)[]): string[] | undefined;
|
|
27
|
+
export declare function fromValidatorIdsStr(ids?: string[]): (string | number)[] | undefined;
|
|
26
28
|
export declare function toGraffitiHex(utf8: string): string;
|
|
27
29
|
export declare function fromGraffitiHex(hex: string): string;
|
|
30
|
+
export declare function toBoolean(value: string): boolean;
|
|
28
31
|
//# sourceMappingURL=serdes.d.ts.map
|
package/lib/utils/serdes.js
CHANGED
|
@@ -54,6 +54,12 @@ export function fromU64StrOpt(u64Str) {
|
|
|
54
54
|
export function toU64StrOpt(u64) {
|
|
55
55
|
return u64 !== undefined ? toU64Str(u64) : undefined;
|
|
56
56
|
}
|
|
57
|
+
export function toValidatorIdsStr(ids) {
|
|
58
|
+
return ids?.map((id) => (typeof id === "string" ? id : toU64Str(id)));
|
|
59
|
+
}
|
|
60
|
+
export function fromValidatorIdsStr(ids) {
|
|
61
|
+
return ids?.map((id) => (typeof id === "string" && id.startsWith("0x") ? id : fromU64Str(id)));
|
|
62
|
+
}
|
|
57
63
|
const GRAFFITI_HEX_LENGTH = 66;
|
|
58
64
|
export function toGraffitiHex(utf8) {
|
|
59
65
|
const hex = toHexString(new TextEncoder().encode(utf8));
|
|
@@ -76,4 +82,11 @@ export function fromGraffitiHex(hex) {
|
|
|
76
82
|
return hex;
|
|
77
83
|
}
|
|
78
84
|
}
|
|
85
|
+
export function toBoolean(value) {
|
|
86
|
+
value = value.toLowerCase();
|
|
87
|
+
if (value !== "true" && value !== "false") {
|
|
88
|
+
throw Error(`Invalid boolean ${value}`);
|
|
89
|
+
}
|
|
90
|
+
return value === "true";
|
|
91
|
+
}
|
|
79
92
|
//# sourceMappingURL=serdes.js.map
|
package/lib/utils/serdes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serdes.js","sourceRoot":"","sources":["../../src/utils/serdes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serdes.js","sourceRoot":"","sources":["../../src/utils/serdes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HttpErrorCodes } from "../
|
|
1
|
+
import { HttpErrorCodes } from "../httpStatusCode.js";
|
|
2
2
|
export declare class ApiError extends Error {
|
|
3
3
|
statusCode: HttpErrorCodes;
|
|
4
4
|
constructor(statusCode: HttpErrorCodes, message?: string);
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/utils/server/error.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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type * as fastify from "fastify";
|
|
2
|
+
import { Endpoint, JsonRequestData, RouteDefinition } from "../types.js";
|
|
3
|
+
import { ApplicationMethod } from "./method.js";
|
|
4
|
+
export type FastifyHandler<E extends Endpoint> = fastify.RouteHandlerMethod<fastify.RawServerDefault, fastify.RawRequestDefaultExpression<fastify.RawServerDefault>, fastify.RawReplyDefaultExpression<fastify.RawServerDefault>, {
|
|
5
|
+
Body: E["request"] extends JsonRequestData ? E["request"]["body"] : undefined;
|
|
6
|
+
Querystring: E["request"]["query"];
|
|
7
|
+
Params: E["request"]["params"];
|
|
8
|
+
Headers: E["request"]["headers"];
|
|
9
|
+
}, fastify.ContextConfigDefault>;
|
|
10
|
+
export declare function createFastifyHandler<E extends Endpoint>(definition: RouteDefinition<E>, method: ApplicationMethod<E>, _operationId: string): FastifyHandler<E>;
|
|
11
|
+
//# sourceMappingURL=handler.d.ts.map
|