diff --git a/libs/typescript/cosmos-utils/cosmos-utils.ts b/libs/typescript/cosmos-utils/cosmos-utils.ts index 6dc688d7d..c9ce68178 100644 --- a/libs/typescript/cosmos-utils/cosmos-utils.ts +++ b/libs/typescript/cosmos-utils/cosmos-utils.ts @@ -1,7 +1,7 @@ import { SigningCosmWasmClient } from '@cosmjs/cosmwasm-stargate'; import { DirectSecp256k1HdWallet } from '@cosmjs/proto-signing'; import { GasPrice } from '@cosmjs/stargate'; -import { getRootDir } from '../ts-utils/common-utils'; +import { getRootDir } from '@/ts-utils/common-utils'; export async function getCosmosContractArtifacts(contract: string) { const rootDir = await getRootDir(); diff --git a/libs/typescript/ts-utils/hex-utils.ts b/libs/typescript/ts-utils/hex-utils.ts index e4c1650f7..d61362a8f 100644 --- a/libs/typescript/ts-utils/hex-utils.ts +++ b/libs/typescript/ts-utils/hex-utils.ts @@ -1,4 +1,4 @@ -import { formatHex } from './bls'; +import { formatHex } from '@/ts-utils/bls'; export function arrayToHex(arr: Uint8Array): string { return '0x' + Buffer.from(arr).toString('hex'); diff --git a/libs/typescript/ts-utils/prometheus-utils.ts b/libs/typescript/ts-utils/prometheus-utils.ts index 158414080..d177f44e6 100644 --- a/libs/typescript/ts-utils/prometheus-utils.ts +++ b/libs/typescript/ts-utils/prometheus-utils.ts @@ -1,5 +1,5 @@ 'use strict'; -import { getGenericLogger } from './logger'; +import { getGenericLogger } from '@/ts-utils/logger'; import client, { Histogram, Summary } from 'prom-client'; import express from 'express'; diff --git a/libs/typescript/ts-utils/ssz-utils.ts b/libs/typescript/ts-utils/ssz-utils.ts index 60ae4b611..1809505a9 100644 --- a/libs/typescript/ts-utils/ssz-utils.ts +++ b/libs/typescript/ts-utils/ssz-utils.ts @@ -4,7 +4,7 @@ import { sha256 } from 'ethers/lib/utils'; import { Type } from '@chainsafe/ssz'; -import { formatHex, hexToBytes } from './bls'; +import { formatHex, hexToBytes } from '@/ts-utils/bls'; import type { ssz } from '@lodestar/types'; diff --git a/libs/typescript/tsconfig.json b/libs/typescript/tsconfig.json new file mode 100644 index 000000000..0c1da4aca --- /dev/null +++ b/libs/typescript/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./*"] + } + } +} diff --git a/libs/typescript/verify-utils/verify-given-proof-ffjavascript.ts b/libs/typescript/verify-utils/verify-given-proof-ffjavascript.ts index 2552f4e3a..136b07a5d 100644 --- a/libs/typescript/verify-utils/verify-given-proof-ffjavascript.ts +++ b/libs/typescript/verify-utils/verify-given-proof-ffjavascript.ts @@ -1,6 +1,6 @@ import { concat } from 'ethers/lib/utils'; import { Scalar, buildBn128 } from 'ffjavascript'; -import { unstringifyBigInts, bitTo2BigInts } from '../ts-utils/common-utils'; +import { unstringifyBigInts, bitTo2BigInts } from '@/ts-utils/common-utils'; import * as fs from 'fs'; async function getCurveFromName(name) { diff --git a/relay/abstraction/beacon-api-interface.ts b/relay/abstraction/beacon-api-interface.ts index c0b44f3e1..5e717e084 100644 --- a/relay/abstraction/beacon-api-interface.ts +++ b/relay/abstraction/beacon-api-interface.ts @@ -3,7 +3,7 @@ import { ExecutionPayloadHeader, SyncAggregate, SyncCommittee, -} from '../types/types'; +} from '@/types/types'; export interface IBeaconApi { getBeaconRestApis(): string[]; diff --git a/relay/abstraction/prover-interface.ts b/relay/abstraction/prover-interface.ts index f729bc840..063b119bc 100644 --- a/relay/abstraction/prover-interface.ts +++ b/relay/abstraction/prover-interface.ts @@ -1,4 +1,4 @@ -import { Proof, ProofInputType } from '../types/types'; +import { Proof, ProofInputType } from '@/types/types'; export interface IProver { genProof(proofInput: ProofInputType): Promise; diff --git a/relay/abstraction/redis-interface.ts b/relay/abstraction/redis-interface.ts index bc7b0861b..47b839a98 100644 --- a/relay/abstraction/redis-interface.ts +++ b/relay/abstraction/redis-interface.ts @@ -1,4 +1,4 @@ -import { ProofResultType, WitnessGeneratorInput } from '../types/types'; +import { ProofResultType, WitnessGeneratorInput } from '@/types/types'; export interface IRedis { getNextProof(slot: number): Promise; diff --git a/relay/implementations/beacon-api.ts b/relay/implementations/beacon-api.ts index 7c72e0158..b9e3186a6 100644 --- a/relay/implementations/beacon-api.ts +++ b/relay/implementations/beacon-api.ts @@ -1,13 +1,13 @@ import { UintNumberType, ByteVectorType } from '@chainsafe/ssz'; import { ValueOfFields } from '@chainsafe/ssz/lib/view/container'; -import { IBeaconApi } from '../abstraction/beacon-api-interface'; +import { IBeaconApi } from '@/abstraction/beacon-api-interface'; import { BeaconBlockHeader, ExecutionPayloadHeader, SyncAggregate, SyncCommittee, Validator, -} from '../types/types'; +} from '@/types/types'; import { Tree } from '@chainsafe/persistent-merkle-tree'; import { bytesToHex } from '@dendreth/utils/ts-utils/bls'; import { diff --git a/relay/implementations/cosmos-contract.ts b/relay/implementations/cosmos-contract.ts index 821fba363..e25b5af1c 100644 --- a/relay/implementations/cosmos-contract.ts +++ b/relay/implementations/cosmos-contract.ts @@ -1,4 +1,4 @@ -import { ISmartContract } from '../abstraction/smart-contract-abstraction'; +import { ISmartContract } from '@/abstraction/smart-contract-abstraction'; import { SigningCosmWasmClient } from '@cosmjs/cosmwasm-stargate'; import { DirectSecp256k1HdWallet } from '@cosmjs/proto-signing'; import { promisify } from 'node:util'; diff --git a/relay/implementations/eos-contract.ts b/relay/implementations/eos-contract.ts index 68355071a..5992a2b01 100644 --- a/relay/implementations/eos-contract.ts +++ b/relay/implementations/eos-contract.ts @@ -1,4 +1,4 @@ -import { ISmartContract } from '../abstraction/smart-contract-abstraction'; +import { ISmartContract } from '@/abstraction/smart-contract-abstraction'; import { promisify } from 'node:util'; import { exec as exec_ } from 'node:child_process'; import { compileVerifierParseDataTool } from '../../tests/helpers/helpers'; diff --git a/relay/implementations/prover.ts b/relay/implementations/prover.ts index b6452d278..1d804d96d 100644 --- a/relay/implementations/prover.ts +++ b/relay/implementations/prover.ts @@ -1,5 +1,5 @@ -import { IProver } from '../abstraction/prover-interface'; -import { ProofInputType, Proof, WitnessGeneratorInput } from '../types/types'; +import { IProver } from '@/abstraction/prover-interface'; +import { ProofInputType, Proof, WitnessGeneratorInput } from '@/types/types'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; const logger = getGenericLogger(); diff --git a/relay/implementations/redis.ts b/relay/implementations/redis.ts index 42b122014..d29ea8374 100644 --- a/relay/implementations/redis.ts +++ b/relay/implementations/redis.ts @@ -1,4 +1,4 @@ -import { IRedis } from '../abstraction/redis-interface'; +import { IRedis } from '@/abstraction/redis-interface'; import { BalanceProof, ProofResultType, @@ -7,7 +7,7 @@ import { BlsDepositData, BalancesAccumulatorInput, CommitmentMapperInput, -} from '../types/types'; +} from '@/types/types'; import { RedisClientType, createClient } from 'redis'; import CONSTANTS from '../../beacon-light-client/plonky2/kv_db_constants.json'; // @@ -17,7 +17,7 @@ import { getDepthByGindex, splitIntoBatches, } from '@dendreth/utils/ts-utils/common-utils'; -import { validatorFromValidatorJSON } from '../utils/converters'; +import { validatorFromValidatorJSON } from '@dendreth/relay/utils/converters'; import JSONbig from 'json-bigint'; declare module 'ioredis' { diff --git a/relay/implementations/solidity-contract.ts b/relay/implementations/solidity-contract.ts index a8e96921c..8a976540e 100644 --- a/relay/implementations/solidity-contract.ts +++ b/relay/implementations/solidity-contract.ts @@ -1,11 +1,11 @@ import { Contract } from 'ethers'; -import { ISmartContract } from '../abstraction/smart-contract-abstraction'; +import { ISmartContract } from '@/abstraction/smart-contract-abstraction'; import Web3 from 'web3'; import { TransactionSpeed, getSolidityProof, publishTransaction, -} from './publish_evm_transaction'; +} from '@/implementations/publish_evm_transaction'; export class SolidityContract implements ISmartContract { private lightClientContract: Contract; diff --git a/relay/on_chain_publisher.ts b/relay/on_chain_publisher.ts index 81a41309d..4a2a46d35 100644 --- a/relay/on_chain_publisher.ts +++ b/relay/on_chain_publisher.ts @@ -1,19 +1,19 @@ -import { GetUpdate, ProofResultType } from './types/types'; -import { IBeaconApi } from './abstraction/beacon-api-interface'; -import { IRedis } from './abstraction/redis-interface'; -import { ISmartContract } from './abstraction/smart-contract-abstraction'; +import { GetUpdate, ProofResultType } from '@/types/types'; +import { IBeaconApi } from '@/abstraction/beacon-api-interface'; +import { IRedis } from '@/abstraction/redis-interface'; +import { ISmartContract } from '@/abstraction/smart-contract-abstraction'; import { Contract } from 'ethers'; import { TransactionSpeed, getSolidityProof, publishTransaction, -} from './implementations/publish_evm_transaction'; +} from '@/implementations/publish_evm_transaction'; import Web3 from 'web3'; import { checkConfig, sleep } from '@dendreth/utils/ts-utils/common-utils'; import { Queue } from 'bullmq'; -import { Config, UPDATE_POLING_QUEUE } from './constants/constants'; -import { getSlotOnChain } from './utils/smart_contract_utils'; -import { addUpdate } from './utils/orchestrator'; +import { Config, UPDATE_POLING_QUEUE } from '@/constants/constants'; +import { getSlotOnChain } from '@/utils/smart_contract_utils'; +import { addUpdate } from '@/utils/orchestrator'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; const logger = getGenericLogger(); diff --git a/relay/relayer_logger.ts b/relay/relayer_logger.ts index c7461c820..4efaada3e 100644 --- a/relay/relayer_logger.ts +++ b/relay/relayer_logger.ts @@ -3,7 +3,7 @@ import { checkConfig } from '@dendreth/utils/ts-utils/common-utils'; import { PROOF_GENERATOR_QUEUE, UPDATE_POLING_QUEUE, -} from './constants/constants'; +} from '@/constants/constants'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; const logger = getGenericLogger(); diff --git a/relay/save_proof_inputs_from_redis.ts b/relay/save_proof_inputs_from_redis.ts index 75aeefe74..ee6353bd5 100644 --- a/relay/save_proof_inputs_from_redis.ts +++ b/relay/save_proof_inputs_from_redis.ts @@ -1,5 +1,5 @@ import { writeFile, writeFileSync } from 'fs'; -import { Redis } from './implementations/redis'; +import { Redis } from '@/implementations/redis'; (async () => { const redis = new Redis('localhost', 6379); diff --git a/relay/tsconfig.json b/relay/tsconfig.json index 3c43903cf..0c1da4aca 100644 --- a/relay/tsconfig.json +++ b/relay/tsconfig.json @@ -1,3 +1,9 @@ { - "extends": "../tsconfig.json" + "extends": "../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./*"] + } + } } diff --git a/relay/types/types.ts b/relay/types/types.ts index 995602bc0..5f1510e86 100644 --- a/relay/types/types.ts +++ b/relay/types/types.ts @@ -5,7 +5,7 @@ import { UintBigintType, } from '@chainsafe/ssz'; import { ValueOfFields } from '@chainsafe/ssz/lib/view/container'; -import { Config } from '../constants/constants'; +import { Config } from '@/constants/constants'; export type BeaconBlockHeader = ValueOfFields<{ slot: UintNumberType; diff --git a/relay/utils/converters.ts b/relay/utils/converters.ts index 58d9dc061..ae97d23ef 100644 --- a/relay/utils/converters.ts +++ b/relay/utils/converters.ts @@ -1,5 +1,5 @@ import { hexToBytes } from '@dendreth/utils/ts-utils/bls'; -import { Validator } from '../types/types'; +import { Validator } from '@/types/types'; function stringToNumber(str: string): number { return str == BigInt(2n ** 64n - 1n).toString() ? Infinity : Number(str); diff --git a/relay/utils/discord_monitor.ts b/relay/utils/discord_monitor.ts index ab14f81e8..ddc3a94a7 100644 --- a/relay/utils/discord_monitor.ts +++ b/relay/utils/discord_monitor.ts @@ -1,8 +1,5 @@ -import { SolidityContract } from '@dendreth/relay/implementations/solidity-contract'; -import { - getBeaconApi, - BeaconApi, -} from '@dendreth/relay/implementations/beacon-api'; +import { SolidityContract } from '@/implementations/solidity-contract'; +import { getBeaconApi, BeaconApi } from '@/implementations/beacon-api'; import { ethers } from 'ethers'; import { sleep } from '@dendreth/utils/ts-utils/common-utils'; import { GatewayIntentBits, Events, Partials } from 'discord.js'; diff --git a/relay/utils/get_current_network_config.ts b/relay/utils/get_current_network_config.ts index c4047c6f1..25d83d19f 100644 --- a/relay/utils/get_current_network_config.ts +++ b/relay/utils/get_current_network_config.ts @@ -1,6 +1,6 @@ import { checkConfig } from '@dendreth/utils/ts-utils/common-utils'; -import { Config } from '../constants/constants'; -import * as network_config from '../constants/network_config.json'; +import { Config } from '@/constants/constants'; +import * as network_config from '@/constants/network_config.json'; export function getNetworkConfig(network: 'pratter' | 'mainnet'): Config { const config = { diff --git a/relay/utils/orchestrator.ts b/relay/utils/orchestrator.ts index 951d732d3..391b69b2e 100644 --- a/relay/utils/orchestrator.ts +++ b/relay/utils/orchestrator.ts @@ -1,11 +1,11 @@ import { Queue } from 'bullmq'; -import { GetUpdate } from '../types/types'; -import { Config } from '../constants/constants'; +import { GetUpdate } from '@dendreth/relay/types/types'; +import { Config } from '@/constants/constants'; import { SLOTS_PER_PERIOD, computeSyncCommitteePeriodAt, } from '@dendreth/utils/ts-utils/ssz-utils'; -import { IBeaconApi } from '../abstraction/beacon-api-interface'; +import { IBeaconApi } from '@dendreth/relay/abstraction/beacon-api-interface'; import { findClosestValidBlock } from '../workers/poll-updates/get_light_client_input_from_to'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; diff --git a/relay/utils/smart_contract_utils.ts b/relay/utils/smart_contract_utils.ts index 1ba05156e..960de6c54 100644 --- a/relay/utils/smart_contract_utils.ts +++ b/relay/utils/smart_contract_utils.ts @@ -1,5 +1,5 @@ -import { IBeaconApi } from '../abstraction/beacon-api-interface'; -import { ISmartContract } from '../abstraction/smart-contract-abstraction'; +import { IBeaconApi } from '@/abstraction/beacon-api-interface'; +import { ISmartContract } from '@/abstraction/smart-contract-abstraction'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; const logger = getGenericLogger(); diff --git a/relay/workers/cleaner.ts b/relay/workers/cleaner.ts index 8b04cec48..8bcfe4a5c 100644 --- a/relay/workers/cleaner.ts +++ b/relay/workers/cleaner.ts @@ -1,8 +1,8 @@ import { Queue } from 'bullmq'; import { checkConfig, sleep } from '@dendreth/utils/ts-utils/common-utils'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; -import { GetUpdate } from '../types/types'; -import { UPDATE_POLING_QUEUE } from '../constants/constants'; +import { GetUpdate } from '@/types/types'; +import { UPDATE_POLING_QUEUE } from '@/constants/constants'; const logger = getGenericLogger(); diff --git a/relay/workers/poll-updates/do_update.ts b/relay/workers/poll-updates/do_update.ts index 6fd3aab97..af7702acb 100644 --- a/relay/workers/poll-updates/do_update.ts +++ b/relay/workers/poll-updates/do_update.ts @@ -1,8 +1,8 @@ import { Queue } from 'bullmq'; -import { IBeaconApi } from '../../abstraction/beacon-api-interface'; -import { getInputFromTo } from './get_light_client_input_from_to'; -import { ProofInputType } from '../../types/types'; -import { Config } from '../../constants/constants'; +import { IBeaconApi } from '@/abstraction/beacon-api-interface'; +import { getInputFromTo } from '@/workers/poll-updates/get_light_client_input_from_to'; +import { ProofInputType } from '@/types/types'; +import { Config } from '@/constants/constants'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; const logger = getGenericLogger(); diff --git a/relay/workers/poll-updates/get_light_client_input_from_to.ts b/relay/workers/poll-updates/get_light_client_input_from_to.ts index 5c735c31d..eaa84638b 100644 --- a/relay/workers/poll-updates/get_light_client_input_from_to.ts +++ b/relay/workers/poll-updates/get_light_client_input_from_to.ts @@ -1,7 +1,7 @@ -import { Config } from '../../constants/constants'; -import { getProofInput } from './get_ligth_client_input'; -import { IBeaconApi } from '../../abstraction/beacon-api-interface'; -import { BeaconBlockHeader, SyncAggregate } from '../../types/types'; +import { Config } from '@/constants/constants'; +import { getProofInput } from '@/workers/poll-updates/get_ligth_client_input'; +import { IBeaconApi } from '@/abstraction/beacon-api-interface'; +import { BeaconBlockHeader, SyncAggregate } from '@/types/types'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; import { prometheusTiming } from '@dendreth/utils/ts-utils/prometheus-utils'; diff --git a/relay/workers/poll-updates/get_ligth_client_input.ts b/relay/workers/poll-updates/get_ligth_client_input.ts index 877ddb043..22e79082b 100644 --- a/relay/workers/poll-updates/get_ligth_client_input.ts +++ b/relay/workers/poll-updates/get_ligth_client_input.ts @@ -14,14 +14,14 @@ import { formatHex, } from '@dendreth/utils/ts-utils/bls'; import { Tree } from '@chainsafe/persistent-merkle-tree'; -import { Config } from '../../constants/constants'; +import { Config } from '@/constants/constants'; import { BeaconBlockHeader, ExecutionPayloadHeader, SyncAggregate, SyncCommittee, WitnessGeneratorInput, -} from '../../types/types'; +} from '@/types/types'; import { computeSyncCommitteePeriodAt } from '@dendreth/utils/ts-utils/ssz-utils'; const ExecutionPayload = new ContainerType({ diff --git a/relay/workers/poll-updates/poll-updates-worker.ts b/relay/workers/poll-updates/poll-updates-worker.ts index 39637977b..099ef2118 100644 --- a/relay/workers/poll-updates/poll-updates-worker.ts +++ b/relay/workers/poll-updates/poll-updates-worker.ts @@ -1,12 +1,12 @@ import { Worker, Queue } from 'bullmq'; import { exec as _exec } from 'child_process'; -import { GetUpdate, ProofInputType } from '../../types/types'; +import { GetUpdate, ProofInputType } from '@/types/types'; import { PROOF_GENERATOR_QUEUE, UPDATE_POLING_QUEUE, -} from '../../constants/constants'; -import doUpdate from './do_update'; -import { getBeaconApi } from '@dendreth/relay/implementations/beacon-api'; +} from '@/constants/constants'; +import doUpdate from '@/workers/poll-updates/do_update'; +import { getBeaconApi } from '@/implementations/beacon-api'; import { checkConfig } from '@dendreth/utils/ts-utils/common-utils'; import { getGenericLogger } from '@dendreth/utils/ts-utils/logger'; import { initPrometheusSetup } from '@dendreth/utils/ts-utils/prometheus-utils'; diff --git a/relay/workers/prover/gen_proof.ts b/relay/workers/prover/gen_proof.ts index a08e6a8b8..28e177486 100644 --- a/relay/workers/prover/gen_proof.ts +++ b/relay/workers/prover/gen_proof.ts @@ -1,6 +1,6 @@ -import { IProver } from '../../abstraction/prover-interface'; -import { IRedis } from '../../abstraction/redis-interface'; -import { ProofInputType } from '../../types/types'; +import { IProver } from '@/abstraction/prover-interface'; +import { IRedis } from '@/abstraction/redis-interface'; +import { ProofInputType } from '@/types/types'; export default async function genProof( redis: IRedis, diff --git a/relay/workers/prover/prover-worker.ts b/relay/workers/prover/prover-worker.ts index 8ee27a93a..01f5c96b2 100644 --- a/relay/workers/prover/prover-worker.ts +++ b/relay/workers/prover/prover-worker.ts @@ -1,10 +1,10 @@ import { Worker } from 'bullmq'; import { exec as _exec } from 'child_process'; -import { ProofInputType } from '../../types/types'; -import genProof from './gen_proof'; -import { Redis } from '@dendreth/relay/implementations/redis'; -import { Prover } from '@dendreth/relay/implementations/prover'; -import { PROOF_GENERATOR_QUEUE } from '../../constants/constants'; +import { ProofInputType } from '@/types/types'; +import genProof from '@/workers/prover/gen_proof'; +import { Redis } from '@/implementations/redis'; +import { Prover } from '@/implementations/prover'; +import { PROOF_GENERATOR_QUEUE } from '@/constants/constants'; import { checkConfig } from '@dendreth/utils/ts-utils/common-utils'; import yargs from 'yargs';