* Add ecdsa support to signer
* Remove nix. Cleanup.
* remove ecdsa example and small tidy
* fmt
* fix wasm test
* feature flag ecdsa/sr25519 support, use global signing context
* clippy fix
* ensure signers all impl Signer trait in doc test
* fix CI
* fix digner test
* remove dead code warnings when no features enabled
* move dead code attr to right place
* fix random clippy error that popped up
---------
Co-authored-by: Lech Głowiak <lech.glowiak@gmail.com>
* Update frame-metadata to the latest branch
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Add outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Extend the extrinsic with address,call,sign,extra types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Codegen test Event, Error and Call for outer enums
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "Codegen test Event, Error and Call for outer enums"
This reverts commit db542dca0369eedd257a7ec031d5b5549bc46a88.
* Update frame-metadata from the latest release
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update scale-info
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/error: Support v15 message
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Convert v14 to v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/retain: Adjust to extrinsic type for V15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Adjust hashing for extrinsic types V15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Fetch V15 and output codegen for full_client only
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/blocks: Use extrinsic types directly
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Fetch V15 for build script
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Generate from latest polkadot version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fetch legacy with old API for v14 only
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Fetch metadata versions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* client: Fetch latest unstable then V15 then V14
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Adjust testing API to latest interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Generate the `RuntimeError` type for V14
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Remove testing files
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing/staking: Remove controller account from bond
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Use specific variants for hashing RuntimeCall
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* XXX: Custom Substrate binary: must revert with next release
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* XXX: To revert: CI use hardcoded substrate
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Use v15 outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Retain outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Use outer enum types instead of generating them
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "XXX: Custom Substrate binary: must revert with next release"
This reverts commit e9705298661919f5769720b35030759fb8a7b01d.
Revert "XXX: To revert: CI use hardcoded substrate"
This reverts commit b18a5a0985a56ee4ad99bc9a1c0f9cd733cf4271.
* testing: Include env for dummy wat contracts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjsut clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Use new link for fetching latest substrate binary
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* tests: Include dummy RuntimeEvent into test metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Bump light-client timeout tests to 25min
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Use specific pallets as provided
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Rename metadata constant
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Use call_ty instead of signature_ty
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Rename retaining variant function
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Use Option<&[&str]>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* online_client: Fetch V15 metadata explicitely
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Include the hash of the outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Fix sign typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update the artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove RootError RootEvent and RootExtrinsic traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/tests: Ensure outer enum variants are retained
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Include multiple pallets for our decoding purposes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Apply clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update small metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* error: Keep raw bytes for the ModuleError representation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* error: Modify docs to not include links
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/tests: Propagate `RuntimeCall` to outer enums
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Provide proper byte slice for decoding
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/tests: Adjust expected pallets message
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Test conversion from v14 to v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Fix typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/blocks/extrinsic_types.rs
Co-authored-by: James Wilson <james@jsdw.me>
* metadata: Simplify type path for RuntimeError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Use visited ids per outer enum
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* error: Remove RawModuleError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix new clippy error from updated rust version
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>
* Add and use subxt-signer crate for WASM compatible signing
* cargo fmt
* dev keypairs already references
* WIP fix various breakages
* re-jig features to be simpler and various test fixes etc
* doc and web fix
* fix various bits and pieces
* fix a test I broke
* dev-deps can't be linked to in docs, hrmph
* cargo fmt
* another doc link
* document the subxt_signer crate more thoroughly
* move feature flag for consistency
* more docs, no default subxt feature flag on signer, update release instrs
* Add missing license header
* unwrap_inner => into_inner
* extend a test a little to better check derive junctions
* note more clearly that the crypto bits come from sp_core::crypto
* WIP new Metadata type
* Finish basic Metadata impl inc hashing and validation
* remove caching from metadata; can add that higher up
* remove caches
* update retain to use Metadata
* clippy fixes
* update codegen to use Metadata
* clippy
* WIP fixing subxt lib
* WIP fixing tests, rebuild artifacts, fix OrderedMap::retain
* get --all-targets compiling
* move DispatchError type lookup back to being optional
* cargo clippy
* fix docs
* re-use VariantIndex to get variants
* add docs and enforce docs on metadata crate
* fix docs
* add test and fix docs
* cargo fmt
* address review comments
* update lockfiles
* ExactSizeIter so we can ask for len() of things (and hopefully soon is_empty()
* add cli command to explore metadata
* fmt and clippy
* Bump serde from 1.0.160 to 1.0.162 (#948)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162)
---
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>
* extrinsics: Decode extrinsics from blocks (#929)
* Update polkadot.scale
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics: Add extrinsics client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics: Decode extrinsics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add extrinsic error
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Expose extrinsics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Fetch and decode block extrinsics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics: Fetch pallet and variant index
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Move extrinsics on the subxt::blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* example: Adjust example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Collect ExtrinsicMetadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Implement StaticExtrinsic for the calls
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust examples
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Add root level Call enum
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add new decode interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Merge ExtrinsicError with BlockError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Find first extrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Move code to extrinsic_types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Add Extrinsic struct
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust examples
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* test: Decode extinsics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics/test: Add fake metadata for static decoding
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics/test: Decode from insufficient bytes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics/test: Check unsupported versions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics/test: Statically decode to root and pallet enums
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics/tests: Remove clones
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Fetch block body inline
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Rename ExtrinsicIds to ExtrinsicPartTypeIds
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics/test: Check decode as_extrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Remove InsufficientData error
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Return error from extrinsic_metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* extrinsics: Postpone decoding of call bytes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata_type: Rename variables
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust calls path for example and tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Remove traces
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* book: Add extrinsics documentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* book: Improve extrinsics docs
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>
* change doc comments
* add constants exploration
* add storage access interface but not done yet
* add storage exploration
* formatting
* remove dbg
* some small tweaks
* fix formatting and scale value for storage
* split up files, sort entries, change formatting
* fmt and clippy fix
* fix minor formatting issue
* implement suggestions
* implement other suggestion, fix bug
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
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
* Update frame-metadata to v15.1.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Enable V15 unstable metadata in frame-metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Move validation hashing to dedicated file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Use sp-metadata-ir from substrate to work with metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert using sp-metadata-ir in favor of conversion to v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Convert v14 to v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Use v15 for validation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Use v15 for codegen
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/bench: Use v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust to v15 metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Improve documentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* force CI
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Fetch metadata at version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update polkadot.scale from commit 6dc9e84dde2
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fetch V15 using the new API
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Add runtime API interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Hash runtime API metadata for validation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Extract runtime API metadata wrapper from subxt::Metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Adjust hashing cache to reflect root+item keys
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Add raw state_call API method
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* runtime_api: Add payload with static and dynamic variants
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Allow payloads to call into the runtime
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Add example to make a runtime API call both static and dynamic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Simplify client fetching
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Address feedback and fallback to old API if needed
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* runtime_api: Make mutability conditional on input params
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Regenerate polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Retain only pallets without runtime API info
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Retry via `Metadata_metadata` without conversion
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* payload: Remove `Decode` and change validation fn
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Retain runtime API types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Runtime APIs documentation based on flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update examples/examples/custom_metadata_url.rs
Co-authored-by: James Wilson <james@jsdw.me>
* Update artifacts from polkadot-a6cfdb16e9
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs with polkadot-a6cfdb16e9
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate input structures for runtime API
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* runtime_api: Remove the static paylaod and use single impl
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Fetch account nonce
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Adjust build script to fetch latest metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Check account nonce from runtime API
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update cargo.lock
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fix doc generation for runtime types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Rename `inputs` runtime calls module to `types`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate Calls structs inside the types module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Check Alice account nonce before submitting the tx
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Add metadata version option flag supporting v14 and unstable
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Specify version to fetch
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Fallback to fetching latest stable metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add unstable-metadata feature to fetch the latest
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* RuntimeVersion with Latest and Version(u32)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Adjust fetch_metadata to inspect version list
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Adjust metadata to metadata_legacy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* events: Adjust docs to use metadata_legacy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* have a pass over fetch_metadata
* cargo fmt
* Option<String> when fetch metadata via latest API
* clippy
* fmt
* cli: Use the MetadataVersion from codegen
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Specify latest as default for MetadataVersion
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove version from metadata and use the one from file_or_url
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Decode metadata independently for different RPC calls
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>
* WIP updating to syn 2.0.0
* WIP darling compat
* Update darling and syn workspace deps
* NestedMeta::parse_meta_list
* Rename attribute keyword type property to path
* Fmt
* Update more type to path
* Unused darling
* Cargo.lock
* Add missing syn features