mev-inspect
Version:
A JS port of 'mev-inspect-py' optimised for ease of use.
39 lines • 1.36 kB
JavaScript
function getLiquidations(repayments, seizures) {
return seizures
.map((seizure) => {
const sender = seizure.transaction.from;
const repayment = getRepayment(seizure, repayments);
if (!repayment) {
return null;
}
return {
repayment,
seizure,
liquidator: { sender, beneficiary: seizure.seizor },
borrower: seizure.borrower,
collateral: {
asset: seizure.asset,
amount: seizure.amount,
},
debt: {
asset: repayment.asset,
amount: repayment.amount,
},
};
})
.filter((liquidation) => !!liquidation);
}
function getRepayment(seizure, repayments) {
const repayment = repayments.reverse().find((repayment) => {
if (seizure.contract.protocol.abi === 'CompoundV2') {
return (repayment.event.logIndex < seizure.event.logIndex &&
repayment.event.address === seizure.event.address &&
repayment.payer === seizure.seizor &&
repayment.borrower === seizure.borrower);
}
return repayment.event.logIndex === seizure.event.logIndex;
});
return repayment ? repayment : null;
}
export { getLiquidations };
//# sourceMappingURL=liquidations.js.map