Liquidation Facet (Implementation)
Changes to LiquidationFacetImpl.sol
Changes:
liquidatePendingPositionsPartyA()
liquidatePendingPositionsPartyA()Updated Return Type:
Updated to return uint256[] memory liquidatedAmounts, bytes memory liquidationId.
Updated Code:
accountLayout.partyAReimbursement[partyA] += LibQuote.getTradingFee(quote.id);
quote.quoteStatus = QuoteStatus.LIQUIDATED_PENDING;Updated Functionality:
Added a new pending state
QuoteStatus.LIQUIDATED_PENDING.
liquidatePositionsPartyA()
liquidatePositionsPartyA()Updated Return Type:
Updated to return bool, uint256[] memory liquidatedAmounts, uint256[] memory closeIds, bytes memory liquidationId.
Updated Code:
liquidatedAmounts[index] = quote.quantity - quote.closedAmount;
closeIds[index] = quoteLayout.closeIds[quote.id];
quote.quoteStatus = QuoteStatus.LIQUIDATED;Updated Functionality:
Added
closeIdsandliquidatedAmountsto capture detailed information about liquidated quotes.Changed state to
QuoteStatus.LIQUIDATED.
resolveLiquidationDispute()
resolveLiquidationDispute()Updated Return Type:
Updated to return bytes memory.
Updated Code:
accountLayout.settlementStates[partyA][partyBs[i]].actualAmount = amounts[i];
return accountLayout.liquidationDetails[partyA].liquidationId;settlePartyALiquidation()
settlePartyALiquidation()Updated Return Type:
Updated to return int256[] memory settleAmounts, bytes memory liquidationId.
Updated Code:
emit SharedEvents.BalanceChangePartyA(partyA, accountLayout.settlementStates[partyA][partyB].cva, SharedEvents.BalanceChangeType.CVA_OUT);
emit SharedEvents.BalanceChangePartyB(partyB, partyA, accountLayout.settlementStates[partyA][partyB].cva, SharedEvents.BalanceChangeType.CVA_IN);Last updated
