Skip to content

Commit

Permalink
Merge pull request #1366 from multiversx/development
Browse files Browse the repository at this point in the history
Merge development into main
  • Loading branch information
claudiulataretu committed Jun 6, 2024
2 parents f84d0bd + 9ce329e commit af16707
Show file tree
Hide file tree
Showing 38 changed files with 744 additions and 357 deletions.
466 changes: 160 additions & 306 deletions package-lock.json

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@
"@multiversx/sdk-data-api-client": "^0.5.8",
"@multiversx/sdk-exchange": "^0.2.19",
"@multiversx/sdk-native-auth-server": "1.0.15",
"@multiversx/sdk-nestjs-cache": "^2.0.0-beta.2",
"@multiversx/sdk-nestjs-common": "^2.0.0-beta.2",
"@multiversx/sdk-nestjs-elastic": "^2.0.0-beta.3",
"@multiversx/sdk-nestjs-http": "^2.0.0-beta.2",
"@multiversx/sdk-nestjs-monitoring": "^2.0.0-beta.2",
"@multiversx/sdk-nestjs-cache": "^3.7.0",
"@multiversx/sdk-nestjs-common": "^3.7.0",
"@multiversx/sdk-nestjs-elastic": "^3.7.0",
"@multiversx/sdk-nestjs-http": "^3.7.0",
"@multiversx/sdk-nestjs-monitoring": "^3.7.0",
"@multiversx/sdk-network-providers": "^2.0.0",
"@nestjs/apollo": "^12.0.7",
"@nestjs/axios": "^3.0.0",
Expand Down
4 changes: 2 additions & 2 deletions src/endpoints/metrics/metrics.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import {
Param,
} from '@nestjs/common';
import { MetricsCollector } from 'src/utils/metrics.collector';
import { MetricsService } from './metrics.service';
import { ESTransactionsService } from 'src/services/elastic-search/services/es.transactions.service';

@Controller()
export class MetricsController {
constructor(private readonly metricsService: MetricsService) {}
constructor(private readonly metricsService: ESTransactionsService) {}

@Get('/metrics')
async getMetrics(): Promise<string> {
Expand Down
14 changes: 14 additions & 0 deletions src/helpers/api.config.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -312,4 +312,18 @@ export class ApiConfigService {
}
return password;
}

getElasticSearchUrl(): string {
const elasticSearchUrl =
this.configService.get<string>('ELASTICSEARCH_URL');
if (!elasticSearchUrl) {
throw new Error('No Elastic Search url present');
}

return elasticSearchUrl;
}

getRateLimiterSecret(): string | undefined {
return this.configService.get<string>('RATE_LIMITER_SECRET');
}
}
4 changes: 2 additions & 2 deletions src/modules/analytics/specs/analytics.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ import { WinstonModule } from 'nest-winston';
import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('AnalyticsService', () => {
let module: TestingModule;
Expand All @@ -58,6 +58,7 @@ describe('AnalyticsService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
ContextGetterServiceProvider,
Expand Down Expand Up @@ -104,7 +105,6 @@ describe('AnalyticsService', () => {
RemoteConfigGetterServiceProvider,
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
4 changes: 2 additions & 2 deletions src/modules/farm/specs/farm.compute.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FarmService', () => {
let module: TestingModule;
Expand All @@ -34,6 +34,7 @@ describe('FarmService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
MXApiServiceProvider,
Expand All @@ -51,7 +52,6 @@ describe('FarmService', () => {
FarmServiceV1_2,
ApiConfigService,
AnalyticsQueryServiceProvider,
ElasticService,
],
}).compile();
});
Expand Down
4 changes: 2 additions & 2 deletions src/modules/farm/specs/farm.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FarmService', () => {
let module: TestingModule;
Expand All @@ -53,6 +53,7 @@ describe('FarmService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
FarmFactoryService,
Expand Down Expand Up @@ -98,7 +99,6 @@ describe('FarmService', () => {
MXDataApiServiceProvider,
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
4 changes: 2 additions & 2 deletions src/modules/farm/specs/farm.transactions.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { WinstonModule } from 'nest-winston';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FarmService', () => {
let module: TestingModule;
Expand All @@ -34,6 +34,7 @@ describe('FarmService', () => {
transports: [new winston.transports.Console({})],
}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
ApiConfigService,
Expand All @@ -52,7 +53,6 @@ describe('FarmService', () => {
MXDataApiServiceProvider,
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
4 changes: 2 additions & 2 deletions src/modules/farm/specs/farm.v1.2.compute.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FarmService', () => {
let module: TestingModule;
Expand All @@ -32,6 +32,7 @@ describe('FarmService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
FarmAbiServiceProviderV1_2,
Expand All @@ -49,7 +50,6 @@ describe('FarmService', () => {
MXDataApiServiceProvider,
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
4 changes: 2 additions & 2 deletions src/modules/farm/specs/farm.v1.3.compute.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FarmService', () => {
let module: TestingModule;
Expand All @@ -32,6 +32,7 @@ describe('FarmService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
FarmAbiServiceProviderV1_3,
Expand All @@ -49,7 +50,6 @@ describe('FarmService', () => {
MXDataApiServiceProvider,
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
4 changes: 2 additions & 2 deletions src/modules/farm/specs/farm.v2.compute.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FarmServiceV2', () => {
let module: TestingModule;
Expand All @@ -37,6 +37,7 @@ describe('FarmServiceV2', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
MXApiServiceProvider,
Expand All @@ -59,7 +60,6 @@ describe('FarmServiceV2', () => {
FarmServiceV2,
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { ApiConfigService } from 'src/helpers/api.config.service';
import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FeesCollectorService', () => {
let module: TestingModule;
Expand All @@ -43,6 +43,7 @@ describe('FeesCollectorService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
FeesCollectorService,
Expand All @@ -69,7 +70,6 @@ describe('FeesCollectorService', () => {
},
AnalyticsQueryServiceProvider,
ApiConfigService,
ElasticService,
],
}).compile();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import winston from 'winston';
import { DynamicModuleUtils } from 'src/utils/dynamic.module.utils';
import { AnalyticsQueryServiceProvider } from 'src/services/analytics/mocks/analytics.query.service.mock';
import { MXApiServiceProvider } from 'src/services/multiversx-communication/mx.api.service.mock';
import { ElasticService } from 'src/helpers/elastic.service';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('FeesCollectorComputeService', () => {
let module: TestingModule;
Expand All @@ -46,6 +46,7 @@ describe('FeesCollectorComputeService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
FeesCollectorComputeService,
Expand Down Expand Up @@ -73,7 +74,6 @@ describe('FeesCollectorComputeService', () => {
AnalyticsQueryServiceProvider,
ApiConfigService,
MXApiServiceProvider,
ElasticService,
],
}).compile();
});
Expand Down
46 changes: 46 additions & 0 deletions src/modules/pair/services/pair.filtering.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@ import {
PairsFilter,
} from 'src/modules/router/models/filter.args';
import BigNumber from 'bignumber.js';
import { PairService } from './pair.service';

@Injectable()
export class PairFilteringService {
constructor(
private readonly pairAbi: PairAbiService,
private readonly pairCompute: PairComputeService,
private readonly pairService: PairService,
) {}

async pairsByIssuedLpToken(
Expand Down Expand Up @@ -82,6 +84,50 @@ export class PairFilteringService {
return await Promise.resolve(pairsMetadata);
}

async pairsByWildcardToken(
pairFilter: PairsFilter,
pairsMetadata: PairMetadata[],
): Promise<PairMetadata[]> {
if (
!pairFilter.searchToken ||
pairFilter.searchToken.trim().length < 3
) {
return pairsMetadata;
}

const searchTerm = pairFilter.searchToken.toUpperCase().trim();

const pairsFirstToken = await Promise.all(
pairsMetadata.map((pairMetadata) =>
this.pairService.getFirstToken(pairMetadata.address),
),
);
const pairsSecondToken = await Promise.all(
pairsMetadata.map((pairMetadata) =>
this.pairService.getSecondToken(pairMetadata.address),
),
);

const filteredPairs: PairMetadata[] = [];
for (const [index, pair] of pairsMetadata.entries()) {
const firstToken = pairsFirstToken[index];
const secondToken = pairsSecondToken[index];

if (
firstToken.name.toUpperCase().includes(searchTerm) ||
firstToken.identifier.toUpperCase().includes(searchTerm) ||
firstToken.ticker.toUpperCase().includes(searchTerm) ||
secondToken.name.toUpperCase().includes(searchTerm) ||
secondToken.identifier.toUpperCase().includes(searchTerm) ||
secondToken.ticker.toUpperCase().includes(searchTerm)
) {
filteredPairs.push(pair);
}
}

return filteredPairs;
}

async pairsByState(
pairFilter: PairFilterArgs | PairsFilter,
pairsMetadata: PairMetadata[],
Expand Down
8 changes: 8 additions & 0 deletions src/modules/pair/services/pair.metadata.builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ export class PairsMetadataBuilder {
}

async filterByTokens(): Promise<PairsMetadataBuilder> {
if (this.filters.searchToken) {
this.pairsMetadata =
await this.filteringService.pairsByWildcardToken(
this.filters,
this.pairsMetadata,
);
}

this.pairsMetadata = await this.filteringService.pairsByTokens(
this.filters,
this.pairsMetadata,
Expand Down
2 changes: 2 additions & 0 deletions src/modules/pair/specs/pair.compute.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import { ElasticService } from 'src/helpers/elastic.service';
import { RemoteConfigGetterServiceProvider } from 'src/modules/remote-config/mocks/remote-config.getter.mock';
import { StakingProxyAbiServiceProvider } from 'src/modules/staking-proxy/mocks/staking.proxy.abi.service.mock';
import { FarmAbiServiceProviderV2 } from 'src/modules/farm/mocks/farm.v2.abi.service.mock';
import { ElasticSearchModule } from 'src/services/elastic-search/elastic.search.module';

describe('PairService', () => {
let module: TestingModule;
Expand All @@ -39,6 +40,7 @@ describe('PairService', () => {
}),
ConfigModule.forRoot({}),
DynamicModuleUtils.getCacheModule(),
ElasticSearchModule,
],
providers: [
PairComputeService,
Expand Down
2 changes: 2 additions & 0 deletions src/modules/router/models/filter.args.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ export class PairsFilter {
hasDualFarms: boolean;
@Field({ nullable: true })
minDeployedAt: number;
@Field({ nullable: true })
searchToken: string;
}

@InputType()
Expand Down
Loading

0 comments on commit af16707

Please sign in to comment.