mirror of
https://github.com/m2049r/xmrwallet
synced 2025-09-06 02:27:11 +02:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f0523c403c | ||
![]() |
966ed23b87 | ||
![]() |
95f2ca74a6 | ||
![]() |
81d94478f2 | ||
![]() |
16ff779ebc |
@@ -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 {
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -153,14 +153,14 @@
|
||||
<p>C’est l’adresse 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 n’envoyez 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 l’utilisation 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 l’envoi de BTC est traité à travers le service XMR.TO (voir https://xmr.to pour
|
||||
plus de détails). Voir la rubrique sur l’envoi 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. C’est 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 d’envoyer 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 & 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é & 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" -->
|
||||
|
@@ -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…</string>
|
||||
<string name="send_address_not_bip70">Could not resolve Payment URI</string>
|
||||
<string name="send_address_bip70">Resolved Payment URI ✔</string>
|
||||
<string name="send_address_resolve_bip70">Résolution de l\'URI de Paiement…</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 ✔</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>
|
||||
|
@@ -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.
|
||||
|
Reference in New Issue
Block a user