* v0.50.0: Integrate frame-decode, redo storage APIs and break up Error. (#2100)
* WIP integrating new frame-decode and working out new storage APIS
* WIP: first pass adding new storage things to subxt-core
* Second pass over Address type and start impl in Subxt
* WIP new storage APIs
* WIP New storage APIs roughly completed, lots of errors still
* Remove PlainorMap enum; plain and map values now use same struct to simplify usage
* Begin 'fixing' errors
* WIP splitting errors and tidying payload/address traits
* Get subxt-core compiling
* Small fixes in subxt-core and remove metadata mod
* subxt-core: cargo check --all-targets passes
* Fix test
* WIP starting to update subxt from subxt-core changes
* WIP splitting up subxt errors into smaller variants
* WIP errors: add DispatchError errors
* Port new Storage APIs to subxt-core
* cargo check -p subxt passes
* Quick-fix errors in subxt-cli (explore subcommand)
* fmt
* Finish fixing codegen up and start fixing examples
* get Subxt examples compiling and bytes_at for constants
* Add some arcs to limit lifetimes in subxt/subxt-core storage APIs
* A little Arcing to allow more method chaining in Storage APIs, aligning with Subxt
* Update codegen test
* cargo check --all-targets passing
* cargo check --features 'unstable-light-client' passing
* clippy
* Remove unused dep in subxt
* use published frame-decode
* fix wasm-example
* Add new tx extension to fix daily tests
* Remove unused subxt_core::dynamic::DecodedValue type
* Update book to match changes
* Update docs to fix more broken bits
* Add missing docs
* fmt
* allow larger result errs for now
* Add missing alloc imports in subxt-core
* Fix doc tests and fix bug getting constant info
* Fix V14 -> Metadata transform for storage & constants
* Fix parachain example
* Fix FFI example
* BlockLength decodes t ostruct, not u128
* use fetch/iter shorthands rather than entry in most storage tests
* Fix some integration tests
* Fix Runtime codegen tests
* Expose the dynamic custom_value selecter and use in a UI test
* Update codegen metadata
* Tidy CLI storage query and support (str,str) as a storage address
* Add (str,str) as valid constant address too
* Show string tuple in constants example
* Via the magic of traits, avoid needing any clones of queries/addresses and accept references to them
* clippy
* [v0.50] update scale-info-legacy and frame-decode to latest (#2119)
* bump scale-info-legacy and frame-decode to latest
* Remove something we don't need in this PR
* Fully remove unused for now dep
* [v0.50] Convert historic metadata to subxt::Metadata (#2120)
* First pass converting historic metadatas to our subxt::Metadata type
* use published frame-decode
* fmt and rename legacy metadata macro
* Enable legacy feature where needed in subxt_metadata so it compiles on its own
* Use cargo hack more in CI and fix subxt-metadata features
* Add tests for metadata conversion (need to optimise; some too expensive right now
* Address performance and equality issues in metadata conversion testing
* fmt
* fmt all
* clippy
* Fix a doc link
* Test codegen and fixes to make it work
* Remove local frame-decode patch
* bump frame-decode to latest
* [v0.50.0] Allow visiting extrinsic fields in subxt_historic (#2124)
* Allow visiting extrinsic fields
* fmt
* Don't use local scale-decode dep
* Clippy and tidy
* Extend 'subxt codegen' CLI to work with legacy metadatas
* Simplify historic extrinsics example now that AccountId32s have paths/names
* clippy
* clippy
* clippy..
* Allow visiting storage values, too, and clean up extrinsic visiting a little by narrowing lifetime
* Try to fix flaky test
* Add custom value decode to extrinsics example
* Remove useless else branch ra thought I needed
* Simplify examples
* Prep to release v0.0.5 (#2126)
* De-dup types early to enable derives for them
* ensure_unique_type_paths in CLI codegen, too
* Update UI test outpuot
---------
Co-authored-by: José Duarte <duarte.gmj@gmail.com>
* 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>
* restructure cli commands
* config: Add `SkipCheckIfFeeless` signed extension (#1264)
* 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>
* subxt: Replace removed lint (#1270)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add support for multi-chain usecase (#1238)
* lightclient: Make `smoldot::chainID` part of the RPC requests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Make `BackgroundTask` generic over `PlatformRef` and chain
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct from raw smoldot and target different chains
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update cargo lock for wasm tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reuse `new_from_client` method and removed unused imports
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reexport smoldot client and RPC objects used in pub
interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Adjust `new_from_client` interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Extend background to poll over multiple RPC objects
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Build light client from raw and target different chains
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Add demo chain specs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Move artifacts to dedicated folder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Use SelectAll to drive all streams
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Fetch initial data from the target chain
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reexport other smoldot objects
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Target chain with potentially different config
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/rpc: Log chainID for debugging
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/examples: Add smoldot client with parachain example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Propagate chain ID together with rpc responses object
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Multiplex responses by request ID and chain ID
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add raw light client builder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add cargo feature flag for parachains example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Derive default for internal structure
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Guard reexports by std feature flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/client/light_client/mod.rs
Co-authored-by: James Wilson <james@jsdw.me>
* lightclient: Update the builder pattern and chain targetting
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Fix documentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Provide more insightful docs wrt native/wasm panics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Adjust comment location
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Refactor UniqueChainId into the background task
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update lightclient/src/background.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Update subxt/src/client/light_client/builder.rs
Co-authored-by: James Wilson <james@jsdw.me>
* lightclient: Update docs wrt panics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Update docs wrt to smoldot instance -> client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Use IntoIter instead of Iterator
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Adjsut docs wrt [`Self::new_from_client`]
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove RawRpc from LightClient in favor of chainID
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reexport everything under smoldot module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Use stateRootHash instead of genesis.raw
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Bump futures from 0.3.28 to 0.3.29 (#1272)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.28 to 0.3.29.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.29)
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump zeroize from 1.6.0 to 1.7.0 (#1274)
Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.6.0 to 1.7.0.
- [Commits](https://github.com/RustCrypto/utils/commits)
---
updated-dependencies:
- dependency-name: zeroize
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump tracing-subscriber from 0.3.17 to 0.3.18 (#1275)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.17 to 0.3.18.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.17...tracing-subscriber-0.3.18)
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump tracing-subscriber from 0.3.17 to 0.3.18 (#1275)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.17 to 0.3.18.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.17...tracing-subscriber-0.3.18)
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump getrandom from 0.2.10 to 0.2.11 (#1273)
Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.10 to 0.2.11.
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/getrandom/compare/v0.2.10...v0.2.11)
---
updated-dependencies:
- dependency-name: getrandom
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* impl RpcClientT for Arc<T> and Box<T> (#1277)
* impl RpcClientT for Arc<WsClient>
* fix grumbles: impl for Box<T> and Arc<T>
* grumbles: move RpcClientT impls
* first iteration of using scale_typegen
* introduce indoc for formatting
* calls, constants and home are cleaner now
* added event subcommand
* show runtime apis working
* add better code formatting
* fix style
* adjust tests, use owo_colorize to not add extra dependency
* fmt
* adjust docs
* move scale-typegen-description dependency to workspace
* improve `substrate-compat` (#1265)
* improve `substrate-compat`
* From => Into
---------
Co-authored-by: James Wilson <james@jsdw.me>
* Bump proc-macro2 from 1.0.69 to 1.0.70 (#1292)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.69...1.0.70)
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump serde from 1.0.192 to 1.0.193 (#1291)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.192 to 1.0.193.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.192...v1.0.193)
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* lightclient: Fix wasm socket closure called after being dropped (#1289)
* lightclient: Close wasm socket while dropping from connecting state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct one time only closures
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Enable console logs for lightclient WASM testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Separate wakes and check connectivity on poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket depending on internal state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "lightclient: Separate wakes and check connectivity on poll_read"
This reverts commit 866094001d4c0b119a80ed681a74b323f74eae1b.
* lightclient: Return pending if socket is opening from poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket on `poll_close`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reset closures on Drop to avoid recursive invokation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket if not already closing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* workflows: Install rustup component for building substrate (#1295)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Command to fetch chainSpec and optimise its size (#1278)
* cli: Add chainSpec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/chainSpec: Move to dedicated module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Compute the state root hash
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove code substitutes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update polkadot.json
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Generate the chain spec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove testing artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Apply rustfmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Introduce feature flag for smoldot dependency
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Rename chain-spec to chain-spec-pruning
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Update chain-spec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* update to new scale-typegen interfaces
* use released version of scale-typegen
* Merge branch 'master' into tadeohepperle/cli-support-runtime-apis
* remove unused debug file
* resolve merge errors
* adjustments
* constants file adjustment
* method renaming
* fix issue with encoding runtime api params
* Add logging to submit_transaction and unstable driver, and ensure unpin evs complete
* panic if None returned from subscription too, also with stats
* change panic to Err just to be on the safe side
* clippy
* make long tests run only after clippy + fmt pass
* megre in light client test change pr
* 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
* lightclient(fix): Ensure lightclient chainSpec is at least one block old (#1372)
* 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>
* ci: Reduce the light client timeout to 15 minutes (#1373)
* ci: Reduce the light client timpeut to 15 seconds
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Use ubuntu-latest for light-client tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* actually only wait for machete+fmt, clippy can be much slower
* update CI file from Alex PR
* resolve clippy err
* Try a few RPC nodes in case one of them is not working
* fix submit_transaction debug logging of message
* Improve Signed Extension and Block Decoding Examples/Book (#1357)
* 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>
* fix formatting of returned sections
* add recursive derive and attribute options in the cli
* format tuples uncaught
* add tests and rename type map parser
* make parsing more strict
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
Co-authored-by: James Wilson <james@jsdw.me>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yjh <yjh465402634@gmail.com>
Co-authored-by: Pan chao <152830401+Pan-chao@users.noreply.github.com>
* integrate scale-typegen, remove types mod
* reintroduce default substitutes and derives
* support runtime_types only again
* generating polkadot.rs ok
* update scale-typegen to discrete error types
* scale-typegen-api-changes
* add note about UncheckedExtrinsic in default substitutes
* add resursive attributes and derives
* adjust example where Clone bound recursive
* move scale-typegen dependency to workspace
* expose default typegen settings
* lightclient: Fix wasm socket closure called after being dropped (#1289)
* lightclient: Close wasm socket while dropping from connecting state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct one time only closures
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Enable console logs for lightclient WASM testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Separate wakes and check connectivity on poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket depending on internal state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "lightclient: Separate wakes and check connectivity on poll_read"
This reverts commit 866094001d4c0b119a80ed681a74b323f74eae1b.
* lightclient: Return pending if socket is opening from poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket on `poll_close`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reset closures on Drop to avoid recursive invokation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket if not already closing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* workflows: Install rustup component for building substrate (#1295)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Command to fetch chainSpec and optimise its size (#1278)
* cli: Add chainSpec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/chainSpec: Move to dedicated module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Compute the state root hash
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove code substitutes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update polkadot.json
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Generate the chain spec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove testing artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Apply rustfmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Introduce feature flag for smoldot dependency
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Rename chain-spec to chain-spec-pruning
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Update chain-spec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* remove comments and unused args
* Update substrate- and signer-related dependencies (#1297)
* update crypto dependencies, adjust keypair
* add scale_info::TypeInfo derive in some places
* add multi signature derive
* fix lock file
* fix lock file again :|
* adjust to new interface in scale-typegen
* use released scale typegen
* reintroduce type aliases
* introduce type aliases again using scale-typegen
* cargo fmt and clippy
* reconcile changes with master branch
* update polkadot.rs
* bump scale-typgen to fix substitution
* implemented Alex suggestions, regenerated polkadot.rs (did not change)
* resolve conflicts in Cargo.lock
* make expect messages more clear
* correct typos
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* 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.
* add tests and fix some minor things
* implement output writer and some tests
* formatting
* adjust tests and formatting
* clippy fix
* cargo fmt
* revert change in substrate runner
* clippy suggestions
* mode make_type to test mod
* Update cargo.lock to use scale-info v2.4.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Retain only a subset of the metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate top level Event
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Only retain DispatchError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Export just the retain method
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Retain pallets
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Do not include extrinsic metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* retain: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* test-runtime: Generate per pallet metadata and rs file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ui-tests: Check per metadata generated files
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "test-runtime: Generate per pallet metadata and rs file"
This reverts commit 725a2e5f8339a795892dbbd2df19e49330ae3a9b.
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ui-tests: Adjust path to metadata file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ui-tests: Change drop order to keep `PalletMetadata` around
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update metadata/src/retain.rs
Co-authored-by: James Wilson <james@jsdw.me>
* Address feedback
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* retain: Keep extrinsic type
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Introduce `MetadataSource`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Use `MetadataSource` helper
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Use `FileOrUrl` flatten command argument
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* retain: Do not include generic type params in retained metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust subxt to scale-info v2.5.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update scaleinfo to v2.5.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Remove deprecated fn
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* benches: Use inner fields of scale info
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* address nits, and strip RuntimeCall type instead of trying to filter out use of it for better overall wins/clarity
* fix UI test
* move utils out of commands folder and fix clippy etc
* address nits
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
* 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>
* feat!: Allow for remapping type parameters in type substitutions
* chore: cargo fmt
* chore: cargo clippy
* chore: Remove some old code
* a little tidy
* address comment nit
Co-authored-by: James Wilson <james@jsdw.me>
* Allow metadata to be pulled directly from a node with runtime_metadata_url
* Update docs
* https too, and abstract out block_on fn
* tweak a comment in the example