Metadata V16: Be more dynamic over which hasher is used. (#1974)

* Use DynamicHasher256 to support Blake2 or Keccack depending on chain

* remove Config::Hash associated type, replace with HashFor<Config> alias

* Fix doc links

* fix wasm tests

* Don't strip system pallet associated types. check System.Hashing, not Hash. Rename BlockHash trait to Hash

* Tweak comment

* fmt

* fix merge

* Fix typo
This commit is contained in:
James Wilson
2025-04-23 10:12:48 +01:00
committed by GitHub
parent a8ae55a61b
commit 21b3f52191
43 changed files with 573 additions and 371 deletions
+7 -3
View File
@@ -31,8 +31,9 @@ async fn wasm_ws_transport_works() {
let client = subxt::client::OnlineClient::<SubstrateConfig>::from_url("ws://127.0.0.1:9944")
.await
.unwrap();
let hasher = client.hasher();
let mut stream = client.backend().stream_best_block_headers().await.unwrap();
let mut stream = client.backend().stream_best_block_headers(hasher).await.unwrap();
assert!(stream.next().await.is_some());
}
@@ -41,8 +42,9 @@ async fn wasm_ws_chainhead_works() {
let rpc = subxt::backend::rpc::RpcClient::from_url("ws://127.0.0.1:9944").await.unwrap();
let backend = subxt::backend::chain_head::ChainHeadBackendBuilder::new().build_with_background_driver(rpc);
let client = subxt::client::OnlineClient::<SubstrateConfig>::from_backend(std::sync::Arc::new(backend)).await.unwrap();
let hasher = client.hasher();
let mut stream = client.backend().stream_best_block_headers().await.unwrap();
let mut stream = client.backend().stream_best_block_headers(hasher).await.unwrap();
assert!(stream.next().await.is_some());
}
@@ -50,7 +52,9 @@ async fn wasm_ws_chainhead_works() {
async fn reconnecting_rpc_client_ws_transport_works() {
let rpc = ReconnectingRpcClient::builder().build("ws://127.0.0.1:9944".to_string()).await.unwrap();
let client = subxt::client::OnlineClient::<SubstrateConfig>::from_rpc_client(rpc.clone()).await.unwrap();
let mut stream = client.backend().stream_best_block_headers().await.unwrap();
let hasher = client.hasher();
let mut stream = client.backend().stream_best_block_headers(hasher).await.unwrap();
assert!(stream.next().await.is_some());
}