@@ -180,13 +180,20 @@ func (s *AuxTrafficShaper) PaymentBandwidth(htlcBlob,
180
180
// never be settled. Other HTLCs that may also call into this method are
181
181
// not yet registered to the commitment, so we need to account for them
182
182
// manually.
183
- computedLocal , _ , err := ComputeLocalBalance (
183
+ computedLocal , decodedView , err := ComputeLocalBalance (
184
184
commitment , htlcView ,
185
185
)
186
186
if err != nil {
187
187
return 0 , err
188
188
}
189
189
190
+ log .Tracef ("Computed asset HTLC View: commitmentLocal=%v, " +
191
+ "computedLocal=%v, nextHeight=%v, thisHtlc=%v, newView=%v" ,
192
+ cmsg .OutputSum (commitment .LocalOutputs ()), computedLocal ,
193
+ htlcView .NextHeight , htlc .Amounts .Val .Sum (), func () string {
194
+ return prettyPrintLocalView (* decodedView )
195
+ }())
196
+
190
197
// If the HTLC carries asset units (keysend, forwarding), then there's
191
198
// no need to do any RFQ related math. We can directly compare the asset
192
199
// units of the HTLC with those in our local balance.
@@ -438,3 +445,31 @@ func (s *AuxTrafficShaper) ProduceHtlcExtraData(totalAmount lnwire.MilliSatoshi,
438
445
439
446
return htlcAmountMSat , updatedRecords , nil
440
447
}
448
+
449
+ // prettyPrintLocalView returns a string that pretty-prints the local update log
450
+ // of an HTLC view.
451
+ func prettyPrintLocalView (view DecodedView ) string {
452
+ var res string
453
+ res = "\n HtlcView Local Updates:\n "
454
+ for _ , v := range view .OurUpdates {
455
+ assetAmt := uint64 (0 )
456
+ if rfqmsg .HasAssetHTLCCustomRecords (v .CustomRecords ) {
457
+ assetHtlc , err := rfqmsg .HtlcFromCustomRecords (
458
+ v .CustomRecords ,
459
+ )
460
+ if err != nil {
461
+ res = fmt .Sprintf ("%s\t error: could not " +
462
+ "decode htlc custom records\n " , res )
463
+ continue
464
+ }
465
+
466
+ assetAmt = rfqmsg .Sum (assetHtlc .Balances ())
467
+ }
468
+
469
+ res = fmt .Sprintf ("%s\t htlcIndex=%v: amt=%v, assets=%v, " +
470
+ "addHeight=%v\n " , res , v .HtlcIndex , v .Amount , assetAmt ,
471
+ v .AddHeight (lntypes .Local ))
472
+ }
473
+
474
+ return res
475
+ }
0 commit comments