{"componentChunkName":"component---src-pages-sips-sip-markdown-remark-frontmatter-sip-tsx","path":"/sips/sip-2005/","result":{"data":{"markdownRemark":{"fileAbsolutePath":"/vercel/path0/content/sips/sip-2005.md","frontmatter":{"sip":2005,"sccp":null,"title":"Perps V2 - Slippage protection for liquidations","network":"Optimism","author":"Kaleb (@kaleb-keny), Fifa (@aband1)","type":"Governance","proposal":"https://snapshot.org/#/snxgov.eth/proposal/0x3b66ce7277f231b88aa4c83a04012a44f8a38dd070f0ff7f310874c5b8654a9a","implementor":null,"release":null,"created":"2022-01-17T00:00:00.000Z","updated":null,"status":"Implemented"},"html":"<!--You can leave these HTML comments in your merged SIP and delete the visible duplicate text guides, they will not appear and may be helpful to refer to if you edit it again. This is the suggested template for new SIPs. Note that an SIP number will be assigned by an editor. When opening a pull request to submit your SIP, please use an abbreviated title in the filename, `sip-draft_title_abbrev.md`. The title should be 44 characters or less.-->\n<h2 id=\"simple-summary\" style=\"position:relative;\"><a href=\"#simple-summary\" aria-label=\"simple summary permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Simple Summary</h2>\n<!--\"If you can't explain it simply, you don't understand it well enough.\" Simply describe the outcome the proposed changes intends to achieve. This should be non-technical and accessible to a casual community member.-->\n<p>This SIP proposes to incorporate slippage guards on liquidation transactions. This is done by splitting up the liquidation process into two components:</p>\n<ul>\n<li>Flagging, where accounts flagged cannot interact with their positions until liquidation is enacted</li>\n<li>Liquidation, where the liquidation is incorporated into the protocol via spontaneous liquidation or forced liquidation.</li>\n</ul>\n<h2 id=\"abstract\" style=\"position:relative;\"><a href=\"#abstract\" aria-label=\"abstract permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Abstract</h2>\n<!--A short (~200 word) description of the proposed change, the abstract should clearly describe the proposed change. This is what *will* be done if the SIP is implemented, not *why* it should be done or *how* it will be done. If the SIP proposes deploying a new contract, write, \"we propose to deploy a new contract that will do x\".-->\n<p>The proposed liquidation mechanism can be broken down to the following:</p>\n<ul>\n<li>\n<p><strong>Flagging:</strong> An account is eligible for flagging as per the <a href=\"https://github.com/Synthetixio/synthetix/blob/5d3bc2849ca52fbfc2d087b918307fa9fcd56f9c/contracts/PerpsV2MarketBase.sol#L416\"><code>_canLiquidate</code></a> function. Keepers can trigger a flag which results in the position being staged for liquidation, at this point the account cannot interact with his position until liquidation is finalized and any pending exchange order is removed.</p>\n</li>\n<li>\n<p><strong>Spontaneous Liquidation</strong>  can occur based on the following conditions:</p>\n</li>\n</ul>\n<ol>\n<li>The account is flagged</li>\n<li>The price impact of the liquidation is below a <code>maxLiquidationDelta</code></li>\n<li>The prevailing premium or discount of the market is below <code>maxPD</code></li>\n</ol>\n<ul>\n<li><strong>Forced Liquidation</strong> can be performed by endorsed accounts. The protocol can endorse certain addresses, which allows them to force a liquidation and bypass both the <code>maxLiquidationDelta</code> and <code>maxPD</code> checks. It is important to mention that the vast majority of liquidated accounts are expected to be liquidated spontaneously , but for the sake of expedient rollout of perpetuals and as a initial safety precaution, liquidator endorsement would be used. In future perp iterations, a more decentralized solution  that does not depend on account endorsement would be incorporated into the liquidation process.</li>\n</ul>\n<h2 id=\"motivation\" style=\"position:relative;\"><a href=\"#motivation\" aria-label=\"motivation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Motivation</h2>\n<!--This is the problem statement. This is the *why* of the SIP. It should clearly explain *why* the current state of the protocol is inadequate.  It is critical that you explain *why* the change is needed, if the SIP proposes changing how something is calculated, you must address *why* the current calculation is innaccurate or wrong. This is not the place to describe how the SIP will address the issue!-->\n<p>Liquidation of large positions creates an opportunity for traders to position themselves ahead of a liquidation and potentially profit from the resulting price impact. This SIP proposes measures to prevent opportunistic ordering of transactions surrounding liquidations.</p>\n<h2 id=\"specification\" style=\"position:relative;\"><a href=\"#specification\" aria-label=\"specification permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Specification</h2>\n<!--The therefore specification should describe the syntax and semantics of new feature, there are five sections\n1. Overview\n2. Rationale\n3. Technical Specification\n4. Test Cases\n5. Configurable Values\n-->\n<p>The specification includes the following sections:</p>\n<ul>\n<li>Flagging</li>\n<li>Spontaneous Liquidation</li>\n<li>Forced Liquidation</li>\n</ul>\n<h3 id=\"flagging\" style=\"position:relative;\"><a href=\"#flagging\" aria-label=\"flagging permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Flagging</h3>\n<p>An account who's remaining margin falls below his liquidation margin can be flagged. The flagger receives a sUSD reward, for triggering the flag:</p>\n<p>$$\nmin( max(P * S * liquidationFeeRatio;minKeeperFee);maxKeeperFee)\n$$</p>\n<p>Where the variables are defined as follows:</p>\n<ul>\n<li><code>P</code> is the  oracle price</li>\n<li><code>S</code> is the size of the position being flagged</li>\n<li><code>minKeeperFee</code> is configurable via SCCP (currently 2 sUSD)</li>\n<li><code>maxKeeperFee</code> is configurable via SCCP (set to 1,000 sUSD)</li>\n</ul>\n<p>A flagged account would not be able to interact with his position until liquidation is enacted (by spontaneous liquidation or forced liquidation).  A flagged account is cleared of any pending exchange order.</p>\n<h3 id=\"spontaneous-liquidation\" style=\"position:relative;\"><a href=\"#spontaneous-liquidation\" aria-label=\"spontaneous liquidation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Spontaneous Liquidation</h3>\n<p>Flagged accounts can be spontaneously liquidated, if the below two conditions are met</p>\n<ol>\n<li>The price impact of a liquidation is below a <code>maxLiquidationDelta</code>:</li>\n</ol>\n<p>$$\n\\frac{|S|}{skewScale}  &#x3C; maxLiquidationDelta\n$$</p>\n<ol start=\"2\">\n<li>The instantaneous premium or discount is below <code>maxPD</code>:</li>\n</ol>\n<p>$$\n\\frac{|skew|}{skewScale}  &#x3C; maxPD\n$$</p>\n<p>Few things to note:</p>\n<ul>\n<li>Upon successful liquidation, the keeper that triggers the transaction receives a sUSD configurable <code>keeperLiquidationFee</code>. The position is closed and the user can interact with the market by depositing sUSD and opening a new position.</li>\n<li><code>keeperLiquidationFee</code> is general variable agnostic to the market</li>\n<li><code>maxLiquidationDelta</code> and <code>maxPD</code> are both configurable variables per market.</li>\n</ul>\n<h3 id=\"forced-liquidation\" style=\"position:relative;\"><a href=\"#forced-liquidation\" aria-label=\"forced liquidation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Forced Liquidation</h3>\n<h4 id=\"endorsing-addresses\" style=\"position:relative;\"><a href=\"#endorsing-addresses\" aria-label=\"endorsing addresses permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Endorsing Addresses</h4>\n<p>The protocol can add or remove addresses to the list of endorsed liquidators, via <code>addEndorsedLiquidator</code> and <code>removeEndorsedLiquidator</code> functions.</p>\n<h4 id=\"forced-liquidation-logic\" style=\"position:relative;\"><a href=\"#forced-liquidation-logic\" aria-label=\"forced liquidation logic permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Forced Liquidation Logic</h4>\n<p>Liquidation can be triggered regardless of existing liquidation protection on flagged accounts. Liquidation would close the position and allows the user to interact with a given market. Endorsed keepers would incorporate off-chain logic to prevent execution of liquidations for market skew outliers. This allows for MEV-resistant liquidations while purely on-chain logic is developed further.</p>\n<h3 id=\"technical-specification\" style=\"position:relative;\"><a href=\"#technical-specification\" aria-label=\"technical specification permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Technical Specification</h3>\n<!--The technical specification should outline the public API of the changes proposed. That is, changes to any of the interfaces Synthetix currently exposes or the creations of new ones.-->\n<p>Pending SC engineers input.</p>\n<h3 id=\"test-cases\" style=\"position:relative;\"><a href=\"#test-cases\" aria-label=\"test cases permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Test Cases</h3>\n<!--Test cases for an implementation are mandatory for SIPs but can be included with the implementation..-->\n<ul>\n<li>Setting the oracle price at a price where account A is not open for flagging\n<ul>\n<li>When a random account attempts to flag account A\n<ul>\n<li>❌ Then transaction reverts, due to the account not being open for flagging</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>Setting the oracle price at a liquidation price of account A with an open position\n<ul>\n<li>When a random account attempts to flag account A, who's position isn't already flagged\n<ul>\n<li>✅ Then the transaction succeeds and the flagger receives a liquidation reward</li>\n</ul>\n</li>\n<li>When a random account attempts to flag account A, who's position isn't already flagged and account A has a pending order\n<ul>\n<li>✅ Then the transaction succeeds and the flagger receives a liquidation reward and pending orders are cancelled</li>\n</ul>\n</li>\n<li>When a random account attempts to flag account A, who's position is already flagged\n<ul>\n<li>❌ Then transaction reverts, due to the account already being flagged</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>Setting Account A as flagged for liquidation:\n<ul>\n<li>When the price of liquidating A  exceeds <code>maxLiquidationDelta</code>\n<ul>\n<li>When a random account attempts to liquidate account A\n<ul>\n<li>❌ Then transaction reverts, due to the <code>maxLiquidationDelta</code> being exceeded</li>\n</ul>\n</li>\n<li>When a endorsed account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds account A's position is closed, the liquidator receives no reward and the flag is removed</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>When the price  impact of the liquidating A is below <code>maxLiquidationDelta</code>\n<ul>\n<li>When a random account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds and the liquidator receives <code>keeperLiquidationFee</code>  as a reward, account A's position is closed and the flag is removed</li>\n</ul>\n</li>\n<li>When a endorsed account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds and the liquidator receives no reward, account A's position is closed and the flag is removed</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>When the price  impact of the liquidating account A below <code>maxLiquidationDelta</code> and the price recovered that the account is no longer flaggable\n<ul>\n<li>When a random account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds and the liquidator receives <code>keeperLiquidationFee</code>  as a reward, account A's position is closed and the flag is removed</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>When the instantaneous PD is above <code>maxPD</code>\n<ul>\n<li>When a random account attempts to liquidate account A\n<ul>\n<li>❌ Then transaction reverts, due to the <code>maxPD</code> being exceeded</li>\n</ul>\n</li>\n<li>When a endorsed account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds account A's position is closed, the liquidator receives no reward and the flag is removed</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>When the instantaneous PD is below <code>maxPD</code>\n<ul>\n<li>When a random account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds and the liquidator receives <code>keeperLiquidationFee</code>  as a reward, account A's position is closed and the flag is removed</li>\n</ul>\n</li>\n<li>When a endorsed account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds account A's position is closed, the liquidator receives no reward and the flag is removed</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>When the instantaneous PD is below <code>maxPD</code> and the price recovered that Account A is no longer flaggable\n<ul>\n<li>When a random account attempts to liquidate account A\n<ul>\n<li>✅ Then the transaction succeeds and the liquidator receives <code>keeperLiquidationFee</code>  as a reward, account A's position is closed and the flag is removed</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>When account A attempts to deposit sUSD into his position\n<ul>\n<li>❌ Then transaction reverts, as the account is flagged for liquidation</li>\n</ul>\n</li>\n<li>When account A attempts to close his position\n<ul>\n<li>❌ Then transaction reverts, as the account is flagged for liquidation</li>\n</ul>\n</li>\n<li>When account A attempts to increase his position\n<ul>\n<li>❌ Then transaction reverts, as the account is flagged for liquidation</li>\n</ul>\n</li>\n<li>When account A attempts to decrease his position\n<ul>\n<li>❌ Then transaction reverts, as the account is flagged for liquidation</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"configurable-values-via-sccp\" style=\"position:relative;\"><a href=\"#configurable-values-via-sccp\" aria-label=\"configurable values via sccp permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Configurable Values (Via SCCP)</h3>\n<!--Please list all values configurable via SCCP under this implementation.-->\n<ul>\n<li><code>maxLiquidationDelta</code> is the maximum delta beyound which spontaneous liquidation cannot occur</li>\n<li><code>maxPD</code> is the maximum market premium/discount beyound which spontaneous liquidation cannot occur</li>\n<li><code>keeperLiquidationFee</code> is the fee to a liquidator for triggering a spontaneous liquidation</li>\n<li>endorsed liquidator addresses require an sccp</li>\n</ul>\n<h2 id=\"copyright\" style=\"position:relative;\"><a href=\"#copyright\" aria-label=\"copyright permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Copyright</h2>\n<p>Copyright and related rights waived via <a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC0</a>.</p>"}},"pageContext":{"id":"a13c0089-2737-57dc-bf07-383c6f86be8d","frontmatter__sip":2005,"__params":{"frontmatter__sip":"2005"}}},"staticQueryHashes":[]}