Skip to content

Commit

Permalink
[gh-2478] add tx submit command.
Browse files Browse the repository at this point in the history
  • Loading branch information
Feliciss committed Aug 20, 2024
1 parent 738dfc5 commit dfed4bc
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 1 deletion.
1 change: 1 addition & 0 deletions crates/rooch/src/commands/transaction/commands/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@

pub mod get_transactions_by_hash;
pub mod get_transactions_by_order;
pub mod submit;
39 changes: 39 additions & 0 deletions crates/rooch/src/commands/transaction/commands/submit.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Copyright (c) RoochNetwork
// SPDX-License-Identifier: Apache-2.0

use crate::cli_types::{CommandAction, WalletContextOptions};
use async_trait::async_trait;
use rooch_rpc_api::jsonrpc_types::TransactionWithInfoPageView;
use rooch_types::error::RoochResult;

/// Get transactions by order
#[derive(Debug, clap::Parser)]
pub struct SubmitCommand {
/// Transaction's hash
#[clap(long)]
pub cursor: Option<u64>,

#[clap(long)]
pub limit: Option<u64>,

/// descending order
#[clap(short = 'd', long)]
descending_order: Option<bool>,

#[clap(flatten)]
pub(crate) context_options: WalletContextOptions,
}

#[async_trait]
impl CommandAction<TransactionWithInfoPageView> for SubmitCommand {
async fn execute(self) -> RoochResult<TransactionWithInfoPageView> {
let client = self.context_options.build()?.get_client().await?;

let resp = client
.rooch
.get_transactions_by_order(self.cursor, self.limit, self.descending_order)
.await?;

Ok(resp)
}
}
4 changes: 3 additions & 1 deletion crates/rooch/src/commands/transaction/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
use crate::cli_types::CommandAction;
use crate::commands::transaction::commands::{
get_transactions_by_hash::GetTransactionsByHashCommand,
get_transactions_by_order::GetTransactionsByOrderCommand,
get_transactions_by_order::GetTransactionsByOrderCommand, submit::SubmitCommand,
};
use async_trait::async_trait;
use clap::{Parser, Subcommand};
Expand All @@ -25,6 +25,7 @@ impl CommandAction<String> for Transaction {
match self.cmd {
TransactionCommand::GetTransactionsByOrder(cmd) => cmd.execute_serialized().await,
TransactionCommand::GetTransactionsByHash(cmd) => cmd.execute_serialized().await,
TransactionCommand::Submit(cmd) => cmd.execute_serialized().await,
}
}
}
Expand All @@ -33,4 +34,5 @@ impl CommandAction<String> for Transaction {
pub enum TransactionCommand {
GetTransactionsByOrder(GetTransactionsByOrderCommand),
GetTransactionsByHash(GetTransactionsByHashCommand),
Submit(SubmitCommand),
}

0 comments on commit dfed4bc

Please sign in to comment.