use clap::Parser;
use serde::Deserialize;
use crate::support::{gas::GasArgs, signer::SignerArgs};
#[derive(Debug, Parser, Clone, Deserialize)]
pub struct BaseTxArgs {
#[clap(short, long, default_value = "local")]
#[serde(default = "default_value::network")]
pub network: String,
#[clap(flatten)]
#[serde(flatten)]
pub gas_args: GasArgs,
#[clap(flatten)]
#[serde(flatten)]
pub signer_args: SignerArgs,
#[clap(short, long, default_value = "0")]
#[serde(default = "default_value::timeout_height")]
pub timeout_height: u32,
#[clap(short, long)]
pub account_sequence: Option<u64>,
}
mod default_value {
pub(crate) fn network() -> String {
"local".to_string()
}
pub(crate) fn timeout_height() -> u32 {
0
}
}