diff --git a/modules/actions/lbp/sync-data.ts b/modules/actions/lbp/sync-data.ts index 6b867abb5..e0f303490 100644 --- a/modules/actions/lbp/sync-data.ts +++ b/modules/actions/lbp/sync-data.ts @@ -150,6 +150,7 @@ export const syncData = async ( data: { typeData: { ...(typeDataMap[poolId] as any), + ...(onchainData[poolId]?.pool.typeData || {}), topTrades: trades[poolId], }, }, diff --git a/modules/network/worker-jobs.ts b/modules/network/worker-jobs.ts index e0a4b273a..4551a5d83 100644 --- a/modules/network/worker-jobs.ts +++ b/modules/network/worker-jobs.ts @@ -58,6 +58,14 @@ export const activeChainWorkerJobsV3: WorkerJob[] = [ name: 'update-liquidity-24h-ago-v3', interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(20, 'minutes') : every(5, 'minutes'), }, + { + name: 'sync-lbps', + interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(2, 'minutes'), + }, + { + name: 'sync-fixed-lbps', + interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(2, 'minutes'), + }, ]; export const activeChainWorkerJobsGeneric: WorkerJob[] = [ @@ -179,14 +187,6 @@ export const activeChainWorkerJobsGlobal: WorkerJob[] = [ name: 'sync-token-content-data', interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'), }, - { - name: 'sync-lbps', - interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(2, 'minutes'), - }, - { - name: 'sync-fixed-lbps', - interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(2, 'minutes'), - }, ]; export const vebalWorkerJobs: WorkerJob[] = [ diff --git a/modules/token-yields/service.ts b/modules/token-yields/service.ts index 66ee2a9d0..0e95bf0ec 100644 --- a/modules/token-yields/service.ts +++ b/modules/token-yields/service.ts @@ -25,11 +25,17 @@ export class TokenYieldsService { console.log(`Fetched ${tokenAprs.length} token yields for chain ${chain}`); + const validTokenAprs = tokenAprs.filter((t) => Number.isFinite(t.apr)); + const invalidAprs = tokenAprs.filter((t) => !Number.isFinite(t.apr)); + for (const invalidApr of invalidAprs) { + console.log(`Invalid APR for token ${invalidApr.address} on chain ${chain}: ${invalidApr.apr}`); + } + // Group by source (we'll need to track which handler provided which data) // For now, we'll store all as 'yb-handlers' source - await this.tokenYieldRepository.storeTokenYields(chain, tokenAprs); + await this.tokenYieldRepository.storeTokenYields(chain, validTokenAprs); - console.log(`Successfully stored ${tokenAprs.length} token yields for chain ${chain}`); + console.log(`Successfully stored ${validTokenAprs.length} token yields for chain ${chain}`); } catch (error) { throw `Failed to fetch and store yields for chain ${chain}: ${error}`; }