From 415e4340b294bc14bb4b9510ad0e2331c2cfdbee Mon Sep 17 00:00:00 2001
From: Sasha Ilieva <sasha.ilieva@vereign.com>
Date: Wed, 20 May 2020 17:16:47 +0300
Subject: [PATCH] Add secrets constants and fix splitting of shares

---
 javascript/src/constants/secrets.js     | 1 +
 javascript/src/iframe/viamapi-iframe.js | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100644 javascript/src/constants/secrets.js

diff --git a/javascript/src/constants/secrets.js b/javascript/src/constants/secrets.js
new file mode 100644
index 0000000..d4adfa2
--- /dev/null
+++ b/javascript/src/constants/secrets.js
@@ -0,0 +1 @@
+export const RECOMMENDED_TRUSTEES = 3;
diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index db5cea1..cb52e6c 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -47,6 +47,7 @@ import {
   checkRecoveryKeyCombine,
   encryptShare
 } from "../utilities/secrets";
+import { RECOMMENDED_TRUSTEES } from "../constants/secrets";
 
 const penpalMethods = require("../../temp/penpal-methods").default;
 const WopiAPI = require("./wopiapi-iframe");
@@ -1070,7 +1071,8 @@ const connection = Penpal.connectToParent({
         const sharesNumber = trusteesUuids.length;
         const recoveryKey = generateRecoveryKey();
         let recoveryKeyShares = [recoveryKey];
-        if (sharesNumber > 1) {
+        // Split the secret when sharesNumber is at least RECOMMENDED_TRUSTEES + 1 because VereignPublicKey is always returned
+        if (sharesNumber >= RECOMMENDED_TRUSTEES + 1) {
           recoveryKeyShares = getRecoveryKeyShares(recoveryKey, sharesNumber);
 
           const sanityCheckResponse = checkRecoveryKeyCombine(
-- 
GitLab