uniswap / interface Goto Github PK
View Code? Open in Web Editor NEW๐ฆ Open source interfaces for the Uniswap protocol
Home Page: https://app.uniswap.org
License: GNU General Public License v3.0
๐ฆ Open source interfaces for the Uniswap protocol
Home Page: https://app.uniswap.org
License: GNU General Public License v3.0
Entered 0.1 ETH and now not sure what to click.
Calculate-Input-given-exact-output
use big number
Calculate-Input-user-specifies-output
DoD:
When user paste token address of a token and the token is not on our dropdown:
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:
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
Do trades get matched in single-price batches?
or is this a continuous markets?
Important because continuous markets are not secure against front running.
Cipher browser was acquired by Coinbase
Cipher deeplink should be replaced with coinbase wallet
Coinbase Wallet by Toshi https://itunes.apple.com/us/app/coinbase-wallet/id1278383455?mt=8
Calculate-Output-given-exact-input
USE BIG NUMBER
Refer to implementation in swap page - start from componentWillReceiveProps
DoD:
The above should work for:
Currently exchange rate is calculated by a formula when user change input
DoD:
Token balance should display 0 instead of NaN
1rem border-radius for token icons that load as squares.
See below
https://cl.ly/de0c73b062fa
Drizzle should be updating the balance automatically when Transfer
event is fired. However, the event is getting fired, but balance is not updating.
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
https://hackmd.io/hthz9hXKQmSyXfMbPsut1g?view#ethToTokenTransferInput
onClick
and exchange-utils
ethToTokenTransferInput
on the exchange contract/
should redirect to swap
and make button selectedCurrencyInputPanel
and the corresponding exchange's approval amount for the user is lower than the user's specified input, we should show:The CTA buttom should also be in an inactive state if exchange does not have approval.
The user should be able to click on unlock create an ApprovalTx for decimals * 10^8
(ping @chikeichan for more details)
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:
When Tx is confirmed, the UI should be updated to allow trading.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.