diff --git a/src/partial.ts b/src/partial.ts index 63042cc..c497745 100644 --- a/src/partial.ts +++ b/src/partial.ts @@ -326,7 +326,7 @@ async function runPartialLiquidator() { maxBorrAcc = ma; } - if (liabsVal < 0.5) { + if (liabsVal < 1) { // too small of an account; number precision may cause errors continue; } @@ -354,6 +354,8 @@ async function runPartialLiquidator() { `Liquidatable\n${description}\nbeingLiquidated: ${ma.beingLiquidated}`, ); + console.log(markets); + // find the market with the most value in OpenOrdersAccount let maxMarketIndex = -1; let maxMarketVal = 0; @@ -447,22 +449,24 @@ async function runPartialLiquidator() { } } - transaction.add( - makePartialLiquidateInstruction( - programId, - mangoGroup.publicKey, - payer.publicKey, - liqorAccs[minNetIndex].publicKey, - liqorAccs[maxNetIndex].publicKey, - ma.publicKey, - mangoGroup.vaults[minNetIndex], - mangoGroup.vaults[maxNetIndex], - mangoGroup.signerKey, - ma.openOrders, - mangoGroup.oracles, - liqorTokenValues[minNetIndex], - ), - ); + if (minNetIndex !== -1) { + transaction.add( + makePartialLiquidateInstruction( + programId, + mangoGroup.publicKey, + payer.publicKey, + liqorAccs[minNetIndex].publicKey, + liqorAccs[maxNetIndex].publicKey, + ma.publicKey, + mangoGroup.vaults[minNetIndex], + mangoGroup.vaults[maxNetIndex], + mangoGroup.signerKey, + ma.openOrders, + mangoGroup.oracles, + liqorTokenValues[minNetIndex], + ), + ); + } await client.sendTransaction(connection, transaction, payer, []); await sleep(2000);