* 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()
* Add Static type which defers to Encode/Decode and impls EncodeAsType/DecodeAsType
* rename to static_type and impl Deref/Mut
* Improve type substitution in codegen so that concrete types can be swapped in
* A couple of comment tweaks and no need for a macro export
* Extend type substitution logic to work recursively on destination type
* cargo fmt
* Fix a couple of comments
* update ui test outpuot
* Add docs and missing_docs lint
* Add test for replacing multiple of Ident
* Update codegen/src/error.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* update copyright year and fix ui test
* simplify another error
---------
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* WIP EncodeAsType and DecodeAsType
* remove silly cli experiment code
* Get things finally compiling with EncodeAsType and DecodeAsType
* update codegen test and WrapperKeepOpaque proper impl (in case it shows up in codegen)
* fix tests
* accomodate scale-value changes
* starting to migrate to EncodeAsType/DecodeAsType
* static event decoding and tx encoding to use DecodeAsFields/EncodeAsFields
* some tidy up and add decode(skip) attrs where needed
* fix root event decoding
* #[codec(skip)] will do, and combine map_key stuff into storage_address since it's all specific to that
* fmt and clippy
* update Cargo.lock
* remove patched scale-encode
* bump scale-encode to 0.1 and remove unused dep in testing crate
* update deps and use released scale-decode
* update scale-value to latest to remove git branch
* Apply suggestions from code review
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* remove sorting in derives/attr generation; spit them out in order given
* re-add derive sorting; it's a hashmap
* StaticTxPayload and DynamicTxPayload rolled into single Payload struct
* StaticStorageAddress and DynamicStorageAddress into single Address struct
* Fix storage address byte retrieval
* StaticConstantAddress and DynamicConstantAddress => Address
* Simplify storage codegen to fix test
* Add comments
* Alias to RuntimeEvent rather than making another, and prep for substituting call type
* remove unnecessary clone
* Fix docs and failing UI test
* root_bytes -> to_root_bytes
* document error case in StorageClient::address_bytes()
---------
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* WIP API changes
* debug impls
* Get main crate compiling with first round of changes
* Some tidy up
* Add WithExtrinsicParams, and have SubstrateConfig + PolkadotConfig, not DefaultConfig
* move transaction into extrinsic folder
* Add runtime updates back to OnlineClient
* rework to be 'client first' to fit better with storage + events
* add support for events to Client
* tidy dupe trait bound
* Wire storage into client, but need to remove static reliance
* various tidy up and start stripping codegen to remove bits we dont need now
* First pass updating calls and constants codegen
* WIP storage client updates
* First pass migrated runtime storage over to new format
* pass over codegen to generate StorageAddresses and throw other stuff out
* don't need a Call trait any more
* shuffle things around a bit
* Various proc_macro fixes to get 'cargo check' working
* organise what's exposed from subxt
* Get first example working; balance_transfer_with_params
* get balance_transfer example compiling
* get concurrent_storage_requests.rs example compiling
* get fetch_all_accounts example compiling
* get a bunch more of the examples compiling
* almost get final example working; type mismatch to look into
* wee tweaks
* move StorageAddress to separate file
* pass Defaultable/Iterable info to StorageAddress in codegen
* fix storage validation ne, and partial run through example code
* Remove static iteration and strip a generic param from everything
* fix doc tests in subxt crate
* update test utils and start fixing frame tests
* fix frame staking tests
* fix the rest of the test compile issues, Borrow on storage values
* cargo fmt
* remove extra logging during tests
* Appease clippy and no more need for into_iter on events
* cargo fmt
* fix dryRun tests by waiting for blocks
* wait for blocks instead of sleeping or other test hacks
* cargo fmt
* Fix doc links
* Traitify StorageAddress
* remove out-of-date doc comments
* optimise decoding storage a little
* cleanup tx stuff, trait for TxPayload, remove Err type param and decode at runtime
* clippy fixes
* fix doc links
* fix doc example
* constant address trait for consistency
* fix a typo and remove EncodeWithMetadata stuff
* Put EventDetails behind a proper interface and allow decoding into top level event, too
* fix docs
* tweak StorageAddress docs
* re-export StorageAddress at root for consistency
* fix clippy things
* Add support for dynamic values
* fix double encoding of storage map key after refactor
* clippy fix
* Fixes and add a dynamic usage example (needs new scale_value release)
* bump scale_value version
* cargo fmt
* Tweak event bits
* cargo fmt
* Add a test and bump scale-value to 0.4.0 to support this
* remove unnecessary vec from dynamic example
* Various typo/grammar fixes
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* Address PR nits
* Undo accidental rename in changelog
* Small PR nits/tidyups
* fix tests; codegen change against latest substrate
* tweak storage address util names
* move error decoding to DecodeError and expose
* impl some basic traits on the extrinsic param builder
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>