Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2c2dd9f
Replace explicit tests crate with single implicit integration tests c…
ascjones Oct 12, 2021
7d9884d
Rename from substrate-subxt to subxt
ascjones Oct 13, 2021
cc0212d
Fix runtime path relative to root Cargo.toml
ascjones Oct 13, 2021
ea4666f
Move RpcClient creation to RpcClient
ascjones Oct 13, 2021
851f612
WIP get examples to compile
ascjones Oct 13, 2021
69e6ed6
Rename Runtime to Config trait
ascjones Oct 13, 2021
a30f9f8
WIP implementing default Config
ascjones Oct 14, 2021
d5bec8c
WIP implementing default extrinsic extras
ascjones Oct 15, 2021
a672dc4
Move DefaultConfig definition and impl to macro
ascjones Oct 15, 2021
518c028
Extract type substitute parsing to ir mod
ascjones Oct 15, 2021
699ce18
Extract calls, events and storage from api generation
ascjones Oct 18, 2021
021c186
Add some hardcoded type substitute defaults
ascjones Oct 18, 2021
99a83c7
Fmt
ascjones Oct 18, 2021
27c5b92
Add utility pallet tests (#300)
paulormart Oct 18, 2021
4df1313
Add polkadot runtime metadata for example
ascjones Oct 18, 2021
da5bb8d
Merge branch 'aj-metadata-vnext' of github.com:paritytech/substrate-s…
ascjones Oct 18, 2021
c2e7ab7
Fix system errors and fmt
ascjones Oct 18, 2021
8108f00
Add subxt-cli crate
ascjones Oct 18, 2021
fd18fcd
Add metadata and codegen subcommands
ascjones Oct 19, 2021
643c8f8
Make subxt-cli codegen command work
ascjones Oct 19, 2021
77ae552
Fmt
ascjones Oct 19, 2021
a0447ff
Add polkadot codegen test
ascjones Oct 19, 2021
562b593
Comment about how to run codegen
ascjones Oct 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 67 additions & 67 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,105 +9,105 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [0.15.0] - 2021-03-15

### Added
- implement variant of subscription that returns finalized storage changes - [#237](https://github.com/paritytech/substrate-subxt/pull/237)
- implement session handling for unsubscribe in subxt-client - [#242](https://github.com/paritytech/substrate-subxt/pull/242)
- implement variant of subscription that returns finalized storage changes - [#237](https://github.com/paritytech/subxt/pull/237)
- implement session handling for unsubscribe in subxt-client - [#242](https://github.com/paritytech/subxt/pull/242)

### Changed
- update jsonrpsee [#251](https://github.com/paritytech/substrate-subxt/pull/251)
- return none if subscription returns early [#250](https://github.com/paritytech/substrate-subxt/pull/250)
- export ModuleError and RuntimeError for downstream usage - [#246](https://github.com/paritytech/substrate-subxt/pull/246)
- rpc client methods should be public for downstream usage - [#240](https://github.com/paritytech/substrate-subxt/pull/240)
- re-export WasmExecutionMethod for downstream usage - [#239](https://github.com/paritytech/substrate-subxt/pull/239)
- integration with jsonrpsee v2 - [#214](https://github.com/paritytech/substrate-subxt/pull/214)
- expose wasm execution method on subxt client config - [#230](https://github.com/paritytech/substrate-subxt/pull/230)
- Add hooks to register event types for decoding - [#227](https://github.com/paritytech/substrate-subxt/pull/227)
- Substrate 3.0 - [#232](https://github.com/paritytech/substrate-subxt/pull/232)
- update jsonrpsee [#251](https://github.com/paritytech/subxt/pull/251)
- return none if subscription returns early [#250](https://github.com/paritytech/subxt/pull/250)
- export ModuleError and RuntimeError for downstream usage - [#246](https://github.com/paritytech/subxt/pull/246)
- rpc client methods should be public for downstream usage - [#240](https://github.com/paritytech/subxt/pull/240)
- re-export WasmExecutionMethod for downstream usage - [#239](https://github.com/paritytech/subxt/pull/239)
- integration with jsonrpsee v2 - [#214](https://github.com/paritytech/subxt/pull/214)
- expose wasm execution method on subxt client config - [#230](https://github.com/paritytech/subxt/pull/230)
- Add hooks to register event types for decoding - [#227](https://github.com/paritytech/subxt/pull/227)
- Substrate 3.0 - [#232](https://github.com/paritytech/subxt/pull/232)

## [0.14.0] - 2021-02-05

- Refactor event type decoding and declaration [#221](https://github.com/paritytech/substrate-subxt/pull/221)
- Add Balances Locks [#197](https://github.com/paritytech/substrate-subxt/pull/197)
- Add event Phase::Initialization [#215](https://github.com/paritytech/substrate-subxt/pull/215)
- Make type explicit [#217](https://github.com/paritytech/substrate-subxt/pull/217)
- Upgrade dependencies, bumps substrate to 2.0.1 [#219](https://github.com/paritytech/substrate-subxt/pull/219)
- Export extra types [#212](https://github.com/paritytech/substrate-subxt/pull/212)
- Enable retrieval of constants from rutnime metadata [#207](https://github.com/paritytech/substrate-subxt/pull/207)
- register type sizes for u64 and u128 [#200](https://github.com/paritytech/substrate-subxt/pull/200)
- Remove some substrate dependencies to improve compile time [#194](https://github.com/paritytech/substrate-subxt/pull/194)
- propagate 'RuntimeError's to 'decode_raw_bytes' caller [#189](https://github.com/paritytech/substrate-subxt/pull/189)
- Derive `Clone` for `PairSigner` [#184](https://github.com/paritytech/substrate-subxt/pull/184)
- Refactor event type decoding and declaration [#221](https://github.com/paritytech/subxt/pull/221)
- Add Balances Locks [#197](https://github.com/paritytech/subxt/pull/197)
- Add event Phase::Initialization [#215](https://github.com/paritytech/subxt/pull/215)
- Make type explicit [#217](https://github.com/paritytech/subxt/pull/217)
- Upgrade dependencies, bumps substrate to 2.0.1 [#219](https://github.com/paritytech/subxt/pull/219)
- Export extra types [#212](https://github.com/paritytech/subxt/pull/212)
- Enable retrieval of constants from rutnime metadata [#207](https://github.com/paritytech/subxt/pull/207)
- register type sizes for u64 and u128 [#200](https://github.com/paritytech/subxt/pull/200)
- Remove some substrate dependencies to improve compile time [#194](https://github.com/paritytech/subxt/pull/194)
- propagate 'RuntimeError's to 'decode_raw_bytes' caller [#189](https://github.com/paritytech/subxt/pull/189)
- Derive `Clone` for `PairSigner` [#184](https://github.com/paritytech/subxt/pull/184)

## [0.13.0]

- Make the contract call extrinsic work [#165](https://github.com/paritytech/substrate-subxt/pull/165)
- Update to Substrate 2.0.0 [#173](https://github.com/paritytech/substrate-subxt/pull/173)
- Display RawEvent data in hex [#168](https://github.com/paritytech/substrate-subxt/pull/168)
- Add SudoUncheckedWeightCall [#167](https://github.com/paritytech/substrate-subxt/pull/167)
- Add Add SetCodeWithoutChecksCall [#166](https://github.com/paritytech/substrate-subxt/pull/166)
- Improve contracts pallet tests [#163](https://github.com/paritytech/substrate-subxt/pull/163)
- Make Metadata types public [#162](https://github.com/paritytech/substrate-subxt/pull/162)
- Fix option decoding and add basic sanity test [#161](https://github.com/paritytech/substrate-subxt/pull/161)
- Add staking support [#160](https://github.com/paritytech/substrate-subxt/pull/161)
- Decode option event arg [#158](https://github.com/paritytech/substrate-subxt/pull/158)
- Remove unnecessary Sync bound [#172](https://github.com/paritytech/substrate-subxt/pull/172)
- Make the contract call extrinsic work [#165](https://github.com/paritytech/subxt/pull/165)
- Update to Substrate 2.0.0 [#173](https://github.com/paritytech/subxt/pull/173)
- Display RawEvent data in hex [#168](https://github.com/paritytech/subxt/pull/168)
- Add SudoUncheckedWeightCall [#167](https://github.com/paritytech/subxt/pull/167)
- Add Add SetCodeWithoutChecksCall [#166](https://github.com/paritytech/subxt/pull/166)
- Improve contracts pallet tests [#163](https://github.com/paritytech/subxt/pull/163)
- Make Metadata types public [#162](https://github.com/paritytech/subxt/pull/162)
- Fix option decoding and add basic sanity test [#161](https://github.com/paritytech/subxt/pull/161)
- Add staking support [#160](https://github.com/paritytech/subxt/pull/161)
- Decode option event arg [#158](https://github.com/paritytech/subxt/pull/158)
- Remove unnecessary Sync bound [#172](https://github.com/paritytech/subxt/pull/172)

## [0.12.0]

- Only return an error if the extrinsic failed. [#156](https://github.com/paritytech/substrate-subxt/pull/156)
- Update to rc6. [#155](https://github.com/paritytech/substrate-subxt/pull/155)
- Different assert. [#153](https://github.com/paritytech/substrate-subxt/pull/153)
- Add a method to fetch an unhashed key, close #100 [#152](https://github.com/paritytech/substrate-subxt/pull/152)
- Fix port number. [#151](https://github.com/paritytech/substrate-subxt/pull/151)
- Implement the `concat` in `twox_64_concat` [#150](https://github.com/paritytech/substrate-subxt/pull/150)
- Storage map iter [#148](https://github.com/paritytech/substrate-subxt/pull/148)
- Only return an error if the extrinsic failed. [#156](https://github.com/paritytech/subxt/pull/156)
- Update to rc6. [#155](https://github.com/paritytech/subxt/pull/155)
- Different assert. [#153](https://github.com/paritytech/subxt/pull/153)
- Add a method to fetch an unhashed key, close #100 [#152](https://github.com/paritytech/subxt/pull/152)
- Fix port number. [#151](https://github.com/paritytech/subxt/pull/151)
- Implement the `concat` in `twox_64_concat` [#150](https://github.com/paritytech/subxt/pull/150)
- Storage map iter [#148](https://github.com/paritytech/subxt/pull/148)

## [0.11.0]

- Fix build error, wabt 0.9.2 is yanked [#146](https://github.com/paritytech/substrate-subxt/pull/146)
- Rc5 [#143](https://github.com/paritytech/substrate-subxt/pull/143)
- Refactor: extract functions and types for creating extrinsics [#138](https://github.com/paritytech/substrate-subxt/pull/138)
- event subscription example [#140](https://github.com/paritytech/substrate-subxt/pull/140)
- Document the `Call` derive macro [#137](https://github.com/paritytech/substrate-subxt/pull/137)
- Document the #[module] macro [#135](https://github.com/paritytech/substrate-subxt/pull/135)
- Support authors api. [#134](https://github.com/paritytech/substrate-subxt/pull/134)
- Fix build error, wabt 0.9.2 is yanked [#146](https://github.com/paritytech/subxt/pull/146)
- Rc5 [#143](https://github.com/paritytech/subxt/pull/143)
- Refactor: extract functions and types for creating extrinsics [#138](https://github.com/paritytech/subxt/pull/138)
- event subscription example [#140](https://github.com/paritytech/subxt/pull/140)
- Document the `Call` derive macro [#137](https://github.com/paritytech/subxt/pull/137)
- Document the #[module] macro [#135](https://github.com/paritytech/subxt/pull/135)
- Support authors api. [#134](https://github.com/paritytech/subxt/pull/134)

## [0.10.1] - 2020-06-19

- Release client v0.2.0 [#133](https://github.com/paritytech/substrate-subxt/pull/133)
- Release client v0.2.0 [#133](https://github.com/paritytech/subxt/pull/133)

## [0.10.0] - 2020-06-19

- Upgrade to substrate rc4 release [#131](https://github.com/paritytech/substrate-subxt/pull/131)
- Support unsigned extrinsics. [#130](https://github.com/paritytech/substrate-subxt/pull/130)
- Upgrade to substrate rc4 release [#131](https://github.com/paritytech/subxt/pull/131)
- Support unsigned extrinsics. [#130](https://github.com/paritytech/subxt/pull/130)

## [0.9.0] - 2020-06-25

- Events sub [#126](https://github.com/paritytech/substrate-subxt/pull/126)
- Improve error handling in proc-macros, handle DispatchError etc. [#123](https://github.com/paritytech/substrate-subxt/pull/123)
- Support embedded full/light node clients. [#91](https://github.com/paritytech/substrate-subxt/pull/91)
- Zero sized types [#121](https://github.com/paritytech/substrate-subxt/pull/121)
- Fix optional store items. [#120](https://github.com/paritytech/substrate-subxt/pull/120)
- Make signing fallable and asynchronous [#119](https://github.com/paritytech/substrate-subxt/pull/119)
- Events sub [#126](https://github.com/paritytech/subxt/pull/126)
- Improve error handling in proc-macros, handle DispatchError etc. [#123](https://github.com/paritytech/subxt/pull/123)
- Support embedded full/light node clients. [#91](https://github.com/paritytech/subxt/pull/91)
- Zero sized types [#121](https://github.com/paritytech/subxt/pull/121)
- Fix optional store items. [#120](https://github.com/paritytech/subxt/pull/120)
- Make signing fallable and asynchronous [#119](https://github.com/paritytech/subxt/pull/119)

## [0.8.0] - 2020-05-26

- Update to Substrate release candidate [#116](https://github.com/paritytech/substrate-subxt/pull/116)
- Update to alpha.8 [#114](https://github.com/paritytech/substrate-subxt/pull/114)
- Refactors the api [#113](https://github.com/paritytech/substrate-subxt/pull/113)
- Update to Substrate release candidate [#116](https://github.com/paritytech/subxt/pull/116)
- Update to alpha.8 [#114](https://github.com/paritytech/subxt/pull/114)
- Refactors the api [#113](https://github.com/paritytech/subxt/pull/113)

## [0.7.0] - 2020-05-13

- Split subxt [#102](https://github.com/paritytech/substrate-subxt/pull/102)
- Add support for RPC `state_getReadProof` [#106](https://github.com/paritytech/substrate-subxt/pull/106)
- Update to substrate alpha.7 release [#105](https://github.com/paritytech/substrate-subxt/pull/105)
- Double map and plain storage support, introduce macros [#93](https://github.com/paritytech/substrate-subxt/pull/93)
- Raw payload return SignedPayload struct [#92](https://github.com/paritytech/substrate-subxt/pull/92)
- Split subxt [#102](https://github.com/paritytech/subxt/pull/102)
- Add support for RPC `state_getReadProof` [#106](https://github.com/paritytech/subxt/pull/106)
- Update to substrate alpha.7 release [#105](https://github.com/paritytech/subxt/pull/105)
- Double map and plain storage support, introduce macros [#93](https://github.com/paritytech/subxt/pull/93)
- Raw payload return SignedPayload struct [#92](https://github.com/paritytech/subxt/pull/92)

## [0.6.0] - 2020-04-15

- Raw extrinsic payloads in Client [#83](https://github.com/paritytech/substrate-subxt/pull/83)
- Custom extras [#89](https://github.com/paritytech/substrate-subxt/pull/89)
- Wrap and export BlockNumber [#87](https://github.com/paritytech/substrate-subxt/pull/87)
- Raw extrinsic payloads in Client [#83](https://github.com/paritytech/subxt/pull/83)
- Custom extras [#89](https://github.com/paritytech/subxt/pull/89)
- Wrap and export BlockNumber [#87](https://github.com/paritytech/subxt/pull/87)
- All substrate dependencies upgraded to `alpha.6`

## [0.5.0] - 2020-03-25
Expand Down
22 changes: 17 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
[workspace]
members = [".", "codegen", "macro", "tests"]
members = [".", "cli", "codegen", "macro"]

[package]
name = "substrate-subxt"
name = "subxt"
version = "0.15.0"
authors = ["Parity Technologies <[email protected]>"]
edition = "2018"

license = "GPL-3.0"
readme = "README.md"
repository = "https://github.com/paritytech/substrate-subxt"
documentation = "https://docs.rs/substrate-subxt"
repository = "https://github.com/paritytech/subxt"
documentation = "https://docs.rs/subxt"
homepage = "https://www.parity.io/"
description = "Submit extrinsics (transactions) to a substrate node via RPC"
keywords = ["parity", "substrate", "blockchain"]
Expand Down Expand Up @@ -42,8 +42,20 @@ url = "2.2.1"

subxt-macro = { version = "0.1.0", path = "macro" }

sp-arithmetic = { package = "sp-arithmetic", git = "https://github.com/paritytech/substrate/", branch = "master" }
sp-core = { package = "sp-core", git = "https://github.com/paritytech/substrate/", branch = "master" }
sp-runtime = { package = "sp-runtime", git = "https://github.com/paritytech/substrate/", branch = "master" }
sp-version = { package = "sp-version", git = "https://github.com/paritytech/substrate/", branch = "master" }

frame-metadata = "14.0.0"
frame-metadata = "14.0.0"

[dev-dependencies]
assert_matches = "1.5.0"
async-std = { version = "1.9.0", features = ["attributes", "tokio1"] }
env_logger = "0.8.3"
tempdir = "0.3.7"
wabt = "0.10.0"
which = "4.0.2"

sp-keyring = { package = "sp-keyring", git = "https://github.com/paritytech/substrate/", branch = "master" }

4 changes: 2 additions & 2 deletions FILE_TEMPLATE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Copyright 2019-2021 Parity Technologies (UK) Ltd.
// This file is part of substrate-subxt.
// This file is part of subxt.
//
// subxt is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
Expand All @@ -12,4 +12,4 @@
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with substrate-subxt. If not, see <http://www.gnu.org/licenses/>.
// along with subxt. If not, see <http://www.gnu.org/licenses/>.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# subxt &middot; ![build](https://github.com/paritytech/substrate-subxt/workflows/Rust/badge.svg) [![Latest Version](https://img.shields.io/crates/v/substrate-subxt.svg)](https://crates.io/crates/substrate-subxt) [![Documentation](https://docs.rs/substrate-subxt/badge.svg)](https://docs.rs/substrate-subxt)
# subxt &middot; ![build](https://github.com/paritytech/subxt/workflows/Rust/badge.svg) [![Latest Version](https://img.shields.io/crates/v/subxt.svg)](https://crates.io/crates/subxt) [![Documentation](https://docs.rs/subxt/badge.svg)](https://docs.rs/subxt)

A library to **sub**mit e**xt**rinsics to a [substrate](https://github.com/paritytech/substrate) node via RPC.

Expand Down
28 changes: 28 additions & 0 deletions cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[package]
name = "subxt-cli"
version = "0.1.0"
edition = "2018"

[dependencies]
# perform subxt codegen
subxt-codegen = { version = "0.1.0", path = "../codegen" }
# parse command line args
structopt = "0.3.25"
# make the request to a substrate node to get the metadata
ureq = { version = "2.2.0", features = ["json"] }
# colourful error reports
color-eyre = "0.5.11"
# serialize the metadata
serde = { version = "1.0.130", features = ["derive"] }
# serialize as json
serde_json = "1.0.68"
# hex encoded metadata to bytes
hex = "0.4.3"
# actual metadata types
frame-metadata = { version = "14.0.0", features = ["v14", "std"] }
# decode bytes into the metadata types
scale = { package = "parity-scale-codec", version = "2.3.0", default-features = false }
# handle urls to communicate with substrate nodes
url = { version = "2.2.2", features = ["serde"] }
# generate the item mod for codegen
syn = "1.0.80"
Loading