* first pass of sdk 3.0
* second pass using weth
* kill unused pool popup
* get it compiling again
* first pass of sdk 3.0
* switch to currencies
* get it compiling after the big move merge
* restore margin
* clean up add liquidity more
* fix a bunch of bugs
* todo trade on v1
* show eth in currency list
* allow selecting eth in the swap page
* fix unit tests for swap page
* test lint errors
* fix failing integration tests
* fix another couple of failing unit tests
* handle selecting currency b when no currency a
* improve the import pool page
* clean up add liquidity for invalid pairs
* bold
* first pass at swap arguments for v1, some unit tests
* fix some bugs in add liquidity, burn hook
* fix last of ts errors in remove liquidity
* support wrapping/unwrapping weth
* kill a bunch of code including the dummy pairs
* required pair prop in the position card
* tests for the v1 swap arguments
* do not say estimated on the wrap ui
* show ETH instead of WETH in the pool summaries
* small size socks
* fix lint error
* in burn, use currencies from the URL
* fix some integration tests
* both contain weth
* receive eth/weth link
* fix empty row
* show wrapped only if one currency is weth
* currency selects in the remove liquidity page
* deleting some code first
* strict, some refactoring
* denser common bases
* more add liquidity refactoring
* add liquidity paths working
* show common bases in the token selects
* fix the ability to select duplicate tokens
* useless rename
* try to handle alllll the duplicate token edge cases
* think i got them all lol
* remove common bases header
* Revert "remove common bases header"
This reverts commit 6ac4565d
* fix and add integration tests
* make gap between rows smaller
* get integration tests actually running again
* try another format of the command, upgrade serve
* frozen lockfile on install
* try the cypress github action
* install cypress in ci
* remove redundant ignore-scripts command
* use a specific github commit for the pinata action
* fix a bug in the multicall reducer, improve token list rendering performance
* improve the enter key on the token search modal
* stop using history.push
* fix linting errors
* position card cleanup before updating to match mock
* swap-v1
* toggle the version switch based on the search query parameter
* rework some of the query parameter stuff in send/swap
* hide the url when they click it
* allow switching back to v2 via the toggle
* represent the v1 trade in the UI if they toggle it on
* show trade link in both directions (5% threshold for v1 link)
* input amounts should reflect v1/v2
* perform the approve on v1 exchange for v1 trades
* get swap on v1 working
* move some code around to reduce duplication
* fix ts error
* correct input allowance
* fix exact token to token on v1
* fix pending approvals to be specific to the spender
* google analytics for swap version
* disable the version switch on pages other than swap and send
* use single call to get token information
* delete the bytes32 overload
* console log statement
* add a bunch of tests to actions.ts for multicall
* fix to work with bytes32 symbols/names
* only include name/symbol
* enforce lowercase calldata
* 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
* give add liquidity the reducer treatment
rename setDefaultsFromURL to setDefaultsFromURLSearch
* fix tests and crash
* rework DOM structure to make flow more natural
* allow slippage + deadline setting in add liquidity
* disable token selection in mint
clear input between pairs
* 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
* Revert "Temporarily disable the token warning for style fixes"
This reverts commit 70722b5e
* Move pages around and refactor to better support rendering content outside the app body
* Automatically add tokens in the add and remove liquidity pages
* Put the warning above the send/swap pages
* Add a margin below the token warning cards
* Save token warning dismissal state in user state
* Linting errors
* style fix
* Make typescript compilation strict in some new code
* Fix other errors, change how we set dark mode to always respond to url parameter
* Fix bug in block number
* 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>
* 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
* 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
* 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
* TypeScript in the utils directory, README fixes
* Remove unused methods
* Added unnecessary space
* Some env variable cleanup
* Bug in change
* Another file to ts
* 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>
* update injected loading state
* basic setup
* add contexts
* minor changes
* refactor balances and USd price
* small tweaks
* clean up balances context code
don't store usd price except in hook
refactor getUSDPrice to make clear it's sync
* add small memo
* skeleton for migration - still need links and adrdess of new contract
* update render conditions
* fix close on click
* updated warning logic
* add mcd to token list
* changes before merge
* remove unused imports
* add checksums