FuelLabs/fuel-core · error · anyhow::Error
Tendermint RPC response has no result
Error message
Tendermint RPC response has no result
What it means
Malformed-success guard in rpc(): the JSON-RPC envelope passed all protocol checks (200 status, jsonrpc 2.0, matching id, no error field) but the result member is absent/null, so there is nothing to deserialize into T. The server replied success-without-payload — a non-conformant or degenerate response, not a transport or application error. Occurs when a proxy strips the result or the method returns an unexpected null.
Source
Thrown at crates/services/shared-sequencer/src/http_api.rs:158
"Tendermint RPC response uses unsupported JSON-RPC version {}",
response.jsonrpc
);
}
if response.id != request.id {
anyhow::bail!(
"Tendermint RPC response ID {} does not match request ID {}",
response.id,
request.id
);
}
if let Some(error) = response.error {
anyhow::bail!("Tendermint RPC error: {error}");
}
response
.result
.ok_or_else(|| anyhow::anyhow!("Tendermint RPC response has no result"))
}
#[derive(Copy, Clone, Debug, Default)]
pub struct AccountMetadata {
pub account_number: u64,
pub sequence: u64,
}
#[derive(Clone, Debug, serde::Serialize)]
pub struct SimulateRequest {
pub tx_bytes: String,
}
pub async fn estimate_transaction(
http: &reqwest::Client,
api_url: &str,
tx_bytes: Vec<u8>,
) -> anyhow::Result<u64> {View on GitHub (pinned to add100d30d)
Solutions
- Log the raw response text to see what the node actually returned in place of result
- Confirm the Tendermint method invoked really returns a non-optional result of type T
- Retry once — some proxies intermittently emit empty envelopes
- If the endpoint legitimately returns null results, model T as Option<T> at the call site instead of failing here
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/services/shared-sequencer/src/http_api.rs:158 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of FuelLabs/fuel-core@add100d30d (2026-09-05).
Data as JSON: /api/errors/af24bb52d8a926e6.
Report an issue: GitHub.