mirror of
https://github.com/mimblewimble/grin-wallet.git
synced 2025-01-20 19:11:09 +03:00
Add TTL Option to command line (#273)
* re-insert v2 slate * reinstate version conversions * rustfmt * add and test versioning checks against 2.0.0 wallets * rustfmt * fix to invoice file output * doctest fix * remove target slate version from command line options * add ttl option to send_tx and pay commands * rustfmt
This commit is contained in:
parent
86e6f511c3
commit
e2ad2b3880
4 changed files with 23 additions and 1 deletions
|
@ -253,6 +253,7 @@ pub struct SendArgs {
|
|||
pub max_outputs: usize,
|
||||
pub target_slate_version: Option<u16>,
|
||||
pub payment_proof_address: Option<String>,
|
||||
pub ttl_blocks: Option<u64>,
|
||||
}
|
||||
|
||||
pub fn send<L, C, K>(
|
||||
|
@ -302,6 +303,7 @@ where
|
|||
message: args.message.clone(),
|
||||
target_slate_version: args.target_slate_version,
|
||||
payment_proof_recipient_address,
|
||||
ttl_blocks: args.ttl_blocks,
|
||||
send_args: None,
|
||||
..Default::default()
|
||||
};
|
||||
|
@ -529,6 +531,7 @@ pub struct ProcessInvoiceArgs {
|
|||
pub max_outputs: usize,
|
||||
pub input: String,
|
||||
pub estimate_selection_strategies: bool,
|
||||
pub ttl_blocks: Option<u64>,
|
||||
}
|
||||
|
||||
/// Process invoice
|
||||
|
@ -574,6 +577,7 @@ where
|
|||
num_change_outputs: 1u32,
|
||||
selection_strategy_is_use_all: args.selection_strategy == "all",
|
||||
message: args.message.clone(),
|
||||
ttl_blocks: args.ttl_blocks,
|
||||
send_args: None,
|
||||
..Default::default()
|
||||
};
|
||||
|
|
|
@ -751,7 +751,7 @@ where
|
|||
// Step 5: Cancel any transactions with an expired TTL
|
||||
for tx in txs {
|
||||
if let Some(e) = tx.ttl_cutoff_height {
|
||||
if e >= tip.0 {
|
||||
if tip.0 >= e {
|
||||
wallet_lock!(wallet_inst, w);
|
||||
let parent_key_id = w.parent_key_id();
|
||||
tx::cancel_tx(&mut **w, keychain_mask, &parent_key_id, Some(tx.id), None)?;
|
||||
|
|
|
@ -155,6 +155,11 @@ subcommands:
|
|||
short: t
|
||||
long: stored_tx
|
||||
takes_value: true
|
||||
- ttl_blocks:
|
||||
help: If present, the number of blocks from the current after which wallets should refuse to process transactions further
|
||||
short: b
|
||||
long: ttl_blocks
|
||||
takes_value: true
|
||||
- receive:
|
||||
about: Processes a transaction file to accept a transfer from a sender
|
||||
args:
|
||||
|
@ -252,6 +257,11 @@ subcommands:
|
|||
short: i
|
||||
long: input
|
||||
takes_value: true
|
||||
- ttl_blocks:
|
||||
help: If present, the number of blocks from the current after which wallets should refuse to process transactions further
|
||||
short: b
|
||||
long: ttl_blocks
|
||||
takes_value: true
|
||||
- outputs:
|
||||
about: Raw wallet output info (list of outputs)
|
||||
- txs:
|
||||
|
|
|
@ -453,6 +453,9 @@ pub fn parse_send_args(args: &ArgMatches) -> Result<command::SendArgs, ParseErro
|
|||
// fluff
|
||||
let fluff = args.is_present("fluff");
|
||||
|
||||
// ttl_blocks
|
||||
let ttl_blocks = parse_u64_or_none(args.value_of("ttl_blocks"));
|
||||
|
||||
// max_outputs
|
||||
let max_outputs = 500;
|
||||
|
||||
|
@ -493,6 +496,7 @@ pub fn parse_send_args(args: &ArgMatches) -> Result<command::SendArgs, ParseErro
|
|||
fluff: fluff,
|
||||
max_outputs: max_outputs,
|
||||
payment_proof_address,
|
||||
ttl_blocks,
|
||||
target_slate_version: target_slate_version,
|
||||
})
|
||||
}
|
||||
|
@ -636,6 +640,9 @@ pub fn parse_process_invoice_args(
|
|||
return Err(ParseError::ArgumentError(msg));
|
||||
}
|
||||
|
||||
// ttl_blocks
|
||||
let ttl_blocks = parse_u64_or_none(args.value_of("ttl_blocks"));
|
||||
|
||||
// max_outputs
|
||||
let max_outputs = 500;
|
||||
|
||||
|
@ -663,6 +670,7 @@ pub fn parse_process_invoice_args(
|
|||
dest: dest.to_owned(),
|
||||
max_outputs: max_outputs,
|
||||
input: tx_file.to_owned(),
|
||||
ttl_blocks,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue