From e3529c4abaf2abc6f736fbcb149da485f1809dff Mon Sep 17 00:00:00 2001
From: librelois <c@elo.tf>
Date: Sun, 21 Feb 2021 18:04:17 +0100
Subject: [PATCH] feat(dubp): support member wallet from legacy salt+password

---
 native/dubp_rs/src/secret_code.rs | 6 +++++-
 packages/dubp_rs/lib/dubp.dart    | 3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/native/dubp_rs/src/secret_code.rs b/native/dubp_rs/src/secret_code.rs
index 3666705c..2020b376 100644
--- a/native/dubp_rs/src/secret_code.rs
+++ b/native/dubp_rs/src/secret_code.rs
@@ -32,7 +32,11 @@ pub(crate) fn compute_secret_code_len(
         }
         SecretCodeType::Letters => {
             if member_wallet {
-                Ok(10)
+                if log_n >= 15 {
+                    Ok(7)
+                } else {
+                    Ok(8)
+                }
             } else if log_n >= 15 {
                 Ok(5)
             } else {
diff --git a/packages/dubp_rs/lib/dubp.dart b/packages/dubp_rs/lib/dubp.dart
index d5efb5c0..d4d41634 100644
--- a/packages/dubp_rs/lib/dubp.dart
+++ b/packages/dubp_rs/lib/dubp.dart
@@ -122,6 +122,7 @@ class DubpRust {
     String salt,
     String password,
     SecretCodeType secretCodeType = SecretCodeType.letters,
+    bool isMember = false,
   }) async {
     int ram = SysInfo.getTotalPhysicalMemory();
     print('ram=$ram');
@@ -134,7 +135,7 @@ class DubpRust {
       Utf8.toUtf8(currency),
       Utf8.toUtf8(salt),
       Utf8.toUtf8(password),
-      0,
+      isMember ? 1 : 0,
       secretCodeType.index,
       ram,
     );
-- 
GitLab