multi: fix make fmt
This commit is contained in:
77 files changed
+700
-641
No files matched your search
+53
-51
@@ -229,7 +229,7 @@ func (u updateType) String() string {
|
||||
// the original added HTLC.
|
||||
//
|
||||
// TODO(roasbeef): LogEntry interface??
|
||||
// * need to separate attrs for cancel/add/settle/feeupdate
|
||||
// - need to separate attrs for cancel/add/settle/feeupdate
|
||||
type PaymentDescriptor struct {
|
||||
// RHash is the payment hash for this HTLC. The HTLC can be settled iff
|
||||
// the preimage to this hash is presented.
|
||||
@@ -1038,8 +1038,8 @@ func (s *commitmentChain) hasUnackedCommitment() bool {
|
||||
//
|
||||
// TODO(roasbeef): create lightning package, move commitment and update to
|
||||
// package?
|
||||
// * also move state machine, separate from lnwallet package
|
||||
// * possible embed updateLog within commitmentChain.
|
||||
// - also move state machine, separate from lnwallet package
|
||||
// - possible embed updateLog within commitmentChain.
|
||||
type updateLog struct {
|
||||
// logIndex is a monotonically increasing integer that tracks the total
|
||||
// number of update entries ever applied to the log. When sending new
|
||||
@@ -1235,18 +1235,18 @@ func compactLogs(ourLog, theirLog *updateLog,
|
||||
// preimages in order to populate their revocation window for the remote party.
|
||||
//
|
||||
// The state machine has for main methods:
|
||||
// * .SignNextCommitment()
|
||||
// * Called one one wishes to sign the next commitment, either initiating a
|
||||
// new state update, or responding to a received commitment.
|
||||
// * .ReceiveNewCommitment()
|
||||
// * Called upon receipt of a new commitment from the remote party. If the
|
||||
// new commitment is valid, then a revocation should immediately be
|
||||
// generated and sent.
|
||||
// * .RevokeCurrentCommitment()
|
||||
// * Revokes the current commitment. Should be called directly after
|
||||
// receiving a new commitment.
|
||||
// * .ReceiveRevocation()
|
||||
// * Processes a revocation from the remote party. If successful creates a
|
||||
// - .SignNextCommitment()
|
||||
// - Called one one wishes to sign the next commitment, either initiating a
|
||||
// new state update, or responding to a received commitment.
|
||||
// - .ReceiveNewCommitment()
|
||||
// - Called upon receipt of a new commitment from the remote party. If the
|
||||
// new commitment is valid, then a revocation should immediately be
|
||||
// generated and sent.
|
||||
// - .RevokeCurrentCommitment()
|
||||
// - Revokes the current commitment. Should be called directly after
|
||||
// receiving a new commitment.
|
||||
// - .ReceiveRevocation()
|
||||
// - Processes a revocation from the remote party. If successful creates a
|
||||
// new defacto broadcastable state.
|
||||
//
|
||||
// See the individual comments within the above methods for further details.
|
||||
@@ -3844,10 +3844,10 @@ func (lc *LightningChannel) SignNextCommitment() (lnwire.Sig, []lnwire.Sig,
|
||||
//
|
||||
// One of two message sets will be returned:
|
||||
//
|
||||
// * CommitSig+Updates: if we have a pending remote commit which they claim to
|
||||
// have not received
|
||||
// * RevokeAndAck: if we sent a revocation message that they claim to have
|
||||
// not received
|
||||
// - CommitSig+Updates: if we have a pending remote commit which they claim to
|
||||
// have not received
|
||||
// - RevokeAndAck: if we sent a revocation message that they claim to have
|
||||
// not received
|
||||
//
|
||||
// If we detect a scenario where we need to send a CommitSig+Updates, this
|
||||
// method also returns two sets channeldb.CircuitKeys identifying the circuits
|
||||
@@ -4836,14 +4836,14 @@ func (lc *LightningChannel) RevokeCurrentCommitment() (*lnwire.RevokeAndAck, []c
|
||||
// commitment, and a log compaction is attempted.
|
||||
//
|
||||
// The returned values correspond to:
|
||||
// 1. The forwarding package corresponding to the remote commitment height
|
||||
// that was revoked.
|
||||
// 2. The PaymentDescriptor of any Add HTLCs that were locked in by this
|
||||
// revocation.
|
||||
// 3. The PaymentDescriptor of any Settle/Fail HTLCs that were locked in by
|
||||
// this revocation.
|
||||
// 4. The set of HTLCs present on the current valid commitment transaction
|
||||
// for the remote party.
|
||||
// 1. The forwarding package corresponding to the remote commitment height
|
||||
// that was revoked.
|
||||
// 2. The PaymentDescriptor of any Add HTLCs that were locked in by this
|
||||
// revocation.
|
||||
// 3. The PaymentDescriptor of any Settle/Fail HTLCs that were locked in by
|
||||
// this revocation.
|
||||
// 4. The set of HTLCs present on the current valid commitment transaction
|
||||
// for the remote party.
|
||||
func (lc *LightningChannel) ReceiveRevocation(revMsg *lnwire.RevokeAndAck) (
|
||||
*channeldb.FwdPkg, []*PaymentDescriptor, []*PaymentDescriptor,
|
||||
[]channeldb.HTLC, error) {
|
||||
@@ -5377,20 +5377,21 @@ func (lc *LightningChannel) ReceiveHTLC(htlc *lnwire.UpdateAddHTLC) (uint64, err
|
||||
// is invalid, an error is returned.
|
||||
//
|
||||
// The additional arguments correspond to:
|
||||
// * sourceRef: specifies the location of the Add HTLC within a forwarding
|
||||
// package that this HTLC is settling. Every Settle fails exactly one Add,
|
||||
// so this should never be empty in practice.
|
||||
//
|
||||
// * destRef: specifies the location of the Settle HTLC within another
|
||||
// channel's forwarding package. This value can be nil if the corresponding
|
||||
// Add HTLC was never locked into an outgoing commitment txn, or this
|
||||
// HTLC does not originate as a response from the peer on the outgoing
|
||||
// link, e.g. on-chain resolutions.
|
||||
// - sourceRef: specifies the location of the Add HTLC within a forwarding
|
||||
// package that this HTLC is settling. Every Settle fails exactly one Add,
|
||||
// so this should never be empty in practice.
|
||||
//
|
||||
// * closeKey: identifies the circuit that should be deleted after this Settle
|
||||
// HTLC is included in a commitment txn. This value should only be nil if
|
||||
// the HTLC was settled locally before committing a circuit to the circuit
|
||||
// map.
|
||||
// - destRef: specifies the location of the Settle HTLC within another
|
||||
// channel's forwarding package. This value can be nil if the corresponding
|
||||
// Add HTLC was never locked into an outgoing commitment txn, or this
|
||||
// HTLC does not originate as a response from the peer on the outgoing
|
||||
// link, e.g. on-chain resolutions.
|
||||
//
|
||||
// - closeKey: identifies the circuit that should be deleted after this Settle
|
||||
// HTLC is included in a commitment txn. This value should only be nil if
|
||||
// the HTLC was settled locally before committing a circuit to the circuit
|
||||
// map.
|
||||
//
|
||||
// NOTE: It is okay for sourceRef, destRef, and closeKey to be nil when unit
|
||||
// testing the wallet.
|
||||
@@ -5487,20 +5488,21 @@ func (lc *LightningChannel) ReceiveHTLCSettle(preimage [32]byte, htlcIndex uint6
|
||||
// _incoming_ HTLC.
|
||||
//
|
||||
// The additional arguments correspond to:
|
||||
// * sourceRef: specifies the location of the Add HTLC within a forwarding
|
||||
// package that this HTLC is failing. Every Fail fails exactly one Add, so
|
||||
// this should never be empty in practice.
|
||||
//
|
||||
// * destRef: specifies the location of the Fail HTLC within another channel's
|
||||
// forwarding package. This value can be nil if the corresponding Add HTLC
|
||||
// was never locked into an outgoing commitment txn, or this HTLC does not
|
||||
// originate as a response from the peer on the outgoing link, e.g.
|
||||
// on-chain resolutions.
|
||||
// - sourceRef: specifies the location of the Add HTLC within a forwarding
|
||||
// package that this HTLC is failing. Every Fail fails exactly one Add, so
|
||||
// this should never be empty in practice.
|
||||
//
|
||||
// * closeKey: identifies the circuit that should be deleted after this Fail
|
||||
// HTLC is included in a commitment txn. This value should only be nil if
|
||||
// the HTLC was failed locally before committing a circuit to the circuit
|
||||
// map.
|
||||
// - destRef: specifies the location of the Fail HTLC within another channel's
|
||||
// forwarding package. This value can be nil if the corresponding Add HTLC
|
||||
// was never locked into an outgoing commitment txn, or this HTLC does not
|
||||
// originate as a response from the peer on the outgoing link, e.g.
|
||||
// on-chain resolutions.
|
||||
//
|
||||
// - closeKey: identifies the circuit that should be deleted after this Fail
|
||||
// HTLC is included in a commitment txn. This value should only be nil if
|
||||
// the HTLC was failed locally before committing a circuit to the circuit
|
||||
// map.
|
||||
//
|
||||
// NOTE: It is okay for sourceRef, destRef, and closeKey to be nil when unit
|
||||
// testing the wallet.
|
||||
|
||||
+57
-52
@@ -316,8 +316,8 @@ func testAddSettleWorkflow(t *testing.T, tweakless bool) {
|
||||
//
|
||||
// TODO(roasbeef): write higher level framework to exercise various states of
|
||||
// the state machine
|
||||
// * DSL language perhaps?
|
||||
// * constructed via input/output files
|
||||
// - DSL language perhaps?
|
||||
// - constructed via input/output files
|
||||
func TestSimpleAddSettleWorkflow(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -335,17 +335,18 @@ func TestSimpleAddSettleWorkflow(t *testing.T) {
|
||||
// The full state transition of this test is:
|
||||
//
|
||||
// Alice Bob
|
||||
// -----add------>
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// <----sig-------
|
||||
// -----rev------>
|
||||
// <---settle-----
|
||||
// <----sig-------
|
||||
// -----rev------>
|
||||
// *alice dies*
|
||||
// <----add-------
|
||||
// x----sig-------
|
||||
//
|
||||
// -----add------>
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// <----sig-------
|
||||
// -----rev------>
|
||||
// <---settle-----
|
||||
// <----sig-------
|
||||
// -----rev------>
|
||||
// *alice dies*
|
||||
// <----add-------
|
||||
// x----sig-------
|
||||
//
|
||||
// The last sig will be rejected if addCommitHeightLocal is not set for the
|
||||
// initial add that Alice sent. This test checks that this behavior does
|
||||
@@ -5804,7 +5805,9 @@ func TestMaxAcceptedHTLCs(t *testing.T) {
|
||||
// fail) an HTLC from Alice when exchanging asynchronous payments. We want to
|
||||
// mimic the following case where Bob's commitment transaction is full before
|
||||
// starting:
|
||||
// Alice Bob
|
||||
//
|
||||
// Alice Bob
|
||||
//
|
||||
// 1. <---settle/fail---
|
||||
// 2. <-------sig-------
|
||||
// 3. --------sig------> (covers an add sent before step 1)
|
||||
@@ -8799,20 +8802,21 @@ func TestProcessAddRemoveEntry(t *testing.T) {
|
||||
// The full state transition of this test is:
|
||||
//
|
||||
// Alice Bob
|
||||
// -----add----->
|
||||
// -----sig----->
|
||||
// <----rev------
|
||||
// <----sig------
|
||||
// -----rev----->
|
||||
// <----fail-----
|
||||
// <----sig------
|
||||
// -----rev----->
|
||||
// -----sig-----X (does not reach Bob! Alice dies!)
|
||||
//
|
||||
// -----sig----->
|
||||
// <----rev------
|
||||
// <----add------
|
||||
// <----sig------
|
||||
// -----add----->
|
||||
// -----sig----->
|
||||
// <----rev------
|
||||
// <----sig------
|
||||
// -----rev----->
|
||||
// <----fail-----
|
||||
// <----sig------
|
||||
// -----rev----->
|
||||
// -----sig-----X (does not reach Bob! Alice dies!)
|
||||
//
|
||||
// -----sig----->
|
||||
// <----rev------
|
||||
// <----add------
|
||||
// <----sig------
|
||||
//
|
||||
// The last sig was rejected with the old behavior of deleting unsigned
|
||||
// acked updates from the database after signing for them. The current
|
||||
@@ -8915,16 +8919,17 @@ func TestChannelUnsignedAckedFailure(t *testing.T) {
|
||||
// The full state transition is:
|
||||
//
|
||||
// Alice Bob
|
||||
// <----add-----
|
||||
// <----sig-----
|
||||
// -----rev---->
|
||||
// -----sig---->
|
||||
// <----rev-----
|
||||
// ----fail---->
|
||||
// -----sig---->
|
||||
// <----rev-----
|
||||
// *reconnect*
|
||||
// <----sig-----
|
||||
//
|
||||
// <----add-----
|
||||
// <----sig-----
|
||||
// -----rev---->
|
||||
// -----sig---->
|
||||
// <----rev-----
|
||||
// ----fail---->
|
||||
// -----sig---->
|
||||
// <----rev-----
|
||||
// *reconnect*
|
||||
// <----sig-----
|
||||
//
|
||||
// Alice should reject the last signature since the settle is not restored
|
||||
// into the local update log and thus calculates Bob's signature as invalid.
|
||||
@@ -9000,22 +9005,22 @@ func TestChannelLocalUnsignedUpdatesFailure(t *testing.T) {
|
||||
// The full state transition of this test is:
|
||||
//
|
||||
// Alice Bob
|
||||
// <----add-------
|
||||
// <----sig-------
|
||||
// -----rev------>
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// ----settle---->
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// <----sig-------
|
||||
// -----add------>
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// *restarts*
|
||||
// -----rev------>
|
||||
// <----sig-------
|
||||
//
|
||||
// <----add-------
|
||||
// <----sig-------
|
||||
// -----rev------>
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// ----settle---->
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// <----sig-------
|
||||
// -----add------>
|
||||
// -----sig------>
|
||||
// <----rev-------
|
||||
// *restarts*
|
||||
// -----rev------>
|
||||
// <----sig-------
|
||||
func TestChannelSignedAckRegression(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
+11
-11
@@ -137,25 +137,25 @@ func (c *ChannelContribution) toChanConfig() channeldb.ChannelConfig {
|
||||
// The reservation workflow consists of the following three steps:
|
||||
// 1. lnwallet.InitChannelReservation
|
||||
// * One requests the wallet to allocate the necessary resources for a
|
||||
// channel reservation. These resources are put in limbo for the lifetime
|
||||
// of a reservation.
|
||||
// channel reservation. These resources are put in limbo for the lifetime
|
||||
// of a reservation.
|
||||
// * Once completed the reservation will have the wallet's contribution
|
||||
// accessible via the .OurContribution() method. This contribution
|
||||
// contains the necessary items to allow the remote party to build both
|
||||
// the funding, and commitment transactions.
|
||||
// accessible via the .OurContribution() method. This contribution
|
||||
// contains the necessary items to allow the remote party to build both
|
||||
// the funding, and commitment transactions.
|
||||
// 2. ChannelReservation.ProcessContribution/ChannelReservation.ProcessSingleContribution
|
||||
// * The counterparty presents their contribution to the payment channel.
|
||||
// This allows us to build the funding, and commitment transactions
|
||||
// ourselves.
|
||||
// This allows us to build the funding, and commitment transactions
|
||||
// ourselves.
|
||||
// * We're now able to sign our inputs to the funding transactions, and
|
||||
// the counterparty's version of the commitment transaction.
|
||||
// the counterparty's version of the commitment transaction.
|
||||
// * All signatures crafted by us, are now available via .OurSignatures().
|
||||
// 3. ChannelReservation.CompleteReservation/ChannelReservation.CompleteReservationSingle
|
||||
// * The final step in the workflow. The counterparty presents the
|
||||
// signatures for all their inputs to the funding transaction, as well
|
||||
// as a signature to our version of the commitment transaction.
|
||||
// signatures for all their inputs to the funding transaction, as well
|
||||
// as a signature to our version of the commitment transaction.
|
||||
// * We then verify the validity of all signatures before considering the
|
||||
// channel "open".
|
||||
// channel "open".
|
||||
type ChannelReservation struct {
|
||||
// This mutex MUST be held when either reading or modifying any of the
|
||||
// fields below.
|
||||
|
||||
@@ -383,8 +383,8 @@ func (r *RPCKeyRing) DeriveKey(
|
||||
// sha256 of the resulting shared point serialized in compressed format. If k is
|
||||
// our private key, and P is the public key, we perform the following operation:
|
||||
//
|
||||
// sx := k*P
|
||||
// s := sha256(sx.SerializeCompressed())
|
||||
// sx := k*P
|
||||
// s := sha256(sx.SerializeCompressed())
|
||||
//
|
||||
// NOTE: This method is part of the keychain.ECDHRing interface.
|
||||
func (r *RPCKeyRing) ECDH(keyDesc keychain.KeyDescriptor,
|
||||
|
||||
@@ -43,7 +43,7 @@ var (
|
||||
//
|
||||
// In order to spend the HTLC output, the witness for the passed transaction
|
||||
// should be:
|
||||
// * <0> <sender sig> <recvr sig> <preimage>
|
||||
// - <0> <sender sig> <recvr sig> <preimage>
|
||||
func CreateHtlcSuccessTx(chanType channeldb.ChannelType, initiator bool,
|
||||
htlcOutput wire.OutPoint, htlcAmt btcutil.Amount, csvDelay,
|
||||
leaseExpiry uint32, revocationKey, delayKey *btcec.PublicKey) (
|
||||
|
||||
@@ -711,10 +711,10 @@ func testSpendValidation(t *testing.T, tweakless bool) {
|
||||
// the commitment transaction.
|
||||
//
|
||||
// The following spending cases are covered by this test:
|
||||
// * Alice's spend from the delayed output on her commitment transaction.
|
||||
// * Bob's spend from Alice's delayed output when she broadcasts a revoked
|
||||
// - Alice's spend from the delayed output on her commitment transaction.
|
||||
// - Bob's spend from Alice's delayed output when she broadcasts a revoked
|
||||
// commitment transaction.
|
||||
// * Bob's spend from his unencumbered output within Alice's commitment
|
||||
// - Bob's spend from his unencumbered output within Alice's commitment
|
||||
// transaction.
|
||||
func TestCommitmentSpendValidation(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
Reference in new issue
Block a user