Commit Graph
100 Commits
Author SHA1 Message Date
James Wilson c71ba59db9 Bump frame-decode and frame-metadata to latest (#1870) 2024-11-25 08:20:24 +01:00
James WilsonandNiklas Adolfsson 0dbcdbdd9c Attempt to quickfix flaky legacy_and_unstable_block_subscription_reconnect (#1868)
* Attempt to quickfix flaky legacy_and_unstable_block_subscription_reconnect test

* Make test name match behaviour

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

* Timeout to 300s

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2024-11-18 12:49:12 +00:00
James Wilson 137701757e re-enable Ci (#1867) 2024-11-15 15:14:43 +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
James Wilson 3219659f12 Fix substrate nightly (#1848) 2024-10-30 10:40:02 +01:00
James Wilson ff2196d5f1 Update the release notes to work for current releases (#1842) 2024-10-25 16:44:45 +02:00
James Wilson 9640ecc751 Prep to release v0.38.0 (#1841)
* Prep to release v0.38.0

* Remove entry from changelog
2024-10-24 15:45:02 +01:00
James WilsonandNiklas Adolfsson 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
James Wilson c07c760d85 Update frame-decode to 0.4.0 (#1833) 2024-10-22 13:08:40 +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
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
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
James Wilson 4a07b64c27 Allow running integration tests given a SUBXT_TEST_URL=ws://foo:port (#1640)
* Allow running integration tests given a SUBXT_TEST_URL=ws://foo:port

* update comment

* fmt

* Fix lightclient get_url usage

* fix light client

* fix lightclient tests take 2
2024-06-24 14:29:08 +01: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
James Wilson 31c4328c8a Update README.md (#1584)
* Update README.md

Make it clear that Subxt is not just for submitting extrinsics at the top of the README

* And WebAssembly
2024-05-16 12:21:39 +01:00
James Wilson 31b2b82eb9 Bump scale-decode and related deps to latest (#1583) 2024-05-15 17:41:04 +01: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
James Wilson ac606cf625 Rename traits to remove T suffix (#1535)
* Rename traits to renmove T suffix

* Fix doc links

* Fix straggler doc links
2024-04-16 16:35:14 +01:00
James Wilson 1e111ea9db Make subxt-core ready for publishing (#1508)
* Move Extrinsic decoding things to subxt_core and various tidy-ups

* A couple more fixes and fmt

* first pass moving tx logic to subxt_core

* cargo fmt

* fix wasm example

* clippy

* more clippy

* WIP Adding examples and such

* Move storage functionality more fully to subxt_core and nice examples for storage and txs

* Add example for events

* consistify how addresses/payloads are exposed in subxt-core and add runtime API fns

* Add runtime API core example

* fmt

* remove scale-info patch

* Add a little to the top level docs

* swap args around

* clippy

* cargo fmt and fix wasm-example

* doc fixes

* no-std-ise new subxt-core additions

* alloc, not core

* more no-std fixes

* A couple more fixes

* Add back extrinsic decode test
2024-04-15 15:20:11 +01:00
James Wilson 9765ad067a Remove dupe storage item if we get one back, to be compatible with Smoldot + legacy RPCs (#1534)
* Remove dupe storage item if we get one back, to be compatibel with Smoldot + legacy RPCs

* remove commented-out code
2024-04-15 11:42:08 +01:00
James Wilson 51d9ce0d76 Swap BinaryHeap for Vec to avoid Ord constraint issue (#1523)
* Swap BianryHeap for KeyedVec to avoid Ord constraint issue

* Vec, not KeyedVec
2024-04-10 17:49:40 +01:00
James WilsonandNiklas Adolfsson 9810406db2 Prep to release 0.35 (#1489)
* Prep to release 0.35

* Remove newline

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

* Fix a couple of small nits

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2024-03-21 16:37:12 +00:00
James Wilson 98c4c0135b chore: rename sp-core-hashing to sp-crypto-hashing (#1490)
* rename sp-core-hashing to sp-crypto-hashing

* fmt
2024-03-21 16:18:00 +01:00
James Wilson b069c4425a Rework light client (#1475)
* WIP second pass over light client code for simpler API

* First pass new light client

* pub(crate) LightClientRpc::new_raw(), and fmt

* Update examples and add back a way to configure boot nodes and fetch chainspec from a URL

* Fix light client examples

* remove unused deps and tidy lightclient feature flags

* fix wasm error

* LightClientRpc can be cloned

* update light client tests

* Other small fixes

* exclude mod unless jsonrpsee

* Fix wasm-lightclient-tests

* add back docsrs bit and web+native feature flag compile error

* update book and light client example names

* fix docs
2024-03-15 15:21:06 +00:00
James Wilson ddd0865fa9 Make storage_page_size for the LegacyBackend configurable (#1458) 2024-02-29 13:13:58 +00:00
James Wilson 3ffccb0369 [lightclient] lookup chain ID just once at beginning of each message (#1452)
* lookup chain ID just once at beginning of each message

* data => chain_data for more clarity

* cargo fmt
2024-02-28 18:50:35 +01:00
James Wilson 70d56dc62f avoid a panic in case we try decoding naff bytes (#1444) 2024-02-24 11:48:39 +01:00
James Wilson 19be36cd2b Fix error mapping to wrong transaction status (#1445) 2024-02-23 17:24:04 +00:00
James Wilson 0d1cc92f27 Update DispatchError to match latest in polkadot-sdk (#1442) 2024-02-23 16:16:52 +01:00
James Wilson 6f63ded5c1 [audit] Handle errors when fetching storage keys from Unstablebackend (#1440)
* Handle errors when fetching storage keys from Unstablebackend

* cargo fmt
2024-02-23 14:28:08 +01:00
James Wilson 4614ff7bbb Swap type aliases around to be semantically correct (#1441) 2024-02-23 14:27:57 +01:00
James WilsonandNiklas Adolfsson 0f48d54209 Return Pending rather than loop around if no new finalized hash in submit_transaction (#1378)
* Return Pending rather than loop around if no new finalized hash in submit_transaction

* uptodate => up-to-date

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2024-01-18 17:54:46 +00:00
James Wilson e36f4ad270 fix submit_transaction debug logging of message 2024-01-18 12:35:29 +00:00
James Wilson fa2a75a3a9 Try a few RPC nodes in case one of them is not working 2024-01-18 12:02:27 +00:00
James Wilson f4acd1bae8 resolve clippy err 2024-01-18 10:27:16 +00:00
James Wilson 901aba9248 Merge branch 'master' into jsdw-follow-tweaks-and-logging 2024-01-18 09:22:46 +00:00
James Wilson fdaf08d9c7 update CI file from Alex PR 2024-01-18 09:22:26 +00:00
James Wilson 42af59f638 actually only wait for machete+fmt, clippy can be much slower 2024-01-17 17:41:35 +00:00
James Wilson cf39054aad merge master 2024-01-17 17:38:34 +00:00
James Wilson a9bc4f6661 megre in light client test change pr 2024-01-17 17:37:58 +00:00
James Wilson 2a93914dd8 make long tests run only after clippy + fmt pass 2024-01-17 17:35:18 +00:00
James Wilson 36bd933b00 clippy 2024-01-17 17:30:59 +00:00
James Wilson 0154f8a902 change panic to Err just to be on the safe side 2024-01-17 17:26:10 +00:00
James Wilson f38f68b2d0 panic if None returned from subscription too, also with stats 2024-01-17 17:24:21 +00:00
James Wilson 6b83016a6d Add logging to submit_transaction and unstable driver, and ensure unpin evs complete 2024-01-17 17:07:40 +00:00
553343548e fix: don't unpin blocks that may show up again (#1368)
* backend(fix): Early unpin for pruned blocks with no active `BlockRef`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* backend/tests: Check unpinning only after max_life time

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* backend/tests: Remove unpinning when droped tests

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* backend/tests: Ensure new blocks are not unpinned

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* backend: Add only pruned blocks to unpin hashset and add a test

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* backend: Introduce the `UnpinPolicy`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update subxt/src/backend/unstable/follow_stream_unpin.rs

* backend: Fix clippy

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Only unpin blocks that have been pruned by the backend

* Fix comments

* Mark initialized and finalized blocks as 'can_be_unpinned' too and tests

* fmt

* tweak a couple more comments

* tidy tests and fix undeterministic check

* Fix wrong names in comments

* tweak another test to focus it a bit more

* clippy

* wee rename of args in a couple of test helpers

* add some logs and simplify submit_transaction in the same way Alex did

* ditch logging again and keep to the experiment pr

* cargo fmt

* reduce CI timeouts to 30mins

* Handle Init and Stop events in submit_transaction too, just in case

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
2024-01-17 09:35:02 +00:00
James Wilson f06a95d687 Fix CHANGELOG
Undo unintentional rename from 0.32.1 to 0.33.0
2023-12-07 11:03:13 +00:00
df06cf9afb Prep for v0.33.0 release (#1311)
* Prep for v0.33.0 release

* only ignore failing test on unstable-backend-client

* Fix typos and wee grammar things

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>

* omit uninteresting PRs and issue link for ignored test

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>
2023-12-07 11:00:22 +00:00
James Wilson c3b433123d Sync tx submission with chainHead_follow (#1305)
* sync tx submission with chainHead_follow

* make it compile

* add small comment
2023-12-04 16:48:32 +00:00
James WilsonandFredrik Simonsson 5764c8e68e Add legacy RPC usage example (#1279)
* Add example using legacy rpc

* Illustrate how account_nonce and system_acc_next eventaully cathces up

* Adapt and add rpc_legacy example to book. Add missing light_client example too

* cargo fmt

---------

Co-authored-by: Fredrik Simonsson <fredrik@nodle.com>
2023-11-23 17:14:17 +00:00
James WilsonandNiklas Adolfsson 2fe7b5c14c Fix lightclient WASM tests (#1287)
* Remove 1 explicit bootnode; I think it stopped working so our tests did too

* Remove comment

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2023-11-23 16:58:03 +00:00
James Wilson 2c528854da Improve SignedExtension matching logic and remove SkipCheckIfFeeless bits (#1283)
* First pass making matching on signed exts more general and handlng SkipCheckifFeeless

* remove unneeded derives (only exts we can decode into are handled by the user)

* No SkipCheckIfFeeless in integration tests either

* Cargo fmt

* Remove SkipCheckIfFeeless specific logic

* clippy

* matches to just return bool, not result

* remove now-invalid comment

* return error from find if .iter() errors
2023-11-23 15:44:35 +00:00
James Wilson e7c1f73429 Bump scale-decode and scale-value to latest (#1252) 2023-11-10 17:15:12 +01:00
James Wilson 2b21f8dc8c Tidy subxt-codegen crate interface (#1225)
* first pass tidying codegen crate interface

* fix a codegen test

* macro: keep error spans

* clippy

* fix doc example

* removecommented-out code
2023-10-27 16:35:18 +01:00
James Wilson 98170c8fdb update light client docs (#1223) 2023-10-23 18:52:11 +02:00
James Wilson 71fbfebf5a Clone + Debug on Payloads/Addresses, and compare child storage results (#1203)
* Clone + Debug on Payloads/Addresses, and compare child storage results

* , to .

* clippy and fixes

* fix

* use derivative instead to remove boilerplate impls

* add missing import

* tidy up and extend wasm test timeout

* try 5 mins instead of 2
2023-10-18 22:05:38 +01:00
James Wilson d44941fb1b Batch fetching storage values again (#1199)
* re-batchify fetching storage values

* cargo fmt

* make page size static again; probably makes more sense to make it configurable if that is needed enough

* clippy
2023-10-11 14:33:37 +02:00
James Wilson 2e908025f0 Wee tidy to subxt-signer flags (#1200)
* Wee tidy to subxt-signer flags

* revert removing subxt?/foo features; need them for CI

* make the flag identical to subxt; forgot the 'all' case

* subxt-signer needs native flag now when --no-default-features
2023-10-09 22:15:42 +02:00
James Wilson 761fee0b07 Prep for patch release 0.32.1 (#1192)
* Prep for patch release 0.32.1

* update to latest lockfiles
2023-10-05 19:31:14 +02:00
James WilsonandTadeo hepperle 919b866c0f fix for when runtime API field name is _ (#1191)
* fix for when runtime API field name is _

* add a test

* formatting

---------

Co-authored-by: Tadeo hepperle <tadeo@do-mix.de>
2023-10-05 15:16:15 +02:00
James Wilson e91d0c7b37 allow getting account nonce at arbitrary blocks, too (#1182) 2023-10-03 00:10:34 +02:00
James Wilson 1a4e4cd3ce Prep to release 0.32.0 (#1178) 2023-09-27 15:03:30 +01:00
James Wilson 0956b40412 try composite action to avoid dupe use-substrate code (#1177)
* try composite action to avoid dupe use-substrate code

* put use-substrate in a folder

* required 'shell' prop

* re-use use-substrate action across CI

* remove unnecessary bit from action readme
2023-09-26 17:54:03 +01:00
James Wilson cf7e2db1b7 chainHead based backend implementation (#1161)
* add follow_stream impl

* follow_stream_unpin first draft

* add tests for follow_stream_unpin

* more tests and fixes for follow_stream_unpin

* first pass follow_stream_driver

* follow_stream_driver: add tests, fix things, buffer events from last finalized

* First pass finishing Backend impl

* Fix test compile issues

* clippy fixes

* clippy fix and consistify light_client

* revert lightclient tweak

* revert other lightclient thing

* cargo fmt

* start testing unstable backend behind feature flag

* more test fixes and move test-runtime metadata path just incase

* fix compile error

* ensure transaction progress stream actually used and fix another test

* cargo fmt

* CI tweak

* improve some comments and address some feedback bits

* update CI to use our own nightly binary

* wait for finalized block perhaps
2023-09-26 16:58:30 +01:00
James Wilson 00cce68371 CI to build substrate binary 2023-09-26 14:37:40 +01:00
James Wilson fd23766184 Remove unused start_key that new RPC API may not be able to support (#1148) 2023-08-30 14:37:50 +01:00
a3d25db846 Unstable Backend: add back the old chainHead RPCs/tests (#1137)
* add back unstable APIs and tests

* clippy fixes

* fmt with new rust

* deserialize from object or array into api versions

* remove inspect

* add some of the other unstable RPC methods we might want

* clippy fix

* no unused deps warning in test crate

* fix doc fails

* legacy -> unstable

Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>

* runtime_updates -> with_runtiem

* add test and be consistent with naming of unstable RPCs

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>
2023-08-29 12:35:35 +01:00
James Wilson d7124b56f7 Introduce Backend trait to allow different RPC (or other) backends to be implemented (#1126)
* WIP backend trait

* WIP converting higher level stuff to using Backend impl

* more implementing new backend trait, mainly storage focused

* Get core code compiling with new backend bits

* subxt crate checks passing

* fix tests

* cargo fmt

* clippy/fixes

* merging and other fixes

* fix test

* fix lightclient code

* Fix some broken doc links

* another book link fix

* fix broken test when moving default_rpc_client

* fix dry_run test

* fix more tests; lightclient and wasm

* fix wasm tests

* fix some doc examples

* use next() instead of next_item()

* missing next_item() -> next()s

* move legacy RPc methods to LegacyRpcMethods type to host generic param instead of RpcClient

* standardise on all RpcClient types prefixed with Rpc, and 'raw' trait types prefixed with RawRpc so it's less ocnfusing which is which

* rename fixes

* doc fixes

* Add back system_dryRun RPC method and rename tx.dry_run() to tx.validate(), to signal that the calls are different

* Add a test that we return the correct extrinsic hash from submit()

* add TransactionValid details back, and protect against out of range bytes

* add test for decoding transaction validation from empty bytes

* fix clippy warning
2023-08-22 12:32:22 +01:00
James Wilson ab84228af4 allow 'latest' metadata to be returned from the fallback code (#1127) 2023-08-21 12:37:04 +01:00
James WilsonandNiklas Adolfsson 9b86b55b56 Make ExtrinsicParams more flexible, and introduce signed extensions (#1107)
* WIP new SignedExtensions

* Integrate new signex extension stuff, update docs, remove Static wrapper

* remove impl Into in tx_client to avoid type inference annoyances

* clippy and fix example

* Fix book links

* clippy

* book tweaks

* fmt: remove spaces

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

* re-expose Era in utils, and tweak wasm-example

* clippy; remove useless conversion

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2023-08-08 09:37:06 +01:00
James Wilson 059723e431 Prep for 0.31.0 release (#1104) 2023-08-02 15:39:23 +01:00
James Wilson 2176ec9fa7 Bump to latest scale-encode/decode/value and fix test running (#1103)
* Bump to latest scale-encode,decode,value and fix test running

* remove patch deps

* update CI to spit out 'substrate-node' binary now

* fmt

* Fix test: compact type ID no longer present so can't re-encode Value in same way

* remove patch

* Fix cargo.lock

* Fix other compact test
2023-08-02 13:55:48 +01:00
James Wilson fd853b9b72 Tests: support 'substrate-node' too and allow multiple binary paths (#1102)
* Support 'substrate-node' too and allow multiple binary paths

* fmt

* clippy

* fix path
2023-07-31 12:25:50 +01:00
James Wilson 26acef1abe Prep for 0.30.1 release (#1094) 2023-07-25 14:07:38 +01:00
James Wilson 44b1690170 Fixes to make release work (#1090) 2023-07-24 17:51:12 +01:00
James Wilson c66cbe736c Prep for 0.30 release (#1089) 2023-07-24 17:01:49 +01:00
James Wilson 770483d9cd Add LightClient::builder() (#1088)
* Add LightClient::build()

* newline

* fmt

* Tweaks to make LightClient more like OnlineClient in interface
2023-07-24 15:59:45 +01:00
James WilsonandLech Głowiak fa16080a03 ECDSA Support in signer (#1064)
* 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>
2023-07-19 10:17:27 +01:00
James Wilson b4eb406ee5 Add subxt_signer crate for native & WASM compatible signing (#1016)
* 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
2023-06-20 11:32:12 +01:00
James Wilson e711dc1582 Get account nonce via state_call (#1002) 2023-06-07 16:15:22 +01:00
James Wilson 27d5868be6 Remove invalid redundant clone warning (#996) 2023-06-02 11:27:04 +01:00
James Wilson e40a8629e2 move examples to main repo so we can include_str them for publishing (#993)
* move exampels to main repo so we can include_str them for publishing

* update CI to not break examples
2023-06-01 14:27:12 +01:00
James WilsonandAlexandru Vasile 15a267cc5a Prep for 0.29.0 release (#992)
* Prep for 0.29.0 release

* Fix typos

Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>

---------

Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
2023-06-01 13:26:21 +01:00
James Wilson 9d50520d82 Update scale-encode, scale-decode and scale-value to latest (#991) 2023-06-01 09:56:01 +01:00
James Wilson ae0ab3e8f3 Tidy up some metadata accessing (#978)
* Reduce some repetition when obtaining metadata pallets/runtime_traits

* make them pub

* fix docs and clippy
2023-05-26 13:51:10 +01:00
James WilsonandNiklas Adolfsson 870d4df2ed Skip call variants if there aren't any (#980)
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2023-05-26 13:40:35 +01:00
James Wilson b9f5419095 Introduce Metadata type (#974)
* 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()
2023-05-25 10:35:21 +01:00
James WilsonandNiklas Adolfsson 5960cd2ac8 Ensure unique types in codegen (#967)
* Ensure unique types in codegen

* tweak comment

* Test the duplicate type codegen stuff

* appease clippy

* fix import

* add another test for generics being de-duplicated

* cargo fmt

---------

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2023-05-23 11:54:52 +01:00
James Wilson 81494027c8 Have a pass over metadata validation (#959)
* Have a pass over metadata validation

* trait metadata; fold instead of map+for

* remove a couple of other XORs, so all uses of it are now commented

* appease clippy
2023-05-16 12:47:45 +01:00
James Wilson 13b2943c08 remove as_pallet_extrinsic and as_pallet_event (#953) 2023-05-12 17:12:47 +01:00
James Wilson ae093bda7d Remove decoding bit from "extrinsics" and reference decoding in "blocks" (#951)
* Remove decoding bits from 'tx' and reference decoding in 'blocks' instead

* newline

* doc and fmt fixes
2023-05-11 13:12:51 +01:00
James Wilson 562f12cd9b Subxt Guide (#890)
* 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
2023-05-04 15:03:42 +01:00
James Wilson 53544a54b6 Runtime APIs; don't ask for validation hash anywhere except new_static (#947)
* remove validation hash where not wanted

* .into()

* fix example

* cargo fmt
2023-05-04 13:14:40 +01:00
James Wilson 464b4432cf Move all deps to workspace toml (#932)
* Move all deps to workspace toml

* cargo fmt and codec 3.4, removing now unneeded 'full' feature

* add wasm-tests to workspace and fix subxt inheritng

* cargo fmt

* wasm-test thing can't be in workspace so revert that

* remove unwanted target dir from wasm-tests
2023-04-26 10:31:59 +01:00
James Wilson e583aa987e Speed up CI (#928)
* use faster CI runner

* slower machine for all but tests, try 16 core for tests

* try splitting tests for more parallelism

* bigger machine for slowest tests
2023-04-24 16:55:36 +01:00
2f1b67b384 Factor substrate node runner into separate crate (#913)
* factor out node starting thing to separate crate to use in test-runtime and integration-tests

* remove subxt dep on test-runtime build, and clippy tidyup

* remove now-unneeded dep

* Update testing/substrate-runner/Cargo.toml

Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>

* Update testing/integration-tests/Cargo.toml

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

* remove unneeded port things for backward compat

---------

Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2023-04-17 12:42:17 +02:00
James Wilson e642740081 Remove need to import parity-scale-codec to use subxt macro (#907)
* remove need to import parity-scale-codec crate with Subxt for macro to work

* update ui tests
2023-04-17 09:13:17 +02:00