MCPcopy Create free account
hub / github.com/base/base / header_by_hash

Method header_by_hash

crates/proof/executor/src/test_utils.rs:288–310  ·  view source on GitHub ↗
(&self, hash: B256)

Source from the content-addressed store, hash-verified

286 }
287
288 fn header_by_hash(&self, hash: B256) -> Result<Header, Self::Error> {
289 let encoded_header: Bytes = tokio::task::block_in_place(move || {
290 Handle::current().block_on(async {
291 let preimage: Bytes = self
292 .provider
293 .client()
294 .request("debug_getRawHeader", &[hash])
295 .await
296 .map_err(|_| TestTrieNodeProviderError::PreimageNotFound)?;
297
298 self.kv_store
299 .lock()
300 .await
301 .put(hash, preimage.clone())
302 .map_err(|_| TestTrieNodeProviderError::KVStore)?;
303
304 Ok(preimage)
305 })
306 })?;
307
308 // Decode the Header.
309 Header::decode(&mut encoded_header.as_ref()).map_err(TestTrieNodeProviderError::Rlp)
310 }
311}
312
313/// A simple [`TrieDBProvider`] that reads data from a disk-based key-value store.

Callers

nothing calls this directly

Calls 7

block_onMethod · 0.80
lockMethod · 0.80
requestMethod · 0.45
clientMethod · 0.45
cloneMethod · 0.45
as_refMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected