* begin porting over traits; remove Config use of Hash
* port over the Header bits that we need
* sp_core_hashing where possible, move Verify to PairSigner, remove unused errors
* tidy up Config things and move related bits into one place
* fix codegen
* copy Era over
* move AccountId, Address, Signer to Signer trait and a pass over fixing examples
* impl MultiAddress, MultiSignature, AccountId32 and add back to Config (for decoding later)
* Copy over StorageKey, StorageData, StorageChangeSet
* subxt core compiling with no sp_core or sp_runtime
* Get examples compiling
* pass over fixing tests
* cargo fmt
* clippy tweaks and update polkadot.rs
* fix codegen docs
* port over special DigestItem encoding/decoding
* clippy and doc fixes
* cargo fmt and example fix
* more cargo fmt-ing...
* substrate-extra to substrate-compat
* cargo.toml comments
* simplify PairSigner trait bounds
* move RPC types to a separate file
* fix docs
* Add some tests for things and other PR feedback
* bump to latest sp deps
* avoid needing substrate-compat feature in a test
* rpc: Extend `RpcClientT` to return the subscription ID
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Return `RpcSubscriptionId` for jsonrpsee clients
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Expose subscription ID via subxt subscription
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Adjust example to return subscription ID
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Add structure for subscription stream and subscription id
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/rpc: Fetch metadata at arbitrary blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/events: Fetch metadata for events at arbitrary blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "subxt/events: Fetch metadata for events at arbitrary blocks"
This reverts commit 381409b7a8916611d7c44dc6ad58a90993b6c297.
* subxt/events: Custom constructor with metadata for events
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/events/events_type.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>
* get started
* make it work again
* make it compile again
* Use async-wasm-feature of jsonrpsee from the master branch
* Ensure we enable JS feature of getrandom for the wasm target
* Update subxt/src/lib.rs
* update jsonrpsee
* fix CI
* cargo fmt
* fix wasm test
* fix grumbles
* exclude wasm-tests from workspace
To avoid leaking `jsonrpsee-web` feature into the workspace
Co-authored-by: Igor Matuszewski <xanewok@gmail.com>
* First pass adding functions to get blocks and extrinsics
* cargo fmt and cache block events
* prefix block hash with 0x
* pin streams for better ergonomics and add an example of subscribing to blocks
* remove unused var
* standardise on _all, _best and _finalized for different block header subs
* WIP center subscribing around blocks
* Remove the event filtering/subscribing stuff
* clippy
* we need tokio, silly clippy
* add extrinsic_index() call
* Update subxt/src/blocks/block_types.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* WIP generalising RPC client
* WIP: non-object-safe RpcClientT.. aah generics everywhere
* WIP object-safe RpcClientT trait and no more extra generics
* Get core things compiling again with object-safe RpcClientT trait
* Make jsonrpsee optional and get test-runtime working again
* cargo fmt
* add RpcParams object to enforce correct formatting of rps params
* Wee tweaks
* clippy fixes
* cargo fmt
* TWeak a few types
* make sure we get jsonrpsee-types, too
* Add examples for rpc_params/RpcParams
* more doc tweaks
* remove a now unneeded dev note
* Option<Box<RawValue>> instead to avoid allocations in some cases
* update docs
* tweak RpcClientT trait docs
* Tweak docs around RpcClient and RpcClientT. Don't expose RpcClientT directly
* more doc tweaking about RpcParams and undo decision not to expose RpcParamsT
* Doc tweak
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* more doc tweaks
* Fix doc thing
* Add an example of injecting a custom RPC client
* Fix a typo
* Address clippy things in example
* Fix a silly typo
* another clippy fix
* rpc_params to panic instead of returning a result, like serde_json::json, and deref on Rpc<T>
* fix docs
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>