c.smali

.class final Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;
.super Ljava/lang/Object;
.source "Coins.java"


# instance fields
.field private Sh:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Linfo/blockchain/api/data/UnspentOutput;",
            ">;"
        }
    .end annotation
.end field

.field private Sj:Ljava/math/BigInteger;

.field private Sk:Ljava/math/BigInteger;

.field private Sl:D

.field private Sm:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Linfo/blockchain/api/data/UnspentOutput;",
            ">;"
        }
    .end annotation
.end field

.field private Sn:Ljava/math/BigInteger;

.field So:I


# direct methods
.method public constructor <init>(Ljava/util/List;Ljava/math/BigInteger;Ljava/math/BigInteger;DLjava/util/List;)V
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List",
            "<",
            "Linfo/blockchain/api/data/UnspentOutput;",
            ">;",
            "Ljava/math/BigInteger;",
            "Ljava/math/BigInteger;",
            "D",
            "Ljava/util/List",
            "<",
            "Linfo/blockchain/api/data/UnspentOutput;",
            ">;)V"
        }
    .end annotation

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

    .line 123
    iput-object p1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sh:Ljava/util/List;

    .line 124
    iput-object p2, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sj:Ljava/math/BigInteger;

    .line 125
    iput-object p3, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sk:Ljava/math/BigInteger;

    .line 126
    iput-wide p4, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sl:D

    .line 127
    iput-object p6, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sm:Ljava/util/List;

    .line 128
    return-void
.end method


# virtual methods
.method public final iC()Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;
    .registers 11

    .prologue
    const/4 v9, 0x2

    const/4 v8, 0x1

    .line 139
    sget-object v0, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;

    .line 140
    sget-object v1, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;

    iput-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sn:Ljava/math/BigInteger;

    .line 143
    iput v9, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->So:I

    .line 145
    iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sh:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v2

    move-object v1, v0

    :cond_11
    :goto_11
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_6f

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Linfo/blockchain/api/data/UnspentOutput;

    .line 148
    invoke-virtual {v0}, Linfo/blockchain/api/data/UnspentOutput;->getValue()Ljava/math/BigInteger;

    move-result-object v3

    invoke-virtual {v3}, Ljava/math/BigInteger;->doubleValue()D

    move-result-wide v4

    iget-wide v6, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sl:D

    cmpg-double v3, v4, v6

    if-ltz v3, :cond_11

    .line 153
    new-instance v3, Lorg/bitcoinj/script/Script;

    invoke-virtual {v0}, Linfo/blockchain/api/data/UnspentOutput;->getScript()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/String;->getBytes()[B

    move-result-object v4

    invoke-static {v4}, Lorg/spongycastle/util/encoders/Hex;->decode([B)[B

    move-result-object v4

    invoke-direct {v3, v4}, Lorg/bitcoinj/script/Script;-><init>([B)V

    .line 154
    invoke-virtual {v3}, Lorg/bitcoinj/script/Script;->getScriptType()Lorg/bitcoinj/script/Script$ScriptType;

    move-result-object v3

    sget-object v4, Lorg/bitcoinj/script/Script$ScriptType;->NO_TYPE:Lorg/bitcoinj/script/Script$ScriptType;

    if-eq v3, v4, :cond_11

    .line 159
    iget-object v3, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sm:Ljava/util/List;

    invoke-interface {v3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 160
    invoke-virtual {v0}, Linfo/blockchain/api/data/UnspentOutput;->getValue()Ljava/math/BigInteger;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/math/BigInteger;->add(Ljava/math/BigInteger;)Ljava/math/BigInteger;

    move-result-object v0

    .line 163
    iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sm:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    .line 164
    iget-object v3, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sj:Ljava/math/BigInteger;

    iget-object v4, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sk:Ljava/math/BigInteger;

    invoke-static {v1, v3, v4, v8}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/b;->a(ILjava/math/BigInteger;Ljava/math/BigInteger;I)Ljava/math/BigInteger;

    move-result-object v3

    .line 165
    iget-object v4, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sj:Ljava/math/BigInteger;

    iget-object v5, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sk:Ljava/math/BigInteger;

    invoke-static {v1, v4, v5, v9}, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/b;->a(ILjava/math/BigInteger;Ljava/math/BigInteger;I)Ljava/math/BigInteger;

    move-result-object v1

    .line 168
    invoke-virtual {v3, v0}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I

    move-result v4

    if-nez v4, :cond_70

    .line 169
    iput v8, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->So:I

    .line 187
    :cond_6f
    :goto_6f
    return-object p0

    .line 174
    :cond_70
    invoke-virtual {v3, v0}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I

    move-result v4

    const/4 v5, -0x1

    if-ne v4, v5, :cond_92

    sget-object v4, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/g;->Ss:Ljava/math/BigInteger;

    .line 175
    invoke-virtual {v0, v4}, Ljava/math/BigInteger;->subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I

    move-result v4

    if-ltz v4, :cond_92

    .line 176
    iget-object v1, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sn:Ljava/math/BigInteger;

    invoke-virtual {v3, v0}, Ljava/math/BigInteger;->subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/math/BigInteger;->add(Ljava/math/BigInteger;)Ljava/math/BigInteger;

    move-result-object v0

    iput-object v0, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->Sn:Ljava/math/BigInteger;

    .line 177
    iput v8, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->So:I

    goto :goto_6f

    .line 182
    :cond_92
    invoke-virtual {v0, v1}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I

    move-result v1

    if-ltz v1, :cond_9b

    .line 183
    iput v9, p0, Lcom/cmcm/safewallet/data/coinprovider/btc/bcimpl/depends/c;->So:I

    goto :goto_6f

    :cond_9b
    move-object v1, v0

    .line 186
    goto/16 :goto_11
.end method