@lodestar/api 1.35.0-dev.fcf8d024ea → 1.35.0-dev.feed916580

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 (143) hide show
  1. package/package.json +11 -17
  2. package/lib/beacon/client/beacon.d.ts.map +0 -1
  3. package/lib/beacon/client/config.d.ts.map +0 -1
  4. package/lib/beacon/client/debug.d.ts.map +0 -1
  5. package/lib/beacon/client/events.d.ts.map +0 -1
  6. package/lib/beacon/client/index.d.ts.map +0 -1
  7. package/lib/beacon/client/lightclient.d.ts.map +0 -1
  8. package/lib/beacon/client/lodestar.d.ts.map +0 -1
  9. package/lib/beacon/client/node.d.ts.map +0 -1
  10. package/lib/beacon/client/proof.d.ts.map +0 -1
  11. package/lib/beacon/client/validator.d.ts.map +0 -1
  12. package/lib/beacon/index.d.ts.map +0 -1
  13. package/lib/beacon/routes/beacon/block.d.ts.map +0 -1
  14. package/lib/beacon/routes/beacon/index.d.ts.map +0 -1
  15. package/lib/beacon/routes/beacon/pool.d.ts.map +0 -1
  16. package/lib/beacon/routes/beacon/rewards.d.ts.map +0 -1
  17. package/lib/beacon/routes/beacon/state.d.ts.map +0 -1
  18. package/lib/beacon/routes/config.d.ts.map +0 -1
  19. package/lib/beacon/routes/debug.d.ts.map +0 -1
  20. package/lib/beacon/routes/events.d.ts.map +0 -1
  21. package/lib/beacon/routes/index.d.ts.map +0 -1
  22. package/lib/beacon/routes/lightclient.d.ts.map +0 -1
  23. package/lib/beacon/routes/lodestar.d.ts.map +0 -1
  24. package/lib/beacon/routes/node.d.ts.map +0 -1
  25. package/lib/beacon/routes/proof.d.ts.map +0 -1
  26. package/lib/beacon/routes/validator.d.ts.map +0 -1
  27. package/lib/beacon/server/beacon.d.ts.map +0 -1
  28. package/lib/beacon/server/config.d.ts.map +0 -1
  29. package/lib/beacon/server/debug.d.ts.map +0 -1
  30. package/lib/beacon/server/events.d.ts.map +0 -1
  31. package/lib/beacon/server/index.d.ts.map +0 -1
  32. package/lib/beacon/server/lightclient.d.ts.map +0 -1
  33. package/lib/beacon/server/lodestar.d.ts.map +0 -1
  34. package/lib/beacon/server/node.d.ts.map +0 -1
  35. package/lib/beacon/server/proof.d.ts.map +0 -1
  36. package/lib/beacon/server/validator.d.ts.map +0 -1
  37. package/lib/builder/client.d.ts.map +0 -1
  38. package/lib/builder/index.d.ts.map +0 -1
  39. package/lib/builder/routes.d.ts.map +0 -1
  40. package/lib/builder/server/index.d.ts.map +0 -1
  41. package/lib/index.d.ts.map +0 -1
  42. package/lib/keymanager/client.d.ts.map +0 -1
  43. package/lib/keymanager/index.d.ts.map +0 -1
  44. package/lib/keymanager/routes.d.ts.map +0 -1
  45. package/lib/keymanager/server/index.d.ts.map +0 -1
  46. package/lib/server/index.d.ts.map +0 -1
  47. package/lib/utils/client/error.d.ts.map +0 -1
  48. package/lib/utils/client/eventSource.d.ts.map +0 -1
  49. package/lib/utils/client/format.d.ts.map +0 -1
  50. package/lib/utils/client/httpClient.d.ts.map +0 -1
  51. package/lib/utils/client/index.d.ts.map +0 -1
  52. package/lib/utils/client/method.d.ts.map +0 -1
  53. package/lib/utils/client/metrics.d.ts.map +0 -1
  54. package/lib/utils/client/request.d.ts.map +0 -1
  55. package/lib/utils/client/response.d.ts.map +0 -1
  56. package/lib/utils/codecs.d.ts.map +0 -1
  57. package/lib/utils/fork.d.ts.map +0 -1
  58. package/lib/utils/headers.d.ts.map +0 -1
  59. package/lib/utils/httpStatusCode.d.ts.map +0 -1
  60. package/lib/utils/index.d.ts.map +0 -1
  61. package/lib/utils/metadata.d.ts.map +0 -1
  62. package/lib/utils/schema.d.ts.map +0 -1
  63. package/lib/utils/serdes.d.ts.map +0 -1
  64. package/lib/utils/server/error.d.ts.map +0 -1
  65. package/lib/utils/server/handler.d.ts.map +0 -1
  66. package/lib/utils/server/index.d.ts.map +0 -1
  67. package/lib/utils/server/method.d.ts.map +0 -1
  68. package/lib/utils/server/parser.d.ts.map +0 -1
  69. package/lib/utils/server/route.d.ts.map +0 -1
  70. package/lib/utils/types.d.ts.map +0 -1
  71. package/lib/utils/urlFormat.d.ts.map +0 -1
  72. package/lib/utils/wireFormat.d.ts.map +0 -1
  73. package/src/beacon/client/beacon.ts +0 -12
  74. package/src/beacon/client/config.ts +0 -12
  75. package/src/beacon/client/debug.ts +0 -12
  76. package/src/beacon/client/events.ts +0 -69
  77. package/src/beacon/client/index.ts +0 -46
  78. package/src/beacon/client/lightclient.ts +0 -12
  79. package/src/beacon/client/lodestar.ts +0 -12
  80. package/src/beacon/client/node.ts +0 -12
  81. package/src/beacon/client/proof.ts +0 -12
  82. package/src/beacon/client/validator.ts +0 -12
  83. package/src/beacon/index.ts +0 -24
  84. package/src/beacon/routes/beacon/block.ts +0 -602
  85. package/src/beacon/routes/beacon/index.ts +0 -66
  86. package/src/beacon/routes/beacon/pool.ts +0 -503
  87. package/src/beacon/routes/beacon/rewards.ts +0 -216
  88. package/src/beacon/routes/beacon/state.ts +0 -588
  89. package/src/beacon/routes/config.ts +0 -114
  90. package/src/beacon/routes/debug.ts +0 -231
  91. package/src/beacon/routes/events.ts +0 -337
  92. package/src/beacon/routes/index.ts +0 -33
  93. package/src/beacon/routes/lightclient.ts +0 -241
  94. package/src/beacon/routes/lodestar.ts +0 -456
  95. package/src/beacon/routes/node.ts +0 -286
  96. package/src/beacon/routes/proof.ts +0 -79
  97. package/src/beacon/routes/validator.ts +0 -1014
  98. package/src/beacon/server/beacon.ts +0 -7
  99. package/src/beacon/server/config.ts +0 -7
  100. package/src/beacon/server/debug.ts +0 -7
  101. package/src/beacon/server/events.ts +0 -73
  102. package/src/beacon/server/index.ts +0 -55
  103. package/src/beacon/server/lightclient.ts +0 -7
  104. package/src/beacon/server/lodestar.ts +0 -7
  105. package/src/beacon/server/node.ts +0 -7
  106. package/src/beacon/server/proof.ts +0 -7
  107. package/src/beacon/server/validator.ts +0 -7
  108. package/src/builder/client.ts +0 -9
  109. package/src/builder/index.ts +0 -26
  110. package/src/builder/routes.ts +0 -227
  111. package/src/builder/server/index.ts +0 -19
  112. package/src/index.ts +0 -19
  113. package/src/keymanager/client.ts +0 -9
  114. package/src/keymanager/index.ts +0 -39
  115. package/src/keymanager/routes.ts +0 -699
  116. package/src/keymanager/server/index.ts +0 -19
  117. package/src/server/index.ts +0 -2
  118. package/src/utils/client/error.ts +0 -10
  119. package/src/utils/client/eventSource.ts +0 -7
  120. package/src/utils/client/format.ts +0 -22
  121. package/src/utils/client/httpClient.ts +0 -444
  122. package/src/utils/client/index.ts +0 -6
  123. package/src/utils/client/method.ts +0 -50
  124. package/src/utils/client/metrics.ts +0 -9
  125. package/src/utils/client/request.ts +0 -113
  126. package/src/utils/client/response.ts +0 -205
  127. package/src/utils/codecs.ts +0 -143
  128. package/src/utils/fork.ts +0 -44
  129. package/src/utils/headers.ts +0 -173
  130. package/src/utils/httpStatusCode.ts +0 -392
  131. package/src/utils/index.ts +0 -3
  132. package/src/utils/metadata.ts +0 -170
  133. package/src/utils/schema.ts +0 -141
  134. package/src/utils/serdes.ts +0 -120
  135. package/src/utils/server/error.ts +0 -9
  136. package/src/utils/server/handler.ts +0 -149
  137. package/src/utils/server/index.ts +0 -5
  138. package/src/utils/server/method.ts +0 -38
  139. package/src/utils/server/parser.ts +0 -15
  140. package/src/utils/server/route.ts +0 -45
  141. package/src/utils/types.ts +0 -161
  142. package/src/utils/urlFormat.ts +0 -112
  143. package/src/utils/wireFormat.ts +0 -24
@@ -1,69 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {getEventSource} from "../../utils/client/eventSource.js";
3
- import {stringifyQuery, urlJoin} from "../../utils/client/format.js";
4
- import {ApiClientMethods} from "../../utils/client/method.js";
5
- import {RouteDefinitionExtra} from "../../utils/client/request.js";
6
- import {ApiResponse} from "../../utils/client/response.js";
7
- import {BeaconEvent, Endpoints, getDefinitions, getEventSerdes} from "../routes/events.js";
8
-
9
- export type ApiClient = ApiClientMethods<Endpoints>;
10
-
11
- /**
12
- * REST HTTP client for events routes
13
- */
14
- export function getClient(config: ChainForkConfig, baseUrl: string): ApiClient {
15
- const definitions = getDefinitions(config);
16
- const eventSerdes = getEventSerdes(config);
17
-
18
- return {
19
- eventstream: async ({
20
- topics,
21
- signal,
22
- onEvent,
23
- onError,
24
- onClose,
25
- }): Promise<ApiResponse<Endpoints["eventstream"]>> => {
26
- const query = stringifyQuery({topics});
27
- const url = `${urlJoin(baseUrl, definitions.eventstream.url)}?${query}`;
28
- const EventSource = await getEventSource();
29
- const eventSource = new EventSource(url);
30
-
31
- const close = (): void => {
32
- eventSource.close();
33
- onClose?.();
34
- signal.removeEventListener("abort", close);
35
- };
36
- signal.addEventListener("abort", close, {once: true});
37
-
38
- for (const topic of topics) {
39
- eventSource.addEventListener(topic, (event: MessageEvent) => {
40
- const message = eventSerdes.fromJson(topic, JSON.parse(event.data));
41
- onEvent({type: topic, message} as BeaconEvent);
42
- });
43
- }
44
-
45
- // EventSource will try to reconnect always on all errors
46
- // `eventSource.onerror` events are informative but don't indicate the EventSource closed
47
- // The only way to abort the connection from the client is via eventSource.close()
48
- eventSource.onerror = function onerror(err): void {
49
- const errEs = err as unknown as EventSourceError;
50
-
51
- // Ignore noisy errors due to beacon node being offline
52
- if (!/ECONNREFUSED|EAI_AGAIN/.test(errEs.message ?? "")) {
53
- // If there is no message it likely indicates that the server closed the connection
54
- onError?.(new Error(errEs.message ?? "Server closed connection"));
55
- }
56
-
57
- // Consider 400 and 500 status errors unrecoverable, close the eventsource
58
- if (errEs.status === 400 || errEs.status === 500) {
59
- close();
60
- }
61
- };
62
-
63
- return new ApiResponse(definitions.eventstream as RouteDefinitionExtra<Endpoints["eventstream"]>);
64
- },
65
- };
66
- }
67
-
68
- // https://github.com/EventSource/eventsource/blob/82e034389bd2c08d532c63172b8e858c5b185338/lib/eventsource.js#L143
69
- type EventSourceError = {status?: number; message?: string};
@@ -1,46 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {
3
- ApiClientMethods,
4
- HttpClient,
5
- HttpClientModules,
6
- HttpClientOptions,
7
- IHttpClient,
8
- } from "../../utils/client/index.js";
9
- import {Endpoints} from "../routes/index.js";
10
- import * as beacon from "./beacon.js";
11
- import * as configApi from "./config.js";
12
- import * as debug from "./debug.js";
13
- import * as events from "./events.js";
14
- import * as lightclient from "./lightclient.js";
15
- import * as lodestar from "./lodestar.js";
16
- import * as node from "./node.js";
17
- import * as proof from "./proof.js";
18
- import * as validator from "./validator.js";
19
-
20
- type ClientModules = HttpClientModules & {
21
- config: ChainForkConfig;
22
- httpClient?: IHttpClient;
23
- };
24
-
25
- export type ApiClient = {[K in keyof Endpoints]: ApiClientMethods<Endpoints[K]>} & {httpClient: IHttpClient};
26
-
27
- /**
28
- * REST HTTP client for all routes
29
- */
30
- export function getClient(opts: HttpClientOptions, modules: ClientModules): ApiClient {
31
- const {config} = modules;
32
- const httpClient = modules.httpClient ?? new HttpClient(opts, modules);
33
-
34
- return {
35
- beacon: beacon.getClient(config, httpClient),
36
- config: configApi.getClient(config, httpClient),
37
- debug: debug.getClient(config, httpClient),
38
- events: events.getClient(config, httpClient.baseUrl),
39
- lightclient: lightclient.getClient(config, httpClient),
40
- lodestar: lodestar.getClient(config, httpClient),
41
- node: node.getClient(config, httpClient),
42
- proof: proof.getClient(config, httpClient),
43
- validator: validator.getClient(config, httpClient),
44
- httpClient,
45
- };
46
- }
@@ -1,12 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ApiClientMethods, IHttpClient, createApiClientMethods} from "../../utils/client/index.js";
3
- import {Endpoints, getDefinitions} from "../routes/lightclient.js";
4
-
5
- export type ApiClient = ApiClientMethods<Endpoints>;
6
-
7
- /**
8
- * REST HTTP client for lightclient routes
9
- */
10
- export function getClient(config: ChainForkConfig, httpClient: IHttpClient): ApiClient {
11
- return createApiClientMethods(getDefinitions(config), httpClient);
12
- }
@@ -1,12 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ApiClientMethods, IHttpClient, createApiClientMethods} from "../../utils/client/index.js";
3
- import {Endpoints, getDefinitions} from "../routes/lodestar.js";
4
-
5
- export type ApiClient = ApiClientMethods<Endpoints>;
6
-
7
- /**
8
- * REST HTTP client for lodestar routes
9
- */
10
- export function getClient(config: ChainForkConfig, httpClient: IHttpClient): ApiClient {
11
- return createApiClientMethods(getDefinitions(config), httpClient);
12
- }
@@ -1,12 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ApiClientMethods, IHttpClient, createApiClientMethods} from "../../utils/client/index.js";
3
- import {Endpoints, getDefinitions} from "../routes/node.js";
4
-
5
- export type ApiClient = ApiClientMethods<Endpoints>;
6
-
7
- /**
8
- * REST HTTP client for beacon routes
9
- */
10
- export function getClient(config: ChainForkConfig, httpClient: IHttpClient): ApiClient {
11
- return createApiClientMethods(getDefinitions(config), httpClient);
12
- }
@@ -1,12 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ApiClientMethods, IHttpClient, createApiClientMethods} from "../../utils/client/index.js";
3
- import {Endpoints, getDefinitions} from "../routes/proof.js";
4
-
5
- export type ApiClient = ApiClientMethods<Endpoints>;
6
-
7
- /**
8
- * REST HTTP client for proof routes
9
- */
10
- export function getClient(config: ChainForkConfig, httpClient: IHttpClient): ApiClient {
11
- return createApiClientMethods(getDefinitions(config), httpClient);
12
- }
@@ -1,12 +0,0 @@
1
- import {ChainForkConfig} from "@lodestar/config";
2
- import {ApiClientMethods, IHttpClient, createApiClientMethods} from "../../utils/client/index.js";
3
- import {Endpoints, getDefinitions} from "../routes/validator.js";
4
-
5
- export type ApiClient = ApiClientMethods<Endpoints>;
6
-
7
- /**
8
- * REST HTTP client for validator routes
9
- */
10
- export function getClient(config: ChainForkConfig, httpClient: IHttpClient): ApiClient {
11
- return createApiClientMethods(getDefinitions(config), httpClient);
12
- }
@@ -1,24 +0,0 @@
1
- import type {Endpoints} from "./routes/index.js";
2
-
3
- // NOTE: Don't export server here so it's not bundled to all consumers
4
-
5
- import * as routes from "./routes/index.js";
6
- export {routes};
7
-
8
- export {type ApiClient, getClient} from "./client/index.js";
9
- export type {Endpoints};
10
-
11
- // Declare namespaces for CLI options
12
- export type ApiNamespace = keyof Endpoints;
13
- const allNamespacesObj: {[K in keyof Endpoints]: true} = {
14
- beacon: true,
15
- config: true,
16
- debug: true,
17
- events: true,
18
- lightclient: true,
19
- lodestar: true,
20
- node: true,
21
- proof: true,
22
- validator: true,
23
- };
24
- export const allNamespaces = Object.keys(allNamespacesObj) as ApiNamespace[];