Skip to content

Commit afbe24b

Browse files
authored
Rename BeaconLightClientNetwork to BeaconNetwork (#745)
1 parent 3d98688 commit afbe24b

21 files changed

Lines changed: 196 additions & 211 deletions

File tree

packages/browser-client/src/portalClient.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ export async function createNodeFromScratch(state: AppState): Promise<Ultralight
6868
bootnodes: bns,
6969
db: state.LDB as any,
7070
transport: TransportLayer.MOBILE,
71-
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconLightClientNetwork],
71+
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconNetwork],
7272
})
7373
: await UltralightProvider.create('', {
7474
proxyAddress: state.proxy,
7575
bootnodes: bns,
7676
db: state.LDB as any,
7777
transport: TransportLayer.WEB,
78-
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconLightClientNetwork],
78+
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconNetwork],
7979
})
8080
await startUp(provider)
8181
return provider
@@ -88,15 +88,15 @@ export async function createNodeFromStorage(state: AppState): Promise<Ultralight
8888
db: state.LDB as any,
8989
rebuildFromMemory: true,
9090
transport: TransportLayer.MOBILE,
91-
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconLightClientNetwork],
91+
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconNetwork],
9292
})
9393
: await UltralightProvider.create('', {
9494
proxyAddress: state.proxy,
9595
bootnodes: bns,
9696
db: state.LDB as any,
9797
rebuildFromMemory: true,
9898
transport: TransportLayer.WEB,
99-
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconLightClientNetwork],
99+
supportedNetworks: [NetworkId.HistoryNetwork, NetworkId.BeaconNetwork],
100100
})
101101
await startUp(provider)
102102
return provider

packages/cli/networks.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,32 @@ To experiment with the Beacon Light Client Network, do the following:
2323
- Observe the logs. If all goes well, you should see something like below eventually, which indicates that the embedded Lodestar light client has begun tracking the head of the chain and will continue to do so as long as new updates are piped in.
2424

2525
```sh
26-
13527:Portal:BeaconLightClientNetwork:LightClientTransport Found LightClientBootstrap locally. Initializing light client... +0ms
27-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Syncing +0ms
28-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { lastPeriod: 945, currentPeriod: 947 } +1ms
29-
13527:Portal:BeaconLightClientNetwork:LightClientTransport requesting lightClientUpdatesByRange starting with period 945 and count 3 +15ms
30-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Updated state.optimisticHeader +19ms
31-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { slot: 7743724 } +0ms
32-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG processed sync update +0ms
33-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { slot: 7743724 } +0ms
34-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Updated state.optimisticHeader +21ms
35-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { slot: 7749758 } +0ms
26+
13527:Portal:Beacon:LightClientTransport Found LightClientBootstrap locally. Initializing light client... +0ms
27+
13527:Portal:Beacon:LightClient:DEBUG Syncing +0ms
28+
13527:Portal:Beacon:LightClient:DEBUG { lastPeriod: 945, currentPeriod: 947 } +1ms
29+
13527:Portal:Beacon:LightClientTransport requesting lightClientUpdatesByRange starting with period 945 and count 3 +15ms
30+
13527:Portal:Beacon:LightClient:DEBUG Updated state.optimisticHeader +19ms
31+
13527:Portal:Beacon:LightClient:DEBUG { slot: 7743724 } +0ms
32+
13527:Portal:Beacon:LightClient:DEBUG processed sync update +0ms
33+
13527:Portal:Beacon:LightClient:DEBUG { slot: 7743724 } +0ms
34+
13527:Portal:Beacon:LightClient:DEBUG Updated state.optimisticHeader +21ms
35+
13527:Portal:Beacon:LightClient:DEBUG { slot: 7749758 } +0ms
3636
```
3737
...
3838
```sh
39-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { slot: 7757824 } +0ms
40-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG processed sync update +0ms
41-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { slot: 7757893 } +0ms
42-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Synced +0ms
43-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { currentPeriod: 947 } +0ms
44-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Started tracking the head +1ms
39+
13527:Portal:Beacon:LightClient:DEBUG { slot: 7757824 } +0ms
40+
13527:Portal:Beacon:LightClient:DEBUG processed sync update +0ms
41+
13527:Portal:Beacon:LightClient:DEBUG { slot: 7757893 } +0ms
42+
13527:Portal:Beacon:LightClient:DEBUG Synced +0ms
43+
13527:Portal:Beacon:LightClient:DEBUG { currentPeriod: 947 } +0ms
44+
13527:Portal:Beacon:LightClient:DEBUG Started tracking the head +1ms
4545
ultralight Received portal_beaconStore with params: 0: 0x03f67e760000000000,1: 0xbba4da96ac000000ffffffffffff7fffffffffffffffffffffffffffffffff... +14s
46-
13527:Portal:BeaconLightClientNetwork storing LightClientOptimisticUpdate content corresponding to 0x03f67e760000000000 +14s
47-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Updated state.optimisticHeader +14s
48-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG { slot: 7765749 } +0ms
46+
13527:Portal:Beacon storing LightClientOptimisticUpdate content corresponding to 0x03f67e760000000000 +14s
47+
13527:Portal:Beacon:LightClient:DEBUG Updated state.optimisticHeader +14s
48+
13527:Portal:Beacon:LightClient:DEBUG { slot: 7765749 } +0ms
4949
ultralight Received portal_beaconStore with params: 0: 0x02a07e760000000000,1: 0xbba4da9670010000ad040000f5b30300000000000000000000000000000000... +429ms
50-
13527:Portal:BeaconLightClientNetwork storing LightClientFinalityUpdate content corresponding to 0x02a07e760000000000 +428ms
51-
13527:Portal:BeaconLightClientNetwork:LightClient:DEBUG Updated state.finalizedHeader +429ms
50+
13527:Portal:Beacon storing LightClientFinalityUpdate content corresponding to 0x02a07e760000000000 +428ms
51+
13527:Portal:Beacon:LightClient:DEBUG Updated state.finalizedHeader +429ms
5252
```
5353
5454
You can also call the RPC methods `beacon_getHead` and `beacon_getFinalized` to get the latest Light Client Headers for `latest` and `finalized` blocks known to the light client.

packages/cli/scripts/beaconBridge.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { ForkName } from '@lodestar/params'
77
import { ssz } from '@lodestar/types'
88
import jayson from 'jayson/promise/index.js'
99
import {
10-
BeaconLightClientNetworkContentType,
10+
BeaconNetworkContentType,
1111
LightClientBootstrapKey,
1212
LightClientFinalityUpdateKey,
1313
LightClientOptimisticUpdateKey,
@@ -35,7 +35,7 @@ const main = async () => {
3535
`Retrieved latest optimistic update for slot ${BigInt(optimisticUpdate.signatureSlot)}`,
3636
)
3737
const optimisticUpdateKey = getBeaconContentKey(
38-
BeaconLightClientNetworkContentType.LightClientOptimisticUpdate,
38+
BeaconNetworkContentType.LightClientOptimisticUpdate,
3939
LightClientOptimisticUpdateKey.serialize({
4040
signatureSlot: BigInt(optimisticUpdate.signatureSlot),
4141
}),
@@ -59,7 +59,7 @@ const main = async () => {
5959
}
6060
const serializedRange = LightClientUpdatesByRange.serialize(range)
6161
const rangeKey = getBeaconContentKey(
62-
BeaconLightClientNetworkContentType.LightClientUpdatesByRange,
62+
BeaconNetworkContentType.LightClientUpdatesByRange,
6363
LightClientUpdatesByRangeKey.serialize({ startPeriod: BigInt(oldPeriod), count: 3n }),
6464
)
6565
const bootstrapSlot = updatesByRange[0].data.finalized_header.beacon.slot
@@ -78,7 +78,7 @@ const main = async () => {
7878
)
7979
const res = await ultralight.request('portal_beaconStore', [
8080
getBeaconContentKey(
81-
BeaconLightClientNetworkContentType.LightClientBootstrap,
81+
BeaconNetworkContentType.LightClientBootstrap,
8282
LightClientBootstrapKey.serialize({ blockHash: hexToBytes(bootstrapRoot) }),
8383
),
8484
bytesToHex(
@@ -122,7 +122,7 @@ const main = async () => {
122122
.data,
123123
)
124124
const optimisticUpdateKey = getBeaconContentKey(
125-
BeaconLightClientNetworkContentType.LightClientOptimisticUpdate,
125+
BeaconNetworkContentType.LightClientOptimisticUpdate,
126126
LightClientOptimisticUpdateKey.serialize({
127127
signatureSlot: BigInt(optimisticUpdate.signatureSlot),
128128
}),
@@ -144,7 +144,7 @@ const main = async () => {
144144
(await (await fetch(beaconNode + 'eth/v1/beacon/light_client/finality_update')).json()).data,
145145
)
146146
const finalityUpdateKey = getBeaconContentKey(
147-
BeaconLightClientNetworkContentType.LightClientFinalityUpdate,
147+
BeaconNetworkContentType.LightClientFinalityUpdate,
148148
LightClientFinalityUpdateKey.serialize({
149149
finalitySlot: BigInt(finalityUpdate.finalizedHeader.beacon.slot),
150150
}),

packages/cli/scripts/bootstrapFinder.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { computeSyncPeriodAtSlot } from '@lodestar/light-client/utils'
66
import { ssz } from '@lodestar/types'
77
import jayson from 'jayson/promise/index.js'
88
import {
9-
BeaconLightClientNetworkContentType,
9+
BeaconNetworkContentType,
1010
LightClientBootstrapKey,
1111
LightClientOptimisticUpdateKey,
1212
LightClientUpdatesByRange,
@@ -37,7 +37,7 @@ const main = async () => {
3737
console.log('Retrieving bootstrap and updates from Beacon node...')
3838
const optimisticUpdate = (await api.lightclient.getOptimisticUpdate()).response!
3939
const optimisticUpdateKey = getBeaconContentKey(
40-
BeaconLightClientNetworkContentType.LightClientOptimisticUpdate,
40+
BeaconNetworkContentType.LightClientOptimisticUpdate,
4141
LightClientOptimisticUpdateKey.serialize({
4242
signatureSlot: BigInt(optimisticUpdate.data.attestedHeader.beacon.slot),
4343
}),
@@ -61,7 +61,7 @@ const main = async () => {
6161
}
6262
const serializedRange = LightClientUpdatesByRange.serialize(range)
6363
const rangeKey = getBeaconContentKey(
64-
BeaconLightClientNetworkContentType.LightClientUpdatesByRange,
64+
BeaconNetworkContentType.LightClientUpdatesByRange,
6565
LightClientUpdatesByRangeKey.serialize({ startPeriod: BigInt(oldPeriod), count: 4n }),
6666
)
6767
for (let x = 0; x < 4; x++) {
@@ -73,7 +73,7 @@ const main = async () => {
7373
const bootstrap = (await api.lightclient.getBootstrap(bootstrapRoot)).response!
7474
await ultralights[Math.floor(Math.random() * 10)].request('portal_beaconStore', [
7575
getBeaconContentKey(
76-
BeaconLightClientNetworkContentType.LightClientBootstrap,
76+
BeaconNetworkContentType.LightClientBootstrap,
7777
LightClientBootstrapKey.serialize({ blockHash: hexToBytes(bootstrapRoot) }),
7878
),
7979
bytesToHex(
@@ -140,7 +140,7 @@ const main = async () => {
140140
const optimisticUpdate = (await api.lightclient.getOptimisticUpdate()).response!
141141
console.log('new update')
142142
const optimisticUpdateKey = getBeaconContentKey(
143-
BeaconLightClientNetworkContentType.LightClientOptimisticUpdate,
143+
BeaconNetworkContentType.LightClientOptimisticUpdate,
144144
LightClientOptimisticUpdateKey.serialize({
145145
signatureSlot: BigInt(optimisticUpdate.data.attestedHeader.beacon.slot),
146146
}),

packages/cli/scripts/postCapellaBlockBridge.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Common } from '@ethereumjs/common'
44
import { ssz, sszTypesFor } from '@lodestar/types'
55
import jayson from 'jayson/promise/index.js'
66
import {
7-
BeaconLightClientNetworkContentType,
7+
BeaconNetworkContentType,
88
BlockHeaderWithProof,
99
getBeaconContentKey,
1010
getContentKey,
@@ -55,7 +55,7 @@ const main = async () => {
5555
`Retrieved latest optimistic update for slot ${BigInt(optimisticUpdate.signatureSlot)}`,
5656
)
5757
const optimisticUpdateKey = getBeaconContentKey(
58-
BeaconLightClientNetworkContentType.LightClientOptimisticUpdate,
58+
BeaconNetworkContentType.LightClientOptimisticUpdate,
5959
LightClientOptimisticUpdateKey.serialize({
6060
signatureSlot: BigInt(optimisticUpdate.signatureSlot),
6161
}),
@@ -86,7 +86,7 @@ const main = async () => {
8686
let res = await ultralight.request('portal_beaconStore', [
8787
bytesToHex(
8888
getBeaconContentKey(
89-
BeaconLightClientNetworkContentType.LightClientBootstrap,
89+
BeaconNetworkContentType.LightClientBootstrap,
9090
LightClientBootstrapKey.serialize({ blockHash: hexToBytes(bootstrapRoot) }),
9191
),
9292
),
@@ -126,7 +126,7 @@ const main = async () => {
126126
res = await ultralight.request('portal_beaconStore', [
127127
bytesToHex(
128128
getBeaconContentKey(
129-
BeaconLightClientNetworkContentType.HistoricalSummaries,
129+
BeaconNetworkContentType.HistoricalSummaries,
130130
HistoricalSummariesKey.serialize({ epoch: BigInt(finalityEpoch) }),
131131
),
132132
),

packages/cli/src/rpc/modules/beacon.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { hexToBytes } from '@ethereumjs/util'
22
import { RunStatusCode } from '@lodestar/light-client'
33
import { ssz } from '@lodestar/types'
44
import {
5-
type BeaconLightClientNetwork,
6-
BeaconLightClientNetworkContentType,
5+
type BeaconNetwork,
6+
BeaconNetworkContentType,
77
ContentLookup,
88
LightClientUpdatesByRangeKey,
99
NetworkId,
@@ -24,14 +24,14 @@ const methods = ['beacon_getHead', 'beacon_getFinalized', 'beacon_getLightClient
2424
* @memberof module:rpc/modules
2525
*/
2626
export class beacon {
27-
private _beacon: BeaconLightClientNetwork
27+
private _beacon: BeaconNetwork
2828
private logger: Debugger
2929
/**
3030
* Create beacon_* RPC module
3131
* @param rpcManager RPC client to which the module binds
3232
*/
3333
constructor(client: PortalNetwork, logger: Debugger) {
34-
this._beacon = client.networks.get(NetworkId.BeaconChainNetwork) as BeaconLightClientNetwork
34+
this._beacon = client.networks.get(NetworkId.BeaconChainNetwork) as BeaconNetwork
3535
this.logger = logger.extend('beacon')
3636

3737
this.methods = middleware(this.methods.bind(this), 0, [])
@@ -89,7 +89,7 @@ export class beacon {
8989
async getLightClientUpdate(params: [string]) {
9090
const period = Number(BigInt(params[0]))
9191
const rangeKey = getBeaconContentKey(
92-
BeaconLightClientNetworkContentType.LightClientUpdate,
92+
BeaconNetworkContentType.LightClientUpdate,
9393
hexToBytes(computeLightClientKeyFromPeriod(period)),
9494
)
9595
const update = await this._beacon.retrieve(rangeKey)
@@ -101,7 +101,7 @@ export class beacon {
101101
const lookup = new ContentLookup(
102102
this._beacon,
103103
getBeaconContentKey(
104-
BeaconLightClientNetworkContentType.LightClientUpdatesByRange,
104+
BeaconNetworkContentType.LightClientUpdatesByRange,
105105
LightClientUpdatesByRangeKey.serialize({ startPeriod: BigInt(params[0]), count: 1n }),
106106
),
107107
)

packages/cli/src/rpc/modules/portal.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
FoundContent,
88
NetworkId,
99
NodeLookup,
10-
shortId
10+
shortId,
1111
} from 'portalnetwork'
1212

1313
import { BEACON_CLIENT_NOT_INITIALIZED, CONTENT_NOT_FOUND, INVALID_PARAMS } from '../error-code.js'
@@ -16,12 +16,7 @@ import { callWithStackTrace, isValidId } from '../util.js'
1616
import { middleware, validators } from '../validators.js'
1717

1818
import type { Debugger } from 'debug'
19-
import type {
20-
BeaconLightClientNetwork,
21-
HistoryNetwork,
22-
PortalNetwork,
23-
StateNetwork,
24-
} from 'portalnetwork'
19+
import type { BeaconNetwork, HistoryNetwork, PortalNetwork, StateNetwork } from 'portalnetwork'
2520
import type { GetEnrResult } from '../schema/types.js'
2621
import { RunStatusCode } from '@lodestar/light-client'
2722

@@ -89,16 +84,14 @@ const methods = [
8984
export class portal {
9085
private _client: PortalNetwork
9186
private _history: HistoryNetwork
92-
private _beacon: BeaconLightClientNetwork
87+
private _beacon: BeaconNetwork
9388
private _state: StateNetwork
9489
private logger: Debugger
9590

9691
constructor(client: PortalNetwork, logger: Debugger) {
9792
this._client = client
9893
this._history = this._client.networks.get(NetworkId.HistoryNetwork) as HistoryNetwork
99-
this._beacon = this._client.networks.get(
100-
NetworkId.BeaconChainNetwork,
101-
) as BeaconLightClientNetwork
94+
this._beacon = this._client.networks.get(NetworkId.BeaconChainNetwork) as BeaconNetwork
10295
this._state = this._client.networks.get(NetworkId.StateNetwork) as StateNetwork
10396
this.logger = logger
10497
this.methods = middleware(this.methods.bind(this), 0, [])
@@ -1189,29 +1182,39 @@ export class portal {
11891182

11901183
async beaconOptimisticStateRoot(params: []): Promise<string> {
11911184
this.logger(`beaconOptimisticStateRoot request received`)
1192-
if (this._beacon.lightClient?.status === RunStatusCode.uninitialized || this._beacon.lightClient?.status === RunStatusCode.stopped) {
1185+
if (
1186+
this._beacon.lightClient?.status === RunStatusCode.uninitialized ||
1187+
this._beacon.lightClient?.status === RunStatusCode.stopped
1188+
) {
11931189
const error = {
11941190
code: BEACON_CLIENT_NOT_INITIALIZED,
11951191
message: 'beacon client not initialized',
11961192
}
11971193
throw error
11981194
}
11991195
const res = await this._beacon.lightClient?.getHead()
1200-
this.logger(`beaconOptimisticStateRoot request returned ${res !== undefined ? bytesToHex(res?.beacon.stateRoot) : '0x'}`)
1196+
this.logger(
1197+
`beaconOptimisticStateRoot request returned ${res !== undefined ? bytesToHex(res?.beacon.stateRoot) : '0x'}`,
1198+
)
12011199
return res !== undefined ? bytesToHex(res?.beacon.stateRoot) : '0x'
12021200
}
12031201

12041202
async beaconFinalizedStateRoot(params: []): Promise<string> {
12051203
this.logger(`beaconFinalizedStateRoot request received`)
1206-
if (this._beacon.lightClient?.status === RunStatusCode.uninitialized || this._beacon.lightClient?.status === RunStatusCode.stopped) {
1204+
if (
1205+
this._beacon.lightClient?.status === RunStatusCode.uninitialized ||
1206+
this._beacon.lightClient?.status === RunStatusCode.stopped
1207+
) {
12071208
const error = {
12081209
code: BEACON_CLIENT_NOT_INITIALIZED,
12091210
message: 'beacon client not initialized',
12101211
}
12111212
throw error
12121213
}
12131214
const res = await this._beacon.lightClient?.getFinalized()
1214-
this.logger(`beaconFinalizedStateRoot request returned ${res !== undefined ? bytesToHex(res?.beacon.stateRoot) : '0x'}`)
1215+
this.logger(
1216+
`beaconFinalizedStateRoot request returned ${res !== undefined ? bytesToHex(res?.beacon.stateRoot) : '0x'}`,
1217+
)
12151218
return res !== undefined ? bytesToHex(res?.beacon.stateRoot) : '0x'
12161219
}
12171220

packages/cli/src/rpc/modules/ultralight.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,7 @@ import { INTERNAL_ERROR } from '../error-code.js'
55
import { middleware, validators } from '../validators.js'
66

77
import type { Debugger } from 'debug'
8-
import type {
9-
BeaconLightClientNetwork,
10-
HistoryNetwork,
11-
PortalNetwork,
12-
StateNetwork,
13-
} from 'portalnetwork'
8+
import type { BeaconNetwork, HistoryNetwork, PortalNetwork, StateNetwork } from 'portalnetwork'
149

1510
const methods = [
1611
'ultralight_methods',
@@ -28,7 +23,7 @@ export class ultralight {
2823
private _client: PortalNetwork
2924
private _history?: HistoryNetwork
3025
private _state?: StateNetwork
31-
private _beacon?: BeaconLightClientNetwork
26+
private _beacon?: BeaconNetwork
3227
private logger: Debugger
3328

3429
constructor(client: PortalNetwork, logger: Debugger) {

packages/cli/test/rpc/beacon/getLightClientUpdate.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { bytesToHex, hexToBytes } from '@ethereumjs/util'
22
import { computeSyncPeriodAtSlot } from '@lodestar/light-client/utils'
33
import { ssz } from '@lodestar/types'
44
import {
5-
BeaconLightClientNetworkContentType,
5+
BeaconNetworkContentType,
66
computeLightClientKeyFromPeriod,
77
getBeaconContentKey,
88
} from 'portalnetwork'
@@ -15,7 +15,7 @@ describe(`${method} tests`, () => {
1515
const { ultralight, rpc } = await startRpc()
1616
const rangeJson = require('./range.json')[0]
1717
const rangeKey = getBeaconContentKey(
18-
BeaconLightClientNetworkContentType.LightClientUpdate,
18+
BeaconNetworkContentType.LightClientUpdate,
1919
hexToBytes(
2020
computeLightClientKeyFromPeriod(
2121
computeSyncPeriodAtSlot(Number(rangeJson.data.attested_header.beacon.slot)),

0 commit comments

Comments
 (0)