* integrate scale-typegen, remove types mod
* reintroduce default substitutes and derives
* support runtime_types only again
* generating polkadot.rs ok
* update scale-typegen to discrete error types
* scale-typegen-api-changes
* add note about UncheckedExtrinsic in default substitutes
* add resursive attributes and derives
* adjust example where Clone bound recursive
* move scale-typegen dependency to workspace
* expose default typegen settings
* lightclient: Fix wasm socket closure called after being dropped (#1289)
* lightclient: Close wasm socket while dropping from connecting state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct one time only closures
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Enable console logs for lightclient WASM testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Separate wakes and check connectivity on poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket depending on internal state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "lightclient: Separate wakes and check connectivity on poll_read"
This reverts commit 866094001d4c0b119a80ed681a74b323f74eae1b.
* lightclient: Return pending if socket is opening from poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket on `poll_close`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reset closures on Drop to avoid recursive invokation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket if not already closing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* workflows: Install rustup component for building substrate (#1295)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Command to fetch chainSpec and optimise its size (#1278)
* cli: Add chainSpec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/chainSpec: Move to dedicated module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Compute the state root hash
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove code substitutes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update polkadot.json
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Generate the chain spec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove testing artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Apply rustfmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Introduce feature flag for smoldot dependency
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Rename chain-spec to chain-spec-pruning
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Update chain-spec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* remove comments and unused args
* Update substrate- and signer-related dependencies (#1297)
* update crypto dependencies, adjust keypair
* add scale_info::TypeInfo derive in some places
* add multi signature derive
* fix lock file
* fix lock file again :|
* adjust to new interface in scale-typegen
* use released scale typegen
* reintroduce type aliases
* introduce type aliases again using scale-typegen
* cargo fmt and clippy
* reconcile changes with master branch
* update polkadot.rs
* bump scale-typgen to fix substitution
* subxt macro, helpful error messages
* adjust ui tests
* fix lock file
* format
* Update macro/src/lib.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* incorperate nits
* update Cargo.lock to avoid compatibility issues
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* integrate scale-typegen, remove types mod
* reintroduce default substitutes and derives
* support runtime_types only again
* generating polkadot.rs ok
* update scale-typegen to discrete error types
* scale-typegen-api-changes
* add note about UncheckedExtrinsic in default substitutes
* add resursive attributes and derives
* adjust example where Clone bound recursive
* move scale-typegen dependency to workspace
* expose default typegen settings
* lightclient: Fix wasm socket closure called after being dropped (#1289)
* lightclient: Close wasm socket while dropping from connecting state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct one time only closures
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Enable console logs for lightclient WASM testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Separate wakes and check connectivity on poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket depending on internal state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "lightclient: Separate wakes and check connectivity on poll_read"
This reverts commit 866094001d4c0b119a80ed681a74b323f74eae1b.
* lightclient: Return pending if socket is opening from poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket on `poll_close`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reset closures on Drop to avoid recursive invokation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket if not already closing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* workflows: Install rustup component for building substrate (#1295)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Command to fetch chainSpec and optimise its size (#1278)
* cli: Add chainSpec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/chainSpec: Move to dedicated module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Compute the state root hash
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove code substitutes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update polkadot.json
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Generate the chain spec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Remove testing artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Apply rustfmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Introduce feature flag for smoldot dependency
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli: Rename chain-spec to chain-spec-pruning
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Update chain-spec command
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* remove comments and unused args
* Update substrate- and signer-related dependencies (#1297)
* update crypto dependencies, adjust keypair
* add scale_info::TypeInfo derive in some places
* add multi signature derive
* fix lock file
* fix lock file again :|
* adjust to new interface in scale-typegen
* use released scale typegen
* reintroduce type aliases
* introduce type aliases again using scale-typegen
* cargo fmt and clippy
* reconcile changes with master branch
* update polkadot.rs
* bump scale-typgen to fix substitution
* implemented Alex suggestions, regenerated polkadot.rs (did not change)
* resolve conflicts in Cargo.lock
* make expect messages more clear
* correct typos
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* add insecure url checks
* rename variables
* add feature flags to expose Url properly
* fix test compile error
* fix feature errors
* remove comment
* add url crate and use it for url parsing
* fix compile errors
* satisfy the holy clippy
* fix typos and host loopback
* macro attribute, provide validation function in utils
* fix expected output of ui tests
* remove the success case for --allow-insecure because we cannot establish ws:// connection at the moment.
* codegen: Generate type alias for storage return types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate type alias for call function arguments
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update polkadot.rs code from commit 2e2a75ff81
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Type aliases for runtime API parameters
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Type alias for runtime apis output
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Change path of the aliased module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Adjust module indentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Do not alias for api::runtime_types with unresolved generics
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fix and document runtime API alias generation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update cargo.lock file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Generate composite structs with alias unnamed fields
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update polkadot.rs file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Alias storage unnamed parameters
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Change polkadot to rococo runtime
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fix compiling tests in the codegen crate
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Extend storage test with alias module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/tests: Adjust exepcted commands to the latest metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Remove missleading comment and docs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Ensure unique names for generated runtime API types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/tests: Test expected runtime type generation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/tests: Check duplicate params in runtime APIs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/tests: Test colliding names of type aliases and parameters
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Separate alias module from struct definition
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Remove outdated docs from composite def
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove unstable lints that cause compile warnings
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Switch to workspace lints
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Fix codec package at root level
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Move profiles to the root level
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix lightclient and metadata crates
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "cargo: Fix codec package at root level"
This reverts commit cdf9e1628d708a972673eb3a9e967b6896edbd73.
* Fix complexity clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Remove lints to be replaced by `cargo machete`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Remove unused dependencies (detected by machete)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Add machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Bump rust version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Rename machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Rename cargo machete step
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage/fix: Use partial key instead of root key for iter
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Allow partial key construction
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Allow less provided types than num of hashes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Error on more fields than types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Check partial key iteration
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Rename variable wrt partial address bytes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* storage: Identical storage key to root key if no keys are provided
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close wasm socket while dropping from connecting state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Construct one time only closures
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Enable console logs for lightclient WASM testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Separate wakes and check connectivity on poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket depending on internal state
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "lightclient: Separate wakes and check connectivity on poll_read"
This reverts commit 866094001d4c0b119a80ed681a74b323f74eae1b.
* lightclient: Return pending if socket is opening from poll_read
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket on `poll_close`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Reset closures on Drop to avoid recursive invokation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Close the socket if not already closing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* 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>
* 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
* config: Add `SkipCheckIfFeeless` signed extension
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Add extra extension to the default params
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Adjust signed extension example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Extend SkipCheckIfFeeless with inner signed extension
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Configure SkipCheck with inner signed extension params
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Implement Deafult for SkipCheckIfFeelessParams with Option
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Fix example with proper extension
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Extend <T as Config>::AssetId with EncodeAsType and Clone
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Add SkipCheck with AssetTx
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Encode as type from metadata the inner signed extensions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust examples
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* blocks: Use `SkipCheckIfFeeless` for decoding the tip of extensions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Decode `SkipCheckIfFeeless` with `Self`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* tests: Adjust testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Descriptive errors for building `SkipCheckIfFeeless`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Add docs for extra error types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add extra derives to signed extensions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* config: Use `Default::default` to simplify type init
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* skeleton commit
* signed extension decoding
* fix some minor things
* make api more similar to Extrinsics
* defer decoding of signed extensions
* fix byte slices
* add test for nonce signed extension
* adjust test and extend for tip
* clippy
* support both ChargeTransactionPayment and ChargeAssetTxPayment
* address PR comments
* Extend lifetimes, expose pub structs, remove as_type
* add signed extensions to block subscribing example
* add Decoded type
* fix merging bug and tests
* add decoded type in CustomSignedExtension
* fix minor issues, extend test
* cargo fmt differences
* remove the `decoded` function
* new as_signed_extra fn, do not expose as_type anymore
* fix Result-Option order, simplify obtaining Nonce
* tx: Remove `wait_for_in_block` helper method (#1237)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update smoldot to 0.12 (#1212)
* Update lightclient
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Fix typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Update cargo.toml
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add tracing logs to improve debugging
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add socket buffers module for `PlatformRef`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Update `SubxtPlatform`
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cargo: Add lightclient dependencies
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update cargo.lock of wasm tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Add constant for with-buffer module
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* lightclient: Replace rand crate with getrandom
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* example: Update cargo lock file
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* examples: Update deps
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Tadeo Hepperle <62739623+tadeohepperle@users.noreply.github.com>
* ChargeAssetTxPayment: support providing u32 or MultiLocation in default impl (#1227)
* Asset Id in Config trait
* add example configuring the config
* fmt
* fix Default trait bound
* merge examples, fix default again
* adjust config in examples
* Update subxt/src/config/mod.rs
Co-authored-by: James Wilson <james@jsdw.me>
---------
Co-authored-by: James Wilson <james@jsdw.me>
* generic AssetId
* fix generics
* fmt
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
* skeleton commit
* signed extension decoding
* fix some minor things
* make api more similar to Extrinsics
* defer decoding of signed extensions
* fix byte slices
* add test for nonce signed extension
* adjust test and extend for tip
* clippy
* support both ChargeTransactionPayment and ChargeAssetTxPayment
* address PR comments
* Extend lifetimes, expose pub structs, remove as_type
* add signed extensions to block subscribing example
* make example less ugly
---------
Co-authored-by: James Wilson <james@jsdw.me>
* 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
* 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
* add proper tests for custom values
* remove try operators
* use sustrate compat for import of hash
* add license and hex
* add script to artifacts.sh
* custom values with ids not in metadata can be accessed in static interface
* fmt and clippy
* access bytes of custom values directly, even if type id wrong
* final fixes
* removing substrate-compat flag from ui tests
* Update subxt/src/custom_values/custom_values_client.rs
Co-authored-by: James Wilson <james@jsdw.me>
* remove types access in type generator
* 2 extra lines
---------
Co-authored-by: James Wilson <james@jsdw.me>
* 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>
* work in progress
* add custom types access
* nit
* custom values client
* adjust light client
* adjust doc comments
* adjust book for custom values in code gen
* format and check docs
* work in progress
* add custom types access
* nit
* custom values client
* adjust light client
* codegen and validation
* adjust docs
* use ignore in docs in book
* change iter implementation
* use validation hash and other codegen changes
* add ui test for custom values codegen
* allow 'latest' metadata to be returned from the fallback code (#1127)
* nits
* fix validation check
* fix comments
* nits
---------
Co-authored-by: James Wilson <james@jsdw.me>
* 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
* refactor: support default port in URL
Update jsonrpsee to v0.20 to support the default port number in URLs.
* fix nit, revert web feature
* fix lightclient code
* 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
* codegen: Add uncheckedExtrinsic substitute
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Add uncheckedExtrinsic replacement
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Test uncheckedExtrinsic encoding
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Apply clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Implement encode_to instead of encode for uncheckedExtrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove encode_as_fields from uncheckedExtrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Extend the UncheckedExtrinsic interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Use Static<Encoded> for uncheckedExtrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Remove extra impl on the uncheckedExtrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Add back the EncodeAsType
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Simplify the decode_as_type
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Use encode_as_type
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: impl Decode for UncheckedExtrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/utils/unchecked_extrinsic.rs
Co-authored-by: James Wilson <james@jsdw.me>
* utils: Apply cargo fmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils: Check encoding / decoding of uncheckedExtrinsic
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* utils/tests: Use an already encoded tx bytes to start with
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
* Update frame-metadata to the latest branch
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Add outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Extend the extrinsic with address,call,sign,extra types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Codegen test Event, Error and Call for outer enums
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "Codegen test Event, Error and Call for outer enums"
This reverts commit db542dca0369eedd257a7ec031d5b5549bc46a88.
* Update frame-metadata from the latest release
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update scale-info
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen/error: Support v15 message
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Convert v14 to v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/retain: Adjust to extrinsic type for V15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Adjust hashing for extrinsic types V15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Fetch V15 and output codegen for full_client only
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/blocks: Use extrinsic types directly
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Fetch V15 for build script
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Generate from latest polkadot version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Fetch legacy with old API for v14 only
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* rpc: Fetch metadata versions
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* client: Fetch latest unstable then V15 then V14
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Adjust testing API to latest interface
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjust clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Generate the `RuntimeError` type for V14
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Remove testing files
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing/staking: Remove controller account from bond
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Use specific variants for hashing RuntimeCall
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* XXX: Custom Substrate binary: must revert with next release
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* XXX: To revert: CI use hardcoded substrate
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Use v15 outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Retain outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* codegen: Use outer enum types instead of generating them
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Revert "XXX: Custom Substrate binary: must revert with next release"
This reverts commit e9705298661919f5769720b35030759fb8a7b01d.
Revert "XXX: To revert: CI use hardcoded substrate"
This reverts commit b18a5a0985a56ee4ad99bc9a1c0f9cd733cf4271.
* testing: Include env for dummy wat contracts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Adjsut clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Use new link for fetching latest substrate binary
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* tests: Include dummy RuntimeEvent into test metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* ci: Bump light-client timeout tests to 25min
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Use specific pallets as provided
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* testing: Rename metadata constant
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Use call_ty instead of signature_ty
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Rename retaining variant function
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Use Option<&[&str]>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* online_client: Fetch V15 metadata explicitely
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Include the hash of the outer enum types
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Fix sign typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update the artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Remove RootError RootEvent and RootExtrinsic traits
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update polkadot.rs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/tests: Ensure outer enum variants are retained
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* scripts: Include multiple pallets for our decoding purposes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Apply clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* artifacts: Update small metadata
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* error: Keep raw bytes for the ModuleError representation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* error: Modify docs to not include links
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt/tests: Propagate `RuntimeCall` to outer enums
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* subxt: Provide proper byte slice for decoding
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update artifacts
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* cli/tests: Adjust expected pallets message
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Test conversion from v14 to v15
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata: Fix typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Update subxt/src/blocks/extrinsic_types.rs
Co-authored-by: James Wilson <james@jsdw.me>
* metadata: Simplify type path for RuntimeError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* metadata/validation: Use visited ids per outer enum
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* error: Remove RawModuleError
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
* Fix new clippy error from updated rust version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
* 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
* modify code gen
* cargo fmt
* fix return
* move the runtime_apis static
* small layout change
* tidy up metadata UI testing and test validation function too
* fix validation tests to point to metadata
* update codegen
* fix clippy and tests
* tweak a comment
* rename validate_codegen => is_codegen_valid_for
---------
Co-authored-by: James Wilson <james@jsdw.me>
* 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()