@lodestar/api 1.19.0 → 1.20.0-dev.0c5adec4eb

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 +2 -2
  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 +9 -6
  119. package/lib/index.js +5 -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 +36 -0
  152. package/lib/utils/client/response.js +167 -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 +134 -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 +115 -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,160 +1,238 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
1
2
  import { ContainerType } from "@chainsafe/ssz";
3
+ import { MAX_VALIDATORS_PER_COMMITTEE } from "@lodestar/params";
2
4
  import { ssz, StringType } from "@lodestar/types";
3
- import { HttpStatusCode } from "../../../utils/client/httpStatusCode.js";
4
- import { fromU64Str, toU64Str } from "../../../utils/serdes.js";
5
- import { ArrayOf, ContainerDataExecutionOptimistic, Schema, WithFinalized, } from "../../../utils/index.js";
6
- /**
7
- * Define javascript values for each route
8
- */
9
- export const routesData = {
10
- getEpochCommittees: { url: "/eth/v1/beacon/states/{state_id}/committees", method: "GET" },
11
- getEpochSyncCommittees: { url: "/eth/v1/beacon/states/{state_id}/sync_committees", method: "GET" },
12
- getStateFinalityCheckpoints: { url: "/eth/v1/beacon/states/{state_id}/finality_checkpoints", method: "GET" },
13
- getStateFork: { url: "/eth/v1/beacon/states/{state_id}/fork", method: "GET" },
14
- getStateRoot: { url: "/eth/v1/beacon/states/{state_id}/root", method: "GET" },
15
- getStateRandao: { url: "/eth/v1/beacon/states/{state_id}/randao", method: "GET" },
16
- getStateValidator: { url: "/eth/v1/beacon/states/{state_id}/validators/{validator_id}", method: "GET" },
17
- getStateValidators: { url: "/eth/v1/beacon/states/{state_id}/validators", method: "GET" },
18
- postStateValidators: { url: "/eth/v1/beacon/states/{state_id}/validators", method: "POST" },
19
- getStateValidatorBalances: { url: "/eth/v1/beacon/states/{state_id}/validator_balances", method: "GET" },
20
- postStateValidatorBalances: { url: "/eth/v1/beacon/states/{state_id}/validator_balances", method: "POST" },
5
+ import { Schema } from "../../../utils/index.js";
6
+ import { ArrayOf, JsonOnlyReq } from "../../../utils/codecs.js";
7
+ import { ExecutionOptimisticAndFinalizedCodec } from "../../../utils/metadata.js";
8
+ import { fromValidatorIdsStr, toValidatorIdsStr } from "../../../utils/serdes.js";
9
+ import { WireFormat } from "../../../utils/wireFormat.js";
10
+ import { RootResponseType } from "./block.js";
11
+ export const RandaoResponseType = new ContainerType({
12
+ randao: ssz.Root,
13
+ });
14
+ export const FinalityCheckpointsType = new ContainerType({
15
+ previousJustified: ssz.phase0.Checkpoint,
16
+ currentJustified: ssz.phase0.Checkpoint,
17
+ finalized: ssz.phase0.Checkpoint,
18
+ }, { jsonCase: "eth2" });
19
+ export const ValidatorResponseType = new ContainerType({
20
+ index: ssz.ValidatorIndex,
21
+ balance: ssz.UintNum64,
22
+ status: new StringType(),
23
+ validator: ssz.phase0.Validator,
24
+ });
25
+ export const EpochCommitteeResponseType = new ContainerType({
26
+ index: ssz.CommitteeIndex,
27
+ slot: ssz.Slot,
28
+ validators: ArrayOf(ssz.ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE),
29
+ });
30
+ export const ValidatorBalanceType = new ContainerType({
31
+ index: ssz.ValidatorIndex,
32
+ balance: ssz.UintNum64,
33
+ });
34
+ export const EpochSyncCommitteeResponseType = new ContainerType({
35
+ /** All of the validator indices in the current sync committee */
36
+ validators: ArrayOf(ssz.ValidatorIndex),
37
+ // TODO: This property will likely be deprecated
38
+ /** Subcommittee slices of the current sync committee */
39
+ validatorAggregates: ArrayOf(ArrayOf(ssz.ValidatorIndex)),
40
+ }, { jsonCase: "eth2" });
41
+ export const ValidatorResponseListType = ArrayOf(ValidatorResponseType);
42
+ export const EpochCommitteeResponseListType = ArrayOf(EpochCommitteeResponseType);
43
+ export const ValidatorBalanceListType = ArrayOf(ValidatorBalanceType);
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ const stateIdOnlyReq = {
46
+ writeReq: ({ stateId }) => ({ params: { state_id: stateId.toString() } }),
47
+ parseReq: ({ params }) => ({ stateId: params.state_id }),
48
+ schema: { params: { state_id: Schema.StringRequired } },
21
49
  };
22
- export function getReqSerializers() {
23
- const stateIdOnlyReq = {
24
- writeReq: (state_id) => ({ params: { state_id: String(state_id) } }),
25
- parseReq: ({ params }) => [params.state_id],
26
- schema: { params: { state_id: Schema.StringRequired } },
27
- };
50
+ export function getDefinitions(_config) {
28
51
  return {
29
52
  getEpochCommittees: {
30
- writeReq: (state_id, filters) => ({ params: { state_id }, query: filters || {} }),
31
- parseReq: ({ params, query }) => [params.state_id, query],
32
- schema: {
33
- params: { state_id: Schema.StringRequired },
34
- query: { slot: Schema.Uint, epoch: Schema.Uint, index: Schema.Uint },
53
+ url: "/eth/v1/beacon/states/{state_id}/committees",
54
+ method: "GET",
55
+ req: {
56
+ writeReq: ({ stateId, epoch, index, slot }) => ({
57
+ params: { state_id: stateId.toString() },
58
+ query: { epoch, index, slot },
59
+ }),
60
+ parseReq: ({ params, query }) => ({
61
+ stateId: params.state_id,
62
+ epoch: query.epoch,
63
+ index: query.index,
64
+ slot: query.slot,
65
+ }),
66
+ schema: {
67
+ params: { state_id: Schema.StringRequired },
68
+ query: { slot: Schema.Uint, epoch: Schema.Uint, index: Schema.Uint },
69
+ },
70
+ },
71
+ resp: {
72
+ data: EpochCommitteeResponseListType,
73
+ meta: ExecutionOptimisticAndFinalizedCodec,
35
74
  },
36
75
  },
37
76
  getEpochSyncCommittees: {
38
- writeReq: (state_id, epoch) => ({ params: { state_id }, query: { epoch } }),
39
- parseReq: ({ params, query }) => [params.state_id, query.epoch],
40
- schema: {
41
- params: { state_id: Schema.StringRequired },
42
- query: { epoch: Schema.Uint },
77
+ url: "/eth/v1/beacon/states/{state_id}/sync_committees",
78
+ method: "GET",
79
+ req: {
80
+ writeReq: ({ stateId, epoch }) => ({ params: { state_id: stateId.toString() }, query: { epoch } }),
81
+ parseReq: ({ params, query }) => ({ stateId: params.state_id, epoch: query.epoch }),
82
+ schema: {
83
+ params: { state_id: Schema.StringRequired },
84
+ query: { epoch: Schema.Uint },
85
+ },
86
+ },
87
+ resp: {
88
+ data: EpochSyncCommitteeResponseType,
89
+ meta: ExecutionOptimisticAndFinalizedCodec,
90
+ },
91
+ },
92
+ getStateFinalityCheckpoints: {
93
+ url: "/eth/v1/beacon/states/{state_id}/finality_checkpoints",
94
+ method: "GET",
95
+ req: stateIdOnlyReq,
96
+ resp: {
97
+ data: FinalityCheckpointsType,
98
+ meta: ExecutionOptimisticAndFinalizedCodec,
99
+ },
100
+ },
101
+ getStateFork: {
102
+ url: "/eth/v1/beacon/states/{state_id}/fork",
103
+ method: "GET",
104
+ req: stateIdOnlyReq,
105
+ resp: {
106
+ data: ssz.phase0.Fork,
107
+ meta: ExecutionOptimisticAndFinalizedCodec,
108
+ },
109
+ },
110
+ getStateRoot: {
111
+ url: "/eth/v1/beacon/states/{state_id}/root",
112
+ method: "GET",
113
+ req: stateIdOnlyReq,
114
+ resp: {
115
+ data: RootResponseType,
116
+ meta: ExecutionOptimisticAndFinalizedCodec,
43
117
  },
44
118
  },
45
- getStateFinalityCheckpoints: stateIdOnlyReq,
46
- getStateFork: stateIdOnlyReq,
47
- getStateRoot: stateIdOnlyReq,
48
119
  getStateRandao: {
49
- writeReq: (state_id, epoch) => ({ params: { state_id }, query: { epoch } }),
50
- parseReq: ({ params, query }) => [params.state_id, query.epoch],
51
- schema: {
52
- params: { state_id: Schema.StringRequired },
53
- query: { epoch: Schema.Uint },
120
+ url: "/eth/v1/beacon/states/{state_id}/randao",
121
+ method: "GET",
122
+ req: {
123
+ writeReq: ({ stateId, epoch }) => ({ params: { state_id: stateId.toString() }, query: { epoch } }),
124
+ parseReq: ({ params, query }) => ({ stateId: params.state_id, epoch: query.epoch }),
125
+ schema: {
126
+ params: { state_id: Schema.StringRequired },
127
+ query: { epoch: Schema.Uint },
128
+ },
129
+ },
130
+ resp: {
131
+ data: RandaoResponseType,
132
+ meta: ExecutionOptimisticAndFinalizedCodec,
54
133
  },
55
134
  },
56
135
  getStateValidator: {
57
- writeReq: (state_id, validator_id) => ({ params: { state_id, validator_id } }),
58
- parseReq: ({ params }) => [params.state_id, params.validator_id],
59
- schema: {
60
- params: { state_id: Schema.StringRequired, validator_id: Schema.StringRequired },
136
+ url: "/eth/v1/beacon/states/{state_id}/validators/{validator_id}",
137
+ method: "GET",
138
+ req: {
139
+ writeReq: ({ stateId, validatorId }) => ({ params: { state_id: stateId.toString(), validator_id: validatorId } }),
140
+ parseReq: ({ params }) => ({ stateId: params.state_id, validatorId: params.validator_id }),
141
+ schema: {
142
+ params: { state_id: Schema.StringRequired, validator_id: Schema.StringRequired },
143
+ },
144
+ },
145
+ resp: {
146
+ onlySupport: WireFormat.json,
147
+ data: ValidatorResponseType,
148
+ meta: ExecutionOptimisticAndFinalizedCodec,
61
149
  },
62
150
  },
63
151
  getStateValidators: {
64
- writeReq: (state_id, filters) => ({ params: { state_id }, query: filters || {} }),
65
- parseReq: ({ params, query }) => [params.state_id, query],
66
- schema: {
67
- params: { state_id: Schema.StringRequired },
68
- query: { id: Schema.UintOrStringArray, status: Schema.StringArray },
152
+ url: "/eth/v1/beacon/states/{state_id}/validators",
153
+ method: "GET",
154
+ req: {
155
+ writeReq: ({ stateId, validatorIds: id, statuses }) => ({
156
+ params: { state_id: stateId.toString() },
157
+ query: { id, status: statuses },
158
+ }),
159
+ parseReq: ({ params, query }) => ({ stateId: params.state_id, validatorIds: query.id, statuses: query.status }),
160
+ schema: {
161
+ params: { state_id: Schema.StringRequired },
162
+ query: { id: Schema.UintOrStringArray, status: Schema.StringArray },
163
+ },
164
+ },
165
+ resp: {
166
+ onlySupport: WireFormat.json,
167
+ data: ValidatorResponseListType,
168
+ meta: ExecutionOptimisticAndFinalizedCodec,
69
169
  },
70
170
  },
71
171
  postStateValidators: {
72
- writeReq: (state_id, filters) => ({
73
- params: { state_id },
74
- body: {
75
- ids: filters?.id?.map((id) => (typeof id === "string" ? id : toU64Str(id))),
76
- statuses: filters?.status,
172
+ url: "/eth/v1/beacon/states/{state_id}/validators",
173
+ method: "POST",
174
+ req: JsonOnlyReq({
175
+ writeReqJson: ({ stateId, validatorIds, statuses }) => ({
176
+ params: { state_id: stateId.toString() },
177
+ body: {
178
+ ids: toValidatorIdsStr(validatorIds),
179
+ statuses,
180
+ },
181
+ }),
182
+ parseReqJson: ({ params, body = {} }) => ({
183
+ stateId: params.state_id,
184
+ validatorIds: fromValidatorIdsStr(body.ids),
185
+ statuses: body.statuses,
186
+ }),
187
+ schema: {
188
+ params: { state_id: Schema.StringRequired },
189
+ body: Schema.Object,
77
190
  },
78
191
  }),
79
- parseReq: ({ params, body }) => [
80
- params.state_id,
81
- {
82
- id: body.ids?.map((id) => (typeof id === "string" && id.startsWith("0x") ? id : fromU64Str(id))),
83
- status: body.statuses,
84
- },
85
- ],
86
- schema: {
87
- params: { state_id: Schema.StringRequired },
88
- body: Schema.Object,
192
+ resp: {
193
+ onlySupport: WireFormat.json,
194
+ data: ValidatorResponseListType,
195
+ meta: ExecutionOptimisticAndFinalizedCodec,
89
196
  },
90
197
  },
91
198
  getStateValidatorBalances: {
92
- writeReq: (state_id, id) => ({ params: { state_id }, query: { id } }),
93
- parseReq: ({ params, query }) => [params.state_id, query.id],
94
- schema: {
95
- params: { state_id: Schema.StringRequired },
96
- query: { id: Schema.UintOrStringArray },
199
+ url: "/eth/v1/beacon/states/{state_id}/validator_balances",
200
+ method: "GET",
201
+ req: {
202
+ writeReq: ({ stateId, validatorIds }) => ({ params: { state_id: stateId.toString() }, query: { id: validatorIds } }),
203
+ parseReq: ({ params, query }) => ({ stateId: params.state_id, validatorIds: query.id }),
204
+ schema: {
205
+ params: { state_id: Schema.StringRequired },
206
+ query: { id: Schema.UintOrStringArray },
207
+ },
208
+ },
209
+ resp: {
210
+ data: ValidatorBalanceListType,
211
+ meta: ExecutionOptimisticAndFinalizedCodec,
97
212
  },
98
213
  },
99
214
  postStateValidatorBalances: {
100
- writeReq: (state_id, ids) => ({
101
- params: { state_id },
102
- body: ids?.map((id) => (typeof id === "string" ? id : toU64Str(id))) || [],
215
+ url: "/eth/v1/beacon/states/{state_id}/validator_balances",
216
+ method: "POST",
217
+ req: JsonOnlyReq({
218
+ writeReqJson: ({ stateId, validatorIds }) => ({
219
+ params: { state_id: stateId.toString() },
220
+ body: toValidatorIdsStr(validatorIds) || [],
221
+ }),
222
+ parseReqJson: ({ params, body = [] }) => ({
223
+ stateId: params.state_id,
224
+ validatorIds: fromValidatorIdsStr(body),
225
+ }),
226
+ schema: {
227
+ params: { state_id: Schema.StringRequired },
228
+ body: Schema.UintOrStringArray,
229
+ },
103
230
  }),
104
- parseReq: ({ params, body }) => [
105
- params.state_id,
106
- body?.map((id) => (typeof id === "string" && id.startsWith("0x") ? id : fromU64Str(id))),
107
- ],
108
- schema: {
109
- params: { state_id: Schema.StringRequired },
110
- body: Schema.UintOrStringArray,
231
+ resp: {
232
+ data: ValidatorBalanceListType,
233
+ meta: ExecutionOptimisticAndFinalizedCodec,
111
234
  },
112
235
  },
113
236
  };
114
237
  }
115
- export function getReturnTypes() {
116
- const RootContainer = new ContainerType({
117
- root: ssz.Root,
118
- });
119
- const RandaoContainer = new ContainerType({
120
- randao: ssz.Root,
121
- });
122
- const FinalityCheckpoints = new ContainerType({
123
- previousJustified: ssz.phase0.Checkpoint,
124
- currentJustified: ssz.phase0.Checkpoint,
125
- finalized: ssz.phase0.Checkpoint,
126
- }, { jsonCase: "eth2" });
127
- const ValidatorResponse = new ContainerType({
128
- index: ssz.ValidatorIndex,
129
- balance: ssz.UintNum64,
130
- status: new StringType(),
131
- validator: ssz.phase0.Validator,
132
- }, { jsonCase: "eth2" });
133
- const ValidatorBalance = new ContainerType({
134
- index: ssz.ValidatorIndex,
135
- balance: ssz.UintNum64,
136
- }, { jsonCase: "eth2" });
137
- const EpochCommitteeResponse = new ContainerType({
138
- index: ssz.CommitteeIndex,
139
- slot: ssz.Slot,
140
- validators: ssz.phase0.CommitteeIndices,
141
- }, { jsonCase: "eth2" });
142
- const EpochSyncCommitteesResponse = new ContainerType({
143
- validators: ArrayOf(ssz.ValidatorIndex),
144
- validatorAggregates: ArrayOf(ArrayOf(ssz.ValidatorIndex)),
145
- }, { jsonCase: "eth2" });
146
- return {
147
- getStateRoot: WithFinalized(ContainerDataExecutionOptimistic(RootContainer)),
148
- getStateFork: WithFinalized(ContainerDataExecutionOptimistic(ssz.phase0.Fork)),
149
- getStateRandao: WithFinalized(ContainerDataExecutionOptimistic(RandaoContainer)),
150
- getStateFinalityCheckpoints: WithFinalized(ContainerDataExecutionOptimistic(FinalityCheckpoints)),
151
- getStateValidators: WithFinalized(ContainerDataExecutionOptimistic(ArrayOf(ValidatorResponse))),
152
- postStateValidators: WithFinalized(ContainerDataExecutionOptimistic(ArrayOf(ValidatorResponse))),
153
- getStateValidator: WithFinalized(ContainerDataExecutionOptimistic(ValidatorResponse)),
154
- getStateValidatorBalances: WithFinalized(ContainerDataExecutionOptimistic(ArrayOf(ValidatorBalance))),
155
- postStateValidatorBalances: WithFinalized(ContainerDataExecutionOptimistic(ArrayOf(ValidatorBalance))),
156
- getEpochCommittees: WithFinalized(ContainerDataExecutionOptimistic(ArrayOf(EpochCommitteeResponse))),
157
- getEpochSyncCommittees: WithFinalized(ContainerDataExecutionOptimistic(EpochSyncCommitteesResponse)),
158
- };
159
- }
160
238
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/beacon/routes/beacon/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAA4D,GAAG,EAAE,UAAU,EAAU,MAAM,iBAAiB,CAAC;AAEpH,OAAO,EAAC,cAAc,EAAC,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAGL,OAAO,EACP,gCAAgC,EAChC,MAAM,EAGN,aAAa,GACd,MAAM,yBAAyB,CAAC;AA0TjC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,kBAAkB,EAAE,EAAC,GAAG,EAAE,6CAA6C,EAAE,MAAM,EAAE,KAAK,EAAC;IACvF,sBAAsB,EAAE,EAAC,GAAG,EAAE,kDAAkD,EAAE,MAAM,EAAE,KAAK,EAAC;IAChG,2BAA2B,EAAE,EAAC,GAAG,EAAE,uDAAuD,EAAE,MAAM,EAAE,KAAK,EAAC;IAC1G,YAAY,EAAE,EAAC,GAAG,EAAE,uCAAuC,EAAE,MAAM,EAAE,KAAK,EAAC;IAC3E,YAAY,EAAE,EAAC,GAAG,EAAE,uCAAuC,EAAE,MAAM,EAAE,KAAK,EAAC;IAC3E,cAAc,EAAE,EAAC,GAAG,EAAE,yCAAyC,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/E,iBAAiB,EAAE,EAAC,GAAG,EAAE,4DAA4D,EAAE,MAAM,EAAE,KAAK,EAAC;IACrG,kBAAkB,EAAE,EAAC,GAAG,EAAE,6CAA6C,EAAE,MAAM,EAAE,KAAK,EAAC;IACvF,mBAAmB,EAAE,EAAC,GAAG,EAAE,6CAA6C,EAAE,MAAM,EAAE,MAAM,EAAC;IACzF,yBAAyB,EAAE,EAAC,GAAG,EAAE,qDAAqD,EAAE,MAAM,EAAE,KAAK,EAAC;IACtG,0BAA0B,EAAE,EAAC,GAAG,EAAE,qDAAqD,EAAE,MAAM,EAAE,MAAM,EAAC;CACzG,CAAC;AAoBF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,cAAc,GAAuD;QACzE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAC,EAAC,CAAC;QAChE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC,EAAC;KACpD,CAAC;IAEF,OAAO;QACL,kBAAkB,EAAE;YAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAC,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAC,CAAC;YAC7E,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;YACvD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,KAAK,EAAE,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAC;aACnE;SACF;QAED,sBAAsB,EAAE;YACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAC,EAAC,CAAC;YACrE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;YAC7D,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAC;aAC5B;SACF;QAED,2BAA2B,EAAE,cAAc;QAC3C,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,cAAc;QAE5B,cAAc,EAAE;YACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAC,EAAC,CAAC;YACrE,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;YAC7D,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAC;aAC5B;SACF;QAED,iBAAiB,EAAE;YACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAE,YAAY,EAAC,EAAC,CAAC;YAC1E,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;YAC9D,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,EAAC;aAC/E;SACF;QAED,kBAAkB,EAAE;YAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAC,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAC,CAAC;YAC7E,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;YACvD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,KAAK,EAAE,EAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAC;aAClE;SACF;QAED,mBAAmB,EAAE;YACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM,EAAE,EAAC,QAAQ,EAAC;gBAClB,IAAI,EAAE;oBACJ,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3E,QAAQ,EAAE,OAAO,EAAE,MAAM;iBAC1B;aACF,CAAC;YACF,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ;gBACf;oBACE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChG,MAAM,EAAE,IAAI,CAAC,QAAQ;iBACtB;aACF;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,IAAI,EAAE,MAAM,CAAC,MAAM;aACpB;SACF;QAED,yBAAyB,EAAE;YACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAC,EAAE,KAAK,EAAE,EAAC,EAAE,EAAC,EAAC,CAAC;YAC/D,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,KAAK,EAAE,EAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,EAAC;aACtC;SACF;QAED,0BAA0B,EAAE;YAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC5B,MAAM,EAAE,EAAC,QAAQ,EAAC;gBAClB,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;aAC3E,CAAC;YACF,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ;gBACf,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;aACzF;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAC;gBACzC,IAAI,EAAE,MAAM,CAAC,iBAAiB;aAC/B;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;QACtC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,IAAI;KACjB,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,IAAI,aAAa,CAC3C;QACE,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;QACxC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;QACvC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;KACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,aAAa,CACzC;QACE,KAAK,EAAE,GAAG,CAAC,cAAc;QACzB,OAAO,EAAE,GAAG,CAAC,SAAS;QACtB,MAAM,EAAE,IAAI,UAAU,EAAmB;QACzC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;KAChC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,aAAa,CACxC;QACE,KAAK,EAAE,GAAG,CAAC,cAAc;QACzB,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAI,aAAa,CAC9C;QACE,KAAK,EAAE,GAAG,CAAC,cAAc;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB;KACxC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IAEF,MAAM,2BAA2B,GAAG,IAAI,aAAa,CACnD;QACE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACvC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KAC1D,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,aAAa,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC;QAC5E,YAAY,EAAE,aAAa,CAAC,gCAAgC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9E,cAAc,EAAE,aAAa,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;QAChF,2BAA2B,EAAE,aAAa,CAAC,gCAAgC,CAAC,mBAAmB,CAAC,CAAC;QACjG,kBAAkB,EAAE,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/F,mBAAmB,EAAE,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAChG,iBAAiB,EAAE,aAAa,CAAC,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;QACrF,yBAAyB,EAAE,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrG,0BAA0B,EAAE,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACtG,kBAAkB,EAAE,aAAa,CAAC,gCAAgC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACpG,sBAAsB,EAAE,aAAa,CAAC,gCAAgC,CAAC,2BAA2B,CAAC,CAAC;KACrG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/beacon/routes/beacon/state.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,30 @@
1
- import { BeaconPreset } from "@lodestar/params";
2
- import { ChainConfig } from "@lodestar/config";
3
- import { Bytes32, UintNum64, phase0 } from "@lodestar/types";
4
- import { ReqEmpty, ReturnTypes, ReqSerializers, RoutesData } from "../../utils/index.js";
5
- import { HttpStatusCode } from "../../utils/client/httpStatusCode.js";
6
- import { ApiClientResponse } from "../../interfaces.js";
7
- export type DepositContract = {
8
- chainId: UintNum64;
9
- address: Bytes32;
10
- };
11
- export type Spec = BeaconPreset & ChainConfig;
12
- export type Api = {
1
+ import { ContainerType, ValueOf } from "@chainsafe/ssz";
2
+ import { ChainForkConfig } from "@lodestar/config";
3
+ import { EmptyArgs, EmptyMeta, EmptyRequest } from "../../utils/codecs.js";
4
+ import { Endpoint, RouteDefinitions } from "../../utils/index.js";
5
+ export declare const DepositContractType: ContainerType<{
6
+ chainId: import("@chainsafe/ssz").UintNumberType;
7
+ address: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
8
+ }>;
9
+ export declare const ForkListType: import("@chainsafe/ssz").ArrayType<import("@chainsafe/ssz").Type<import("@chainsafe/ssz").ValueOfFields<{
10
+ previousVersion: import("@chainsafe/ssz").ByteVectorType;
11
+ currentVersion: import("@chainsafe/ssz").ByteVectorType;
12
+ epoch: import("@chainsafe/ssz").UintNumberType;
13
+ }>>, unknown, unknown>;
14
+ export type DepositContract = ValueOf<typeof DepositContractType>;
15
+ export type ForkList = ValueOf<typeof ForkListType>;
16
+ export type Spec = Record<string, string>;
17
+ export type Endpoints = {
13
18
  /**
14
19
  * Get deposit contract address.
15
20
  * Retrieve Eth1 deposit contract address and chain ID.
16
21
  */
17
- getDepositContract(): Promise<ApiClientResponse<{
18
- [HttpStatusCode.OK]: {
19
- data: DepositContract;
20
- };
21
- }>>;
22
+ getDepositContract: Endpoint<"GET", EmptyArgs, EmptyRequest, DepositContract, EmptyMeta>;
22
23
  /**
23
24
  * Get scheduled upcoming forks.
24
25
  * Retrieve all scheduled upcoming forks this node is aware of.
25
26
  */
26
- getForkSchedule(): Promise<ApiClientResponse<{
27
- [HttpStatusCode.OK]: {
28
- data: phase0.Fork[];
29
- };
30
- }>>;
27
+ getForkSchedule: Endpoint<"GET", EmptyArgs, EmptyRequest, ForkList, EmptyMeta>;
31
28
  /**
32
29
  * Retrieve specification configuration used on this node. The configuration should include:
33
30
  * - Constants for all hard forks known by the beacon node, for example the [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#constants) and [altair](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/beacon-chain.md#constants) values
@@ -38,19 +35,7 @@ export type Api = {
38
35
  * - any value starting with 0x in the spec is returned as a hex string
39
36
  * - numeric values are returned as a quoted integer
40
37
  */
41
- getSpec(): Promise<ApiClientResponse<{
42
- [HttpStatusCode.OK]: {
43
- data: Record<string, string>;
44
- };
45
- }>>;
46
- };
47
- /**
48
- * Define javascript values for each route
49
- */
50
- export declare const routesData: RoutesData<Api>;
51
- export type ReqTypes = {
52
- [K in keyof Api]: ReqEmpty;
38
+ getSpec: Endpoint<"GET", EmptyArgs, EmptyRequest, Spec, EmptyMeta>;
53
39
  };
54
- export declare function getReqSerializers(): ReqSerializers<Api, ReqTypes>;
55
- export declare function getReturnTypes(): ReturnTypes<Api>;
40
+ export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpoints>;
56
41
  //# sourceMappingURL=config.d.ts.map
@@ -1,29 +1,50 @@
1
- import { ByteVectorType, ContainerType } from "@chainsafe/ssz";
2
- import { ssz } from "@lodestar/types";
3
- import { mapValues } from "@lodestar/utils";
4
- import { ArrayOf, reqEmpty, sameType, ContainerData, } from "../../utils/index.js";
5
- import { HttpStatusCode } from "../../utils/client/httpStatusCode.js";
6
- /**
7
- * Define javascript values for each route
8
- */
9
- export const routesData = {
10
- getDepositContract: { url: "/eth/v1/config/deposit_contract", method: "GET" },
11
- getForkSchedule: { url: "/eth/v1/config/fork_schedule", method: "GET" },
12
- getSpec: { url: "/eth/v1/config/spec", method: "GET" },
13
- };
14
- export function getReqSerializers() {
15
- return mapValues(routesData, () => reqEmpty);
16
- }
17
1
  /* eslint-disable @typescript-eslint/naming-convention */
18
- export function getReturnTypes() {
19
- const DepositContract = new ContainerType({
20
- chainId: ssz.UintNum64,
21
- address: new ByteVectorType(20),
22
- }, { jsonCase: "eth2" });
2
+ import { ContainerType } from "@chainsafe/ssz";
3
+ import { ssz } from "@lodestar/types";
4
+ import { ArrayOf, EmptyRequestCodec, EmptyMetaCodec, JsonOnlyResp, } from "../../utils/codecs.js";
5
+ // See /packages/api/src/routes/index.ts for reasoning and instructions to add new routes
6
+ export const DepositContractType = new ContainerType({
7
+ chainId: ssz.UintNum64,
8
+ address: ssz.ExecutionAddress,
9
+ }, { jsonCase: "eth2" });
10
+ export const ForkListType = ArrayOf(ssz.phase0.Fork);
11
+ export function getDefinitions(_config) {
23
12
  return {
24
- getDepositContract: ContainerData(DepositContract),
25
- getForkSchedule: ContainerData(ArrayOf(ssz.phase0.Fork)),
26
- getSpec: ContainerData(sameType()),
13
+ getDepositContract: {
14
+ url: "/eth/v1/config/deposit_contract",
15
+ method: "GET",
16
+ req: EmptyRequestCodec,
17
+ resp: {
18
+ data: DepositContractType,
19
+ meta: EmptyMetaCodec,
20
+ },
21
+ },
22
+ getForkSchedule: {
23
+ url: "/eth/v1/config/fork_schedule",
24
+ method: "GET",
25
+ req: EmptyRequestCodec,
26
+ resp: {
27
+ data: ForkListType,
28
+ meta: EmptyMetaCodec,
29
+ },
30
+ },
31
+ getSpec: {
32
+ url: "/eth/v1/config/spec",
33
+ method: "GET",
34
+ req: EmptyRequestCodec,
35
+ resp: JsonOnlyResp({
36
+ data: {
37
+ toJson: (data) => data,
38
+ fromJson: (data) => {
39
+ if (typeof data !== "object" || data === null) {
40
+ throw Error("JSON must be of type object");
41
+ }
42
+ return data;
43
+ },
44
+ },
45
+ meta: EmptyMetaCodec,
46
+ }),
47
+ },
27
48
  };
28
49
  }
29
50
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/beacon/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAA6B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EACL,OAAO,EAEP,QAAQ,EAIR,QAAQ,EACR,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAsCpE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,kBAAkB,EAAE,EAAC,GAAG,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAC;IAC3E,eAAe,EAAE,EAAC,GAAG,EAAE,8BAA8B,EAAE,MAAM,EAAE,KAAK,EAAC;IACrE,OAAO,EAAE,EAAC,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAC;CACrD,CAAC;AAIF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc;IAC5B,MAAM,eAAe,GAAG,IAAI,aAAa,CACvC;QACE,OAAO,EAAE,GAAG,CAAC,SAAS;QACtB,OAAO,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC;KAChC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IAEF,OAAO;QACL,kBAAkB,EAAE,aAAa,CAAC,eAAe,CAAC;QAClD,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/beacon/routes/config.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAC,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EACL,OAAO,EAEP,iBAAiB,EAEjB,cAAc,EAEd,YAAY,GACb,MAAM,uBAAuB,CAAC;AAG/B,yFAAyF;AAEzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,aAAa,CAClD;IACE,OAAO,EAAE,GAAG,CAAC,SAAS;IACtB,OAAO,EAAE,GAAG,CAAC,gBAAgB;CAC9B,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAqDrD,MAAM,UAAU,cAAc,CAAC,OAAwB;IACrD,OAAO;QACL,kBAAkB,EAAE;YAClB,GAAG,EAAE,iCAAiC;YACtC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,cAAc;aACrB;SACF;QACD,eAAe,EAAE;YACf,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,cAAc;aACrB;SACF;QACD,OAAO,EAAE;YACP,GAAG,EAAE,qBAAqB;YAC1B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,YAAY,CAAC;gBACjB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;oBACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;wBACjB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;4BAC9C,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBAC7C,CAAC;wBACD,OAAO,IAAY,CAAC;oBACtB,CAAC;iBACF;gBACD,IAAI,EAAE,cAAc;aACrB,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}