mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-22 11:27:58 +00:00
21b3f52191
* 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
61 lines
2.1 KiB
Rust
61 lines
2.1 KiB
Rust
#![cfg(target_arch = "wasm32")]
|
|
|
|
use subxt::config::SubstrateConfig;
|
|
use subxt::backend::rpc::reconnecting_rpc_client::RpcClient as ReconnectingRpcClient;
|
|
use wasm_bindgen_test::*;
|
|
|
|
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
|
|
|
|
// Run the tests by calling:
|
|
//
|
|
// ```text
|
|
// wasm-pack test --firefox --headless`
|
|
// ```
|
|
//
|
|
// You'll need to have a substrate node running:
|
|
//
|
|
// ```bash
|
|
// ./substrate-node --dev --node-key 0000000000000000000000000000000000000000000000000000000000000001 --listen-addr /ip4/0.0.0.0/tcp/30333/ws
|
|
// ```
|
|
//
|
|
// Use the following to enable logs:
|
|
// ```
|
|
// console_error_panic_hook::set_once();
|
|
// tracing_wasm::set_as_global_default();
|
|
// ```
|
|
|
|
#[wasm_bindgen_test]
|
|
async fn wasm_ws_transport_works() {
|
|
console_error_panic_hook::set_once();
|
|
tracing_wasm::set_as_global_default();
|
|
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(hasher).await.unwrap();
|
|
assert!(stream.next().await.is_some());
|
|
}
|
|
|
|
#[wasm_bindgen_test]
|
|
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(hasher).await.unwrap();
|
|
assert!(stream.next().await.is_some());
|
|
}
|
|
|
|
#[wasm_bindgen_test]
|
|
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 hasher = client.hasher();
|
|
|
|
let mut stream = client.backend().stream_best_block_headers(hasher).await.unwrap();
|
|
assert!(stream.next().await.is_some());
|
|
}
|
|
|