diff --git a/CHANGELOG.md b/CHANGELOG.md index f430868b226..12f533b1977 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased (develop) - added: `chooseCaip19Asset` EdgeProvider API for precise wallet selection using CAIP-19 identifiers +- added: Pass OS and app version details to core context for v2/coreRollup endpoint - changed: Append chain names to token codes in RampCreateScene ## 4.42.0 (staging) diff --git a/eslint.config.mjs b/eslint.config.mjs index 2bbc3a7d65e..ed0f869c3fc 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -325,7 +325,7 @@ export default [ 'src/components/services/ContactsLoader.ts', 'src/components/services/DeepLinkingManager.tsx', 'src/components/services/EdgeContextCallbackManager.tsx', - 'src/components/services/EdgeCoreManager.tsx', + 'src/components/services/FioService.ts', 'src/components/services/LoanManagerService.ts', 'src/components/services/NetworkActivity.ts', diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 430a4cb1e7c..20b865b9109 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -15,7 +15,7 @@ PODS: - disklet (0.5.2): - React - DoubleConversion (1.1.6) - - edge-core-js (2.38.4): + - edge-core-js (2.39.0): - React-Core - edge-currency-accountbased (4.69.0): - React-Core @@ -3338,7 +3338,7 @@ SPEC CHECKSUMS: CNIOWindows: 3047f2d8165848a3936a0a755fee27c6b5ee479b disklet: 8a20bf8a568635b6e6bb8f93297dac13ee5cef98 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb - edge-core-js: cb4060b09b25454ed9a085808351bd1de17352df + edge-core-js: 5b2ad70555f2dd19d9707a773aa3c9c27a9f926f edge-currency-accountbased: 241e7ef2a1b253d1d96b6dd834672ede56c9e82d edge-currency-plugins: 6b3341707a6a5c74f837a012768dd2f6c55a691b edge-exchange-plugins: f31912c54a50852bd02077b795aace0e0bee8365 diff --git a/package.json b/package.json index d6ad4403186..748a6fecfc6 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "deprecated-react-native-prop-types": "^5.0.0", "detect-bundler": "^1.1.0", "disklet": "^0.5.2", - "edge-core-js": "^2.38.4", + "edge-core-js": "^2.39.0", "edge-currency-accountbased": "^4.69.0", "edge-currency-monero": "^2.1.0", "edge-currency-plugins": "^3.8.10", diff --git a/src/components/services/EdgeCoreManager.tsx b/src/components/services/EdgeCoreManager.tsx index 004673c2fbb..ea6a43ebda7 100644 --- a/src/components/services/EdgeCoreManager.tsx +++ b/src/components/services/EdgeCoreManager.tsx @@ -28,8 +28,9 @@ import { pluginUri as exchangeUri } from 'edge-exchange-plugins' import * as React from 'react' +import { Platform } from 'react-native' import BootSplash from 'react-native-bootsplash' -import { getBrand, getDeviceId } from 'react-native-device-info' +import { getBrand, getDeviceId, getVersion } from 'react-native-device-info' import { ENV } from '../../env' import { useAsyncEffect } from '../../hooks/useAsyncEffect' @@ -40,6 +41,7 @@ import { addMetadataToContext } from '../../util/addMetadataToContext' import { allPlugins } from '../../util/corePlugins' import { fakeUser } from '../../util/fake-user' import { isMaestro } from '../../util/maestro' +import { getOsVersion } from '../../util/utils' import { ButtonsModal } from '../modals/ButtonsModal' import { LoadingSplashScreen } from '../progress-indicators/LoadingSplashScreen' import { Airship, showError } from './AirshipInstance' @@ -55,7 +57,10 @@ const contextOptions: EdgeContextOptions = { apiKey: ENV.EDGE_API_KEY, apiSecret: ENV.EDGE_API_SECRET, appId: '', + appVersion: getVersion(), deviceDescription: `${getBrand()} ${getDeviceId()}`, + osType: Platform.OS, + osVersion: getOsVersion(), // Use this to adjust logging verbosity on a plugin-by-plugin basis: logSettings: { @@ -123,7 +128,7 @@ const crashReporter: EdgeCrashReporter = { * Mounts the edge-core-js WebView, and then mounts the rest of the app * once the core context is ready. */ -export function EdgeCoreManager(props: Props) { +export const EdgeCoreManager: React.FC = props => { const [context, setContext] = React.useState(null) // Scratchpad values that should not trigger re-renders: @@ -145,10 +150,10 @@ export function EdgeCoreManager(props: Props) { 'EdgeCoreManager' ) - function hideSplash() { + function hideSplash(): void { if (!splashHidden.current) { setTimeout(() => { - BootSplash.hide({ fade: true }).catch(err => { + BootSplash.hide({ fade: true }).catch((err: unknown) => { showError(err) }) }, 200) diff --git a/yarn.lock b/yarn.lock index f09a5f775a5..384da653ce0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1063,20 +1063,7 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" - integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.0" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.0" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.0" - debug "^4.3.1" - -"@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0", "@babel/traverse@^7.7.0": +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3", "@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0", "@babel/traverse@^7.7.0": version "7.28.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== @@ -9539,10 +9526,10 @@ ed25519@0.0.4: bindings "^1.2.1" nan "^2.0.9" -edge-core-js@^2.38.4: - version "2.38.4" - resolved "https://registry.yarnpkg.com/edge-core-js/-/edge-core-js-2.38.4.tgz#e6ca805ea631aad651a9fcc9baead2e28a55c402" - integrity sha512-y3ch7HUpiUWG9oct0Hs07vCY1DwHPhbZhl2+mqxfc6K4Zu6QsK6y9XMYBOeB3aIJ56WyRQAVHUomOZeqlnX5SQ== +edge-core-js@^2.39.0: + version "2.39.0" + resolved "https://registry.yarnpkg.com/edge-core-js/-/edge-core-js-2.39.0.tgz#5d0737d603583f64b1a4ad6dbf161e9056a5f1d0" + integrity sha512-5/M4uIMf2BCT4bOer/swSrHLRdfrox+iC4GF20wZBEBshz3YgCW3y65eOcFgzkgLJb7A2BOHPABgOrjSPG5HUg== dependencies: aes-js "^3.1.0" base-x "^4.0.0" @@ -17769,16 +17756,7 @@ string-length@^4.0.2: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -17887,7 +17865,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -17901,13 +17879,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.0, strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -19626,7 +19597,7 @@ wordwrapjs@^4.0.0: reduce-flatten "^2.0.0" typical "^5.2.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -19644,15 +19615,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"