Skip to content
Snippets Groups Projects

908 account recovery ability to add contacts to trusted contacts list for account recovery

1 file
+ 30
34
Compare changes
  • Side-by-side
  • Inline
@@ -288,39 +288,6 @@ const handleIdentityLogin = (identity, uuid, token) => {
setKeyForUUID(uuid, publicKey);
};
const getTrusteeContactsPublicKeys = async () => {
return new Penpal.Promise(async result => {
console.log({ result });
const { viamApi } = window;
const response = await executeRestfulFunction(
"private",
viamApi,
viamApi.contactsGetTrusteeContactsPublicKeys
);
console.log({ response });
if (response.code !== "200") return response;
});
// const responseData = response.data.data;
// console.log({ responseData });
// const contactsPublicKeys = Object.values(responseData).flat();
// console.log({ contactsPublicKeys });
// const sharesNumber = contactsPublicKeys.length;
// const getThreshold = () =>
// sharesNumber === 3 ? 2 : parseInt(sharesNumber / 2);
// const threshold = getThreshold();
// console.log({ threshold });
// const recoveryKey = generateRecoveryKey(512);
// const recoveryKeyShares = divideSecretToShares(
// recoveryKey,
// sharesNumber,
// threshold
// );
// // Sanity check
// const checkKey = combineSecret(recoveryKeyShares.slice(0, 1));
// console.log("first sanity check", checkKey === recoveryKey);
};
async function executeRestfulFunction(type, that, fn, config, ...args) {
const {
currentlyAuthenticatedIdentity,
@@ -1006,6 +973,36 @@ const connection = Penpal.connectToParent({
});
});
},
getTrusteeContactsPublicKeys: async () => {
return new Penpal.Promise(async result => {
const { viamApi } = window;
const response = await executeRestfulFunction(
"private",
viamApi,
viamApi.contactsGetTrusteeContactsPublicKeys
);
result(response);
});
// const responseData = response.data.data;
// console.log({ responseData });
// const contactsPublicKeys = Object.values(responseData).flat();
// console.log({ contactsPublicKeys });
// const sharesNumber = contactsPublicKeys.length;
// const getThreshold = () =>
// sharesNumber === 3 ? 2 : parseInt(sharesNumber / 2);
// const threshold = getThreshold();
// console.log({ threshold });
// const recoveryKey = generateRecoveryKey(512);
// const recoveryKeyShares = divideSecretToShares(
// recoveryKey,
// sharesNumber,
// threshold
// );
// // Sanity check
// const checkKey = combineSecret(recoveryKeyShares.slice(0, 1));
// console.log("first sanity check", checkKey === recoveryKey);
},
parseSMIME,
getCurrentlyLoggedInUUID() {
return new Penpal.Promise(result => {
@@ -2225,7 +2222,6 @@ connection.promise.then(parent => {
parent.onEvent(event);
identityAuthenticatedEvent = true;
}
await getTrusteeContactsPublicKeys();
} else {
const authenticationPublicKey = localStorage.getItem(
"authenticatedIdentity"
Loading