Skip to content

Commit 5b954d3

Browse files
committed
f - remove uninitialized variant
1 parent 4260230 commit 5b954d3

File tree

1 file changed

+13
-19
lines changed

1 file changed

+13
-19
lines changed

lightning/src/ln/channel.rs

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,14 +1121,19 @@ pub(crate) struct ShutdownResult {
11211121

11221122
#[derive(Debug, Copy, Clone)]
11231123
enum HolderCommitmentPoint {
1124-
Uninitialized { transaction_number: u64 },
11251124
PendingNext { transaction_number: u64, current: PublicKey },
11261125
Available { transaction_number: u64, current: PublicKey, next: PublicKey },
11271126
}
11281127

1129-
impl HolderCommitmentPoint where {
1130-
pub fn new() -> Self {
1131-
HolderCommitmentPoint::Uninitialized { transaction_number: INITIAL_COMMITMENT_NUMBER }
1128+
impl HolderCommitmentPoint {
1129+
pub fn new<SP: Deref>(signer: &ChannelSignerType<SP>, secp_ctx: &Secp256k1<secp256k1::All>) -> Self
1130+
where SP::Target: SignerProvider
1131+
{
1132+
HolderCommitmentPoint::Available {
1133+
transaction_number: INITIAL_COMMITMENT_NUMBER,
1134+
current: signer.as_ref().get_per_commitment_point(INITIAL_COMMITMENT_NUMBER, secp_ctx),
1135+
next: signer.as_ref().get_per_commitment_point(INITIAL_COMMITMENT_NUMBER - 1, secp_ctx),
1136+
}
11321137
}
11331138

11341139
pub fn is_available(&self) -> bool {
@@ -1137,23 +1142,20 @@ impl HolderCommitmentPoint where {
11371142

11381143
pub fn transaction_number(&self) -> u64 {
11391144
match self {
1140-
HolderCommitmentPoint::Uninitialized { transaction_number } => *transaction_number,
11411145
HolderCommitmentPoint::PendingNext { transaction_number, .. } => *transaction_number,
11421146
HolderCommitmentPoint::Available { transaction_number, .. } => *transaction_number,
11431147
}
11441148
}
11451149

1146-
pub fn current_point(&self) -> Option<PublicKey> {
1150+
pub fn current_point(&self) -> PublicKey {
11471151
match self {
1148-
HolderCommitmentPoint::Uninitialized { .. } => None,
1149-
HolderCommitmentPoint::PendingNext { current, .. } => Some(*current),
1150-
HolderCommitmentPoint::Available { current, .. } => Some(*current),
1152+
HolderCommitmentPoint::PendingNext { current, .. } => *current,
1153+
HolderCommitmentPoint::Available { current, .. } => *current,
11511154
}
11521155
}
11531156

11541157
pub fn next_point(&self) -> Option<PublicKey> {
11551158
match self {
1156-
HolderCommitmentPoint::Uninitialized { .. } => None,
11571159
HolderCommitmentPoint::PendingNext { .. } => None,
11581160
HolderCommitmentPoint::Available { next, .. } => Some(*next),
11591161
}
@@ -1162,13 +1164,6 @@ impl HolderCommitmentPoint where {
11621164
pub fn advance<SP: Deref, L: Deref>(&mut self, signer: &ChannelSignerType<SP>, secp_ctx: &Secp256k1<secp256k1::All>, logger: &L)
11631165
where SP::Target: SignerProvider, L::Target: Logger
11641166
{
1165-
if let HolderCommitmentPoint::Uninitialized { transaction_number } = self {
1166-
let current = signer.as_ref().get_per_commitment_point(*transaction_number, secp_ctx); // TODO
1167-
log_trace!(logger, "Retrieved current per-commitment point {}", transaction_number);
1168-
*self = HolderCommitmentPoint::PendingNext { transaction_number: *transaction_number, current };
1169-
// TODO: handle error case when get_per_commitment_point becomes async
1170-
}
1171-
11721167
if let HolderCommitmentPoint::Available { transaction_number, next, .. } = self {
11731168
*self = HolderCommitmentPoint::PendingNext {
11741169
transaction_number: *transaction_number - 1,
@@ -1177,10 +1172,9 @@ impl HolderCommitmentPoint where {
11771172
}
11781173

11791174
if let HolderCommitmentPoint::PendingNext { transaction_number, current } = self {
1180-
let next = signer.as_ref().get_per_commitment_point(*transaction_number - 1, secp_ctx); // TODO
1175+
let next = signer.as_ref().get_per_commitment_point(*transaction_number - 1, secp_ctx);
11811176
log_trace!(logger, "Retrieved next per-commitment point {}", *transaction_number - 1);
11821177
*self = HolderCommitmentPoint::Available { transaction_number: *transaction_number, current: *current, next };
1183-
// TODO: handle error case when get_per_commitment_point becomes async
11841178
}
11851179
}
11861180
}

0 commit comments

Comments
 (0)