* hacky integration with jsonrpsee v2
* stray todos
* fmt
* add http support
* make test build compile
* Update src/rpc.rs
* bring back set_client
* use crates.io version jsonrpsee
* WIP: workaround for embedded subxt client (#236)
* workaround for embedded subxt client
Signed-off-by: Gregory Hill <gregorydhill@outlook.com>
* increase default channel size on subxt client
Signed-off-by: Gregory Hill <gregorydhill@outlook.com>
* remove client tests due to inference problem on From
Signed-off-by: Gregory Hill <gregorydhill@outlook.com>
* add comments for missing impls
* more verbose errors
* make subscription notifs buffer bigger
* fmt
Co-authored-by: Greg Hill <gregorydhill@outlook.com>
* Global registration of type segmenters for event decoding
* Perform type sizes check when building client
* Introduce EventTypeRegistry for global runtime type sizes
* Fmt
* Register runtime type sizes on creation of EventTypeRegistry
* Register more default dispatch types
* Add missing type sizes
* fmt
* Fix up register_type_size builder method
* Update doc comments
* Make register_default_type_sizes public
* Don't allow duplicate registered types
* Remove call to supertraits type registration, done manually in Runtime
* Fix tests and warnings
* Fix duplicate type registration
* Fmt
* review: use is_empty()
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Add panic docs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Use substrate dependencies from crates.io
* Remove test that depends on node_runtime.
Because node_runtime is not on crates.io and was downloading duplicate substrate dependencies. The integration tests will test whether the serialization of keys and calls works.
* Fix updated jsonrpsee compilation errors
* Add missing frame-metadata dependency
* WIP
* Begin converting rpc layer to use std futures and jsonrpsee
* Convert metadata to async/await
* Convert block_hash to async/await
* Convert more methods to async/await
* Remove sp_rpc
* Fix more compilation errors
* Remove connect
* Starting to convert subscription functions
* Use jsonrpsee branch from PR for public client types
* Implement subscribe events with jsonrpsee subscription
* Converting subscriptions and wait_for_block_events
* WIP converting lib methods to async
* Use shared client reference directly for rpc call
`rpc_api!` macro currently only supports RawClient (which cannot be shared).
Also supports named params only which is not currently compatible with substrate rpd which accepts only positional params.
* Use &self instead of &mut self for shared Client
* Convert submit_and_watch to async/await
* Convert more Client fns to async
* Pin some trait futures
* Add serde error
* Fix client creation
* Fix client request compiler errors
* Unify metadata errors
* Add WS handshake error variant
* Fix some more compiler errors
* Fix more compiler errors
* Convert submit_extrinsic to async
* Convert submit and submit_and_watch
* Add Send + Sync constraints
* Clone clients
* Fix EventArg conversion error
* Fix remaining warnings/errors
* Replace deny warnings with specific lints
* Infallable subscription loops
* Use jsonrpsee wss branch
* Fix example
* Start to fix up tests
* Make contracts tests compile
* Make some more tests pass
* Fix up remaining tests
* Fmt
* Use correct event storage key type
* Fix finding events
* Use master jsonrpsee
* Remove System::Event type
* WIP: removing requirement for concrete Runtime impl for extras
* Use built in substrate types for constructing/signing the extrinsic
* Implement SignedExtension for copied types
* Fix remaining compilation errors
* Allow plugging in of predefined runtime types with blanket impls
* rustfmt
* Add CheckBlockGasLimit
* Construct DefaultExtrinsic in XtBuilder
* Derive Debug for extras
* Replace SignedExtension macro with explicit implementations
* Replace Lookup associated type with Address
* Move balances and contracts to main deps
* Introduce OpaqueEvent
* Look up event by module and variant
* Index events by module
* Get events by module
* Dynamically decode events
* Decode System events and EventRecord topics
* Use type sizes to decode raw events
* Remove unused imports
* rustfmt
* Unify error types, fix some compiler errors
* Make dynamic event decoding work
- fix compilation errors
- skip modules with no events when indexing
- preallocate vec for raw event data
* Remove printlns, replace where required with log
* Remove unused import
* Check missing type sizes
* Ignore unknown event arg type sizes
* Decode concrete System events, assumes every Runtime has the module
* Reorganise usings
* pub use some types
* Code docs
* Export Error
* Error Display impls
* Format code