cfx_rpc_cfx_api/cfx/
debug.rs1use cfx_rpc_cfx_types::{
6 AccountPendingInfo, AccountPendingTransactions, BlockHashOrEpochNumber,
7 Bytes as RpcBytes, Receipt as RpcReceipt, RpcAddress, TransactionRequest,
8};
9use cfx_types::{H256, H520, U128, U256, U64};
10use jsonrpsee::{core::RpcResult as JsonRpcResult, proc_macros::rpc};
11
12#[rpc(server, namespace = "cfx")]
13pub trait CfxDebugRpc {
14 #[method(name = "sendTransaction")]
15 async fn send_transaction(
16 &self, tx: TransactionRequest, password: Option<String>,
17 ) -> JsonRpcResult<H256>;
18
19 #[method(name = "accounts")]
21 async fn accounts(&self) -> JsonRpcResult<Vec<RpcAddress>>;
22
23 #[method(name = "newAccount")]
25 async fn new_account(&self, password: String) -> JsonRpcResult<RpcAddress>;
26
27 #[method(name = "unlockAccount")]
29 async fn unlock_account(
30 &self, address: RpcAddress, password: String, duration: Option<U128>,
31 ) -> JsonRpcResult<bool>;
32
33 #[method(name = "lockAccount")]
35 async fn lock_account(&self, address: RpcAddress) -> JsonRpcResult<bool>;
36
37 #[method(name = "sign")]
38 fn sign(
39 &self, data: RpcBytes, address: RpcAddress, password: Option<String>,
40 ) -> JsonRpcResult<H520>;
41
42 #[method(name = "signTransaction")]
43 fn sign_transaction(
44 &self, tx: TransactionRequest, password: Option<String>,
45 ) -> JsonRpcResult<String>;
46
47 #[method(name = "getEpochReceipts")]
48 async fn epoch_receipts(
49 &self, epoch: BlockHashOrEpochNumber,
50 include_eth_receipts: Option<bool>,
51 ) -> JsonRpcResult<Option<Vec<Vec<RpcReceipt>>>>;
52
53 #[method(name = "getAccountPendingInfo")]
55 async fn account_pending_info(
56 &self, address: RpcAddress,
57 ) -> JsonRpcResult<Option<AccountPendingInfo>>;
58
59 #[method(name = "getAccountPendingTransactions")]
61 async fn account_pending_transactions(
62 &self, address: RpcAddress, maybe_start_nonce: Option<U256>,
63 maybe_limit: Option<U64>,
64 ) -> JsonRpcResult<AccountPendingTransactions>;
65}