Skip to content

Commit f9fc506

Browse files
JFrankfurtzzmpcrowdin-botmicaelr95Justin Domingue
authored
chore: merge widgets work into main (#3065)
* 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@uni…
1 parent 5b7a80d commit f9fc506

File tree

134 files changed

+4903
-80667
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+4903
-80667
lines changed

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
REACT_APP_INFURA_KEY="4bf032f2d38a4ed6bb975b80d6340847"
1+
REACT_APP_INFURA_KEY="4bf032f2d38a4ed6bb975b80d6340847"

.github/workflows/depcheck.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Bundle Dependency Check
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
branches:
8+
- main
9+
10+
jobs:
11+
depcheck:
12+
name: Bundle depcheck
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v2
17+
18+
- name: Set up node
19+
uses: actions/setup-node@v2
20+
with:
21+
node-version: 14
22+
registry-url: https://registry.npmjs.org
23+
24+
- name: Get yarn cache directory path
25+
id: yarn-cache-dir-path
26+
run: echo "::set-output name=dir::$(yarn cache dir)"
27+
28+
- uses: actions/cache@v2
29+
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
30+
with:
31+
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
32+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
33+
restore-keys: |
34+
${{ runner.os }}-yarn-
35+
36+
- name: Install dependencies
37+
run: yarn install --frozen-lockfile
38+
39+
- name: Bundle
40+
run: yarn bundle
41+
42+
- name: Depcheck
43+
run: yarn bundle:depcheck

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,18 @@
33
# generated contract types
44
/src/types/v3
55
/src/abis/types
6+
/src/lib/locales/**/*.js
7+
/src/lib/locales/**/en-US.po
8+
/src/lib/locales/**/pseudo.po
69
/src/locales/**/*.js
710
/src/locales/**/en-US.po
11+
/src/locales/**/pseudo.po
812
/src/state/data/generated.ts
913

14+
# generated assets
15+
/src/lib/assets/svg/*.tsx
16+
/src/lib/assets/fonts/*.css
17+
1018
# dependencies
1119
/node_modules
1220

cosmos.config.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
{
2-
"staticPath": "public",
3-
"watchDirs": ["src"],
2+
"watchDirs": [
3+
"src"
4+
],
45
"webpack": {
5-
"configPath": "react-scripts/config/webpack.config"
6+
"configPath": "react-scripts/config/webpack.config",
7+
"overridePath": "cosmos.override.js"
68
}
7-
}
9+
}

cosmos.override.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// eslint-disable-next-line @typescript-eslint/no-var-requires
2+
const HtmlWebpackPlugin = require('html-webpack-plugin')
3+
4+
// Renders the cosmos fixtures in isolation, instead of using public/index.html.
5+
module.exports = (webpackConfig) => ({
6+
...webpackConfig,
7+
plugins: webpackConfig.plugins.map((plugin) =>
8+
plugin instanceof HtmlWebpackPlugin
9+
? new HtmlWebpackPlugin({
10+
templateContent: '<body></body>',
11+
})
12+
: plugin
13+
),
14+
})

depcheck.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/node
2+
/**
3+
* Checks if any dependencies have been bundled with the interface library.
4+
* Exits with non-zero status if dependencies are included in the bundle.
5+
*/
6+
/* eslint-disable */
7+
8+
const { readFile } = require('fs')
9+
10+
function checkDeps(err, sourcemap) {
11+
if (err) {
12+
console.error(err)
13+
process.exit(1)
14+
}
15+
16+
const includesDeps = sourcemap.includes('node_modules')
17+
if (includesDeps) {
18+
const deps = [...sourcemap.toString().matchAll(/node_modules[\\\/]([^\\\/]*)/g)].map(([, match]) => match)
19+
console.error(`
20+
Sourcemap includes node_modules folder(s). External deps must be bundled under "dependencies".
21+
22+
To fix, run: \`yarn add ${deps.join(' ')}\`
23+
`)
24+
process.exit(1)
25+
}
26+
}
27+
28+
readFile('dist/interface.esm.js.map', checkDeps)

lingui.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,13 @@ const linguiConfig = {
4646
'vi-VN',
4747
'zh-CN',
4848
'zh-TW',
49+
'pseudo',
4950
],
5051
orderBy: 'messageId',
5152
rootDir: '.',
5253
runtimeConfigModule: ['@lingui/core', 'i18n'],
5354
sourceLocale: 'en-US',
55+
pseudoLocale: 'pseudo',
5456
}
5557

5658
export default linguiConfig

package.json

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,12 @@
1818
"@graphql-codegen/typescript-operations": "^1.18.2",
1919
"@graphql-codegen/typescript-rtk-query": "^1.1.1",
2020
"@lingui/cli": "^3.9.0",
21-
"@lingui/macro": "^3.9.0",
22-
"@lingui/react": "^3.9.0",
2321
"@metamask/jazzicon": "^2.0.0",
24-
"@popperjs/core": "^2.4.4",
2522
"@reach/dialog": "^0.10.3",
2623
"@reach/portal": "^0.10.3",
2724
"@react-hook/window-scroll": "^1.3.0",
2825
"@reduxjs/toolkit": "^1.6.1",
26+
"@svgr/cli": "^5.5.0",
2927
"@testing-library/jest-dom": "^5.14.1",
3028
"@testing-library/react": "^12.0.0",
3129
"@testing-library/react-hooks": "^7.0.2",
@@ -54,13 +52,13 @@
5452
"@types/wcag-contrast": "^3.0.0",
5553
"@typescript-eslint/eslint-plugin": "^4.1.0",
5654
"@typescript-eslint/parser": "^4.1.0",
55+
"@uniswap/default-token-list": "^2.1.0",
5756
"@uniswap/governance": "^1.0.2",
5857
"@uniswap/liquidity-staker": "^1.0.2",
5958
"@uniswap/merkle-distributor": "1.0.1",
60-
"@uniswap/redux-multicall": "^1.0.0",
61-
"@uniswap/router-sdk": "^1.0.1",
59+
"@uniswap/router-sdk": "^1.0.3",
6260
"@uniswap/sdk-core": "^3.0.1",
63-
"@uniswap/smart-order-router": "^2.5.7",
61+
"@uniswap/smart-order-router": "^2.5.4",
6462
"@uniswap/token-lists": "^1.0.0-beta.27",
6563
"@uniswap/v2-core": "1.0.0",
6664
"@uniswap/v2-periphery": "^1.1.0-beta.0",
@@ -84,6 +82,7 @@
8482
"d3": "^7.0.0",
8583
"eslint": "^7.11.0",
8684
"eslint-config-prettier": "^6.11.0",
85+
"eslint-plugin-better-styled-components": "^1.1.2",
8786
"eslint-plugin-prettier": "^3.1.3",
8887
"eslint-plugin-react": "^7.19.0",
8988
"eslint-plugin-react-hooks": "^4.0.0",
@@ -99,32 +98,23 @@
9998
"ms.macro": "^2.0.0",
10099
"multicodec": "^3.0.1",
101100
"multihashes": "^4.0.2",
102-
"node-vibrant": "^3.2.1-alpha.1",
103-
"polished": "^3.3.2",
104101
"polyfill-object.fromentries": "^1.0.1",
105102
"prettier": "^2.2.1",
106103
"qs": "^6.9.4",
107-
"react": "^17.0.1",
108104
"react-confetti": "^6.0.0",
109105
"react-cosmos": "^5.6.3",
110-
"react-dom": "^17.0.1",
111-
"react-feather": "^2.0.8",
112106
"react-ga": "^2.5.7",
113107
"react-is": "^17.0.2",
114108
"react-markdown": "^4.3.1",
115-
"react-popper": "^2.2.3",
116109
"react-redux": "^7.2.2",
117110
"react-router-dom": "^5.0.0",
118111
"react-scripts": "^4.0.3",
119112
"react-spring": "^8.0.27",
120113
"react-use-gesture": "^6.0.14",
121-
"react-virtualized-auto-sizer": "^1.0.2",
122-
"react-window": "^1.8.5",
123-
"rebass": "^4.0.7",
124114
"redux-localstorage-simple": "^2.3.1",
115+
"sass": "^1.45.1",
125116
"serve": "^11.3.2",
126117
"start-server-and-test": "^1.11.0",
127-
"styled-components": "^5.3.0",
128118
"typechain": "^5.0.0",
129119
"typescript": "^4.2.3",
130120
"ua-parser-js": "^0.7.28",
@@ -147,13 +137,18 @@
147137
"prei18n:extract": "touch src/locales/en-US.po",
148138
"i18n:extract": "lingui extract --locale en-US",
149139
"i18n:compile": "yarn i18n:extract && lingui compile",
150-
"postinstall": "yarn contracts:compile && yarn graphql:generate && yarn i18n:compile",
140+
"i18n:pseudo": "lingui extract --locale pseudo && lingui compile",
141+
"postinstall": "yarn contracts:compile && yarn graphql:generate && yarn i18n:compile && yarn assets:generate",
151142
"start": "react-scripts start",
152143
"build": "react-scripts build",
153144
"test": "react-scripts test --env=./custom-test-env.js",
154145
"test:e2e": "start-server-and-test 'serve build -l 3000' http://localhost:3000 'cypress run --record'",
155-
"bundle": "microbundle --tsconfig tsconfig.lib.json src/lib/index.tsx --format esm,cjs",
156-
"cosmos": "open http://localhost:5000 && cross-env FAST_REFRESH=false cosmos"
146+
"assets:generate": "yarn assets:svg:generate && yarn assets:font:generate",
147+
"assets:svg:generate": "svgr -d src/lib/assets/svg --ext tsx --typescript src/lib/assets/svg && rm src/lib/assets/svg/index.tsx",
148+
"assets:font:generate": "sass src/lib/assets/fonts/index.scss src/lib/assets/fonts/index.css --no-source-map -I node_modules",
149+
"bundle": "microbundle --define process.env.REACT_APP_IS_WIDGET=true --tsconfig tsconfig.lib.json src/lib/index.tsx --format esm,cjs",
150+
"bundle:depcheck": "node depcheck.js",
151+
"cosmos": "cross-env FAST_REFRESH=false REACT_APP_IS_WIDGET=true cosmos"
157152
},
158153
"browserslist": {
159154
"production": [
@@ -168,5 +163,37 @@
168163
]
169164
},
170165
"license": "GPL-3.0-or-later",
171-
"dependencies": {}
166+
"dependencies": {
167+
"@fontsource/ibm-plex-mono": "^4.5.1",
168+
"@fontsource/inter": "^4.5.1",
169+
"@lingui/core": "^3.9.0",
170+
"@lingui/macro": "^3.9.0",
171+
"@lingui/react": "^3.9.0",
172+
"@popperjs/core": "^2.4.4",
173+
"@uniswap/redux-multicall": "^1.0.0",
174+
"immer": "^9.0.6",
175+
"jotai": "^1.3.7",
176+
"lodash": "^4.17.21",
177+
"make-plural": "^7.0.0",
178+
"node-vibrant": "^3.2.1-alpha.1",
179+
"polished": "^3.3.2",
180+
"popper-max-size-modifier": "^0.2.0",
181+
"react": "^17.0.1",
182+
"react-dom": "^17.0.1",
183+
"react-feather": "^2.0.8",
184+
"react-popper": "^2.2.3",
185+
"react-virtualized-auto-sizer": "^1.0.2",
186+
"react-window": "^1.8.5",
187+
"rebass": "^4.0.7",
188+
"redux": "^4.1.2",
189+
"styled-components": "^5.3.0",
190+
"tiny-invariant": "^1.2.0",
191+
"wcag-contrast": "^3.0.0",
192+
"wicg-inert": "^3.1.1",
193+
"widgets-web3-react/core": "npm:@web3-react/core@8.0.15-alpha.0",
194+
"widgets-web3-react/eip1193": "npm:@web3-react/eip1193@8.0.15-alpha.0",
195+
"widgets-web3-react/metamask": "npm:@web3-react/metamask@8.0.15-alpha.0",
196+
"widgets-web3-react/network": "npm:@web3-react/network@8.0.15-alpha.0",
197+
"widgets-web3-react/types": "npm:@web3-react/types@8.0.15-alpha.0"
198+
}
172199
}

src/components/AccountDetails/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { useCallback, useContext } from 'react'
44
import { ExternalLink as LinkIcon } from 'react-feather'
55
import { useAppDispatch } from 'state/hooks'
66
import styled, { ThemeContext } from 'styled-components/macro'
7+
import { Connector } from 'widgets-web3-react/types'
78

89
import { ReactComponent as Close } from '../../assets/images/x.svg'
910
import { injected, portis, walletlink } from '../../connectors'
@@ -176,7 +177,7 @@ const IconWrapper = styled.div<{ size?: number }>`
176177
`};
177178
`
178179

179-
function WrappedStatusIcon({ connector }: { connector: AbstractConnector }) {
180+
function WrappedStatusIcon({ connector }: { connector: AbstractConnector | Connector }) {
180181
return (
181182
<IconWrapper size={16}>
182183
<StatusIcon connector={connector} />

src/components/Identicon/StatusIcon.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { AbstractConnector } from '@web3-react/abstract-connector'
2+
import { Connector } from 'widgets-web3-react/types'
23

34
import CoinbaseWalletIcon from '../../assets/images/coinbaseWalletIcon.svg'
45
import FortmaticIcon from '../../assets/images/fortmaticIcon.png'
@@ -7,7 +8,7 @@ import WalletConnectIcon from '../../assets/images/walletConnectIcon.svg'
78
import { fortmatic, injected, portis, walletconnect, walletlink } from '../../connectors'
89
import Identicon from '../Identicon'
910

10-
export default function StatusIcon({ connector }: { connector: AbstractConnector }) {
11+
export default function StatusIcon({ connector }: { connector: AbstractConnector | Connector }) {
1112
switch (connector) {
1213
case injected:
1314
return <Identicon />

src/components/Popover/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { Options, Placement } from '@popperjs/core'
22
import Portal from '@reach/portal'
3+
import useInterval from 'lib/hooks/useInterval'
34
import React, { useCallback, useMemo, useState } from 'react'
45
import { usePopper } from 'react-popper'
56
import styled from 'styled-components/macro'
67

7-
import useInterval from '../../hooks/useInterval'
8-
98
const PopoverContainer = styled.div<{ show: boolean }>`
109
z-index: 9999;
1110
visibility: ${(props) => (props.show ? 'visible' : 'hidden')};

src/components/Web3Status/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { darken } from 'polished'
66
import { useMemo } from 'react'
77
import { Activity } from 'react-feather'
88
import styled, { css } from 'styled-components/macro'
9+
import { Connector } from 'widgets-web3-react/types'
910

1011
import { NetworkContextName } from '../../constants/misc'
1112
import useENSName from '../../hooks/useENSName'
@@ -130,7 +131,7 @@ function Sock() {
130131
)
131132
}
132133

133-
function WrappedStatusIcon({ connector }: { connector: AbstractConnector }) {
134+
function WrappedStatusIcon({ connector }: { connector: AbstractConnector | Connector }) {
134135
return (
135136
<IconWrapper size={16}>
136137
<StatusIcon connector={connector} />

src/constants/locales.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,12 @@ export const SUPPORTED_LOCALES = [
3333
'zh-CN',
3434
'zh-TW',
3535
] as const
36-
export type SupportedLocale = typeof SUPPORTED_LOCALES[number]
36+
export type SupportedLocale = typeof SUPPORTED_LOCALES[number] | 'pseudo'
3737

38+
// eslint-disable-next-line import/first
39+
import * as enUS from '../locales/en-US'
3840
export const DEFAULT_LOCALE: SupportedLocale = 'en-US'
39-
40-
export { messages as DEFAULT_MESSAGES } from '../locales/en-US'
41+
export const DEFAULT_CATALOG = enUS
4142

4243
export const LOCALE_LABEL: { [locale in SupportedLocale]: string } = {
4344
'af-ZA': 'Afrikaans',
@@ -72,4 +73,5 @@ export const LOCALE_LABEL: { [locale in SupportedLocale]: string } = {
7273
'vi-VN': 'Tiếng Việt',
7374
'zh-CN': '简体中文',
7475
'zh-TW': '繁体中文',
76+
pseudo: 'ƥƨèúδô',
7577
}

src/hooks/useActiveWeb3React.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { Web3Provider } from '@ethersproject/providers'
2+
import { useWeb3React } from '@web3-react/core'
3+
import { default as useWidgetsWeb3React } from 'lib/hooks/useActiveWeb3React'
4+
5+
import { NetworkContextName } from '../constants/misc'
6+
7+
export default function useActiveWeb3React() {
8+
const widgetsContext = useWidgetsWeb3React()
9+
const interfaceContext = useWeb3React<Web3Provider>()
10+
const interfaceNetworkContext = useWeb3React<Web3Provider>(
11+
process.env.REACT_APP_IS_WIDGET ? undefined : NetworkContextName
12+
)
13+
14+
if (process.env.REACT_APP_IS_WIDGET) {
15+
return widgetsContext
16+
}
17+
if (interfaceContext.active) {
18+
return interfaceContext
19+
}
20+
21+
return interfaceNetworkContext
22+
}

src/hooks/useMachineTime.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
import useInterval from 'lib/hooks/useInterval'
12
import { useState } from 'react'
23

3-
import useInterval from './useInterval'
4-
54
const useMachineTimeMs = (updateInterval: number): number => {
65
const [now, setNow] = useState(Date.now())
76

0 commit comments

Comments
 (0)