-
Notifications
You must be signed in to change notification settings - Fork 2
/
ILiquidationFacet.sol
31 lines (20 loc) · 1.4 KB
/
ILiquidationFacet.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// SPDX-License-Identifier: SYMM-Core-Business-Source-License-1.1
// This contract is licensed under the SYMM Core Business Source License 1.1
// Copyright (c) 2023 Symmetry Labs AG
// For more information, see https://docs.symm.io/legal-disclaimer/license
pragma solidity >=0.8.18;
import "./ILiquidationEvents.sol";
import "../../storages/AccountStorage.sol";
import "../../storages/MuonStorage.sol";
interface ILiquidationFacet is ILiquidationEvents {
function liquidatePartyA(address partyA, LiquidationSig memory liquidationSig) external;
function setSymbolsPrice(address partyA, LiquidationSig memory liquidationSig) external;
function deferredLiquidatePartyA(address partyA, DeferredLiquidationSig memory liquidationSig) external;
function deferredSetSymbolsPrice(address partyA, DeferredLiquidationSig memory liquidationSig) external;
function liquidatePendingPositionsPartyA(address partyA) external;
function liquidatePositionsPartyA(address partyA, uint256[] memory quoteIds) external;
function settlePartyALiquidation(address partyA, address[] memory partyBs) external;
function resolveLiquidationDispute(address partyA, address[] memory partyBs, int256[] memory amounts, bool disputed) external;
function liquidatePartyB(address partyB, address partyA, SingleUpnlSig memory upnlSig) external;
function liquidatePositionsPartyB(address partyB, address partyA, QuotePriceSig memory priceSig) external;
}