Giter Club home page Giter Club logo

interface's Introduction

Uniswap Labs: Front End Interfaces

An open source repository for all Uniswap front end interfaces maintained by Uniswap Labs. Uniswap is a protocol for decentralized exchange of Ethereum tokens.

Interfaces

Socials / Contact

Uniswap Links

Whitepapers

Apps

For instructions per application or package, see the README published for each application:

Releases

All interface releases are tagged and published to this repository. To browse them easily, see the Github releases tab.

Translations

Translations for our applications are done through crowdin.

App Coverage
web Crowdin
mobile Crowdin

๐Ÿ—‚ Directory Structure

Folder Contents
apps/ The home for each standalone application.
config/ Shared infrastructure packages and configurations.
packages/ Shared code packages covering UI, shared functionality, and shared utilities.

interface's People

Contributors

aballerr avatar callil avatar cartcrom avatar cbachmeier avatar chikeichan avatar cmcewen avatar crowdin-bot avatar dependabot[bot] avatar gbugyis avatar github-actions[bot] avatar grabbou avatar haydenadams avatar hello-happy-puppy avatar ianlapham avatar jackshort avatar jfrankfurt avatar just-toby avatar kayleegeorge avatar kennyt avatar kristiehuang avatar lint-action avatar lunreclipse avatar lynnshaoyu avatar moodysalem avatar natew avatar noahzinsmeister avatar pp-hh-ii-ll avatar tinaszheng avatar vm avatar zzmp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interface's Issues

Show "Install MetaMask" instead on Desktop

If a user visits the site with a non-web3-enabled browser on DESKTOP, we should ask the user to install MetaMask or Brave, instead of Trust Wallet

DoD:

  • user sees metamask on desktop
  • user still see trust on mobile

Handle Swap Success

DoD

  • After use confirm tx, the form should be cleared and return to empty state (clear input, output, inputCurrency, outputCurrency, and lastEditedField)

Balances for ERC20 is not getting updated

Drizzle should be updating the balance automatically when Transfer event is fired. However, the event is getting fired, but balance is not updating.

  • investigate why drizzle isn't updating
  • we might have to manually handle the event to update ERC20 balance

Inactive state for CTA button

screen shot 2018-10-12 at 1 24 39 am

background: #E5E5E5;

DoD:

  • Implement inactive state for CTA Button
  • hook up inactive state to all form. If form is invalid, CTA should be inactive

Connect Send page with exchange-utils

Refer to implementation in swap page - start from componentWillReceiveProps

DoD:

  • when i enter input, output should be updated
  • when i enter output, input should be updated (verfy with the reverse of input > output)

The above should work for:

  • ETH to ERC20 Swap
  • ERC20 to ETH Swap
  • ERC20 to ERC20 Swap

Quick Fixes

  • (estimated) should go to input if user type in output
  • / should redirect to swap and make button selected

Approval and Unlock

Documentation

Specs

Summary

  • In order for a user to perform any ERC20 to X swap, the cooresponding exchange must already have approval to move tokens on behalf of the user

DoD

  1. When a token is selected from CurrencyInputPanel and the corresponding exchange's approval amount for the user is lower than the user's specified input, we should show:

screen shot 2018-10-16 at 7 59 38 pm

  1. The CTA buttom should also be in an inactive state if exchange does not have approval.

  2. The user should be able to click on unlock create an ApprovalTx for decimals * 10^8 (ping @chikeichan for more details)

  3. if you use drizzle's cacheSend method to make the ApprovalTx, the corresponding tx should be automatically stored and watched by the drizzle store. You should be able to use that state to render this:

screen shot 2018-10-16 at 8 04 36 pm

  1. When Tx is confirmed, the UI should be updated to allow trading.

  2. You should be able to use something like redux-localstorage to store the drizzle transactions and transactionStack state in localstorage, and rehydrate when the app refresh. The goal is to store pending tx hash in localstorage, so that when user refresh and come back to the site later, the pending state will still persist. We should only store what's necessary, meaning that we should only keep transactions and transactionStack instead of the entire redux state.

continuous or discrete market?

Do trades get matched in single-price batches?
or is this a continuous markets?

Important because continuous markets are not secure against front running.

Update Exchange Addresses

Exchange addresses here are all outdated and won't work:
https://github.com/Uniswap/uniswap-frontend/blob/master/src/ducks/addresses.js

Token addresses should be the same. Here are the new exchange addresses on Rinkeby:

BAT
Token: 0xDA5B056Cfb861282B4b59d29c9B395bcC238D29B
Exchange: 0x9B913956036a3462330B0642B20D3879ce68b450

DAI
Token: 0x2448eE2641d78CC42D7AD76498917359D961A783
Exchange: 0x77dB9C915809e7BE439D2AB21032B1b8B58F6891

MKR
Token: 0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85
Exchange: 0x93bB63aFe1E0180d0eF100D774B473034fd60C36

OMG
Token: 0x879884c3C46A24f56089f3bBbe4d5e38dB5788C0
Exchange: 0x26C226EBb6104676E593F8A070aD6f25cDa60F8D

ZRX
Token: 0xF22e3F33768354c9805d046af3C0926f27741B43
Exchange: 0xaBD44a1D1b9Fb0F39fE1D1ee6b1e2a14916D067D

Error state for testnet

Error state for when a user is connected to web3, signed into metamask, but NOT on ethereum mainet. ie when they're on a testnet

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.