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 Apr 17, 2024
1 parent b42b73d commit c0bbcf5
Show file tree
Hide file tree
Showing 306 changed files with 4,004 additions and 2,141 deletions.
50 changes: 43 additions & 7 deletions RELEASE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
IPFS hash of the deployment:
- CIDv0: `QmXAfrFgiMF3naNbfoknu5e6H1ussSDJbvb1C1Paw5Ugpi`
- CIDv1: `bafybeiedfku63hfv4tr7zi3kx357dkdjvcoxp4wfv5i75y3qfabtwo3eym`
- CIDv0: `QmbEmY4ebbPrQirzx9PNZGKqyjK7pgUMVce2F2tMtJHbJ5`
- CIDv1: `bafybeif7uyvbcyhd5ib6xkikxoyvm4voodg4pgagjckny4m52o7qtclpsy`

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

Expand All @@ -10,15 +10,51 @@ You can also access the Uniswap Interface from an IPFS gateway.
Your Uniswap settings are never remembered across different URLs.

IPFS gateways:
- https://bafybeiedfku63hfv4tr7zi3kx357dkdjvcoxp4wfv5i75y3qfabtwo3eym.ipfs.dweb.link/
- https://bafybeiedfku63hfv4tr7zi3kx357dkdjvcoxp4wfv5i75y3qfabtwo3eym.ipfs.cf-ipfs.com/
- [ipfs://QmXAfrFgiMF3naNbfoknu5e6H1ussSDJbvb1C1Paw5Ugpi/](ipfs://QmXAfrFgiMF3naNbfoknu5e6H1ussSDJbvb1C1Paw5Ugpi/)
- https://bafybeif7uyvbcyhd5ib6xkikxoyvm4voodg4pgagjckny4m52o7qtclpsy.ipfs.dweb.link/
- https://bafybeif7uyvbcyhd5ib6xkikxoyvm4voodg4pgagjckny4m52o7qtclpsy.ipfs.cf-ipfs.com/
- [ipfs://QmbEmY4ebbPrQirzx9PNZGKqyjK7pgUMVce2F2tMtJHbJ5/](ipfs://QmbEmY4ebbPrQirzx9PNZGKqyjK7pgUMVce2F2tMtJHbJ5/)

### 5.23.5 (2024-04-15)
## 5.24.0 (2024-04-17)


### Features

* **web:** [wagmi] Add viem to ethers adapters (#7237) 276faae
* **web:** deprecate token logo lookups (#6921) 0ade412
* **web:** deprecate+delete token safety lookups (#7132) b4642e9
* **web:** update signatures from subscription (#7389) f867870


### Bug Fixes

* **web:** parse native MATIC correctly (#7523) 12a6205
* **web:** allow TrustWallet nodes in CSP (#7515) 0a5b28d
* **web:** change background color of LP warning banner (#7491) f543ab0
* **web:** change warning icon color; add learn more link (#7483) 352be3b
* **web:** checkbox color on open-limits drawer (#7410) 05dfaed
* **web:** dismiss chart tooltip when clicking outside of chart (#7285) 3d97a14
* **web:** ellipsis on unitag text in side drawer (#7386) 471661c
* **web:** fix cypress tests (#7347) e54ceb9
* **web:** fix icon cutoff (#7583) a01e106
* **web:** fix translations with JSX rendering as [object Object] (#7336) 67df76c
* **web:** fix uniswapx e2e tests (#7458) c6de35e
* **web:** fix x-chain token logos (#7374) 4367e3a
* **web:** functions pass-through (#7338) ace3062
* **web:** make sure SimpleToken hits the cache in all cases (#7488) 1be2954
* **web:** parse matic correctly from gql response (#7519) 800eae5
* **web:** remove assets repo fallback for all tokens (#7476) 8e2142c
* **web:** Send crashing on useENSAvatar while disconnected (#7595) 131c6a3
* **web:** set usePoolData errorPolicy to all (#7466) 55e3e8a
* **web:** SimpleTokenDetails fragment to be used in all queries (#7549) 678e624
* **web:** switch currency when input equals output (staging) 20277d2
* **web:** TokenBalanceProvider account change (#7432) 516b781
* **web:** use accent warning soft for outage banner icon wrapper (#7428) cda7ea9
* **web:** use cache-first policy for TopTokens query (#7484) 25d0950


### Code Refactoring

* **web:** isolate the subscription updater (#7387) 6caabbd
* **web:** split out parseRemote signature (#7388) 223e766
* **web:** use a single codepath for functions response transform (#7363) 60471a8


2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
web/5.23.5
web/5.24.0
3 changes: 2 additions & 1 deletion apps/mobile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ Add the following to your .rc file
Install [Android Studio](https://developer.android.com/studio)

Add the following to your .rc file

```
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
Expand Down Expand Up @@ -175,7 +176,7 @@ These are some tools you might want to familiarize yourself with to understand t

## Migrations

We use `redux-persist` to persist Redux state between user sessions. When the Redux state schema is altered, a migration may be needed to transfer the existing persisted state to the new Redux schema. Failing to define a migration results in the app defaulting to the persisted schema, which will very likely cause `undefined` errors because the code has references to Redux state properties that were dropped in favor the the persisted schema.
We use `redux-persist` to persist Redux state between user sessions. When the Redux state schema is altered, a migration may be needed to transfer the existing persisted state to the new Redux schema. Failing to define a migration results in the app defaulting to the persisted schema, which will very likely cause `undefined` errors because the code has references to Redux state properties that were dropped in favor the persisted schema.

### When to define a migration

Expand Down
8 changes: 2 additions & 6 deletions apps/mobile/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1151,12 +1151,8 @@ PODS:
- React-Core
- react-native-restart (0.0.27):
- React-Core
- react-native-safe-area-context (4.5.0):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- react-native-safe-area-context (4.9.0):
- React-Core
- ReactCommon/turbomodule/core
- react-native-skia (0.1.187):
- React
- React-callinvoker
Expand Down Expand Up @@ -1749,7 +1745,7 @@ SPEC CHECKSUMS:
react-native-onesignal: ab800900cffeca4d9db70a05244013fc8a36ceb8
react-native-pager-view: 3051346698a0ba0c4e13e40097cc11b00ee03cca
react-native-restart: 7595693413fe3ca15893702f2c8306c62a708162
react-native-safe-area-context: 39c2d8be3328df5d437ac1700f4f3a4f75716acc
react-native-safe-area-context: b97eb6f9e3b7f437806c2ce5983f479f8eb5de4b
react-native-skia: e7385e2f5ebe284df53f0def573198fe69a7bd72
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581
Expand Down
4 changes: 0 additions & 4 deletions apps/mobile/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ const preset = require('../../config/jest-presets/jest/jest-preset')
module.exports = {
...preset,
preset: 'jest-expo',
transform: {
...preset.transform,
'^.+\\.jsx?$': 'babel-jest',
},
displayName: 'Mobile Wallet',
collectCoverageFrom: [
'src/**/*.{js,ts,tsx}',
Expand Down
1 change: 0 additions & 1 deletion apps/mobile/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@
"@uniswap/eslint-config": "workspace:^",
"@walletconnect/types": "2.11.2",
"@welldone-software/why-did-you-render": "7.0.1",
"babel-jest": "29.6.1",
"babel-loader": "8.2.3",
"babel-plugin-react-native-web": "0.17.5",
"babel-plugin-react-require": "4.0.0",
Expand Down
20 changes: 10 additions & 10 deletions apps/mobile/src/app/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,14 @@ import {
getSentryTracesSamplingRate,
getStatsigEnvironmentTier,
} from 'src/utils/version'
import { Statsig, StatsigProvider } from 'statsig-react-native'
import { StatsigProvider } from 'statsig-react-native'
import { flexStyles, useIsDarkMode } from 'ui/src'
import { config } from 'uniswap/src/config'
import { uniswapUrls } from 'uniswap/src/constants/urls'
import {
DUMMY_STATSIG_SDK_KEY,
ExperimentsWallet,
} from 'uniswap/src/features/experiments/constants'
import { WALLET_FEATURE_FLAG_NAMES } from 'uniswap/src/features/experiments/flags'
import { DUMMY_STATSIG_SDK_KEY } from 'uniswap/src/features/statsig/constants'
import { WALLET_EXPERIMENTS } from 'uniswap/src/features/statsig/experiments'
import { WALLET_FEATURE_FLAG_NAMES } from 'uniswap/src/features/statsig/flags'
import { Statsig } from 'uniswap/src/features/statsig/sdk/statsig'
import { UnitagUpdaterContextProvider } from 'uniswap/src/features/unitags/context'
import i18n from 'uniswap/src/i18n/i18n'
import { CurrencyId } from 'uniswap/src/types/currency'
Expand Down Expand Up @@ -175,12 +174,13 @@ function SentryTags({ children }: PropsWithChildren): JSX.Element {
Sentry.setTag(`featureFlag.${flagKey}`, Statsig.checkGateWithExposureLoggingDisabled(flagKey))
}

Object.entries(ExperimentsWallet).map(([_, experimentName]) => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
for (const [_, experimentDef] of WALLET_EXPERIMENTS.entries()) {
Sentry.setTag(
`experiment.${experimentName}`,
Statsig.getExperimentWithExposureLoggingDisabled(experimentName).getGroupName()
`experiment.${experimentDef.name}`,
Statsig.getExperimentWithExposureLoggingDisabled(experimentDef.name).getGroupName()
)
})
}
}, [])

return <>{children}</>
Expand Down
45 changes: 19 additions & 26 deletions apps/mobile/src/app/MobileWalletNavigationProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,21 @@ import { useAppStackNavigation } from 'src/app/navigation/types'
import { closeModal, openModal } from 'src/features/modals/modalSlice'
import { HomeScreenTabIndex } from 'src/screens/HomeScreenTabIndex'
import { Screens } from 'src/screens/Screens'
import { FeatureFlags } from 'uniswap/src/features/experiments/flags'
import { useFeatureFlag } from 'uniswap/src/features/experiments/hooks'
import { FeatureFlags } from 'uniswap/src/features/statsig/flags'
import { useFeatureFlag } from 'uniswap/src/features/statsig/hooks'
import { logger } from 'utilities/src/logger/logger'
import { ScannerModalState } from 'wallet/src/components/QRCodeScanner/constants'
import {
NavigateToNftItemArgs,
NavigateToSendArgs,
NavigateToSendFlowArgs,
NavigateToSwapFlowArgs,
ShareNftArgs,
ShareTokenArgs,
WalletNavigationProvider,
getNavigateToSendFlowArgsInitialState,
getNavigateToSwapFlowArgsInitialState,
} from 'wallet/src/contexts/WalletNavigationContext'
import { AssetType } from 'wallet/src/entities/assets'
import { useFiatOnRampIpAddressQuery } from 'wallet/src/features/fiatOnRamp/api'
import {
CurrencyField,
TransactionState,
} from 'wallet/src/features/transactions/transactionState/types'
import { sendWalletAnalyticsEvent } from 'wallet/src/telemetry'
import { ModalName, ShareableEntity, WalletEventName } from 'wallet/src/telemetry/constants'
import { getNftUrl, getTokenUrl } from 'wallet/src/utils/linking'
Expand Down Expand Up @@ -122,24 +118,12 @@ function useNavigateToReceive(): () => void {
}, [dispatch])
}

function useNavigateToSend(): (args: NavigateToSendArgs) => void {
function useNavigateToSend(): (args: NavigateToSendFlowArgs) => void {
const dispatch = useAppDispatch()

return useCallback(
(args: NavigateToSendArgs) => {
const initialSendState: TransactionState = {
exactCurrencyField: CurrencyField.INPUT,
exactAmountToken: '',
[CurrencyField.INPUT]: args
? {
address: args.currencyAddress,
chainId: args.chainId,
type: AssetType.Currency,
}
: null,
[CurrencyField.OUTPUT]: null,
showRecipientSelector: true,
}
(args: NavigateToSendFlowArgs) => {
const initialSendState = getNavigateToSendFlowArgsInitialState(args)
dispatch(openModal({ name: ModalName.Send, initialState: initialSendState }))
},
[dispatch]
Expand All @@ -160,9 +144,18 @@ function useNavigateToSwapFlow(): (args: NavigateToSwapFlowArgs) => void {
}

function useNavigateToTokenDetails(): (currencyId: string) => void {
return useCallback((currencyId: string): void => {
exploreNavigationRef.navigate(Screens.TokenDetails, { currencyId })
}, [])
const appNavigation = useAppStackNavigation()

return useCallback(
(currencyId: string): void => {
if (exploreNavigationRef.isFocused()) {
exploreNavigationRef.navigate(Screens.TokenDetails, { currencyId })
} else {
appNavigation.navigate(Screens.TokenDetails, { currencyId })
}
},
[appNavigation]
)
}

function useNavigateToNftDetails(): (args: NavigateToNftItemArgs) => void {
Expand Down
8 changes: 8 additions & 0 deletions apps/mobile/src/app/migrations.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ import {
v5Schema,
v60Schema,
v61Schema,
v62Schema,
v6Schema,
v7Schema,
v8Schema,
Expand Down Expand Up @@ -1390,4 +1391,11 @@ describe('Redux state migrations', () => {

expect(v62.behaviorHistory.extensionOnboardingState).toBe(ExtensionOnboardingState.Undefined)
})

it('migrates from v62 to 63', () => {
const v62Stub = { ...v62Schema }
const v63 = migrations[63](v62Stub)

expect(v63.wallet.isUnlocked).toBe(undefined)
})
})
7 changes: 7 additions & 0 deletions apps/mobile/src/app/migrations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -875,4 +875,11 @@ export const migrations = {

return newState
},

63: function removeWalletIsUnlockedState(state: any) {
const newState = { ...state }
delete newState.wallet.isUnlocked

return newState
},
}
4 changes: 2 additions & 2 deletions apps/mobile/src/app/modals/AccountSwitcherModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import {
useSporeColors,
} from 'ui/src'
import { spacing } from 'ui/src/theme'
import { FeatureFlags } from 'uniswap/src/features/experiments/flags'
import { useFeatureFlag } from 'uniswap/src/features/experiments/hooks'
import { FeatureFlags } from 'uniswap/src/features/statsig/flags'
import { useFeatureFlag } from 'uniswap/src/features/statsig/hooks'
import { isAndroid } from 'uniswap/src/utils/platform'
import { AddressDisplay } from 'wallet/src/components/accounts/AddressDisplay'
import { ActionSheetModal, MenuItemProp } from 'wallet/src/components/modals/ActionSheetModal'
Expand Down

0 comments on commit c0bbcf5

Please sign in to comment.