diff --git a/instantout/manager.go b/instantout/manager.go index 37ccb681..be895e18 100644 --- a/instantout/manager.go +++ b/instantout/manager.go @@ -159,14 +159,12 @@ func (m *Manager) NewInstantOut(ctx context.Context, protocolVersion: CurrentProtocolVersion(), sweepAddress: sweepAddr, } + m.Unlock() instantOut, err := NewFSM(m.cfg, ProtocolVersionFullReservation) if err != nil { - m.Unlock() return nil, err } - m.activeInstantOuts[instantOut.InstantOut.SwapHash] = instantOut - m.Unlock() // Start the instantout FSM. go func() { @@ -186,6 +184,10 @@ func (m *Manager) NewInstantOut(ctx context.Context, return nil, err } + m.Lock() + m.activeInstantOuts[instantOut.InstantOut.SwapHash] = instantOut + m.Unlock() + return instantOut, nil }