wip
This commit is contained in:
parent
61a424447a
commit
b781d245e3
8 changed files with 45 additions and 14 deletions
|
|
@ -18,6 +18,7 @@
|
|||
# LIQUIDITY_PROVIDER_PUB=null
|
||||
# DISABLE_LIQUIDITY_PROVIDER=false
|
||||
# USE_ONLY_LIQUIDITY_PROVIDER=false
|
||||
PROVIDER_RELAY_URL=
|
||||
|
||||
#SWAPS
|
||||
# BOLTZ_HTTP_URL=
|
||||
|
|
|
|||
20
src/index.ts
20
src/index.ts
|
|
@ -7,6 +7,7 @@ import { getLogger } from './services/helpers/logger.js';
|
|||
import { initMainHandler, initSettings } from './services/main/init.js';
|
||||
import { nip19 } from 'nostr-tools'
|
||||
import { LoadStorageSettingsFromEnv } from './services/storage/index.js';
|
||||
import { AppInfo } from './services/nostr/nostrPool.js';
|
||||
//@ts-ignore
|
||||
const { nprofileEncode } = nip19
|
||||
|
||||
|
|
@ -22,15 +23,28 @@ const start = async () => {
|
|||
return
|
||||
}
|
||||
|
||||
const { apps, mainHandler, liquidityProviderInfo, wizard, adminManager } = keepOn
|
||||
const { mainHandler, liquidityProviderInfo, wizard, adminManager } = keepOn
|
||||
const serverMethods = GetServerMethods(mainHandler)
|
||||
log("initializing nostr middleware")
|
||||
const relays = settingsManager.getSettings().nostrRelaySettings.relays
|
||||
const maxEventContentLength = settingsManager.getSettings().nostrRelaySettings.maxEventContentLength
|
||||
const apps: AppInfo[] = keepOn.apps.map(app => {
|
||||
return {
|
||||
appId: app.appId,
|
||||
privateKey: app.privateKey,
|
||||
publicKey: app.publicKey,
|
||||
name: app.name,
|
||||
provider: app.publicKey === liquidityProviderInfo.publicKey ? {
|
||||
clientId: liquidityProviderInfo.clientId,
|
||||
pubDestination: settingsManager.getSettings().liquiditySettings.liquidityProviderPub,
|
||||
relayUrl: settingsManager.getSettings().liquiditySettings.providerRelayUrl || relays[0]
|
||||
} : undefined
|
||||
}
|
||||
})
|
||||
const { Send, Stop, Ping, Reset } = nostrMiddleware(serverMethods, mainHandler,
|
||||
{
|
||||
relays, maxEventContentLength, apps, clients: [liquidityProviderInfo],
|
||||
providerDestinationPub: settingsManager.getSettings().liquiditySettings.liquidityProviderPub
|
||||
relays, maxEventContentLength, apps, /* clients: [liquidityProviderInfo], */
|
||||
/* providerDestinationPub: settingsManager.getSettings().liquiditySettings.liquidityProviderPub */
|
||||
},
|
||||
(e, p) => mainHandler.liquidityProvider.onEvent(e, p)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { StateBundler } from "../storage/tlv/stateBundler.js";
|
||||
import { TlvStorageFactory } from "../storage/tlv/tlvFilesStorageFactory.js";
|
||||
import { NostrSend } from "../nostr/handler.js";
|
||||
import { NostrSend } from "../nostr/nostrPool.js";
|
||||
import { ProcessMetricsCollector } from "../storage/tlv/processMetricsCollector.js";
|
||||
type UtilsSettings = {
|
||||
noCollector?: boolean
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import AppUserManager from "./appUserManager.js"
|
|||
import { Application } from '../storage/entity/Application.js'
|
||||
import { UserReceivingInvoice, ZapInfo } from '../storage/entity/UserReceivingInvoice.js'
|
||||
import { UnsignedEvent } from 'nostr-tools'
|
||||
import { NostrEvent, NostrSend } from '../nostr/handler.js'
|
||||
import { NostrSend } from '../nostr/nostrPool.js'
|
||||
import MetricsManager from '../metrics/index.js'
|
||||
import { LoggedEvent } from '../storage/eventsLog.js'
|
||||
import { LiquidityProvider } from "./liquidityProvider.js"
|
||||
|
|
@ -31,7 +31,7 @@ import { Agent } from "https"
|
|||
import { NotificationsManager } from "./notificationsManager.js"
|
||||
import { ApplicationUser } from '../storage/entity/ApplicationUser.js'
|
||||
import SettingsManager from './settingsManager.js'
|
||||
import { NostrSettings } from '../nostr/handler.js'
|
||||
import { NostrSettings, AppInfo } from '../nostr/nostrPool.js'
|
||||
type UserOperationsSub = {
|
||||
id: string
|
||||
newIncomingInvoice: (operation: Types.UserOperation) => void
|
||||
|
|
@ -453,12 +453,26 @@ export default class {
|
|||
publicKey: liquidityProviderApp.nostr_public_key || "",
|
||||
name: "liquidity_provider", clientId: `client_${liquidityProviderApp.app_id}`
|
||||
}
|
||||
const relays = this.settings.getSettings().nostrRelaySettings.relays
|
||||
const appsInfo: AppInfo[] = apps.map(app => {
|
||||
return {
|
||||
appId: app.app_id,
|
||||
privateKey: app.nostr_private_key || "",
|
||||
publicKey: app.nostr_public_key || "",
|
||||
name: app.name,
|
||||
provider: app.nostr_public_key === liquidityProviderInfo.publicKey ? {
|
||||
clientId: liquidityProviderInfo.clientId,
|
||||
pubDestination: this.settings.getSettings().liquiditySettings.liquidityProviderPub,
|
||||
relayUrl: this.settings.getSettings().liquiditySettings.providerRelayUrl || relays[0]
|
||||
} : undefined
|
||||
}
|
||||
})
|
||||
const s: NostrSettings = {
|
||||
apps: apps.map(a => ({ appId: a.app_id, name: a.name, privateKey: a.nostr_private_key || "", publicKey: a.nostr_public_key || "" })),
|
||||
relays: this.settings.getSettings().nostrRelaySettings.relays,
|
||||
apps: appsInfo,
|
||||
relays,
|
||||
maxEventContentLength: this.settings.getSettings().nostrRelaySettings.maxEventContentLength,
|
||||
clients: [liquidityProviderInfo],
|
||||
providerDestinationPub: this.settings.getSettings().liquiditySettings.liquidityProviderPub
|
||||
/* clients: [liquidityProviderInfo],
|
||||
providerDestinationPub: this.settings.getSettings().liquiditySettings.liquidityProviderPub */
|
||||
}
|
||||
this.nostrReset(s)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { NostrRequest } from '../../../proto/autogenerated/ts/nostr_transport.js
|
|||
import * as Types from '../../../proto/autogenerated/ts/types.js'
|
||||
import { ERROR, getLogger } from '../helpers/logger.js'
|
||||
import { Utils } from '../helpers/utilsWrapper.js'
|
||||
import { NostrEvent, NostrSend } from '../nostr/handler.js'
|
||||
import { NostrSend } from '../nostr/nostrPool.js'
|
||||
import { InvoicePaidCb } from '../lnd/settings.js'
|
||||
import Storage from '../storage/index.js'
|
||||
import SettingsManager from './settingsManager.js'
|
||||
|
|
|
|||
|
|
@ -168,13 +168,15 @@ export type LiquiditySettings = {
|
|||
liquidityProviderPub: string // cold setting
|
||||
useOnlyLiquidityProvider: boolean // hot setting
|
||||
disableLiquidityProvider: boolean // hot setting
|
||||
providerRelayUrl: string
|
||||
}
|
||||
export const LoadLiquiditySettingsFromEnv = (dbEnv: Record<string, string | undefined>, addToDb?: EnvCacher): LiquiditySettings => {
|
||||
//const liquidityProviderPub = process.env.LIQUIDITY_PROVIDER_PUB === "null" ? "" : (process.env.LIQUIDITY_PROVIDER_PUB || "76ed45f00cea7bac59d8d0b7d204848f5319d7b96c140ffb6fcbaaab0a13d44e")
|
||||
const liquidityProviderPub = chooseEnv("LIQUIDITY_PROVIDER_PUB", dbEnv, "76ed45f00cea7bac59d8d0b7d204848f5319d7b96c140ffb6fcbaaab0a13d44e", addToDb)
|
||||
const disableLiquidityProvider = chooseEnvBool("DISABLE_LIQUIDITY_PROVIDER", dbEnv, false, addToDb) || liquidityProviderPub === "null"
|
||||
const useOnlyLiquidityProvider = chooseEnvBool("USE_ONLY_LIQUIDITY_PROVIDER", dbEnv, false, addToDb)
|
||||
return { liquidityProviderPub, useOnlyLiquidityProvider, disableLiquidityProvider }
|
||||
const providerRelayUrl = chooseEnv("PROVIDER_RELAY_URL", dbEnv, "", addToDb)
|
||||
return { liquidityProviderPub, useOnlyLiquidityProvider, disableLiquidityProvider, providerRelayUrl }
|
||||
}
|
||||
|
||||
export type SwapsSettings = {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { getLogger } from '../services/helpers/logger.js'
|
||||
import { initMainHandler, initSettings } from '../services/main/init.js'
|
||||
import { SendData } from '../services/nostr/handler.js'
|
||||
import { SendData } from '../services/nostr/nostrPool.js'
|
||||
import { TestBase, TestUserData } from './testBase.js'
|
||||
import * as Types from '../../proto/autogenerated/ts/types.js'
|
||||
import { GetTestStorageSettings, LoadStorageSettingsFromEnv } from '../services/storage/index.js'
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ export const SetupTest = async (d: Describe, chainTools: ChainTools): Promise<Te
|
|||
const extermnalUtils = new Utils({ dataDir: storageSettings.dataDir, allowResetMetricsStorages: storageSettings.allowResetMetricsStorages })
|
||||
/* const externalAccessToMainLnd = new LND(settings.lndSettings, new LiquidityProvider("", extermnalUtils, async () => { }, async () => { }), extermnalUtils, async () => { }, async () => { }, () => { }, () => { })
|
||||
await externalAccessToMainLnd.Warmup() */
|
||||
const liquiditySettings: LiquiditySettings = { disableLiquidityProvider: true, liquidityProviderPub: "", useOnlyLiquidityProvider: false }
|
||||
const liquiditySettings: LiquiditySettings = { disableLiquidityProvider: true, liquidityProviderPub: "", useOnlyLiquidityProvider: false, providerRelayUrl: "" }
|
||||
const lndSettings = LoadLndSettingsFromEnv({})
|
||||
const secondLndNodeSettings = LoadSecondLndSettingsFromEnv()
|
||||
const otherLndSetting = () => ({ lndSettings, lndNodeSettings: secondLndNodeSettings })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue