diff --git a/packages/beacon-node/test/sim/mergemock.test.ts b/packages/beacon-node/test/sim/mergemock.test.ts index d2dc37f893f5..d835aafa6a44 100644 --- a/packages/beacon-node/test/sim/mergemock.test.ts +++ b/packages/beacon-node/test/sim/mergemock.test.ts @@ -5,7 +5,7 @@ import {LogLevel, sleep} from "@lodestar/utils"; import {TimestampFormatCode} from "@lodestar/logger"; import {SLOTS_PER_EPOCH} from "@lodestar/params"; import {ChainConfig} from "@lodestar/config"; -import {Epoch, bellatrix} from "@lodestar/types"; +import {Epoch, allForks, bellatrix} from "@lodestar/types"; import {ValidatorProposerConfig, BuilderSelection} from "@lodestar/validator"; import {routes} from "@lodestar/api"; @@ -210,7 +210,9 @@ describe("executionEngine / ExecutionEngineHttp", function () { let builderBlocks = 0; await new Promise((resolve, _reject) => { bn.chain.emitter.on(routes.events.EventType.block, async (blockData) => { - const {data: fullOrBlindedBlock} = await bn.api.beacon.getBlockV2(blockData.block); + const {data: fullOrBlindedBlock} = (await bn.api.beacon.getBlockV2(blockData.block)) as { + data: allForks.SignedBeaconBlock; + }; if (fullOrBlindedBlock !== undefined) { const blockFeeRecipient = toHexString( (fullOrBlindedBlock as bellatrix.SignedBeaconBlock).message.body.executionPayload.feeRecipient diff --git a/packages/beacon-node/test/sim/withdrawal-interop.test.ts b/packages/beacon-node/test/sim/withdrawal-interop.test.ts index 4243d9175f14..8976ae9e89d0 100644 --- a/packages/beacon-node/test/sim/withdrawal-interop.test.ts +++ b/packages/beacon-node/test/sim/withdrawal-interop.test.ts @@ -6,7 +6,7 @@ import {TimestampFormatCode} from "@lodestar/logger"; import {SLOTS_PER_EPOCH, ForkName} from "@lodestar/params"; import {ChainConfig} from "@lodestar/config"; import {computeStartSlotAtEpoch} from "@lodestar/state-transition"; -import {Epoch, capella, Slot} from "@lodestar/types"; +import {Epoch, capella, Slot, allForks} from "@lodestar/types"; import {ValidatorProposerConfig} from "@lodestar/validator"; import {ExecutionPayloadStatus, PayloadAttributes} from "../../src/execution/engine/interface.js"; @@ -369,7 +369,10 @@ async function retrieveCanonicalWithdrawals(bn: BeaconNode, fromSlot: Slot, toSl }); if (block) { - if ((block.data as capella.SignedBeaconBlock).message.body.executionPayload?.withdrawals.length > 0) { + if ( + ((block as {data: allForks.SignedBeaconBlock}).data as capella.SignedBeaconBlock).message.body.executionPayload + ?.withdrawals.length > 0 + ) { withdrawalsBlocks++; } } diff --git a/packages/cli/test/sim/multi_fork.test.ts b/packages/cli/test/sim/multi_fork.test.ts index 117ad42e53eb..0eded5ba1c9a 100644 --- a/packages/cli/test/sim/multi_fork.test.ts +++ b/packages/cli/test/sim/multi_fork.test.ts @@ -2,6 +2,7 @@ import path from "node:path"; import {sleep, toHex, toHexString} from "@lodestar/utils"; import {ApiError} from "@lodestar/api"; +import {allForks} from "@lodestar/types"; import {CLIQUE_SEALING_PERIOD, SIM_TESTS_SECONDS_PER_SLOT} from "../utils/simulation/constants.js"; import {AssertionMatch, BeaconClient, ExecutionClient} from "../utils/simulation/interfaces.js"; import {SimulationEnvironment} from "../utils/simulation/SimulationEnvironment.js"; @@ -161,13 +162,14 @@ await unknownBlockSync.execution.job.start(); await unknownBlockSync.beacon.job.start(); const headForUnknownBlockSync = await env.nodes[0].beacon.api.beacon.getBlockV2("head"); ApiError.assert(headForUnknownBlockSync); +const headResponse = headForUnknownBlockSync.response as {data: allForks.SignedBeaconBlock}; await connectNewNode(unknownBlockSync, env.nodes); // Wait for EL node to start and sync await sleep(5000); try { - ApiError.assert(await unknownBlockSync.beacon.api.beacon.publishBlock(headForUnknownBlockSync.response.data)); + ApiError.assert(await unknownBlockSync.beacon.api.beacon.publishBlock(headResponse.data)); env.tracker.record({ message: "Publishing unknown block should fail", @@ -185,11 +187,9 @@ try { } await waitForHead(env, unknownBlockSync, { head: toHexString( - env.forkConfig - .getForkTypes(headForUnknownBlockSync.response.data.message.slot) - .BeaconBlock.hashTreeRoot(headForUnknownBlockSync.response.data.message) + env.forkConfig.getForkTypes(headResponse.data.message.slot).BeaconBlock.hashTreeRoot(headResponse.data.message) ), - slot: headForUnknownBlockSync.response.data.message.slot, + slot: headResponse.data.message.slot, }); await env.stop(); diff --git a/packages/cli/test/utils/simulation/utils/network.ts b/packages/cli/test/utils/simulation/utils/network.ts index 145c2c28ada5..667f223fe765 100644 --- a/packages/cli/test/utils/simulation/utils/network.ts +++ b/packages/cli/test/utils/simulation/utils/network.ts @@ -163,7 +163,7 @@ export async function fetchBlock( continue; } - return res.response.data; + return (res.response as {data: allForks.SignedBeaconBlock}).data; } return; diff --git a/packages/light-client/src/transport/rest.ts b/packages/light-client/src/transport/rest.ts index 765e55d7f5c5..4e48f8babe11 100644 --- a/packages/light-client/src/transport/rest.ts +++ b/packages/light-client/src/transport/rest.ts @@ -56,7 +56,7 @@ export class LightClientRestTransport extends (EventEmitter as {new (): RestEven async fetchBlock(blockRootAsString: string): Promise<{version: ForkName; data: allForks.SignedBeaconBlock}> { const res = await this.api.beacon.getBlockV2(blockRootAsString); ApiError.assert(res); - return res.response; + return res.response as {version: ForkName; data: allForks.SignedBeaconBlock}; } onOptimisticUpdate(handler: (optimisticUpdate: allForks.LightClientOptimisticUpdate) => void): void { diff --git a/packages/prover/src/utils/consensus.ts b/packages/prover/src/utils/consensus.ts index d008a8e42459..c8e91477cba1 100644 --- a/packages/prover/src/utils/consensus.ts +++ b/packages/prover/src/utils/consensus.ts @@ -13,7 +13,7 @@ export async function fetchNearestBlock( ): Promise { const res = await api.beacon.getBlockV2(slot); - if (res.ok) return res.response.data; + if (res.ok) return (res.response as {data: allForks.SignedBeaconBlock}).data; if (!res.ok && res.error.code === 404) { return fetchNearestBlock(api, direction === "down" ? slot - 1 : slot + 1); diff --git a/packages/state-transition/test/perf/analyzeBlocks.ts b/packages/state-transition/test/perf/analyzeBlocks.ts index 8bd472d76ba5..f9e26b4f5238 100644 --- a/packages/state-transition/test/perf/analyzeBlocks.ts +++ b/packages/state-transition/test/perf/analyzeBlocks.ts @@ -1,5 +1,6 @@ import {getClient, ApiError} from "@lodestar/api"; import {config} from "@lodestar/config/default"; +import {allForks} from "@lodestar/types"; import {getInfuraBeaconUrl} from "../utils/infura.js"; // Analyze how Ethereum Consensus blocks are in a target network to prepare accurate performance states and blocks @@ -52,7 +53,7 @@ async function run(): Promise { } ApiError.assert(result.value); - const block = result.value.response.data; + const block = (result.value.response as {data: allForks.SignedBeaconBlock}).data; blocks++; attestations += block.message.body.attestations.length; diff --git a/packages/state-transition/test/utils/testFileCache.ts b/packages/state-transition/test/utils/testFileCache.ts index e752f3c36e68..84f8f35533cd 100644 --- a/packages/state-transition/test/utils/testFileCache.ts +++ b/packages/state-transition/test/utils/testFileCache.ts @@ -90,7 +90,9 @@ export async function getNetworkCachedBlock( ? await client.beacon.getBlock(String(slot)) : await client.beacon.getBlockV2(String(slot)); ApiError.assert(res); - return config.getForkTypes(slot).SignedBeaconBlock.serialize(res.response.data); + return config + .getForkTypes(slot) + .SignedBeaconBlock.serialize((res.response as {data: allForks.SignedBeaconBlock}).data); }, ]);