Description:
I noticed that the Start() method of LndChallenger is called twice during initialization:
- First call in
NewLndChallenger (lnd.go#L68)
- The second call in
NewLNCChallenger (lnc.go#L44)
While analyzing the Start() method implementation, I found that it:
- Initializes invoice state tracking
- Creates invoice subscriptions
- Starts background goroutines
Questions:
- Is this double initialization intentional?
- If not, should we remove the
Start() call from NewLndChallenger and let the caller handle initialization?
I'd appreciate any clarification on the design decision behind this pattern.