* Migrate Trending Collections: first pass
* Adding types for react-table
* Forgot to add yarn.lock
* Update sprinkles colors and add accentSuccess to match Figma
* Style cleanup
* Fix overlap on activity items and text wrapping on Value Prop
* Update header to new typography name
* Make entire table row link to collection
* Remove duplicated navigate() on table row
* Use borderStyle: none (sprinkle) instead of hidden
* Use common typography style for table header row
* Sprinkles for rank styles
* Sprinkles for TrendingOptions border styles
* Update color on trendingOption active state
* Restore useEffect to hide certain columns on mobile
* forgot to save one file
* Update accent color
* Use isMobile instead of breakpoint check
* feat(widget): sync transaction states
* s
* waiting on type release
* slippage is all that remains
* finalize tx integration
* pr feedback
* pr feedback - else if
* update @uniswap/widgets to 2.7
* add slippage tolerance from transaction.info
* Expand typing to match new QuoteResponse from routing api
* lint autofix
* Expand InterfaceTrade class to match router-sdk and allow mixedroutes
* Add new routing-api poolInRoute logic for client side trade
* eslint fix ==
* Add custom mxiedProtocolBadge and add into badgeDiagram
* Bump router-sdk to published version, and install latest local SOR
* git checkout main yarn.lock && yarn && npx yarn-deduplicate
* Bump SOR to 2.9.2
* bump SOR to 2.9.2
* Update yarn.lock
* revert slice.ts
* Add guesstimate logic for mixedRoutes
* Oops wrong pool import lol
* Add beta url + expand protocols array
* Add forceMixedRoutes for testing
* Fix cyrpress build issue: no-loop-func
* Change to prod url and remove testing param
* remove protocol flag
* Revisions: getRouteProtocol helper, fix gas acc for mixed route
* revert protocols array abck
* Remove :Protocol
* initial
* add to index
* show more logic
* split up
* nvm combine
* combine more
* loading state for the app
* no conditional
* rm var
* comment
* move comment
* add control specifically
* chore: upgrade react-router-dom to v6
* migrate Redirect to Navigate
* use Routes instead of Switch
* migrate useHistory to useNavigate
* use To type
* use element
* work around activeClassName
* fix typing for useParams
* deduplicate
* fix Navigate
* add e2e tests
* visit /swap directly
Co-authored-by: Vignesh Mohankumar <me@vig.xyz>
* feat: Support for Celo
* fix: wrong condition
* combine celo and alfajores lists
* use celo erc20 representation
* fix: refactor infura.ts to networks.ts & add celo to rpc urls
* feature: add celo contract addresses
fix: remove celo from supported gas estimate chains until feature is available
* refactor: useUSDCPrice to useStablecoinPrice
fix: add celo to supported gas estimate chains
* fix: use unique factory address for getting pool address
* fix: darkmode background graident
* fix: removing a comment left behind
* fix: remove bad import
* fix: remove dead link until the Celo is live on info.uniswap.org
* fix: add asset to common bases & minor refactoring
* fix: celo info links point to root info.uniswap.org
* fix: change celo token bridge to portal
* fix: update redux-multicall to latest version
* refactor: for code readability
* fix: celo banner colors & remove unused alternative logo
* fix: change celo token list to hosted version
* fix: update celo banner colors
* fix: move celo to the bottom of the network selector list
* fix: dedup dependencies @uniswap/router-sdk @uniswap/v3-sdk
* fix: refactoring + move Celo above L2s
* fix: update celo contract addresses
* fix: update celo subgraph
* fix: update v3-sdk and smart-order-router versions
* fix: move Celo to the bottom of the network selector list
* fix: downgrade smart-order-router and add casting fix
* fix: downgrade smart-order-router and add casting fix
* fix: resolve Pool dependency
* fix: bridge chain id types
* fix: explorer link test
* fix: use quoter v2 ABI in useClientSideV3Trade fro Celo
* fix: update connection "infura_rpc" to networks
* fix: revert yarn.lock and force install
* fix: dedup router and v3 sdk
* refactor: mv quoter v2 to client side v3 trade
* build: dedup lockfile
* feature: add portal ether to common bases
* fix: add comment for chains that use QuoterV2
* fix: use token as native asset
* fix: supply correct factory address to getPoolAddress call & refactor nativeOnChain method
* feature: adjust celo tokens presetned
* fix: update celo explorer to celoscan
* fix: celo token casting
* fix: celo celo explorer it
* fix: celo chain info should be consistent with block explorer used.
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
* fix: always-fresh service worker cache
* chore: clarify service-worker
* fix: cache in CacheStorage
* feat: set __isDocumentCached
* add back in manifest precaching
* add unit tests (incomplete)
* test: simplify test env
* test: add service-worker cypress test
* test: service-worker document handler
* fix: CachedDocument ctor
* fix: Readable for ReadableStream in jest
* build: clean up module loading
* fix: rename commands->ethereum
* build: simplify package.json deps
* build: clean up cypress usage
* build: clean up yarn.lock
* build: record cypress runs
* build: disable chromeWebSecurity in cypress tests
* build: rm babel
* build: disable sw in ci cypress
* build: nits
* build: update workbox version
* chore: fix merge
* test: cache
* test: cypress-ify the before hook
* test: clear sw before each test
* fix: cy then
* test: cypress shenanigans
* style: lint
* chore: rm todo
* test: fail fast for service worker with dev builds
* docs: update contributing to tests
* fix: clean up tests after merge
- Add fast fail in case of dev server, which lacks ServiceWorker
* fix: inject ethereum
* test: service worker
* test: increase sw timeout
* test: sw state
* test: run cypress in chrome
* feat: add on-demand caching to improve sw startup time
* test: test dynamically
* fix: simplify cached doc
* fix: optional sw
* fix: expose response on cached doc
* fix: stub out sw req
* fix: intercept
Co-authored-by: Christine Legge <christine.legge@uniswap.org>
* fix: avoid json named imports
This is required by webpack 5, and is done to keep the widgets library compatible.
See https://webpack.js.org/migrate/5/#using-named-exports-from-json-modules
Note that this must be done upstream as well, in @uniswap/v3-sdk and @uniswap/router-sdk.
* chore: bump v3-sdk to avoid json named imports
* start SOR by creating custom widget hook
* update best trade hook to use SOR in widget
* update organization for client side SOR logic
* fix auto router chain id import
* remove dependency on react GA for widget
* update dependencies for SOr
* remove new useBestTrade.ts
* update loading logic for fetching hook
* update dependencies with import from ethersproject
* update import version
* add try catch on SOR usage
* code cleanup, nit fixes
* fix: token image for chains / natives
* feat: include native currency in select
- Updates widgets swap state to use Currency (and deals with downstream updates)
- Refactors logoURI code to a new lib/hooks/useCurrencyLogoURIs
- Adds native currency to useQueryTokenList
NB: This does not build because tests must be updated to use Currency (they currently use mock tokens)
* test: update fixtures to use real currency
* fix: data uri color extraction
* fix: token img state
* fix: use new array
* feat: design system (#2622)
* refactor: mv setInterval to lib (#2621)
* chore: widget tooling (#2620)
* chore: remove global styles from cosmos viewer
* chore: add generated svgs to bundle
* chore: alias lib within lib
* feat: widgets swap settings and arch (#2629)
* style: update theme
* feat: grid-based row/column
* feat: widget/modal arch
* feat: tooltip arch
* feat: atoms arch
* feat: swap settings
* chore: update deps
* fix: input width
* refactor: modularize Tooltip
* feat: add grow to Row
* style: true prop
* refactor: clean NumericInput
* fix: customizable data structure
* chore: sort styled-components
* fix: import ReactNode
* fix: svgr index generation
* chore: run tests on widgets (#2635)
* chore: widgets nits (#2636)
* fix: restrict type color to theme
* feat: add types
* fix: input width
* fix: header divider
* fix: eslint
* fix: color name
* fix: use inputs for a11y (#2646)
* fix: clearable customizable
* feat: accent hovered select option
* feat: custom slippage color
* fix: use buttons for a11y
* fix: widgets styles (#2654)
* style: add body1
* refactor: modularize theme/components
* refactor: modularize all text Input
* fix: toggle opacity
* test: fixture arch
* feat: rm gas price select
* fix: toggle styles/strings
* feat: mock toggle
* fix: dialog overflow clipping
* fix: mix-blend-mode for safari
* fix: clip-path for safari svg
* fix: mock toggle content
* fix: input margin
* fix: input and cursor
* fix: validate . input
* fix: unused useMemo
* feat: widgets empty state (#2657)
* refactor: TextButton
* feat: inline icons
* feat: swap empty state
* feat: define TokenSelect
* fix: always inline icons
* feat: recent transactions (#2661)
* feat: wallet button
* fix: tx deps
* feat: widgets token select (#2685)
* fix: line height of 1
* fix: button margin
* fix: update styles
* feat: token select
* refactor: mocks and types
* feat: close dialog on esc
* feat: focus input on token select
* refactor: layer swap elements
* feat: use token color
* fix: widget theme
* fix: use vibrant
* chore: lodash types
* fix: fixture props
* feat: smoother color extraction
* fix: vibrant dep
* perf: extract input token color too
* feat: eased token background
* feat: token color prefetching
* chore: mv polished to deps
* chore: package management
* fix: token background transition
* fix: better color transitions
* feat: widgets UI (#2742)
* feat: add swap states
* fix: widget-global box-sizing
* feat: desaturate and opacity on token approval
* feat: red balance on balance insufficient
* fix: states
* feat: action button
* refactor: action button
* feat: loading spinner border
* fix: typescript errors
* fix: token color transition
* fix: unused typings
* feat: swap summary sans tooltip
* refactor: swap state
* feat: swap summary
* refactor: simpler swap names
* fix: cutoffs around footer
* refactor: recent txs
* refactor: buttons
* feat: tx status
* fix: consistent formatting
* feat: tx error
* test: tx error
* test: widget decorator
* style: theming
* fix: clean up dialogs
* fix: clean up swap
* fix: clean up overlays
* fix: action button text on hover
* fix: pickAtom
* fix: pickAtom typings
* fix: smoother error transition
* feat: enter for toggle
* fix: select tabbing
* refactor: simplify dialogs
* feat: widgets polish (#2757)
* fix: loading spinner fallback for safari
* fix: use border for focus
* refactor: token options
* fix: use react toggle event
* fix: token select
* fix: inert content when modal
* fix: windowed token select
* chore: mv windowing utils to deps
* fix: windowing with no rerender
* feat: widget i18n (#2765)
* feat: configure widget i18n
* i18n: wrap translatable strings in macros
* fix: rm lib/locales
* refactor: t to trans
* feat: cosmos locale selector
* chore: widgets nits (#2786)
* fix: tooltip color
* fix: tx ttl tooltip
* fix: tooltip positioning
* fix: token list padding top
* style: responsive tx
* nit: fix summary copy
* chore: change byline
* feat(widgets): add new @web3-react cosmos decorator (#2799)
add new @web3-react cosmos decorator and provider api to widget
* feat: token color mock (#2878)
* chore: merge main into widgets (#2893)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* chore: yarn-deduplicate
* chore: lint widgets
* fix: use lib useInterval
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
* chore: merge main into widgets (#2923)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* fix: fix layout of proposal list items on the vote page on mobile (#2898)
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix: typo in arweave URI recognition (#2901)
* deleted files
* Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)
This reverts commit bf7a40be7a0a37b5051b9a877bbea563fba5782d, reversing
changes made to 097b8361d4c09afd3cb681c4622145c555ced884.
* fix: inadvertent merges/reverts (#2915)
* Revert "Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)"
This reverts commit 7d343dcfbdf75a2f91d28cefce84e4b1bace7b87.
* Revert "deleted files"
This reverts commit 097b8361d4c09afd3cb681c4622145c555ced884.
* refactor: Replace multicall implementation with library (#2768)
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
* feat: Multicall lib integration for widgets (#2946)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* fix: fix layout of proposal list items on the vote page on mobile (#2898)
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix: typo in arweave URI recognition (#2901)
* deleted files
* Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)
This reverts commit bf7a40be7a0a37b5051b9a877bbea563fba5782d, reversing
changes made to 097b8361d4c09afd3cb681c4622145c555ced884.
* fix: inadvertent merges/reverts (#2915)
* Revert "Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)"
This reverts commit 7d343dcfbdf75a2f91d28cefce84e4b1bace7b87.
* Revert "deleted files"
This reverts commit 097b8361d4c09afd3cb681c4622145c555ced884.
* refactor: Replace multicall implementation with library (#2768)
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
* package.json tweaks
* add multicall lib and some basic provider things
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
* feat: widgets style update (#2939)
* feat: widgets empty state (#2951)
* chore: mv onHover to computed theme; reduce to 0.16
* chore: transparentize primary on hover
* chore: transparentize dynamic primary on hover
* style: restrict icon usage
Restricts icons to lib/icons. This ensures that icons are loaded as singletons outside of the React lifecycle. Doing otherwise hinders performance.
* fix: logo mix-blend-mode
* wip: empty states
* fix: accent/active colors
* wip: empty states
* fix: input hover states
* nit: specific user select
* nit: button transition
* nit: no button transition
* chore: better cosmos toggles
* chore: load inter
* make cosmos work with new required widget props (#2956)
* separate connector atoms (#2959)
* fix: widgets nits sans summary/status (#2960)
* fix: dynamic scrollbar
* feat: system theme hook
* nit: settings
* nit: large settings icons
* fix: accessible color computation
* fix: ignore status scroll for now
* fix: ignore txs scroll for now
* feat: widgets summary (#2980)
* fix: output first in toolbar
* fix: widget height
* feat: token color extraction toggle
* fix: header sizing
* fix: height nits
* chore: re-arch sub pages
* nit: height
* feat: border radius as range
* fix: exclude cosmos setter from hook deps
* feat: default width to 360
* feat: type classes
* fix: header height
* fix: default cosmos width to 360
* refactor: icon button
* wip: summary
* fix: scrollbar
* feat: summary
* fix: summary expando
* fix: widgets transitions (#2983)
* fix: action button height
* fix: summary scrollbar fading
* fix: summary fixture
* fix: action button transitions
* feat: widgets status (#2987)
* fix: action button height
* fix: summary scrollbar fading
* fix: summary fixture
* fix: action button transitions
* refactor: commit spinner as svg asset
* feat: status dialog
* fix: spinner rounding
* feat: widgets fonts and transitions (#2998)
* feat: fonts using @fontsource
* feat: dialog transitions
* fix: swap transitions
* Refactor use active web3 react (#3002)
* separate connector atoms
* refactor cosmos and set up widgets env var
* fix: cosmos modularization (#3014)
* fix: cosmos modularization
* fix: web3 in atom provider
* feat: make connectors resettable
* drop empty test (#3022)
* Revert "feat: make connectors resettable"
This reverts commit db5af68b9be1edf4d6e1b7dc8ed2004f19e33f16.
* undo dumb open reorder
* bump widget web3-react versions
* bump to fix tests
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
* chore(widgets): Merge main into widgets (#3013)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* fix: fix layout of proposal list items on the vote page on mobile (#2898)
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix: typo in arweave URI recognition (#2901)
* deleted files
* Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)
This reverts commit bf7a40be7a0a37b5051b9a877bbea563fba5782d, reversing
changes made to 097b8361d4c09afd3cb681c4622145c555ced884.
* fix: inadvertent merges/reverts (#2915)
* Revert "Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)"
This reverts commit 7d343dcfbdf75a2f91d28cefce84e4b1bace7b87.
* Revert "deleted files"
This reverts commit 097b8361d4c09afd3cb681c4622145c555ced884.
* refactor: Replace multicall implementation with library (#2768)
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
* fix: introduce safeNamehash (#2925)
* namehash -> safeNamehash where necessary
* cleanup
* address comment
* feat: Add learn more link in TRM description (#2919)
* Add learn more link in TRM description
* Update src/components/PrivacyPolicy/index.tsx
Co-authored-by: Justin Domingue <judo@uniswap.org>
* give a bit more gas to balanceOf (#2943)
* fix: memoize hooks from /swap (#2949)
* fix: memoize hooks from /swap
* chore: rm console
* add fix for polygon proposal title (#2974)
* fix: display Uniswap token list in UI (#2821)
* fix: display Uniswap token list in UI
* chore: remove default-token-list build dependency
* fix: use ENS name for Uniswap token list
* fix: change Uniswap token list url
* fix: extend transaction deadline to 3 days (#2982)
* feat: integrate SwapRouter02 on L1/L2 + gas ui
* client-side smart order router support
* support auto router on L2s
* add swap router version in approval/swap callback GA events to save $ on approval txs
* add persistent UI view of gas estimate on L1s
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
* Update CONTRIBUTING.md (#2992)
* feat: Update contribution spec (#2993)
* Update CONTRIBUTING.md (#2994)
* Update CONTRIBUTING.md (#2995)
* feat: Update contribution spec (#2996)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: double scroll in manage token list (#3020)
* fix double scroll
* remove bottom padding
* restrict walletlink to mainnet only (#3024)
* increase warning timer (#3004)
* add index.html styles to widget
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
Co-authored-by: Barry G <bgitarts@gmail.com>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
Co-authored-by: Tina Zheng <59578595+tinaszheng@users.noreply.github.com>
* feat: widgets transitions (#3007)
* fix: logo target
* feat: settings transition
* feat: reverse transition
* fix: transitions will-change and durations
* fix: logo color
* fix: only will-change transform
* fix: header targets
* fix: clip modal transitions
* fix: token select header
* fix: safari transparent gradients
* fix: safari scrollbar
* fix: scroll overlay
* fix: safari bounce jank
* fix: firefox overscroll
* refactor: scrollbar hook
* feat: native event hook
* fix: details nowrap
* fix: settings cog transition
* feat: expando icon
* fix: expando transition
* refactor: cosmos web3 integration (#3052)
* chore: use zustand 4.0.0-beta for dynamic stores
* chore: use strict mode
* refactor: clean connector state
* chore: mv web3 state to cosmos selectors
* chore: dedup yarn.lock
* chore: define EthereumProvider in lib
* fix: destructure would not compile
* fix: make it bundle
* chore: prune deps
* refactor: use error handler instead of GA
* chore: add make-plural
* chore: add redux
* chore: yarn dedup
* chore: do not (re)load default locale
* fix: center error headings
* feat: error dialog for boundary
* fix: tighten up transitions
* test: include bundle depcheck
* fix: rm console
* fix: do not load empty sourceLocale
* fix: no lingui defaults
* refactor: mv svg to assets/svg
* chore: block font display
* fix: remove manual zustand resolution
* fix: svg generation script
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
* chore: widget placeholders (#3061)
* chore: update comments
- typo
- performance comment was performant on retest
* nit: status placeholders
- prevent flashes of rerendering from lazy-loaded elements
* chore: initialize cosmos with json rpc
* refactor: token img component
- modularize the TokenImg
- add a placeholder for UX and broken images
* fix: recent tx token img usage
* pr feedback
* undo REACT_APP_IS_WIDGET network ternary
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
Co-authored-by: Barry G <bgitarts@gmail.com>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
Co-authored-by: Tina Zheng <59578595+tinaszheng@users.noreply.github.com>
* client-side smart order router support
* support auto router on L2s
* add swap router version in approval/swap callback GA events to save $ on approval txs
* add persistent UI view of gas estimate on L1s
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
* fix: display Uniswap token list in UI
* chore: remove default-token-list build dependency
* fix: use ENS name for Uniswap token list
* fix: change Uniswap token list url
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
Updates node-vibrant to use a webpack-compatible version.
lodash was implicitly installed through node-vibrant (and its lack of tree-shaking); with this fixed, lodash is no longer provided.
* fix(i18n): do not defer render on locale
Do not defer render on locale load. This delays the initial render of the page, effectively delaying to LCP.
Lingui allows the page to render with no text while a locale is loading. A fallback locale is only used when loading a locale fails - not while it is pending.
* perf(i18n): include default language in initial bundle
* add @davatar/react for robust avatar support
* remove @metamask/jazzicon, unused
* move @davatar/react to devDependencies
* pin exact version for @davatar/react
* initial routing api integration
* add routing api slice
* display route in dialog
* addressed pr feedback
* improved routing
* switch to `get`
* first pass at integration new MultiRouteTrade
* initial implementation of RoutingDiagram
* add RoutingDiagram tests
* improve tests in RoutingDiagram
* integrate with v3-sdk 3.3.1
* removed references to MultiRouteTrade
* revert swapcallback
* fix abi compilation error
* added useRoute hook to build a Route from edges and nodes
* added react-hooks-testing-library
* integrated latest changes
* renamed router hook to routerTrade
* improve integration
* fixed routing
* usability
* mock RoutingDiagram children to reduce size
* undo mocked children
* adjust ui
* better support long routes
* use routing api logo and adjust ux
* set default percent to 0
* added intermediary hook to combine local and routing api trades
* added intermediary hook to combine local and routing api trades
* make account optional
* improve ux
* improve router
* fixed duplicate pool bug and inputAmount undefined bug
* extract input/outputAmounts from routes
* add todo
* fixed uninitialized issue and added %
* fixed tests
* fix duplicate pool bug
* added routing api setting
* change router label based on router version
* improve useRoutes and fix duplicate pool bug
* debounce routing api/local routing
* removed single hop setting
* fix bug when moving between v2/v3
* consider isUnitialized non loading
* ui fixes
* reverted change to usedebounce
* use new route schema
* visual updates
* log quoteId for polish session
* fix: persist advanced swap details toggle state
* fix no route found
* poll every 10s
* derive currencies from pool rather than input
* polish query status handling in useRouterTrade
* removed RouterVersion
* update ui
* update ui
* update loading state
* animate auto router
* apply loading treatment to out
* disable routing api on l2 and support auto slippage
* use opacity on the whole element
* show loading card when syncing
* updated gradient
* polished ui
* create routerlabel component
* disable router on all bu mainnet
* polish
* feat: [draft] routing api polish (#2224)
* show loading card when syncing
* updated gradient
* polished ui
* create routerlabel component
* disable router on all bu mainnet
* polish
* polished loading state
* add dashes
* fixed tooltip styles
* fixed merge conflict
* few updates
* polish
* updated yarn.lock
* fixed styles
* updated routing diagram
* Fix code style issues with ESLint
* routing api enabled without localstorage upgrade
* fixed lint error
* Fix code style issues with ESLint
* refined mocks in routing diagram tests
* addressed pr feedback
* polish
* revert sending eth
* improved loading animation
* handle stale routing api
* Fix code style issues with ESLint
* updated yarn.lock
* support native eth
* Compute gas adjusted quote for V2 trade and compare to V3 gas adjusted quote
* Incorporate approval gas cost estimate
* feat: simplify routing api ux (#2258)
* support native eth
* simplified ui
* perf optimization
* implement realized lp fee
* improved route realized lp fee
* fix lp realized fee
* fix auto router gradient
* initial route overlay
* add auto router svg
* adjusted ux to mocks
* fix lp fee
* upddated routing diagram
* optimize tradeBetter hook
* adjust type and name
* add useBetterTrade
* useBetterTrade takes gasEstimateWei
* implement gasEstimateForApproval
* import state from react
* use gas estimate
* improve integration with gas estimate comparison
* remove dependency on account
* fix currency switch bug
* improve syncing state
* add loadingbar
* style tooltip container
* updated tooltip styles
* increase opacity range
* always keep dependent currency input interactable
* show placeholders in tooltips
* Revert v2 gas estimates and approval estimates
* Add debug logs
* refactor
* fix bug
* removed comment
* update engish key
* add try-catch
* addressed pr feedback
* remove loading bar for price impact
* addressed pr feedback and bug bash feedback
* fix: use url to force version
* addressed pr feedback and bug bash feedback
* stop fetching when losing focus
* only show auto router label when activated
* avoid showing syncing status
* move V3TradeSTate to own file
* make useRoutes a function rather than hook
* use logo from active list when possible
* renamed and refactored hook
* renamed and refactored hook
* update status
* polish
* remove unused import
* fixed merge error
* updated combined trade tests
* remove priceimpact while loading
* Design tweaks
* polish latest design
* removed some styles
* log gaevent on tooltip open and clean up origin
* Small tweaks
* addressed pr feedback
* wrap route length in a loading container
* renamed local to clientside
* fix percent and token logo
* addressed pr feedback
* avoid comparing trades when v3 not ready
* some refactor
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Will Pote <will@uniswap.org>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
* fix(governance): special case bravo parsing
* fix(governance): explicitly parse U+2018, U+2026
* chore: upgrade ethers to ^5.4.6
Updates parseLog to delay parsing nested properties, so that they will only fail when accessed.
* fix(vote): recover from invalid UTF-8 in proposal descriptions
* fix(vote): special case bravo proposal newlines
* chore: rm dead reference
reconfigure service workers to only cache used assets (excluding .po language files and non-.var.woff2 font files)
* fix: turn service workers back on
* chore: configure service worker caches
* chore: add newline
* Fix code style issues with ESLint
* chore: limit service-worker caching
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* set up snapshot testing
* improvements
* add tests for TextInput as an example
* Fix code style issues with ESLint
* add comment to custom-test-env file
* only set up needed providers
* include style rules in snapshots
* disable redux storage warning
* added setupTests to avoid boilerplate
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* feat: support connecting to a gnosis safe
* add the manifest.json attributes required by gnosis safe
* remove background fill
* copy
* only try injected provider if not active after trying safe
* initial routing api integration
* add routing api slice
* display route in dialog
* addressed pr feedback
* switch to `get`
* renamed useRouterTradeExactIn to useRouter
* moving few files to later iteration
* removed unnecessary `as`
* switch to polling
* add todo for blocknumber freshness
* remove account-slippage-deadline
* preliminary support
* fix multicall abi
add explorer support
* Fix code style issues with ESLint
* fix gas estimation
* fix todo tests
* fix gas estimation comments
* anonymize links to kovan etherscan and poll more frequently on optimistic kovan
* separate pool creation
* remove supported chain id
* remove the blocktag
* do not use the blocktag on optimism only
* give more gas to tokenURI for optimism
* update sdk
* temp fix to the block tag thing (do not update the block number from the fetch block number)
* remove unused import
* gasRequired -> multi-network
* bump quoter gas limit to 6m on optimism
* move the gas required parameter by chain id one level up
* missed a hook
* retry fetching receipts for optimism as many times as arbitrum
* fix duplicate enum, add optimism as well to retry options config
* fix: state not getting updated after a transaction confirmation
* bump sdk version
* update for mainnet optimism (#1998)
* fix for calculateGasMargin on optimism
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
* add hooks to fecth ticks data and active liquidity
* cleanup
* add polling interval
* moved ms.macro types to dev deps
* generate graphql schema on build
* added @types/ms.macro
* use clone deep
* build dynamic subgraph url based on chain id
* reset api state (query cache) on chain id change
* removed dependency on rtk-query/graphql
* add error message
* wrap sock around function component to get re-renders
* removed sourcelocale since we are using custom ids
* load locale data dynamically
* undo dev change
* ran yarn i18n:extract
* store locale in redux
* added support for redux
* restored header
* refactor
* addressed pr feedback
* specify type
* added navigator locale fallback to generic dialect
* make locale array const and typed
* addressed pr feedback
* fixed various
* addressed pr feedback
* make supported locales constant uppercase
* add back toUpperCase removed during refactoring
* removed lingui/detect-locale
* run yarn
* replaced i18next with lingui
* integrate lingui in i18n and update dev setup
* updated components to @lingui
* fix compile error after rebase
* detect locale
* add all previous languages to linguirc
* address pr feedback
* remove it for now
* ignore generate *js files, various fixes
* added more translations
* fixed yarn build command
* wrapped more hardcoded english around <Trans>
* finished second round of translations
* added support for pseudo-en locale
* improvements
* moved copy.tsx to different branch
* moved extra files to different branch
* regenerated po
* clean up
* more fixes
* regenerate po
* remove messages.js
* clean up
* addressed pr feedback
* regenerated po
* do not construct tokens for wrapped token info
* some cleanup of the wrapped token info
* back to extends, bump sdk core version via v2/v3 sdk updates
* Revert "back to extends, bump sdk core version via v2/v3 sdk updates"
This reverts commit 92cc5073
* update the sdk version
* fix some more uses of instanceof
* finish the refactor
* mess with the currency list performance
* start replacing with the latest v3/v2 sdks
* raw -> quotient
* more cleanup
* finish the refactor
* clean up currency list refactor
* fix list rendering
* perf(token lists): improve app performance when there are large inactive token lists (#1510)
* improve inactive token lists performance
* cleanup before larger changes to combine inactive lists
* only do the search if the query does not match any active lists, limit the number of results
* more performance improvements
* search inactive lists more aggressively
* Add App-level error boundary, referring users to GitHub issue creation on page crashes. (#1452)
* Class component is used as boundary since catching errors is apparently not yet possible with hooks.
* EventListener in window was removed and replaced by error boundary's error catch, which now fires a GA exception. The fields it passes are slightly different because React uses slightly different error types.
* Pre-filling issues with dynamic data is possible with POST requests to GitHub's API, but the GH web client seems to only support pre-fill based on templates. Therefore users still need to copy error info themselves.
* Prefill GitHub issues with crash data.
* Added package 'react-device-detect' to include device data such as OS, browser etc. in crash report.
* Included error stack in issue body.
* Used <code> html tag for displaying stack to user.
* Slightly reduce vertical padding on code block.
* Add ua-parser-js for parsing user agent.
* Revert react-device-detect to ^1.6.2 (which is used for mobile detection etc. in components)