* 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
* WIP updating to syn 2.0.0
* WIP darling compat
* Update darling and syn workspace deps
* NestedMeta::parse_meta_list
* Rename attribute keyword type property to path
* Fmt
* Update more type to path
* Unused darling
* Cargo.lock
* Add missing syn features
* 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
* 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>
* 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>
* 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
* WIP implement custom derives per type
* WIP wiring up specific type derives
* Fmt
* Rename GeneratedTypeDerives to Derives
* Fmt
* Fix errors
* Fix test runtime
* Make derives appear in alphabetic order
* Clippy
* Add derive_for_type attribute to example
* Add docs to example
* Rename GeneratedTypeDerive
* Rename ty to type in attribute
* Update darling
* Update codegen/src/types/derives.rs
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* Update codegen/src/types/mod.rs
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* Update codegen/src/types/mod.rs
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* review: update method name
* Add unit tests for combined derives
* Remove out of date docs
* Add macro usage docs
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* move into subfolder step 1
* Make folders a workspace again
* Move examples into their own workspace crate to make them more visible and easier to run
* clippy fix
* newline
* tweak releasing steps for folder move
* reference exampels more clearly in top level readme
* WIP update dependencies to crates versions
* Use released versions of sp-version and sp-arithmetic
* Attempt to align version of sp-keyring used to correspond to 4.0.0 releases. No luck but closer
* sp-keyring 4.0.0
* also sp-keyring 4.0.0 for macro crate
* simplify cargo.tomls
Co-authored-by: James Wilson <james@jsdw.me>
* Remove test macro
* Remove client crate
* Create tests crate and move pallet specific tests there
* Extract client, remove metadata and extra, more demolition
* Update substrate dependencies to git dependencies
* Remove Store stuff for now
* Comment out some Call usages
* Add back Runtime trait coped from original System trait
* Make subxt lib compile
* Delete old proc macros and copy over type generation from chameleon
* WIP make transfer balance test pass
* Change to subxt attribute macro
* WIP provide user defined type substitutes
* User defined type substitutes compile
* WIP submitting transactions
* WIP transfer balance test
* Fix macro
* Cargo fmt
* WIP generating storage hashers
* WIP add AccountData trait for fetching the nonce
* Support single type storage map keys
* WIP impl AccountInfo retrieval
* Fix up storage struct generation
* Implement AccountData triait directly on storage entry
* Borrow storage map key and convert account id
* Implement storage fetch client methods
* Remove legacy metadata storage key construction
* Rename CheckEra to CheckMortality
* Substitute perthings types for compact impls
* Fmt
* Downgrade dyn-clone for cargo-contract compat
* Scale-fo 1.0
* scale-info 1.0
* Remove special range handling
* Restore wildcard type params
* Frame metadata 14.0
* WIP decoding events
* WIP more dynamically decoding events
* Fmt
* Decode events, handle errors
* Uncomment some tests
* Remove unused get_mod function
* Fix some warnings
* Fix some more warnings
* Fix some more warnings
* Add tests mod
* Rename node-runtime tests mod to frame
* Fix some warnings
* Fmt
* WIP generate storage client with getters
* Storage client compiling
* Generate storage client api
* Fix up system account query account ids
* WIP generating tx api fns
* Only generate tx api fields when calls available
* Fix tx api call fns
* Fmt
* WIP generate event structs
* call functions not async
* Derive Eq for comparison on generated types
* Generate event structs
* Fix call name
* Fmt
* Update node runtime metadata to substrate c000780db
* Download latest substrate release for integration testing
* Fix event decoding
* Remove unused imports
* Fix plain storage access, total_issuance pass
* Fmt
* Restore contracts tests
* Backoff connecting to substrate node
* Add required TypeInfo impls for local SignedExtension impls
* Remove unnecessary assert formatting
* Fix handling of DispatchError
* Refactor contracts tests
* Troubleshooting contract not found
* Remove more client feature stuff
* Fix dynamic event variant decoding, write consumed index to output
* Fmt
* Use substrate branch with heavy dependency removed
* Remove sp-rcp dependency, define types locally
* Ignore cargo timeing files
* Use my branch for substrate test deps
* Fix storage key type gen
* Comment out fetching contract info
* Add key iteration, extract storage client from main client
* Debugging key generation
* Use substrate master branch
* Fix call test
* Remove TypeSegmenter and dynclone dependency
* Publicly expose Rpc mod
* Unused import warnings
* Add getter for runtime metadata
* Add pallet and event indices for raw events
* Add is_call and is_event convenience trait functions
* Add missing docs
* Refactor tests crate
* Restore remaining client tests
* Fmt
* Fix warnings
* Restore get_mod as test helper and fmt
* Use client references for api calls
* Fix api usages with methods
* Use Bytes for RawEvent debug
* Update metadata
* Restoring some Balances tests
* Populate runtime storage metadata
* Restore balances lock test
* Restore Balances error test
* Fmt
* Restore transfer subscription API
* Staking test
* Restore another staking test
* Restore another staking test
* Restore another staking test
* Partially restore chill_works_for_controller_only staking test
* Fix fetching Optional storage entries
* Restore staking bond test
* Restore remaining staking tests
* Fmt
* Restore sudo tests
* Add some system tests
* Fmt
* Resolve some todos
* Remove pass through rpc methods on Client, expose via rpc() getter
* Remove more rpc pass through methods
* Remove submit tx pass through rpc methods
* Add some comments to SubmittableExtrinsic methods
* Construct the runtime api from the client
* Fmt
* Use From trait instead of new for AccountData query
* Rename subxt_proc_macro crate to subxt_macro
* Fix AccountData From impl
* Extract codegen crate from macro crate
* Fmt
* Replace chameleon hidden field name
* Extract StructDef for generating structs
* More refactoring of StructDef, moving towards sharing with typegen
* Replace explicit tests crate with single implicit integration tests crate
* Rename from substrate-subxt to subxt
* Fix runtime path relative to root Cargo.toml
* Move RpcClient creation to RpcClient
* WIP get examples to compile
* Rename Runtime to Config trait
* WIP implementing default Config
* WIP implementing default extrinsic extras
* fix metadata constants (#299)
* Move DefaultConfig definition and impl to macro
* Extract type substitute parsing to ir mod
* Extract calls, events and storage from api generation
* Add some hardcoded type substitute defaults
* Fmt
* Add utility pallet tests (#300)
* add batch call test example
* add pallet utility tests
* add utility module
* fix warnings
* Add polkadot runtime metadata for example
* Fix system errors and fmt
* Add subxt-cli crate
* Add metadata and codegen subcommands
* Make subxt-cli codegen command work
* Fmt
* Add polkadot codegen test
* Comment about how to run codegen
* Derive AsCompact for structs with single concrete unsigned int field
* Fix bitvec codegen, adds as non optional dependency
* Regenerate polkadot api with bitvec fix
* Edition 2021
* Fix polkadot codegen with bitvec
* Polkadot balance transfer is working
* Fix fetch remote
* Fix transfer_subscribe example
* Fix submit_and_watch example
* Fmt
* Generate storage iter method for iterating over keys
* Fmt
* Fix existential deposit test
* Fix staking tests
* Add option for custom generated type derives
* Add generated type derives for test runtime api
* Fmt
* Copy WrapperTypeOpaque from substrate, add Encode/Decode
* Fmt
* Extract type generator to module, separate & fix tests
* Fully qualified primitive and prelude types
* Fix up remaining type gen tests
* Skip formatting of generated polkadot example code
* Remove empty utility test file.
* Newline
* Update cli/src/main.rs
Co-authored-by: David <dvdplm@gmail.com>
* Rename subxt-cli executable to subxt
* Update src/client.rs
Co-authored-by: David <dvdplm@gmail.com>
* Add some code docs to TypeGenerator.
* Extract TypePath to own file
* Extract type def generation to separate file
* Renamed ModuleType to TypeDefGen
* Fmt
* Factor out type parameter from final_key
* Fix some type paths
* Resolve some todos
* Resolve some panic todos in events
* Add EventsDecodingError
* Decode compact composite types with a single primitive field
* Decode compact composite types with a single primitive field
* Update src/metadata.rs
Co-authored-by: Andrew Plaza <aplaza@liquidthink.net>
* Remove Perbill compact substitute types
* Remove todos regarding maintaining Rust code items, promoted to follow up issue.
* Remove todo regarding overridding default config impl
* Remove todo regarding overridding default Extra
* Remove todo regarding AccountData storage type defintion
* Remove todo regarding borrowing storage key arguments
* Remove type substitution tests todo
* Remove `Box` field name type hack todo
* Remove Compact todo
* Remove sudo todos
* Remove BitVec implementation todo
* Fmt
* Add health warning to README
* Fix up health warning
Co-authored-by: Paulo Martins <paulormart@users.noreply.github.com>
Co-authored-by: David <dvdplm@gmail.com>
Co-authored-by: Andrew Plaza <aplaza@liquidthink.net>