{"componentChunkName":"component---src-pages-sips-sip-markdown-remark-frontmatter-sip-tsx","path":"/sips/sip-23/","result":{"data":{"markdownRemark":{"fileAbsolutePath":"/vercel/path0/content/sips/sip-23.md","frontmatter":{"sip":23,"sccp":null,"title":"Inflation Smoothing","network":"Ethereum","author":"Deltatiger (@deltatigernz), Vance Spencer(@frameworkvance)","type":"Governance","proposal":null,"implementor":null,"release":null,"created":"2019-09-24T00:00:00.000Z","updated":null,"status":"Implemented"},"html":"<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<p>This SIP gradually decreases SNX inflation by 1.25% per week starting on GMT Wednesday, 11 December 2019 00:00:00 - week 40 of the current inflation schedule. There is a separate <a href=\"https://sips.synthetix.io/sips/sip-24\">SIP-24</a> that proposes an annual inflation rate of 2.5% on week 234 of the inflation schedule. This is the week when the smoothed inflation schedule would first go below 2.5% on an annualized basis.</p>\n<p>This SIP is the formal spec successor of deltatiger's <a href=\"https://github.com/Synthetixio/SIPs/issues/36\">Draft SIP Proposal #36</a>. The formalization of specifics (week starting, % decrease per week) reflects the consensus reached during the October 24, 2019 governance call.</p>\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<ul>\n<li>SNX's current inflation schedule creates a total of 245M tokens</li>\n<li>SNX's current inflation schedule started on March 6, 2019</li>\n<li>SNX's current inflation schedule issues 1.44M SNX per week, and halves weekly rewards every 52 weeks for 260 weeks</li>\n<li>Smoothing (gradually decreasing vs. abruptly halvening) this inflation schedule decreases the potential risk that an inflation halvening poses</li>\n<li>Smoothing the inflation schedule immediately allows for a more gradual inflation decline</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<p>After 6 months of gathering data on current inflation rates and assessing the community's sentiment in regards to future inflation halvening, the community's consensus is that the inflation halvening presents an easily avoidable risk that we can address through a gradually decreased inflation curve starting as soon as possible.</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<p>Starting on GMT Wednesday, 11 December 2019 00:00:00, SNX inflation decreases by 1.25% per week per this <a href=\"https://docs.google.com/spreadsheets/d/1a5r9aFP5bh6wGG4-HIW2MWPf4yMthZvesZOurnG-v_8/edit#gid=0\">final model</a>, which is based on the <a href=\"https://docs.google.com/spreadsheets/d/1rVXFnZSMvHEv5XpA5Q23x-cXEo7w-2T80wlAfT-YbuI/edit#gid=1445735519\">origional model</a> proposed in the draft SIP.</p>\n<p>If the inflation smoothing and fixed terminal inflation SIPs both get approved, inflation would look like the below graph.\n<img src=\"https://user-images.githubusercontent.com/55753617/69513159-b38a8000-0efb-11ea-894e-2a89064a0998.png\" alt=\"\"></p>\n<p><img src=\"https://user-images.githubusercontent.com/55753617/69513160-b38a8000-0efb-11ea-9a96-4cfa95eb8ccd.png\" alt=\"\"></p>\n<h2 id=\"rationale\" style=\"position:relative;\"><a href=\"#rationale\" aria-label=\"rationale 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>Rationale</h2>\n<p>An abrupt inflation halvening could lead to:</p>\n<ul>\n<li>minters packing up at the same time</li>\n<li>synth supply shrinking</li>\n<li>SNX unlocking to be sold down</li>\n<li>SNX price dropping</li>\n<li>sETH LPs getting their income halved and also now dropping in value</li>\n<li>sETH LPs exiting by withdrawing and converting sETH to ETH</li>\n<li>sETH getting smashed out of peg</li>\n<li>arb pool being unattractive as SNX drops relative to ETH</li>\n</ul>\n<h2 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</h2>\n<p>Standard test cases for Solidity contract compiling and deploying onto Ethereum testnets before updating the contract on mainnet.</p>\n<p>[SupplySchedule] <a href=\"https://github.com/Synthetixio/synthetix/blob/v2.16.4/test/contracts/SupplySchedule.js\">https://github.com/Synthetixio/synthetix/blob/v2.16.4/test/contracts/SupplySchedule.js</a></p>\n<p>[Synthetix] <a href=\"https://github.com/Synthetixio/synthetix/blob/v2.16.4/test/contracts/Synthetix.js#L2326\">https://github.com/Synthetixio/synthetix/blob/v2.16.4/test/contracts/Synthetix.js#L2326</a></p>\n<p>[RewardsIntegrationTests] <a href=\"https://github.com/Synthetixio/synthetix/blob/v2.16.4/test/contracts/RewardsIntegrationTests.js\">https://github.com/Synthetixio/synthetix/blob/v2.16.4/test/contracts/RewardsIntegrationTests.js</a></p>\n<h2 id=\"implementation\" style=\"position:relative;\"><a href=\"#implementation\" aria-label=\"implementation 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>Implementation</h2>\n<ul>\n<li>Update and deploy <a href=\"https://github.com/Synthetixio/synthetix/blob/v2.16.4/contracts/SupplySchedule.sol\">SupplySchedule.sol</a> to Ropsten, Rinkby, and Kovan</li>\n<li>Update and deploy changes to proxy contracts that reference SupplySchedule.sol on Ethereum testnets</li>\n<li>Update and deploy <a href=\"https://github.com/Synthetixio/synthetix/blob/v2.16.4/contracts/SupplySchedule.sol\">SupplySchedule.sol</a> to Ethereum mainnet</li>\n<li>Update and deploy changes to Ethereum mainnet proxy contracts that reference SupplySchedule.sol</li>\n</ul>\n<h3 id=\"removing-time-slippage-on-lastmintevent-and-minting-day-buffer\" style=\"position:relative;\"><a href=\"#removing-time-slippage-on-lastmintevent-and-minting-day-buffer\" aria-label=\"removing time slippage on lastmintevent and minting day buffer 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>Removing time slippage on lastMintEvent and minting day buffer</h3>\n<ul>\n<li>\n<p><code>lastMintEvent</code> is recorded when synthetix.mint() is executed each week (7 days) and to ensure that slippage is removed, the <code>lastMintEvent</code> is set from <code>INFLATION_START_DATE</code> + <code>number of weeks of inflation</code> + <code>MINT_BUFFER</code>.</p>\n</li>\n<li>\n<p>Relying on the blocktime <code>now</code> when synthetix.mint() is called resulted in the inflation supply not be mintable again until after another 7 days had passed, i.e. if mint was called 1 day late on Friday, instead of a Thursday this slippage would compound. By setting <code>lastMintEvent</code> to the start of the week that was last minted ensures that the next inflation mint would be available earlier.</p>\n</li>\n<li>\n<p><code>MINT_BUFFER</code> of 1 DAYS was added to ensure that inflationary supply is minted a day after feePeriod closes.</p>\n</li>\n</ul>\n<p>[SupplySchedule] <a href=\"https://github.com/Synthetixio/synthetix/blob/v2.16.4/contracts/SupplySchedule.sol#L220\">https://github.com/Synthetixio/synthetix/blob/v2.16.4/contracts/SupplySchedule.sol#L220</a></p>\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":"6219aee5-a3d8-5115-a13e-d49d64980bbb","frontmatter__sip":23,"__params":{"frontmatter__sip":"23"}}},"staticQueryHashes":[]}