Skip to content

Commit 3325a33

Browse files
committed
ft_watcher: address pr comments
Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>
1 parent 839aa31 commit 3325a33

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

watcher/src/watchers/FastTransferSolanaWatcher.ts

+19-14
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { LiquidityLayerMessage } from '../fastTransfer/common';
1919
import { AuctionOffer, FastTransfer, ParsedLogs } from '../fastTransfer/types';
2020
import knex, { Knex } from 'knex';
2121
import { assertEnvironmentVariable } from '@wormhole-foundation/wormhole-monitor-common';
22+
import { getLogger } from '../utils/logger';
2223

2324
// TODO: this is devnet consts
2425
const MATCHING_ENGINE_PROGRAM_ID = 'mPydpGUWxzERTNpyvTKdvS7v8kvw5sgwfiP8WQFrXVS';
@@ -44,25 +45,29 @@ export class FastTransferSolanaWatcher extends SolanaWatcher {
4445
new PublicKey(USDC_MINT)
4546
);
4647
this.getSignaturesLimit = 100;
47-
48+
this.logger = getLogger('fast_transfer_solana');
4849
// hacky way to not connect to the db in tests
4950
// this is to allow ci to run without a db
50-
if (!isTest) {
51-
this.pg = knex({
52-
client: 'pg',
53-
connection: {
54-
user: assertEnvironmentVariable('PG_NTT_USER'),
55-
password: assertEnvironmentVariable('PG_NTT_PASSWORD'),
56-
database: assertEnvironmentVariable('PG_NTT_DATABASE'),
57-
host: assertEnvironmentVariable('PG_NTT_HOST'),
58-
port: Number(assertEnvironmentVariable('PG_NTT_PORT')),
59-
},
60-
});
51+
if (isTest) {
52+
// Components needed for testing is complete
53+
return;
6154
}
55+
this.pg = knex({
56+
client: 'pg',
57+
connection: {
58+
user: assertEnvironmentVariable('PG_NTT_USER'),
59+
password: assertEnvironmentVariable('PG_NTT_PASSWORD'),
60+
database: assertEnvironmentVariable('PG_NTT_DATABASE'),
61+
host: assertEnvironmentVariable('PG_NTT_HOST'),
62+
port: Number(assertEnvironmentVariable('PG_NTT_PORT')),
63+
},
64+
});
6265
}
6366

6467
// TODO: Modify this so watcher can actually call this function (Add enum for mode)
6568
async getMessagesByBlock(fromSlot: number, toSlot: number): Promise<string> {
69+
if (fromSlot > toSlot) throw new Error('solana: invalid block range');
70+
6671
this.logger.info(`fetching info for blocks ${fromSlot} to ${toSlot}`);
6772
const { fromSignature, toSignature, toBlock } = await findFromSignatureAndToSignature(
6873
this.getConnection(),
@@ -303,7 +308,7 @@ export class FastTransferSolanaWatcher extends SolanaWatcher {
303308
if (!this.pg) {
304309
return;
305310
}
306-
this.logger.info('saving fast transfer');
311+
this.logger.debug(`saving fast transfer ${fastTransfer.fast_vaa_hash}`);
307312

308313
// Upsert the fast transfer
309314
await this.pg('fast_transfers').insert(fastTransfer).onConflict('fast_transfer_id').merge();
@@ -314,7 +319,7 @@ export class FastTransferSolanaWatcher extends SolanaWatcher {
314319
if (!this.pg) {
315320
return;
316321
}
317-
this.logger.info('saving auction logs');
322+
this.logger.debug(`saving auction logs for ${auctionLogs.fast_vaa_hash}`);
318323

319324
await this.pg('auction_logs').insert(auctionLogs);
320325
}

watcher/src/watchers/__tests__/FastTransferSolanaWatcher.test.ts

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { jest, test } from '@jest/globals';
2-
import knex from 'knex';
32
import { FastTransferSolanaWatcher } from '../FastTransferSolanaWatcher';
43
import { PublicKey } from '@solana/web3.js';
54

0 commit comments

Comments
 (0)