Commit Graph

395 Commits

Author SHA1 Message Date
Noah Zinsmeister
e667615449
support proposed new FoT-capable methods (#866)
* support new FoT-capable methods

short-circuit modal footer rendering if no trade

improve clarity of tx modal flow

* update router address + ABI
2020-06-05 18:40:02 -04:00
Moody Salem
98d25dd2af
perf(cleanup): remove the material ui dependency for the input range 2020-05-30 21:22:59 -04:00
Moody Salem
73d3df05f2
perf(network connector): use an inline network connector until improved connector is pushed upstream 2020-05-30 02:03:02 -04:00
Moody Salem
9c1fe53e4b
perf(ethereum): reduce number of calls by batching all polling node calls (#840)
* initial refactoring

* rebase lint error

* start implementing reducer

* multicall reducer

* working multicall!

* clean up performance, re-fix annoying error

* use multicall everywhere

* use multicall for balances

* fix lint warning

* Use checksummed address

* Fix strict warning

* get it to a working state with the more generic form

* convert useETHBalances

* Remove the eth-scan contract completely

* Remove the eth-scan contract completely more

* Default export

* Put the encoding/decoding in the methods that can do it most efficiently

* Avoid duplicate fetches via debounce

* Reduce delay to something less noticeable

* Return null if pair reserves are undefined to indicate it does not exist
2020-05-28 21:17:45 -04:00
Moody Salem
6926f9a4ae
fix(flatMap): don't use the native flatMap function, bump release plugin version 2020-05-27 09:29:53 -04:00
Moody Salem
7b9b332c42
fix(popover): ios safari not showing the popover 2020-05-25 01:39:50 -04:00
Moody Salem
a0d4710a11
perf(Search modal): performance improvements (#829)
* Search modal performance improvements

* Move more code out of the search modal

* Add the question helper to the search

* Fix a couple lint errors

* Fix the tests, duplicate import text

* Hide the token info on small screens, flex the list

* Fix token sorting, have a link that focuses and shows a tooltip for the search input

* Remove reach tooltip css

* Fix pair balances in the search modal

* Get the arrow working

* Only clear the input when they re-open

* Better way to exclude props

* More small performance tweaks
2020-05-23 12:06:16 -04:00
Moody Salem
2ff5ce62db
chore(package.json): every dependency is a dev dependency, clean up generated release description 2020-05-21 15:47:52 -04:00
Moody Salem
384c3cada4
Add integration test, change ipfs deploy into daily release workflow 2020-05-20 22:31:05 -05:00
Moody Salem
0b8d05b696
Add a new target for deploying to IPFS (#819)
* Add a new target for deploying to IPFS

* verbose command

* Try the github action
2020-05-20 16:10:26 -05:00
Moody Salem
095beae0c2
Refactor ExchangePage into Swap and Send pages (#774)
* Part 1, separate swap and send, move duplicate code into separate files

* Move some more constants out of the swap/send

* Support defaults from URL parameters

* Implement query string parsing via a redux action

* Finish merging the changes

* Fix the slippage warnings

* Clean up some other files

* More refactoring

* Move the price bar out of the component

* Move advanced details and some computations into utilities

* Make same improvements to send

* Approval hook

* Swap page functional with swap callback hook

* Swap/send page functional with swap callback hook

* Fix lint

* Move styleds.ts

* Fix integration test

* Fix error state in swap and move some things around

* Move send callback out of send page

* Make send behave more like current behavior

* Differentiate swap w/o send on send page from swap w/o send on swap page

* Remove userAdvanced which was always false

* Remove the price bar which is not used in the new UI

* Delete the file

* Fix null in the send dialog and move another component out of send

* Move the swap modal header out to another file

* Include change after merge

* Add recipient to swap message

* Keep input token selected if user has no balance and clicks send with swap

* Move the modal footer out of send component

* Remove the hard coded estimated time

* Fix the label/action for swap/sends

* Share the swap modal footer between swap and send

* Fix integration test

* remove margin from popper to suppress warnings

fix missing ENS name recipient link

default deadline to 15 minutes

* ensure useApproveCallback returns accurate data

* clean up callbacks

* extra space

* Re-apply ignored changes from v2 branch ExchangePage file

Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
2020-05-16 16:55:22 -05:00
Moody Salem
1380f865a9
Place tooltips better on smaller screens 2020-05-16 10:44:26 -04:00
Moody Salem
0733cdd63c
Fix trade routing to not throw 2020-05-13 19:57:12 -04:00
Moody Salem
9006acb4c5
Balances rewrite (#761)
* Create the wallet store

* Get the updater completed

* Code complete

* Fix token balance bug

* Fix another bug in the hooks

* Final bug fix, blockNumber can be undefined

* Formalize the fact that block number can be undefined

* Woops add package

* Add more info to errors

* Replace balances in the v1 methods with the new ones

* Only return a balance value if it's present

* Address comments

* Trigger updateVersion before anything else
2020-05-13 16:36:45 -04:00
Ian Lapham
3a2566b4e7
Changes to useReserves, escapreRegex moved to utils, code cleanup (#762)
* bug fixes on non-existent vs no reserves, fix scanning on pair search, small ui tweaks

* remove unused vars

* remove mainnet in injected connector

* code cleanup for pr

* update pair value check
2020-05-13 14:16:52 -04:00
Moody Salem
c9db5fb276
Change slippage calculation in trade page as discussed (#756)
* Change slippage calculation in trade page as discussed

* Revert test change

* Fix the missing import
2020-05-13 13:59:54 -04:00
Moody Salem
822f9e5fe2
Connect integration tests (#757)
* Connect a testing wallet

* Replace with a funded address

* Fix the balance checking and adding logging
2020-05-13 08:29:54 -04:00
Moody Salem
19a53cd999
Rewrite localstorage context (#749)
* Rewrite the local storage context into a redux store for user data

* Separate out the mega methods

* Fix infinite loop

* Missing dependency

* Missing dependency, rename version field
2020-05-12 14:46:58 -04:00
Moody Salem
6da8e2c84d
Introduce redux for one of the state stores (#742)
* Introduce redux for one of the state stores

* Remove unused state

* Clean up hooks

* Add types for react-redux and fix error from any type on useSelector

* Strongly type the web3 provider

* Make the popup content into a POJO

* Lint errors

* Clean up method call

* Fix lint error

* Fix lint error

* Lint
2020-05-11 18:23:01 -04:00
Noah Zinsmeister
d40d81ca6a
noah changes (#739)
* remove duplicated prettier from dependencies

* use swr for allowances

* slight improvements to error cascading

* fetch totalsupply with SWR

fetch pairs with SWR (except persistent pairs, will be refactored later)

* fix lint error

* stop using pair context, instead store per-user pairs in local storage

* add more pairs to the default list

remove unnecessary isWETH

fix lint error

* add more bases to trade consideration

* fix lint warnings

* get SWR data on same schedule

* don't pass value if it's 0

fix WETH equality checks

* clean up fixed/significant formatting

* fix slippage calculation bug in swap

add slippage to remove

* fix token logos

* show fewer sig figs

* lint error

* remove unused signer

* add calculateSlippageAmount safety check and tests

* fix useAllBalances type

stop spuriously sorting token amounts of different tokens

use slightly better comparisons for slippage calculations

* improve priceSlippage comparison logic

* useReserves -> usePair

* use checksum for DAI logo address
2020-05-11 16:39:05 -04:00
Moody Salem
843d5e790a
Done with linter errors! 2020-05-08 18:32:36 -04:00
Moody Salem
3b3f281319
Use eslint/prettier for typescript files 2020-05-08 14:50:27 -04:00
Moody Salem
86fa969d6b
Types for react-router-dom, stop lazy loading each route (#735)
* Types for react-router-dom, stop lazy loading each route

* Couple small fixes to README.md
2020-05-08 12:05:52 -04:00
Moody Salem
28b24036c6
Cypress (#734)
* Add some basic integration tests and CI in GitHub

* Add push trigger

* Add badge for tests to readme

* Unit tests

* Just use the development infura URL in the tests

* Remove unused webpack config

* Make integration test run on the same port as yarn start

* make test a little bit better

* rename describe
2020-05-08 11:38:33 -04:00
Moody Salem
a1a9d9f041
Type safety for styled components (#733) 2020-05-08 11:24:47 -04:00
Noah Zinsmeister
cb00e0baa5
migrate full away from ethers v4 to v5 (#728)
move some pacakges from dependencies to dev dependencies

bump versions
2020-05-07 19:53:08 -04:00
Moody Salem
7fcecc22d9
TS migrations and commit hash in code link (#730)
* TypeScript in the utils directory, README fixes

* Remove unused methods

* Added unnecessary space

* Some env variable cleanup

* Bug in change

* Another file to ts

* App.tsx

* Header and Footer to tsx

* Few more TS migrations and add a commit hash title to the uni icon

* Few more TS migrations and put commit hash in code link

* Splitting up files

* Splitting up files (merged dark mode changes)
2020-05-07 18:52:26 -04:00
Moody Salem
b6b094acb3
remove unused functions, typescript (#725)
* TypeScript in the utils directory, README fixes

* Remove unused methods

* Added unnecessary space

* Some env variable cleanup

* Bug in change

* Another file to ts
2020-05-07 14:36:26 -04:00
Noah Zinsmeister
64dd09f2cc
update to latest deploy (#712) 2020-05-05 16:36:22 -04:00
Noah Zinsmeister
c3d8bc7ed5
Localstorage and routing improvements (#704)
* remove tokens context in favor of localstorage

refactor localstorage

improve adding custom token flow

* drop exchange language

* ensure url tokens are added to localstorage

clean up routing

remove unnecessary output approval checks

* fix bad import

* Remove unused imported checks

* remove unused imports

Co-authored-by: Ian Lapham <ianlapham@gmail.com>
2020-05-04 17:56:10 -04:00
Ian Lapham
3f1d7ab310
add basic structure for advanced mode (#703)
* add basic structure for advanced mode

* auto dismiss popup

* Remove test code

* remove shadow

* Update advanced section, ui tweaks, balances back inline

* fix memory leak

Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
2020-04-30 21:14:29 -04:00
Ian Lapham
006fe9b325
Updated context keys, remove logs (#680)
* updated keys in pair context

* fix bug on imported liquidity

* Add price bar and spacing tweaks

* Header tweaks

* Base for token import, query params, styling updates

* remove unused imports

* query params, create flow

* set ETH as default for create

* Style tweaks and price bar location

* add mobile popups, mobile styling on header

* updated mobile styles

* style updates mobile, fix build

Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
2020-04-22 17:22:13 -04:00
Ian Lapham
eaf8d5a39c
Add routes through ETH (#665)
* add fix for ETH balance fetching

* add tokens to other testnets

* update with Exchange -> Pair

* routes throuh ETH

* fix logs

* fix conflict
2020-03-26 12:42:06 -04:00
ianlapham
6211dff044 typed pages 2020-03-20 16:03:23 -04:00
ianlapham
2ca3bf8da3 add slider to remove 2020-03-05 22:57:41 -05:00
ianlapham
236c3030e1 stable state for swaps, add, and remove eth (no remove token token yet) 2020-03-04 13:48:43 -05:00
ianlapham
753e5f3423 stable version with updated balances, add liquidity using SDK, pair menu search 2020-02-26 12:00:59 -05:00
Noah Zinsmeister
a13efac66b
bump ethers version (#623) 2020-02-02 17:23:42 -05:00
Noah Zinsmeister
61ae7119a9
address spam (#587) 2020-01-06 19:47:23 -05:00
Noah Zinsmeister
a87ffbee7c
version bump (#575) 2019-12-23 16:28:10 -05:00
Noah Zinsmeister
22e859bea5
bump injected connector version (#538) 2019-12-06 11:40:30 -05:00
Noah Zinsmeister
fb4b4fd3e2
fix dapp browsers hanging 2019-12-05 16:58:30 -05:00
Noah Zinsmeister
790fe3f327
hot fix for dapp browsers 2019-12-05 16:29:53 -05:00
Ian Lapham
794bbd88b2 Update to loading state for injected desktop browsers (#532)
* update injected loading state

* update styles

* update injected connector

* center spinner
2019-12-05 14:58:22 -05:00
Ian Lapham
015c9f8598 Hosted wallets (#528)
* formnatic setup

* stable with new hosted

* stable version, fortmatic and portis

* fix safari bug

* cleanup

* add white version of arrow

* update options to tabbable buttons

* update injected version

* style tweaks

* style tweaks, remove portis connector
2019-12-04 17:31:56 -05:00
Ian Lapham
795caac4fd Wallet Support with web3-react v6 (#514)
* basic support for desktop and mobile, with or without web3

* stable before mobile view update

* mobile modal views

* remove unused modules

* create global context for wallet modal, update to click button to connect

* first pass

* drag with react pose

* try without pose

* replace context with new syntax, basic setup

* stable version on all browser types

* remove dev flags

* fix swap broken

* update to clickable connect button if logged out

* stable, good entry

* fix bugs, exit animations

* prep for merge

* stable version with updated application context

* update animations with correct gesture package

* refactor wallet logic to multi-root

* small fixes

* Style Updates

* remove unused imports

* refactor wallet page
2019-11-25 17:56:31 -05:00
Ian Lapham
4f566ab0c2 Add Custom url parameters (#423)
* query params for input and output currencies

* add slippage option

* add slippage cusytom param

* updated for sender address

* add field and amount support

* update params for pool page

* finish basic url support

* update app format

* update error checking to top level

* update for all pages

* fix build

* param updates

* fix slippage to basis points, update theme text, refactor to minimize lookups

* fix code styles

* update theme logic, remove extra setting, update rounding

* remove eslint comment errors

* remove logs, ignore lock

* remove lock
2019-09-17 18:47:32 -04:00
Noah Zinsmeister
ecd7175315
improve network connectivity (#441) 2019-09-06 19:15:22 -04:00
Ian Lapham
677537ca31 Updates to Token Modal (#399) 2019-08-12 20:37:32 -04:00
Noah Zinsmeister
be2012cdf5
fix deprecated switch component (#409) 2019-08-12 19:19:03 -04:00
Callil Capuozzo
c28884f44b Add theme toggle and footer (#400) 2019-08-07 14:58:29 -04:00
Matheus Faria de Alencar
58804714be fix: closes #334 (#335) 2019-06-14 10:31:05 -04:00
Noah Zinsmeister
b7f49672de
merge beta to production (#317)
* update SNX exchange and token address (#301)

* update SNX exchange and token address

* checksum exchange address

* Account improvements (#302)

* begin account migration

* prep for styling

* improve multi-network support

allow deprecated window.web3 providers

* kill old modal

* remove tests

* clean up css

* Style account modal

* kill scss

* bug fixes

* use suspense for code-splitting and i18n

move abis

add ENS support to Web3Status

* Account modal mobile styles

* style tweaks

* finalize migration

* fix account styling

* fix ethereum svg

* fixes

* Split wallet modal into components

* refactor wallet modal and add connect button styles

* removing tap highlights

fix spacing on some mobile browsers

* Styling fixes for account and warning

* clean up injected connector logic

* remove console

* add wrong network copy

* restore border radius

change wallet logo

* various improvements (#313)

* add unchecked signer

* remove focus underline from tabs

* update tokens

* remove console log

* remove snx for now

* make slippage warnings more robust

* memo-ize contexts

* improve slippage styling

* fix warnings + bugs

* clear stale network error

* Feather icons (#314)

* Remove fontawesome

* Update new SNX exchange and new token address (#316)

* Update new SNX exchange and new token address

* remove whitespace

* checksum exchange address
2019-05-30 16:42:25 -04:00
Noah Zinsmeister
2f0e2fb234
Beta cleanup (#285)
* improve context logic

* fix font-variant

* add dependencies for later

* fix icon
2019-05-14 10:19:09 -04:00
Noah Zinsmeister
78cdf11b37
Liquidity migration (#279)
* finalize initial migration

* remove redux

* fix token to token rate bug

* finalize initial migration

* fix test
2019-05-07 22:25:55 -04:00
Noah Zinsmeister
44d77ce948
Swap Migration (#277)
* migrate core logic

* finalize swap migration

* upgrade react-scripts and fix errors/warnings

* finalize swap, modularize currency input

* remove console.logs

* copy swap logic for send

* remove unnecessary variable

* tighten caching logic

* snappier ens integration
2019-05-03 16:37:59 -04:00
Noah Zinsmeister
4e413915f8
web3-react migration (#269)
* put suspense below redux

* don't mount qr

* properly format .json's

* remove useless Web3Connect component

* remove react-responsive header logic

* finalize initial web3-react migration

* add rudimentary network support

* address ci/cd issues

* fix syntax

* add infura support

rewrite create-exchange

closes #173

* remove CI flag, lazy loaded disabled for now

* roll back /pool

* fix currency input errors

fix valid state of buttons

* fix nav

* obscure env variables

* fix mobile header bug
2019-04-25 12:12:47 -04:00
Noah Zinsmeister
f855706f0d
update i18n; kinda fix tests; remove stale dependencies (#266) 2019-04-15 20:06:39 -04:00
Noah Zinsmeister
fff0718404
add travis support; clean up public/ 2019-04-15 14:05:54 -04:00
Noah Zinsmeister
71376cf7db
set up eslint and prettier; run prettier 2019-04-15 12:56:40 -04:00
Noah Zinsmeister
093c4c0c21
update dependencies 2019-04-15 12:06:54 -04:00
Noah Zinsmeister
1dadec3179
prep for netlify integration 2019-04-15 11:14:03 -04:00
Ross Bulat
b38b41a1f5
Merge branch 'master' into remove-animated-switch 2019-01-12 15:19:35 +07:00
maggie-5miles
520b9a58d6 i18n support 2019-01-11 19:24:20 -05:00
Ross
fa61db21b2 subtle 2019-01-09 11:57:26 +07:00
Chi Kei Chan
7db118e841 Add GA 2018-10-28 04:05:08 -07:00
Chi Kei Chan
bd28ef8dd8
Add Warning Messages and various fixes (#100)
* Fix summary panel in Remove Liquidity

* Add warning message

* Add wrong network warning and env vars
2018-10-28 03:06:53 -07:00
Chi Kei Chan
6b5621fe29 Remove Drizzle; Header MediaQuery 2018-10-27 16:43:16 -07:00
Kenny Tran
ade904d22e Approve / unlock functionality (#66)
* Initial approve / unlock functionality

* Refactor out getdecimal/getbalance. Add in approval limit

* Change validateBalance to shouldValidateBalance

* Add deepEqual and shouldComponentUpdate

* Use web3 toHex util

* Add pending icon and use
2018-10-19 22:53:14 -07:00
Chi Kei Chan
c691cfabe8
Handle frontend route in Netlify (#46)
* Add Netlify route

* Add route handling to netlify
2018-10-17 03:42:41 -07:00
Chi Kei Chan
c3123a49e1 Get token balance 2018-10-10 03:16:57 -07:00
Chi Kei Chan
bab0217d6c Add Drizzle to manage web3 and smart contracts call 2018-10-10 03:16:57 -07:00
Chi Kei Chan
06bb5a954c Add transition to route changes 2018-10-10 03:16:57 -07:00
Chi Kei Chan
c524f613f0 Add dialog for when web3 is not found 2018-10-10 03:16:57 -07:00
Chi Kei Chan
c51eae9fd3 Connect to Web3 and get current wallet address 2018-10-10 03:16:57 -07:00
Chi Kei Chan
1d86c0d656 Add Token Select Modal 2018-10-10 03:16:57 -07:00
Chi Kei Chan
e0cc2b59d1 Add Header 2018-10-10 03:16:57 -07:00
Chi Kei Chan
6b894511c4 Add React Router to home page 2018-10-10 03:16:57 -07:00
Chi Kei Chan
f97155d6b3 Add Sass and create pages directory 2018-10-10 03:16:57 -07:00
Hayden Adams
0a5042e07e random fixes and temporarily remove price graph 2018-05-09 11:15:45 -04:00
Uciel
5441faeddd polish data visualization 2018-03-31 21:44:48 -04:00
Hayden Adams
72b968778b display user balances, minor changes 2018-03-26 23:18:15 -04:00
Uciel
22845601b9 major render refactor, minor logout error 2018-03-20 00:11:30 -04:00
Uciel
67f3234828 first chunk of redux refactor complete 2018-03-11 00:50:54 -05:00
Callil Capuozzo
c6457bbfb8 Add cookies to store app state
also store transaction history to review. Next step - listing
transaction status.
2018-01-22 15:08:19 -05:00
Callil Capuozzo
f570c4686a Add UX features
Detect all metamask states
UX for approve transactions
UX for getting more ETH from faucet
UX for submitted transactions
Toggle about
2018-01-22 14:05:22 -05:00
Hayden Adams
7da0ec7ca7 add github pages deploy script 2018-01-20 21:34:40 -05:00
Hayden Adams
6101352e25 add github pages dependency and CNAME 2018-01-20 21:28:50 -05:00
Hayden Adams
9099c7390f update web3 2018-01-19 17:01:35 -05:00
Callil Capuozzo
a9b8740734 Initial design & interactions
Began porting some function and state names to more generic descriptors
like inputToken & outputToken thats align more closely with the
proposed UX model in this design. Needs discussion.
2018-01-18 14:11:51 -05:00
Hayden Adams
d0c9ec58d7 prompt metamask install 2017-12-01 17:54:41 -05:00
Hayden Adams
23ebf9753a add relative homepage path 2017-11-27 02:22:50 -05:00
Hayden Adams
edf709551b update to web3@1.0 2017-11-23 22:05:02 -05:00
Hayden Adams
ab891d1b2c first demo release 2017-11-02 16:43:27 -04:00
Hayden Adams
fa98ce4dd0 first commit 2017-10-28 03:55:27 -04:00