{"record":{"id":"a7be07cb35a378b1","repo":"FuelLabs/fuel-core","slug":"the-blockheight-parameter-requires-the-histor","errorCode":null,"errorMessage":"The `blockHeight` parameter requires the `--historical-execution` option","messagePattern":"The `blockHeight` parameter requires the `--historical-execution` option","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/fuel-core/src/schema/tx.rs","lineNumber":147,"sourceCode":"        // This allows for non-existent inputs to be used without signature validation\n        // for read-only calls.\n        utxo_validation: Option<bool>,\n        gas_price: Option<U64>,\n        // This can be used to run the dry-run on top of a past block.\n        // Requires `--historical-execution` flag to be enabled.\n        block_height: Option<U32>,\n        // Record storage reads, so this tx can be used with execution tracer in a local debugger.\n        record_storage_reads: bool,\n    ) -> async_graphql::Result<DryRunStorageReads> {\n        let config = ctx.data_unchecked::<GraphQLConfig>().clone();\n        let block_producer = ctx.data_unchecked::<BlockProducer>();\n        let consensus_params = ctx\n            .data_unchecked::<ChainInfoProvider>()\n            .current_consensus_params();\n        let block_gas_limit = consensus_params.block_gas_limit();\n\n        if block_height.is_some() && !config.historical_execution {\n            return Err(anyhow::anyhow!(\n                \"The `blockHeight` parameter requires the `--historical-execution` option\"\n            )\n            .into());\n        }\n\n        let mut transactions = txs\n            .iter()\n            .map(|tx| FuelTx::from_bytes(&tx.0))\n            .collect::<Result<Vec<FuelTx>, _>>()?;\n        transactions.iter_mut().try_fold::<_, _, async_graphql::Result<u64>>(0u64, |acc, tx| {\n            let gas = tx.max_gas(&consensus_params)?;\n            let gas = gas.saturating_add(acc);\n            if gas > block_gas_limit {\n                return Err(anyhow::anyhow!(\"The sum of the gas usable by the transactions is greater than the block gas limit\").into());\n            }\n            tx.precompute(&consensus_params.chain_id())?;\n            Ok(gas)\n        })?;","sourceCodeStart":129,"sourceCodeEnd":165,"githubUrl":"https://github.com/FuelLabs/fuel-core/blob/b9d4d170da3a31c9ace5f963d633b326348e0d42/crates/fuel-core/src/schema/tx.rs#L129-L165","documentation":"Error \"The `blockHeight` parameter requires the `--historical-execution` option\" thrown in FuelLabs/fuel-core.","triggerScenarios":"Thrown at crates/fuel-core/src/schema/tx.rs:147 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b9d4d170da3a31c9ace5f963d633b326348e0d42","analyzedAt":"2026-08-16T08:56:42.692Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}