Skip to content

Commit 339fc55

Browse files
authored
Merge pull request #631 from beethovenxfi/v3-canary
V3 canary
2 parents 2020784 + d77499c commit 339fc55

20 files changed

+177
-248
lines changed

app.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,25 @@ import { ProfilingIntegration } from '@sentry/profiling-node';
2020
import { sentryPlugin } from './app/gql/sentry-apollo-plugin';
2121
import { startWorker } from './worker/worker';
2222
import { startScheduler } from './worker/scheduler';
23+
import { prisma } from './prisma/prisma-client';
2324

2425
async function startServer() {
2526
const app = createExpressApp();
2627

2728
Sentry.init({
2829
dsn: env.SENTRY_DSN,
29-
// tracesSampleRate: 0.005,
3030
environment: `multichain-${env.DEPLOYMENT_ENV}`,
3131
enabled: env.NODE_ENV === 'production',
3232
ignoreErrors: [/.*error: Provide.*chain.*param/],
3333
integrations: [
34-
// new Tracing.Integrations.Apollo(),
35-
// new Tracing.Integrations.GraphQL(),
36-
// new Tracing.Integrations.Prisma({ client: prisma }),
34+
new Sentry.Integrations.Apollo(),
35+
new Sentry.Integrations.GraphQL(),
36+
new Sentry.Integrations.Prisma({ client: prisma }),
3737
new Sentry.Integrations.Express({ app }),
3838
new Sentry.Integrations.Http({ tracing: true }),
3939
new ProfilingIntegration(),
4040
],
41-
tracesSampleRate: 0.2,
41+
tracesSampleRate: 0.005,
4242
profilesSampleRate: 0.1,
4343
beforeSend(event, hint) {
4444
const error = hint.originalException as string;

modules/network/arbitrum.ts

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ const arbitrumNetworkData: NetworkData = {
5252
platformId: 'arbitrum-one',
5353
excludedTokenAddresses: ['0x6dbf2155b0636cb3fd5359fccefb8a2c02b6cb51'], // plsRDNT, has coingecko entry but no price
5454
},
55-
tokenPrices: {
56-
maxHourlyPriceHistoryNumDays: 100,
57-
},
5855
rpcUrl:
5956
env.INFURA_API_KEY && (env.DEPLOYMENT_ENV as DeploymentEnv) === 'main'
6057
? `https://arbitrum-mainnet.infura.io/v3/${env.INFURA_API_KEY}`
@@ -266,79 +263,77 @@ export const arbitrumNetworkConfig: NetworkConfig = {
266263
},
267264
{
268265
name: 'update-liquidity-for-active-pools',
269-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(8, 'minutes') : every(4, 'minutes'),
266+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(6, 'minutes') : every(2, 'minutes'),
270267
},
271268
{
272269
name: 'update-pool-apr',
273-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(7, 'minutes') : every(5, 'minutes'),
270+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(6, 'minutes') : every(2, 'minutes'),
274271
},
275272
{
276273
name: 'load-on-chain-data-for-pools-with-active-updates',
277-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(9, 'minutes') : every(5, 'minutes'),
274+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(4, 'minutes') : every(1, 'minutes'),
278275
},
279276
{
280277
name: 'sync-new-pools-from-subgraph',
281-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(12, 'minutes') : every(8, 'minutes'),
278+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(6, 'minutes') : every(2, 'minutes'),
282279
},
283280
{
284281
name: 'sync-tokens-from-pool-tokens',
285-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(7, 'minutes'),
282+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
286283
},
287284
{
288285
name: 'update-liquidity-24h-ago-for-all-pools',
289-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(15, 'minutes') : every(8, 'minutes'),
286+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
290287
},
291288
{
292289
name: 'cache-average-block-time',
293290
interval: every(1, 'hours'),
294291
},
295292
{
296293
name: 'sync-staking-for-pools',
297-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(15, 'minutes') : every(10, 'minutes'),
294+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
298295
},
299296
{
300297
name: 'sync-latest-snapshots-for-all-pools',
301298
interval: every(90, 'minutes'),
302299
},
303300
{
304301
name: 'update-lifetime-values-for-all-pools',
305-
interval: every(45, 'minutes'),
302+
interval: every(50, 'minutes'),
306303
},
307304
{
308305
name: 'sync-changed-pools',
309-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(2, 'minutes') : every(1, 'minutes'),
306+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(2, 'minutes') : every(30, 'seconds'),
310307
alarmEvaluationPeriod: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
311308
alarmDatapointsToAlarm: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
312309
},
313310
{
314311
name: 'user-sync-wallet-balances-for-all-pools',
315-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(29, 'minutes') : every(9, 'minutes'),
312+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(20, 'seconds'),
313+
alarmEvaluationPeriod: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
314+
alarmDatapointsToAlarm: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
316315
},
317316
{
318317
name: 'user-sync-staked-balances',
319-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(31, 'minutes') : every(11, 'minutes'),
318+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(20, 'seconds'),
319+
alarmEvaluationPeriod: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
320+
alarmDatapointsToAlarm: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
320321
},
321322
{
322323
name: 'sync-coingecko-coinids',
323324
interval: every(2, 'hours'),
324325
},
325-
{
326-
name: 'purge-old-tokenprices',
327-
interval: every(1, 'days'),
328-
alarmEvaluationPeriod: 1,
329-
alarmDatapointsToAlarm: 1,
330-
},
331326
{
332327
name: 'update-fee-volume-yield-all-pools',
333-
interval: every(75, 'minutes'),
328+
interval: every(1, 'hours'),
334329
},
335330
{
336331
name: 'sync-vebal-balances',
337-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(20, 'minutes') : every(14, 'minutes'),
332+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(9, 'minutes') : every(3, 'minutes'),
338333
},
339334
{
340335
name: 'sync-vebal-totalSupply',
341-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(20, 'minutes') : every(16, 'minutes'),
336+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
342337
},
343338
{
344339
name: 'feed-data-to-datastudio',

modules/network/avalanche.ts

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ const avalancheNetworkData: NetworkData = {
5252
platformId: 'avalanche',
5353
excludedTokenAddresses: [],
5454
},
55-
tokenPrices: {
56-
maxHourlyPriceHistoryNumDays: 100,
57-
},
5855
rpcUrl:
5956
env.INFURA_API_KEY && (env.DEPLOYMENT_ENV as DeploymentEnv) === 'main'
6057
? `https://avalanche-mainnet.infura.io/v3/${env.INFURA_API_KEY}`
@@ -260,79 +257,77 @@ export const avalancheNetworkConfig: NetworkConfig = {
260257
},
261258
{
262259
name: 'update-liquidity-for-active-pools',
263-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(8, 'minutes') : every(4, 'minutes'),
260+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(6, 'minutes') : every(2, 'minutes'),
264261
},
265262
{
266263
name: 'update-pool-apr',
267-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(7, 'minutes') : every(5, 'minutes'),
264+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(6, 'minutes') : every(2, 'minutes'),
268265
},
269266
{
270267
name: 'load-on-chain-data-for-pools-with-active-updates',
271-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(9, 'minutes') : every(5, 'minutes'),
268+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(4, 'minutes') : every(1, 'minutes'),
272269
},
273270
{
274271
name: 'sync-new-pools-from-subgraph',
275-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(12, 'minutes') : every(8, 'minutes'),
272+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(6, 'minutes') : every(2, 'minutes'),
276273
},
277274
{
278275
name: 'sync-tokens-from-pool-tokens',
279-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(7, 'minutes'),
276+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
280277
},
281278
{
282279
name: 'update-liquidity-24h-ago-for-all-pools',
283-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(15, 'minutes') : every(8, 'minutes'),
280+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
284281
},
285282
{
286283
name: 'cache-average-block-time',
287284
interval: every(1, 'hours'),
288285
},
289286
{
290287
name: 'sync-staking-for-pools',
291-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(15, 'minutes') : every(10, 'minutes'),
288+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
292289
},
293290
{
294291
name: 'sync-latest-snapshots-for-all-pools',
295292
interval: every(90, 'minutes'),
296293
},
297294
{
298295
name: 'update-lifetime-values-for-all-pools',
299-
interval: every(45, 'minutes'),
296+
interval: every(50, 'minutes'),
300297
},
301298
{
302299
name: 'sync-changed-pools',
303-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(2, 'minutes') : every(1, 'minutes'),
300+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(2, 'minutes') : every(30, 'seconds'),
304301
alarmEvaluationPeriod: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
305302
alarmDatapointsToAlarm: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
306303
},
307304
{
308305
name: 'user-sync-wallet-balances-for-all-pools',
309-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(29, 'minutes') : every(9, 'minutes'),
306+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(20, 'seconds'),
307+
alarmEvaluationPeriod: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
308+
alarmDatapointsToAlarm: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
310309
},
311310
{
312311
name: 'user-sync-staked-balances',
313-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(31, 'minutes') : every(11, 'minutes'),
312+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(20, 'seconds'),
313+
alarmEvaluationPeriod: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
314+
alarmDatapointsToAlarm: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? 3 : 1,
314315
},
315316
{
316317
name: 'sync-coingecko-coinids',
317318
interval: every(2, 'hours'),
318319
},
319-
{
320-
name: 'purge-old-tokenprices',
321-
interval: every(1, 'days'),
322-
alarmEvaluationPeriod: 1,
323-
alarmDatapointsToAlarm: 1,
324-
},
325320
{
326321
name: 'update-fee-volume-yield-all-pools',
327-
interval: every(75, 'minutes'),
322+
interval: every(1, 'hours'),
328323
},
329324
{
330325
name: 'sync-vebal-balances',
331-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(20, 'minutes') : every(14, 'minutes'),
326+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(9, 'minutes') : every(3, 'minutes'),
332327
},
333328
{
334329
name: 'sync-vebal-totalSupply',
335-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(20, 'minutes') : every(16, 'minutes'),
330+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(5, 'minutes'),
336331
},
337332
{
338333
name: 'feed-data-to-datastudio',

modules/network/base.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ const baseNetworkData: NetworkData = {
5151
platformId: 'base',
5252
excludedTokenAddresses: [],
5353
},
54-
tokenPrices: {
55-
maxHourlyPriceHistoryNumDays: 100,
56-
},
5754
rpcUrl: 'https://base.gateway.tenderly.co/7mM7DbBouY1JjnQd9MMDsd',
5855
rpcMaxBlockRange: 500,
5956
protocolToken: 'bal',
@@ -232,12 +229,6 @@ export const baseNetworkConfig: NetworkConfig = {
232229
name: 'sync-coingecko-coinids',
233230
interval: every(2, 'hours'),
234231
},
235-
{
236-
name: 'purge-old-tokenprices',
237-
interval: every(1, 'days'),
238-
alarmEvaluationPeriod: 1,
239-
alarmDatapointsToAlarm: 1,
240-
},
241232
{
242233
name: 'update-fee-volume-yield-all-pools',
243234
interval: every(75, 'minutes'),

modules/network/fantom.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,6 @@ const fantomNetworkData: NetworkData = {
9393
'0xb7c2ddb1ebac1056231ef22c1b0a13988537a274', // new tarot
9494
],
9595
},
96-
tokenPrices: {
97-
maxHourlyPriceHistoryNumDays: 100,
98-
},
9996
rpcUrl:
10097
(env.DEPLOYMENT_ENV as DeploymentEnv) === 'main'
10198
? `https://rpc.ankr.com/fantom`
@@ -438,12 +435,6 @@ export const fantomNetworkConfig: NetworkConfig = {
438435
name: 'sync-latest-relic-snapshots',
439436
interval: every(1, 'hours'),
440437
},
441-
{
442-
name: 'purge-old-tokenprices',
443-
interval: every(1, 'days'),
444-
alarmEvaluationPeriod: 1,
445-
alarmDatapointsToAlarm: 1,
446-
},
447438
{
448439
name: 'sync-coingecko-coinids',
449440
interval: every(2, 'hours'),

modules/network/gnosis.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ const gnosisNetworkData: NetworkData = {
5252
platformId: 'xdai',
5353
excludedTokenAddresses: [],
5454
},
55-
tokenPrices: {
56-
maxHourlyPriceHistoryNumDays: 100,
57-
},
5855
rpcUrl:
5956
(env.DEPLOYMENT_ENV as DeploymentEnv) === 'main' ? `https://rpc.gnosischain.com` : 'https://gnosis.drpc.org',
6057
rpcMaxBlockRange: 2000,
@@ -240,12 +237,6 @@ export const gnosisNetworkConfig: NetworkConfig = {
240237
name: 'sync-coingecko-coinids',
241238
interval: every(2, 'hours'),
242239
},
243-
{
244-
name: 'purge-old-tokenprices',
245-
interval: every(1, 'days'),
246-
alarmEvaluationPeriod: 1,
247-
alarmDatapointsToAlarm: 1,
248-
},
249240
{
250241
name: 'update-fee-volume-yield-all-pools',
251242
interval: every(75, 'minutes'),

modules/network/mainnet.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,10 @@ const data: NetworkData = {
6363
'0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee', // weEth, has coingekco entry but no price
6464
],
6565
},
66-
tokenPrices: {
67-
maxHourlyPriceHistoryNumDays: 100,
68-
},
6966
rpcUrl:
7067
env.INFURA_API_KEY && (env.DEPLOYMENT_ENV as DeploymentEnv) === 'main'
7168
? `https://mainnet.infura.io/v3/${env.INFURA_API_KEY}`
72-
: 'https://eth.llamarpc.com',
69+
: 'https://rpc.eth.gateway.fm',
7370
rpcMaxBlockRange: 700,
7471
protocolToken: 'bal',
7572
bal: {
@@ -468,12 +465,6 @@ export const mainnetNetworkConfig: NetworkConfig = {
468465
name: 'sync-coingecko-coinids',
469466
interval: every(2, 'hours'),
470467
},
471-
{
472-
name: 'purge-old-tokenprices',
473-
interval: every(1, 'days'),
474-
alarmEvaluationPeriod: 1,
475-
alarmDatapointsToAlarm: 1,
476-
},
477468
{
478469
name: 'update-fee-volume-yield-all-pools',
479470
interval: every(75, 'minutes'),
@@ -490,11 +481,6 @@ export const mainnetNetworkConfig: NetworkConfig = {
490481
name: 'sync-vebal-voting-gauges',
491482
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(20, 'minutes') : every(5, 'minutes'),
492483
},
493-
// The following are multichain jobs and should only run once for all chains.
494-
{
495-
name: 'sync-global-coingecko-prices',
496-
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(2, 'minutes'),
497-
},
498484
{
499485
name: 'feed-data-to-datastudio',
500486
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(5, 'minutes') : every(5, 'minutes'),
@@ -503,5 +489,16 @@ export const mainnetNetworkConfig: NetworkConfig = {
503489
name: 'sync-latest-fx-prices',
504490
interval: every(10, 'minutes'),
505491
},
492+
// The following are multichain jobs and should only run once for all chains.
493+
{
494+
name: 'sync-global-coingecko-prices',
495+
interval: (env.DEPLOYMENT_ENV as DeploymentEnv) === 'canary' ? every(10, 'minutes') : every(2, 'minutes'),
496+
},
497+
{
498+
name: 'global-purge-old-tokenprices',
499+
interval: every(1, 'days'),
500+
alarmEvaluationPeriod: 1,
501+
alarmDatapointsToAlarm: 1,
502+
},
506503
],
507504
};

modules/network/network-config-types.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ export interface NetworkData {
6262
platformId: string;
6363
excludedTokenAddresses: string[];
6464
};
65-
tokenPrices: {
66-
maxHourlyPriceHistoryNumDays: number;
67-
};
6865
subgraphs: {
6966
startDate: string;
7067
balancer: string;

0 commit comments

Comments
 (0)