* add insecure url checks
* rename variables
* add feature flags to expose Url properly
* fix test compile error
* fix feature errors
* remove comment
* add url crate and use it for url parsing
* fix compile errors
* satisfy the holy clippy
* fix typos and host loopback
* macro attribute, provide validation function in utils
* fix expected output of ui tests
* remove the success case for --allow-insecure because we cannot establish ws:// connection at the moment.
* Update cargo.lock
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* parachain: Bump tokio dependency
The tokio dependency is bumped to version 1.34. Ideally, we would use
the workspace feature to pull in the tokio version. However, the
parachain example is not part of the workspace, because it depends on
non mutually exclusive feature flags.
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* parachain: Bump tokio dependency to 1.35
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate type alias for storage return types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate type alias for call function arguments
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update polkadot.rs code from commit 2e2a75ff81
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Type aliases for runtime API parameters
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Type alias for runtime apis output
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Change path of the aliased module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Adjust module indentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Do not alias for api::runtime_types with unresolved generics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fix and document runtime API alias generation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update cargo.lock file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate composite structs with alias unnamed fields
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update polkadot.rs file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Alias storage unnamed parameters
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Change polkadot to rococo runtime
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fix compiling tests in the codegen crate
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Extend storage test with alias module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/tests: Adjust exepcted commands to the latest metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Remove missleading comment and docs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Ensure unique names for generated runtime API types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/tests: Test expected runtime type generation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/tests: Check duplicate params in runtime APIs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/tests: Test colliding names of type aliases and parameters
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Separate alias module from struct definition
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Remove outdated docs from composite def
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Switch to workspace lints (#1299)
* subxt: Remove unstable lints that cause compile warnings
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Switch to workspace lints
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Fix codec package at root level
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Move profiles to the root level
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix lightclient and metadata crates
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "cargo: Fix codec package at root level"
This reverts commit cdf9e1628d708a972673eb3a9e967b6896edbd73.
* Fix complexity clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Remove lints to be replaced by `cargo machete`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Remove unused dependencies (detected by machete)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Add machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Bump rust version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Rename machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Rename cargo machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* test and outer enum pre compute
* explicit OuterEnumHashes type
* clippy
* move outer enums to their own module
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove unstable lints that cause compile warnings
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Switch to workspace lints
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Fix codec package at root level
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Move profiles to the root level
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix lightclient and metadata crates
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "cargo: Fix codec package at root level"
This reverts commit cdf9e1628d708a972673eb3a9e967b6896edbd73.
* Fix complexity clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Remove lints to be replaced by `cargo machete`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Remove unused dependencies (detected by machete)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Add machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Bump rust version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Rename machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Rename cargo machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage/fix: Use partial key instead of root key for iter
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Allow partial key construction
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Allow less provided types than num of hashes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Error on more fields than types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Check partial key iteration
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Rename variable wrt partial address bytes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Identical storage key to root key if no keys are provided
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close wasm socket while dropping from connecting state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct one time only closures
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Enable console logs for lightclient WASM testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Separate wakes and check connectivity on poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket depending on internal state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "lightclient: Separate wakes and check connectivity on poll_read"
This reverts commit 866094001d4c0b119a80ed681a74b323f74eae1b.
* lightclient: Return pending if socket is opening from poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket on `poll_close`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reset closures on Drop to avoid recursive invokation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket if not already closing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Add example using legacy rpc
* Illustrate how account_nonce and system_acc_next eventaully cathces up
* Adapt and add rpc_legacy example to book. Add missing light_client example too
* cargo fmt
---------
Co-authored-by: Fredrik Simonsson <fredrik@nodle.com>
* Remove 1 explicit bootnode; I think it stopped working so our tests did too
* Remove comment
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* First pass making matching on signed exts more general and handlng SkipCheckifFeeless
* remove unneeded derives (only exts we can decode into are handled by the user)
* No SkipCheckIfFeeless in integration tests either
* Cargo fmt
* Remove SkipCheckIfFeeless specific logic
* clippy
* matches to just return bool, not result
* remove now-invalid comment
* return error from find if .iter() errors
* lightclient: Make `smoldot::chainID` part of the RPC requests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Make `BackgroundTask` generic over `PlatformRef` and chain
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct from raw smoldot and target different chains
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update cargo lock for wasm tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reuse `new_from_client` method and removed unused imports
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reexport smoldot client and RPC objects used in pub
interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Adjust `new_from_client` interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Extend background to poll over multiple RPC objects
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Build light client from raw and target different chains
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Add demo chain specs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Move artifacts to dedicated folder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Use SelectAll to drive all streams
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Fetch initial data from the target chain
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reexport other smoldot objects
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Target chain with potentially different config
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/rpc: Log chainID for debugging
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/examples: Add smoldot client with parachain example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Propagate chain ID together with rpc responses object
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Multiplex responses by request ID and chain ID
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add raw light client builder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add cargo feature flag for parachains example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Derive default for internal structure
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Guard reexports by std feature flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/client/light_client/mod.rs
Co-authored-by: James Wilson <james@jsdw.me>
* lightclient: Update the builder pattern and chain targetting
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Fix documentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Provide more insightful docs wrt native/wasm panics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Adjust comment location
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Refactor UniqueChainId into the background task
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update lightclient/src/background.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Update subxt/src/client/light_client/builder.rs
Co-authored-by: James Wilson <james@jsdw.me>
* lightclient: Update docs wrt panics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Update docs wrt to smoldot instance -> client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Use IntoIter instead of Iterator
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Adjsut docs wrt [`Self::new_from_client`]
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove RawRpc from LightClient in favor of chainID
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reexport everything under smoldot module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Use stateRootHash instead of genesis.raw
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>