diff --git a/service/start.go b/service/start.go index 8c9786a..4b992c7 100644 --- a/service/start.go +++ b/service/start.go @@ -5,7 +5,6 @@ import ( "errors" "fmt" "net/http" - "path" "strconv" "time" @@ -349,63 +348,12 @@ func (svc *service) launchLNBackend(ctx context.Context, encryptionKey string) e logger.Logger.Infof("Launching LN Backend: %s", lnBackend) var lnClient lnclient.LNClient var err error - vssEnabled := false switch lnBackend { case config.LNDBackendType: LNDAddress, _ := svc.cfg.Get("LNDAddress", encryptionKey) LNDCertHex, _ := svc.cfg.Get("LNDCertHex", encryptionKey) LNDMacaroonHex, _ := svc.cfg.Get("LNDMacaroonHex", encryptionKey) lnClient, err = lnd.NewLNDService(ctx, svc.eventPublisher, LNDAddress, LNDCertHex, LNDMacaroonHex) - case config.LDKBackendType: - mnemonic, _ := svc.cfg.Get("Mnemonic", encryptionKey) - ldkWorkdir := path.Join(svc.cfg.GetEnv().Workdir, "ldk") - var vssToken string - vssToken, err = svc.requestVssToken(ctx) - if err != nil { - logger.Logger.WithError(err).Error("Failed to request VSS token") - return err - } - vssEnabled = vssToken != "" - - svc.startupState = "Launching Node" - setStartupState := func(startupState string) { - svc.startupState = startupState - } - - channelPeerSuggestions, suggestionsErr := svc.albySvc.GetChannelPeerSuggestions(ctx) - if suggestionsErr != nil { - logger.Logger.WithError(suggestionsErr).Warn("Failed to fetch channel peer suggestions for LSPS2 liquidity source") - } - lnClient, err = ldk.NewLDKService(ctx, svc.cfg, svc.eventPublisher, mnemonic, ldkWorkdir, vssToken, setStartupState, channelPeerSuggestions) - case config.PhoenixBackendType: - PhoenixdAddress, _ := svc.cfg.Get("PhoenixdAddress", encryptionKey) - PhoenixdAuthorization, _ := svc.cfg.Get("PhoenixdAuthorization", encryptionKey) - - lnClient, err = phoenixd.NewPhoenixService(ctx, PhoenixdAddress, PhoenixdAuthorization) - case config.CashuBackendType: - mnemonic, _ := svc.cfg.Get("Mnemonic", encryptionKey) - cashuMintUrl, _ := svc.cfg.Get("CashuMintUrl", encryptionKey) - cashuWorkdir := path.Join(svc.cfg.GetEnv().Workdir, "cashu") - - lnClient, err = cashu.NewCashuService(svc.cfg, cashuWorkdir, mnemonic, cashuMintUrl) - case config.BarkBackendType: - mnemonic, _ := svc.cfg.Get("Mnemonic", encryptionKey) - env := svc.cfg.GetEnv() - barkWorkdir := path.Join(env.Workdir, "bark") - - lnClient, err = bark.NewBarkService(ctx, svc.eventPublisher, barkWorkdir, mnemonic, bark.Config{ - Network: svc.cfg.GetNetwork(), - ServerAddress: env.BarkServer, - EsploraAddress: env.BarkEsploraServer, - ServerAccessToken: env.BarkServerAccessToken, - LogLevel: env.BarkLogLevel, - LogToFile: env.LogToFile, - }) - case config.CLNBackendType: - CLNAddress, _ := svc.cfg.Get("CLNAddress", encryptionKey) - CLNLightningDir, _ := svc.cfg.Get("CLNLightningDir", encryptionKey) - CLNAddressHold, _ := svc.cfg.Get("CLNAddressHold", encryptionKey) - lnClient, err = cln.NewCLNService(ctx, svc.eventPublisher, CLNAddress, CLNLightningDir, CLNAddressHold) default: logger.Logger.WithField("backend_type", lnBackend).Error("Unsupported LNBackendType") return fmt.Errorf("unsupported backend type: %s", lnBackend) @@ -439,63 +387,9 @@ func (svc *service) launchLNBackend(ctx context.Context, encryptionKey string) e svc.eventPublisher.Publish(&events.Event{ Event: "nwc_node_started", Properties: map[string]interface{}{ - "node_type": lnBackend, - "vss_enabled": vssEnabled, + "node_type": lnBackend, }, }) return nil } - -func (svc *service) requestVssToken(ctx context.Context) (string, error) { - nodeLastStartTime, _ := svc.cfg.Get("NodeLastStartTime", "") - - // for brand new nodes, consider enabling VSS - if nodeLastStartTime == "" && svc.cfg.GetEnv().LDKVssUrl != "" { - svc.startupState = "Checking Subscription" - albyUserIdentifier, err := svc.albyOAuthSvc.GetUserIdentifier() - if err != nil { - logger.Logger.WithError(err).Error("Failed to fetch alby user identifier") - return "", err - } - if albyUserIdentifier != "" { - me, err := svc.albyOAuthSvc.GetMe(ctx) - if err != nil { - logger.Logger.WithError(err).Error("Failed to fetch alby user") - return "", err - } - // only activate VSS for Alby paid subscribers - if me.Subscription.PlanCode != "" { - svc.cfg.SetUpdate("LdkVssEnabled", "true", "") - } - } - } - - vssToken := "" - vssEnabled, _ := svc.cfg.Get("LdkVssEnabled", "") - if vssEnabled == "true" { - svc.startupState = "Fetching VSS token" - vssNodeIdentifier, err := ldk.GetVssNodeIdentifier(svc.keys) - if err != nil { - logger.Logger.WithError(err).Error("Failed to get VSS node identifier") - return "", err - } - vssToken, err = svc.albyOAuthSvc.GetVssAuthToken(ctx, vssNodeIdentifier) - if err != nil { - logger.Logger.WithError(err).Error("Failed to fetch VSS JWT token") - - existingVssToken, _ := svc.cfg.Get("VssToken", "") - if existingVssToken != "" { - logger.Logger.Warn("Using stored VSS JWT token") - return existingVssToken, nil - } - - return "", err - } - err = svc.cfg.SetUpdate("VssToken", vssToken, "") - if err != nil { - logger.Logger.WithError(err).Error("Failed to save VSS JWT token to user config") - } - } - return vssToken, nil -}