RedeemData.smali
.class public Lorg/bitcoinj/wallet/RedeemData;
.super Ljava/lang/Object;
.source "RedeemData.java"
# instance fields
.field public final keys:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lorg/bitcoinj/core/ECKey;",
">;"
}
.end annotation
.end field
.field public final redeemScript:Lorg/bitcoinj/script/Script;
# direct methods
.method private constructor <init>(Ljava/util/List;Lorg/bitcoinj/script/Script;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lorg/bitcoinj/core/ECKey;",
">;",
"Lorg/bitcoinj/script/Script;",
")V"
}
.end annotation
.prologue
.line 40
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 41
iput-object p2, p0, Lorg/bitcoinj/wallet/RedeemData;->redeemScript:Lorg/bitcoinj/script/Script;
.line 42
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0, p1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 43
sget-object v1, Lorg/bitcoinj/core/ECKey;->PUBKEY_COMPARATOR:Ljava/util/Comparator;
invoke-static {v0, v1}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 44
iput-object v0, p0, Lorg/bitcoinj/wallet/RedeemData;->keys:Ljava/util/List;
.line 45
return-void
.end method
.method public static of(Ljava/util/List;Lorg/bitcoinj/script/Script;)Lorg/bitcoinj/wallet/RedeemData;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lorg/bitcoinj/core/ECKey;",
">;",
"Lorg/bitcoinj/script/Script;",
")",
"Lorg/bitcoinj/wallet/RedeemData;"
}
.end annotation
.prologue
.line 48
new-instance v0, Lorg/bitcoinj/wallet/RedeemData;
invoke-direct {v0, p0, p1}, Lorg/bitcoinj/wallet/RedeemData;-><init>(Ljava/util/List;Lorg/bitcoinj/script/Script;)V
return-object v0
.end method
.method public static of(Lorg/bitcoinj/core/ECKey;Lorg/bitcoinj/script/Script;)Lorg/bitcoinj/wallet/RedeemData;
.registers 4
.prologue
.line 56
invoke-virtual {p1}, Lorg/bitcoinj/script/Script;->isSentToAddress()Z
move-result v0
if-nez v0, :cond_c
invoke-virtual {p1}, Lorg/bitcoinj/script/Script;->isSentToRawPubKey()Z
move-result v0
if-eqz v0, :cond_1c
:cond_c
const/4 v0, 0x1
:goto_d
invoke-static {v0}, Lcom/google/common/base/n;->checkArgument(Z)V
.line 57
if-eqz p0, :cond_1e
new-instance v0, Lorg/bitcoinj/wallet/RedeemData;
invoke-static {p0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v1
invoke-direct {v0, v1, p1}, Lorg/bitcoinj/wallet/RedeemData;-><init>(Ljava/util/List;Lorg/bitcoinj/script/Script;)V
:goto_1b
return-object v0
.line 56
:cond_1c
const/4 v0, 0x0
goto :goto_d
.line 57
:cond_1e
const/4 v0, 0x0
goto :goto_1b
.end method
# virtual methods
.method public getFullKey()Lorg/bitcoinj/core/ECKey;
.registers 4
.prologue
.line 64
iget-object v0, p0, Lorg/bitcoinj/wallet/RedeemData;->keys:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_6
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_19
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/bitcoinj/core/ECKey;
.line 65
invoke-virtual {v0}, Lorg/bitcoinj/core/ECKey;->hasPrivKey()Z
move-result v2
if-eqz v2, :cond_6
.line 67
:goto_18
return-object v0
:cond_19
const/4 v0, 0x0
goto :goto_18
.end method