From 7570f807be041ea2f46d371fe5c5a22b648d80c5 Mon Sep 17 00:00:00 2001 From: Mo Hussan <22501692+Mo-Hussain@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:55:44 +0000 Subject: [PATCH] refactor file locations --- typescript/infra/scripts/agent-utils.ts | 5 ++--- .../funding/calculate-relayer-daily-burn.ts | 10 ++++------ .../scripts/funding/read-alert-thresholds.ts | 11 +++++------ .../funding/update-balance-threshold-config.ts | 17 ++++++++--------- typescript/infra/scripts/funding/write-alert.ts | 14 ++++++++------ .../config/funding}/alert-query-templates.ts | 0 .../config/funding/balances.ts} | 2 ++ .../config/funding}/grafanaAlerts.ts | 6 ++++-- .../funding/utils => src/funding}/grafana.ts | 9 +++------ 9 files changed, 36 insertions(+), 38 deletions(-) rename typescript/infra/{scripts/funding/utils => src/config/funding}/alert-query-templates.ts (100%) rename typescript/infra/{scripts/funding/utils/constants.ts => src/config/funding/balances.ts} (95%) rename typescript/infra/{config => src/config/funding}/grafanaAlerts.ts (96%) rename typescript/infra/{scripts/funding/utils => src/funding}/grafana.ts (95%) diff --git a/typescript/infra/scripts/agent-utils.ts b/typescript/infra/scripts/agent-utils.ts index 366c22dc6d..5e0614591f 100644 --- a/typescript/infra/scripts/agent-utils.ts +++ b/typescript/infra/scripts/agent-utils.ts @@ -26,7 +26,6 @@ import { Contexts } from '../config/contexts.js'; import { agents } from '../config/environments/agents.js'; import { WarpRouteIds } from '../config/environments/mainnet3/warp/warpIds.js'; import { validatorBaseConfigsFn } from '../config/environments/utils.js'; -import { AlertType } from '../config/grafanaAlerts.js'; import { getChain, getChainAddresses, @@ -44,6 +43,8 @@ import { EnvironmentConfig, assertEnvironment, } from '../src/config/environment.js'; +import { BalanceThresholdType } from '../src/config/funding/balances.js'; +import { AlertType } from '../src/config/funding/grafanaAlerts.js'; import { Role } from '../src/roles.js'; import { assertContext, @@ -55,8 +56,6 @@ import { writeMergedJSONAtPath, } from '../src/utils/utils.js'; -import { BalanceThresholdType } from './funding/utils/constants.js'; - const debugLog = rootLogger.child({ module: 'infra:scripts:utils' }).debug; export enum Modules { diff --git a/typescript/infra/scripts/funding/calculate-relayer-daily-burn.ts b/typescript/infra/scripts/funding/calculate-relayer-daily-burn.ts index 12ea408be3..40c93e05ad 100644 --- a/typescript/infra/scripts/funding/calculate-relayer-daily-burn.ts +++ b/typescript/infra/scripts/funding/calculate-relayer-daily-burn.ts @@ -6,12 +6,11 @@ import { rootLogger } from '@hyperlane-xyz/utils'; import rawDailyRelayerBurn from '../../config/environments/mainnet3/balances/dailyRelayerBurn.json'; import { mainnet3SupportedChainNames } from '../../config/environments/mainnet3/supportedChainNames.js'; import rawTokenPrices from '../../config/environments/mainnet3/tokenPrices.json'; +import { RELAYER_MIN_DOLLAR_BALANCE_PER_DAY } from '../../src/config/funding/balances.js'; +import { formatDailyRelayerBurn } from '../../src/funding/grafana.js'; import { fetchLatestGCPSecret } from '../../src/utils/gcloud.js'; import { writeJsonAtPath } from '../../src/utils/utils.js'; -import { RELAYER_MIN_DOLLAR_BALANCE_PER_DAY } from './utils/constants.js'; -import { formatDailyRelayerBurn } from './utils/grafana.js'; - const tokenPrices: ChainMap = rawTokenPrices; const currentDailyRelayerBurn: ChainMap = rawDailyRelayerBurn; @@ -31,9 +30,8 @@ async function main() { `Token prices missing for chains: ${chainsMissingInTokenPrices.join( ', ', )} consider adding them to tokenPrices.json and running the script again.`, - - process.exit(1), ); + process.exit(1); } const sql = await getReadOnlyScraperDb(); @@ -84,7 +82,7 @@ async function fetchDailyRelayerBurnData(sql: Sql) { WHERE mv.send_occurred_at >= CURRENT_TIMESTAMP - (INTERVAL '1 day' * ${LOOK_BACK_DAYS}) AND dest_domain.is_test_net IS FALSE - AND mv.destination_domain_id not in (1408864445, 1399811149) -- ignore sealevel chains as scrapper does not capture all costs + AND mv.destination_domain_id not in (1408864445, 1399811149) -- ignore sealevel chains as scraper does not capture all costs AND mv.is_delivered IS TRUE GROUP BY dest_domain.name diff --git a/typescript/infra/scripts/funding/read-alert-thresholds.ts b/typescript/infra/scripts/funding/read-alert-thresholds.ts index b357cc2340..25d6ebe8fc 100644 --- a/typescript/infra/scripts/funding/read-alert-thresholds.ts +++ b/typescript/infra/scripts/funding/read-alert-thresholds.ts @@ -2,15 +2,14 @@ import yargs from 'yargs'; import { rootLogger } from '@hyperlane-xyz/utils'; -import { alertConfigMapping } from '../../config/grafanaAlerts.js'; -import { writeJsonAtPath } from '../../src/utils/utils.js'; -import { withAlertTypeRequired, withWrite } from '../agent-utils.js'; - +import { THRESHOLD_CONFIG_PATH } from '../../src/config/funding/balances.js'; +import { alertConfigMapping } from '../../src/config/funding/grafanaAlerts.js'; import { - THRESHOLD_CONFIG_PATH, getAlertThresholds, sortThresholds, -} from './utils/grafana.js'; +} from '../../src/funding/grafana.js'; +import { writeJsonAtPath } from '../../src/utils/utils.js'; +import { withAlertTypeRequired, withWrite } from '../agent-utils.js'; async function main() { const { alertType, write } = await withWrite( diff --git a/typescript/infra/scripts/funding/update-balance-threshold-config.ts b/typescript/infra/scripts/funding/update-balance-threshold-config.ts index f4da6ef0b1..cbc0e20239 100644 --- a/typescript/infra/scripts/funding/update-balance-threshold-config.ts +++ b/typescript/infra/scripts/funding/update-balance-threshold-config.ts @@ -5,21 +5,20 @@ import { ChainMap } from '@hyperlane-xyz/sdk'; import { rootLogger } from '@hyperlane-xyz/utils'; import rawDailyBurn from '../../config/environments/mainnet3/balances/dailyRelayerBurn.json'; -import { readJSONAtPath, writeJsonAtPath } from '../../src/utils/utils.js'; -import { - withBalanceThresholdConfig, - withConfirmAllChoices, -} from '../agent-utils.js'; - import { BalanceThresholdType, + THRESHOLD_CONFIG_PATH, balanceThresholdConfigMapping, -} from './utils/constants.js'; +} from '../../src/config/funding/balances.js'; import { - THRESHOLD_CONFIG_PATH, formatDailyRelayerBurn, sortThresholds, -} from './utils/grafana.js'; +} from '../../src/funding/grafana.js'; +import { readJSONAtPath, writeJsonAtPath } from '../../src/utils/utils.js'; +import { + withBalanceThresholdConfig, + withConfirmAllChoices, +} from '../agent-utils.js'; const dailyBurn: ChainMap = rawDailyBurn; diff --git a/typescript/infra/scripts/funding/write-alert.ts b/typescript/infra/scripts/funding/write-alert.ts index 61cd443a86..5245fd63fa 100644 --- a/typescript/infra/scripts/funding/write-alert.ts +++ b/typescript/infra/scripts/funding/write-alert.ts @@ -4,17 +4,19 @@ import yargs from 'yargs'; import { ChainMap } from '@hyperlane-xyz/sdk'; import { rootLogger } from '@hyperlane-xyz/utils'; -import { AlertType, alertConfigMapping } from '../../config/grafanaAlerts.js'; -import { readJSONAtPath } from '../../src/utils/utils.js'; -import { withAlertType, withConfirmAllChoices } from '../agent-utils.js'; - +import { THRESHOLD_CONFIG_PATH } from '../../src/config/funding/balances.js'; +import { + AlertType, + alertConfigMapping, +} from '../../src/config/funding/grafanaAlerts.js'; import { - THRESHOLD_CONFIG_PATH, fetchGrafanaAlert, fetchServiceAccountToken, generateQuery, updateGrafanaAlert, -} from './utils/grafana.js'; +} from '../../src/funding/grafana.js'; +import { readJSONAtPath } from '../../src/utils/utils.js'; +import { withAlertType, withConfirmAllChoices } from '../agent-utils.js'; async function main() { const { alertType, all } = await withConfirmAllChoices( diff --git a/typescript/infra/scripts/funding/utils/alert-query-templates.ts b/typescript/infra/src/config/funding/alert-query-templates.ts similarity index 100% rename from typescript/infra/scripts/funding/utils/alert-query-templates.ts rename to typescript/infra/src/config/funding/alert-query-templates.ts diff --git a/typescript/infra/scripts/funding/utils/constants.ts b/typescript/infra/src/config/funding/balances.ts similarity index 95% rename from typescript/infra/scripts/funding/utils/constants.ts rename to typescript/infra/src/config/funding/balances.ts index 4d536eb887..ee0dcda0e7 100644 --- a/typescript/infra/scripts/funding/utils/constants.ts +++ b/typescript/infra/src/config/funding/balances.ts @@ -11,6 +11,8 @@ interface BalanceThresholdConfig { choiceLabel: string; } +export const THRESHOLD_CONFIG_PATH = './config/environments/mainnet3/balances'; + const RELAYER_BALANCE_TARGET_DAYS = 8; const RELAYER_MIN_DOLLAR_BALANCE_TARGET = 25; export const RELAYER_MIN_DOLLAR_BALANCE_PER_DAY = diff --git a/typescript/infra/config/grafanaAlerts.ts b/typescript/infra/src/config/funding/grafanaAlerts.ts similarity index 96% rename from typescript/infra/config/grafanaAlerts.ts rename to typescript/infra/src/config/funding/grafanaAlerts.ts index c6c2ae7009..aee95273e6 100644 --- a/typescript/infra/config/grafanaAlerts.ts +++ b/typescript/infra/src/config/funding/grafanaAlerts.ts @@ -3,11 +3,13 @@ import { HIGH_URGENCY_RELAYER_HEADER, LOW_URGENCY_KEY_FUNDER_FOOTER, LOW_URGENCY_KEY_FUNDER_HEADER, -} from '../scripts/funding/utils/alert-query-templates.js'; +} from './alert-query-templates.js'; import { BalanceThresholdType, balanceThresholdConfigMapping, -} from '../scripts/funding/utils/constants.js'; +} from './balances.js'; + +export const GRAFANA_URL = 'https://abacusworks.grafana.net'; export enum AlertType { LowUrgencyKeyFunderBalance = 'lowUrgencyKeyFunderBalance', diff --git a/typescript/infra/scripts/funding/utils/grafana.ts b/typescript/infra/src/funding/grafana.ts similarity index 95% rename from typescript/infra/scripts/funding/utils/grafana.ts rename to typescript/infra/src/funding/grafana.ts index 23f69e01db..2f1763396f 100644 --- a/typescript/infra/scripts/funding/utils/grafana.ts +++ b/typescript/infra/src/funding/grafana.ts @@ -3,16 +3,13 @@ import { rootLogger } from '@hyperlane-xyz/utils'; import { AlertType, + GRAFANA_URL, ProvisionedAlertRule, WalletName, alertConfigMapping, walletNameQueryFormat, -} from '../../../config/grafanaAlerts.js'; -import { fetchGCPSecret } from '../../../src/utils/gcloud.js'; - -export const GRAFANA_URL = 'https://abacusworks.grafana.net'; - -export const THRESHOLD_CONFIG_PATH = './config/environments/mainnet3/balances'; +} from '../config/funding/grafanaAlerts.js'; +import { fetchGCPSecret } from '../utils/gcloud.js'; export const logger = rootLogger.child({ module: 'grafana' });