{"componentChunkName":"component---src-pages-sips-sip-markdown-remark-frontmatter-sip-tsx","path":"/sips/sip-10/","result":{"data":{"markdownRemark":{"fileAbsolutePath":"/vercel/path0/content/sips/sip-10.md","frontmatter":{"sip":10,"sccp":null,"title":"Upgrade Delegate Powers","network":"Ethereum","author":"Nocturnalsheet (@nocturnalsheet)","type":"Governance","proposal":null,"implementor":null,"release":null,"created":"2019-07-16T00: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<!--\"If you can't explain it simply, you don't understand it well enough.\" Provide a simplified and layman-accessible explanation of the SIP.-->\n<p>This SIP proposes to add the ability for Delegates to mint &#x26; burn on their owners behalf.</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<!--A short (~200 word) description of the technical issue being addressed.-->\n<p>What are Delegates and what are their current powers? Delegates are trusted wallet addresses that you can set to claim the weekly rewards on your behalf. This function is already live on SNX mainnet however adoption will likely be limited if Delegates are not able to help their owner in penalty to fix their c ratio before claiming the rewards. By upgrading the current powers of Delegates, we will be able to explore the true potential of this feature and hopefully help minters to have an easier life and less #tech-support issues with their ledger wallet. This will also encourage 3rd party integrations such as building an automated delegate to help claim the weekly rewards</p>\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<!--The motivation is critical for SIPs that want to change Synthetix. It should clearly explain why the existing protocol specification is inadequate to address the problem that the SIP solves. SIP submissions without sufficient motivation may be rejected outright.-->\n<p>We expect c-ratio and reduction of rewards period to change from time to time based on governance calls so by upgrading the powers of delegates, owners can make use of their delegates to help them react to c-ratio and rewards period changes more easily. Using delegates provides higher security as well because now you can keep your hardware wallet in cold storage without needing to connect it online anymore. Also we expect delegates to help solve a major pain point for ledger wallet owners with their constant browser support issues. More importantly delegates currently can only claim rewards on behalf, however if the owner wallet is in penalty, the delegate will not be able to help fix the penalty and claim for maximum rewards. The upgrade in powers is much needed to complete the potential of what delegates can help their owners to achieve for rewards.\nDelegating synthetix.exchange() is to be able to exchange via a mobile DApp browser and for Triggered Orders. (see <a href=\"https://github.com/Synthetixio/synthetix/issues/195\">https://github.com/Synthetixio/synthetix/issues/195</a>)</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 technical specification should describe the syntax and semantics of any new feature.-->\n<p>New call functions expected to be added in which allows owner to approve each function individually or all 3 functions of claim, issue and burn with a single contract call</p>\n<p>function issueSynthsOnBehalf\nfunction issueMaxSynthsOnBehalf</p>\n<p>function burnSynthsOnBehalf\nfunction burnSynthsToTargetOnBehalf</p>\n<p>function approveIssueOnBehalf\nfunction approveBurnOnBehalf</p>\n<p>function removeIssueOnBehalf\nfunction removeBurnOnBehalf</p>\n<p>function approveAllDelegatePowers (add delegate entries for all of the above including claimFeesOnBehalf)\nfunction removeAllDelegatePowers</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<!--The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages. The rationale may also provide evidence of consensus within the community, and should discuss important objections or concerns raised during discussion.-->\n<p>There should be additional functions to safeguard against potential rogue delegates after approval hence:</p>\n<ol>\n<li>Delegates will only be able to burn sUSD if the owner is in penalty and only up to the point where the penalty will be removed</li>\n<li>Delegates will not able to burn any sUSD to unlock the owner SNX tokens</li>\n</ol>\n<p>Technical consultation has been asked from Clinton (hav-noms) &#x26; Jackson(jacko125) (SNX core team) and initial feedback is that this is feasible</p>\n<p>Strategic backers for this SIP are SNX Discord Guardians - gmgh &#x26; Arthur</p>\n<p>Green light given by Kain to push this SIP forward</p>\n<p>Potential uses cases</p>\n<ol>\n<li>SNX stored in ledger wallet, delegate to your own hot wallet such as metamask wallet to do claim/burn/mint without worrying about broken ledger support on browser ever again</li>\n<li>Integration with 3rd party services to automate the weekly rewards claim and ensuring that you can always claim maximum rewards because your delegates can now fix your c ratio if you are in penalty</li>\n<li>SNX stored in hardware wallet, delegate to your own hot wallet such as metamask/trust wallet so that when you are traveling or away from home you will be still be able to claim for maximum rewards easily</li>\n</ol>\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<!--Test cases for an implementation are mandatory for SIPs but can be included with the implementation..-->\n<p><a href=\"https://github.com/Synthetixio/synthetix/blob/v2.21.6/test/contracts/DelegateApprovals.js\">https://github.com/Synthetixio/synthetix/blob/v2.21.6/test/contracts/DelegateApprovals.js</a>\n<a href=\"https://github.com/Synthetixio/synthetix/blob/v2.21.6/test/contracts/Issuer.js#L1703\">https://github.com/Synthetixio/synthetix/blob/v2.21.6/test/contracts/Issuer.js#L1703</a>\n<a href=\"https://github.com/Synthetixio/synthetix/blob/v2.21.6/test/contracts/Exchanger.js#L1230\">https://github.com/Synthetixio/synthetix/blob/v2.21.6/test/contracts/Exchanger.js#L1230</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<!--The implementations must be completed before any SIP is given status \"Implemented\", but it need not be completed before the SIP is \"Approved\". While there is merit to the approach of reaching consensus on the specification and rationale before writing code, the principle of \"rough consensus and running code\" is still useful when it comes to resolving many discussions of API details.-->\n<ul>\n<li>\n<p>Deprecate existing <code>DelegateApprovals</code> contract that is attached to FeePool and supports only setting delegation for single action/s.</p>\n</li>\n<li>\n<p>Doesn't require associatedState to be set to FeePool contract.</p>\n</li>\n<li>\n<p>User's can set their delegated approvals directly on the new <code>DelegateApprovals</code> contract and desired level of actions they want to give each approved delegate address.</p>\n</li>\n<li>\n<p>Synthetix / Issuer and FeePool will read from the <code>DelegateApprovals</code> as a single source of truth for the required delegations.</p>\n</li>\n<li>\n<p>Add EternalStorage pattern to new <code>DelegateApprovals</code> contract to allow adding new delegation powers but also not lose existing approvals that have been set.</p>\n</li>\n</ul>\n<p><a href=\"https://github.com/Synthetixio/synthetix/blob/master/contracts/DelegateApprovals.sol\">https://github.com/Synthetixio/synthetix/blob/master/contracts/DelegateApprovals.sol</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":"6cb43326-5164-5190-8d6e-4aeef5b437c9","frontmatter__sip":10,"__params":{"frontmatter__sip":"10"}}},"staticQueryHashes":[]}