otx-pool 0.1.0

The open transaction pool service core
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use super::{OtxPoolRpc, OtxPoolRpcImpl};

use otx_format::{jsonrpc_types::OpenTransaction, types::OpenTxStatus};

use ckb_types::H256;
use jsonrpc_core::Result as RpcResult;

impl OtxPoolRpc for OtxPoolRpcImpl {
    fn submit_otx(&self, otx: OpenTransaction) -> RpcResult<H256> {
        self.otx_pool.insert(otx).map_err(Into::into)
    }

    fn query_otx_status_by_id(&self, id: H256) -> RpcResult<Option<OpenTxStatus>> {
        Ok(self.otx_pool.get_otx_by_id(id).map(|otx| otx.status))
    }
}