WalletFile$Crypto.smali

.class public Lorg/web3j/crypto/WalletFile$Crypto;
.super Ljava/lang/Object;
.source "WalletFile.java"


# instance fields
.field private cipher:Ljava/lang/String;

.field private cipherparams:Lorg/web3j/crypto/WalletFile$CipherParams;

.field private ciphertext:Ljava/lang/String;

.field private kdf:Ljava/lang/String;

.field private kdfparams:Lorg/web3j/crypto/WalletFile$KdfParams;

.field private mac:Ljava/lang/String;


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

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

    .line 114
    return-void
.end method


# virtual methods
.method public equals(Ljava/lang/Object;)Z
    .registers 6

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 178
    if-ne p0, p1, :cond_5

    .line 212
    :cond_4
    :goto_4
    return v0

    .line 181
    :cond_5
    instance-of v2, p1, Lorg/web3j/crypto/WalletFile$Crypto;

    if-nez v2, :cond_b

    move v0, v1

    .line 182
    goto :goto_4

    .line 185
    :cond_b
    check-cast p1, Lorg/web3j/crypto/WalletFile$Crypto;

    .line 187
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipher()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_23

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipher()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipher()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_29

    :cond_21
    move v0, v1

    .line 190
    goto :goto_4

    .line 187
    :cond_23
    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipher()Ljava/lang/String;

    move-result-object v2

    if-nez v2, :cond_21

    .line 192
    :cond_29
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCiphertext()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_3f

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCiphertext()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getCiphertext()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_45

    :cond_3d
    move v0, v1

    .line 195
    goto :goto_4

    .line 192
    :cond_3f
    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getCiphertext()Ljava/lang/String;

    move-result-object v2

    if-nez v2, :cond_3d

    .line 197
    :cond_45
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;

    move-result-object v2

    if-eqz v2, :cond_5b

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;

    move-result-object v2

    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;

    move-result-object v3

    invoke-virtual {v2, v3}, Lorg/web3j/crypto/WalletFile$CipherParams;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_61

    :cond_59
    move v0, v1

    .line 200
    goto :goto_4

    .line 197
    :cond_5b
    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;

    move-result-object v2

    if-nez v2, :cond_59

    .line 202
    :cond_61
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdf()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_77

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdf()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdf()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_7d

    :cond_75
    move v0, v1

    .line 205
    goto :goto_4

    .line 202
    :cond_77
    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdf()Ljava/lang/String;

    move-result-object v2

    if-nez v2, :cond_75

    .line 207
    :cond_7d
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;

    move-result-object v2

    if-eqz v2, :cond_94

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;

    move-result-object v2

    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_9a

    :cond_91
    move v0, v1

    .line 210
    goto/16 :goto_4

    .line 207
    :cond_94
    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;

    move-result-object v2

    if-nez v2, :cond_91

    .line 212
    :cond_9a
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getMac()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_ae

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getMac()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getMac()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    goto/16 :goto_4

    :cond_ae
    invoke-virtual {p1}, Lorg/web3j/crypto/WalletFile$Crypto;->getMac()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_4

    move v0, v1

    goto/16 :goto_4
.end method

.method public getCipher()Ljava/lang/String;
    .registers 2

    .prologue
    .line 117
    iget-object v0, p0, Lorg/web3j/crypto/WalletFile$Crypto;->cipher:Ljava/lang/String;

    return-object v0
.end method

.method public getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;
    .registers 2

    .prologue
    .line 133
    iget-object v0, p0, Lorg/web3j/crypto/WalletFile$Crypto;->cipherparams:Lorg/web3j/crypto/WalletFile$CipherParams;

    return-object v0
.end method

.method public getCiphertext()Ljava/lang/String;
    .registers 2

    .prologue
    .line 125
    iget-object v0, p0, Lorg/web3j/crypto/WalletFile$Crypto;->ciphertext:Ljava/lang/String;

    return-object v0
.end method

.method public getKdf()Ljava/lang/String;
    .registers 2

    .prologue
    .line 141
    iget-object v0, p0, Lorg/web3j/crypto/WalletFile$Crypto;->kdf:Ljava/lang/String;

    return-object v0
.end method

.method public getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;
    .registers 2

    .prologue
    .line 149
    iget-object v0, p0, Lorg/web3j/crypto/WalletFile$Crypto;->kdfparams:Lorg/web3j/crypto/WalletFile$KdfParams;

    return-object v0
.end method

.method public getMac()Ljava/lang/String;
    .registers 2

    .prologue
    .line 169
    iget-object v0, p0, Lorg/web3j/crypto/WalletFile$Crypto;->mac:Ljava/lang/String;

    return-object v0
.end method

.method public hashCode()I
    .registers 4

    .prologue
    const/4 v1, 0x0

    .line 218
    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipher()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_65

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipher()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->hashCode()I

    move-result v0

    .line 219
    :goto_f
    mul-int/lit8 v2, v0, 0x1f

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCiphertext()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_67

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCiphertext()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->hashCode()I

    move-result v0

    :goto_1f
    add-int/2addr v0, v2

    .line 220
    mul-int/lit8 v2, v0, 0x1f

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;

    move-result-object v0

    if-eqz v0, :cond_69

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getCipherparams()Lorg/web3j/crypto/WalletFile$CipherParams;

    move-result-object v0

    invoke-virtual {v0}, Lorg/web3j/crypto/WalletFile$CipherParams;->hashCode()I

    move-result v0

    :goto_30
    add-int/2addr v0, v2

    .line 221
    mul-int/lit8 v2, v0, 0x1f

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdf()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_6b

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdf()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->hashCode()I

    move-result v0

    :goto_41
    add-int/2addr v0, v2

    .line 222
    mul-int/lit8 v2, v0, 0x1f

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;

    move-result-object v0

    if-eqz v0, :cond_6d

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getKdfparams()Lorg/web3j/crypto/WalletFile$KdfParams;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I

    move-result v0

    :goto_52
    add-int/2addr v0, v2

    .line 223
    mul-int/lit8 v0, v0, 0x1f

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getMac()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_63

    invoke-virtual {p0}, Lorg/web3j/crypto/WalletFile$Crypto;->getMac()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->hashCode()I

    move-result v1

    :cond_63
    add-int/2addr v0, v1

    .line 224
    return v0

    :cond_65
    move v0, v1

    .line 218
    goto :goto_f

    :cond_67
    move v0, v1

    .line 219
    goto :goto_1f

    :cond_69
    move v0, v1

    .line 220
    goto :goto_30

    :cond_6b
    move v0, v1

    .line 221
    goto :goto_41

    :cond_6d
    move v0, v1

    .line 222
    goto :goto_52
.end method

.method public setCipher(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 121
    iput-object p1, p0, Lorg/web3j/crypto/WalletFile$Crypto;->cipher:Ljava/lang/String;

    .line 122
    return-void
.end method

.method public setCipherparams(Lorg/web3j/crypto/WalletFile$CipherParams;)V
    .registers 2

    .prologue
    .line 137
    iput-object p1, p0, Lorg/web3j/crypto/WalletFile$Crypto;->cipherparams:Lorg/web3j/crypto/WalletFile$CipherParams;

    .line 138
    return-void
.end method

.method public setCiphertext(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 129
    iput-object p1, p0, Lorg/web3j/crypto/WalletFile$Crypto;->ciphertext:Ljava/lang/String;

    .line 130
    return-void
.end method

.method public setKdf(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 145
    iput-object p1, p0, Lorg/web3j/crypto/WalletFile$Crypto;->kdf:Ljava/lang/String;

    .line 146
    return-void
.end method

.method public setKdfparams(Lorg/web3j/crypto/WalletFile$KdfParams;)V
    .registers 2
    .annotation runtime Lcom/fasterxml/jackson/annotation/JsonSubTypes;
        value = {
            .subannotation Lcom/fasterxml/jackson/annotation/JsonSubTypes$Type;
                name = "pbkdf2"
                value = Lorg/web3j/crypto/WalletFile$Aes128CtrKdfParams;
            .end subannotation,
            .subannotation Lcom/fasterxml/jackson/annotation/JsonSubTypes$Type;
                name = "scrypt"
                value = Lorg/web3j/crypto/WalletFile$ScryptKdfParams;
            .end subannotation
        }
    .end annotation

    .annotation runtime Lcom/fasterxml/jackson/annotation/JsonTypeInfo;
        include = .enum Lcom/fasterxml/jackson/annotation/JsonTypeInfo$As;->EXTERNAL_PROPERTY:Lcom/fasterxml/jackson/annotation/JsonTypeInfo$As;
        property = "kdf"
        use = .enum Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;->NAME:Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;
    .end annotation

    .prologue
    .line 165
    iput-object p1, p0, Lorg/web3j/crypto/WalletFile$Crypto;->kdfparams:Lorg/web3j/crypto/WalletFile$KdfParams;

    .line 166
    return-void
.end method

.method public setMac(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 173
    iput-object p1, p0, Lorg/web3j/crypto/WalletFile$Crypto;->mac:Ljava/lang/String;

    .line 174
    return-void
.end method