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,