Files
pezkuwi-subxt/substrate/client/service/Cargo.toml
T
Alexandru Vasile 5f18aaadcd rpc: Implement transaction RPC API (#12328)
* rpc/tx: Add transaction structures for serialization

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Add public facing `TransactionEvent`

To circumvent the fact that serde does not allow mixing
`#[serde(tag = "event")]` with
`#[serde(tag = "event", content = "block")]`
the public facing subscription structure is serialized
and deserialized to an intermmediate representation.

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Add trait for the `transaction` API

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Convert RPC errors to transaction events

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Implement `transaction` RPC methods

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tx-pool: Propagate tx index to events

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tx-pool: Adjust testing to reflect tx index in events

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Convert tx-pool events for the new RPC spec

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Convert tx-pool `FinalityTimeout` event to `Dropped`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* service: Enable the `transaction` API

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Add tests for tx event encoding and decoding

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tx: Add indentation for subscriptions

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Fix documentation

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Serialize usize to hex

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tx-pool: Rename closure parameters

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* service: Separate RPC spec versions

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Use `H256` for testing block's hash

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Serialize numbers as string

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tx-pool: Backward compatibility with RPC v1

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update client/rpc-spec-v2/src/transaction/transaction.rs

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>

* rpc/tx: Remove comment about serde clone

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* rpc/tx: Use RPC custom error code for invalid tx format

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update client/rpc-spec-v2/src/transaction/event.rs

Co-authored-by: James Wilson <james@jsdw.me>

* rpc/tx: Adjust internal structures for serialization/deserialization

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
Co-authored-by: James Wilson <james@jsdw.me>
2022-10-11 08:49:12 +00:00

97 lines
4.9 KiB
TOML

[package]
name = "sc-service"
version = "0.10.0-dev"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
homepage = "https://substrate.io"
repository = "https://github.com/paritytech/substrate/"
description = "Substrate service. Starts a thread that spins up the network, client, and extrinsic pool. Manages communication between them."
readme = "README.md"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[features]
default = ["rocksdb"]
# The RocksDB feature activates the RocksDB database backend. If it is not activated, and you pass
# a path to a database, an error will be produced at runtime.
rocksdb = ["sc-client-db/rocksdb"]
wasmtime = ["sc-executor/wasmtime"]
# exposes the client type
test-helpers = []
runtime-benchmarks = ["sc-client-db/runtime-benchmarks"]
[dependencies]
jsonrpsee = { version = "0.15.1", features = ["server"] }
thiserror = "1.0.30"
futures = "0.3.21"
rand = "0.7.3"
parking_lot = "0.12.1"
log = "0.4.17"
futures-timer = "3.0.1"
exit-future = "0.2.0"
pin-project = "1.0.12"
hash-db = "0.15.2"
serde = "1.0.136"
serde_json = "1.0.85"
sc-keystore = { version = "4.0.0-dev", path = "../keystore" }
sp-runtime = { version = "6.0.0", path = "../../primitives/runtime" }
sp-trie = { version = "6.0.0", path = "../../primitives/trie" }
sp-externalities = { version = "0.12.0", path = "../../primitives/externalities" }
sc-utils = { version = "4.0.0-dev", path = "../utils" }
sp-version = { version = "5.0.0", path = "../../primitives/version" }
sp-blockchain = { version = "4.0.0-dev", path = "../../primitives/blockchain" }
sp-core = { version = "6.0.0", path = "../../primitives/core" }
sp-keystore = { version = "0.12.0", path = "../../primitives/keystore" }
sp-session = { version = "4.0.0-dev", path = "../../primitives/session" }
sp-state-machine = { version = "0.12.0", path = "../../primitives/state-machine" }
sp-application-crypto = { version = "6.0.0", path = "../../primitives/application-crypto" }
sp-consensus = { version = "0.10.0-dev", path = "../../primitives/consensus/common" }
sc-consensus = { version = "0.10.0-dev", path = "../../client/consensus/common" }
sp-inherents = { version = "4.0.0-dev", path = "../../primitives/inherents" }
sp-storage = { version = "6.0.0", path = "../../primitives/storage" }
sc-network = { version = "0.10.0-dev", path = "../network" }
sc-network-bitswap = { version = "0.10.0-dev", path = "../network/bitswap" }
sc-network-common = { version = "0.10.0-dev", path = "../network/common" }
sc-network-light = { version = "0.10.0-dev", path = "../network/light" }
sc-network-sync = { version = "0.10.0-dev", path = "../network/sync" }
sc-network-transactions = { version = "0.10.0-dev", path = "../network/transactions" }
sc-chain-spec = { version = "4.0.0-dev", path = "../chain-spec" }
sc-client-api = { version = "4.0.0-dev", path = "../api" }
sp-api = { version = "4.0.0-dev", path = "../../primitives/api" }
sc-client-db = { version = "0.10.0-dev", default-features = false, path = "../db" }
codec = { package = "parity-scale-codec", version = "3.0.0" }
sc-executor = { version = "0.10.0-dev", path = "../executor" }
sc-transaction-pool = { version = "4.0.0-dev", path = "../transaction-pool" }
sp-transaction-pool = { version = "4.0.0-dev", path = "../../primitives/transaction-pool" }
sc-transaction-pool-api = { version = "4.0.0-dev", path = "../transaction-pool/api" }
sp-transaction-storage-proof = { version = "4.0.0-dev", path = "../../primitives/transaction-storage-proof" }
sc-rpc-server = { version = "4.0.0-dev", path = "../rpc-servers" }
sc-rpc = { version = "4.0.0-dev", path = "../rpc" }
sc-rpc-spec-v2 = { version = "0.10.0-dev", path = "../rpc-spec-v2" }
sc-block-builder = { version = "0.10.0-dev", path = "../block-builder" }
sp-block-builder = { version = "4.0.0-dev", path = "../../primitives/block-builder" }
sc-informant = { version = "0.10.0-dev", path = "../informant" }
sc-telemetry = { version = "4.0.0-dev", path = "../telemetry" }
sc-offchain = { version = "4.0.0-dev", path = "../offchain" }
prometheus-endpoint = { package = "substrate-prometheus-endpoint", path = "../../utils/prometheus", version = "0.10.0-dev" }
sc-tracing = { version = "4.0.0-dev", path = "../tracing" }
sp-tracing = { version = "5.0.0", path = "../../primitives/tracing" }
sc-sysinfo = { version = "6.0.0-dev", path = "../sysinfo" }
tracing = "0.1.29"
tracing-futures = { version = "0.2.4" }
parity-util-mem = { version = "0.12.0", default-features = false, features = [
"primitive-types",
] }
async-trait = "0.1.57"
tokio = { version = "1.17.0", features = ["time", "rt-multi-thread", "parking_lot"] }
tempfile = "3.1.0"
directories = "4.0.1"
static_init = "1.0.3"
[dev-dependencies]
substrate-test-runtime-client = { version = "2.0.0", path = "../../test-utils/runtime/client" }
substrate-test-runtime = { version = "2.0.0", path = "../../test-utils/runtime/" }
async-std = { version = "1.11.0", default-features = false }