75 Commits
Author SHA1 Message Date
Niklas Adolfsson 175f604ea7 chore(deps): tokio ^1.44.2 (#1989) 2025-04-08 12:03:54 +01:00
Niklas Adolfsson 69ce6d726f deps: remove polkadot-sdk umbrella crate (#1926)
* deps: get rid of polkadot-sdk umbrella crate

* fix nits

* Update subxt/src/backend/mod.rs

* Update subxt/src/events/events_client.rs

* Update metadata/src/utils/validation.rs

* cargo clippy fix

* fix ui tests
2025-02-24 12:38:21 +01:00
Niklas Adolfsson 39507c7eb4 fix: don't wrap rpc error in DisconnectedWillReconnect in reconnecting rpc client (#1904)
* fix: don't wrap rpc err in DisconnectedWillRecon

* add clarifying comment

* fix no-std-test build

* fix no-std-test build v2
2025-01-24 14:18:12 +01:00
Niklas Adolfsson 2e3e9591c1 tests: add WeightReclaim signed ext (#1893) 2025-01-07 11:07:56 +01:00
Niklas Adolfsson 27e275fc42 fix: substrate runner, support new libp2p addr log (#1892) 2025-01-06 12:52:27 +01:00
Niklas Adolfsson f363f77a60 chore: fix clippy lints (#1882) 2024-12-10 13:08:40 +01:00
Niklas AdolfssonandJames Wilson f5e9ce0d2c remove substrate compat (#1850)
* remove substrate compat

* add hacky example

* simplify substrate-compat example

* simplify substrate-compat example

* cargo fmt

* fix build

* add more examples

* fix nit

* fix test build

* Update subxt/examples/substrate_compat_signer.rs

Co-authored-by: James Wilson <james@jsdw.me>

* keep only polkadot signer example

* remove more substrate compat related stuff

* fix example

* link to substrate signer example in book

* Update subxt/src/book/usage/transactions.rs

* Update subxt/src/book/usage/transactions.rs

* address grumbles

* fix nits

---------

Co-authored-by: James Wilson <james@jsdw.me>
2024-11-27 16:46:38 +01:00
Niklas Adolfsson 0f190f3278 ci: enable integrations tests polkadot-sdk master again (#1846) 2024-10-29 11:13:53 +01:00
Niklas Adolfsson dc0795b3b9 move fetch metadata to a separate crate subxt_utils_fetchmetadata (#1829)
* macros: feature-gate jsonrpsee/fetch metadata url

* make CI happy

* Update codegen/src/error.rs

* extract `fetch-metdata` to separate crate

* add missing license headers

* introduce subxt-utils crate

* add missing files

* codegen: remove unused hex crate

* fix test build

* move subxt_utils -> subxt_utils_fetchmetadata

* cargo fmt

* runtime-path -> runtime-metadata-path

* Update utils/fetch-metadata/src/lib.rs
2024-10-24 14:45:39 +01:00
Niklas Adolfsson f358a3864e chore(deps): bump subxt signer deps (#1840) 2024-10-24 12:35:16 +02:00
Niklas Adolfsson 882e9df030 chore(deps): bump frame-decode from 0.4.0 to 0.5.0 (#1839) 2024-10-23 20:16:04 +02:00
Niklas AdolfssonandJames Wilson 2f7ea3ff64 chore(deps): bump frame-metadata from 16 to 17 (#1836)
* chore(deps): bump frame-metadata from 16 to 17

* fix substrate test build

* revert test fix

---------

Co-authored-by: James Wilson <james@jsdw.me>
2024-10-23 17:57:06 +02:00
Niklas Adolfsson 50fc73a2a5 ci: run against older substrate/polkadot ref (#1838)
* ci: run against older substrate/polkadot ref

* Update .github/workflows/build-nodes.yml

* Update .github/workflows/build-nodes.yml
2024-10-23 17:12:09 +02:00
Niklas Adolfsson 03f63ef771 chore(deps): bump futures from 0.3.30 to 0.3.31 (#1837) 2024-10-23 11:07:49 +02:00
Niklas Adolfsson 9b5523e4b0 chore(deps): bump scale family crates, primitive-types and impl-serde (#1832)
* chore(deps): bump scale-encode and scale-decode

* Update Cargo.toml

* Update Cargo.toml

* Update Cargo.toml

* update Cargo.lock

* bump scale-typegen

* use primitive_types::H256

* cargo fmt

* remove old darling hack
2024-10-22 19:23:38 +02:00
Niklas Adolfsson 418bd88e62 chore(deps): replace instant with web-time (#1830)
* chore(deps): replace `instant` with `web-time`

Close https://github.com/paritytech/subxt/issues/1597

* fix build

* fix build v2

* cargo fmt
2024-10-22 15:54:54 +02:00
Niklas Adolfsson 9527165a40 fix: defalt-feature -> default-features Cargo.toml (#1828) 2024-10-14 17:15:46 +02:00
Niklas Adolfsson bcdf0bb054 light client tests: use ChainheadBackendBuilder::build_with_background_driver (#1823)
* backend rpc tests: use background task

* fix build
2024-10-14 12:02:12 +02:00
Niklas Adolfsson 0e86993cd7 deps: use polkadot-sdk umbrella crate (#1786)
* deps: unify usage of polkadot-sdk crates

* cargo fmt

* fix macro crate

* make tests compile

* fix more nits

* fix doc tests

* fix more nits

* more nits

* core: remove polkadot-sdk/std

* cargo fmt

* remove polkadot-sdk/std by default

* Update metadata/Cargo.toml

* remove more std

* Update Cargo.toml
2024-10-11 14:19:11 +02:00
Niklas Adolfsson 5bf1756394 chainhead backend: notify subscribers when the backend is closed (#1817)
* FollowEvent::stop include backend closed or not

* simplify code: enum variant BackendClosed

* check both stopped and backend closed

* simplify hacky code

* remove old test

* Update subxt/src/backend/chain_head/follow_stream_driver.rs

* Update subxt/src/backend/chain_head/mod.rs

* Update subxt/src/backend/chain_head/mod.rs

* Update subxt/src/backend/chain_head/follow_stream_driver.rs
2024-10-11 11:14:50 +02:00
Niklas Adolfsson 8f3c0b44fb stabilize reconnecting-rpc-client (#1803)
* stabilize reconnecting-rpc-client

* fix build

* remove missed unstable stuff
2024-10-03 20:03:16 +02:00
Niklas Adolfsson 3807b29f36 rpc: stabilize chainhead backend (#1802)
* rpc: stabilize ChainHeadBackend

* remove noise from example

* add missing features

* make tests compile

* make tests compile v2

* revert stop event

* feature-gate runtime

* Update subxt/Cargo.toml

* add docsrs feature stuff

* Update subxt/src/backend/chain_head/mod.rs

* Update subxt/src/backend/chain_head/mod.rs

* Update subxt/src/backend/chain_head/mod.rs
2024-10-03 18:14:38 +02:00
Niklas Adolfsson cbf05d1999 fix: error message on rpc errors (#1804) 2024-10-01 20:01:07 +02:00
Niklas Adolfsson 72db833def reconn-rpc-client: parse URL before connecting (#1789)
* reconn-rpc-client: parse URL before connecting

It was hard to figure whether one simply entered a faulty URL
and it tried to reconnect according to the retry policy.

With this change we first parse url and then try to reconnect.
This will detect invalid directly instead of waiting for the retry
to complete.

* clippy fix

* wasm: &str -> Url
2024-09-30 16:40:20 +02:00
Niklas Adolfsson dff16c6194 chore(deps): bump a few dependencies (#1788)
* chore(deps): bump a few dependencies

* signer: make it compile
2024-09-30 15:20:52 +02:00
Niklas Adolfsson ddb5d4c9d7 dependabot: remove ignore for polkadot-sdk crates (#1784)
polkadot-sdk crates are now released on crates.io in accordance with the release process something every month, so should be fine include them with dependabot
2024-09-26 10:01:09 +01:00
Niklas Adolfsson 9db5a39013 substrate runner: increase line read + dump CLI output if parsing fails (#1781)
* substrate runner: dump CLI output parsing fails

* cargo fmt

* Update testing/substrate-runner/src/lib.rs

* fix grumbles

* disable flaky test

* ignore reconn test too

* ignore more tests

* fix tests

* improve log parsing

* Update testing/integration-tests/src/full_client/client/unstable_rpcs.rs

* Update testing/integration-tests/src/full_client/client/unstable_rpcs.rs

* fix nits

* fix reconn test
2024-09-24 15:33:08 +02:00
Niklas Adolfsson 246865da1f chore(deps): bump jsonrpsee from 0.23.2 to 0.24.3 (#1734) 2024-09-06 17:15:00 +02:00
Niklas Adolfsson e4f6f08eb7 fix: nits in tests (#1750)
* fix: nits in tests

* fix filter nit
2024-09-02 14:13:27 +02:00
Niklas Adolfsson 6e01451684 fix: substrate-runner support several rpc endpoints (#1736)
* fix: support several rpc endpoints in substrate

Close #1735

* Update testing/substrate-runner/src/lib.rs

* Update testing/substrate-runner/src/lib.rs

* fix grumbles

* Update testing/substrate-runner/src/lib.rs
2024-08-29 17:39:32 +02:00
Niklas Adolfsson 374193ac31 examples: fix reconnecting logging target (#1733) 2024-08-28 19:51:53 +02:00
Niklas Adolfsson e6d9f80d9e ci: add dependabot check (#1732)
* add dependabot check

* Update .github/workflows/validate-dependabot.yml

* use latest version

* remove pr comment
2024-08-27 16:13:56 +02:00
Niklas Adolfsson 4bc27d4977 refactor: replace reconnecting-jsonrpsee-ws-client with subxt-reconnecting-rpc-client (#1705)
* feat: add native subxt rpc reconn client

* add jsonrpsee dep to reconnecting-client

* Update subxt/src/backend/rpc/reconnecting_rpc_client/tests.rs

* fix grumbles

* add simple wasm test for reconnecting client

* fix test build

* cargo fmt

* remove reconnect apis

* Update testing/wasm-rpc-tests/tests/wasm.rs

* Update subxt/src/backend/rpc/reconnecting_rpc_client/tests.rs

* Update subxt/src/backend/rpc/reconnecting_rpc_client/tests.rs
2024-08-27 15:18:06 +02:00
Niklas Adolfsson 193452e95f fix: dependabot dir -> dirs (#1731) 2024-08-27 13:50:21 +02:00
Niklas Adolfsson 69b09a8246 fix: enable dependabot for all crates (#1729) 2024-08-27 11:32:22 +02:00
Niklas Adolfsson fb1ca92a31 fix: update Cargo.lock for wasm-tests (#1718) 2024-08-19 18:09:26 +02:00
Niklas Adolfsson 39d130ec69 chore: make it possible override clippy all (#1698)
* chore: make it possible override `clippy all`

* chore: fix clippy lints

* Update Cargo.toml
2024-07-29 17:43:33 +02:00
Niklas Adolfsson 4fcabe211d chore(deps): bump jsonrpsee from 0.22.5 to 0.23.1 (#1656)
* chore(deps): bump jsonrpsee from 0.22.5 to 0.23.1

* bump reconnecting-rpc-client dep
2024-06-25 18:05:45 +02:00
Niklas Adolfsson ad4fae6a2a fix(tests): don't assume order of balance transfer extrinsics (#1655)
* fix(tests): don't assert order of balanace ext

* move timestamp to loop
2024-06-24 13:01:22 +02:00
Niklas Adolfsson 44517aabfc chore: release v0.37.0 (#1619) 2024-05-28 12:33:46 +02:00
Niklas Adolfsson 52fce46e89 chore(deps): remove unused sp-core from signer (#1617) 2024-05-27 15:13:59 +02:00
Niklas Adolfsson e8a9232ef4 chore: release v0.36.1 (#1616) 2024-05-27 12:44:07 +02:00
Niklas Adolfsson d2f0e5e0e0 chore(deps): bump scale-typegen v0.8.0 (#1615) 2024-05-27 10:37:03 +02:00
Niklas Adolfsson 13747dbd6d fix tests: add CheckMetadataHash ext (#1606) 2024-05-24 09:48:39 +01:00
Niklas AdolfssonandJames Wilson bec896d91a rpc: add full support reconnecting rpc client (#1505)
* add simple reconnecting rpc client

* initial retryable calls

* add reconnecting backend

* add reconnecting example for unstable backend

* add todo what isn't working

* FollowStream: restart on reconn

* naive fix: fetch sub_id in stream_headers

* cleanup

* remove resubscribe APIs

* cleanup and remove many wrapper streams

* remove retry backend

* legacy rpc: make it retryable

* unstable rpc: make it retryable

* fix nits

* support wasm as well

* remove deadcode

* address grumbles

* revert rpc methods

* don't create a subscription per block

* get rid off retry logic in subxt rpc

* Update subxt/Cargo.toml

* Update subxt/src/backend/legacy/mod.rs

* Update subxt/src/backend/legacy/mod.rs

* remove outdated comments

* fix bad merge

* Fix reconnecting RPC client and update dependencies

* add back retry logic and remove `finito`

* fix nits

* cleanup

* add hack for race when reconnecting

* backend: emit Stop event DisconnectWillRecoonect

* merge reconnecting client examples

* add fn retry_stream

* cleanup

* add all features from reconnecting-rpc-client

* fix build

* remove needless retry for fetch_storage

* StorageFetchDescendantKeysStream handle disconnect err

* dont retry transactions

* fetch subscription ID from FollowStreamMsg

* fix nits

* Update subxt/src/backend/legacy/mod.rs

* Update subxt/src/backend/legacy/mod.rs

* add reconn to StorageItems stream

* StorageFetchDescendantKeysStreamchore: retry storage call

* RetryStream: emit DisconnectWillReconnect msg

* runtime subscriptions ignore DisconnectWillReconn

* Update subxt/examples/setup_reconnecting_rpc_client.rs

* Update subxt/src/client/online_client.rs

* Update subxt/src/client/online_client.rs

* Add custom stream wrapper for finalized blocks

* add missing retry block

* clippy

* clippy again

* cleanup

* remove duplicate logic

* fix more grumbles

* Update subxt/examples/setup_reconnecting_rpc_client.rs

Co-authored-by: James Wilson <james@jsdw.me>

* simplify the example

* remove pin-project dep

* remove duplicate retry logic

* remove extra code

* specify trait bounds for retry api

* simplify the example

* fix weird Poll::Pending return

* fix nit in poll impl

* remove needless paths

* make retry_stream pub and add doc examples

* Update subxt/src/backend/utils.rs

---------

Co-authored-by: James Wilson <james@jsdw.me>
2024-05-08 15:12:54 +02:00
Niklas Adolfsson 25193d75af add frontier/ethereum example (#1557)
* add ethereum example

The ethereum config doesn't work with the default PolkadotConfig which
this shows how to do.

Tested with a frontier node

* address grumbles

* Update subxt/examples/tx_basic_frontier.rs

* Update subxt/examples/tx_basic_frontier.rs
2024-04-26 16:18:19 +02:00
Niklas Adolfsson 652b9bca26 fix: substrate runner libp2p port (#1533) 2024-04-15 09:58:22 +01:00
Niklas Adolfsson 852dab672f chore: bump sp-core, sp-runtime and sp-keyring (#1491) 2024-03-21 15:46:04 +00:00
Niklas Adolfsson 793da7e29d disable cargo doc for subxt-cli (#1486)
* rename subxt to subxt-cli

* disable doc for subxt-cli
2024-03-18 14:41:58 +00:00
Niklas AdolfssonandJames Wilson dfd6e108cd rpc v2: chainhead support multiple finalized block hashes in FollowEvent::Initialized (#1476)
* chainhead rpc `block_hash -> finalized_block_hashs`

* cleanup

* address grumbles

* address grumbles: inc this.rel_block_num

* rel_block_num => rel_block_age for clarity

---------

Co-authored-by: James Wilson <james@jsdw.me>
2024-03-12 17:42:29 +00:00
Niklas Adolfsson cb67f94455 feat: add reconnecting-rpc-client (#1396)
* initial commit

* update to reconnecting-ws-client v0.2

* re-export: reconnecting_rpc_client behind feature

* add helper function for reconnect

* fix nit in example

* simplify code without weird error fmt

* address grumbles

* address grumbles

* update reconnecting-ws-client 0.3

* cleanup error message
2024-02-08 13:19:06 +01:00
Niklas Adolfsson 8dc62fcc25 rpc: rename transaction to transactionWatch (#1399) 2024-01-26 11:30:27 +01:00
Niklas AdolfssonandJames Wilson df85e46a62 fix: runtime upgrades in unstable backend (#1348)
This commit changes the following:

1. FollowEvent::Finalized: just remove the finalized and pruned blocks from runtimes
2. FollowEvent::Initalized: just remove the finalized block from runtimes

Co-authored-by: James Wilson <james@jsdw.me>
2024-01-16 11:58:19 +01:00
Niklas Adolfsson 437ff7ee41 generate docs for feature gated items (#1332)
* 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
2024-01-12 14:18:34 +01:00
Niklas Adolfsson ee95026186 chore(deps): bump jsonrpsee v0.20 to v0.21 (#1347)
* chore(deps): bump jsonrpsee v0.20 to v0.21

* fix build

* update Cargo.lock in wasm-tests
2024-01-12 10:48:44 +01:00
Niklas Adolfsson 298869bd98 fix(runtime update): wait until upgrade on chain (#1321)
* fix(runtime update): wait until upgrade on chain

* address grumbles

* Update subxt/src/client/online_client.rs

* Update subxt/src/client/online_client.rs

* fix nits and debug logs

* remove debug logs
2024-01-08 15:48:20 +01:00
Niklas Adolfsson 228b42bc85 chore(deps): Bump smoldot from 0.14 to 0.15 (#1337) 2024-01-03 18:08:09 +01:00
Niklas Adolfsson 38d8e714ec fix clippy (#1334) 2024-01-03 12:18:56 +01:00
Niklas Adolfsson f342f31b42 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
2023-11-21 13:31:10 +01:00
Niklas Adolfsson 8b4fea0b07 refactor(rpc): support default port in URL (#1122)
* refactor: support default port in URL

Update jsonrpsee to v0.20 to support the default port number in URLs.

* fix nit, revert web feature

* fix lightclient code
2023-08-15 09:53:26 +01:00
Niklas Adolfsson d4545de8cf fix: re-export sp_core and sp_runtime (#853) 2023-03-10 10:25:49 +01:00
Niklas Adolfsson d8c2e16151 fix(ci): pin trybuild v1.0.75 (#783) 2023-01-16 16:35:00 +00:00
Niklas Adolfsson 15ffbb6c4b fix(ci): wasm tests with cache + disable logging (#722)
* fix(ci): wasm tests with cache

* disable logging in wasm tests
2022-11-21 18:05:42 +01:00
Niklas Adolfsson 37392f33a5 fix(ci): wasm tests (#720) 2022-11-21 16:04:16 +01:00
Niklas Adolfsson 428bc35ed8 chore: prep release v0.25 (#717)
* bump versions 0.25

* update changelog

* adjust RELEASE.md

* fix weird formatting

* rephrase bad english

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md
2022-11-16 16:10:31 +01:00
Niklas AdolfssonandIgor Matuszewski 14e8e6f6b6 add wasm support (#700)
* get started

* make it work again

* make it compile again

* Use async-wasm-feature of jsonrpsee from the master branch

* Ensure we enable JS feature of getrandom for the wasm target

* Update subxt/src/lib.rs

* update jsonrpsee

* fix CI

* cargo fmt

* fix wasm test

* fix grumbles

* exclude wasm-tests from workspace

To avoid leaking `jsonrpsee-web` feature into the workspace

Co-authored-by: Igor Matuszewski <xanewok@gmail.com>
2022-11-14 11:45:21 +00:00
Niklas Adolfsson 9235d5041c fix clippy (#715)
* fix clippy

* remove used id in codegen

* fix clippy again
2022-11-11 11:03:23 +00:00
Niklas Adolfsson e233dd6bcb feat: add low-level runtime upgrade API (#657)
* feat: add low-level runtime upgrade API

* grumbles

* cargo fmt

* dont use apply_update in perform_runtime_upgrades

* fix nit

* remove metadata check

* fix doc tests

* fix final comments

* Update subxt/src/client/online_client.rs

* cargo fmt

* Update subxt/src/client/online_client.rs
2022-09-22 14:07:50 +02:00
Niklas AdolfssonandJames Wilson abd7a4145b introduce jsonrpsee client abstraction + kill HTTP support. (#341)
* PoC async rpc client

* add client example should be removed from this repo

* fmt

* cargo fmt

* subxt client tests

* cargo fmt

* fix some nits

* try nightly for all CI jobs

* need wasm also for CI

* wasm for nightly run too

* client: add missing features

* update jsonrpsee

* hacky update jsonrpsee

* use jsonrpsee crates.io release

* ci: pin nightly 2021-12-15

* pin nightly to 2021-12-15

* fix build

* fmt

* compile please

* rewrite me

* fixes

* fixes

* pre-generate metadata

* fix nit

* get rid of needless deps

* remove embedded client

* Update Cargo.toml

* Update subxt/Cargo.toml

* Update subxt/Cargo.toml

* Update subxt/src/client.rs

* Update subxt/src/rpc.rs

* Update test-runtime/build.rs

* cargo fmt

Co-authored-by: James Wilson <james@jsdw.me>
2022-02-04 10:35:59 +00:00
Niklas Adolfsson 08a3e6574d deps: update jsonrpsee 0.2.0 (#285)
* deps: update jsonrpsee 0.2.0

The motivation is to avoid pinning certain alpha versions and to avoid
breaking users builds without having to some `Cargo.lock` updating.

* cargo fmt

* fix tests

* fix a few clippy lints

* cargo fmt
2021-06-08 19:15:12 +02:00
Niklas Adolfsson 94db874942 update jsonrpsee to 0.2.0-alpha.6 (#266)
* update jsonrpsee to 0.2.0-alpha.5

* downgrade subxt client

* cleanup

* make subxt-client compile again

* update jsonrpsee v0.2.0-alpha.6

* fix build again

* remove needless type hints

* cargo fmt

* address grumbles

* remove remaining type hints

* cargo fmt
2021-05-20 21:48:56 +02:00
Niklas Adolfsson 02960a3b0e [jsonrpsee http client]: support tokio1 & tokio02. (#263)
* [jsonrpsee http client]: support tokio1 & tokio02.

* review grumbles: http client make non-optional
2021-04-13 08:28:26 +02:00
Niklas Adolfsson 3b362fb072 update jsonrpsee (#251) 2021-03-16 16:00:32 +00:00
Niklas AdolfssonandGreg Hill a920e34c20 integration with jsonrpsee v2 (#214)
* hacky integration with jsonrpsee v2

* stray todos

* fmt

* add http support

* make test build compile

* Update src/rpc.rs

* bring back set_client

* use crates.io version jsonrpsee

* WIP: workaround for embedded subxt client (#236)

* workaround for embedded subxt client

Signed-off-by: Gregory Hill <gregorydhill@outlook.com>

* increase default channel size on subxt client

Signed-off-by: Gregory Hill <gregorydhill@outlook.com>

* remove client tests due to inference problem on From

Signed-off-by: Gregory Hill <gregorydhill@outlook.com>

* add comments for missing impls

* more verbose errors

* make subscription notifs buffer bigger

* fmt

Co-authored-by: Greg Hill <gregorydhill@outlook.com>
2021-03-08 10:52:23 +00:00
Niklas Adolfsson 4725a33ea2 [ci]: use latest nightly (#222)
* [ci]: use latest nightly

* grumbles

* fix nit; targets -> target
2021-01-20 16:22:50 +00:00