* reconn-rpc-client: parse URL before connecting
It was hard to figure whether one simply entered a faulty URL
and it tried to reconnect according to the retry policy.
With this change we first parse url and then try to reconnect.
This will detect invalid directly instead of waiting for the retry
to complete.
* clippy fix
* wasm: &str -> Url
* Move Extrinsic decoding things to subxt_core and various tidy-ups
* A couple more fixes and fmt
* first pass moving tx logic to subxt_core
* cargo fmt
* fix wasm example
* clippy
* more clippy
* WIP Adding examples and such
* Move storage functionality more fully to subxt_core and nice examples for storage and txs
* Add example for events
* consistify how addresses/payloads are exposed in subxt-core and add runtime API fns
* Add runtime API core example
* fmt
* remove scale-info patch
* Add a little to the top level docs
* swap args around
* clippy
* cargo fmt and fix wasm-example
* doc fixes
* no-std-ise new subxt-core additions
* alloc, not core
* more no-std fixes
* A couple more fixes
* Add back extrinsic decode test
* start migrating, broken
* first iteration of updating
* fmt and clippy
* add Composite<u32> decoding via scale value patch
* bump scale type gen versions
* fix decoding with new scale decode
* compiling with changed deps
* core utils, condig, client, metadata
* core crate compiling
* signer crate no once lock
* add core to no-std-tests, change imports
* broken commit, start pulling everything together in subxt
* port more things to subxt
* events in core crate, extrinsics sadly much more difficult
* almost all examples pass again
* dynamic values fix in examples
* fix no std issue and fmt
* remove unused dependencies
* fix lightclient impl
* runtime version refactor
* formatting and addressing nits
* more comments addressed
* update wasm example and no-std-signer tests
* other nits and error impl on signer errors
* fix feature flag
* fix runtime version refactor
* fix doc links
* fix integration tests
* fix feature flag gated client state
* fix native feature in CI
* fix lightclient utils
* make imports more lean in subxt-core
* integrate changes from subxt-core imports into subxt
* other changes in subxt simplify imports more
* fix and docs
* doc false for cli
* fix clippy
* remove events block hash in tests
* codegen no-std support in generated code
* export alloc crate for no-std codegen
* fix doc test
* implement James comments
* remove std traits, use core traits instead
* address nits
* remove unusued dep in no-std tests
* fix Box import in no_std
* sp-crypto-hashing instead of sp-core-hashing
* bump scale-typegen, add no std codegen tests
* fix some things
* replace unmaintained derivative with derive_where to remove non-canonical warnings
* fmt
* remove unused dep
* fix deps
* update artifacts to fix type ID mismatches
* bump to latest scale-typegen
---------
Co-authored-by: James Wilson <james@jsdw.me>
* WIP second pass over light client code for simpler API
* First pass new light client
* pub(crate) LightClientRpc::new_raw(), and fmt
* Update examples and add back a way to configure boot nodes and fetch chainspec from a URL
* Fix light client examples
* remove unused deps and tidy lightclient feature flags
* fix wasm error
* LightClientRpc can be cloned
* update light client tests
* Other small fixes
* exclude mod unless jsonrpsee
* Fix wasm-lightclient-tests
* add back docsrs bit and web+native feature flag compile error
* update book and light client example names
* fix docs
* subxt/tx: Derive std::cmp traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/runtime_api: Derive std::cmp traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/constants: Derive std::cmp traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/custom_values: Derive std::cmp traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/storage: Derive std::cmp traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Fix non_canonical_partial_ord_impl clippy introduced in 1.73
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add comment wrt derivative issue that triggers clippy warning
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/backend/mod.rs
* Update subxt/src/constants/constant_address.rs
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Return Pending rather than loop around if no new finalized hash in submit_transaction
* uptodate => up-to-date
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* backend(fix): Early unpin for pruned blocks with no active `BlockRef`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend/tests: Check unpinning only after max_life time
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend/tests: Remove unpinning when droped tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend/tests: Ensure new blocks are not unpinned
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend: Add only pruned blocks to unpin hashset and add a test
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend: Introduce the `UnpinPolicy`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/backend/unstable/follow_stream_unpin.rs
* backend: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Only unpin blocks that have been pruned by the backend
* Fix comments
* Mark initialized and finalized blocks as 'can_be_unpinned' too and tests
* fmt
* tweak a couple more comments
* tidy tests and fix undeterministic check
* Fix wrong names in comments
* tweak another test to focus it a bit more
* clippy
* wee rename of args in a couple of test helpers
* add some logs and simplify submit_transaction in the same way Alex did
* ditch logging again and keep to the experiment pr
* cargo fmt
* reduce CI timeouts to 30mins
* Handle Init and Stop events in submit_transaction too, just in case
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
This commit changes the following:
1. FollowEvent::Finalized: just remove the finalized and pruned blocks from runtimes
2. FollowEvent::Initalized: just remove the finalized block from runtimes
Co-authored-by: James Wilson <james@jsdw.me>
* generate docs for feature-gated items on crates.io
* add newline in Cargo.toml
* unify newlines
* fix clippy
* introduce macros for features
* commit missing file
* Update subxt/src/lib.rs
* make it compile
* backend(fix): Remove only finalized blocks from the event window
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend: Improve documentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend/tests: Check new block is delivered after finalized event
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* backend: More docs about finalzied / prunning and new block / best block
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* 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.