c.smali
.class public final Lcom/cmcm/safewallet/data/coinprovider/btc/c;
.super Ljava/lang/Object;
.source "BTCWalletImpl.java"
# interfaces
.implements Lcom/cmcm/safewallet/data/models/e;
# instance fields
.field RR:Ljava/lang/String;
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 36
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 37
return-void
.end method
.method private constructor <init>(Ljava/lang/String;)V
.registers 6
.prologue
.line 39
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 40
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
.line 1097
invoke-static {}, Lorg/bitcoinj/params/MainNetParams;->get()Lorg/bitcoinj/params/MainNetParams;
move-result-object v0
.line 40
const-string v1, ""
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/d;->a(Lorg/bitcoinj/params/AbstractBitcoinNetParams;Ljava/lang/String;)Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/c;
move-result-object v0
.line 42
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 1112
iget-object v2, v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/c;->SE:Ljava/util/List;
.line 44
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_1b
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_30
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 45
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 46
const-string v0, " "
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_1b
.line 48
:cond_30
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lO()Landroid/content/Context;
move-result-object v1
const-string v3, "m/44\'/0\'/0\'/0/0"
invoke-static {v0, v1, v3}, Lcom/cmcm/safewallet/data/coinprovider/btc/cm/b;->a(Ljava/lang/String;Landroid/content/Context;Ljava/lang/String;)Lcom/cmcm/safewallet/data/coinprovider/btc/cm/c;
move-result-object v0
.line 49
iget-object v0, v0, Lcom/cmcm/safewallet/data/coinprovider/btc/cm/c;->SU:Ljava/math/BigInteger;
.line 50
invoke-static {v0}, Lorg/bitcoinj/core/ECKey;->fromPrivate(Ljava/math/BigInteger;)Lorg/bitcoinj/core/ECKey;
move-result-object v0
.line 51
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
.line 2097
invoke-static {}, Lorg/bitcoinj/params/MainNetParams;->get()Lorg/bitcoinj/params/MainNetParams;
move-result-object v1
.line 51
invoke-virtual {v0, v1}, Lorg/bitcoinj/core/ECKey;->toAddress(Lorg/bitcoinj/core/NetworkParameters;)Lorg/bitcoinj/core/Address;
move-result-object v1
invoke-virtual {v1}, Lorg/bitcoinj/core/Address;->toBase58()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
.line 52
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v1
iget-object v3, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
invoke-virtual {v1, v3}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->aC(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_6b
.line 53
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/WalletAlreadyAddedException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/WalletAlreadyAddedException;-><init>()V
throw v0
.line 55
:cond_6b
invoke-virtual {p0, p1, v2}, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->a(Ljava/lang/String;Ljava/util/List;)V
.line 56
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
invoke-virtual {v0}, Lorg/bitcoinj/core/ECKey;->getPrivKey()Ljava/math/BigInteger;
move-result-object v0
const/16 v2, 0x10
invoke-virtual {v0, v2}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-static {p1, v1, v0}, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 57
return-void
.end method
.method private constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.registers 6
.prologue
.line 59
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 60
invoke-static {p2}, Lcom/cmcm/safewallet/data/coinprovider/btc/cm/b;->aw(Ljava/lang/String;)Lcom/cmcm/safewallet/data/coinprovider/btc/cm/c;
move-result-object v0
.line 61
iget v1, v0, Lcom/cmcm/safewallet/data/coinprovider/btc/cm/c;->errorCode:I
if-eqz v1, :cond_13
.line 62
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/UnsupportedPrivateKeyException;
const-string v1, "pk not supported"
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/UnsupportedPrivateKeyException;-><init>(Ljava/lang/String;)V
throw v0
.line 64
:cond_13
iget-object v1, v0, Lcom/cmcm/safewallet/data/coinprovider/btc/cm/c;->SU:Ljava/math/BigInteger;
iget-boolean v0, v0, Lcom/cmcm/safewallet/data/coinprovider/btc/cm/c;->SV:Z
invoke-static {v1, v0}, Lorg/bitcoinj/core/ECKey;->fromPrivate(Ljava/math/BigInteger;Z)Lorg/bitcoinj/core/ECKey;
move-result-object v0
.line 66
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/n;->fU()Lcom/cmcm/safewallet/data/coinprovider/n;
.line 3097
invoke-static {}, Lorg/bitcoinj/params/MainNetParams;->get()Lorg/bitcoinj/params/MainNetParams;
move-result-object v1
.line 66
invoke-virtual {v0, v1}, Lorg/bitcoinj/core/ECKey;->toAddress(Lorg/bitcoinj/core/NetworkParameters;)Lorg/bitcoinj/core/Address;
move-result-object v1
invoke-virtual {v1}, Lorg/bitcoinj/core/Address;->toBase58()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
.line 68
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v1
iget-object v2, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
invoke-virtual {v1, v2}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->aC(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_3e
.line 69
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/WalletAlreadyAddedException;
invoke-direct {v0}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/WalletAlreadyAddedException;-><init>()V
throw v0
.line 71
:cond_3e
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
invoke-virtual {v0}, Lorg/bitcoinj/core/ECKey;->getPrivKey()Ljava/math/BigInteger;
move-result-object v0
const/16 v2, 0x10
invoke-virtual {v0, v2}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v0
invoke-static {p1, v1, v0}, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 72
return-void
.end method
.method public static au(Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/e;
.registers 6
.prologue
.line 110
const/4 v1, 0x0
.line 112
:try_start_1
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;
invoke-direct {v0, p0}, Lcom/cmcm/safewallet/data/coinprovider/btc/c;-><init>(Ljava/lang/String;)V
:try_end_6
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_6} :catch_7
.line 118
:goto_6
return-object v0
.line 114
:catch_7
move-exception v0
.line 115
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 116
const-string v2, "@@@"
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "btc createWallet : "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v2, v0}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
move-object v0, v1
goto :goto_6
.end method
.method public static d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
.registers 7
.prologue
.line 126
:try_start_0
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->D(Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_55
.line 128
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->aH(Ljava/lang/String;)Z
.line 129
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->aF(Ljava/lang/String;)Z
.line 130
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->C(Ljava/lang/String;Ljava/lang/String;)Z
.line 132
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p1, p0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->B(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 133
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_3b
.line 134
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v1
invoke-virtual {v1, p0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->aD(Ljava/lang/String;)Z
.line 135
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v1
invoke-virtual {v1, p2, p0, v0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 138
:cond_3b
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p1, p0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->A(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
move-result-object v0
.line 139
if-eqz v0, :cond_53
.line 140
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v1
invoke-virtual {v1, p0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->aA(Ljava/lang/String;)Z
.line 141
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v1
invoke-virtual {v1, p2, p0, v0}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
.line 143
:cond_53
const/4 v0, 0x1
.line 151
:goto_54
return v0
.line 145
:cond_55
const-string v0, "@@@"
const-string v1, "btc updateAccount fail : oldPassword not correct"
invoke-static {v0, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_5c
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5c} :catch_5e
.line 151
:goto_5c
const/4 v0, 0x0
goto :goto_54
.line 147
:catch_5e
move-exception v0
.line 148
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 149
const-string v1, "@@@"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "btc updateAccount fail : "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_5c
.end method
.method static e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 4
.prologue
.line 164
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
invoke-virtual {v0, p0, p1, p2}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 165
return-void
.end method
.method public static t(Ljava/lang/String;Ljava/lang/String;)Lcom/cmcm/safewallet/data/models/e;
.registers 7
.prologue
.line 75
const/4 v1, 0x0
.line 77
:try_start_1
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;
invoke-direct {v0, p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/btc/c;-><init>(Ljava/lang/String;Ljava/lang/String;)V
:try_end_6
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_6} :catch_7
.line 86
:goto_6
return-object v0
.line 79
:catch_7
move-exception v0
.line 80
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 81
instance-of v2, v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/UnsupportedPrivateKeyException;
if-eqz v2, :cond_17
.line 82
new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/UnsupportedPrivateKeyException;
const-string v1, "pk not supported"
invoke-direct {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/UnsupportedPrivateKeyException;-><init>(Ljava/lang/String;)V
throw v0
.line 84
:cond_17
const-string v2, "@@@"
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "btc restoreWalletWithPrivateKey failed : "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v2, v0}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V
move-object v0, v1
goto :goto_6
.end method
# virtual methods
.method final a(Ljava/lang/String;Ljava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.prologue
.line 160
invoke-static {}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->iE()Lcom/cmcm/safewallet/data/coinprovider/a/a;
move-result-object v0
.line 3173
iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
.line 160
invoke-virtual {v0, p1, v1, p2}, Lcom/cmcm/safewallet/data/coinprovider/a/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
.line 161
return-void
.end method
.method public final getAddress()Ljava/lang/String;
.registers 2
.prologue
.line 173
iget-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/c;->RR:Ljava/lang/String;
return-object v0
.end method
.method public final iB()I
.registers 2
.prologue
.line 169
const/4 v0, 0x1
return v0
.end method