* Add a basic version of the CheckMetadataHash signed extension
* update example too
* encode None to signer payload when no hash provided
* Enable decoding txs using CheckMetadataHash, too
* Tidy up decoding CheckMetadataHash
* add ethereum example
The ethereum config doesn't work with the default PolkadotConfig which
this shows how to do.
Tested with a frontier node
* address grumbles
* Update subxt/examples/tx_basic_frontier.rs
* Update subxt/examples/tx_basic_frontier.rs
* 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
* storage_type: Strip key proper hash and entry bytes (32 instead of 16)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage_type: Fix typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage/tests: Check keys decode properly and don't cause errors
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update testing/integration-tests/src/full_client/storage/mod.rs
Co-authored-by: James Wilson <james@jsdw.me>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
* 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
* 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
* fix js-sys versions
* add nit comments
* no-std tests and porting of subxt-metadata
* update pipeline
* fix generate custom metadata test
* fix cargo run command
* adjust pipeline
* remove prelude from subxt-metadata
* revert autoformatting of Cargo.toml
* remove alloc::format! again, still causes linker errors
* add no-std-build for thumbv7em-none-eabi target
* remove std feature flag
* remove libc and add small readme with test instructions
* change ci for nightly no std
* 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>
* lightclient: Refactor the background protocol to receive unsub method
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* light-client: Unsubscribe if the user dropped the subscription
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Refactor background task for borrow-checker
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient/rpc: Pass the unsub method name to the background task
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Unsubscribe with subscription ID as param
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Rename subscription states
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* 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>
* asset hub example and book adjustment
* formatting
* recursive derives
* polkadot monitor example and book adjustments
* formatting
* adjust docs and examples, add dynamic example
* james suggestions
* fmt
* chore(subxt/src): typo fix (#1370)
* rpcmethods
* followstr
* mod and else
* Weekly Cronjob fetching artifacts and generating polkadot.rs file. (#1352)
* github CI action cronjob
* add commit message
* fix the CI yml files
* binary crate for CI script with substrate-runner
* update the CI script
* correct the artifacts script
* remove bash script
---------
Co-authored-by: James Wilson <james@jsdw.me>
Co-authored-by: Pan chao <152830401+Pan-chao@users.noreply.github.com>
* testing(fix): Ensure lightclient chainSpec is at least one block old
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "testing(fix): Ensure lightclient chainSpec is at least one block old"
This reverts commit 0eafcb2ca59d1f1cd2cef86b770f5a0401cce59f.
* lightclient(fix): Ensure lightclient chainSpec is at least one block old
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Link smoldot issue
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Use tokio under lightclient feature flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Do not sleep on errors to fetch the chainSpec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Remove test file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Subscribe to two finalized blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Revert cargo toml
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* 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>