James Wilson
06e658cd4b
Allow submitting transactions ignoring follow events ( #1962 )
2025-03-14 16:08:38 +00:00
James Wilson
16c50846c1
Map finality timeout to Dropped instead of Invalid ( #1953 )
2025-03-11 15:49:52 +01:00
James Wilson
b6b9ac65c7
Support constructing and submitting V5 transactions ( #1931 )
...
* TransactionExtensions basic support for V5 VerifySignature and renames
* WIP: subxt-core v5 transaction support
* Subxt to support V5 extrinsics
* WIP tests failing with wsm trap error
* Actually encode mortality to fix tx encode issue
* fmt
* rename to sign_with_account_and_signature
* Add explicit methods for v4 and v5 ext construction
* clippy
* fix wasm example and no mut self where not needed
* fix doc example
* another doc fix
* Add tests for tx encoding and fix v5 encode issue
* add copyright and todo
* refactor APIs to have clear v4/v5 split in core and slightly nicer split in subxt proper
* rename Partial/SubmittableExtrinsic to *Transaction
* Remove SignerT::address since it's not needed
* doc fixes
* fmt
* doc fixes
* Fix comment number
* Clarify panic behaviour of inject_signature
* fmt
2025-03-11 11:14:27 +00:00
James Wilson
49c66a0fd5
Wrap the subxt::events::Events type to avoid exposing subxt_core errors and types unnecessarily ( #1948 )
...
* Wrap the subxt::events::Events type to avoid exposing subxt_core errors and types unnecessarily (#1947 )
* Actually import module and fix issues
* Remove a couple of unnecessary conversions now
* Test
2025-03-06 16:30:47 +00:00
James Wilson
e59eef21b4
Allow transaction timeout in ChainheadBackend to be configured ( #1943 )
...
* Add configurable transaction timeout to ChainheadBackend
* u64, not usize
* Actually, stick with usize
2025-03-05 10:43:54 +00:00
James Wilson
037d5178b8
Document generating interface from Runtime WASM and change feature to runtime-wasm-path ( #1936 )
...
* runtime_metadata_path => runtime_wasm_path and document this feature
* fix doc
2025-03-03 12:07:48 +00:00
Alex Bean
72f8e0372e
refactor: make ExtrinsicEvents::new public for external access ( #1933 )
2025-02-25 14:28:01 +00:00
wgyt
396762510a
update copyright year ( #1924 )
...
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2025-02-24 16:07:29 +00: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
James Wilson
816a86423b
Split RPCs into a separate crate ( #1910 )
...
* WIP extract RPCs into separate crate
* fmt
* Fix test
* Remove unused deps
* fix import
* WIP: Fix up errors and most tests. Start extracintg some tests/code to rpc crate
* MockRpcClient sync or async
* MockRpcClient only async but better type inference
* WIP MockRpcClient FnMuts and some test updates to use it
* Get all but one test working with new MockRpcClient
* WIP trying to debug failure
* WIP, Tests mostly fixed, need to add back oen more
* Get mock RPC tests working
* fmt
* fmt
* Clippy and comment tweak
* update CI to explicitly check subxt-rpc features
* clippy
* small tweaks after pass over
* feature flag rename
* update some docs
* Fix some examples
* fmt
* Fix features flags to work with web/wasm32
* Fix unused dep warning
* explicit targets in wasm CI
* Add better crate level docs
* fmt
* Address review comments
* Comment out flaky test for now and make more obvious how similar POlkadot and Substrate configs are
* Not a doc comment
* Remove unused imports
2025-02-18 12:07:00 +00:00
James Wilson
d924ece39a
Don't double hash: use the same hash in ExtrinsicDetails and ExtrinsicDetails ( #1917 )
...
* Don't double hash: use the same hash in ExtrinsicDetails and ExtrinsicEvents
* clippy
2025-02-03 17:47:31 +00: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
f363f77a60
chore: fix clippy lints ( #1882 )
2024-12-10 13:08:40 +01:00
Niklas Adolfsson
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
James Wilson
057c847474
Fix unstable-light-client + ChainHeadBackend tx events ( #1865 )
...
* Fix unstable-light-client + ChainHeadBackend tx events
* Add note that Broadcasted event should no longer be returned at all
* fmt
2024-11-13 15:26:11 +01:00
James Wilson
f861adf5f0
When native feature is enabled, we need polkadot-sdk/std for eg examples to work ( #1864 )
2024-11-13 10:59:01 +00:00
paritytech-subxt-pr-maker[bot]
cb9571d7a6
Update Artifacts (auto-generated) ( #1860 )
...
* Update Artifacts (auto-generated)
* fix assethub example
* update Cargo.lock for wasm tests
* cargo fmt
* fix subxt cli tests
* disable failing wasm tests
* add issue link for disabled test
---------
Co-authored-by: niklasad1 <14157425+niklasad1@users.noreply.github.com >
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2024-11-11 18:34:02 +01:00
PG Herveou
251a925da2
fix ( #1843 )
2024-10-26 02:26:43 +02: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
James Wilson
15cf58f723
Make it clearer which extrinsic failed to decode ( #1835 )
...
* Add an extrinsic index to decode errors so that we know which extrinsic failed
* Fix subxt::BlockError to align with subxt_core::BlockError
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2024-10-23 18:03:32 +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
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
Pavlo Khrystenko
7f9a1a17c0
derive serialize on more types ( #1797 )
...
* derive serialize on more types
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2024-10-03 11:15:09 +02:00
Niklas Adolfsson
cbf05d1999
fix: error message on rpc errors ( #1804 )
2024-10-01 20:01:07 +02:00
James Wilson
b5209a162e
Use frame-decode for core extrinsic decode logic ( #1785 )
...
* WIP using frame-decode for core extrinsic decode logic
* fmt
* Fix dependabot config
* clippy
* tidy some imports
* Fix a couple of tests
* Update to frame-decode 0.0.7
* fix docs
* Decode exts earlier to avoid doing it every iter/find step
* frame-decode to 0.1.0
* fmt
* clippy
* fix wasm example
* doc test fixes
* Fix test
* Fix a couple of subxt_core tests
2024-10-01 11:21:51 +01: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
Pavlo Khrystenko
8f2c92f0ef
add reconnecting tests for unstable_backend ( #1765 )
...
* add tests for unstable_backend
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2024-09-30 00:03:11 +02:00
Alexandru Vasile
2471aefe3b
clippy: Remove unneeded ?Sized bound and replace never type with () ( #1758 )
...
* storage: Remove ?Sized bound
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* backend: Use () instead of !
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* backend: Return directly
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2024-09-06 17:14:40 +02:00
Pavlo Khrystenko
b8735e5782
Add tests for legacy Backend impl ( #1751 )
...
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2024-09-06 11:26:22 +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
Pavlo Khrystenko
3866737b29
Add support for generating metadata from runtime wasm files ( #1720 )
...
closes #1660
2024-09-02 11:07:50 +02:00
Niklas Adolfsson
374193ac31
examples: fix reconnecting logging target ( #1733 )
2024-08-28 19:51:53 +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
James Wilson
83ef8a9f13
Allow tx payloads to be boxed ( #1690 )
...
* Allow tx payloads to be boxed
* Add example of boxed payloads
* explicit box import
* box import at top
* cargo fmt
2024-07-29 17:10:49 +01: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
James Wilson
c3267ed488
Add hash method to ExtrinsicDetails ( #1676 )
...
* Add hash method to ExtrinsicDetails
* fix test
2024-07-22 13:54:32 +01:00
James Wilson
75bb9b8354
Allow PartialExtrinsic to be held across await points ( #1658 )
...
* Allow PartialTransaction to be held across await points, and example to prove it
* Add comment to tx_parital example
* Fix book link
2024-06-26 13:23:26 +01: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
Pavlo Khrystenko
5a5c5fc382
Add 20-byte account id to subxt_core ( #1638 )
...
* Add accountId20 impl to subxt_core
closes #1576
2024-06-19 13:31:04 +02:00
James Wilson
dd343be1f3
Add a basic version of the CheckMetadataHash signed extension ( #1590 )
...
* Add a basic version of the CheckMetadataHash signed extension
* update example too
* encode None to signer payload when no hash provided
* Enable decoding txs using CheckMetadataHash, too
* Tidy up decoding CheckMetadataHash
2024-05-23 11:54:53 +02:00
James Wilson
8c6452e22a
Prep for 0.36.0 release ( #1587 )
...
* Prep for 0.36.0 release
* Stabilise unstabvle backend notes
* Make clearer that RPC methods dont retry
2024-05-16 16:37:20 +01:00
Niklas Adolfsson
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
Alexandru Vasile
a5d94a4b8b
metadata: Fix cargo clippy ( #1574 )
...
* metadata: Fix cargo clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* subxt/backend: Fix clone clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* tests: Use clone into
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2024-05-06 10:11:39 +02:00
James Wilson
bc079e7c98
Update deps to use scale-type-resolver 0.2 ( #1565 )
...
* Updates for scale-type-resolver 0.2
* show that we can check the name too now
* Bump versions and fix WrapperKeepOpaque name check
2024-04-30 08:45:39 +01: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
dependabot[bot]
f470638db4
build(deps): bump reconnecting-jsonrpsee-ws-client from 0.3.0 to 0.4.1 ( #1548 )
...
Bumps [reconnecting-jsonrpsee-ws-client](https://github.com/niklasad1/reconnecting-jsonrpsee-ws-client ) from 0.3.0 to 0.4.1.
- [Release notes](https://github.com/niklasad1/reconnecting-jsonrpsee-ws-client/releases )
- [Changelog](https://github.com/niklasad1/reconnecting-jsonrpsee-ws-client/blob/master/CHANGELOG.md )
- [Commits](https://github.com/niklasad1/reconnecting-jsonrpsee-ws-client/commits/v0.4.1 )
---
updated-dependencies:
- dependency-name: reconnecting-jsonrpsee-ws-client
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>
2024-04-22 09:48:52 +02:00