* 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
* Update cargo.lock to use scale-info v2.4.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Retain only a subset of the metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate top level Event
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Only retain DispatchError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Export just the retain method
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Retain pallets
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Do not include extrinsic metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* retain: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* test-runtime: Generate per pallet metadata and rs file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ui-tests: Check per metadata generated files
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "test-runtime: Generate per pallet metadata and rs file"
This reverts commit 725a2e5f8339a795892dbbd2df19e49330ae3a9b.
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ui-tests: Adjust path to metadata file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ui-tests: Change drop order to keep `PalletMetadata` around
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update metadata/src/retain.rs
Co-authored-by: James Wilson <james@jsdw.me>
* Address feedback
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* retain: Keep extrinsic type
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Introduce `MetadataSource`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Use `MetadataSource` helper
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Use `FileOrUrl` flatten command argument
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* retain: Do not include generic type params in retained metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust subxt to scale-info v2.5.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update scaleinfo to v2.5.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Remove deprecated fn
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* benches: Use inner fields of scale info
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* address nits, and strip RuntimeCall type instead of trying to filter out use of it for better overall wins/clarity
* fix UI test
* move utils out of commands folder and fix clippy etc
* address nits
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
* 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>
* chore: use workspace inheritance for package info
* add rust-version field into workspace package
* .workspace = true
---------
Co-authored-by: James Wilson <james@jsdw.me>
* feat!: Allow for remapping type parameters in type substitutions
* chore: cargo fmt
* chore: cargo clippy
* chore: Remove some old code
* a little tidy
* address comment nit
Co-authored-by: James Wilson <james@jsdw.me>
* begin porting over traits; remove Config use of Hash
* port over the Header bits that we need
* sp_core_hashing where possible, move Verify to PairSigner, remove unused errors
* tidy up Config things and move related bits into one place
* fix codegen
* copy Era over
* move AccountId, Address, Signer to Signer trait and a pass over fixing examples
* impl MultiAddress, MultiSignature, AccountId32 and add back to Config (for decoding later)
* Copy over StorageKey, StorageData, StorageChangeSet
* subxt core compiling with no sp_core or sp_runtime
* Get examples compiling
* pass over fixing tests
* cargo fmt
* clippy tweaks and update polkadot.rs
* fix codegen docs
* port over special DigestItem encoding/decoding
* clippy and doc fixes
* cargo fmt and example fix
* more cargo fmt-ing...
* substrate-extra to substrate-compat
* cargo.toml comments
* simplify PairSigner trait bounds
* move RPC types to a separate file
* fix docs
* Add some tests for things and other PR feedback
* bump to latest sp deps
* avoid needing substrate-compat feature in a test
* refactor: Simplify collecting type substitutes
* Simplify ItemMod::from
* Preserve inner Rust items when expanding the subxt::subxt macro
* No named lifetimes
* Update codegen/src/api/mod.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Move passing UI tests under `ui_tests`
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* 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>
* Allow metadata to be pulled directly from a node with runtime_metadata_url
* Update docs
* https too, and abstract out block_on fn
* tweak a comment in the example
* Add failing test for compact generic parameter
* WIP refactor type generation
* Fmt
* Remove deprecated rustfmt optionns
* Remove license template path
* Update parent type parameter visitor
* Introduce different methods for generating a type path for a field
* Add comment
* Fix weights refs
* Add extra compact test cases
* Fmt