S

Smart Swap

An All in one platform where you can use Uniswap, Compound for your ETH-ERC20, ERC20-ETH, ERC20-ERC20, and ERC20-CTOKEN Swaps and Buy NFT's.

The problem Smart Swap solves

Exchanging has been part of human civilization right from when humans began trading, in the early phase, it was Barter system which was used to exchange goods between two parties, fast forward to the modern age we have blockchain to trade goods(represented by monetary units of tokens).

Now it's possible to trade without trusting the opposite part thanks to guarantees provided by blockchain

First, we have Order-Book based Dexes for transacting between multiple parties, They had their weaknesses such as :
No fair pricing
multiple transactions just to do a simple exchange of two tokens
Bad UI/UX and many more
Then we had the introduction of AMM by Vtalik which led to the creation of bancor and uniswap
This solved quick exchange swap for many users

Issues we face with Ethereum :
15-sec transaction confirmation
High gas prices which make transacting anytime you want difficult
Waiting for hours due to high gas prices which can affect the price you get when trading(Makerdao black Thursday is such an example)
We need a place for fast exchange
Thankfully we have plasma sidechain bound to main Ethereumnetwork which solves many problems with scalability without sacrificing much decentralization.

We have come up with plasma exchange solution with fast exchange and fewer gas fees

Users can visit test website link and login using wallet of their choice by clicking on connect

They can transfer their assets from Mainnet to Matic network using the bridge

If Users want to buy Land Tokens they can select NFT

If Users want to buy any ERC20 Token they can buy using swap page by selecting tokens from dropdown

They can swap and send tokens to another address using send page

They can provide their assets to be available for exchange and collect fees

Functionality
Token(ERC20)-Token(ERC20) conversion
Dai->Cdai(Compound Dai) conversion
Token(mana)->NFT(Land) conversion
Login using multiple wallets(Portis,Torus,Fortmatic,walletconnect,metamask)
ETH-Token(ERC20,ERC721) conversion

Challenges we ran into

There were plenty of challenges that we ran into as a team, there were many deployment issues that we faced since were integrating the existing protocols in matic, secondly one of the most important things we had to decide since we were integrating the existing Defi Protocols to Matic, we had to understand how the js side of things would work so had to choose how we're to build our JS architecture, we first wanted to include Kyber as well and started off by deploying all kyber contracts, after some time we got them deployed and decided to build on Kyber Widget but that was completely incompatible since all our tx showed weird balance results after the swap took and we weren't able to debug since there was no tenderly support for testnet v3 at that time and we didn't know that the timeline would get extended, so we decided to go with Uniswap and Compound and tried to use their architecture, and initially the funny thing was with their contracts we started getting gas related issues on v3 , so we decided to switch to v2 and it worked like a charm, Another issue that we ran into was when the deadline got extended, we decide to implement the nft market place bounty as well by creatng out own custom nft token and trying swapping with ETH/MANA but during the testing phase we started getting issues, but then we had discussions with Matic Team and that got solved.

Discussion