watchtower/wtclient/backup_task: bind to ClientSession instead of SessionInfo
This commit is contained in:
parent
b1903451d9
commit
4642954e72
@ -34,9 +34,8 @@ import (
|
||||
// necessary components are stripped out and encrypted before being sent to
|
||||
// the tower in a StateUpdate.
|
||||
type backupTask struct {
|
||||
chanID lnwire.ChannelID
|
||||
commitHeight uint64
|
||||
breachInfo *lnwallet.BreachRetribution
|
||||
id wtdb.BackupID
|
||||
breachInfo *lnwallet.BreachRetribution
|
||||
|
||||
// state-dependent variables
|
||||
|
||||
@ -96,8 +95,10 @@ func newBackupTask(chanID *lnwire.ChannelID,
|
||||
}
|
||||
|
||||
return &backupTask{
|
||||
chanID: *chanID,
|
||||
commitHeight: breachInfo.RevokedStateNum,
|
||||
id: wtdb.BackupID{
|
||||
ChanID: *chanID,
|
||||
CommitHeight: breachInfo.RevokedStateNum,
|
||||
},
|
||||
breachInfo: breachInfo,
|
||||
toLocalInput: toLocalInput,
|
||||
toRemoteInput: toRemoteInput,
|
||||
@ -125,7 +126,7 @@ func (t *backupTask) inputs() map[wire.OutPoint]input.Input {
|
||||
// SessionInfo's policy. If no error is returned, the task has been bound to the
|
||||
// session and can be queued to upload to the tower. Otherwise, the bind failed
|
||||
// and should be rescheduled with a different session.
|
||||
func (t *backupTask) bindSession(session *wtdb.SessionInfo) error {
|
||||
func (t *backupTask) bindSession(session *wtdb.ClientSession) error {
|
||||
|
||||
// First we'll begin by deriving a weight estimate for the justice
|
||||
// transaction. The final weight can be different depending on whether
|
||||
@ -154,7 +155,7 @@ func (t *backupTask) bindSession(session *wtdb.SessionInfo) error {
|
||||
// in the current session's policy.
|
||||
outputs, err := session.Policy.ComputeJusticeTxOuts(
|
||||
t.totalAmt, int64(weightEstimate.Weight()),
|
||||
t.sweepPkScript, session.RewardAddress,
|
||||
t.sweepPkScript, session.RewardPkScript,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -69,7 +69,7 @@ type backupTaskTest struct {
|
||||
expSweepAmt int64
|
||||
expRewardAmt int64
|
||||
expRewardScript []byte
|
||||
session *wtdb.SessionInfo
|
||||
session *wtdb.ClientSession
|
||||
bindErr error
|
||||
expSweepScript []byte
|
||||
signer input.Signer
|
||||
@ -205,13 +205,13 @@ func genTaskTest(
|
||||
expSweepAmt: expSweepAmt,
|
||||
expRewardAmt: expRewardAmt,
|
||||
expRewardScript: rewardScript,
|
||||
session: &wtdb.SessionInfo{
|
||||
session: &wtdb.ClientSession{
|
||||
Policy: wtpolicy.Policy{
|
||||
BlobType: blobType,
|
||||
SweepFeeRate: sweepFeeRate,
|
||||
RewardRate: 10000,
|
||||
},
|
||||
RewardAddress: rewardScript,
|
||||
RewardPkScript: rewardScript,
|
||||
},
|
||||
bindErr: bindErr,
|
||||
expSweepScript: makeAddrSlice(22),
|
||||
@ -379,7 +379,7 @@ var backupTaskTests = []backupTaskTest{
|
||||
}
|
||||
|
||||
// TestBackupTaskBind tests the initialization and binding of a backupTask to a
|
||||
// SessionInfo. After a succesfful bind, all parameters of the justice
|
||||
// ClientSession. After a successful bind, all parameters of the justice
|
||||
// transaction should be solidified, so we assert there correctness. In an
|
||||
// unsuccessful bind, the session-dependent parameters should be unmodified so
|
||||
// that the backup task can be rescheduled if necessary. Finally, we assert that
|
||||
@ -401,14 +401,14 @@ func testBackupTask(t *testing.T, test backupTaskTest) {
|
||||
|
||||
// Assert that all parameters set during initialization are properly
|
||||
// populated.
|
||||
if task.chanID != test.chanID {
|
||||
if task.id.ChanID != test.chanID {
|
||||
t.Fatalf("channel id mismatch, want: %s, got: %s",
|
||||
test.chanID, task.chanID)
|
||||
test.chanID, task.id.ChanID)
|
||||
}
|
||||
|
||||
if task.commitHeight != test.breachInfo.RevokedStateNum {
|
||||
if task.id.CommitHeight != test.breachInfo.RevokedStateNum {
|
||||
t.Fatalf("commit height mismatch, want: %d, got: %d",
|
||||
test.breachInfo.RevokedStateNum, task.commitHeight)
|
||||
test.breachInfo.RevokedStateNum, task.id.CommitHeight)
|
||||
}
|
||||
|
||||
if task.totalAmt != test.expTotalAmt {
|
||||
|
Loading…
Reference in New Issue
Block a user