Add oracle rates
This commit is contained in:
@@ -11,6 +11,7 @@ import { BaseStorage, Storage } from "./storage.js";
|
||||
import { SyncServer } from "../utils/sync-server.js";
|
||||
import { HistoryService } from "./history.js";
|
||||
import { type BlockchainService, ElectrumService } from "./electrum.js";
|
||||
import { RatesService } from "./rates.js";
|
||||
|
||||
import { EventEmitter } from "../utils/event-emitter.js";
|
||||
|
||||
@@ -46,6 +47,7 @@ export class AppService extends EventEmitter<AppEventMap> {
|
||||
public config: AppConfig;
|
||||
public history: HistoryService;
|
||||
public electrum: BlockchainService;
|
||||
public rates: RatesService;
|
||||
|
||||
public invitations: Invitation[] = [];
|
||||
private invitationEventCleanup = new Map<
|
||||
@@ -107,8 +109,9 @@ export class AppService extends EventEmitter<AppEventMap> {
|
||||
host: config.electrumHost,
|
||||
applicationIdentifier: config.electrumApplicationIdentifier,
|
||||
});
|
||||
const rates = await RatesService.create();
|
||||
|
||||
return new AppService(engine, walletStorage, config, electrum);
|
||||
return new AppService(engine, walletStorage, config, electrum, rates);
|
||||
}
|
||||
|
||||
constructor(
|
||||
@@ -116,6 +119,7 @@ export class AppService extends EventEmitter<AppEventMap> {
|
||||
storage: BaseStorage,
|
||||
config: AppConfig,
|
||||
electrum: BlockchainService,
|
||||
rates: RatesService,
|
||||
) {
|
||||
super();
|
||||
|
||||
@@ -123,6 +127,7 @@ export class AppService extends EventEmitter<AppEventMap> {
|
||||
this.storage = storage;
|
||||
this.config = config;
|
||||
this.electrum = electrum;
|
||||
this.rates = rates;
|
||||
this.history = new HistoryService(engine, this.invitations);
|
||||
}
|
||||
|
||||
@@ -257,6 +262,11 @@ export class AppService extends EventEmitter<AppEventMap> {
|
||||
}
|
||||
|
||||
async start(): Promise<void> {
|
||||
// Start rates in the background so BCH -> fiat conversions become reactive in the TUI.
|
||||
this.rates.start().catch((err) =>
|
||||
console.error('Error starting rates service:', err),
|
||||
);
|
||||
|
||||
// Get the invitations db
|
||||
const invitationsDb = this.storage.child("invitations");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user