Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

light-client: Add experimental light-client support #965

Merged
merged 88 commits into from
Jun 26, 2023

Commits on May 18, 2023

  1. rpc/types: Decode SubstrateTxStatus for substrate and smoldot

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    68e239a View commit details
    Browse the repository at this point in the history
  2. lightclient: Add light client Error

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    e54aa6a View commit details
    Browse the repository at this point in the history
  3. lightclient: Add background task to manage RPC responses

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    aaace2c View commit details
    Browse the repository at this point in the history
  4. lightclient: Implement the light client RPC in subxt

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    e9a6491 View commit details
    Browse the repository at this point in the history
  5. subxt: Expose light client under experimental feature-flag

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    2efdef1 View commit details
    Browse the repository at this point in the history
  6. artifacts: Add development chain spec for local nodes

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    f715092 View commit details
    Browse the repository at this point in the history
  7. Update cargo lock

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    0dc47f2 View commit details
    Browse the repository at this point in the history
  8. examples: Add light client example

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 18, 2023
    Configuration menu
    Copy the full SHA
    d59a331 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. Update sp-* crates and smoldot to use git with branch / rev

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 22, 2023
    Configuration menu
    Copy the full SHA
    d25c133 View commit details
    Browse the repository at this point in the history
  2. Apply cargo fmt

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 22, 2023
    Configuration menu
    Copy the full SHA
    96b428c View commit details
    Browse the repository at this point in the history
  3. Fix clippy

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 22, 2023
    Configuration menu
    Copy the full SHA
    5a04b21 View commit details
    Browse the repository at this point in the history
  4. Import hashmap entry

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 22, 2023
    Configuration menu
    Copy the full SHA
    4140615 View commit details
    Browse the repository at this point in the history
  5. lightclient: Fetch spec only if jsonrpsee feature is enabled

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 22, 2023
    Configuration menu
    Copy the full SHA
    c6668f6 View commit details
    Browse the repository at this point in the history
  6. Update subxt/src/rpc/lightclient/background.rs

    Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
    lexnv and niklasad1 authored May 22, 2023
    Configuration menu
    Copy the full SHA
    890a0e1 View commit details
    Browse the repository at this point in the history
  7. Fix typo

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 22, 2023
    Configuration menu
    Copy the full SHA
    5b15e2d View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. artifacts: Update dev chain spec

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    01549d0 View commit details
    Browse the repository at this point in the history
  2. types: Handle storage replies from chainHead_storage

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    922e19a View commit details
    Browse the repository at this point in the history
  3. artifacts: Add polkadot spec

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    14b6013 View commit details
    Browse the repository at this point in the history
  4. lightclient: Handle RPC error responses

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    c241506 View commit details
    Browse the repository at this point in the history
  5. examples: Tx basic with light client for local nodes

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    973c423 View commit details
    Browse the repository at this point in the history
  6. example: Light client coprehensive example for live chains

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    1ba4b82 View commit details
    Browse the repository at this point in the history
  7. examples: Remove prior light client example

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    e470006 View commit details
    Browse the repository at this point in the history
  8. feature: Rename experimental to unstable

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    f33d4cf View commit details
    Browse the repository at this point in the history
  9. Merge remote-tracking branch 'origin/master' into lexnv/light_client_…

    …support
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    b4c818c View commit details
    Browse the repository at this point in the history
  10. book: Add light client section

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    8600842 View commit details
    Browse the repository at this point in the history
  11. testing: Fix clippy

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    8624d72 View commit details
    Browse the repository at this point in the history
  12. lightclient: Ignore validated events

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    5aa0ac8 View commit details
    Browse the repository at this point in the history
  13. Adjust tests for light-clients and normal clients

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    d6f69ef View commit details
    Browse the repository at this point in the history
  14. testing: Keep lightclient variant

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    f405c89 View commit details
    Browse the repository at this point in the history
  15. Remove support for chainHead_storage for light client

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 25, 2023
    Configuration menu
    Copy the full SHA
    8e46da7 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. Update light client to point to crates.io

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 26, 2023
    Configuration menu
    Copy the full SHA
    df12146 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. Configuration menu
    Copy the full SHA
    c03a93e View commit details
    Browse the repository at this point in the history
  2. Update sp-crates from crates.io

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed May 31, 2023
    Configuration menu
    Copy the full SHA
    77cfeb7 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. Replace Atomic with u64

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    20f314b View commit details
    Browse the repository at this point in the history
  2. Add LightClientBuilder

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    d4095a3 View commit details
    Browse the repository at this point in the history
  3. Adjust chainspec with provided bootnodes

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    be80883 View commit details
    Browse the repository at this point in the history
  4. Add potential_relay_chains to light client builder

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    a010ace View commit details
    Browse the repository at this point in the history
  5. Merge remote-tracking branch 'origin/lexnv/light_client_support' into…

    … lexnv/light_client_support
    lexnv committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    3141161 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2023

  1. Move the light-client to the background task

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    4780966 View commit details
    Browse the repository at this point in the history
  2. Adjust tracing logs

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    86344e7 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'origin/master' into lexnv/light_client_…

    …support
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    9d7e452 View commit details
    Browse the repository at this point in the history
  4. Update book and example

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    b8678df View commit details
    Browse the repository at this point in the history
  5. Apply cargo fmt

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    e8abb7c View commit details
    Browse the repository at this point in the history
  6. Remove dev_spec.json artifact

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    f3f7bc5 View commit details
    Browse the repository at this point in the history
  7. Examples fix duplicate Cargo.toml

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    65dbf3d View commit details
    Browse the repository at this point in the history
  8. Use tracing_subscriber crate

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    2069d53 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. Fix clippy for different features

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    ddcd5a1 View commit details
    Browse the repository at this point in the history
  2. Add comment about bootNodes

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    e4757ae View commit details
    Browse the repository at this point in the history
  3. Add comment about tracing-sub dependency

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    2421005 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Run integration-tests with light-client

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    a0a716d View commit details
    Browse the repository at this point in the history
  2. Feature guard some incompatible tests

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    2b2cd40 View commit details
    Browse the repository at this point in the history
  3. ci: Enable light-client tests under feature flag

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    8247481 View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'origin/master' into lexnv/light_client_…

    …support
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    7843be6 View commit details
    Browse the repository at this point in the history
  5. ci: Fix git step name

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    5f9050c View commit details
    Browse the repository at this point in the history
  6. Adjust flags for testing

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    a646d32 View commit details
    Browse the repository at this point in the history
  7. Adjust warnings

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    f8a4ac0 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Rename feature flag jsonrpsee-ws to jsonrpsee

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    51aec8d View commit details
    Browse the repository at this point in the history
  2. Fix cargo check

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    88447d4 View commit details
    Browse the repository at this point in the history
  3. ci: Run tests on just 2 threads

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    a167609 View commit details
    Browse the repository at this point in the history
  4. Move light-client to subxt/src/client

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    24aaeee View commit details
    Browse the repository at this point in the history
  5. Adjust LightClientBuilder

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    90b455d View commit details
    Browse the repository at this point in the history
  6. Use ws_url to construct light client for testing

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    97d983c View commit details
    Browse the repository at this point in the history
  7. Refactor background

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    27172e7 View commit details
    Browse the repository at this point in the history
  8. Address feedback

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    f4e893a View commit details
    Browse the repository at this point in the history
  9. Remove polkadot.spec and trim sub_id

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    7421e25 View commit details
    Browse the repository at this point in the history
  10. Wait for substrate to produce block before connecting light client

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    97ce4b2 View commit details
    Browse the repository at this point in the history
  11. Adjust builder and tests

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    0be66ff View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    7ec3302 View commit details
    Browse the repository at this point in the history
  13. Apply fmt

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    aa6ef52 View commit details
    Browse the repository at this point in the history
  14. ci: Use release for light client testing

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    bbd5474 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Add single test for light-client

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    3b8b21a View commit details
    Browse the repository at this point in the history
  2. Wait for more blocks

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    608e225 View commit details
    Browse the repository at this point in the history
  3. Use polkadot endpoint for testing

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    56ba7dc View commit details
    Browse the repository at this point in the history
  4. Adjust cargo check

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    21ebb6d View commit details
    Browse the repository at this point in the history
  5. examples: Remove light client chain connection example

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    45d35c1 View commit details
    Browse the repository at this point in the history
  6. Adjust cargo.toml section for the old example

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    c5054ed View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Adjust background task to use usize for subscription Id

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    32b9212 View commit details
    Browse the repository at this point in the history
  2. Build bootnodes with serde_json::Value directly

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    e84cc09 View commit details
    Browse the repository at this point in the history
  3. Make channel between subxt user and subxt background unbounded

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    0bde689 View commit details
    Browse the repository at this point in the history
  4. Update subxt/src/client/lightclient/builder.rs

    Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
    lexnv and niklasad1 authored Jun 23, 2023
    Configuration menu
    Copy the full SHA
    4d53500 View commit details
    Browse the repository at this point in the history
  5. Switch to smoldot 0.6.0 from 0.5.0

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    0adfed4 View commit details
    Browse the repository at this point in the history
  6. Move testing to full_client and light_client higher modules

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    3f01f92 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. Remove subscriptionID type

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    5b586a5 View commit details
    Browse the repository at this point in the history
  2. Remove subxt/integration-testing feature flag

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    836c173 View commit details
    Browse the repository at this point in the history
  3. Adjust wait_for_blocks documentation

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    1497478 View commit details
    Browse the repository at this point in the history
  4. Adjust utils import for testing

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    5e39e41 View commit details
    Browse the repository at this point in the history
  5. Remove into_iter from builder construction

    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    88dfb6b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e88b6ef View commit details
    Browse the repository at this point in the history