Skip to content

Commit

Permalink
ci(release): publish latest release
Browse files Browse the repository at this point in the history
  • Loading branch information
hello-happy-puppy committed May 22, 2024
1 parent 12e3725 commit 6b704f8
Show file tree
Hide file tree
Showing 707 changed files with 5,348 additions and 9,063 deletions.
Binary file modified .yarn/patches/lightweight-charts-npm-4.1.1-01f161d9b6.patch
Binary file not shown.
1 change: 0 additions & 1 deletion CODEOWNERS

This file was deleted.

67 changes: 7 additions & 60 deletions RELEASE
Original file line number Diff line number Diff line change
@@ -1,63 +1,10 @@
IPFS hash of the deployment:
- CIDv0: `QmSR8nYexuW3tYLMY62XR3PCG7tcT9QWpeVkHNX6wnZn3p`
- CIDv1: `bafybeib4stith4o7l5dyd5uejt25qoxfndl57qj2gfc5sgpsmpe6lcb3y4`
Excited to share some new updates! Here’s what’s new:

The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).

You can also access the Uniswap Interface from an IPFS gateway.
**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.
**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).
Your Uniswap settings are never remembered across different URLs.

IPFS gateways:
- https://bafybeib4stith4o7l5dyd5uejt25qoxfndl57qj2gfc5sgpsmpe6lcb3y4.ipfs.dweb.link/
- https://bafybeib4stith4o7l5dyd5uejt25qoxfndl57qj2gfc5sgpsmpe6lcb3y4.ipfs.cf-ipfs.com/
- [ipfs://QmSR8nYexuW3tYLMY62XR3PCG7tcT9QWpeVkHNX6wnZn3p/](ipfs://QmSR8nYexuW3tYLMY62XR3PCG7tcT9QWpeVkHNX6wnZn3p/)

## 5.29.0 (2024-05-22)


### Features

* **web:** [multichain] show limits page in disabled state (#8164) df50ab0
* **web:** add PDP rich link previews (#8003) 564b6e1
* **web:** avoid fetching redundant on-chain receipts (#7508) 0cc8511
* **web:** unicon v2 education label (#8339) 1487fbd
* **web:** update wallet connect modal's color mode with app theme (#7993) 38a9308


### Bug Fixes

* **web:** add null check to OSCollectionsFetcher (#8188) e5077c0
* **web:** Allow viewing pool mgmt pages when disconnected (#8239) 0ac09da
* **web:** change gap on landing page (#8175) f98a7e8
* **web:** change You pay and You receive to Buy and Sell (#8198) 601d1d9
* **web:** chart dot grid size (#8085) cf94701
* **web:** check client chain for undefined (#8215) 03697e7
* **web:** check for supported network on pools page (#8224) 5c7d58d
* **web:** filtering out spam on send (#8386) (#8405) 2775043
* **web:** fix limits price parsing bug in different locales (#8199) b9613d9
* **web:** fix SEO metatags (#8286) c294e33
* **web:** hotfixing mouseover bug (#8402) 8c5cf28
* **web:** lowercase unicon flag 02dcbf7
* **web:** prevent connection from hanging when iframed - staging (#8394) 80ed62c
* **web:** set initial user state in cypress tests using localStorage (#8189) 941d8fe
* **web:** Show unsupported network in navbar (#8181) 7746ac4
* **web:** support multichain input params (#8250) 110976e
* **web:** window.ethereum fallback on mobile [prod] (#8261) 8b791cc


### Tests

* **web:** remove explicit blocknumbers (#8162) 4a83a6f


### Code Refactoring

* **web:** refactor NFT sell flow to use wagmi (#7636) 2ebaf2c
* **web:** screen size hooks (#8100) 9593763
* **web:** Use wagmi for add/remove liquidity and collecting fees (#7641) 6448ae2
* **web:** use wagmi for NFT Buys (#7633) f472ce0
* **web:** Use wagmi for Swap and Limit Order flow (#7779) 832d7ff
Transfer from Centralized Exchange — Coinbase and Robinhood users can now transfer their crypto assets directly to the Uniswap Wallet!

Expanded Assets on Fiat On-ramp — Users can now on-ramp to assets on other networks (e.g. ETH and USDC on Base).

Other changes:
- Better NFT visibility
- Home screen improvements for new users
- Various bug fixes and performance improvements
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
web/5.29.0
mobile/1.27
6 changes: 3 additions & 3 deletions apps/mobile/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -131,17 +131,17 @@ android {
dev {
isDefault(true)
applicationIdSuffix ".dev"
versionName "1.28"
versionName "1.27"
dimension "variant"
}
beta {
applicationIdSuffix ".beta"
versionName "1.28"
versionName "1.27"
dimension "variant"
}
prod {
dimension "variant"
versionName "1.28"
versionName "1.27"
}
}

Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/e2e/usecases/CreateNewWallet.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { by, element, expect } from 'detox'
import { TestWallet } from 'e2e/utils/fixtures'
import { ElementName } from 'uniswap/src/features/telemetry/constants'
import { ElementName } from 'wallet/src/telemetry/constants'

export function CreateNewWallet(): void {
it('creates a new wallet', async () => {
Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/e2e/usecases/onboarding/CreateNewWallet.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { by, element, expect } from 'detox'
import { TestWallet } from 'e2e/utils/fixtures'
import { ElementName } from 'uniswap/src/features/telemetry/constants'
import { ElementName } from 'wallet/src/telemetry/constants'

export async function CreateNewWallet(): Promise<void> {
// Selects "Create a new wallet" option on the landing screen
Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/e2e/usecases/onboarding/ImportWallet.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { by, element, expect } from 'detox'
import { TestWallet } from 'e2e/utils/fixtures'
import { ElementName } from 'uniswap/src/features/telemetry/constants'
import { ElementName } from 'wallet/src/telemetry/constants'

export async function ImportWallet(): Promise<void> {
// Selects "Add an existing wallet" option on the landing screen
Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/e2e/usecases/onboarding/WatchWallet.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { by, element, expect } from 'detox'
import { TestWatchedWallet } from 'e2e/utils/fixtures'
import { ElementName } from 'uniswap/src/features/telemetry/constants'
import { ElementName } from 'wallet/src/telemetry/constants'

export async function WatchWallet(): Promise<void> {
// Selects "Add an existing wallet" option on the landing screen
Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/e2e/usecases/swap/SwapBasicInteractions.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { by, element, expect } from 'detox'
import { TestWatchedWallet } from 'e2e/utils/fixtures'
import { ElementName } from 'uniswap/src/features/telemetry/constants'
import { ElementName } from 'wallet/src/telemetry/constants'

export async function SwapBasicInteractions(): Promise<void> {
// Navigate to swap screen
Expand Down
32 changes: 16 additions & 16 deletions apps/mobile/ios/Uniswap.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2488,7 +2488,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
Expand Down Expand Up @@ -2534,7 +2534,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.widgets;
Expand Down Expand Up @@ -2580,7 +2580,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.dev.widgets;
Expand Down Expand Up @@ -2626,7 +2626,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.beta.widgets;
Expand Down Expand Up @@ -2668,7 +2668,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
Expand Down Expand Up @@ -2711,7 +2711,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.WidgetIntentExtension;
Expand Down Expand Up @@ -2754,7 +2754,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.dev.WidgetIntentExtension;
Expand Down Expand Up @@ -2797,7 +2797,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.beta.WidgetIntentExtension;
Expand Down Expand Up @@ -2833,7 +2833,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand Down Expand Up @@ -2871,7 +2871,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand Down Expand Up @@ -3055,7 +3055,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
Expand Down Expand Up @@ -3099,7 +3099,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.OneSignalNotificationServiceExtension;
Expand Down Expand Up @@ -3202,7 +3202,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand Down Expand Up @@ -3273,7 +3273,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.beta.OneSignalNotificationServiceExtension;
Expand Down Expand Up @@ -3376,7 +3376,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand Down Expand Up @@ -3447,7 +3447,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.28;
MARKETING_VERSION = 1.27;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.uniswap.mobile.dev.OneSignalNotificationServiceExtension;
Expand Down
5 changes: 4 additions & 1 deletion apps/mobile/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"link:assets": "react-native-asset",
"graphql:generate:swift": "cd ios && ./Pods/Apollo/apollo-ios-cli generate",
"hardhat": "hardhat node",
"check:circular": "../../scripts/check-circular-imports.sh ./src/app/App.tsx 7",
"check:circular": "../../scripts/check-circular-imports.sh ./src/app/App.tsx 8",
"ios": "yarn ios:prebuild && SKIP_BUNDLING=1 react-native run-ios",
"ios:prebuild": "yarn graphql:generate:swift && cd ios/WidgetsCore/MobileSchema && rm -rf !(README.md) && cd ../../.. && yarn graphql:generate:swift && yarn env:local:copy:swift",
"ios:smol": "SKIP_BUNDLING=1 react-native run-ios --simulator=\"iPhone SE (3rd generation)\"",
Expand Down Expand Up @@ -131,6 +131,7 @@
"react-native-pager-view": "6.0.1",
"react-native-permissions": "3.6.0",
"react-native-reanimated": "3.8.1",
"react-native-restart": "0.0.27",
"react-native-safe-area-context": "4.9.0",
"react-native-screens": "3.30.1",
"react-native-splash-screen": "3.3.0",
Expand Down Expand Up @@ -183,10 +184,12 @@
"postinstall-postinstall": "2.1.0",
"react-devtools": "4.28.0",
"react-dom": "18.2.0",
"react-native-apollo-devtools-client": "1.0.4",
"react-native-asset": "2.1.1",
"react-native-clean-project": "4.0.1",
"react-native-dotenv": "3.2.0",
"react-native-flipper": "0.212.0",
"react-native-mmkv-flipper-plugin": "1.0.0",
"react-native-monorepo-tools": "1.2.1",
"react-native-svg-transformer": "1.3.0",
"react-test-renderer": "18.2.0",
Expand Down
26 changes: 8 additions & 18 deletions apps/mobile/src/app/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,37 @@ import { ApolloProvider } from '@apollo/client'
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet'
import * as Sentry from '@sentry/react-native'
import { PerformanceProfiler, RenderPassReport } from '@shopify/react-native-performance'
import { MMKVWrapper } from 'apollo3-cache-persist'
import { PropsWithChildren, default as React, StrictMode, useCallback, useEffect } from 'react'
import { I18nextProvider } from 'react-i18next'
import { LogBox, NativeModules, StatusBar } from 'react-native'
import appsFlyer from 'react-native-appsflyer'
import { getUniqueId } from 'react-native-device-info'
import { GestureHandlerRootView } from 'react-native-gesture-handler'
import { MMKV } from 'react-native-mmkv'
import { SafeAreaProvider } from 'react-native-safe-area-context'
import { enableFreeze } from 'react-native-screens'
import { PersistGate } from 'redux-persist/integration/react'
import { ErrorBoundary } from 'src/app/ErrorBoundary'
import { MobileWalletNavigationProvider } from 'src/app/MobileWalletNavigationProvider'
import { useAppDispatch, useAppSelector } from 'src/app/hooks'
import { AppModals } from 'src/app/modals/AppModals'
import { NavigationContainer } from 'src/app/navigation/NavigationContainer'
import { useIsPartOfNavigationTree } from 'src/app/navigation/hooks'
import { AppStackNavigator } from 'src/app/navigation/navigation'
import { persistor, store } from 'src/app/store'
import Trace from 'src/components/Trace/Trace'
import { TraceUserProperties } from 'src/components/Trace/TraceUserProperties'
import { OfflineBanner } from 'src/components/banners/OfflineBanner'
// eslint-disable-next-line no-restricted-imports
import { usePersistedApolloClient } from 'src/data/usePersistedApolloClient'
import { initAppsFlyer } from 'src/features/analytics/appsflyer'
import { LockScreenContextProvider } from 'src/features/authentication/lockScreenContext'
import { BiometricContextProvider } from 'src/features/biometrics/context'
import { NotificationToastWrapper } from 'src/features/notifications/NotificationToastWrapper'
import { initOneSignal } from 'src/features/notifications/Onesignal'
import { sendMobileAnalyticsEvent } from 'src/features/telemetry'
import { MobileEventName } from 'src/features/telemetry/constants'
import { shouldLogScreen } from 'src/features/telemetry/directLogScreens'
import { selectAllowAnalytics } from 'src/features/telemetry/selectors'
import { selectCustomEndpoint } from 'src/features/tweaks/selectors'
import {
processWidgetEvents,
setAccountAddressesUserDefaults,
Expand All @@ -50,9 +53,6 @@ import { WALLET_EXPERIMENTS } from 'uniswap/src/features/gating/experiments'
import { WALLET_FEATURE_FLAG_NAMES } from 'uniswap/src/features/gating/flags'
import { loadStatsigOverrides } from 'uniswap/src/features/gating/overrides/customPersistedOverrides'
import { Statsig, StatsigProvider } from 'uniswap/src/features/gating/sdk/statsig'
import Trace from 'uniswap/src/features/telemetry/Trace'
import { MobileEventName } from 'uniswap/src/features/telemetry/constants'
import { sendAnalyticsEvent } from 'uniswap/src/features/telemetry/send'
import { UnitagUpdaterContextProvider } from 'uniswap/src/features/unitags/context'
import i18n from 'uniswap/src/i18n/i18n'
import { CurrencyId } from 'uniswap/src/types/currency'
Expand All @@ -61,9 +61,6 @@ import { registerConsoleOverrides } from 'utilities/src/logger/console'
import { logger } from 'utilities/src/logger/logger'
import { useAsyncData } from 'utilities/src/react/hooks'
import { AnalyticsNavigationContextProvider } from 'utilities/src/telemetry/trace/AnalyticsNavigationContext'
import { ErrorBoundary } from 'wallet/src/components/ErrorBoundary/ErrorBoundary'
// eslint-disable-next-line no-restricted-imports
import { usePersistedApolloClient } from 'wallet/src/data/apollo/usePersistedApolloClient'
import { initFirebaseAppCheck } from 'wallet/src/features/appCheck'
import { useCurrentAppearanceSetting } from 'wallet/src/features/appearance/hooks'
import { selectFavoriteTokens } from 'wallet/src/features/favorites/selectors'
Expand Down Expand Up @@ -188,19 +185,12 @@ function SentryTags({ children }: PropsWithChildren): JSX.Element {
return <>{children}</>
}

const MAX_CACHE_SIZE_IN_BYTES = 1024 * 1024 * 25 // 25 MB

// Ensures redux state is available inside usePersistedApolloClient for the custom endpoint
function AppOuter(): JSX.Element | null {
const customEndpoint = useAppSelector(selectCustomEndpoint)
const client = usePersistedApolloClient({
storageWrapper: new MMKVWrapper(new MMKV()),
maxCacheSizeInBytes: MAX_CACHE_SIZE_IN_BYTES,
customEndpoint,
})
const client = usePersistedApolloClient()

const onReportPrepared = useCallback((report: RenderPassReport) => {
sendAnalyticsEvent(MobileEventName.PerformanceReport, report)
sendMobileAnalyticsEvent(MobileEventName.PerformanceReport, report)
}, [])

if (!client) {
Expand Down
Loading

0 comments on commit 6b704f8

Please sign in to comment.