Skip to content

Commit

Permalink
Fixed issue causing oracle to fail (#1218)
Browse files Browse the repository at this point in the history
  • Loading branch information
Faouzijedidi1 committed Nov 29, 2023
1 parent 438fd34 commit 8197173
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 38 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ApiProperty } from '@nestjs/swagger';
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { ChainId } from '@human-protocol/sdk';
import { IsBoolean, IsEnum, IsNumber, IsPositive, IsString } from 'class-validator';

Expand All @@ -23,11 +23,13 @@ export class liquidityRequestDto {
@IsValidEthereumAddress()
public liquidityProvider: string;

@ApiProperty()
public liquidityProviderAPIKEY: string | undefined;
@ApiPropertyOptional()
@IsString()
public liquidityProviderAPIKEY?: string ;

@ApiProperty()
public liquidityProviderAPISecret: string | undefined;
@ApiPropertyOptional()
@IsString()
public liquidityProviderAPISecret?: string;

@ApiProperty()
@IsBoolean()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import { signMessage } from '../../common/utils/signature';
import { HEADER_SIGNATURE_KEY } from '../../common/constants';
import { GraphQLClient, gql } from 'graphql-request';
import crypto from "crypto";
import { DEX } from '../../common/constants/exchange';
import { CEX, DEX } from '../../common/constants/exchange';

@Injectable()
export class LiquidityService {
Expand Down Expand Up @@ -211,37 +211,8 @@ export class LiquidityService {
chain,
};

if (DEX.includes(manifest.exchangeName)) {
const client = this.getGraphQLClient(variables.chain, variables.exchange);
const result: any = await client.request(UniswapQuery, variables);
let positionSnapshots = result?.positionSnapshots;

const filteredSnapshots = this.filterObjectsByInputTokenSymbol(
positionSnapshots,
variables.token0,
variables.token1,
);
const liquidityScore = this.calculateLiquidityScore(filteredSnapshots);

if (liquidityRequest.save) {
try {
await this.pushLiquidityScore(
liquidityRequest.escrowAddress,
liquidityRequest.chainId,
liquidityRequest.liquidityProvider,
liquidityScore,
);
} catch (error: any) {
console.error(`Error in getLiquidityScore: ${error.message}`);
throw error;
}
}
const response: liquidityResponseDto = {
liquidityScore,
liquidityProvider: liquidityRequest.liquidityProvider,
};
return response;
} else {
if (CEX.includes(manifest.exchangeName))
{
if (!liquidityRequest.liquidityProviderAPISecret || !liquidityRequest.liquidityProviderAPIKEY) {
throw new Error('Empty API keys');
}
Expand All @@ -260,7 +231,7 @@ export class LiquidityService {
.get(
`${this.configService.get(
ConfigNames.BINANCE_URL,
)}/api/v3/allOrders?${signedQueryString}`,
)}/v3/allOrders?${signedQueryString}`,
{ headers },
)
.toPromise();
Expand All @@ -286,6 +257,37 @@ export class LiquidityService {
}
throw new Error('No data received from server');
}
else {
const client = this.getGraphQLClient(variables.chain, variables.exchange);
const result: any = await client.request(UniswapQuery, variables);
let positionSnapshots = result?.positionSnapshots;

const filteredSnapshots = this.filterObjectsByInputTokenSymbol(
positionSnapshots,
variables.token0,
variables.token1,
);
const liquidityScore = this.calculateLiquidityScore(filteredSnapshots);

if (liquidityRequest.save) {
try {
await this.pushLiquidityScore(
liquidityRequest.escrowAddress,
liquidityRequest.chainId,
liquidityRequest.liquidityProvider,
liquidityScore,
);
} catch (error: any) {
console.error(`Error in getLiquidityScore: ${error.message}`);
throw error;
}
}
const response: liquidityResponseDto = {
liquidityScore,
liquidityProvider: liquidityRequest.liquidityProvider,
};
return response;
}
} catch (error: any) {
console.error(`Error in getLiquidityScore: ${error.message}`);
throw error;
Expand Down

1 comment on commit 8197173

@vercel
Copy link

@vercel vercel bot commented on 8197173 Nov 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

hufi-recording-oracle-server – ./packages/apps/hufi/recording-oracle

hufi-recording-oracle-server-git-develop-humanprotocol.vercel.app
hufi-recording-oracle-server-humanprotocol.vercel.app
hufi-recording-oracle-server.vercel.app

Please sign in to comment.