Skip to content

Commit 8203679

Browse files
authored
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)
1 parent 586b814 commit 8203679

File tree

158 files changed

+13598
-16313
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+13598
-16313
lines changed

.github/workflows/rust.yml

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -181,41 +181,29 @@ jobs:
181181
- name: Cargo check all targets.
182182
run: cargo check --all-targets
183183

184-
# Next, check subxt features.
184+
# Next, check each subxt feature in isolation.
185185
# - `native` feature must always be enabled
186186
# - `web` feature is always ignored.
187-
# - This means, don't check --no-default-features and don't try enabling --all-features; both will fail
188187
- name: Cargo hack; check each subxt feature
189-
run: cargo hack -p subxt --each-feature check --exclude-no-default-features --exclude-all-features --exclude-features web --features native
188+
run: cargo hack -p subxt --each-feature check --exclude-features web --features native
190189

190+
# Same with subxt-historic
191191
- name: Cargo hack; check each subxt feature
192-
run: cargo hack -p subxt-historic --each-feature check --exclude-no-default-features --exclude-all-features --exclude-features web --features native
192+
run: cargo hack -p subxt-historic --each-feature check --exclude-features web --features native
193193

194-
# Subxt-signer has the "subxt" features enabled in the "check all targets" test. Run it on its own to
195-
# check it without. We can't enable subxt or web features here, so no cargo hack.
196-
- name: Cargo check subxt-signer
197-
run: |
198-
cargo check -p subxt-signer
199-
cargo check -p subxt-signer --no-default-features --features sr25519
200-
cargo check -p subxt-signer --no-default-features --features ecdsa
201-
cargo check -p subxt-signer --no-default-features --features unstable-eth
194+
# And with subxt-rpcs
195+
- name: Cargo hack; check each subxt-rpcs feature
196+
run: cargo hack -p subxt-rpcs --each-feature check --exclude-features web --features native
202197

203-
# Subxt-rpcs has a bunch of clients that can be exposed. Check that they all stand on their own.
204-
- name: Cargo check subxt-rpcs
205-
run: |
206-
cargo check -p subxt-rpcs
207-
cargo check -p subxt-rpcs --no-default-features --features native
208-
cargo check -p subxt-rpcs --no-default-features --features native,subxt
209-
cargo check -p subxt-rpcs --no-default-features --features native,jsonrpsee
210-
cargo check -p subxt-rpcs --no-default-features --features native,reconnecting-rpc-client
211-
cargo check -p subxt-rpcs --no-default-features --features native,mock-rpc-client
212-
cargo check -p subxt-rpcs --no-default-features --features native,unstable-light-client
213-
214-
# We can't enable web features here, so no cargo hack.
198+
# And with subxt-signer (seems to work with a more basic check here; disable web if it becomes an issue).
199+
- name: Cargo hack; check each subxt-signer feature
200+
run: cargo hack -p subxt-signer --each-feature check
201+
202+
# And for subxt-lightclient.
215203
- name: Cargo check subxt-lightclient
216-
run: cargo check -p subxt-lightclient
204+
run: cargo hack -p subxt-lightclient --each-feature check --exclude-features web --features native
217205

218-
# Next, check each other package in isolation.
206+
# Next, check all other crates.
219207
- name: Cargo hack; check each feature/crate on its own
220208
run: cargo hack --exclude subxt --exclude subxt-historic --exclude subxt-signer --exclude subxt-lightclient --exclude subxt-rpcs --exclude-all-features --each-feature check --workspace
221209

Cargo.lock

Lines changed: 33 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ darling = "0.20.10"
8181
derive-where = "1.2.7"
8282
either = { version = "1.13.0", default-features = false }
8383
finito = { version = "0.1.0", default-features = false }
84-
frame-decode = { version = "0.10.0", default-features = false }
84+
frame-decode = { version = "0.15.0", default-features = false }
8585
frame-metadata = { version = "23.0.0", default-features = false }
8686
futures = { version = "0.3.31", default-features = false, features = ["std"] }
8787
getrandom = { version = "0.2", default-features = false }
@@ -98,13 +98,13 @@ proc-macro2 = "1.0.86"
9898
quote = "1.0.37"
9999
regex = { version = "1.11.0", default-features = false }
100100
scale-info = { version = "2.11.4", default-features = false }
101-
scale-value = { version = "0.18.0", default-features = false }
101+
scale-value = { version = "0.18.1", default-features = false }
102102
scale-bits = { version = "0.7.0", default-features = false }
103-
scale-decode = { version = "0.16.0", default-features = false }
103+
scale-decode = { version = "0.16.2", default-features = false }
104104
scale-encode = { version = "0.10.0", default-features = false }
105105
scale-type-resolver = { version = "0.2.0" }
106-
scale-info-legacy = { version = "0.2.3" }
107-
scale-typegen = "0.11.1"
106+
scale-info-legacy = { version = "0.4.0", default-features = false }
107+
scale-typegen = "0.12.0"
108108
scale-typegen-description = "0.11.0"
109109
serde = { version = "1.0.210", default-features = false, features = ["derive"] }
110110
serde_json = { version = "1.0.128", default-features = false }
83.2 KB
Binary file not shown.
111 KB
Binary file not shown.
178 KB
Binary file not shown.
229 KB
Binary file not shown.
328 KB
Binary file not shown.
59.9 KB
Binary file not shown.

cli/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,18 @@ subxt-codegen = { workspace = true }
3030
scale-typegen = { workspace = true }
3131
subxt-utils-fetchmetadata = { workspace = true, features = ["url"] }
3232
subxt-utils-stripmetadata = { workspace = true }
33-
subxt-metadata = { workspace = true }
33+
subxt-metadata = { workspace = true, features = ["legacy"] }
3434
subxt = { workspace = true, features = ["default"] }
3535
clap = { workspace = true }
3636
serde = { workspace = true, features = ["derive"] }
3737
color-eyre = { workspace = true }
3838
serde_json = { workspace = true }
3939
hex = { workspace = true }
40+
frame-decode = { workspace = true, features = ["legacy-types"] }
4041
frame-metadata = { workspace = true }
4142
codec = { package = "parity-scale-codec", workspace = true }
4243
scale-info = { workspace = true }
44+
scale-info-legacy = { workspace = true }
4345
scale-value = { workspace = true }
4446
syn = { workspace = true }
4547
quote = { workspace = true }

0 commit comments

Comments
 (0)