StoredServerChannel.smali
.class public Lorg/bitcoinj/protocols/channels/StoredServerChannel;
.super Ljava/lang/Object;
.source "StoredServerChannel.java"
# instance fields
.field bestValueSignature:[B
.field bestValueToMe:Lorg/bitcoinj/core/Coin;
.field clientKey:Lorg/bitcoinj/core/ECKey;
.field clientOutput:Lorg/bitcoinj/core/TransactionOutput;
.field private connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
.field contract:Lorg/bitcoinj/core/Transaction;
.field majorVersion:I
.field myKey:Lorg/bitcoinj/core/ECKey;
.field refundTransactionUnlockTimeSecs:J
.field state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
# direct methods
.method constructor <init>(Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;ILorg/bitcoinj/core/Transaction;Lorg/bitcoinj/core/TransactionOutput;JLorg/bitcoinj/core/ECKey;Lorg/bitcoinj/core/ECKey;Lorg/bitcoinj/core/Coin;[B)V
.registers 12
.prologue
const/4 v0, 0x0
.line 53
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 49
iput-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
.line 50
iput-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
.line 54
iput p2, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->majorVersion:I
.line 55
iput-object p3, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->contract:Lorg/bitcoinj/core/Transaction;
.line 56
iput-object p4, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->clientOutput:Lorg/bitcoinj/core/TransactionOutput;
.line 57
iput-wide p5, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->refundTransactionUnlockTimeSecs:J
.line 58
iput-object p7, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->myKey:Lorg/bitcoinj/core/ECKey;
.line 59
iput-object p8, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->clientKey:Lorg/bitcoinj/core/ECKey;
.line 60
iput-object p9, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->bestValueToMe:Lorg/bitcoinj/core/Coin;
.line 61
iput-object p10, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->bestValueSignature:[B
.line 62
iput-object p1, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
.line 63
return-void
.end method
# virtual methods
.method declared-synchronized clearConnectedHandler()V
.registers 2
.prologue
.line 87
monitor-enter p0
const/4 v0, 0x0
:try_start_2
iput-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
:try_end_4
.catchall {:try_start_2 .. :try_end_4} :catchall_6
.line 88
monitor-exit p0
return-void
.line 87
:catchall_6
move-exception v0
monitor-exit p0
throw v0
.end method
.method declared-synchronized closeConnectedHandler()V
.registers 2
.prologue
.line 95
monitor-enter p0
:try_start_1
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
if-eqz v0, :cond_a
.line 96
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
invoke-virtual {v0}, Lorg/bitcoinj/protocols/channels/PaymentChannelServer;->close()V
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
.line 97
:cond_a
monitor-exit p0
return-void
.line 95
:catchall_c
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getOrCreateState(Lorg/bitcoinj/wallet/Wallet;Lorg/bitcoinj/core/TransactionBroadcaster;)Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
.registers 5
.prologue
.line 108
monitor-enter p0
:try_start_1
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
if-nez v0, :cond_1c
.line 109
iget v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->majorVersion:I
packed-switch v0, :pswitch_data_34
.line 117
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Invalid version number found"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_12
.catchall {:try_start_1 .. :try_end_12} :catchall_12
.line 108
:catchall_12
move-exception v0
monitor-exit p0
throw v0
.line 111
:pswitch_15
:try_start_15
new-instance v0, Lorg/bitcoinj/protocols/channels/PaymentChannelV1ServerState;
invoke-direct {v0, p0, p1, p2}, Lorg/bitcoinj/protocols/channels/PaymentChannelV1ServerState;-><init>(Lorg/bitcoinj/protocols/channels/StoredServerChannel;Lorg/bitcoinj/wallet/Wallet;Lorg/bitcoinj/core/TransactionBroadcaster;)V
iput-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
.line 120
:cond_1c
:goto_1c
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
iget-object v0, v0, Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;->wallet:Lorg/bitcoinj/wallet/Wallet;
if-ne p1, v0, :cond_32
const/4 v0, 0x1
:goto_23
invoke-static {v0}, Lcom/google/common/base/n;->checkArgument(Z)V
.line 121
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
:try_end_28
.catchall {:try_start_15 .. :try_end_28} :catchall_12
monitor-exit p0
return-object v0
.line 114
:pswitch_2a
:try_start_2a
new-instance v0, Lorg/bitcoinj/protocols/channels/PaymentChannelV2ServerState;
invoke-direct {v0, p0, p1, p2}, Lorg/bitcoinj/protocols/channels/PaymentChannelV2ServerState;-><init>(Lorg/bitcoinj/protocols/channels/StoredServerChannel;Lorg/bitcoinj/wallet/Wallet;Lorg/bitcoinj/core/TransactionBroadcaster;)V
iput-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->state:Lorg/bitcoinj/protocols/channels/PaymentChannelServerState;
:try_end_31
.catchall {:try_start_2a .. :try_end_31} :catchall_12
goto :goto_1c
.line 120
:cond_32
const/4 v0, 0x0
goto :goto_23
.line 109
:pswitch_data_34
.packed-switch 0x1
:pswitch_15
:pswitch_2a
.end packed-switch
.end method
.method declared-synchronized setConnectedHandler(Lorg/bitcoinj/protocols/channels/PaymentChannelServer;Z)Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
.registers 4
.prologue
.line 79
monitor-enter p0
:try_start_1
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
if-eqz v0, :cond_b
if-nez p2, :cond_b
.line 80
iget-object p1, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_e
.line 82
:goto_9
monitor-exit p0
return-object p1
.line 81
:cond_b
:try_start_b
iput-object p1, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
:try_end_d
.catchall {:try_start_b .. :try_end_d} :catchall_e
goto :goto_9
.line 79
:catchall_e
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized toString()Ljava/lang/String;
.registers 11
.prologue
.line 126
monitor-enter p0
:try_start_1
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v1, "%n"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-static {v0, v1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 127
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v3, "Stored server channel (%s)%n Version: %d%n Key: %s%n Value to me: %s%n Client output: %s%n Refund unlock: %s (%d unix time)%n Contract: %s%n"
const/16 v0, 0x8
new-array v4, v0, [Ljava/lang/Object;
const/4 v5, 0x0
iget-object v0, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->connectedHandler:Lorg/bitcoinj/protocols/channels/PaymentChannelServer;
if-eqz v0, :cond_71
const-string v0, "connected"
:goto_1b
aput-object v0, v4, v5
const/4 v0, 0x1
iget v5, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->majorVersion:I
.line 134
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v4, v0
const/4 v0, 0x2
iget-object v5, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->myKey:Lorg/bitcoinj/core/ECKey;
aput-object v5, v4, v0
const/4 v0, 0x3
iget-object v5, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->bestValueToMe:Lorg/bitcoinj/core/Coin;
aput-object v5, v4, v0
const/4 v0, 0x4
iget-object v5, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->clientOutput:Lorg/bitcoinj/core/TransactionOutput;
aput-object v5, v4, v0
const/4 v0, 0x5
new-instance v5, Ljava/util/Date;
iget-wide v6, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->refundTransactionUnlockTimeSecs:J
const-wide/16 v8, 0x3e8
mul-long/2addr v6, v8
invoke-direct {v5, v6, v7}, Ljava/util/Date;-><init>(J)V
aput-object v5, v4, v0
const/4 v0, 0x6
iget-wide v6, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->refundTransactionUnlockTimeSecs:J
.line 135
invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v5
aput-object v5, v4, v0
const/4 v0, 0x7
iget-object v5, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->contract:Lorg/bitcoinj/core/Transaction;
.line 136
invoke-virtual {v5}, Lorg/bitcoinj/core/Transaction;->toString()Ljava/lang/String;
move-result-object v5
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
const-string v7, " "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v1, v6}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
aput-object v1, v4, v0
.line 127
invoke-static {v2, v3, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
:try_end_6e
.catchall {:try_start_1 .. :try_end_6e} :catchall_74
move-result-object v0
monitor-exit p0
return-object v0
:cond_71
:try_start_71
const-string v0, "disconnected"
:try_end_73
.catchall {:try_start_71 .. :try_end_73} :catchall_74
goto :goto_1b
.line 126
:catchall_74
move-exception v0
monitor-exit p0
throw v0
.end method
.method declared-synchronized updateValueToMe(Lorg/bitcoinj/core/Coin;[B)V
.registers 4
.prologue
.line 70
monitor-enter p0
:try_start_1
iput-object p1, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->bestValueToMe:Lorg/bitcoinj/core/Coin;
.line 71
iput-object p2, p0, Lorg/bitcoinj/protocols/channels/StoredServerChannel;->bestValueSignature:[B
:try_end_5
.catchall {:try_start_1 .. :try_end_5} :catchall_7
.line 72
monitor-exit p0
return-void
.line 70
:catchall_7
move-exception v0
monitor-exit p0
throw v0
.end method