1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-06 02:27:11 +02:00

Compare commits

..

5 Commits

Author SHA1 Message Date
m2049r
f0523c403c bump version 2019-03-19 19:34:04 +01:00
m2049r
966ed23b87 enable ledger again 2019-03-19 19:32:38 +01:00
m2049r
95f2ca74a6 clean code (#555) 2019-03-10 22:00:57 +01:00
m2049r
81d94478f2 update wallet api (#554) 2019-03-10 21:49:57 +01:00
el00ruobuob
16ff779ebc New strings & help update to FR (#552) 2019-03-09 21:58:10 +01:00
6 changed files with 40 additions and 34 deletions

View File

@@ -7,8 +7,8 @@ android {
applicationId "com.m2049r.xmrwallet"
minSdkVersion 21
targetSdkVersion 28
versionCode 173
versionName "1.11.3 'Chernushka'"
versionCode 175
versionName "1.11.5 'Chernushka'"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {

View File

@@ -34,7 +34,7 @@ import java.io.IOException;
import timber.log.Timber;
public class Ledger {
static final public boolean ENABLED = false;
static final public boolean ENABLED = true;
// 5:20 is same as wallet2.cpp::restore()
static public final int LOOKAHEAD_ACCOUNTS = 5;
static public final int LOOKAHEAD_SUBADDRESSES = 20;

View File

@@ -28,6 +28,7 @@ import java.security.spec.ECPoint;
public class ECsecp256k1 {
static private final BigInteger TWO = new BigInteger("2");
static private final BigInteger THREE = new BigInteger("3");
static public final BigInteger p = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", 16);
static public final BigInteger a = new BigInteger("0000000000000000000000000000000000000000000000000000000000000000", 16);
static public final BigInteger b = new BigInteger("0000000000000000000000000000000000000000000000000000000000000007", 16);
@@ -61,19 +62,18 @@ public class ECsecp256k1 {
return s;
else if (s.equals(ECPoint.POINT_INFINITY))
return r;
BigInteger slope = (r.getAffineY().subtract(s.getAffineY())).multiply(r.getAffineX().subtract(s.getAffineX()).modInverse(p)).mod(p);
BigInteger slope = (r.getAffineY().subtract(s.getAffineY()))
.multiply(r.getAffineX().subtract(s.getAffineX()).modInverse(p));
BigInteger Xout = (slope.modPow(TWO, p).subtract(r.getAffineX())).subtract(s.getAffineX()).mod(p);
BigInteger Yout = s.getAffineY().negate().mod(p);
Yout = Yout.add(slope.multiply(s.getAffineX().subtract(Xout))).mod(p);
BigInteger Yout = s.getAffineY().negate().add(slope.multiply(s.getAffineX().subtract(Xout))).mod(p);
return new ECPoint(Xout, Yout);
}
public static ECPoint doublePoint(ECPoint r) {
if (r.equals(ECPoint.POINT_INFINITY))
return r;
BigInteger slope = (r.getAffineX().pow(2)).multiply(new BigInteger("3"));
slope = slope.add(a);
slope = slope.multiply((r.getAffineY().multiply(TWO)).modInverse(p));
BigInteger slope = (r.getAffineX().pow(2)).multiply(THREE).add(a)
.multiply((r.getAffineY().multiply(TWO)).modInverse(p));
BigInteger Xout = slope.pow(2).subtract(r.getAffineX().multiply(TWO)).mod(p);
BigInteger Yout = (r.getAffineY().negate()).add(slope.multiply(r.getAffineX().subtract(Xout))).mod(p);
return new ECPoint(Xout, Yout);

View File

@@ -153,14 +153,14 @@
<p>Cest ladresse publique du portefeuille auquel vous allez envoyer des Moneroj, vous pouvez
la copier/coller, scanner un QR code ou la saisir manuellement. Vérifiez là bien trois fois
afin de vous assurer que vous nenvoyez pas de pièces à la mauvaise adresse.</p>
<p>In addition to using an XMR address, you can also use
<p>En complément de lutilisation d'une adresse XMR, vous pouvez aussi utiliser
<ul>
<li>an OpenAlias for XMR or BTC</li>
<li>a BTC address</li>
<li>a bitcoin: URI (including BIP70 like bitpay)</li>
<li>une adresse OpenAlias pour XMR ou BTC</li>
<li>une adresse BTC</li>
<li>une URI bitcoin: (incluant BIP70 comme bitpay)</li>
</u>
Please note, that sending BTC is processed through the XMR.TO service (see https://xmr.to
for details). See the section on sending BTC below.</p>
Notez que lenvoi de BTC est traité à travers le service XMR.TO (voir https://xmr.to pour
plus de détails). Voir la rubrique sur lenvoi de BTC plus bas.</p>
<h2>ID de Paiement</h2>
<p>Vous pouvez utiliser un ID de paiement pour identifier la raison pour laquelle vous avez
envoyé des Moneroj entre deux parties. Cest totallement privé et optionnel. Il permet par
@@ -313,14 +313,14 @@
<!-- Note for translators: new/changed text also in help_send -->
<string name="help_uri"><![CDATA[
<h1>Using a payment link</h1>
<p>You have started monerujo with a payment link. In order to send funds, please do the following:</p>
<h1>Utiliser un lien de paiement</h1>
<p>Vous avez démarré monerujo avec un lien de paiement. Afin denvoyer des fonds, merci de procéder comme suit :</p>
<p>
1. Open the wallet you want to spend from<br>
2. Wait until the wallet is synced &amp; the "Give" button appears<br>
3. Touch the "Give" button
1. Ouvrez le portefeuille à partir duquel vous souhaitez envoyer des fonds<br>
2. Attendez que le portefeuille soit synchronisé &amp; que le bouton "Envoyer" apparaisse<br>
3. Taper sur le bouton "Envoyer"
</p>
<p>The payment details will be filled in. Check them and proceed like for any other transaction.</p>
<p>Les détails du paiement seront remplis. Vérifiez-les et procédez de la même manière que pour toute autre transaction.</p>
]]></string>
<string name="help_ok">Got it!</string> <!-- Note: "Got it" as in "I understand this" -->

View File

@@ -367,22 +367,22 @@
<string name="node_nobookmark">%1$d meilleurs nœuds mis en favoris automatiquement</string>
<string name="label_test">Tester</string><!--note: as in "Test a network connection"-->
<string name="send_address_resolve_bip70">Resolving Payment URI&#8230;</string>
<string name="send_address_not_bip70">Could not resolve Payment URI</string>
<string name="send_address_bip70">Resolved Payment URI &#x2714;</string>
<string name="send_address_resolve_bip70">Résolution de l\'URI de Paiement&#8230;</string>
<string name="send_address_not_bip70">Résolution de l\'URI de Paiement impossible</string>
<string name="send_address_bip70">URI de Paiement Résolue &#x2714;</string>
<!-- please verify this means "Receiver" or "Recipient" as in "Receiver in the transaction" -->
<string name="send_address_hint">Destinataire</string>
<string name="xmrto_error_001">XMR.TO offline - try again later</string>
<string name="xmrto_error_004">BTC amount out of bounds</string>
<string name="xmrto_error_010">Invalid or outdated Payment URL</string>
<string name="xmrto_error_012">Too many requests</string>
<string name="xmrto_error_001">XMR.TO hors ligne - réessayer ultérieurement</string>
<string name="xmrto_error_004">Montant BTC hors limites</string>
<string name="xmrto_error_010">URL de Paiement invalide ou périmée</string>
<string name="xmrto_error_012">Trop de requêtes</string>
<string name="street_sweep_amount">EVERYTHING!</string> <!-- as in: "everything in the account" = "all the money" -->
<string name="street_sweep_amount">TOTALITÉ!</string> <!-- as in: "everything in the account" = "all the money" -->
<string name="menu_ledger_seed">Convert Ledger Seed</string>
<string name="prompt_ledger_seed">Ledger Seed Words</string>
<string name="prompt_ledger_phrase">Ledger Passphrase (optional)</string>
<string name="bad_ledger_seed">Invalid Ledger Seed!</string>
<string name="prompt_ledger_seed_warn">Entering you Ledger Seed here is a major security risk!</string>
<string name="menu_ledger_seed">Convertir mnémonique Ledger</string>
<string name="prompt_ledger_seed">Phrase mnémonique Ledger</string>
<string name="prompt_ledger_phrase">Mot de passe Ledger (optionnel)</string>
<string name="bad_ledger_seed">Phrase mnémonique Ledger invalide !</string>
<string name="prompt_ledger_seed_warn">Saisir votre phrase mnémonique Ledger ici est un risque majeur de sécurité !</string>
</resources>

View File

@@ -574,6 +574,12 @@ struct Wallet
*/
virtual uint64_t approximateBlockChainHeight() const = 0;
/**
* @brief estimateBlockChainHeight - returns estimate blockchain height. More accurate than approximateBlockChainHeight,
* uses daemon height and falls back to calculation from date/time
* @return
**/
virtual uint64_t estimateBlockChainHeight() const = 0;
/**
* @brief daemonBlockChainHeight - returns daemon blockchain height
* @return 0 - in case error communicating with the daemon.