From 007cf0da6ee8874106d264fa883d77a13936feb4 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Fri, 9 Feb 2024 11:31:37 +0100 Subject: [PATCH] liquidator: make tcs max amount configurable (#874) --- bin/liquidator/src/main.rs | 15 ++++++++++++--- bin/liquidator/src/token_swap_info.rs | 3 +++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bin/liquidator/src/main.rs b/bin/liquidator/src/main.rs index ed091e55f..f489fabe8 100644 --- a/bin/liquidator/src/main.rs +++ b/bin/liquidator/src/main.rs @@ -149,6 +149,10 @@ struct Cli { #[clap(long, env, value_enum, default_value = "swap-sell-into-buy")] tcs_mode: TcsMode, + /// largest tcs amount to trigger in one transaction, in dollar + #[clap(long, env, default_value = "1000.0")] + tcs_max_trigger_amount: f64, + #[clap(flatten)] prioritization_fee_cli: priority_fees_cli::PriorityFeeArgs, @@ -180,6 +184,11 @@ struct Cli { #[clap(long, env, default_value = "")] jupiter_token: String, + /// size of the swap to quote via jupiter to get slippage info, in dollar + /// should be larger than tcs_max_trigger_amount + #[clap(long, env, default_value = "1000.0")] + jupiter_swap_info_amount: f64, + /// report liquidator's existence and pubkey #[clap(long, env, value_enum, default_value = "true")] telemetry: BoolArg, @@ -340,8 +349,8 @@ async fn main() -> anyhow::Result<()> { }; let token_swap_info_config = token_swap_info::Config { - quote_index: 0, // USDC - quote_amount: 1_000_000_000, // TODO: config, $1000, should be >= tcs_config.max_trigger_quote_amount + quote_index: 0, // USDC + quote_amount: (cli.jupiter_swap_info_amount * 1e6) as u64, jupiter_version: cli.jupiter_version.into(), }; @@ -360,7 +369,7 @@ async fn main() -> anyhow::Result<()> { let tcs_config = trigger_tcs::Config { min_health_ratio: cli.min_health_ratio, - max_trigger_quote_amount: 1_000_000_000, // TODO: config, $1000 + max_trigger_quote_amount: (cli.tcs_max_trigger_amount * 1e6) as u64, compute_limit_for_trigger: cli.compute_limit_for_tcs, profit_fraction: cli.tcs_profit_fraction, collateral_token_index: 0, // USDC diff --git a/bin/liquidator/src/token_swap_info.rs b/bin/liquidator/src/token_swap_info.rs index e15fea2fd..8e4e018ad 100644 --- a/bin/liquidator/src/token_swap_info.rs +++ b/bin/liquidator/src/token_swap_info.rs @@ -11,7 +11,10 @@ use mango_v4_client::MangoClient; pub struct Config { pub quote_index: TokenIndex, + + /// Size in quote_index-token native tokens to quote. pub quote_amount: u64, + pub jupiter_version: jupiter::Version, }