@@ -649,7 +649,7 @@ func (b *batch) Run(ctx context.Context) error {
649649 blockChan , blockErrChan , err :=
650650 b .chainNotifier .RegisterBlockEpochNtfn (runCtx )
651651 if err != nil {
652- return err
652+ return fmt . Errorf ( "block registration error: %w" , err )
653653 }
654654
655655 // Set currentHeight here, because it may be needed in monitorSpend.
@@ -658,7 +658,8 @@ func (b *batch) Run(ctx context.Context) error {
658658 b .Debugf ("initial height for the batch is %v" , b .currentHeight )
659659
660660 case <- runCtx .Done ():
661- return runCtx .Err ()
661+ return fmt .Errorf ("context expired while waiting for current " +
662+ "height: %w" , runCtx .Err ())
662663 }
663664
664665 // If a primary sweep exists we immediately start monitoring for its
@@ -667,7 +668,7 @@ func (b *batch) Run(ctx context.Context) error {
667668 sweep := b .sweeps [b .primarySweepID ]
668669 err := b .monitorSpend (runCtx , sweep )
669670 if err != nil {
670- return err
671+ return fmt . Errorf ( "monitorSpend error: %w" , err )
671672 }
672673 }
673674
@@ -742,17 +743,21 @@ func (b *batch) Run(ctx context.Context) error {
742743
743744 err := b .publish (ctx )
744745 if err != nil {
745- return err
746+ return fmt . Errorf ( "publish error: %w" , err )
746747 }
747748
748749 case spend := <- b .spendChan :
749750 err := b .handleSpend (runCtx , spend .SpendingTx )
750751 if err != nil {
751- return err
752+ return fmt . Errorf ( "handleSpend error: %w" , err )
752753 }
753754
754755 case <- b .confChan :
755- return b .handleConf (runCtx )
756+ if err := b .handleConf (runCtx ); err != nil {
757+ return fmt .Errorf ("handleConf error: %w" , err )
758+ }
759+
760+ return nil
756761
757762 case <- b .reorgChan :
758763 b .state = Open
@@ -761,21 +766,22 @@ func (b *batch) Run(ctx context.Context) error {
761766
762767 err := b .monitorSpend (ctx , b .sweeps [b .primarySweepID ])
763768 if err != nil {
764- return err
769+ return fmt . Errorf ( "monitorSpend error: %w" , err )
765770 }
766771
767772 case testReq := <- b .testReqs :
768773 testReq .handler ()
769774 close (testReq .quit )
770775
771776 case err := <- blockErrChan :
772- return err
777+ return fmt . Errorf ( "blocks monitoring error: %w" , err )
773778
774779 case err := <- b .errChan :
775- return err
780+ return fmt . Errorf ( "error with the batch: %w" , err )
776781
777782 case <- runCtx .Done ():
778- return runCtx .Err ()
783+ return fmt .Errorf ("batch context expired: %w" ,
784+ runCtx .Err ())
779785 }
780786 }
781787}
@@ -1555,7 +1561,10 @@ func (b *batch) monitorSpend(ctx context.Context, primarySweep sweep) error {
15551561 return
15561562
15571563 case err := <- spendErr :
1558- b .writeToErrChan (err )
1564+ b .writeToErrChan (
1565+ fmt .Errorf ("spend error: %w" , err ),
1566+ )
1567+
15591568 return
15601569
15611570 case <- ctx .Done ():
@@ -1595,10 +1604,13 @@ func (b *batch) monitorConfirmations(ctx context.Context) error {
15951604
15961605 case <- ctx .Done ():
15971606 }
1607+
15981608 return
15991609
16001610 case err := <- errChan :
1601- b .writeToErrChan (err )
1611+ b .writeToErrChan (fmt .Errorf ("confirmations " +
1612+ "monitoring error: %w" , err ))
1613+
16021614 return
16031615
16041616 case <- reorgChan :
0 commit comments