* 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>
* better dispatch errors
* dry_run to use same DispatchError
* fix dry_run_fails; use correct transfer amount
* Hide ModuleError impl and avoid pulling details from metadata unless user needs them
* fix tests
* actually fix the tests (hopefully..)
* Add a couple more DispatchError test cases
* Add a comment about where the error was copied from
* Also expose a way to obtain the raw module error data
* Remove redundant variant prefixes
* explicit lifetime on From<str> for clarity
* fmt
* 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>
* Fix integration test
* Fix extrinsic encoding
* Units
* comment out dry_run and transfer_error
* fmt
* imports
* imports
---------
Co-authored-by: James Wilson <james@jsdw.me>
* create_partial et al to expose the signer payload and call data just prior to being signed
* remove unnecessary Result
* fmt, make it easier to pass in signature bytes, and add a test for this flow
* remove unnecessary deref
* 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>
* Patch all substrate deps to use my substrate branch
* default-features = false causing issus in test-runtime
* Use substrate polkadot release branch
* Use default-features for sp-runtime again :(
* Restore default-features for subxt-cli/sp-core
* Fix module error integration test
* Add Send + Sync bounds to ExtrinsicEvents::iter()
* Elide lifetime
* Revert adding Send + Sync
* Add Sync bound to Rpc::ClientError
* Remove version in subxt-metadata
* Use released crates
* Use released sp-keyring
* Fix sp-keyring deps
* Remove unnecessary sp-keyring default-features = false
* First pass adding functions to get blocks and extrinsics
* cargo fmt and cache block events
* prefix block hash with 0x
* pin streams for better ergonomics and add an example of subscribing to blocks
* remove unused var
* standardise on _all, _best and _finalized for different block header subs
* WIP center subscribing around blocks
* Remove the event filtering/subscribing stuff
* clippy
* we need tokio, silly clippy
* add extrinsic_index() call
* Update subxt/src/blocks/block_types.rs
Co-authored-by: Andrew Jones <ascjones@gmail.com>
* Add dynbamic nested query example and make dynamic::tx a little easier to work with
* calL_value -> inner_tx
* rename example to dynamic_multisig to align with #713 naming
* align dynamic and static multisig examples
* Fix comment typo
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: Andrew Jones <ascjones@gmail.com>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@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>