h.smali

.class public final Lcom/cmcm/safewallet/data/thwallet/e/h;
.super Lcom/cmcm/safewallet/data/thwallet/e/a;
.source "SerializeStrategyV2.java"


# direct methods
.method public constructor <init>()V
    .registers 2

    .prologue
    .line 37
    const/4 v0, 0x2

    invoke-direct {p0, v0}, Lcom/cmcm/safewallet/data/thwallet/e/a;-><init>(I)V

    .line 38
    return-void
.end method


# virtual methods
.method public final O([B)Lcom/cmcm/safewallet/data/keystore/ak;
    .registers 14

    .prologue
    .line 82
    iget-object v0, p0, Lcom/cmcm/safewallet/data/thwallet/e/h;->adk:[B

    array-length v0, v0

    array-length v1, p1

    invoke-static {p1, v0, v1}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B

    move-result-object v4

    .line 83
    new-instance v5, Lcom/cmcm/safewallet/data/keystore/ak;

    invoke-direct {v5}, Lcom/cmcm/safewallet/data/keystore/ak;-><init>()V

    .line 89
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v2

    .line 90
    new-instance v6, Ljava/util/ArrayList;

    invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V

    .line 91
    const/4 v0, 0x0

    .line 93
    :goto_17
    invoke-virtual {p0, v4, v0}, Lcom/cmcm/safewallet/data/thwallet/e/h;->h([BI)I

    move-result v0

    .line 94
    const/4 v1, -0x1

    if-eq v0, v1, :cond_c0

    .line 97
    iget-object v1, p0, Lcom/cmcm/safewallet/data/thwallet/e/h;->adl:[B

    array-length v1, v1

    add-int/2addr v0, v1

    .line 98
    new-instance v7, Lcom/cmcm/safewallet/data/keystore/k;

    invoke-direct {v7}, Lcom/cmcm/safewallet/data/keystore/k;-><init>()V

    .line 99
    aget-byte v1, v4, v0

    .line 100
    new-instance v8, Ljava/lang/String;

    add-int/lit8 v9, v0, 0x1

    invoke-direct {v8, v4, v9, v1}, Ljava/lang/String;-><init>([BII)V

    .line 1189
    iput-object v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->name:Ljava/lang/String;

    .line 101
    add-int/lit8 v1, v1, 0x1

    add-int/2addr v0, v1

    .line 102
    aget-byte v1, v4, v0

    .line 103
    new-instance v8, Ljava/lang/String;

    add-int/lit8 v9, v0, 0x1

    invoke-direct {v8, v4, v9, v1}, Ljava/lang/String;-><init>([BII)V

    .line 1221
    iput-object v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;

    .line 2217
    iget-object v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;

    .line 104
    invoke-static {v8}, Lcom/cmcm/safewallet/data/keystore/a;->bi(Ljava/lang/String;)I

    move-result v8

    .line 3197
    iput v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->WD:I

    .line 105
    const-wide/16 v8, 0x1

    add-long/2addr v2, v8

    .line 3253
    iput-wide v2, v7, Lcom/cmcm/safewallet/data/keystore/k;->mCreateTime:J

    .line 106
    add-int/lit8 v1, v1, 0x1

    add-int/2addr v0, v1

    .line 108
    :goto_50
    invoke-virtual {p0, v4, v0}, Lcom/cmcm/safewallet/data/thwallet/e/h;->g([BI)Z

    move-result v1

    if-eqz v1, :cond_5e

    .line 109
    iget-object v1, p0, Lcom/cmcm/safewallet/data/thwallet/e/h;->adm:[B

    array-length v1, v1

    add-int/2addr v0, v1

    .line 130
    invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_17

    .line 112
    :cond_5e
    aget-byte v8, v4, v0

    .line 113
    add-int/lit8 v1, v0, 0x1

    .line 4193
    iget v9, v7, Lcom/cmcm/safewallet/data/keystore/k;->WD:I

    .line 115
    const/16 v10, 0x3c

    if-ne v9, v10, :cond_a6

    .line 116
    new-instance v9, Lcom/cmcm/safewallet/data/keystore/Token;

    invoke-direct {v9}, Lcom/cmcm/safewallet/data/keystore/Token;-><init>()V

    .line 118
    add-int v10, v1, v8

    invoke-static {v4, v1, v10}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B

    move-result-object v1

    .line 119
    new-instance v10, Ljava/lang/StringBuilder;

    const-string v11, "0x"

    invoke-direct {v10, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-static {v1}, Lcom/cmcm/safewallet/utils/an;->S([B)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 120
    invoke-virtual {v9, v1}, Lcom/cmcm/safewallet/data/keystore/Token;->setContractAddr(Ljava/lang/String;)V

    .line 122
    :try_start_89
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v10, " ETH >> "

    invoke-direct {v1, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 4209
    iget-object v10, v7, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;

    .line 122
    invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v10, " TOKEN >> "

    invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v9}, Lcom/cmcm/safewallet/data/keystore/Token;->getContractAddr()Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 123
    invoke-virtual {v7, v9}, Lcom/cmcm/safewallet/data/keystore/k;->a(Lcom/cmcm/safewallet/data/keystore/Token;)I
    :try_end_a6
    .catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_89 .. :try_end_a6} :catch_aa

    .line 128
    :cond_a6
    :goto_a6
    add-int/lit8 v1, v8, 0x1

    add-int/2addr v0, v1

    .line 129
    goto :goto_50

    .line 124
    :catch_aa
    move-exception v1

    .line 125
    const-string v9, "walletinfo"

    new-instance v10, Ljava/lang/StringBuilder;

    const-string v11, " Add a duplicate token : "

    invoke-direct {v10, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 5052
    invoke-static {v9, v1}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_a6

    .line 132
    :cond_c0
    invoke-virtual {v5, v6}, Lcom/cmcm/safewallet/data/keystore/ak;->c(Ljava/util/ArrayList;)V

    .line 133
    return-object v5
.end method