rust client: Fix slippage arg for jupiter

This commit is contained in:
Christian Kamm 2023-02-03 11:34:06 +01:00
parent d0260e071c
commit 2ca430eaa7
5 changed files with 12 additions and 12 deletions

View File

@ -77,7 +77,7 @@ struct JupiterSwap {
amount: u64,
#[clap(short, long)]
slippage: f64,
slippage_bps: u64,
#[clap(flatten)]
rpc: Rpc,
@ -178,7 +178,7 @@ async fn main() -> Result<(), anyhow::Error> {
input_mint,
output_mint,
cmd.amount,
cmd.slippage,
cmd.slippage_bps,
client::JupiterSwapMode::ExactIn,
)
.await?;

View File

@ -1136,7 +1136,7 @@ impl MangoClient {
input_mint: Pubkey,
output_mint: Pubkey,
amount: u64,
slippage: f64,
slippage: u64,
swap_mode: JupiterSwapMode,
) -> anyhow::Result<jupiter::QueryRoute> {
let quote = self
@ -1191,7 +1191,7 @@ impl MangoClient {
input_mint: Pubkey,
output_mint: Pubkey,
amount: u64,
slippage: f64,
slippage: u64,
swap_mode: JupiterSwapMode,
) -> anyhow::Result<Signature> {
let source_token = self.context.token_by_mint(&input_mint)?;

View File

@ -33,7 +33,7 @@ pub async fn jupiter_market_can_buy(
// TODO: configurable
// TODO: cache this, no need to recheck often
let quote_amount = 10_000_000u64;
let slippage = 1.0;
let slippage = 100;
mango_client
.jupiter_route(
quote_token_mint,
@ -61,7 +61,7 @@ pub async fn jupiter_market_can_sell(
// TODO: configurable
// TODO: cache this, no need to recheck often
let quote_amount = 10_000_000u64;
let slippage = 1.0;
let slippage = 100;
mango_client
.jupiter_route(
token_mint,

View File

@ -80,8 +80,8 @@ struct Cli {
#[clap(long, env, default_value = "50")]
min_health_ratio: f64,
#[clap(long, env, default_value = "1")]
rebalance_slippage: f64,
#[clap(long, env, default_value = "100")]
rebalance_slippage_bps: u64,
/// prioritize each transaction with this many microlamports/cu
#[clap(long, env, default_value = "0")]
@ -232,7 +232,7 @@ async fn main() -> anyhow::Result<()> {
let mut rebalance_interval = tokio::time::interval(Duration::from_secs(5));
let rebalance_config = rebalance::Config {
slippage: cli.rebalance_slippage,
slippage_bps: cli.rebalance_slippage_bps,
// TODO: config
borrow_settle_excess: 1.05,
refresh_timeout: Duration::from_secs(30),

View File

@ -15,7 +15,7 @@ use std::{collections::HashMap, time::Duration};
#[derive(Clone)]
pub struct Config {
/// Maximum slippage allowed in Jupiter
pub slippage: f64,
pub slippage_bps: u64,
/// When closing borrows, the rebalancer can't close token positions exactly.
/// Instead it purchases too much and then gets rid of the excess in a second step.
/// If this is 1.05, then it'll swap borrow_value * 1.05 quote token into borrow token.
@ -160,7 +160,7 @@ impl<'a> Rebalancer<'a> {
quote_mint,
token_mint,
input_amount.to_num::<u64>(),
self.config.slippage,
self.config.slippage_bps,
client::JupiterSwapMode::ExactIn,
)
.await?;
@ -192,7 +192,7 @@ impl<'a> Rebalancer<'a> {
token_mint,
quote_mint,
amount.to_num::<u64>(),
self.config.slippage,
self.config.slippage_bps,
client::JupiterSwapMode::ExactIn,
)
.await?;