From b649c4fc8dbbbbf3aefaea37ed86ae08f108dbb0 Mon Sep 17 00:00:00 2001 From: Eddort Date: Mon, 23 Dec 2024 08:17:44 +0100 Subject: [PATCH 01/12] feat: connect to devnet --- docker-compose.devnet.yml | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docker-compose.devnet.yml diff --git a/docker-compose.devnet.yml b/docker-compose.devnet.yml new file mode 100644 index 00000000..95c50a8c --- /dev/null +++ b/docker-compose.devnet.yml @@ -0,0 +1,51 @@ +version: '3.9' + +networks: + devnet: + name: ${DOCKER_NETWORK_NAME} + external: true + +services: + db: + image: postgres:16-alpine + restart: unless-stopped + environment: + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} + - POSTGRES_PASSWORD=${DB_PASSWORD} + volumes: + - ./.volumes/pgdata-${CHAIN_ID}/:/var/lib/postgresql/data + + keys_api: + build: ./ + platform: linux/amd64 + restart: always + networks: + - devnet + environment: + - NODE_ENV=production + - PORT=${PORT} + - CORS_WHITELIST_REGEXP=${CORS_WHITELIST_REGEXP} + - GLOBAL_THROTTLE_TTL=${GLOBAL_THROTTLE_TTL} + - GLOBAL_THROTTLE_LIMIT=${GLOBAL_THROTTLE_LIMIT} + - GLOBAL_CACHE_TTL=${GLOBAL_CACHE_TTL} + - LOG_LEVEL=${LOG_LEVEL} + - LOG_FORMAT=${LOG_FORMAT} + - PROVIDERS_URLS=${PROVIDERS_URLS} + - CL_API_URLS=${CL_API_URLS} + - CHAIN_ID=${CHAIN_ID} + - DB_NAME=${DB_NAME} + - DB_PORT=5432 + - DB_HOST=db + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + - JOB_INTERVAL_REGISTRY=${JOB_INTERVAL_REGISTRY} + - VALIDATOR_REGISTRY_ENABLE=${VALIDATOR_REGISTRY_ENABLE} + - JOB_INTERVAL_VALIDATORS_REGISTRY=${JOB_INTERVAL_VALIDATORS_REGISTRY} + ports: + - '${PORT}:${PORT}' + depends_on: + - db + +# volumes: +# db-data: From b06ced3b819204879075c522f58231a89167a0df Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Mon, 23 Dec 2024 15:50:09 +0400 Subject: [PATCH 02/12] fix: set locator devnet address --- .../contracts/lido-locator/lido-locator.module.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts index 1804c8c8..9fe9fa4a 100644 --- a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts +++ b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts @@ -3,14 +3,15 @@ import { LidoLocatorService } from './lido-locator.service'; import { LidoLocatorContractModule } from '@lido-nestjs/contracts'; // TODO: maybe ../../../ shows us that we need to move execution-provider on level up import { ExecutionProvider } from '../../../common/execution-provider'; +import { ConfigService } from 'common/config'; @Global() @Module({ imports: [ LidoLocatorContractModule.forRootAsync({ - inject: [ExecutionProvider], - async useFactory(provider) { - return { provider }; + inject: [ExecutionProvider, ConfigService], + async useFactory(provider, configService: ConfigService) { + return { provider, address: configService.get('LIDO_LOCATOR_DEVNET_ADDRESS') }; }, }), ], From 0e81a3a78d8e0228fb7fbd69095189dad8e7c611 Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Mon, 23 Dec 2024 16:51:50 +0400 Subject: [PATCH 03/12] fix: test zero address --- .../staking-router/staking-router-fetch.module.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts index f4406055..8c47f4a9 100644 --- a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts +++ b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts @@ -4,15 +4,17 @@ import { StakingModuleInterfaceModule } from '../staking-module-interface'; import { LidoLocatorModule } from '../lido-locator/lido-locator.module'; import { StakingRouterContractModule } from '@lido-nestjs/contracts'; import { ExecutionProvider } from '../../../common/execution-provider'; +import { ConfigService } from 'common/config'; +import { ethers } from 'ethers'; @Module({ imports: [ StakingModuleInterfaceModule, LidoLocatorModule, StakingRouterContractModule.forRootAsync({ - inject: [ExecutionProvider], - async useFactory(provider) { - return { provider }; + inject: [ExecutionProvider, ConfigService], + async useFactory(provider, configService: ConfigService) { + return { provider, address: '0x0000000000000000000000000000000000000000' }; }, }), ], From b94c49675eb8af7ad6ef53536f54c35df4fb45e6 Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Mon, 23 Dec 2024 17:12:12 +0400 Subject: [PATCH 04/12] fix: test zero address --- src/app/app.module.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6eb7c5f8..30ff477d 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -49,13 +49,23 @@ import { CSMKeyRegistryModule } from 'common/registry-csm'; KeyRegistryModule.forRootAsync({ inject: [SimpleFallbackJsonRpcBatchProvider, ConfigService], async useFactory(provider: SimpleFallbackJsonRpcBatchProvider, configService: ConfigService) { - return { provider, keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE') }; + return { + provider, + keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE'), + lidoAddress: '0x0000000000000000000000000000000000000000', + registryAddress: '0x0000000000000000000000000000000000000000', + }; }, }), CSMKeyRegistryModule.forRootAsync({ inject: [SimpleFallbackJsonRpcBatchProvider, ConfigService], async useFactory(provider: SimpleFallbackJsonRpcBatchProvider, configService: ConfigService) { - return { provider, keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE') }; + return { + provider, + keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE'), + lidoAddress: '0x0000000000000000000000000000000000000000', + registryAddress: '0x0000000000000000000000000000000000000000', + }; }, }), StakingRouterModule, From 9e6a025d1ae9691c0fc8363bdbda84964e7cdb21 Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Mon, 23 Dec 2024 17:25:23 +0400 Subject: [PATCH 05/12] fix: locator address --- .../contracts/lido-locator/lido-locator.module.ts | 1 + .../contracts/staking-router/staking-router-fetch.module.ts | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts index 9fe9fa4a..b758c5da 100644 --- a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts +++ b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts @@ -11,6 +11,7 @@ import { ConfigService } from 'common/config'; LidoLocatorContractModule.forRootAsync({ inject: [ExecutionProvider, ConfigService], async useFactory(provider, configService: ConfigService) { + console.log('address:', configService.get('LIDO_LOCATOR_DEVNET_ADDRESS')); return { provider, address: configService.get('LIDO_LOCATOR_DEVNET_ADDRESS') }; }, }), diff --git a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts index 8c47f4a9..0913abfd 100644 --- a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts +++ b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts @@ -5,7 +5,6 @@ import { LidoLocatorModule } from '../lido-locator/lido-locator.module'; import { StakingRouterContractModule } from '@lido-nestjs/contracts'; import { ExecutionProvider } from '../../../common/execution-provider'; import { ConfigService } from 'common/config'; -import { ethers } from 'ethers'; @Module({ imports: [ From e3371b71fbeb095a36e6b369c4935bb4f291e254 Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Mon, 23 Dec 2024 18:40:29 +0400 Subject: [PATCH 06/12] fix: remove zero addresses --- src/app/app.module.ts | 4 ---- .../contracts/lido-locator/lido-locator.module.ts | 6 +++--- .../contracts/staking-router/staking-router-fetch.module.ts | 4 ++-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 30ff477d..088ebfb2 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -52,8 +52,6 @@ import { CSMKeyRegistryModule } from 'common/registry-csm'; return { provider, keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE'), - lidoAddress: '0x0000000000000000000000000000000000000000', - registryAddress: '0x0000000000000000000000000000000000000000', }; }, }), @@ -63,8 +61,6 @@ import { CSMKeyRegistryModule } from 'common/registry-csm'; return { provider, keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE'), - lidoAddress: '0x0000000000000000000000000000000000000000', - registryAddress: '0x0000000000000000000000000000000000000000', }; }, }), diff --git a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts index b758c5da..be53b7b8 100644 --- a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts +++ b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts @@ -1,17 +1,17 @@ import { Global, Module } from '@nestjs/common'; import { LidoLocatorService } from './lido-locator.service'; import { LidoLocatorContractModule } from '@lido-nestjs/contracts'; -// TODO: maybe ../../../ shows us that we need to move execution-provider on level up import { ExecutionProvider } from '../../../common/execution-provider'; -import { ConfigService } from 'common/config'; +import { ConfigModule, ConfigService } from 'common/config'; @Global() @Module({ imports: [ + ConfigModule, LidoLocatorContractModule.forRootAsync({ inject: [ExecutionProvider, ConfigService], async useFactory(provider, configService: ConfigService) { - console.log('address:', configService.get('LIDO_LOCATOR_DEVNET_ADDRESS')); + console.log('address:', configService); return { provider, address: configService.get('LIDO_LOCATOR_DEVNET_ADDRESS') }; }, }), diff --git a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts index 0913abfd..01317640 100644 --- a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts +++ b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts @@ -12,8 +12,8 @@ import { ConfigService } from 'common/config'; LidoLocatorModule, StakingRouterContractModule.forRootAsync({ inject: [ExecutionProvider, ConfigService], - async useFactory(provider, configService: ConfigService) { - return { provider, address: '0x0000000000000000000000000000000000000000' }; + async useFactory(provider) { + return { provider }; }, }), ], From f1451fccb29fe11489ea530e81a1574cee95887d Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Mon, 23 Dec 2024 18:43:20 +0400 Subject: [PATCH 07/12] fix: docker compose for devnet --- docker-compose.devnet.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.devnet.yml b/docker-compose.devnet.yml index 95c50a8c..623be5f3 100644 --- a/docker-compose.devnet.yml +++ b/docker-compose.devnet.yml @@ -42,6 +42,7 @@ services: - JOB_INTERVAL_REGISTRY=${JOB_INTERVAL_REGISTRY} - VALIDATOR_REGISTRY_ENABLE=${VALIDATOR_REGISTRY_ENABLE} - JOB_INTERVAL_VALIDATORS_REGISTRY=${JOB_INTERVAL_VALIDATORS_REGISTRY} + - LIDO_LOCATOR_DEVNET_ADDRESS=${LIDO_LOCATOR_DEVNET_ADDRESS} ports: - '${PORT}:${PORT}' depends_on: From eb3ac78b6ad0e4be55ec32c85e79d160d2f34bcf Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Tue, 24 Dec 2024 12:22:26 +0400 Subject: [PATCH 08/12] fix: add devnet addresses --- src/app/app.module.ts | 2 ++ src/common/config/env.validation.ts | 12 ++++++++++++ .../fetch/interfaces/module.interface.ts | 1 - .../fetch/registry-fetch.module.ts | 19 +++---------------- .../fetch/interfaces/module.interface.ts | 1 - .../registry/fetch/registry-fetch.module.ts | 19 +++---------------- src/common/registry/test/fetch/sync.spec.ts | 5 ----- .../lido-locator/lido-locator.service.ts | 2 +- .../staking-router-fetch.module.ts | 4 ++-- 9 files changed, 23 insertions(+), 42 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 088ebfb2..7bca72e7 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -52,6 +52,7 @@ import { CSMKeyRegistryModule } from 'common/registry-csm'; return { provider, keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE'), + registryAddress: configService.get('CURATED_MODULE_DEVNET_ADDRESS'), }; }, }), @@ -61,6 +62,7 @@ import { CSMKeyRegistryModule } from 'common/registry-csm'; return { provider, keysBatchSize: configService.get('KEYS_FETCH_BATCH_SIZE'), + registryAddress: configService.get('CSM_MODULE_DEVNET_ADDRESS'), }; }, }), diff --git a/src/common/config/env.validation.ts b/src/common/config/env.validation.ts index 26fc96c8..34dc9ca8 100644 --- a/src/common/config/env.validation.ts +++ b/src/common/config/env.validation.ts @@ -180,6 +180,18 @@ export class EnvironmentVariables { @IsOptional() @IsString() LIDO_LOCATOR_DEVNET_ADDRESS = ''; + + @IsOptional() + @IsString() + CURATED_MODULE_DEVNET_ADDRESS = ''; + + @IsOptional() + @IsString() + CSM_MODULE_DEVNET_ADDRESS = ''; + + @IsOptional() + @IsString() + STAKING_ROUTER_DEVNET_ADDRESS = ''; } export function validate(config: Record) { diff --git a/src/common/registry-csm/fetch/interfaces/module.interface.ts b/src/common/registry-csm/fetch/interfaces/module.interface.ts index aa1c7776..d4c7bdbb 100644 --- a/src/common/registry-csm/fetch/interfaces/module.interface.ts +++ b/src/common/registry-csm/fetch/interfaces/module.interface.ts @@ -7,7 +7,6 @@ export const REGISTRY_FETCH_OPTIONS_TOKEN = Symbol('registryFetchOptionsToken'); export interface RegistryFetchOptions { registryAddress?: string; - lidoAddress?: string; provider?: Provider | Signer; keysBatchSize?: number; } diff --git a/src/common/registry-csm/fetch/registry-fetch.module.ts b/src/common/registry-csm/fetch/registry-fetch.module.ts index d7166f74..6d393689 100644 --- a/src/common/registry-csm/fetch/registry-fetch.module.ts +++ b/src/common/registry-csm/fetch/registry-fetch.module.ts @@ -1,5 +1,5 @@ import { DynamicModule, Module } from '@nestjs/common'; -import { LidoContractModule, RegistryContractModule } from '@lido-nestjs/contracts'; +import { RegistryContractModule } from '@lido-nestjs/contracts'; import { RegistryFetchModuleSyncOptions, RegistryFetchModuleAsyncOptions, @@ -39,10 +39,6 @@ export class RegistryFetchModule { module: RegistryFetchModule, imports: [ ...(options?.imports || []), - LidoContractModule.forFeature({ - address: options?.lidoAddress, - provider: options?.provider, - }), RegistryContractModule.forFeature({ address: options?.registryAddress, provider: options?.provider, @@ -54,7 +50,7 @@ export class RegistryFetchModule { useValue: options?.keysBatchSize ? { keysBatchSize: options.keysBatchSize } : {}, }, ], - exports: [LidoContractModule, RegistryContractModule], + exports: [RegistryContractModule], }; } @@ -63,15 +59,6 @@ export class RegistryFetchModule { module: RegistryFetchModule, imports: [ ...(options.imports || []), - LidoContractModule.forFeatureAsync({ - async useFactory(...args) { - const config = await options.useFactory(...args); - const { provider, lidoAddress } = config; - - return { provider, address: lidoAddress }; - }, - inject: options.inject, - }), RegistryContractModule.forFeatureAsync({ async useFactory(...args) { const config = await options.useFactory(...args); @@ -89,7 +76,7 @@ export class RegistryFetchModule { inject: options.inject, }, ], - exports: [LidoContractModule, RegistryContractModule], + exports: [RegistryContractModule], }; } } diff --git a/src/common/registry/fetch/interfaces/module.interface.ts b/src/common/registry/fetch/interfaces/module.interface.ts index aa1c7776..d4c7bdbb 100644 --- a/src/common/registry/fetch/interfaces/module.interface.ts +++ b/src/common/registry/fetch/interfaces/module.interface.ts @@ -7,7 +7,6 @@ export const REGISTRY_FETCH_OPTIONS_TOKEN = Symbol('registryFetchOptionsToken'); export interface RegistryFetchOptions { registryAddress?: string; - lidoAddress?: string; provider?: Provider | Signer; keysBatchSize?: number; } diff --git a/src/common/registry/fetch/registry-fetch.module.ts b/src/common/registry/fetch/registry-fetch.module.ts index 4949f32b..e49b23fb 100644 --- a/src/common/registry/fetch/registry-fetch.module.ts +++ b/src/common/registry/fetch/registry-fetch.module.ts @@ -1,5 +1,5 @@ import { DynamicModule, Module } from '@nestjs/common'; -import { LidoContractModule, RegistryContractModule } from '@lido-nestjs/contracts'; +import { RegistryContractModule } from '@lido-nestjs/contracts'; import { RegistryFetchModuleSyncOptions, RegistryFetchModuleAsyncOptions, @@ -47,10 +47,6 @@ export class RegistryFetchModule { module: RegistryFetchModule, imports: [ ...(options?.imports || []), - LidoContractModule.forFeature({ - address: options?.lidoAddress, - provider: options?.provider, - }), RegistryContractModule.forFeature({ address: options?.registryAddress, provider: options?.provider, @@ -62,7 +58,7 @@ export class RegistryFetchModule { useValue: options?.keysBatchSize ? { keysBatchSize: options.keysBatchSize } : {}, }, ], - exports: [LidoContractModule, RegistryContractModule], + exports: [RegistryContractModule], }; } @@ -71,15 +67,6 @@ export class RegistryFetchModule { module: RegistryFetchModule, imports: [ ...(options.imports || []), - LidoContractModule.forFeatureAsync({ - async useFactory(...args) { - const config = await options.useFactory(...args); - const { provider, lidoAddress } = config; - - return { provider, address: lidoAddress }; - }, - inject: options.inject, - }), RegistryContractModule.forFeatureAsync({ async useFactory(...args) { const config = await options.useFactory(...args); @@ -97,7 +84,7 @@ export class RegistryFetchModule { inject: options.inject, }, ], - exports: [LidoContractModule, RegistryContractModule], + exports: [RegistryContractModule], }; } } diff --git a/src/common/registry/test/fetch/sync.spec.ts b/src/common/registry/test/fetch/sync.spec.ts index 35592bfc..b9a7058e 100644 --- a/src/common/registry/test/fetch/sync.spec.ts +++ b/src/common/registry/test/fetch/sync.spec.ts @@ -47,13 +47,11 @@ describe('Sync module initializing', () => { }); test('forFeature addresses', async () => { - const lidoAddress = hexZeroPad('0x01', 20); const registryAddress = hexZeroPad('0x02', 20); const imports = [ RegistryFetchModule.forFeature({ provider, - lidoAddress, registryAddress, }), LoggerModule.forRoot({ transports: [nullTransport()] }), @@ -61,9 +59,6 @@ describe('Sync module initializing', () => { const moduleRef = await testModules({ imports }); - const lidoContract: Lido = moduleRef.get(LIDO_CONTRACT_TOKEN); - expect(lidoContract.address).toBe(lidoAddress); - const registryContract: Registry = moduleRef.get(REGISTRY_CONTRACT_TOKEN); expect(registryContract.address).toBe(registryAddress); }); diff --git a/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts b/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts index b587ef54..bc519120 100644 --- a/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts +++ b/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts @@ -1,4 +1,4 @@ -import { LidoLocator, LIDO_LOCATOR_CONTRACT_TOKEN } from '@lido-nestjs/contracts'; +import { LidoLocator, LidoLocator__factory, LIDO_LOCATOR_CONTRACT_TOKEN } from '@lido-nestjs/contracts'; import { Injectable, Inject, LoggerService } from '@nestjs/common'; import { BlockTag } from '../interfaces'; import { LOGGER_PROVIDER } from '@lido-nestjs/logger'; diff --git a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts index 01317640..f7f00c1f 100644 --- a/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts +++ b/src/staking-router-modules/contracts/staking-router/staking-router-fetch.module.ts @@ -12,8 +12,8 @@ import { ConfigService } from 'common/config'; LidoLocatorModule, StakingRouterContractModule.forRootAsync({ inject: [ExecutionProvider, ConfigService], - async useFactory(provider) { - return { provider }; + async useFactory(provider, configService: ConfigService) { + return { provider, address: configService.get('STAKING_ROUTER_DEVNET_ADDRESS') }; }, }), ], From dc5ec129520421c4683b2e6369afff4c4b74e3ab Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Tue, 24 Dec 2024 18:05:28 +0400 Subject: [PATCH 09/12] fix: add network to db --- docker-compose.devnet.yml | 5 +++++ .../contracts/lido-locator/lido-locator.module.ts | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docker-compose.devnet.yml b/docker-compose.devnet.yml index 623be5f3..9f1482aa 100644 --- a/docker-compose.devnet.yml +++ b/docker-compose.devnet.yml @@ -9,6 +9,8 @@ services: db: image: postgres:16-alpine restart: unless-stopped + networks: + - devnet environment: - POSTGRES_DB=${DB_NAME} - POSTGRES_USER=${DB_USER} @@ -43,6 +45,9 @@ services: - VALIDATOR_REGISTRY_ENABLE=${VALIDATOR_REGISTRY_ENABLE} - JOB_INTERVAL_VALIDATORS_REGISTRY=${JOB_INTERVAL_VALIDATORS_REGISTRY} - LIDO_LOCATOR_DEVNET_ADDRESS=${LIDO_LOCATOR_DEVNET_ADDRESS} + - CURATED_MODULE_DEVNET_ADDRESS=${CURATED_MODULE_DEVNET_ADDRESS} + - CSM_MODULE_DEVNET_ADDRESS=${CSM_MODULE_DEVNET_ADDRESS} + - STAKING_ROUTER_DEVNET_ADDRESS=${STAKING_ROUTER_DEVNET_ADDRESS} ports: - '${PORT}:${PORT}' depends_on: diff --git a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts index be53b7b8..edc4724c 100644 --- a/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts +++ b/src/staking-router-modules/contracts/lido-locator/lido-locator.module.ts @@ -11,7 +11,6 @@ import { ConfigModule, ConfigService } from 'common/config'; LidoLocatorContractModule.forRootAsync({ inject: [ExecutionProvider, ConfigService], async useFactory(provider, configService: ConfigService) { - console.log('address:', configService); return { provider, address: configService.get('LIDO_LOCATOR_DEVNET_ADDRESS') }; }, }), From eb42ce2ba441e7c733dea40d133b6a2820ebb942 Mon Sep 17 00:00:00 2001 From: Anna Mukharram Date: Tue, 24 Dec 2024 18:55:57 +0400 Subject: [PATCH 10/12] fix: removed unused code LidoLocator__factory --- .../contracts/lido-locator/lido-locator.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts b/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts index bc519120..b587ef54 100644 --- a/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts +++ b/src/staking-router-modules/contracts/lido-locator/lido-locator.service.ts @@ -1,4 +1,4 @@ -import { LidoLocator, LidoLocator__factory, LIDO_LOCATOR_CONTRACT_TOKEN } from '@lido-nestjs/contracts'; +import { LidoLocator, LIDO_LOCATOR_CONTRACT_TOKEN } from '@lido-nestjs/contracts'; import { Injectable, Inject, LoggerService } from '@nestjs/common'; import { BlockTag } from '../interfaces'; import { LOGGER_PROVIDER } from '@lido-nestjs/logger'; From 391fabcd7ef176dbcc0b1f18a96c226dc1a7b879 Mon Sep 17 00:00:00 2001 From: Eddort Date: Tue, 14 Jan 2025 17:02:10 +0100 Subject: [PATCH 11/12] feat: add docker volume to devnet config --- docker-compose.devnet.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.devnet.yml b/docker-compose.devnet.yml index 9f1482aa..ad5942d5 100644 --- a/docker-compose.devnet.yml +++ b/docker-compose.devnet.yml @@ -16,7 +16,7 @@ services: - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} volumes: - - ./.volumes/pgdata-${CHAIN_ID}/:/var/lib/postgresql/data + - pgdata:/var/lib/postgresql/data keys_api: build: ./ @@ -53,5 +53,5 @@ services: depends_on: - db -# volumes: -# db-data: +volumes: + pgdata: From 7c0c35d820b2d4d0e3be0ab71c0298781e907508 Mon Sep 17 00:00:00 2001 From: infloop Date: Mon, 8 Sep 2025 15:46:44 +0300 Subject: [PATCH 12/12] feat: add IS_DEVNET_MODE env variable for devnet operations --- src/common/config/env.validation.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/common/config/env.validation.ts b/src/common/config/env.validation.ts index 9103f9ac..d08a888d 100644 --- a/src/common/config/env.validation.ts +++ b/src/common/config/env.validation.ts @@ -132,6 +132,7 @@ export class EnvironmentVariables { @IsNotEmpty() @IsEnum(Chain) @Transform(toNumber({ defaultValue: undefined })) + @ValidateIf((e) => e.IS_DEVNET_MODE === false) CHAIN_ID!: Chain; @IsNotEmpty() @@ -224,6 +225,11 @@ export class EnvironmentVariables { @Transform(({ value }) => parseInt(value, 10)) STREAM_TIMEOUT = 60_000; + @IsOptional() + @IsBoolean() + @Transform(toBoolean({ defaultValue: false })) + IS_DEVNET_MODE = false; + @IsOptional() @IsString() LIDO_LOCATOR_DEVNET_ADDRESS = '';