Merge v0.50.x to master (#2127)

* 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)
This commit is contained in:
James Wilson
2025-11-22 10:44:03 +00:00
committed by GitHub
parent 586b814ecd
commit 8203679cbd
158 changed files with 13736 additions and 16451 deletions
Generated
+33 -15
View File
@@ -1953,9 +1953,9 @@ dependencies = [
[[package]]
name = "frame-decode"
version = "0.10.0"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "641e3739fa708a278d35b008a05244008c221240abc3e1c27138466c13e999ed"
checksum = "0fb3bfa2988ef40247e0e0eecfb171a01ad6f4e399485503aad4c413a5f236f3"
dependencies = [
"frame-metadata 23.0.0",
"parity-scale-codec",
@@ -4383,9 +4383,9 @@ dependencies = [
[[package]]
name = "scale-decode"
version = "0.16.0"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d78196772d25b90a98046794ce0fe2588b39ebdfbdc1e45b4c6c85dd43bebad"
checksum = "8d6ed61699ad4d54101ab5a817169259b5b0efc08152f8632e61482d8a27ca3d"
dependencies = [
"parity-scale-codec",
"primitive-types",
@@ -4398,9 +4398,9 @@ dependencies = [
[[package]]
name = "scale-decode-derive"
version = "0.16.0"
version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f4b54a1211260718b92832b661025d1f1a4b6930fbadd6908e00edd265fa5f7"
checksum = "65cb245f7fdb489e7ba43a616cbd34427fe3ba6fe0edc1d0d250085e6c84f3ec"
dependencies = [
"darling",
"proc-macro2",
@@ -4464,9 +4464,9 @@ dependencies = [
[[package]]
name = "scale-info-legacy"
version = "0.2.3"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5da3f59983b08a37d8d979d2326bdc00e8cca57b3d28fb05bdc0f6d7c28600c"
checksum = "2500adfb429a0ffda37919df92c05d0c1359c10e0444c17253c84b84dfce542f"
dependencies = [
"hashbrown 0.15.3",
"scale-type-resolver",
@@ -4500,6 +4500,19 @@ dependencies = [
"thiserror 2.0.12",
]
[[package]]
name = "scale-typegen"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "642d2f13f3fc9a34ea2c1e36142984eba78cd2405a61632492f8b52993e98879"
dependencies = [
"proc-macro2",
"quote",
"scale-info",
"syn 2.0.101",
"thiserror 2.0.12",
]
[[package]]
name = "scale-typegen-description"
version = "0.11.1"
@@ -4513,16 +4526,16 @@ dependencies = [
"rand",
"rand_chacha",
"scale-info",
"scale-typegen",
"scale-typegen 0.11.1",
"scale-value",
"smallvec",
]
[[package]]
name = "scale-value"
version = "0.18.0"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ca8b26b451ecb7fd7b62b259fa28add63d12ec49bbcac0e01fcb4b5ae0c09aa"
checksum = "884aab179aba344c67ddcd1d7dd8e3f8fee202f2e570d97ec34ec8688442a5b3"
dependencies = [
"base58",
"blake2",
@@ -5645,6 +5658,7 @@ version = "0.44.0"
dependencies = [
"clap",
"color-eyre",
"frame-decode",
"frame-metadata 23.0.0",
"heck",
"hex",
@@ -5654,7 +5668,8 @@ dependencies = [
"pretty_assertions",
"quote",
"scale-info",
"scale-typegen",
"scale-info-legacy",
"scale-typegen 0.12.0",
"scale-typegen-description",
"scale-value",
"serde",
@@ -5682,7 +5697,7 @@ dependencies = [
"proc-macro2",
"quote",
"scale-info",
"scale-typegen",
"scale-typegen 0.12.0",
"subxt-metadata",
"syn 2.0.101",
"thiserror 2.0.12",
@@ -5724,7 +5739,7 @@ dependencies = [
[[package]]
name = "subxt-historic"
version = "0.0.4"
version = "0.0.5"
dependencies = [
"frame-decode",
"frame-metadata 23.0.0",
@@ -5779,7 +5794,7 @@ dependencies = [
"quote",
"sc-executor",
"sc-executor-common",
"scale-typegen",
"scale-typegen 0.12.0",
"sp-io",
"sp-maybe-compressed-blob",
"sp-state-machine",
@@ -5800,7 +5815,10 @@ dependencies = [
"hashbrown 0.14.5",
"parity-scale-codec",
"scale-info",
"scale-info-legacy",
"scale-type-resolver",
"sp-crypto-hashing",
"subxt-codegen",
"subxt-utils-stripmetadata",
"thiserror 2.0.12",
]