diff --git a/.github/workflows/build-example-android.yml b/.github/workflows/build-example-android.yml index 11e38418f..bf89eff57 100644 --- a/.github/workflows/build-example-android.yml +++ b/.github/workflows/build-example-android.yml @@ -16,7 +16,7 @@ jobs: node-version: '22' - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'zulu' @@ -26,7 +26,7 @@ jobs: yarn setup - name: Cache Gradle packages - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | ~/.gradle/caches diff --git a/package.json b/package.json index 8f99886e0..30b39f9d5 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "workspaces": { "packages": [ "packages/*", + "packages/connect-examples/shared-constants", "packages/connect-examples/expo-example", "packages/connect-examples/electron-example", "packages/connect-examples/expo-playground" diff --git a/packages/connect-examples/expo-example/src/components/CommonParamsView.tsx b/packages/connect-examples/expo-example/src/components/CommonParamsView.tsx index 7f3a077df..338a97d1c 100644 --- a/packages/connect-examples/expo-example/src/components/CommonParamsView.tsx +++ b/packages/connect-examples/expo-example/src/components/CommonParamsView.tsx @@ -16,11 +16,32 @@ export default function CommonParamsView() { return ( + handleSetParam('passphraseState', value)} + /> + handleSetParam('useEmptyPassphrase', value)} + /> + handleSetParam('skipPassphraseCheck', value)} + /> handleSetParam('keepSession', value)} /> + handleSetParam('initSession', value)} + /> handleSetParam('timeout', parseInt(value))} /> - handleSetParam('passphraseState', value)} - /> - handleSetParam('initSession', value)} - /> - handleSetParam('useEmptyPassphrase', value)} - /> handleSetParam('skipWebDevicePrompt', value)} /> - handleSetParam('skipPassphraseCheck', value)} - /> ); diff --git a/packages/connect-examples/expo-example/src/constants/connect.ts b/packages/connect-examples/expo-example/src/constants/connect.ts index 2047a1e9d..8d3d355d0 100644 --- a/packages/connect-examples/expo-example/src/constants/connect.ts +++ b/packages/connect-examples/expo-example/src/constants/connect.ts @@ -1,4 +1,4 @@ // eslint-disable-next-line import/no-relative-packages -import { getConnectSrc } from '../../../constants'; +import { getConnectSrc } from '@onekey-internal/shared-constants'; export const CONNECT_SRC = getConnectSrc(); diff --git a/packages/connect-examples/expo-playground/app/constants/connect.ts b/packages/connect-examples/expo-playground/app/constants/connect.ts index 3a1b8441d..488eb869b 100644 --- a/packages/connect-examples/expo-playground/app/constants/connect.ts +++ b/packages/connect-examples/expo-playground/app/constants/connect.ts @@ -1,4 +1,4 @@ -import { getConnectSrc } from '../../../constants'; +import { getConnectSrc } from '@onekey-internal/shared-constants'; /** * OneKey Hardware SDK Connect Source Configuration diff --git a/packages/connect-examples/constants.js b/packages/connect-examples/shared-constants/constants.js similarity index 100% rename from packages/connect-examples/constants.js rename to packages/connect-examples/shared-constants/constants.js diff --git a/packages/connect-examples/shared-constants/package.json b/packages/connect-examples/shared-constants/package.json new file mode 100644 index 000000000..45c8763a4 --- /dev/null +++ b/packages/connect-examples/shared-constants/package.json @@ -0,0 +1,10 @@ +{ + "name": "@onekey-internal/shared-constants", + "version": "1.1.10-alpha.2", + "private": true, + "author": "OneKey", + "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme", + "license": "ISC", + "type": "module", + "main": "constants.js" +} diff --git a/patches/react-native-crypto+2.2.0.patch b/patches/react-native-crypto+2.2.0.patch new file mode 100644 index 000000000..43e2f7626 --- /dev/null +++ b/patches/react-native-crypto+2.2.0.patch @@ -0,0 +1,41 @@ +diff --git a/node_modules/react-native-crypto/index.js b/node_modules/react-native-crypto/index.js +index f644543..bf38ebb 100644 +--- a/node_modules/react-native-crypto/index.js ++++ b/node_modules/react-native-crypto/index.js +@@ -1,28 +1,16 @@ + 'use strict' ++import { getRandomValues } from 'react-native-get-random-values'; + +-import { randomBytes } from 'react-native-randombytes' +-exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = randomBytes +- +-// implement window.getRandomValues(), for packages that rely on it +-if (typeof window === 'object') { +- if (!window.crypto) window.crypto = {} +- if (!window.crypto.getRandomValues) { +- window.crypto.getRandomValues = function getRandomValues (arr) { +- let orig = arr +- if (arr.byteLength != arr.length) { +- // Get access to the underlying raw bytes +- arr = new Uint8Array(arr.buffer) +- } +- const bytes = randomBytes(arr.length) +- for (var i = 0; i < bytes.length; i++) { +- arr[i] = bytes[i] +- } +- +- return orig +- } ++if (typeof globalThis === 'object') { ++ if (!globalThis.crypto) { ++ globalThis.crypto = {}; ++ } ++ if (!globalThis.crypto.getRandomValues) { ++ globalThis.crypto.getRandomValues = getRandomValues; + } + } + ++ + exports.createHash = exports.Hash = require('create-hash') + exports.createHmac = exports.Hmac = require('create-hmac') +