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>
Showing
- substrate/Cargo.lock 11 additions, 0 deletionssubstrate/Cargo.lock
- substrate/client/rpc-spec-v2/Cargo.toml 10 additions, 0 deletionssubstrate/client/rpc-spec-v2/Cargo.toml
- substrate/client/rpc-spec-v2/src/lib.rs 4 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/lib.rs
- substrate/client/rpc-spec-v2/src/transaction/api.rs 37 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/transaction/api.rs
- substrate/client/rpc-spec-v2/src/transaction/error.rs 100 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/transaction/error.rs
- substrate/client/rpc-spec-v2/src/transaction/event.rs 353 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/transaction/event.rs
- substrate/client/rpc-spec-v2/src/transaction/mod.rs 38 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/transaction/mod.rs
- substrate/client/rpc-spec-v2/src/transaction/transaction.rs 208 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/transaction/transaction.rs
- substrate/client/service/Cargo.toml 1 addition, 0 deletionssubstrate/client/service/Cargo.toml
- substrate/client/service/src/builder.rs 12 additions, 0 deletionssubstrate/client/service/src/builder.rs
- substrate/client/transaction-pool/api/Cargo.toml 3 additions, 0 deletionssubstrate/client/transaction-pool/api/Cargo.toml
- substrate/client/transaction-pool/api/src/lib.rs 58 additions, 4 deletionssubstrate/client/transaction-pool/api/src/lib.rs
- substrate/client/transaction-pool/src/graph/listener.rs 11 additions, 6 deletionssubstrate/client/transaction-pool/src/graph/listener.rs
- substrate/client/transaction-pool/src/graph/pool.rs 2 additions, 2 deletionssubstrate/client/transaction-pool/src/graph/pool.rs
- substrate/client/transaction-pool/src/graph/watcher.rs 4 additions, 4 deletionssubstrate/client/transaction-pool/src/graph/watcher.rs
- substrate/client/transaction-pool/tests/pool.rs 21 additions, 20 deletionssubstrate/client/transaction-pool/tests/pool.rs
Please register or sign in to comment