Skip to content

Commit ca6d42f

Browse files
committed
watcher: use inheritance.
1 parent 61638cd commit ca6d42f

File tree

5 files changed

+21
-154
lines changed

5 files changed

+21
-154
lines changed

watcher/src/watchers/FTEVMWatcher.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export class FTEVMWatcher extends EVMWatcher {
2323
constructor(
2424
network: Network,
2525
chain: FTEVMChain,
26-
finalizedBlockTag: BlockTag = 'latest',
26+
finalizedBlockTag: BlockTag = 'finalized',
2727
isTest = false
2828
) {
2929
super(network, chain, finalizedBlockTag, 'ft');

watcher/src/watchers/NTTArbitrumWatcher.ts

-136
This file was deleted.

watcher/src/watchers/NTTWatcher.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class NTTWatcher extends EVMWatcher {
3030
chain: NTTChain;
3131
pg: Knex;
3232

33-
constructor(network: Network, chain: NTTEvmChain, finalizedBlockTag: BlockTag = 'latest') {
33+
constructor(network: Network, chain: NTTEvmChain, finalizedBlockTag: BlockTag = 'finalized') {
3434
super(network, chain, finalizedBlockTag, 'ntt');
3535
this.chain = chain;
3636
this.pg = knex({

watcher/src/watchers/VAAWatcher.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export class VAAWatcher extends EVMWatcher {
55
constructor(
66
network: Network,
77
chain: PlatformToChains<'Evm'>,
8-
finalizedBlockTag: BlockTag = 'latest'
8+
finalizedBlockTag: BlockTag = 'finalized'
99
) {
1010
super(network, chain, finalizedBlockTag, 'vaa');
1111
}

watcher/src/watchers/utils.ts

+18-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { AlgorandWatcher } from './AlgorandWatcher';
22
import { AptosWatcher } from './AptosWatcher';
33
import { CosmwasmWatcher } from './CosmwasmWatcher';
4-
import { EVMWatcher } from './EVMWatcher';
54
import { InjectiveExplorerWatcher } from './InjectiveExplorerWatcher';
65
import { SolanaWatcher } from './SolanaWatcher';
76
import { TerraExplorerWatcher } from './TerraExplorerWatcher';
@@ -11,12 +10,12 @@ import { SeiExplorerWatcher } from './SeiExplorerWatcher';
1110
import { WormchainWatcher } from './WormchainWatcher';
1211
import { NearArchiveWatcher } from './NearArchiveWatcher';
1312
import { NTTWatcher } from './NTTWatcher';
14-
import { NTTArbitrumWatcher } from './NTTArbitrumWatcher';
1513
import { NTTSolanaWatcher } from './NTTSolanaWatcher';
1614
import { Chain, Network } from '@wormhole-foundation/sdk-base';
1715
import { FTEVMWatcher } from './FTEVMWatcher';
1816
import { FTSolanaWatcher } from './FTSolanaWatcher';
1917
import { isFTEVMChain } from '../fastTransfer/consts';
18+
import { VAAWatcher } from './VAAWatcher';
2019

2120
export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Watcher {
2221
if (chainName === 'Solana') {
@@ -49,7 +48,7 @@ export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Wat
4948
chainName === 'Worldchain' ||
5049
chainName === 'Xlayer'
5150
) {
52-
return new EVMWatcher(network, chainName, 'finalized', 'vaa');
51+
return new VAAWatcher(network, chainName);
5352
} else if (chainName === 'Algorand') {
5453
return new AlgorandWatcher(network);
5554
} else if (chainName === 'Aptos') {
@@ -80,7 +79,7 @@ export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Wat
8079
chainName === 'PolygonSepolia' ||
8180
chainName === 'Sepolia'
8281
) {
83-
return new EVMWatcher(network, chainName, 'finalized', 'vaa');
82+
return new VAAWatcher(network, chainName);
8483
} else {
8584
throw new Error(
8685
`Attempted to create finalized watcher for unsupported testnet chain ${chainName}`
@@ -93,12 +92,14 @@ export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Wat
9392

9493
export function makeFinalizedNTTWatcher(network: Network, chainName: Chain): Watcher {
9594
if (network === 'Mainnet') {
96-
if (chainName === 'Ethereum') {
97-
return new NTTWatcher(network, chainName, 'finalized');
98-
} else if (chainName === 'Fantom' || chainName === 'Base' || chainName === 'Optimism') {
95+
if (
96+
chainName === 'Arbitrum' ||
97+
chainName === 'Base' ||
98+
chainName === 'Ethereum' ||
99+
chainName === 'Fantom' ||
100+
chainName === 'Optimism'
101+
) {
99102
return new NTTWatcher(network, chainName);
100-
} else if (chainName === 'Arbitrum') {
101-
return new NTTArbitrumWatcher(network);
102103
} else if (chainName === 'Solana') {
103104
return new NTTSolanaWatcher(network);
104105
} else {
@@ -108,12 +109,14 @@ export function makeFinalizedNTTWatcher(network: Network, chainName: Chain): Wat
108109
}
109110
} else if (network === 'Testnet') {
110111
// These are testnet only chains
111-
if (chainName === 'Sepolia' || chainName === 'Holesky') {
112-
return new NTTWatcher(network, chainName, 'finalized');
113-
} else if (chainName === 'BaseSepolia' || chainName === 'OptimismSepolia') {
112+
if (
113+
chainName === 'ArbitrumSepolia' ||
114+
chainName === 'BaseSepolia' ||
115+
chainName === 'Holesky' ||
116+
chainName === 'OptimismSepolia' ||
117+
chainName === 'Sepolia'
118+
) {
114119
return new NTTWatcher(network, chainName);
115-
} else if (chainName === 'ArbitrumSepolia') {
116-
return new NTTArbitrumWatcher(network);
117120
} else if (chainName === 'Solana') {
118121
return new NTTSolanaWatcher(network);
119122
} else {
@@ -132,7 +135,7 @@ export function makeFinalizedFTWatcher(network: Network, chainName: Chain): Watc
132135
if (chainName === 'Solana') {
133136
return new FTSolanaWatcher(network);
134137
} else if (isFTEVMChain(chainName, network)) {
135-
return new FTEVMWatcher(network, chainName, 'finalized');
138+
return new FTEVMWatcher(network, chainName);
136139
} else {
137140
throw new Error(
138141
`Attempted to create finalized FT watcher for unsupported chain ${chainName} on ${network}`

0 commit comments

Comments
 (0)