Skip to content

Commit

Permalink
pcli: duplicate positions: use a -n short flag to match auctions
Browse files Browse the repository at this point in the history
  • Loading branch information
cronokirby committed Aug 15, 2024
1 parent b7228bc commit 78cda19
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
2 changes: 1 addition & 1 deletion crates/bin/pcli/src/command/tx.rs
Original file line number Diff line number Diff line change
Expand Up @@ -954,7 +954,7 @@ impl TxCmd {

tracing::info!(?order);
let source = AddressIndex::new(order.source());
let positions = order.as_position(&asset_cache)?;
let positions = order.as_position(&asset_cache, OsRng)?;
tracing::info!(?positions);
for position in &positions {
println!("Position id: {}", position.id());
Expand Down
21 changes: 11 additions & 10 deletions crates/bin/pcli/src/command/tx/liquidity_position.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use penumbra_dex::{
},
TradingPair,
};
use rand_core::OsRng;
use rand_core::CryptoRngCore;

use super::{replicate::ReplicateCmd, FeeTier};

Expand Down Expand Up @@ -106,7 +106,7 @@ pub enum OrderCmd {
fee_tier: FeeTier,
/// Duplicate the order for the given number of times.
#[clap(short, long, default_value = "1")]
duplicate: u32,
num_copies: u32,
},
Sell {
/// The desired sale, formatted as a string, e.g. `[email protected]` would attempt
Expand All @@ -126,7 +126,7 @@ pub enum OrderCmd {
fee_tier: FeeTier,
/// Duplicate the order for the given number of times.
#[clap(short, long, default_value = "1")]
duplicate: u32,
num_copies: u32,
},
}

Expand All @@ -152,25 +152,26 @@ impl OrderCmd {
}
}

pub fn duplicate(&self) -> u32 {
pub fn num_copies(&self) -> u32 {
match self {
OrderCmd::Buy { duplicate, .. } => *duplicate,
OrderCmd::Sell { duplicate, .. } => *duplicate,
OrderCmd::Buy { num_copies, .. } => *num_copies,
OrderCmd::Sell { num_copies, .. } => *num_copies,
}
}

pub fn as_position(
&self,
// Preserved since we'll need it after denom metadata refactor
_asset_cache: &asset::Cache,
mut rng: impl CryptoRngCore,
) -> Result<Vec<Position>> {
let positions = match self {
OrderCmd::Buy { buy_order, .. } => {
tracing::info!(?buy_order, "parsing buy order");
let order = BuyOrder::parse_str(buy_order)?;
let mut positions = Vec::new();
for _ in 0..self.duplicate() {
let mut position = order.into_position(OsRng);
for _ in 0..self.num_copies() {
let mut position = order.into_position(&mut rng);
if self.is_auto_closing() {
position.close_on_fill = true;
}
Expand All @@ -183,8 +184,8 @@ impl OrderCmd {
let order = SellOrder::parse_str(sell_order)?;
let mut positions = Vec::new();

for _ in 0..self.duplicate() {
let mut position = order.into_position(OsRng);
for _ in 0..self.num_copies() {
let mut position = order.into_position(&mut rng);
if self.is_auto_closing() {
position.close_on_fill = true;
}
Expand Down

0 comments on commit 78cda19

Please sign in to comment.