Sushi Guard is the OpenMEV implementation for Sushiswap. This proposal is for upgrading the existing routing contract. The routing contract aggregates trade liquidity from multiple sources (UniswapV2 and SushiswapV1 currently). It also aims to bring OpenMEV rewards and rebate process on-chain, so that there is no need for manual processing of rebates/etc.
cross-dex backruns for swaps and liquidity changes
reduced slippage fallback router
The contract leverages and depends on 2 external protocols:
Aave V2 for flashloan backruns
UniswapV2/Sushiswap V1 (or equivalent on another network) for backrun completion and fallback swaps
Note, Kashi and AAVE usage are being prioritized before audit submission
We expect 6-8 weeks for Auditing and Frontend integration to take place, no longer than May 25th.
This proposal should not be voted on by snapshot until at least 2 community calls on this proposal have been had and discussed. First community call should occur on April 7th, second, April 21st potentially sooner.
Cost of implementation and auditing borne by Manifold Finance, with a conditional reimbursable of auditing costs to be disbursed by Sushiswap Treasury once Routing contract is published on Mainnet Ethereum.
This reimbursable cost should have a defined budget determined by Sushiswap ACD based on their informed expectations
Profits are immediately distributed to the Sushiswap Protocol. Sushiswap must designate an address to receive these rewards.
Rewards can be used to provide:
Rebates paid back in $SUSHI
Additional sources of paid incentives for Onsen incentives
For the User it aims to offer:
Better order routing for minimal slippage
At source MEV with instant rewards
Lower gas costs for swaps and liquidity changes
Efficient execution (with Manifold MEV protection relay)
For the Liquidity providers:
Reduced impermanent loss
For the Exchange providers:
For the Ethereum environment:
Reduced MEV attacks and fee spikes
Healthy growth in MEV space with inclusive incentives
We highly suggest to the Sushiswap team to utilize existing optimization solutions, such as that currently used by Onsen that is provided by Gauntlet Network, to be included in their parameter optimization updates that are provided weekly to be used as a ‘tunable gauge’ that can provide greater returns and impact dollar for dollar the entire community.
Prioritized are being designed and implemented, whereas considered may not be implemented in the release version of the Router Contract.
Kashi Integration see Kashi contract in repo - this is prioritized
Gasless transaction support (this is being considered)
Trident support (this is being prioritized)
Auditing is scheduled to undergo through yAcademy. We are arranging a time this week to start in earnest.
We are also reaching out to selected auditors that I will provide names once confirmed and paid for (2-3 weeks).
Documentation will be provided via this repo: https://github.com/manifoldfinance/sushi-doc-portal
Currently, this repo holds a partial port of the existing sushiswap documentation. You can visit the webpage via https://sushiswap-docs.vercel.app/
A few updates based on discussions we have had and feedback/questions we have discussed with people
We are removing the ‘ownership’ functionality for updating the split addresses for withdrawing profits. After talking about it with the team it seems unnecessary. If an address needs to be updated, which should be a rare event, we can just deploy a new contract. Since this contract is primarily used by the frontend to begin with, it would not be difficult to ensure that users were updated to the latest version.
We are only implementing backrunning into this routing contract: other forms of arbitrage are to be external of the routing contract. Users should never be left worst-off: we can not guarantee that with other forms of arbitrage, therefore only backrunning is to be implemented.
There should be, in conjunction with the update of the routing contract, an open source server/function for assisting in creating trades with the new routing contract.
Trident support may be implemented in a ‘side car’ routing contract that is to be used by TES for optimizing user submitted trades. Trident router is a little bit more complicated, so better anyways to offload this to a service than have to over-engineer UI safeguards
There will be a new subgraph specific to this new routing contract.
The analytics page will be updated to include volume/trades/etc from the new routing contract
By highest priority we have ranked additional features for V2 of the Sushi Guard Routing contract that should be prioritized in development/feedback/testing
- Vault position Trading (Bento/Kashi/Yearn/Rari/etc)
- Gasless Trading (similar to CowSwap)
- Trident support (1st class)
- Limit Order Support via TWAP (r&d)
Sushiswap can always utilize the existing routing contract. Nothing about usage of the new routing contract prohibits the underlying protocol from deciding to use another solution/etc.
The only updatable portion of the contract is determining the receiving address for profits. This is managed by a Two-Step Ownership contract see TwoSteOwnable
This portion of the contract is owned by the governance multi-sig, and may change depending on feedback received from Sushiswap ACD (all core devs).
Coordination with the Sushiswap team to reduce impact to end users will be coordinated through existing channels of communication that we maintain with the team for existing development coordination.
We will maintain a conformance monitoring suite that will monitor submitted transactions both public and private for real time monitoring of potential exploits that are attempted in real time. This system provides defensive monitoring and may include in the future offensive countermeasures including, but not limited to, potential block reorgs should the exploit be acknowledged within a quick enough time.
THESE MATERIALS ARE PROVIDED “AS IS”.
The owners and contributors expressly disclaim any
warranties (express, implied, or otherwise), including implied
warranties of merchantability, non-infringement, fitness for a
particular purpose, or title, related to the materials. The entire risk
as to implementing or otherwise using the materials is assumed by the
implementer and user. IN NO EVENT WILL THE OWNERS AND CONTRIBUTORS BE
LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY
CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS
GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT
(INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER
PARTICIPANT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
Implement the Router Contract upgrade
Do not implement the router contract upgrade
- Yes, For
- No, Against