- pub(super) fn provide_latest_local_tx(&mut self, tx: LocalCommitmentTransaction) -> Result<(), ()> {
- // To prevent any unsafe state discrepancy between offchain and onchain, once local
- // commitment transaction has been signed due to an event (either block height for
- // HTLC-timeout or channel force-closure), don't allow any further update of local
- // commitment transaction view to avoid delivery of revocation secret to counterparty
- // for the aformentionned signed transaction.
- if self.local_htlc_sigs.is_some() || self.prev_local_htlc_sigs.is_some() {
- return Err(());
- }
- self.prev_local_commitment = self.local_commitment.take();
- self.local_commitment = Some(tx);
- Ok(())
+ pub(super) fn provide_latest_holder_tx(&mut self, tx: HolderCommitmentTransaction) {
+ self.prev_holder_commitment = self.holder_commitment.take();
+ self.holder_commitment = Some(tx);