Skip to content

Commit e04cdbd

Browse files
ci(release): publish latest release
1 parent e069322 commit e04cdbd

File tree

1,358 files changed

+54409
-52304
lines changed

Some content is hidden

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

1,358 files changed

+54409
-52304
lines changed

.nvmrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v18.16.0
1+
v22.13.1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
diff --git a/dist/cjs/createComponent.native.js b/dist/cjs/createComponent.native.js
2+
index ddcbfbc5112e148ff6a33fffd986d763b9f32248..fd8b81f75d0a9fc414fbda5eea02d9405d57a89f 100644
3+
--- a/dist/cjs/createComponent.native.js
4+
+++ b/dist/cjs/createComponent.native.js
5+
@@ -98,7 +98,7 @@ function createComponent(staticConfig) {
6+
defaultProps,
7+
defaultPropsKeyOrder: defaultProps ? Object.keys(defaultProps) : []
8+
});
9+
- var component = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
10+
+ var OldComponent = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
11+
var _themeState_state, _hooks_usePropsTransform, _hooks_useEvents, _config_animations, internalID = process.env.NODE_ENV === "development" ? import_react.default.useId() : "";
12+
if (process.env.NODE_ENV === "development" && startVisualizer && (startVisualizer(), startVisualizer = void 0), !hasSetupBaseViews) {
13+
var _hooks_getBaseViews;
14+
@@ -548,6 +548,13 @@ If you meant to do this, you can disable this warning - either change untilMeasu
15+
delete globalThis.willPrint, time.print(), time = null;
16+
}, 50))), content;
17+
});
18+
+ // UNISWAP PATCH: Using key to avoid conditionally calling useAnimation hook
19+
+ var component = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
20+
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OldComponent, {
21+
+ ref: forwardedRef,
22+
+ ...propsIn,
23+
+ }, "animation" in propsIn ? 1 : 0);
24+
+ });
25+
staticConfig.componentName && (component.displayName = staticConfig.componentName);
26+
var res = component;
27+
(process.env.TAMAGUI_FORCE_MEMO || staticConfig.memo) && (res = /* @__PURE__ */ import_react.default.memo(res)), res.staticConfig = staticConfig;
28+
diff --git a/dist/esm/createComponent.native.js b/dist/esm/createComponent.native.js
29+
index 40466f28af50e22730462702a96e2c8b41969276..92f8f589a72098efc72e58f7cf64fb80e00787d9 100644
30+
--- a/dist/esm/createComponent.native.js
31+
+++ b/dist/esm/createComponent.native.js
32+
@@ -90,7 +90,7 @@ function createComponent(staticConfig) {
33+
defaultProps,
34+
defaultPropsKeyOrder: defaultProps ? Object.keys(defaultProps) : []
35+
});
36+
- var component = /* @__PURE__ */ React.forwardRef(function(propsIn, forwardedRef) {
37+
+ var OldComponent = /* @__PURE__ */ React.forwardRef(function(propsIn, forwardedRef) {
38+
var _themeState_state, _hooks_usePropsTransform, _hooks_useEvents, _config_animations, internalID = process.env.NODE_ENV === "development" ? React.useId() : "";
39+
if (process.env.NODE_ENV === "development" && startVisualizer && (startVisualizer(), startVisualizer = void 0), !hasSetupBaseViews) {
40+
var _hooks_getBaseViews;
41+
@@ -540,6 +540,13 @@ If you meant to do this, you can disable this warning - either change untilMeasu
42+
delete globalThis.willPrint, time.print(), time = null;
43+
}, 50))), content;
44+
});
45+
+ // UNISWAP PATCH: Using key to avoid conditionally calling useAnimation hook
46+
+ var component = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
47+
+ return /* @__PURE__ */ _jsx(OldComponent, {
48+
+ ref: forwardedRef,
49+
+ ...propsIn,
50+
+ }, "animation" in propsIn ? 1 : 0);
51+
+ });
52+
staticConfig.componentName && (component.displayName = staticConfig.componentName);
53+
var res = component;
54+
(process.env.TAMAGUI_FORCE_MEMO || staticConfig.memo) && (res = /* @__PURE__ */ React.memo(res)), res.staticConfig = staticConfig;

CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @uniswap/web-admins

RELEASE

+138-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,142 @@
1-
We are back with some new updates! Here’s the latest:
1+
IPFS hash of the deployment:
2+
- CIDv0: `QmPDjzx2KbiQfiwf1mNuZwWSufJJJrGoZ5exe8VpLE1eqe`
3+
- CIDv1: `bafybeianc2ngnptsysuwy3xt5nqxutvxngondqnnwzgofzx5yz445efove`
24

3-
Last release we introduced Unichain support! Now, enjoy faster swap speeds, more onramp options, and more token data.
5+
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
46

5-
Monad Testnet Support - Enjoy swapping on Monad testnet by toggling to Testnet mode in settings
7+
You can also access the Uniswap Interface from an IPFS gateway.
8+
**BEWARE**: The Uniswap interface uses [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) to remember your settings, such as which tokens you have imported.
9+
**You should always use an IPFS gateway that enforces origin separation**, or our hosted deployment of the latest release at [app.uniswap.org](https://app.uniswap.org).
10+
Your Uniswap settings are never remembered across different URLs.
11+
12+
IPFS gateways:
13+
- https://bafybeianc2ngnptsysuwy3xt5nqxutvxngondqnnwzgofzx5yz445efove.ipfs.dweb.link/
14+
- [ipfs://QmPDjzx2KbiQfiwf1mNuZwWSufJJJrGoZ5exe8VpLE1eqe/](ipfs://QmPDjzx2KbiQfiwf1mNuZwWSufJJJrGoZ5exe8VpLE1eqe/)
15+
16+
## 5.76.0 (2025-03-12)
17+
18+
19+
### Features
20+
21+
* **web:** (wall-5924) enable smoother transition for Button to and from loading state (#16313) 9fb3bbf
22+
* **web:** 03 10 feat web add wallet connection status to datadog issues staging (#17174) 64d0f43
23+
* **web:** add allowFlip prop on AdaptiveDropdown (#16812) 859fb34
24+
* **web:** add presets for mobile (#17026) 441b3d1
25+
* **web:** add swap presets for the input currency on web (#16828) 0402800
26+
* **web:** bump uniswap SDKs (#17011) 965edc4
27+
* **web:** disable range input when closing position (#17033) f49cb5b
28+
* **web:** make flexBasis for Button be the same on all platforms (#16314) d21f758
29+
* **web:** migrate buttons group 9 (#16283) 5942c08
30+
* **web:** move TradingApiError to ErrorCallout - add warning (#16893) f10a0c5
31+
* **web:** out of range - close position (#16914) 6ab698e
32+
* **web:** out of range - migrate position (#16915) d9ff5e5
33+
* **web:** preset amounts for extension and mweb (#17066) d7c59f1
34+
* **web:** switch web/dialog buttons to new buttons (#16305) ee215b0
35+
36+
37+
### Bug Fixes
38+
39+
* **web:** [datadog] disable on local dev builds (#16858) 31dcd86
40+
* **web:** [playwright] better setErc20 logic - part ii (#16850) a1310fe
41+
* **web:** [playwright] graphql api fix and tdp mock (#16859) 61e1ead
42+
* **web:** add __DEV__ global to web storybook 5333afc
43+
* **web:** add in a polyfill for Buffer (#16988) e22a234
44+
* **web:** change color of CTA button in WarningModal (#17035) 0ee7033
45+
* **web:** change size of SelectTokenButton to small da6256f
46+
* **web:** cleanup after button migration (#16535) 48460dc
47+
* **web:** delete Box component (#16502) 13c90a1
48+
* **web:** delete deprecated price range input component (#17076) 78bec96
49+
* **web:** do not pass unsupported props; fixes React warnings 70093a5
50+
* **web:** ensure that tick spacing is a whole number (#17037) e5219af
51+
* **web:** fix add liquidity button on pools page ac6561e
52+
* **web:** fix button size in PoolFinder (#16981) cb96458
53+
* **web:** fix button sizes and color in InsufficientNativeTokenWarning (#17052) d866033
54+
* **web:** fix buttons on SelectTokenStep (#16970) b206c86
55+
* **web:** fix detection of Trans tag within children of Button 6d543ea
56+
* **web:** fix download button in UniwalletModal e62c63d
57+
* **web:** fix input field value from not displaying 2d7dfe2
58+
* **web:** fix issue when Button has non-direct Trans component as a child (#16971) 4d15e5e
59+
* **web:** fix label color of SwapFormButton when not connected (#16972) 3390c9c
60+
* **web:** fix limit input (#16872) 600a755
61+
* **web:** fix max button on SendCurrencyInputForm 86527f3
62+
* **web:** fix MaxButton alignment in SendCurrencyInputForm c3376fa
63+
* **web:** fix misalignment of token symbol in unconnected state on SendForm (#16974) a4f808c
64+
* **web:** fix mobile and extension buttons in GetStarted (#16976) 1cbf360
65+
* **web:** fix path to ModuleScopePlugin in craco config 189c0a2
66+
* **web:** fix positioning of max button on SendCurrencyInputForm d3e9e43
67+
* **web:** fix sign in modal not closing on x click (#16880) cdd6cbf
68+
* **web:** fix suggestionrow key (#17082) c7b683a
69+
* **web:** fix TileButton background color (#17057) bfa8f31
70+
* **web:** fix UI issues with cancel limit button c279f3f
71+
* **web:** fix v4 native pool link (#16936) d0c907b
72+
* **web:** include priority orders in polling (#16934) ef9a0fe
73+
* **web:** increase size of CTA button in CreatePositionModal (#16978) 6165ac4
74+
* **web:** liquidity bars colors in ActiveLiquidityChart2 (#17067) 4024d43
75+
* **web:** LP UI nits (#17079) e45f5d9
76+
* **web:** make pool creation button larger (#16973) d1150f3
77+
* **web:** make PoolButton correct size 2beb3b0
78+
* **web:** migrate Web3Status to properly use Button 80619ec
79+
* **web:** minor updates to Web3Status + memoize Unitag b88b06e
80+
* **web:** only animate transform props for Button to fix issues with animating colors with alpha channel 8c3a630
81+
* **web:** re-add skimmed down .env.production (#16868) 4fa275f
82+
* **web:** remove background color on NavIcon and fix transition animation (#16830) b4a36bd
83+
* **web:** remove Box from ActivityCells (#16493) 19fbd28
84+
* **web:** remove Box from ActivityHeaderRow (#16492) 6632411
85+
* **web:** remove Box from Bag.tsx (#16498) 281632d
86+
* **web:** remove Box from BagRow (#16496) 617e43a
87+
* **web:** remove Box from ProfileAssetRow (#16495) f680dda
88+
* **web:** remove Box, Row, Column from MobileHoverBag (#16497) 486eea6
89+
* **web:** remove Box, Row, styled from NFT Activity (#16494) 4f4c744
90+
* **web:** remove embed NFT assets support (#16514) 57e174e
91+
* **web:** remove nft breakpoint definitions (#16735) b40203f
92+
* **web:** remove NFT Center component (#16499) c5f316f
93+
* **web:** remove NFT Column (#16500) e44d312
94+
* **web:** remove NFT darkTheme and lightTheme (#16734) 34f0548
95+
* **web:** remove NFT Row (#16501) 9f31c24
96+
* **web:** remove sprinkles from ActivitySwitcher (#16738) 172c98c
97+
* **web:** remove sprinkles from AssetDetails (#16749) f679869
98+
* **web:** remove sprinkles from Cells (#16750) 374249d
99+
* **web:** remove sprinkles from CollectionSearch (#16742) d7e5b3a
100+
* **web:** remove sprinkles from CollectionStats (#16743) d1218b8
101+
* **web:** remove sprinkles from FilterButton (#16744) cecf506
102+
* **web:** remove sprinkles from NFT Activity (#16737) ebdee66
103+
* **web:** remove sprinkles from NFT CollectionAssetLoading (#16739) f892099
104+
* **web:** remove sprinkles from NFT CollectionNfts (#16740) 3315a4b
105+
* **web:** remove sprinkles from NFT Explore (#16751) 5495867
106+
* **web:** remove sprinkles from NFT Filters (#16745) 3fd5241
107+
* **web:** remove sprinkles from NFT TransactionCompleteModal (#16747) ddac3cf
108+
* **web:** remove sprinkles from PriceRange (#16746) d089d0a
109+
* **web:** remove sprinkles from ProfilePage NFT (#16752) 40d8e60
110+
* **web:** remove sprinkles from SortDropdown (#16748) 4c3af7f
111+
* **web:** remove styled usage from NFT PriceRange (#16540) 814d177
112+
* **web:** remove styled usage from NFT Profile Page (#16538) 236a0b6
113+
* **web:** remove tertiary-transparent button variant as tertiary is already transparent 921fe78
114+
* **web:** remove tradeAutoSlippage on slippage control (#17069) 7da9edf
115+
* **web:** revert SelectTokenButton to existing designs 0004cf4
116+
* **web:** revert text style and icon of Web3Status (#16985) 3ee0075
117+
* **web:** split v3/v4 logic for calculating tick data (#16266) c8dc2b8
118+
* **web:** stop propagation of events onPress of max button on SendCurrencyInputForm c054d29
119+
* **web:** turn off ew flag for e2e tests for now (#16912) da7349e
120+
* **web:** update tdp buy initial currency selection (#15110) 853678c
121+
* **web:** update to use Button in liquidity flows (#16983) 9a8fe06
122+
* **web:** use new loading API for button in SwapDetails ba9f4ba
123+
* **web:** useTrendingTokensCurrencyInfos should not always define error (#16705) 9e51750
124+
125+
126+
### Continuous Integration
127+
128+
* **web:** update sitemaps 53c75c4
129+
130+
131+
### Styles
132+
133+
* **web:** fix border radii on liquidity price inputs on small screens (#16956) 891e7f7
134+
* **web:** fix switch network animation (#16954) 82c0f16
135+
136+
137+
### Code Refactoring
138+
139+
* **web:** button migration group 8 (#16373) facd715
140+
* **web:** v2 migrate position card button refactor (#16277) 1163a99
6141

7-
Other changes:
8142

9-
- Improved scrollbar behavior
10-
- VND current support
11-
- Improvements to our NFT Spam reporting feature
12-
- Stronger warnings when sending funds to token contracts
13-
- New icon for the Buy/Sell button on the homepage
14-
- Various bug fixes and performance improvements

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
extension/1.16.0
1+
web/5.76.0

apps/extension/.eslintrc.js

+22-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
const rulesDirPlugin = require('eslint-plugin-rulesdir')
2+
rulesDirPlugin.RULES_DIR = '../../packages/uniswap/eslint_rules'
3+
14
module.exports = {
25
root: true,
3-
extends: ['@uniswap/eslint-config/native'],
6+
extends: ['@uniswap/eslint-config/native-app'],
7+
plugins: ['rulesdir'],
48
ignorePatterns: [
59
'node_modules',
610
'dist',
@@ -20,6 +24,7 @@ module.exports = {
2024
ecmaVersion: 2018,
2125
sourceType: 'module',
2226
},
27+
rules: {},
2328
overrides: [
2429
{
2530
files: ['src/assets/index.ts', 'src/contentScript/index.tsx'],
@@ -38,6 +43,21 @@ module.exports = {
3843
],
3944
},
4045
},
46+
{
47+
files: ['**/contentScript/injected.ts'],
48+
rules: {
49+
'no-restricted-syntax': [
50+
'error',
51+
{
52+
selector: 'CallExpression[callee.object.name="logger"][callee.property.name!=/^(debug)$/]',
53+
message:
54+
'Only logger.debug is allowed in this file. Please handle errors and info logs explicitly using ErrorLog and InfoLog message passing.',
55+
},
56+
],
57+
},
58+
},
4159
],
42-
rules: {},
60+
rules: {
61+
'rulesdir/i18n': 'error',
62+
},
4363
}

apps/extension/package.json

+4-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
"browserslist": "last 2 chrome versions",
55
"dependencies": {
66
"@apollo/client": "3.10.4",
7-
"@datadog/browser-logs": "5.20.0",
8-
"@datadog/browser-rum": "5.23.3",
97
"@ethersproject/providers": "5.7.2",
108
"@metamask/rpc-errors": "6.2.1",
119
"@reduxjs/toolkit": "1.9.3",
@@ -14,10 +12,11 @@
1412
"@types/uuid": "9.0.1",
1513
"@uniswap/analytics-events": "2.41.0",
1614
"@uniswap/uniswapx-sdk": "3.0.0-beta.3",
17-
"@uniswap/universal-router-sdk": "4.17.0",
18-
"@uniswap/v3-sdk": "3.24.0",
19-
"@uniswap/v4-sdk": "1.19.2",
15+
"@uniswap/universal-router-sdk": "4.19.5",
16+
"@uniswap/v3-sdk": "3.25.2",
17+
"@uniswap/v4-sdk": "1.21.2",
2018
"dotenv-webpack": "8.0.1",
19+
"eslint-plugin-rulesdir": "0.2.2",
2120
"ethers": "5.7.2",
2221
"eventemitter3": "5.0.1",
2322
"framer-motion": "10.17.6",

apps/extension/src/app/apollo.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ApolloProvider } from '@apollo/client'
22
import { PropsWithChildren } from 'react'
33
import { localStorage } from 'redux-persist-webextension-storage'
44
import { getReduxStore } from 'src/store/store'
5-
// eslint-disable-next-line no-restricted-imports
5+
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
66
import { usePersistedApolloClient } from 'wallet/src/data/apollo/usePersistedApolloClient'
77

88
// Extension local storage has 10 MB limit, so we want to be very careful to leave enough space for the redux store + any other data that we might want to store in local storage

apps/extension/src/app/components/ComingSoon.tsx

-33
This file was deleted.

apps/extension/src/app/components/PasswordInput.tsx

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { forwardRef } from 'react'
22
import { useTranslation } from 'react-i18next'
33
import { TextInput } from 'react-native'
44
import { Input, InputProps } from 'src/app/components/Input'
5-
import { DeprecatedButton, Flex, FlexProps, IconProps, Text } from 'ui/src'
5+
import { Flex, FlexProps, IconProps, Text, TouchableArea } from 'ui/src'
66
import { Eye, EyeOff } from 'ui/src/components/icons'
77
import { PasswordStrength, getPasswordStrengthTextAndColor } from 'wallet/src/utils/password'
88

@@ -34,16 +34,17 @@ export const PasswordInput = forwardRef<TextInput, PasswordInputProps>(function
3434
<StrengthIndicator strength={passwordStrength} />
3535
) : (
3636
onToggleHideInput && (
37-
<DeprecatedButton
37+
<TouchableArea
3838
backgroundColor="$transparent"
3939
hoverStyle={hoverStyle}
4040
position="absolute"
4141
pressStyle={hoverStyle}
4242
right="$spacing8"
43+
p="$spacing12"
4344
onPress={(): void => onToggleHideInput(!hideInput)}
4445
>
4546
{hideInput ? <Eye {...iconProps} /> : <EyeOff {...iconProps} />}
46-
</DeprecatedButton>
47+
</TouchableArea>
4748
)
4849
)}
4950
</Flex>

apps/extension/src/app/components/Trace/TraceUserProperties.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useAppFiatCurrencyInfo } from 'uniswap/src/features/fiatCurrency/hooks'
55
import { useCurrentLanguage } from 'uniswap/src/features/language/hooks'
66
import { useHideSmallBalancesSetting, useHideSpamTokensSetting } from 'uniswap/src/features/settings/hooks'
77
import { ExtensionUserPropertyName, setUserProperty } from 'uniswap/src/features/telemetry/user'
8-
// eslint-disable-next-line no-restricted-imports
8+
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
99
import { analytics } from 'utilities/src/telemetry/analytics/analytics'
1010
import { useGatingUserPropertyUsernames } from 'wallet/src/features/gating/userPropertyHooks'
1111
import { useActiveAccount, useSignerAccounts, useViewOnlyAccounts } from 'wallet/src/features/wallet/hooks'

apps/extension/src/app/components/loading/LoadingSpinner.tsx

-28
This file was deleted.

0 commit comments

Comments
 (0)