* 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
* config: Add `SkipCheckIfFeeless` signed extension
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Add extra extension to the default params
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Adjust signed extension example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Extend SkipCheckIfFeeless with inner signed extension
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Configure SkipCheck with inner signed extension params
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Implement Deafult for SkipCheckIfFeelessParams with Option
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Fix example with proper extension
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Extend <T as Config>::AssetId with EncodeAsType and Clone
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Add SkipCheck with AssetTx
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Encode as type from metadata the inner signed extensions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust examples
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Use `SkipCheckIfFeeless` for decoding the tip of extensions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Decode `SkipCheckIfFeeless` with `Self`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* tests: Adjust testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Descriptive errors for building `SkipCheckIfFeeless`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Add docs for extra error types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add extra derives to signed extensions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Use `Default::default` to simplify type init
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* skeleton commit
* signed extension decoding
* fix some minor things
* make api more similar to Extrinsics
* defer decoding of signed extensions
* fix byte slices
* add test for nonce signed extension
* adjust test and extend for tip
* clippy
* support both ChargeTransactionPayment and ChargeAssetTxPayment
* address PR comments
* Extend lifetimes, expose pub structs, remove as_type
* add signed extensions to block subscribing example
* add Decoded type
* fix merging bug and tests
* add decoded type in CustomSignedExtension
* fix minor issues, extend test
* cargo fmt differences
* remove the `decoded` function
* new as_signed_extra fn, do not expose as_type anymore
* fix Result-Option order, simplify obtaining Nonce
* tx: Remove `wait_for_in_block` helper method (#1237)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update smoldot to 0.12 (#1212)
* Update lightclient
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Fix typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update cargo.toml
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add tracing logs to improve debugging
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add socket buffers module for `PlatformRef`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Update `SubxtPlatform`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Add lightclient dependencies
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update cargo.lock of wasm tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add constant for with-buffer module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Replace rand crate with getrandom
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* example: Update cargo lock file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Update deps
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>
* ChargeAssetTxPayment: support providing u32 or MultiLocation in default impl (#1227)
* Asset Id in Config trait
* add example configuring the config
* fmt
* fix Default trait bound
* merge examples, fix default again
* adjust config in examples
* Update subxt/src/config/mod.rs
Co-authored-by: James Wilson <james@jsdw.me>
---------
Co-authored-by: James Wilson <james@jsdw.me>
* generic AssetId
* fix generics
* fmt
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* Asset Id in Config trait
* add example configuring the config
* fmt
* fix Default trait bound
* merge examples, fix default again
* adjust config in examples
* Update subxt/src/config/mod.rs
Co-authored-by: James Wilson <james@jsdw.me>
---------
Co-authored-by: James Wilson <james@jsdw.me>
* add follow_stream impl
* follow_stream_unpin first draft
* add tests for follow_stream_unpin
* more tests and fixes for follow_stream_unpin
* first pass follow_stream_driver
* follow_stream_driver: add tests, fix things, buffer events from last finalized
* First pass finishing Backend impl
* Fix test compile issues
* clippy fixes
* clippy fix and consistify light_client
* revert lightclient tweak
* revert other lightclient thing
* cargo fmt
* start testing unstable backend behind feature flag
* more test fixes and move test-runtime metadata path just incase
* fix compile error
* ensure transaction progress stream actually used and fix another test
* cargo fmt
* CI tweak
* improve some comments and address some feedback bits
* update CI to use our own nightly binary
* wait for finalized block perhaps
* add back unstable APIs and tests
* clippy fixes
* fmt with new rust
* deserialize from object or array into api versions
* remove inspect
* add some of the other unstable RPC methods we might want
* clippy fix
* no unused deps warning in test crate
* fix doc fails
* legacy -> unstable
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>
* runtime_updates -> with_runtiem
* add test and be consistent with naming of unstable RPCs
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>
* WIP backend trait
* WIP converting higher level stuff to using Backend impl
* more implementing new backend trait, mainly storage focused
* Get core code compiling with new backend bits
* subxt crate checks passing
* fix tests
* cargo fmt
* clippy/fixes
* merging and other fixes
* fix test
* fix lightclient code
* Fix some broken doc links
* another book link fix
* fix broken test when moving default_rpc_client
* fix dry_run test
* fix more tests; lightclient and wasm
* fix wasm tests
* fix some doc examples
* use next() instead of next_item()
* missing next_item() -> next()s
* move legacy RPc methods to LegacyRpcMethods type to host generic param instead of RpcClient
* standardise on all RpcClient types prefixed with Rpc, and 'raw' trait types prefixed with RawRpc so it's less ocnfusing which is which
* rename fixes
* doc fixes
* Add back system_dryRun RPC method and rename tx.dry_run() to tx.validate(), to signal that the calls are different
* Add a test that we return the correct extrinsic hash from submit()
* add TransactionValid details back, and protect against out of range bytes
* add test for decoding transaction validation from empty bytes
* fix clippy warning
* parachain rpc lists
* guide almost done
* add the 3rd config
* subscribe to block with configs
* delete table file
* spaces instead of tabs
* remove original ajuna example
* zombienet setup
* nft minting example
* include port, use different names
* link the example from the book
* format book
* add config creation to book, simplify example structure
* fix the nft creation script
* fix doc ref
* fixing links to foreign crates
* fix table formatting
* include nits
* move more docs to book, and simplify parachain-example
* another pass over docs and link to exampels from guide
* nit: adjust comment to numbers
* teeny README fix for parachain-example
* fix command in readme
* add CI for examples and fix parachain-example bug I left in
* add target arch
* cargo fmt
* make CI not fail
* remove index from docs
---------
Co-authored-by: James Wilson <james@jsdw.me>
* remove config, doc tests are expected to fail (book not adjusted yet)
* make doc tests pass
* Prevent bug when reusing type ids in hashing (#1075)
* practice TDD
* implement a hashmap 2-phases approach
* use nicer types
* add test for cache filling
* adjust test
---------
Co-authored-by: James Wilson <james@jsdw.me>
* remove the unnecessary intos
---------
Co-authored-by: James Wilson <james@jsdw.me>
* WIP Starting to write book; extrinsics first pass done
* cargo fmt
* Ongoing work; events, constants, wip blocks
* at_latest() and wip blocks
* remove need to import parity-scale-codec crate with Subxt for macro to work
* More docs; expanding on setup guide and finish pass of main sections
* Tidy and remove example section for now
* format book lines to 100chars
* Fix example code
* cargo fmt
* cargo fmt
* fix example
* Fix typos
* fix broken doc links, pub mods
* Update Subxt macro docs
* can't link to Subxt here
* move macro docs to Subxt to make linking better and fix example code
* note on macro about docs
* cargo fmt
* document the no_default_derives macro feature
* Address feedback and remove redundant text
* address review comments; minor tweaks
* WIP add Runtime calls to book
* Improve Runtime API docs
* expose thing we forgot to expose and doc link fixes
* Add Static type which defers to Encode/Decode and impls EncodeAsType/DecodeAsType
* rename to static_type and impl Deref/Mut
* Improve type substitution in codegen so that concrete types can be swapped in
* A couple of comment tweaks and no need for a macro export
* Extend type substitution logic to work recursively on destination type
* cargo fmt
* Fix a couple of comments
* update ui test outpuot
* Add docs and missing_docs lint
* Add test for replacing multiple of Ident
* Update codegen/src/error.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* update copyright year and fix ui test
* simplify another error
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* 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