Skip to content

Commit 624dcf9

Browse files
authored
Merge pull request #36 from buffrr/wallet-confirmed-only
Make default chain mainnet and add `--confirmed-only` option
2 parents 8d34df9 + 975a377 commit 624dcf9

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

node/src/bin/space-cli.rs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use wallet::export::WalletExport;
2828
#[command(version, about, long_about = None)]
2929
pub struct Args {
3030
/// Bitcoin network to use
31-
#[arg(long, env = "SPACED_CHAIN")]
31+
#[arg(long, env = "SPACED_CHAIN", default_value = "mainnet")]
3232
chain: ExtendedNetwork,
3333
/// Spaced RPC URL [default: based on specified chain]
3434
#[arg(long)]
@@ -92,6 +92,8 @@ enum Commands {
9292
/// Fee rate to use in sat/vB
9393
#[arg(long, short)]
9494
fee_rate: Option<u64>,
95+
#[arg(long, short, default_value = "false")]
96+
confirmed_only: bool,
9597
},
9698
/// Register a won auction
9799
Register {
@@ -270,6 +272,7 @@ impl SpaceCli {
270272
req: Option<RpcWalletRequest>,
271273
bidouts: Option<u8>,
272274
fee_rate: Option<u64>,
275+
confirmed_only: bool,
273276
) -> Result<(), ClientError> {
274277
let fee_rate = fee_rate.map(|fee| FeeRate::from_sat_per_vb(fee).unwrap());
275278
let result = self
@@ -285,6 +288,7 @@ impl SpaceCli {
285288
fee_rate,
286289
dust: self.dust,
287290
force: self.force,
291+
confirmed_only
288292
},
289293
)
290294
.await?;
@@ -440,13 +444,15 @@ async fn handle_commands(
440444
})),
441445
None,
442446
fee_rate,
447+
false
443448
)
444449
.await?
445450
}
446451
Commands::Bid {
447452
space,
448453
amount,
449454
fee_rate,
455+
confirmed_only
450456
} => {
451457
cli.send_request(
452458
Some(RpcWalletRequest::Bid(BidParams {
@@ -455,11 +461,12 @@ async fn handle_commands(
455461
})),
456462
None,
457463
fee_rate,
464+
confirmed_only
458465
)
459466
.await?
460467
}
461468
Commands::CreateBidOuts { pairs, fee_rate } => {
462-
cli.send_request(None, Some(pairs), fee_rate).await?
469+
cli.send_request(None, Some(pairs), fee_rate, false).await?
463470
}
464471
Commands::Register {
465472
space,
@@ -473,6 +480,7 @@ async fn handle_commands(
473480
})),
474481
None,
475482
fee_rate,
483+
false
476484
)
477485
.await?
478486
}
@@ -489,6 +497,7 @@ async fn handle_commands(
489497
})),
490498
None,
491499
fee_rate,
500+
false
492501
)
493502
.await?
494503
}
@@ -504,6 +513,7 @@ async fn handle_commands(
504513
})),
505514
None,
506515
fee_rate,
516+
false
507517
)
508518
.await?
509519
}
@@ -532,6 +542,7 @@ async fn handle_commands(
532542
})),
533543
None,
534544
fee_rate,
545+
false
535546
)
536547
.await?;
537548
}

node/src/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ pub struct Args {
4545
#[arg(long, env = "SPACED_DATA_DIR")]
4646
data_dir: Option<PathBuf>,
4747
/// Network to use
48-
#[arg(long, env = "SPACED_CHAIN")]
48+
#[arg(long, env = "SPACED_CHAIN", default_value = "mainnet")]
4949
chain: ExtendedNetwork,
5050
/// Number of concurrent workers allowed during syncing
5151
#[arg(short, long, env = "SPACED_JOBS", default_value = "8")]

node/src/rpc.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ pub struct RpcWalletTxBuilder {
210210
pub fee_rate: Option<FeeRate>,
211211
pub dust: Option<Amount>,
212212
pub force: bool,
213+
pub confirmed_only: bool,
213214
}
214215

215216
#[derive(Clone, Serialize, Deserialize)]

node/src/wallets.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -603,9 +603,9 @@ impl RpcWallet {
603603
if tx.bidouts.is_some() {
604604
builder = builder.bidouts(tx.bidouts.unwrap());
605605
}
606-
builder = builder.force(tx.force);
607606

608-
let mut bid_replacement = false;
607+
builder = builder.force(tx.force);
608+
let mut bid_replacement = tx.confirmed_only;
609609

610610
for req in tx.requests {
611611
match req {
@@ -800,8 +800,8 @@ impl RpcWallet {
800800
if rpc.message.contains("replacement-adds-unconfirmed") {
801801
error_data.insert(
802802
"hint".to_string(),
803-
"Competing bid in mempool but wallet has no confirmed bid \
804-
outputs (required to replace mempool bids)"
803+
"Competing bid in mempool but wallet must use confirmed bidouts and funding \
804+
outputs to replace it. Try --confirmed-only"
805805
.to_string(),
806806
);
807807
}

0 commit comments

Comments
 (0)