From 33c4b9a1de01bea702d773c422097742d1a73ef9 Mon Sep 17 00:00:00 2001 From: josephchimebuka Date: Mon, 30 Mar 2026 06:50:02 +0000 Subject: [PATCH] fix oracle type errors --- oracle/src/index.ts | 4 +++- oracle/src/services/contract-updater.ts | 3 ++- oracle/src/services/price-aggregator.ts | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/oracle/src/index.ts b/oracle/src/index.ts index bee9c961..e22b3890 100644 --- a/oracle/src/index.ts +++ b/oracle/src/index.ts @@ -16,6 +16,7 @@ import { import { createValidator, createPriceCache, + createPriceHistoryService, createAggregator, createContractUpdater, type PriceAggregator, @@ -77,8 +78,9 @@ export class OracleService { }); const cache = createPriceCache(config.cacheTtlSeconds); + const priceHistory = createPriceHistoryService(); - this.aggregator = createAggregator(providers, validator, cache, { + this.aggregator = createAggregator(providers, validator, cache, priceHistory, { circuitBreaker: config.circuitBreaker, }); diff --git a/oracle/src/services/contract-updater.ts b/oracle/src/services/contract-updater.ts index 0493179c..83df8e9f 100644 --- a/oracle/src/services/contract-updater.ts +++ b/oracle/src/services/contract-updater.ts @@ -3,6 +3,7 @@ */ import { + Account, Keypair, Contract, rpc, @@ -251,7 +252,7 @@ export class ContractUpdater { // 2. Check admin account exists and has funds try { - const adminAccount = await this.server.getAccount(this.adminKeypair.publicKey()); + const adminAccount = (await this.server.getAccount(this.adminKeypair.publicKey())) as any; result.admin = true; result.details.admin = { exists: true, diff --git a/oracle/src/services/price-aggregator.ts b/oracle/src/services/price-aggregator.ts index 7982aad2..26591416 100644 --- a/oracle/src/services/price-aggregator.ts +++ b/oracle/src/services/price-aggregator.ts @@ -144,7 +144,7 @@ export class PriceAggregator { const circuitBreaker = this.circuitBreakers.get(provider.name); // Check circuit breaker state - if (circuitBreaker && circuitBreaker.getState() === 'OPEN') { + if (circuitBreaker && circuitBreaker.currentState === 'OPEN') { logger.warn(`Circuit breaker OPEN for ${provider.name}, skipping`); continue; } @@ -275,7 +275,7 @@ export class PriceAggregator { return avg; } - return sorted[mid]; + return sorted[mid].price; } /**