aj.smali
.class public final Lcom/cmcm/safewallet/data/keystore/aj;
.super Ljava/lang/Object;
.source "WalletAddress.java"
# static fields
.field public static XF:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 18
const-string v0, "SW"
sput-object v0, Lcom/cmcm/safewallet/data/keystore/aj;->XF:Ljava/lang/String;
return-void
.end method
.method public static M([B)Ljava/lang/String;
.registers 2
.prologue
.line 114
const v0, 0x9001
invoke-static {v0, p0}, Lcom/cmcm/safewallet/data/keystore/aj;->a(I[B)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static a(ILjava/lang/String;)Ljava/lang/String;
.registers 3
.prologue
.line 21
sget-object v0, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v0, p1}, Lcom/google/common/io/BaseEncoding;->m(Ljava/lang/CharSequence;)[B
move-result-object v0
invoke-static {p0, v0}, Lcom/cmcm/safewallet/data/keystore/aj;->a(I[B)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static a(I[B)Ljava/lang/String;
.registers 8
.prologue
const/4 v3, 0x0
const/4 v2, 0x1
const/4 v1, 0x0
.line 26
packed-switch p0, :pswitch_data_8c
move v0, v2
.line 1053
:goto_7
invoke-static {p1, v0}, Lorg/bitcoinj/core/ECKey;->fromPrivate([BZ)Lorg/bitcoinj/core/ECKey;
move-result-object v0
.line 1054
sparse-switch p0, :sswitch_data_92
move-object v0, v3
.line 44
:goto_f
return-object v0
:pswitch_10
move v0, v1
.line 29
goto :goto_7
.line 1056
:sswitch_12
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/keystore/aj;->a(Lorg/bitcoinj/core/ECKey;Z)Ljava/lang/String;
move-result-object v0
goto :goto_f
.line 1059
:sswitch_17
invoke-static {v0, v2}, Lcom/cmcm/safewallet/data/keystore/aj;->a(Lorg/bitcoinj/core/ECKey;Z)Ljava/lang/String;
move-result-object v0
goto :goto_f
.line 1062
:sswitch_1c
invoke-virtual {v0}, Lorg/bitcoinj/core/ECKey;->getPubKey()[B
move-result-object v0
.line 1088
array-length v4, v0
const/16 v5, 0x41
if-eq v4, v5, :cond_2c
array-length v4, v0
const/16 v5, 0x21
if-eq v4, v5, :cond_2c
move-object v0, v3
.line 1089
goto :goto_f
.line 1090
:cond_2c
new-instance v3, Lorg/spongycastle/crypto/digests/KeccakDigest;
const/16 v4, 0x100
invoke-direct {v3, v4}, Lorg/spongycastle/crypto/digests/KeccakDigest;-><init>(I)V
.line 1091
invoke-virtual {v3}, Lorg/spongycastle/crypto/digests/KeccakDigest;->reset()V
.line 1092
array-length v4, v0
add-int/lit8 v4, v4, -0x1
invoke-virtual {v3, v0, v2, v4}, Lorg/spongycastle/crypto/digests/KeccakDigest;->update([BII)V
.line 1093
invoke-virtual {v3}, Lorg/spongycastle/crypto/digests/KeccakDigest;->getDigestSize()I
move-result v0
new-array v0, v0, [B
.line 1094
invoke-virtual {v3, v0, v1}, Lorg/spongycastle/crypto/digests/KeccakDigest;->doFinal([BI)I
.line 1095
sget-object v1, Lorg/bitcoinj/core/Utils;->HEX:Lcom/google/common/io/BaseEncoding;
invoke-virtual {v3}, Lorg/spongycastle/crypto/digests/KeccakDigest;->getDigestSize()I
move-result v2
invoke-virtual {v1, v0, v2}, Lcom/google/common/io/BaseEncoding;->j([BI)Ljava/lang/String;
move-result-object v0
.line 1096
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "0x"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
const/16 v2, 0x18
invoke-virtual {v0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, 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
goto :goto_f
.line 1065
:sswitch_65
invoke-virtual {v0}, Lorg/bitcoinj/core/ECKey;->getPubKey()[B
move-result-object v0
.line 1118
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
sget-object v2, Lcom/cmcm/safewallet/data/keystore/aj;->XF:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {v0}, Lorg/bitcoinj/core/Base58;->encode([B)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, 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
goto :goto_f
.line 1068
:sswitch_81
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/keystore/aj;->b(Lorg/bitcoinj/core/ECKey;Z)Ljava/lang/String;
move-result-object v0
goto :goto_f
.line 1071
:sswitch_86
invoke-static {v0, v2}, Lcom/cmcm/safewallet/data/keystore/aj;->b(Lorg/bitcoinj/core/ECKey;Z)Ljava/lang/String;
move-result-object v0
goto :goto_f
.line 26
nop
:pswitch_data_8c
.packed-switch 0x3c
:pswitch_10
.end packed-switch
.line 1054
:sswitch_data_92
.sparse-switch
0x0 -> :sswitch_12
0x1 -> :sswitch_17
0x3c -> :sswitch_1c
0x1f40 -> :sswitch_81
0x1f41 -> :sswitch_86
0x9001 -> :sswitch_65
.end sparse-switch
.end method
.method private static a(Lorg/bitcoinj/core/ECKey;Z)Ljava/lang/String;
.registers 3
.prologue
.line 82
if-eqz p1, :cond_11
const-string v0, "org.bitcoin.test"
:goto_4
invoke-static {v0}, Lorg/bitcoinj/core/NetworkParameters;->fromID(Ljava/lang/String;)Lorg/bitcoinj/core/NetworkParameters;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/bitcoinj/core/ECKey;->toAddress(Lorg/bitcoinj/core/NetworkParameters;)Lorg/bitcoinj/core/Address;
move-result-object v0
.line 84
invoke-virtual {v0}, Lorg/bitcoinj/core/Address;->toBase58()Ljava/lang/String;
move-result-object v0
.line 82
return-object v0
:cond_11
const-string v0, "org.bitcoin.production"
goto :goto_4
.end method
.method private static b(Lorg/bitcoinj/core/ECKey;Z)Ljava/lang/String;
.registers 6
.prologue
.line 100
invoke-virtual {p0}, Lorg/bitcoinj/core/ECKey;->getPubKeyHash()[B
move-result-object v1
.line 102
if-eqz p1, :cond_1d
const-string v0, "org.bitcoin.test"
.line 104
:goto_8
invoke-static {v0}, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/NetworkParameters;->ar(Ljava/lang/String;)Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/NetworkParameters;
move-result-object v0
.line 2034
new-instance v2, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/f;
invoke-direct {v2}, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/f;-><init>()V
.line 2044
new-instance v2, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/CashAddress;
sget-object v3, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/CashAddress$CashAddressType;->PubKey:Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/CashAddress$CashAddressType;
invoke-direct {v2, v0, v3, v1}, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/CashAddress;-><init>(Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/NetworkParameters;Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/CashAddress$CashAddressType;[B)V
.line 110
invoke-virtual {v2}, Lcom/cmcm/safewallet/data/coinprovider/bch/bitcoinj/core/CashAddress;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 102
:cond_1d
const-string v0, "org.bitcoin.production"
goto :goto_8
.end method