diff --git a/tkey-react-native/tkey-react-native-firebase-example/App.tsx b/tkey-react-native/tkey-react-native-firebase-example/App.tsx index cf0d82fe..9bd96b19 100644 --- a/tkey-react-native/tkey-react-native-firebase-example/App.tsx +++ b/tkey-react-native/tkey-react-native-firebase-example/App.tsx @@ -15,10 +15,10 @@ import auth from '@react-native-firebase/auth'; // @ts-ignore import {decode as atob} from 'base-64'; import {Dialog, Input} from '@rneui/themed'; -import EncryptedStorage from 'react-native-encrypted-storage'; -import BN from 'bn.js'; import {ShareSerializationModule} from '@tkey/share-serialization'; import {SfaServiceProvider} from '@tkey/service-provider-sfa'; +import {ReactNativeStorageModule} from '@tkey/react-native-storage'; +import EncryptedStorage from 'react-native-encrypted-storage'; async function signInWithEmailPassword() { try { @@ -190,17 +190,14 @@ export default function App() { const setDeviceShare = async () => { try { - const metadata = await tKeyInstance.getMetadata(); - const tKeyPubX = metadata.pubKey.x.toString(16, 64); const generateShareResult = await tKeyInstance.generateNewShare(); const share = await tKeyInstance.outputShareStore( generateShareResult.newShareIndex, - ).share.share; - EncryptedStorage.setItem( - `deviceShare${tKeyPubX}`, - share.toString(16, 64), ); - uiConsole('Device Share Set', share.toString(16, 64)); + await ( + tKeyInstance.modules.reactNativeStorage as ReactNativeStorageModule + ).storeDeviceShare(share); + uiConsole('Device Share Set', JSON.stringify(share)); } catch (error) { uiConsole('Error', (error as any)?.message.toString(), 'error'); } @@ -208,18 +205,16 @@ export default function App() { const getDeviceShare = async () => { try { - const metadata = await tKeyInstance.getMetadata(); - const tKeyPubX = metadata.pubKey.x.toString(16, 64); - const shareHex = await EncryptedStorage.getItem(`deviceShare${tKeyPubX}`); - if (shareHex && shareHex !== '0') { - const shareBN = new BN(shareHex as any, 'hex'); + const share = await ( + tKeyInstance.modules.reactNativeStorage as ReactNativeStorageModule + ).getStoreFromReactNativeStorage(); + + if (share) { uiConsole( 'Device Share Captured Successfully across', - tKeyPubX, - ':', - shareBN, + JSON.stringify(share), ); - return shareBN; + return share; } uiConsole('Device Share Not found'); return null; @@ -231,8 +226,7 @@ export default function App() { const deleteDeviceShare = async () => { try { const metadata = await tKeyInstance.getMetadata(); - const tKeyPubX = metadata.pubKey.x.toString(16, 64); - await EncryptedStorage.removeItem(`deviceShare${tKeyPubX}`); + await EncryptedStorage.removeItem(metadata.pubKey.x.toString('hex')); uiConsole('Device Share Deleted'); } catch (error) { uiConsole('Error', (error as any)?.message.toString(), 'error'); diff --git a/tkey-react-native/tkey-react-native-firebase-example/android/app/google-services.json b/tkey-react-native/tkey-react-native-firebase-example/android/app/google-services.json index 386d0162..93ee8f23 100644 --- a/tkey-react-native/tkey-react-native-firebase-example/android/app/google-services.json +++ b/tkey-react-native/tkey-react-native-firebase-example/android/app/google-services.json @@ -1,10 +1,83 @@ { "project_info": { "project_number": "461819774167", + "firebase_url": "https://web3auth-oauth-logins-default-rtdb.asia-southeast1.firebasedatabase.app", "project_id": "web3auth-oauth-logins", "storage_bucket": "web3auth-oauth-logins.appspot.com" }, "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:461819774167:android:4ebbd2bfa882323e5b9c92", + "android_client_info": { + "package_name": "com.example.androidsfaexample" + } + }, + "oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCL2uSXiGvQcfZ00IJ1g2uwC-7IcGZGVfQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "461819774167-3ebuiqr1ef4kjbvchpckvl1buqt2mr4c.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.w3arnfirebase" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:461819774167:android:df1f7ea1f763036e5b9c92", + "android_client_info": { + "package_name": "com.example.tkey_android" + } + }, + "oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCL2uSXiGvQcfZ00IJ1g2uwC-7IcGZGVfQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "461819774167-3ebuiqr1ef4kjbvchpckvl1buqt2mr4c.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.w3arnfirebase" + } + } + ] + } + } + }, { "client_info": { "mobilesdk_app_id": "1:461819774167:android:4b1a78bf91d324f95b9c92", @@ -113,11 +186,83 @@ } } }, + { + "client_info": { + "mobilesdk_app_id": "1:461819774167:android:0296d14ab6a06abe5b9c92", + "android_client_info": { + "package_name": "com.sfarndemo" + } + }, + "oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCL2uSXiGvQcfZ00IJ1g2uwC-7IcGZGVfQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "461819774167-3ebuiqr1ef4kjbvchpckvl1buqt2mr4c.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.w3arnfirebase" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:461819774167:android:2691fc0225e6543a5b9c92", + "android_client_info": { + "package_name": "com.tkeyfirebaseexample" + } + }, + "oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCL2uSXiGvQcfZ00IJ1g2uwC-7IcGZGVfQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "461819774167-3ebuiqr1ef4kjbvchpckvl1buqt2mr4c.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.w3arnfirebase" + } + } + ] + } + } + }, { "client_info": { "mobilesdk_app_id": "1:461819774167:android:28440ba70afe767f5b9c92", "android_client_info": { - "package_name": "com.tkeyrnfirebaseexample" + "package_name": "com.tkeyrnexample" } }, "oauth_client": [ @@ -151,20 +296,84 @@ }, { "client_info": { - "mobilesdk_app_id": "1:461819774167:android:3c22c536b06b68135b9c92", + "mobilesdk_app_id": "1:461819774167:android:bc6cf2871e083d7a5b9c92", "android_client_info": { "package_name": "com.web3authrnbarefirebase" } }, "oauth_client": [ { - "client_id": "461819774167-l7oslag3sa2vllbl1b9ghhcf6e6rhvjj.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.web3authrnbarefirebase", - "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625" - } - }, + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCL2uSXiGvQcfZ00IJ1g2uwC-7IcGZGVfQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "461819774167-3ebuiqr1ef4kjbvchpckvl1buqt2mr4c.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.w3arnfirebase" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:461819774167:android:3308fe04b56010945b9c92", + "android_client_info": { + "package_name": "com.web3authsfafirebase" + } + }, + "oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyCL2uSXiGvQcfZ00IJ1g2uwC-7IcGZGVfQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "461819774167-3ebuiqr1ef4kjbvchpckvl1buqt2mr4c.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.example.w3arnfirebase" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:461819774167:android:aac2a2911fd308555b9c92", + "android_client_info": { + "package_name": "org.torusresearch.customauthexample" + } + }, + "oauth_client": [ { "client_id": "461819774167-5iv443bdf5a6pnr2drt4tubaph270obl.apps.googleusercontent.com", "client_type": 3 diff --git a/tkey-react-native/tkey-react-native-firebase-example/ios/GoogleService-Info.plist b/tkey-react-native/tkey-react-native-firebase-example/ios/GoogleService-Info.plist index 598375d1..eb88587c 100644 --- a/tkey-react-native/tkey-react-native-firebase-example/ios/GoogleService-Info.plist +++ b/tkey-react-native/tkey-react-native-firebase-example/ios/GoogleService-Info.plist @@ -3,9 +3,9 @@ CLIENT_ID - 461819774167-7h3bonpnjq446b5tjtr4a2h2rmafpl41.apps.googleusercontent.com + 461819774167-qmruq7s79rier74t7jksgi65cngb000v.apps.googleusercontent.com REVERSED_CLIENT_ID - com.googleusercontent.apps.461819774167-7h3bonpnjq446b5tjtr4a2h2rmafpl41 + com.googleusercontent.apps.461819774167-qmruq7s79rier74t7jksgi65cngb000v ANDROID_CLIENT_ID 461819774167-l7oslag3sa2vllbl1b9ghhcf6e6rhvjj.apps.googleusercontent.com API_KEY @@ -15,7 +15,7 @@ PLIST_VERSION 1 BUNDLE_ID - tkeyrnfirebaseexample + com.tkeyfirebasexample PROJECT_ID web3auth-oauth-logins STORAGE_BUCKET @@ -31,6 +31,8 @@ IS_SIGNIN_ENABLED GOOGLE_APP_ID - 1:461819774167:ios:9c7c84383fdbf3e15b9c92 + 1:461819774167:ios:7aa421541a09daba5b9c92 + DATABASE_URL + https://web3auth-oauth-logins-default-rtdb.asia-southeast1.firebasedatabase.app \ No newline at end of file diff --git a/tkey-react-native/tkey-react-native-firebase-example/package-lock.json b/tkey-react-native/tkey-react-native-firebase-example/package-lock.json index d06b2c37..77cadfeb 100644 --- a/tkey-react-native/tkey-react-native-firebase-example/package-lock.json +++ b/tkey-react-native/tkey-react-native-firebase-example/package-lock.json @@ -12,12 +12,13 @@ "@react-native-firebase/auth": "^18.3.0", "@rneui/themed": "^4.0.0-rc.7", "@tkey/core": "^10.1.0", + "@tkey/react-native-storage": "^10.1.1", "@tkey/security-questions": "^10.1.0", - "@tkey/service-provider-sfa": "10.1.1", + "@tkey/service-provider-sfa": "^10.1.1", "@tkey/share-serialization": "^10.1.0", "@tkey/share-transfer": "^10.1.0", "@tkey/storage-layer-torus": "^10.1.0", - "@web3auth/ethereum-provider": "^6.1.7", + "@web3auth/ethereum-provider": "^6.1.5", "base-64": "^1.0.0", "ethers": "^5.7.0", "react": "18.2.0", @@ -5630,6 +5631,23 @@ "@babel/runtime": "7.x" } }, + "node_modules/@tkey/react-native-storage": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@tkey/react-native-storage/-/react-native-storage-10.1.1.tgz", + "integrity": "sha512-9KKYg80kbDUvuuYwJZFJzeBb5/x9Epw1frMkf7lYZSOCYB0rwNp9h0uLbEnWc44IoZphbJHFBIjXkQy5ZIYvZg==", + "dependencies": { + "@tkey/common-types": "^10.1.0" + }, + "engines": { + "node": ">=16.18.1", + "npm": ">=8.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@tkey/core": "^10.x", + "react-native": "*" + } + }, "node_modules/@tkey/security-questions": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/@tkey/security-questions/-/security-questions-10.1.0.tgz", diff --git a/tkey-react-native/tkey-react-native-firebase-example/package.json b/tkey-react-native/tkey-react-native-firebase-example/package.json index 60576c08..5e5188f3 100644 --- a/tkey-react-native/tkey-react-native-firebase-example/package.json +++ b/tkey-react-native/tkey-react-native-firebase-example/package.json @@ -14,12 +14,13 @@ "@react-native-firebase/auth": "^18.3.0", "@rneui/themed": "^4.0.0-rc.7", "@tkey/core": "^10.1.0", + "@tkey/react-native-storage": "^10.1.1", "@tkey/security-questions": "^10.1.0", "@tkey/service-provider-sfa": "^10.1.1", "@tkey/share-serialization": "^10.1.0", "@tkey/share-transfer": "^10.1.0", "@tkey/storage-layer-torus": "^10.1.0", - "@web3auth/ethereum-provider": "^6.1.7", + "@web3auth/ethereum-provider": "^6.1.5", "base-64": "^1.0.0", "ethers": "^5.7.0", "react": "18.2.0", diff --git a/tkey-react-native/tkey-react-native-firebase-example/tkey.ts b/tkey-react-native/tkey-react-native-firebase-example/tkey.ts index 71bc221f..f1540331 100644 --- a/tkey-react-native/tkey-react-native-firebase-example/tkey.ts +++ b/tkey-react-native/tkey-react-native-firebase-example/tkey.ts @@ -4,7 +4,9 @@ import SFAServiceProvider from '@tkey/service-provider-sfa'; import TorusStorageLayer from '@tkey/storage-layer-torus'; import {ShareTransferModule} from '@tkey/share-transfer'; import {ShareSerializationModule} from '@tkey/share-serialization'; +import {ReactNativeStorageModule} from '@tkey/react-native-storage'; import {EthereumPrivateKeyProvider} from '@web3auth/ethereum-provider'; +import EncryptedStorage from 'react-native-encrypted-storage'; const clientId = 'BEglQSgt4cUWcj6SKRdu5QkOXTsePmMcusG5EAoyjyOYKlVRjIF1iCNnMOTfpzCiunHRrMui8TIwQPXdkQ8Yxuk'; // get from https://dashboard.web3auth.io @@ -39,6 +41,7 @@ const storageLayer = new TorusStorageLayer({ }); // Configuration of Modules +const reactNativeStorageModule = new ReactNativeStorageModule(EncryptedStorage); const shareTransferModule = new ShareTransferModule(); const shareSerializationModule = new ShareSerializationModule(); const securityQuestionsModule = new SecurityQuestionsModule(); @@ -51,5 +54,6 @@ export const tKeyInstance = new ThresholdKey({ shareTransfer: shareTransferModule, securityQuestions: securityQuestionsModule, shareSerialization: shareSerializationModule, + reactNativeStorage: reactNativeStorageModule, }, }); diff --git a/tkey-react-native/tkey-rn-expo-auth0-example/App.tsx b/tkey-react-native/tkey-rn-expo-auth0-example/App.tsx index 52ab4bb4..0fe8d1b9 100644 --- a/tkey-react-native/tkey-rn-expo-auth0-example/App.tsx +++ b/tkey-react-native/tkey-rn-expo-auth0-example/App.tsx @@ -13,6 +13,7 @@ import RPC from "./ethersRPC"; // for using ethers.js import { ethereumPrivateKeyProvider, tKeyInstance } from "./tkey"; import { ShareSerializationModule } from "@tkey/share-serialization"; import SfaServiceProvider from "@tkey/service-provider-sfa"; +import ReactNativeStorageModule from "@tkey/react-native-storage"; const Home = () => { const [privateKey, setPrivateKey] = useState(); @@ -175,17 +176,14 @@ const Home = () => { const setDeviceShare = async () => { try { - const metadata = await tKeyInstance.getMetadata(); - const tKeyPubX = metadata.pubKey.x.toString(16, 64); const generateShareResult = await tKeyInstance.generateNewShare(); const share = await tKeyInstance.outputShareStore( generateShareResult.newShareIndex, - ).share.share; - SecureStore.setItemAsync( - `deviceShare${tKeyPubX}`, - share.toString(16, 64) ); - uiConsole('Device Share Set', share.toString(16, 64)); + await ( + tKeyInstance.modules.reactNativeStorage as ReactNativeStorageModule + ).storeDeviceShare(share); + uiConsole('Device Share Set', JSON.stringify(share)); } catch (error) { uiConsole('Error', (error as any)?.message.toString(), 'error'); } @@ -193,13 +191,16 @@ const Home = () => { const getDeviceShare = async () => { try { - const metadata = await tKeyInstance.getMetadata(); - const tKeyPubX = metadata.pubKey.x.toString(16, 64); - const shareHex = await SecureStore.getItemAsync(`deviceShare${tKeyPubX}`); - if (shareHex && shareHex !== '0') { - const shareBN = new BN(shareHex as any, 'hex'); - uiConsole('Device Share Captured Successfully across', tKeyPubX, ":", shareBN); - return shareBN; + const share = await ( + tKeyInstance.modules.reactNativeStorage as ReactNativeStorageModule + ).getStoreFromReactNativeStorage(); + + if (share) { + uiConsole( + 'Device Share Captured Successfully across', + JSON.stringify(share), + ); + return share; } uiConsole('Device Share Not found'); return null; @@ -211,8 +212,7 @@ const Home = () => { const deleteDeviceShare = async () => { try { const metadata = await tKeyInstance.getMetadata(); - const tKeyPubX = metadata.pubKey.x.toString(16, 64); - await SecureStore.deleteItemAsync(`deviceShare${tKeyPubX}`); + await SecureStore.deleteItemAsync(metadata.pubKey.x.toString('hex')); uiConsole('Device Share Deleted'); } catch (error) { uiConsole('Error', (error as any)?.message.toString(), 'error'); diff --git a/tkey-react-native/tkey-rn-expo-auth0-example/package-lock.json b/tkey-react-native/tkey-rn-expo-auth0-example/package-lock.json index 176067a0..65fac0bf 100644 --- a/tkey-react-native/tkey-rn-expo-auth0-example/package-lock.json +++ b/tkey-react-native/tkey-rn-expo-auth0-example/package-lock.json @@ -11,14 +11,15 @@ "@react-native-community/datetimepicker": "^7.3.0", "@rneui/base": "^4.0.0-rc.7", "@rneui/themed": "^4.0.0-rc.7", - "@tkey/core": "^9.0.0", - "@tkey/security-questions": "^9.0.0", + "@tkey/core": "^10.1.0", + "@tkey/react-native-storage": "^10.1.1", + "@tkey/security-questions": "^10.1.0", "@tkey/service-provider-sfa": "^10.1.1", - "@tkey/share-serialization": "^9.0.1", - "@tkey/share-transfer": "^9.0.0", - "@tkey/storage-layer-torus": "^9.0.0", + "@tkey/share-serialization": "^10.1.0", + "@tkey/share-transfer": "^10.1.0", + "@tkey/storage-layer-torus": "^10.1.0", "@types/react": "~18.0.27", - "@web3auth/ethereum-provider": "^6.1.1", + "@web3auth/ethereum-provider": "^6.1.7", "empty-module": "^0.0.2", "ethers": "^5.7.0", "expo": "~48.0.18", @@ -1919,16 +1920,21 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, "node_modules/@babel/template": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", @@ -4516,9 +4522,9 @@ "dev": true }, "node_modules/@metamask/eth-sig-util": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-5.1.0.tgz", - "integrity": "sha512-mlgziIHYlA9pi/XZerChqg4NocdOgBPB9NmxgXWQO2U2hH8RGOJQrz6j/AIKkYxgCMIE2PY000+joOwXfzeTDQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-6.0.0.tgz", + "integrity": "sha512-M0ezVz8lirXG1P6rHPzx+9i4zfhebCgVHE8XQT8VWxy/eUWllHQGcBcE8QmOusC7su55M4CMr9AyMIu0lx452g==", "dependencies": { "@ethereumjs/util": "^8.0.6", "bn.js": "^4.12.0", @@ -6262,107 +6268,6 @@ } }, "node_modules/@tkey/common-types": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@tkey/common-types/-/common-types-9.0.0.tgz", - "integrity": "sha512-+q6MHToZUxsz9ZsDZQ+CXrmkXiPxacbU8yPYavvdXGnYSziOzhCBXXco8Xm4ifP/ydlMCejvAbJOUmRW17uwyA==", - "dependencies": { - "@toruslabs/customauth": "^13.0.0", - "@toruslabs/eccrypto": "^3.0.0", - "@toruslabs/torus.js": "^8.0.0", - "bn.js": "^5.2.1", - "elliptic": "^6.5.4", - "serialize-error": "^8.1.0", - "ts-custom-error": "^3.3.1" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/common-types/node_modules/serialize-error": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", - "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@tkey/common-types/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@tkey/core": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@tkey/core/-/core-9.0.0.tgz", - "integrity": "sha512-YRA4G7Ubnzn3ov0Ki+gDpkgVjtU+YIxyhgfIYRdeBBnTeEvjb8F0fw3wBy5gMQ8Ed8XdpovyBDVbIbDQfKAC7A==", - "dependencies": { - "@tkey/common-types": "^9.0.0", - "@toruslabs/eccrypto": "^3.0.0", - "@toruslabs/http-helpers": "^4.0.0", - "@toruslabs/torus.js": "^8.0.0", - "bn.js": "^5.2.1", - "elliptic": "^6.5.4", - "json-stable-stringify": "^1.0.2" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/security-questions": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@tkey/security-questions/-/security-questions-9.0.0.tgz", - "integrity": "sha512-CZAnhlGvbEeORgF28tf9bZqv18SEydqNSrkKg128aGT0Ds50NI0dFQgxqs4zGQgFX4EGczB9xhImPZ1QR+bdUw==", - "dependencies": { - "@tkey/common-types": "^9.0.0", - "bn.js": "^5.2.1", - "ethereum-cryptography": "^2.0.0" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/service-provider-base": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@tkey/service-provider-base/-/service-provider-base-10.1.0.tgz", - "integrity": "sha512-adAz89Syulz+gJmPHB8NiZB0z66J/emh+/kcUe6f0MiVm86U8XvYlTgLQg1RRBrlsSHOcMQSIx3KtI5Av+/cRg==", - "dependencies": { - "@tkey/common-types": "^10.1.0", - "bn.js": "^5.2.1", - "elliptic": "^6.5.4" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/service-provider-base/node_modules/@tkey/common-types": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/@tkey/common-types/-/common-types-10.1.0.tgz", "integrity": "sha512-iwRu0LoIgosRh8uEhn83KOH5SVfUQMRhoBOxs3VA4elCcycdd/7QgtItpB6gTBWvjhM7uPA3/lNhbxdVVJIcmw==", @@ -6383,7 +6288,7 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-base/node_modules/@toruslabs/constants": { + "node_modules/@tkey/common-types/node_modules/@toruslabs/constants": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-11.0.0.tgz", "integrity": "sha512-ImSw2cFMCdJH2zZ9jAR2vfK03YXpEGxBuNctx2Mq7fDyx+h0FvFSOV/VHMcjKcYCsPZyw1WjRCP0rDVY+7lHZg==", @@ -6395,73 +6300,7 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-base/node_modules/@toruslabs/customauth": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@toruslabs/customauth/-/customauth-15.0.5.tgz", - "integrity": "sha512-qTbzvGjQyOZPvIlf2SEFj0dDhqc7ayd4ifZTa6ElmmoxrFLMdhnT4ckQrnS9T1w+y849kf7D+ijcsOSbLXErtg==", - "dependencies": { - "@chaitanyapotti/register-service-worker": "^1.7.3", - "@toruslabs/broadcast-channel": "^7.0.0", - "@toruslabs/constants": "^11.0.0", - "@toruslabs/eccrypto": "^3.0.0", - "@toruslabs/fetch-node-details": "^11.0.1", - "@toruslabs/http-helpers": "^4.0.0", - "@toruslabs/metadata-helpers": "^4.0.0", - "@toruslabs/torus.js": "^10.0.5", - "bowser": "^2.11.0", - "events": "^3.3.0", - "jwt-decode": "^3.1.2", - "lodash.merge": "^4.6.2", - "loglevel": "^1.8.1" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/types": "^7.x" - }, - "peerDependenciesMeta": { - "@sentry/types": { - "optional": true - } - } - }, - "node_modules/@tkey/service-provider-base/node_modules/@toruslabs/fetch-node-details": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@toruslabs/fetch-node-details/-/fetch-node-details-11.0.1.tgz", - "integrity": "sha512-nkKWEDCBYinbLSWsL6ggbS4cdmis3Pk/SuVAzx29dhSaqW58QG+90KuvGqbiw42T8qaqC6kGtUmje7GOroCFgA==", - "dependencies": { - "@toruslabs/constants": "^11.0.0", - "@toruslabs/fnd-base": "^11.0.1", - "@toruslabs/http-helpers": "^4.0.0", - "loglevel": "^1.8.1" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/service-provider-base/node_modules/@toruslabs/fnd-base": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@toruslabs/fnd-base/-/fnd-base-11.0.1.tgz", - "integrity": "sha512-Dd3r5xXeyODpSA03AuD91iZnXVS2GAQlhr8zv6WaNRoX5PCo0+7VXA8e/DnPdpEWtwL9GTKpdulr5ShksM128w==", - "dependencies": { - "@toruslabs/constants": "^11.0.0" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/service-provider-base/node_modules/@toruslabs/torus.js": { + "node_modules/@tkey/common-types/node_modules/@toruslabs/torus.js": { "version": "10.0.5", "resolved": "https://registry.npmjs.org/@toruslabs/torus.js/-/torus.js-10.0.5.tgz", "integrity": "sha512-dP2C1k/wxGFE+JrMavsFKucupPXjIBQwtaU++ENhsBGqkT8DWv4rzjlwwQj//VMf6ayELV7Jrr7yfOhEAeDzug==", @@ -6483,7 +6322,7 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-base/node_modules/serialize-error": { + "node_modules/@tkey/common-types/node_modules/serialize-error": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", @@ -6497,7 +6336,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@tkey/service-provider-base/node_modules/type-fest": { + "node_modules/@tkey/common-types/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", @@ -6508,36 +6347,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@tkey/service-provider-sfa": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@tkey/service-provider-sfa/-/service-provider-sfa-10.1.1.tgz", - "integrity": "sha512-BFXKd9KlQcl2/ChdqAsh8zGL6JjT0siX+Xk993sDQtYgt7CeGqnZYWclMIv96ZDiWPQI8mQoiQdLVA/uWX1tKQ==", - "dependencies": { - "@tkey/common-types": "^10.1.0", - "@tkey/service-provider-base": "^10.1.0", - "@web3auth/single-factor-auth": "^6.5.0", - "bn.js": "^5.2.1" - }, - "engines": { - "node": ">=16.18.1", - "npm": ">=8.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" - } - }, - "node_modules/@tkey/service-provider-sfa/node_modules/@tkey/common-types": { + "node_modules/@tkey/core": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@tkey/common-types/-/common-types-10.1.0.tgz", - "integrity": "sha512-iwRu0LoIgosRh8uEhn83KOH5SVfUQMRhoBOxs3VA4elCcycdd/7QgtItpB6gTBWvjhM7uPA3/lNhbxdVVJIcmw==", + "resolved": "https://registry.npmjs.org/@tkey/core/-/core-10.1.0.tgz", + "integrity": "sha512-DXWCIP0fyLQre75HkTvoaFuLqeQjQMFqOh4YNZw0zd0LuvMAFc6M6r2zPZ/N7TlBjk2quM+0mpflsLJR7eNxbg==", "dependencies": { - "@toruslabs/customauth": "^15.0.1", + "@tkey/common-types": "^10.1.0", "@toruslabs/eccrypto": "^3.0.0", + "@toruslabs/http-helpers": "^4.0.0", "@toruslabs/torus.js": "^10.0.2", "bn.js": "^5.2.1", "elliptic": "^6.5.4", - "serialize-error": "^8.1.0", - "ts-custom-error": "^3.3.1" + "json-stable-stringify": "^1.0.2" }, "engines": { "node": ">=16.18.1", @@ -6547,7 +6368,7 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-sfa/node_modules/@toruslabs/constants": { + "node_modules/@tkey/core/node_modules/@toruslabs/constants": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-11.0.0.tgz", "integrity": "sha512-ImSw2cFMCdJH2zZ9jAR2vfK03YXpEGxBuNctx2Mq7fDyx+h0FvFSOV/VHMcjKcYCsPZyw1WjRCP0rDVY+7lHZg==", @@ -6559,23 +6380,18 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-sfa/node_modules/@toruslabs/customauth": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@toruslabs/customauth/-/customauth-15.0.5.tgz", - "integrity": "sha512-qTbzvGjQyOZPvIlf2SEFj0dDhqc7ayd4ifZTa6ElmmoxrFLMdhnT4ckQrnS9T1w+y849kf7D+ijcsOSbLXErtg==", + "node_modules/@tkey/core/node_modules/@toruslabs/torus.js": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@toruslabs/torus.js/-/torus.js-10.0.5.tgz", + "integrity": "sha512-dP2C1k/wxGFE+JrMavsFKucupPXjIBQwtaU++ENhsBGqkT8DWv4rzjlwwQj//VMf6ayELV7Jrr7yfOhEAeDzug==", "dependencies": { - "@chaitanyapotti/register-service-worker": "^1.7.3", - "@toruslabs/broadcast-channel": "^7.0.0", "@toruslabs/constants": "^11.0.0", "@toruslabs/eccrypto": "^3.0.0", - "@toruslabs/fetch-node-details": "^11.0.1", "@toruslabs/http-helpers": "^4.0.0", - "@toruslabs/metadata-helpers": "^4.0.0", - "@toruslabs/torus.js": "^10.0.5", - "bowser": "^2.11.0", - "events": "^3.3.0", - "jwt-decode": "^3.1.2", - "lodash.merge": "^4.6.2", + "bn.js": "^5.2.1", + "elliptic": "^6.5.4", + "ethereum-cryptography": "^2.0.0", + "json-stable-stringify": "^1.0.2", "loglevel": "^1.8.1" }, "engines": { @@ -6583,39 +6399,34 @@ "npm": ">=8.x" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/types": "^7.x" - }, - "peerDependenciesMeta": { - "@sentry/types": { - "optional": true - } + "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-sfa/node_modules/@toruslabs/fetch-node-details": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@toruslabs/fetch-node-details/-/fetch-node-details-11.0.1.tgz", - "integrity": "sha512-nkKWEDCBYinbLSWsL6ggbS4cdmis3Pk/SuVAzx29dhSaqW58QG+90KuvGqbiw42T8qaqC6kGtUmje7GOroCFgA==", + "node_modules/@tkey/react-native-storage": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@tkey/react-native-storage/-/react-native-storage-10.1.1.tgz", + "integrity": "sha512-9KKYg80kbDUvuuYwJZFJzeBb5/x9Epw1frMkf7lYZSOCYB0rwNp9h0uLbEnWc44IoZphbJHFBIjXkQy5ZIYvZg==", "dependencies": { - "@toruslabs/constants": "^11.0.0", - "@toruslabs/fnd-base": "^11.0.1", - "@toruslabs/http-helpers": "^4.0.0", - "loglevel": "^1.8.1" + "@tkey/common-types": "^10.1.0" }, "engines": { "node": ">=16.18.1", "npm": ">=8.x" }, "peerDependencies": { - "@babel/runtime": "7.x" + "@babel/runtime": "^7.x", + "@tkey/core": "^10.x", + "react-native": "*" } }, - "node_modules/@tkey/service-provider-sfa/node_modules/@toruslabs/fnd-base": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@toruslabs/fnd-base/-/fnd-base-11.0.1.tgz", - "integrity": "sha512-Dd3r5xXeyODpSA03AuD91iZnXVS2GAQlhr8zv6WaNRoX5PCo0+7VXA8e/DnPdpEWtwL9GTKpdulr5ShksM128w==", + "node_modules/@tkey/security-questions": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@tkey/security-questions/-/security-questions-10.1.0.tgz", + "integrity": "sha512-vUrIb5qcBgm85hZ3c8/5S0zADq8RNPH+kDfB74mUKsJb1Ze+8hnpVH2oQhN/JdpEVshsSWbWvMhCRLW+RAjzgw==", "dependencies": { - "@toruslabs/constants": "^11.0.0" + "@tkey/common-types": "^10.1.0", + "bn.js": "^5.2.1", + "ethereum-cryptography": "^2.0.0" }, "engines": { "node": ">=16.18.1", @@ -6625,19 +6436,14 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-sfa/node_modules/@toruslabs/torus.js": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@toruslabs/torus.js/-/torus.js-10.0.5.tgz", - "integrity": "sha512-dP2C1k/wxGFE+JrMavsFKucupPXjIBQwtaU++ENhsBGqkT8DWv4rzjlwwQj//VMf6ayELV7Jrr7yfOhEAeDzug==", + "node_modules/@tkey/service-provider-base": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@tkey/service-provider-base/-/service-provider-base-10.1.0.tgz", + "integrity": "sha512-adAz89Syulz+gJmPHB8NiZB0z66J/emh+/kcUe6f0MiVm86U8XvYlTgLQg1RRBrlsSHOcMQSIx3KtI5Av+/cRg==", "dependencies": { - "@toruslabs/constants": "^11.0.0", - "@toruslabs/eccrypto": "^3.0.0", - "@toruslabs/http-helpers": "^4.0.0", + "@tkey/common-types": "^10.1.0", "bn.js": "^5.2.1", - "elliptic": "^6.5.4", - "ethereum-cryptography": "^2.0.0", - "json-stable-stringify": "^1.0.2", - "loglevel": "^1.8.1" + "elliptic": "^6.5.4" }, "engines": { "node": ">=16.18.1", @@ -6647,37 +6453,30 @@ "@babel/runtime": "7.x" } }, - "node_modules/@tkey/service-provider-sfa/node_modules/serialize-error": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", - "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", + "node_modules/@tkey/service-provider-sfa": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@tkey/service-provider-sfa/-/service-provider-sfa-10.1.1.tgz", + "integrity": "sha512-BFXKd9KlQcl2/ChdqAsh8zGL6JjT0siX+Xk993sDQtYgt7CeGqnZYWclMIv96ZDiWPQI8mQoiQdLVA/uWX1tKQ==", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=10" + "@tkey/common-types": "^10.1.0", + "@tkey/service-provider-base": "^10.1.0", + "@web3auth/single-factor-auth": "^6.5.0", + "bn.js": "^5.2.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@tkey/service-provider-sfa/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { - "node": ">=10" + "node": ">=16.18.1", + "npm": ">=8.x" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/runtime": "7.x" } }, "node_modules/@tkey/share-serialization": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@tkey/share-serialization/-/share-serialization-9.0.1.tgz", - "integrity": "sha512-1KeHLHaJZbGybCZJoiZflCdDVrr/gV/LvZc5abQ/R01XvORJCI9avaDGVTj1cwkQbwcy/K17CWUNehTyW7WVpA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@tkey/share-serialization/-/share-serialization-10.1.0.tgz", + "integrity": "sha512-ynSYCimDTdisjekQTAmjdu5TWYVT4k8m3vSwMRcPzkufF6w9Pr0L6Ojqrr4jBZ+3lZrGSqBy7qbhRmAf3pClQg==", "dependencies": { - "@tkey/common-types": "^9.0.0", + "@tkey/common-types": "^10.1.0", "bn.js": "^5.2.1", "ethereum-cryptography": "^2.0.0" }, @@ -6690,11 +6489,11 @@ } }, "node_modules/@tkey/share-transfer": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@tkey/share-transfer/-/share-transfer-9.0.0.tgz", - "integrity": "sha512-iitEaRCQrk2cjgmwBwrrG4BlyeNE9DCGT4xDFIElV0tNEHJwwcnDHbbrHpl2rvV/L0aKZfqGqNxEF99eVmwAUw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@tkey/share-transfer/-/share-transfer-10.1.0.tgz", + "integrity": "sha512-EOZWtzgLxwOH3ft6WZ/mybDDM3Nhu9Onu6f2XaHUTwMQJTxEyiOG0f2XHsCvrFX7BUZm6hgYJTDT+ZxH6R9hKw==", "dependencies": { - "@tkey/common-types": "^9.0.0", + "@tkey/common-types": "^10.1.0", "@toruslabs/eccrypto": "^3.0.0", "@toruslabs/http-helpers": "^4.0.0", "bn.js": "^5.2.1" @@ -6708,11 +6507,11 @@ } }, "node_modules/@tkey/storage-layer-torus": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@tkey/storage-layer-torus/-/storage-layer-torus-9.0.0.tgz", - "integrity": "sha512-E7nuQhhceMtswtdaFWp07cH5bmdlZeBVl/lEZLR4ArZXdkYEk6xDNQ2yCw9l2PwUz7bVmGPFTZnVsjU3op8t7A==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@tkey/storage-layer-torus/-/storage-layer-torus-10.1.0.tgz", + "integrity": "sha512-ngfJJlNxrxut7tSJD3WPxjc6v/PGGP8D1BD3y+MsqkG+04v9Hxou03ICWGODsmQIemPe8a+GhU7sM701FTaQtA==", "dependencies": { - "@tkey/common-types": "^9.0.0", + "@tkey/common-types": "^10.1.0", "@toruslabs/http-helpers": "^4.0.0", "bn.js": "^5.2.1", "ethereum-cryptography": "^2.0.0", @@ -6727,9 +6526,9 @@ } }, "node_modules/@toruslabs/base-controllers": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-3.1.0.tgz", - "integrity": "sha512-1f3L2c0JI5PG5TGWCG6vE866WHptVz1pTb8C6nX47+9xFsctCKn0kIaGfjwxh6+vh8XECm8yDnM/esElAmtrLw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-3.2.0.tgz", + "integrity": "sha512-CNlXJh1zZV3+o9Z/H9/KAbmyNmDULnfNebUxL/qQmMJL50VI9s55xSaNkXsE7X9QxPM41GGsTR6doPLoDEMwpg==", "dependencies": { "@ethereumjs/util": "^8.0.6", "@metamask/rpc-errors": "^5.1.1", @@ -6793,18 +6592,18 @@ } }, "node_modules/@toruslabs/customauth": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/customauth/-/customauth-13.0.0.tgz", - "integrity": "sha512-ZRQpC9mKSqTOxvfJ6t0yN3s0e5YrGuz887ImjMCWY2xhR88U9PA3tmpUdf9dF+oCxFIR/NhAgIMoph1CaBGDjA==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@toruslabs/customauth/-/customauth-15.0.5.tgz", + "integrity": "sha512-qTbzvGjQyOZPvIlf2SEFj0dDhqc7ayd4ifZTa6ElmmoxrFLMdhnT4ckQrnS9T1w+y849kf7D+ijcsOSbLXErtg==", "dependencies": { "@chaitanyapotti/register-service-worker": "^1.7.3", "@toruslabs/broadcast-channel": "^7.0.0", - "@toruslabs/constants": "^10.0.0", + "@toruslabs/constants": "^11.0.0", "@toruslabs/eccrypto": "^3.0.0", - "@toruslabs/fetch-node-details": "^10.0.0", + "@toruslabs/fetch-node-details": "^11.0.1", "@toruslabs/http-helpers": "^4.0.0", "@toruslabs/metadata-helpers": "^4.0.0", - "@toruslabs/torus.js": "^8.0.0", + "@toruslabs/torus.js": "^10.0.5", "bowser": "^2.11.0", "events": "^3.3.0", "jwt-decode": "^3.1.2", @@ -6825,6 +6624,73 @@ } } }, + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/constants": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-11.0.0.tgz", + "integrity": "sha512-ImSw2cFMCdJH2zZ9jAR2vfK03YXpEGxBuNctx2Mq7fDyx+h0FvFSOV/VHMcjKcYCsPZyw1WjRCP0rDVY+7lHZg==", + "engines": { + "node": ">=16.18.1", + "npm": ">=8.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/fetch-node-details": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/fetch-node-details/-/fetch-node-details-11.0.1.tgz", + "integrity": "sha512-nkKWEDCBYinbLSWsL6ggbS4cdmis3Pk/SuVAzx29dhSaqW58QG+90KuvGqbiw42T8qaqC6kGtUmje7GOroCFgA==", + "dependencies": { + "@toruslabs/constants": "^11.0.0", + "@toruslabs/fnd-base": "^11.0.1", + "@toruslabs/http-helpers": "^4.0.0", + "loglevel": "^1.8.1" + }, + "engines": { + "node": ">=16.18.1", + "npm": ">=8.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/fnd-base": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/fnd-base/-/fnd-base-11.0.1.tgz", + "integrity": "sha512-Dd3r5xXeyODpSA03AuD91iZnXVS2GAQlhr8zv6WaNRoX5PCo0+7VXA8e/DnPdpEWtwL9GTKpdulr5ShksM128w==", + "dependencies": { + "@toruslabs/constants": "^11.0.0" + }, + "engines": { + "node": ">=16.18.1", + "npm": ">=8.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/torus.js": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@toruslabs/torus.js/-/torus.js-10.0.5.tgz", + "integrity": "sha512-dP2C1k/wxGFE+JrMavsFKucupPXjIBQwtaU++ENhsBGqkT8DWv4rzjlwwQj//VMf6ayELV7Jrr7yfOhEAeDzug==", + "dependencies": { + "@toruslabs/constants": "^11.0.0", + "@toruslabs/eccrypto": "^3.0.0", + "@toruslabs/http-helpers": "^4.0.0", + "bn.js": "^5.2.1", + "elliptic": "^6.5.4", + "ethereum-cryptography": "^2.0.0", + "json-stable-stringify": "^1.0.2", + "loglevel": "^1.8.1" + }, + "engines": { + "node": ">=16.18.1", + "npm": ">=8.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, "node_modules/@toruslabs/eccrypto": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-3.0.0.tgz", @@ -7546,9 +7412,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@walletconnect/types": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.8.6.tgz", - "integrity": "sha512-Z/PFa3W1XdxeTcCtdR6lUsFgZfU/69wWJBPyclPwn7cu1+eriuCr6XZXQpJjib3flU+HnwHiXeUuqZaheehPxw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.10.0.tgz", + "integrity": "sha512-kSTA/WZnbKdEbvbXSW16Ty6dOSzOZCHnGg6JH7q1MuraalD2HuNg00lVVu7QAZ/Rj1Gn9DAkrgP5Wd5a8Xq//Q==", "dependencies": { "@walletconnect/events": "^1.0.1", "@walletconnect/heartbeat": "1.2.1", @@ -7559,9 +7425,9 @@ } }, "node_modules/@walletconnect/utils": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.8.6.tgz", - "integrity": "sha512-wcy6e5+COYo7tfNnW8YqidnATdJDIW6vDiWWE7A1F78Sl/VflkaevB9cIgyn8eLdxC1SxXgGoeC2oLP90nnHJg==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.10.0.tgz", + "integrity": "sha512-9GRyEz/7CJW+G04RvrjPET5k7hOEsB9b3fF9cWDk/iDCxSWpbkU/hv/urRB36C+gvQMAZgIZYX3dHfzJWkY/2g==", "dependencies": { "@stablelib/chacha20poly1305": "1.0.1", "@stablelib/hkdf": "1.0.1", @@ -7571,7 +7437,7 @@ "@walletconnect/relay-api": "^1.0.9", "@walletconnect/safe-json": "^1.0.2", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.8.6", + "@walletconnect/types": "2.10.0", "@walletconnect/window-getters": "^1.0.1", "@walletconnect/window-metadata": "^1.0.1", "detect-browser": "5.3.0", @@ -7628,13 +7494,13 @@ } }, "node_modules/@web3auth/base-provider": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@web3auth/base-provider/-/base-provider-6.1.1.tgz", - "integrity": "sha512-QX1dbsCTfK0VE09At5vnhS9qFxeU1IBSwkJ9gP6Z5XED7mj1buMU24PGXp1InSGMY3XHjbMsgKpP9al9CIGclw==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@web3auth/base-provider/-/base-provider-6.1.7.tgz", + "integrity": "sha512-h/nQ2UfWkv8rGaA/rvIyJ2pmoI6bkbo6gfA23u8c2MrmniKV7mn5aGSemZdwvxMV00+abbUWtYQtu/9fRZO9Ew==", "dependencies": { "@toruslabs/base-controllers": "^3.1.0", - "@toruslabs/openlogin-jrpc": "^4.6.0", - "@web3auth/base": "^6.1.1", + "@toruslabs/openlogin-jrpc": "^4.7.2", + "@web3auth/base": "^6.1.7", "eth-rpc-errors": "^4.0.3", "json-rpc-random-id": "^1.0.1" }, @@ -7647,21 +7513,21 @@ } }, "node_modules/@web3auth/ethereum-provider": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@web3auth/ethereum-provider/-/ethereum-provider-6.1.1.tgz", - "integrity": "sha512-vYzJlV/cG8+5wRpCyBcv5lyKXhoxJ60hyohcJOjWclQ0cTLpxMk7B/Vw59XsEqv4tVh2H7yWfTKFks5XDIBa+w==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@web3auth/ethereum-provider/-/ethereum-provider-6.1.7.tgz", + "integrity": "sha512-ZoV6LI3ctRPBmuOqwCvdDkfLdHyqBHTiexndoomgcu8JR8sm6+Fch4HmRAyZNCKfgvUicjayj0fs21+X4/VZZg==", "dependencies": { - "@ethereumjs/common": "^3.1.2", - "@ethereumjs/tx": "^4.1.2", - "@ethereumjs/util": "^8.0.6", - "@metamask/eth-sig-util": "^5.1.0", + "@ethereumjs/common": "^3.2.0", + "@ethereumjs/tx": "^4.2.0", + "@ethereumjs/util": "^8.1.0", + "@metamask/eth-sig-util": "^6.0.0", "@toruslabs/base-controllers": "^3.1.0", "@toruslabs/http-helpers": "^4.0.0", - "@toruslabs/openlogin-jrpc": "^4.6.0", + "@toruslabs/openlogin-jrpc": "^4.7.2", "@walletconnect/legacy-types": "2.0.0", - "@walletconnect/utils": "^2.8.1", - "@web3auth/base": "^6.1.1", - "@web3auth/base-provider": "^6.1.1", + "@walletconnect/utils": "^2.9.1", + "@web3auth/base": "^6.1.7", + "@web3auth/base-provider": "^6.1.7", "assert": "^2.0.0", "bignumber.js": "^9.1.1", "bn.js": "^5.2.1", @@ -10933,13 +10799,13 @@ } }, "node_modules/engine.io-client": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.1.tgz", - "integrity": "sha512-hE5wKXH8Ru4L19MbM1GgYV/2Qo54JSMh1rlJbfpa40bEWkCKNo3ol2eOtGmowcr+ysgbI7+SGL+by42Q3pt/Ng==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.2.tgz", + "integrity": "sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", - "engine.io-parser": "~5.1.0", + "engine.io-parser": "~5.2.1", "ws": "~8.11.0", "xmlhttprequest-ssl": "~2.0.0" } @@ -10965,9 +10831,9 @@ } }, "node_modules/engine.io-parser": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz", - "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", "engines": { "node": ">=10.0.0" } @@ -12163,9 +12029,9 @@ "dev": true }, "node_modules/fast-redact": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz", - "integrity": "sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", + "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", "engines": { "node": ">=6" } @@ -19592,13 +19458,13 @@ } }, "node_modules/socket.io-client": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.1.tgz", - "integrity": "sha512-Qk3Xj8ekbnzKu3faejo4wk2MzXA029XppiXtTF/PkbTg+fcwaTw1PlDrTrrrU4mKoYC4dvlApOnSeyLCKwek2w==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", + "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", - "engine.io-client": "~6.5.1", + "engine.io-client": "~6.5.2", "socket.io-parser": "~4.2.4" }, "engines": { diff --git a/tkey-react-native/tkey-rn-expo-auth0-example/package.json b/tkey-react-native/tkey-rn-expo-auth0-example/package.json index f7834707..abd5d827 100644 --- a/tkey-react-native/tkey-rn-expo-auth0-example/package.json +++ b/tkey-react-native/tkey-rn-expo-auth0-example/package.json @@ -10,14 +10,15 @@ "@react-native-community/datetimepicker": "^7.3.0", "@rneui/base": "^4.0.0-rc.7", "@rneui/themed": "^4.0.0-rc.7", - "@tkey/core": "^9.0.0", - "@tkey/security-questions": "^9.0.0", + "@tkey/core": "^10.1.0", + "@tkey/react-native-storage": "^10.1.1", + "@tkey/security-questions": "^10.1.0", "@tkey/service-provider-sfa": "^10.1.1", - "@tkey/share-serialization": "^9.0.1", - "@tkey/share-transfer": "^9.0.0", - "@tkey/storage-layer-torus": "^9.0.0", + "@tkey/share-serialization": "^10.1.0", + "@tkey/share-transfer": "^10.1.0", + "@tkey/storage-layer-torus": "^10.1.0", "@types/react": "~18.0.27", - "@web3auth/ethereum-provider": "^6.1.1", + "@web3auth/ethereum-provider": "^6.1.7", "empty-module": "^0.0.2", "ethers": "^5.7.0", "expo": "~48.0.18", diff --git a/tkey-react-native/tkey-rn-expo-auth0-example/tkey.ts b/tkey-react-native/tkey-rn-expo-auth0-example/tkey.ts index 71bc221f..6ae2423b 100644 --- a/tkey-react-native/tkey-rn-expo-auth0-example/tkey.ts +++ b/tkey-react-native/tkey-rn-expo-auth0-example/tkey.ts @@ -5,6 +5,8 @@ import TorusStorageLayer from '@tkey/storage-layer-torus'; import {ShareTransferModule} from '@tkey/share-transfer'; import {ShareSerializationModule} from '@tkey/share-serialization'; import {EthereumPrivateKeyProvider} from '@web3auth/ethereum-provider'; +import {ReactNativeStorageModule} from '@tkey/react-native-storage'; +import * as SecureStore from "expo-secure-store"; const clientId = 'BEglQSgt4cUWcj6SKRdu5QkOXTsePmMcusG5EAoyjyOYKlVRjIF1iCNnMOTfpzCiunHRrMui8TIwQPXdkQ8Yxuk'; // get from https://dashboard.web3auth.io @@ -39,6 +41,7 @@ const storageLayer = new TorusStorageLayer({ }); // Configuration of Modules +const reactNativeStorageModule = new ReactNativeStorageModule(SecureStore); const shareTransferModule = new ShareTransferModule(); const shareSerializationModule = new ShareSerializationModule(); const securityQuestionsModule = new SecurityQuestionsModule(); @@ -48,6 +51,7 @@ export const tKeyInstance = new ThresholdKey({ serviceProvider, storageLayer, modules: { + reactNativeStorage: reactNativeStorageModule, shareTransfer: shareTransferModule, securityQuestions: securityQuestionsModule, shareSerialization: shareSerializationModule,