DefaultCoinSelector$1.smali
.class final Lorg/bitcoinj/wallet/DefaultCoinSelector$1;
.super Ljava/lang/Object;
.source "DefaultCoinSelector.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/bitcoinj/wallet/DefaultCoinSelector;->sortOutputs(Ljava/util/ArrayList;)V
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator",
"<",
"Lorg/bitcoinj/core/TransactionOutput;",
">;"
}
.end annotation
# direct methods
.method constructor <init>()V
.registers 1
.prologue
.line 61
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.registers 4
.prologue
.line 61
check-cast p1, Lorg/bitcoinj/core/TransactionOutput;
check-cast p2, Lorg/bitcoinj/core/TransactionOutput;
invoke-virtual {p0, p1, p2}, Lorg/bitcoinj/wallet/DefaultCoinSelector$1;->compare(Lorg/bitcoinj/core/TransactionOutput;Lorg/bitcoinj/core/TransactionOutput;)I
move-result v0
return v0
.end method
.method public final compare(Lorg/bitcoinj/core/TransactionOutput;Lorg/bitcoinj/core/TransactionOutput;)I
.registers 11
.prologue
.line 64
invoke-virtual {p1}, Lorg/bitcoinj/core/TransactionOutput;->getParentTransactionDepthInBlocks()I
move-result v0
.line 65
invoke-virtual {p2}, Lorg/bitcoinj/core/TransactionOutput;->getParentTransactionDepthInBlocks()I
move-result v1
.line 66
invoke-virtual {p1}, Lorg/bitcoinj/core/TransactionOutput;->getValue()Lorg/bitcoinj/core/Coin;
move-result-object v2
.line 67
invoke-virtual {p2}, Lorg/bitcoinj/core/TransactionOutput;->getValue()Lorg/bitcoinj/core/Coin;
move-result-object v3
.line 68
iget-wide v4, v2, Lorg/bitcoinj/core/Coin;->value:J
invoke-static {v4, v5}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v4
int-to-long v6, v0
invoke-static {v6, v7}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v0
.line 69
iget-wide v4, v3, Lorg/bitcoinj/core/Coin;->value:J
invoke-static {v4, v5}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v4
int-to-long v6, v1
invoke-static {v6, v7}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v4, v1}, Ljava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v1
.line 70
invoke-virtual {v1, v0}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
move-result v0
.line 71
if-eqz v0, :cond_35
.line 78
:cond_34
:goto_34
return v0
.line 73
:cond_35
invoke-virtual {v3, v2}, Lorg/bitcoinj/core/Coin;->compareTo(Lorg/bitcoinj/core/Coin;)I
move-result v0
.line 74
if-nez v0, :cond_34
.line 76
invoke-virtual {p1}, Lorg/bitcoinj/core/TransactionOutput;->getParentTransactionHash()Lorg/bitcoinj/core/Sha256Hash;
move-result-object v0
invoke-virtual {v0}, Lorg/bitcoinj/core/Sha256Hash;->toBigInteger()Ljava/math/BigInteger;
move-result-object v0
.line 77
invoke-virtual {p2}, Lorg/bitcoinj/core/TransactionOutput;->getParentTransactionHash()Lorg/bitcoinj/core/Sha256Hash;
move-result-object v1
invoke-virtual {v1}, Lorg/bitcoinj/core/Sha256Hash;->toBigInteger()Ljava/math/BigInteger;
move-result-object v1
.line 78
invoke-virtual {v0, v1}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
move-result v0
goto :goto_34
.end method