I would like to introduce you to SushiPro.
First of all, I started to develop this interface because I needed to trade some coins, and I was tired to navigate on multiple tab to see the current price of one , the current price of the other, the cost on SushiSwap, and my chart on tradingview.
Secondly, as I said on a previous post, the simpler it is, the more useful is.
The interface is currently in development, but I think it will be finish within 2 weeks.
How it works :
- General informations ( Liquidity USD + Liquidity ETH + Number of pairs ) are directly asked using SubGraph
- Token + Pair available + Pair Liquidity are also directly asked using SubGraph
- The price of ethereum is provided by Binance API ( pair: ETHUSDT )
- The price of any token is calculated with SubGraph derivedETH * the ethereum price
- To request a swap, it works exactly like https://exchange.sushiswapclassic.org/, I used the code here : https://github.com/sushiswap/sushiswap-classic-exchange
- Charts is generated by TradingView, people can easily add indicators, draw, compare with other coins or change the current pair.
The interface is light and load very fast.
The interface doesn’t send too much request to SubGraph : for example, it loads all TOKEN, and after you choose a token, it loads all pairs available for THIS token ( not for all ) . Less request = more faster .
It’s not finished, I have to include ( on the right side ) the swap interface with slippage options, and I want to add the Limit Order Feature.
An amazing useful DEX.
Here is the interface, it works fine on every browsers.
I will probably put the code online.
If you have any features to request, feel free to write here.
I hope some of you will use, because me, yes !
P.S : Of course, if needed, I can change the name
I love the idea of separating the regular SushiSwap interface and one which is more geared specifically towards traders. Coinbase is a great example of this, their regular consumer-facing app is super simple, user friendly, and will convert to sales very well for the average customer. Then their pro application is geared specifically towards traders. I quite like this model, it keeps things simple and tailored to the consumer.
Some type of gas indicator would be helpful (i.e INSTANT = 95 gwei, Fast (<1 min) = 67 gwei, etc.).
@ImSoftware , I think the same, and more : most of people who own cryptocurrencies have habit to use exchange like Okex / Binance / Kraken and i’m pretty sure most of them have never use MetaMask / WalletConnect .They need to be reassured by using an interface they already know. The only change, IMO, must be : the login = metamask / walletconnect .
@throbbingred Good idea. I will add some Ethereum stats provided by Etherscan.
Really like the looks of it. I am by no means an active trader at this point but I feel SushiPro could act as my spring board towards being a more serious trader in the crypto space. Thanks for your hard work and contribution!
My vote is for CoinGecko. I recommend creating a poll for this?
Yes, it’s probably better even if, in my opinion, it’s legit to use the SushiSwap menu ^^
Here is the poll :
Which list to use by default for the Token menu ?
- SushiSwap Menu
Here is the progress :
- Wallet detection, connection, balance update = OK
- Get last transactions from Etherscan, get the number of pending transactions = OK
- Load all pairs from list and get informations such as Liquidity, Price, Volume … from Subgraph = OK
- Load and interact with last web3.js ( v1.3.0 ) instead of the version injected by Metamask ( 0.20.7 ) = OK
- Interface animation, effect with update on each event = OK
Next task = Interact with SushiSwap contract to start swapping
Thanks for the update. If you need more testers, feel free to let us know =)
@SushiAllDay Thank you, when it will be ready I will put the beta online, you will be informed here
a short update :
- The function to find all routes possible is finished, the calcul take less than 0.2seconds
- The function to calcul the price impact of a market order is finished : I apply the strict formula, which is the variation between RESERVE_TOKEN_INPUT/RESERVE_TOKEN_OUTPUT and (RESERVE_TOKEN_INPUT+QUANTITY_SENT) / (RESERVE_TOKEN_OUTPUT-QUANTITY_RECEIVED) .
I will add some informations about how a market order works, for small size it’s not a problem, but for others, it can have some bad effects when there are multiple simultaneous swap in the same pool. The user is still protected by the minimum amount received.
So, the user will always see the minimum amount received, the maximum amount, the maximum received, the price impact, the estimated price impact and the fees.
- The function to show the balance of each ERC20 token owned by an address is finished
What I have to do now :
- Generate the queries to send to SushiSwap contract
- Add some UI features, like a step bar to choose how much percent of your current balance you want to spend ( 0% - 25% - 50% - 100% )
- Set the settings menu
- Create a light theme
- Create a short animation with bubble for beginners , like " Step 1 , click here to connect your wallet " , "Step , you can do this… "
Again 10-15 days before fully finished I think, I hope.
Even if it will be the first version, I want something who work perfectly with minimum features.
I just see that @OmakaseBar have developed this :
I don’t know if SushiPro will have an utility now.
After talking with @OmakaseBar , I think SushiPro can still co-exist with this really pretty interface.
SushiPro will be more oriented for trading, including more datas and some trading algorithms.
I go back to work
Interesting… Didn’t know about Omakase Bar… Gonna check it out.
In your opinion, will you please explain how SushiPro can complement Omakase Bar?
@SushiAllDay , at this time, fundamentally different.
The interface provided by @OmakaseBar use the same code of SushiSwap.fi & integrate the TradingView charts, which is a very good idea and demonstrate how easily is to use the SushiSwap components as a plugins. And I think it’s the best way for new users !
SushiPro is fully reprogrammed and optimized to be used by pro traders :
SushiPro doesn’t use the SDK " sushiswap-sdk " for more flexibilities and for more precisions : fees showed in SushiswapClassic & Lite are not exact, and the estimation of the price impact of a market order isn’t true, percentage is rounded with 2 decimals, what can be disturbing for large orders size , even more when you have 3 hops ( TOKEN_A -> TOKEN_B -> TOKEN_C -> TOKEN_D ) because fees & price impact are recursive.
SushiSwapClassic & Lite are fast, but not enough for a trading activity, SushiPro intend to load very fast by using a dedicated network architecture, with, at the beginning , a server to store in real-time all informations needed ( price, liquidity, transactions… ) with Redis & InfluxDB, another one for the interface and again another one for the API. In a near future, after the launch, if people use SushiPro, I expect a migration to KDB+ ( used by High Frequency Trading firm & Bitmex for example ) . When you have to : load the balance of each token owned by an address , load the last transactions, load the last price, load the best route, in a same time, the architecture must be flexible and each action has to be loaded independently
Features : Traders often use Smart Order Routing algorithms to find the best price possible, it’s why, with SushiPro precision, for large and small size, it will be very very more precise . TWAP can be used to automatically buy every X minutes , X tokens. For example, every 10 minutes, 50 ETH of SUSHI. It will be difficult to implement this function, but I have an idea of how to. And of course, some other features small by small, I have a short list
Fast API : because of the architecture , it will be very easy, after the launch, to provide an API for people who want to request the price, the best route, the number of transactions…
To shorten it : SushiPro is an interface that I need for me, and I guess, for other people. But probably 80% will use the actual interface, and it’s really good like that ! There is no competition, we all use SushiSwap
a short update :
- Queries used to call the sushiswap contract is : swapExactETHForTokens , swapExactTokensForTokens and swapTokensForExactETH
- Small amelioration of the UI
- When a user want to know the price for X tokens, the server will call the same API that I will publish ( screenshot below )
Still a lot of work and tests, but it looks like SushiPRO is coming really soon.
Screenshot of the API answer for 10 DAI -> USDC
A small update.
All functions used to interact with the Sushiswap contract is finished, tested and work perfectly.
I’m adding now some UI features and Quant data
The beta is coming
Thanks for taking the time explain all these to us. Really appreciate the effort!
Also, looking forward to SushiPro’s beta!
First of all, happy new year to everyone !
This is the final road before the launch of the beta.
Here is lasts screenshots :
- The main UI, but I think now you already know it
- The QUANT area
- Settings menu
- The error when a transaction has been canceled / refused