diff --git a/Cargo.lock b/Cargo.lock index ee34c84c0c..b4e2b020a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -547,6 +547,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" + [[package]] name = "base64ct" version = "1.6.0" @@ -706,9 +712,9 @@ dependencies = [ [[package]] name = "bs58" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ "tinyvec", ] @@ -1712,9 +1718,9 @@ checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ "fastrand", "futures-core", @@ -2362,7 +2368,7 @@ dependencies = [ "pin-project", "rustls-native-certs 0.7.0", "rustls-pki-types", - "soketto", + "soketto 0.7.1", "thiserror", "tokio", "tokio-rustls 0.25.0", @@ -2561,9 +2567,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lru" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ "hashbrown 0.14.3", ] @@ -2714,9 +2720,9 @@ dependencies = [ [[package]] name = "num-derive" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", @@ -3572,13 +3578,12 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ruzstd" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +checksum = "5174a470eeb535a721ae9fdd6e291c2411a906b96592182d05217591d5c5cf7b" dependencies = [ "byteorder", "derive_more", - "twox-hash", ] [[package]] @@ -3962,6 +3967,17 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha2" version = "0.9.9" @@ -4032,9 +4048,9 @@ checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" [[package]] name = "siphasher" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" @@ -4047,9 +4063,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smol" @@ -4071,13 +4087,11 @@ dependencies = [ [[package]] name = "smoldot" version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65332bfea88002d2b47f33e5f3ccd22a1c94967f8ada0c912be56865a02e5e57" dependencies = [ "arrayvec 0.7.4", "async-lock 3.3.0", "atomic-take", - "base64 0.21.7", + "base64 0.22.0", "bip39", "blake2-rfc", "bs58", @@ -4086,7 +4100,7 @@ dependencies = [ "derive_more", "ed25519-zebra 4.0.3", "either", - "event-listener 4.0.3", + "event-listener 5.0.0", "fnv", "futures-lite", "futures-util", @@ -4116,7 +4130,7 @@ dependencies = [ "siphasher", "slab", "smallvec", - "soketto", + "soketto 0.8.0", "twox-hash", "wasmi", "x25519-dalek", @@ -4126,16 +4140,15 @@ dependencies = [ [[package]] name = "smoldot-light" version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416a29c366a0e6d41bf81dc6c1e4851c60834eabea7e65d056c6becfdfd89977" dependencies = [ "async-channel", "async-lock 3.3.0", - "base64 0.21.7", + "base64 0.22.0", "blake2-rfc", + "bs58", "derive_more", "either", - "event-listener 4.0.3", + "event-listener 5.0.0", "fnv", "futures-channel", "futures-lite", @@ -4184,6 +4197,21 @@ dependencies = [ "sha-1", ] +[[package]] +name = "soketto" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +dependencies = [ + "base64 0.22.0", + "bytes", + "futures", + "httparse", + "log", + "rand", + "sha1", +] + [[package]] name = "sp-application-crypto" version = "33.0.0" @@ -5565,10 +5593,11 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasmi" -version = "0.32.0-beta.5" +version = "0.32.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b962e531cc387ce15b1da00f06f727f9a9063619e74d1499c3e443d940378b0" +checksum = "25c72a5f9570c87a59db8f071bbc1338922c9b19a43128d01e1d0c77f65ff2b1" dependencies = [ + "arrayvec 0.7.4", "multi-stash", "num-derive", "num-traits", @@ -5581,15 +5610,15 @@ dependencies = [ [[package]] name = "wasmi_arena" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" +checksum = "0f686876d8f92a573a9a1e005b78ec1e893158bbdc3ac75a1270384ca86d6c6b" [[package]] name = "wasmi_core" -version = "0.15.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ac482df6761020b2b75c9aade41c105993c5b9f64156c349bb7ccad226a6ecd" +checksum = "06223fd279f83ff4739554b9df82d9632bf5922acb7fc505990a0406837b5474" dependencies = [ "downcast-rs", "libm", diff --git a/Cargo.toml b/Cargo.toml index 001732e41e..fb5fcd2a8d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ resolver = "2" authors = ["Parity Technologies "] edition = "2021" version = "0.35.0" -rust-version = "1.74.0" +rust-version = "1.77.0" license = "Apache-2.0 OR GPL-3.0" repository = "https://github.com/paritytech/subxt" documentation = "https://docs.rs/subxt" @@ -112,8 +112,12 @@ which = "5.0.0" strip-ansi-escapes = "0.2.0" # Light client support: -smoldot = { version = "0.17.0", default-features = false } -smoldot-light = { version = "0.15.0", default-features = false } +smoldot = { path = "/home/lexnv/workspace/smoldot/lib", default-features = false } +#smoldot = { version = "0.17.0", default-features = false } + +#smoldot-light = { version = "0.15.0", default-features = false } +smoldot-light = { path = "/home/lexnv/workspace/smoldot/light-base", default-features = false } + tokio-stream = "0.1.14" futures-util = "0.3.30" rand = "0.8.5" diff --git a/testing/integration-tests/src/light_client/mod.rs b/testing/integration-tests/src/light_client/mod.rs index 523e9d00ea..2c9bb14748 100644 --- a/testing/integration-tests/src/light_client/mod.rs +++ b/testing/integration-tests/src/light_client/mod.rs @@ -166,10 +166,29 @@ async fn light_client_testing() -> Result<(), subxt::Error> { tracing_subscriber::fmt::init(); let now = std::time::Instant::now(); + println!("Init lightclient"); + // let chainspec = subxt::utils::fetch_chainspec_from_rpc_node("wss://rpc.polkadot.io:443") + + // let chainspec = subxt::utils::fetch_chainspec_from_rpc_node("ws://127.0.0.1:9944") + // .await + // .unwrap(); + // println!("Fetch spec took {:?}\n", now.elapsed()); + // let bootnode = format!( + // "/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWHdiAxVd8uMQR1hGWXccidmfCwLqcMpGwR6QcTP6QRMuD", + // ); + // let chain_config = subxt::lightclient::ChainConfig::chain_spec(chainspec.get()) + // .set_bootnodes([bootnode.as_str()]) + // .map_err(|e| format!("Light client: cannot update boot nodes: {e}"))?; + let chainspec = subxt::utils::fetch_chainspec_from_rpc_node("wss://rpc.polkadot.io:443") .await .unwrap(); - let (_lc, rpc) = LightClient::relay_chain(chainspec.get())?; + + println!("Chain Spec: {:?}", chainspec); + + let chain_config = chainspec.get(); + + let (_lc, rpc) = LightClient::relay_chain(chain_config)?; let api = Client::from_rpc_client(rpc).await?; println!("Light client initialization took {:?}\n", now.elapsed());