liquidator for boost - remove SOL route

This commit is contained in:
Serge Farny 2024-03-12 21:41:05 +01:00
parent a8af12a41e
commit 1c8c8ddb48
1 changed files with 2 additions and 30 deletions

View File

@ -114,16 +114,7 @@ impl Rebalancer {
in_amount_quote: u64,
) -> anyhow::Result<(Signature, jupiter::Quote)> {
let quote_token = self.mango_client.context.token(QUOTE_TOKEN_INDEX);
let sol_token = self.mango_client.context.token(
*self
.mango_client
.context
.token_indexes_by_name
.get("SOL") // TODO: better use mint
.unwrap(),
);
let quote_mint = quote_token.mint;
let sol_mint = sol_token.mint;
let jupiter_version = self.config.jupiter_version;
let full_route_job = self.jupiter_quote(
@ -142,16 +133,8 @@ impl Rebalancer {
);
// For the SOL -> output route we need to adjust the in amount by the SOL price
let sol_price = self
.account_fetcher
.fetch_bank_price(&sol_token.first_bank())?;
let in_amount_sol = (I80F48::from(in_amount_quote) / sol_price)
.ceil()
.to_num::<u64>();
let direct_sol_route_job =
self.jupiter_quote(sol_mint, output_mint, in_amount_sol, true, jupiter_version);
let jobs = vec![full_route_job, direct_quote_route_job, direct_sol_route_job];
let jobs = vec![full_route_job, direct_quote_route_job];
let mut results = futures::future::join_all(jobs).await;
let full_route = results.remove(0)?;
@ -181,26 +164,15 @@ impl Rebalancer {
in_amount: u64,
) -> anyhow::Result<(Signature, jupiter::Quote)> {
let quote_token = self.mango_client.context.token(QUOTE_TOKEN_INDEX);
let sol_token = self.mango_client.context.token(
*self
.mango_client
.context
.token_indexes_by_name
.get("SOL") // TODO: better use mint
.unwrap(),
);
let quote_mint = quote_token.mint;
let sol_mint = sol_token.mint;
let jupiter_version = self.config.jupiter_version;
let full_route_job =
self.jupiter_quote(input_mint, quote_mint, in_amount, false, jupiter_version);
let direct_quote_route_job =
self.jupiter_quote(input_mint, quote_mint, in_amount, true, jupiter_version);
let direct_sol_route_job =
self.jupiter_quote(input_mint, sol_mint, in_amount, true, jupiter_version);
let jobs = vec![full_route_job, direct_quote_route_job, direct_sol_route_job];
let jobs = vec![full_route_job, direct_quote_route_job];
let mut results = futures::future::join_all(jobs).await;
let full_route = results.remove(0)?;