diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart index d7947eb..c7b7281 100644 --- a/lib/models/generateWallets.dart +++ b/lib/models/generateWallets.dart @@ -159,10 +159,10 @@ class GenerateWalletsProvider with ChangeNotifier { Future generateWallet(generatedMnemonic) async { try { this.actualWallet = await DubpRust.genWalletFromMnemonic( - language: Language.french, - mnemonic: generatedMnemonic, - secretCodeType: SecretCodeType.letters, - walletType: WalletType.bip32Ed25519); + language: Language.french, + mnemonic: generatedMnemonic, + secretCodeType: SecretCodeType.letters, + ); } catch (e) { print(e); } diff --git a/native/dubp_rs/src/dewif.rs b/native/dubp_rs/src/dewif.rs index c017d69..c05ad85 100644 --- a/native/dubp_rs/src/dewif.rs +++ b/native/dubp_rs/src/dewif.rs @@ -42,7 +42,6 @@ pub(super) fn gen_dewif( member_wallet: bool, secret_code_type: SecretCodeType, system_memory: i64, - wallet_type: WalletType, ) -> Result, DubpError> { let currency = parse_currency(currency)?; let mnemonic = @@ -52,17 +51,10 @@ pub(super) fn gen_dewif( let log_n = log_n(system_memory); let secret_code = gen_secret_code(member_wallet, secret_code_type, log_n)?; - let dewif = match wallet_type { - WalletType::Bip32Ed25519 => { - let keypair = dup_crypto::keys::ed25519::bip32::KeyPair::from_seed(seed.clone()); - let pubkey = keypair.public_key(); - dup_crypto::dewif::write_dewif_v4_content(currency, log_n, &secret_code, &pubkey, seed) - } - WalletType::Ed25519 => { - let keypair = KeyPairFromSeed32Generator::generate(seed); - dup_crypto::dewif::write_dewif_v3_content(currency, &keypair, log_n, &secret_code) - } - }; + let keypair = dup_crypto::keys::ed25519::bip32::KeyPair::from_seed(seed.clone()); + let pubkey = keypair.public_key(); + let dewif = + dup_crypto::dewif::write_dewif_v4_content(currency, log_n, &secret_code, &pubkey, seed); Ok(vec![dewif, secret_code]) } diff --git a/native/dubp_rs/src/lib.rs b/native/dubp_rs/src/lib.rs index 6109089..544d1c4 100644 --- a/native/dubp_rs/src/lib.rs +++ b/native/dubp_rs/src/lib.rs @@ -87,7 +87,6 @@ pub extern "C" fn gen_dewif( member_wallet: u32, secret_code_type: u32, system_memory: i64, - wallet_type: u32, ) { exec_async( port, @@ -97,7 +96,6 @@ pub extern "C" fn gen_dewif( let mnemonic = char_ptr_to_str(mnemonic)?; let member_wallet = member_wallet != 0; let secret_code_type = SecretCodeType::from(secret_code_type); - let wallet_type = WalletType::from(wallet_type); Ok(( currency, language, @@ -105,18 +103,9 @@ pub extern "C" fn gen_dewif( member_wallet, secret_code_type, system_memory, - wallet_type, )) }, - |( - currency, - language, - mnemonic, - member_wallet, - secret_code_type, - system_memory, - wallet_type, - )| { + |(currency, language, mnemonic, member_wallet, secret_code_type, system_memory)| { dewif::gen_dewif( currency, language, @@ -124,7 +113,6 @@ pub extern "C" fn gen_dewif( member_wallet, secret_code_type, system_memory, - wallet_type, ) }, ) diff --git a/packages/dubp_rs/README.md b/packages/dubp_rs/README.md index 2c27fe8..958eb82 100644 --- a/packages/dubp_rs/README.md +++ b/packages/dubp_rs/README.md @@ -144,10 +144,11 @@ NewWallet new_wallet = await DubpRust.genWalletFromMnemonic( #### Function signature ```dart -static Future sign({ +static Future signBip32Transparent({ + int accountIndex, String currency = "g1", String dewif, - String pin, + String secretCode, String message }); ``` @@ -157,7 +158,8 @@ If the wallet is not dedicated to the Ğ1 currency, you must indicate the curren #### Usage example ```dart -String signature = await DubpRust.sign( +String signature = await DubpRust.signBip32Transparent( + accountIndex: 3, dewif: "AAAAARAAAAGfFDAs+jVZYkfhBlHZZ2fEQIvBqnG16g5+02cY18wSOjW0cUg2JV3SUTJYN2CrbQeRDwGazWnzSFBphchMmiL0", pin: "CDJ4UB", message: "toto" diff --git a/packages/dubp_rs/lib/dubp.dart b/packages/dubp_rs/lib/dubp.dart index d4d4163..ee4ee9b 100644 --- a/packages/dubp_rs/lib/dubp.dart +++ b/packages/dubp_rs/lib/dubp.dart @@ -156,7 +156,6 @@ class DubpRust { Language language = Language.english, String mnemonic, SecretCodeType secretCodeType = SecretCodeType.letters, - WalletType walletType = WalletType.ed25519, }) async { int ram = SysInfo.getTotalPhysicalMemory(); print('ram=$ram'); @@ -172,7 +171,6 @@ class DubpRust { 0, secretCodeType.index, ram, - walletType.index, ); List newWallet = await completer.future; @@ -263,24 +261,6 @@ class DubpRust { return completer.future; } - /// Sign the message `message` with `dewif` keypair encryted in DEWIF format. - /// - /// If you have several messages to sign, use `signSeveral` method instead. - static Future sign( - {String currency = "g1", String dewif, String pin, String message}) { - final completer = Completer(); - final sendPort = - singleCompletePort(completer, callback: _handleErr); - native.sign( - sendPort.nativePort, - Utf8.toUtf8(currency), - Utf8.toUtf8(dewif), - Utf8.toUtf8(pin), - Utf8.toUtf8(message), - ); - return completer.future; - } - /// Sign the message `message` with `dewif` Bip32-Ed25519 keypair encryted /// in DEWIF format. /// @@ -323,33 +303,6 @@ class DubpRust { return completer.future; } - /// Sign several messages `messages` with `dewif` keypair encryted in DEWIF - /// format. - /// - /// This method is optimized to sign several messages at once. If you have - /// several messages to sign, avoid calling the `sign` method for each - /// message. Use this `signSeveral` method instead. - static Future> signSeveral( - {String currency = "g1", - String dewif, - String pin, - List messages}) { - final completer = Completer>(); - final sendPort = singleCompletePort, List>(completer, - callback: _handleErrList); - - native.sign_several( - sendPort.nativePort, - Utf8.toUtf8(currency), - Utf8.toUtf8(dewif), - Utf8.toUtf8(pin), - messages.length, - _listStringToPtr(messages), - ); - - return completer.future; - } - /// Sign several messages `messages` with `dewif` keypair encryted in DEWIF /// format. ///