From f34653d21ca22963d22c660af398d80a62577bbc Mon Sep 17 00:00:00 2001 From: Nenad Vracar <34926005+nenadV91@users.noreply.github.com> Date: Thu, 31 Mar 2022 17:14:18 +0200 Subject: [PATCH] [Hotfix :fire: ] - 1.12.8 (#2628) * 1.12.4 * Fix FAQ pages (#2621) * Fix FAQ pages * Fix content and const links Co-authored-by: fairlight <31534717+fairlighteth@users.noreply.github.com> --- src/custom/constants/index.ts | 8 ++ src/custom/pages/About/index.tsx | 11 +- src/custom/pages/Faq/GeneralFaq.tsx | 162 ---------------------------- src/custom/pages/Faq/index.tsx | 50 +++++---- 4 files changed, 38 insertions(+), 193 deletions(-) delete mode 100644 src/custom/pages/Faq/GeneralFaq.tsx diff --git a/src/custom/constants/index.ts b/src/custom/constants/index.ts index a33776146..63264bca6 100644 --- a/src/custom/constants/index.ts +++ b/src/custom/constants/index.ts @@ -100,6 +100,14 @@ export const CODE_LINK = 'https://github.com/gnosis/gp-swap-ui' export const DISCORD_LINK = 'https://chat.cowswap.exchange' export const DUNE_DASHBOARD_LINK = 'https://duneanalytics.com/gnosis.protocol/Gnosis-Protocol-V2' export const TWITTER_LINK = 'https://twitter.com/mevprotection' +export const GPAUDIT_LINK = 'https://github.com/gnosis/gp-v2-contracts/blob/main/audits/GnosisProtocolV2May2021.pdf' +export const FLASHBOYS_LINK = 'https://arxiv.org/abs/1904.05234' +export const COWWIKI_LINK = 'https://en.wikipedia.org/wiki/Coincidence_of_wants' +export const GNOSIS_FORUM_ROADTODECENT_LINK = 'https://forum.gnosis.io/t/gpv2-road-to-decentralization/1245' + +// MEV Metrics from https://explore.flashbots.net/ +export const MEV_TOTAL = '606 Million' +export const FLASHBOTS_LINK = 'https://explore.flashbots.net/' // 30 minutes export const GAS_PRICE_UPDATE_THRESHOLD = 30 * 60 * 1000 diff --git a/src/custom/pages/About/index.tsx b/src/custom/pages/About/index.tsx index 55a73a9e8..ceacdd92a 100644 --- a/src/custom/pages/About/index.tsx +++ b/src/custom/pages/About/index.tsx @@ -2,6 +2,7 @@ import Page, { Title, Content, GdocsListStyle } from 'components/Page' import styled from 'styled-components/macro' import { Link } from 'react-router-dom' import { ExternalLink as ExternalLinkTheme } from 'theme' +import { MEV_TOTAL, FLASHBOTS_LINK } from 'constants/index' // Assets import diagramIMG from 'assets/cow-swap/cowswap-diagram.png' @@ -44,7 +45,7 @@ export default function About() {
Every time you and another trader each hold an asset the other wants, your trade is settled directly without
using an AMM (Automated Market Maker) and therefore without incurring any slippage + fees. Only amounts that
- can’t be settled with other CowSwap traders are sent to the underlying AMMs.
+ can't be settled with other CowSwap traders are sent to the underlying AMMs.
This economic phenomenon is known as Coincidence Of Wants (CoW).
@@ -63,7 +64,7 @@ export default function About() {
You sign a trade message which is submitted to CowSwap’s off-chain service
CowSwap’s off-chain service optimizes your trade’s execution by considering:
+CowSwap's off-chain service optimizes your trade's execution by considering:
Coincidence Of Wants
@@ -91,9 +92,9 @@ export default function About() {
- Heard about Maximum Extractable Value yet? It’s scary. To date more than{' '}
- CowSwap is the first trading interface built on top of CoW Protocol.
- CowSwap is a Meta DEX aggregator that allows you to buy and sell tokens using gasless orders that are
- settled peer-to-peer among its users, or into any on-chain liquidity source while providing MEV protection.
-
- Cowswap is built on top of the CoW Protocol which matches trades via batch auctions for a variety of
- on-chain liquidity sources.
-
- Trades can be settled via underlying on-chain AMMs directly or via DEX Aggregators, depending on which
- pool/path offers the best price. It is thus essentially acting as a DexAggregator of the DexAggregators.
-
- In addition to that, before finding the best price for a trade from available on-chain liquidity, CoW
- Protocol first seeks a coincidence of wants within the existing batch to offer an even better price than any
- pool can.
-
- Defined by Phil Daian et al. in the{' '}
-
- Since January 2020 until now (March'22), the total amount of value extracted by miners (etc.) on
- Ethereum transactions has reached{' '}
-
-
- This means, on CowSwap, when two traders each hold an asset the other wants, a trade can be settled directly
- between them without an external market maker or liquidity provider. This leads to better prices for the
- individual traders (because traditionally market makers add a fee — referred to as spread — for their
- service).
-
- CowSwap allows for coincidence of wants (CoWs) orders to be traded directly against one another. Only the
- excess order amounts that cannot be settled directly with other CowSwap traders are sent to the underlying
- AMMs (automated market makers).
-
- CowSwap leverages batch auctions with uniform clearing prices for all trades in the same batch. Because of
- the uniform clearing price, there is no need for ordering the transactions within a single batch. Because
- everyone receives the same price across assets it’s not possible for any value to be extracted by
- placing transactions in a certain order. This prevents the primary strategy used in MEV.
-
- Batches are decentrally settled by external, independent parties (called “solvers”) on-chain. A solver is a
- person or entity who submits order settlement solutions that maximize trade surplus for a given batch.
- Solvers are incentivized to implement professional transaction management techniques that allow them to set
- very tight slippage bounds on any interactions with external liquidity sources (e.g., trading CoW excess on
- Uniswap). This dramatically reduces the manipulation surface of miners and front-runners.
-
- Additionally, depending on the composition of the orders that are submitted and are valid for a given batch,
- the existence of CoWs may significantly reduce the amount that has to be exchanged via external MEV-prone
- protocols, such as Uniswap.
-
- CowSwap settles batch auctions in discrete time intervals. In the absence of other traders, CowSwap matches
- traders against the best available on-chain liquidity (note: currently the solvers have integrated liquidity
- from Uni v2, Uni v3, Balancer, Balancer v2, Sushiswap and the liquidity that Aggregators such as Paraswap,
- Matcha and 1inch leverage).
-
- If CoWs (Coincidence of Wants) orders exist in a batch, the “smaller” order is matched fully with the larger
- order. The excess of the larger order is settled with the best available base liquidity CowSwap integrates
- with, which is, for now, Uniswap. The clearing price for both orders will be the price of the token with the
- excess amount on external liquidity sources to which the protocol is connected.
-
- Finding the best settlement for orders is a challenging task, which very soon may have its own{' '}
-
- As of August 11th, 2021, CowSwap is no longer in alpha and moves to a final, stable version. The underlying
- CoW Protocol Smart contracts have been upgraded to integrate tightly with Balancer v2.
-
- With this upgrade, CowSwap evolves into its most stable, performant form: the code has been thoroughly and
- carefully tested, peer-reviewed and fully{' '}
-
CowSwap is the first DEX Aggregator offering some protection against it: COWs enable tight slippages and can
diff --git a/src/custom/pages/Faq/GeneralFaq.tsx b/src/custom/pages/Faq/GeneralFaq.tsx
deleted file mode 100644
index a2f031503..000000000
--- a/src/custom/pages/Faq/GeneralFaq.tsx
+++ /dev/null
@@ -1,162 +0,0 @@
-import Page, { Content } from 'components/Page'
-import { ExternalLinkFaq, Wrapper } from './styled'
-import { StyledInternalLink } from 'theme'
-import { Footer } from '.'
-
-import { useToC } from './hooks'
-import ToC from './ToC'
-
-export default function GeneralFaq() {
- const { toc, faqRef } = useToC()
-
- return (
- General
- What is CowSwap?
- What makes CowSwap a "Meta" DEX aggregator?
-
- What is MEV and how much MEV has been extracted from users to date?
-
-
-
- To what does the term Coincidence of Wants (CoWs) refer?
-
-
-
- How am I protected from MEV (Arbitrage, Front running, Sandwiching) with CowSwap?
-
-
- How does CowSwap determine prices?
-
- Is CowSwap secure to use?
-
-
Defined by Phil Daian et al. in the{' '}
-
- Since January 2020 until now (July'21), the total amount of value extracted by miners (etc.) on Ethereum
- transactions has reached{' '}
-
-
@@ -122,8 +126,8 @@ export default function Faq() {
CowSwap leverages batch auctions with uniform clearing prices for all trades in the same batch. Because of the uniform clearing price, there is no need for ordering the transactions within a single batch. Because - everyone receives the same price across assets it’s not possible for any value to be extracted by - placing transactions in a certain order. This prevents the primary strategy used in MEV. + everyone receives the same price across assets it's not possible for any value to be extracted + by placing transactions in a certain order. This prevents the primary strategy used in MEV.
@@ -158,10 +162,7 @@ export default function Faq() {
Finding the best settlement for orders is a challenging task, which very soon may have its own{' '}
-
With this upgrade, CowSwap evolves into its most stable, performant form: the code has been thoroughly and
- carefully tested, peer-reviewed and fully{' '}
-