d.smali

.class public Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/d;
.super Ljava/lang/Object;
.source "HDWalletFactory.java"


# static fields
.field private static final log:Lorg/slf4j/Logger;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 28
    const-class v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/d;

    invoke-static {v0}, Lorg/slf4j/LoggerFactory;->getLogger(Ljava/lang/Class;)Lorg/slf4j/Logger;

    move-result-object v0

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/d;->log:Lorg/slf4j/Logger;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .prologue
    .line 24
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static a(Lorg/bitcoinj/params/AbstractBitcoinNetParams;Ljava/lang/String;)Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/c;
    .registers 6

    .prologue
    const/4 v0, 0x0

    .line 40
    sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/d;->log:Lorg/slf4j/Logger;

    const-string v2, "Generating HDWallet"

    invoke-interface {v1, v2}, Lorg/slf4j/Logger;->info(Ljava/lang/String;)V

    .line 54
    new-instance v1, Ljava/security/SecureRandom;

    invoke-direct {v1}, Ljava/security/SecureRandom;-><init>()V

    .line 55
    const/16 v2, 0x10

    new-array v2, v2, [B

    .line 56
    invoke-virtual {v1, v2}, Ljava/security/SecureRandom;->nextBytes([B)V

    .line 58
    invoke-static {}, Lcom/cmcm/safewallet/entry/WalletApp;->lP()Lcom/cmcm/safewallet/entry/WalletApp;

    move-result-object v1

    invoke-virtual {v1}, Lcom/cmcm/safewallet/entry/WalletApp;->getApplicationContext()Landroid/content/Context;

    move-result-object v1

    invoke-virtual {v1}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;

    move-result-object v1

    const-string v3, "wordlist/english.txt"

    invoke-virtual {v1, v3}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;

    move-result-object v1

    .line 60
    if-eqz v1, :cond_36

    .line 61
    new-instance v3, Lorg/bitcoinj/crypto/MnemonicCode;

    invoke-direct {v3, v1, v0}, Lorg/bitcoinj/crypto/MnemonicCode;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V

    .line 62
    new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/c;

    invoke-direct {v0, v3, p0, v2, p1}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/c;-><init>(Lorg/bitcoinj/crypto/MnemonicCode;Lorg/bitcoinj/core/NetworkParameters;[BLjava/lang/String;)V

    .line 63
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V

    .line 69
    :goto_35
    return-object v0

    .line 65
    :cond_36
    sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/a/d;->log:Lorg/slf4j/Logger;

    const-string v2, "cannot read BIP39 word list"

    invoke-interface {v1, v2}, Lorg/slf4j/Logger;->warn(Ljava/lang/String;)V

    goto :goto_35
.end method