Skip to content

Commit

Permalink
watcher: use inheritance.
Browse files Browse the repository at this point in the history
  • Loading branch information
panoel committed Feb 24, 2025
1 parent ba3aa4d commit b4f2613
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 154 deletions.
2 changes: 1 addition & 1 deletion watcher/src/watchers/FTEVMWatcher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class FTEVMWatcher extends EVMWatcher {
constructor(
network: Network,
chain: FTEVMChain,
finalizedBlockTag: BlockTag = 'latest',
finalizedBlockTag: BlockTag = 'finalized',
isTest = false
) {
super(network, chain, finalizedBlockTag, 'ft');
Expand Down
136 changes: 0 additions & 136 deletions watcher/src/watchers/NTTArbitrumWatcher.ts

This file was deleted.

2 changes: 1 addition & 1 deletion watcher/src/watchers/NTTWatcher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export class NTTWatcher extends EVMWatcher {
chain: NTTChain;
pg: Knex;

constructor(network: Network, chain: NTTEvmChain, finalizedBlockTag: BlockTag = 'latest') {
constructor(network: Network, chain: NTTEvmChain, finalizedBlockTag: BlockTag = 'finalized') {
super(network, chain, finalizedBlockTag, 'ntt');
this.chain = chain;
this.pg = knex({
Expand Down
2 changes: 1 addition & 1 deletion watcher/src/watchers/VAAWatcher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export class VAAWatcher extends EVMWatcher {
constructor(
network: Network,
chain: PlatformToChains<'Evm'>,
finalizedBlockTag: BlockTag = 'latest'
finalizedBlockTag: BlockTag = 'finalized'
) {
super(network, chain, finalizedBlockTag, 'vaa');
}
Expand Down
33 changes: 18 additions & 15 deletions watcher/src/watchers/utils.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { AlgorandWatcher } from './AlgorandWatcher';
import { AptosWatcher } from './AptosWatcher';
import { CosmwasmWatcher } from './CosmwasmWatcher';
import { EVMWatcher } from './EVMWatcher';
import { InjectiveExplorerWatcher } from './InjectiveExplorerWatcher';
import { SolanaWatcher } from './SolanaWatcher';
import { TerraExplorerWatcher } from './TerraExplorerWatcher';
Expand All @@ -11,12 +10,12 @@ import { SeiExplorerWatcher } from './SeiExplorerWatcher';
import { WormchainWatcher } from './WormchainWatcher';
import { NearArchiveWatcher } from './NearArchiveWatcher';
import { NTTWatcher } from './NTTWatcher';
import { NTTArbitrumWatcher } from './NTTArbitrumWatcher';
import { NTTSolanaWatcher } from './NTTSolanaWatcher';
import { Chain, Network } from '@wormhole-foundation/sdk-base';
import { FTEVMWatcher } from './FTEVMWatcher';
import { FTSolanaWatcher } from './FTSolanaWatcher';
import { isFTEVMChain } from '../fastTransfer/consts';
import { VAAWatcher } from './VAAWatcher';

export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Watcher {
if (chainName === 'Solana') {
Expand Down Expand Up @@ -49,7 +48,7 @@ export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Wat
chainName === 'Worldchain' ||
chainName === 'Xlayer'
) {
return new EVMWatcher(network, chainName, 'finalized', 'vaa');
return new VAAWatcher(network, chainName);
} else if (chainName === 'Algorand') {
return new AlgorandWatcher(network);
} else if (chainName === 'Aptos') {
Expand Down Expand Up @@ -80,7 +79,7 @@ export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Wat
chainName === 'PolygonSepolia' ||
chainName === 'Sepolia'
) {
return new EVMWatcher(network, chainName, 'finalized', 'vaa');
return new VAAWatcher(network, chainName);
} else {
throw new Error(
`Attempted to create finalized watcher for unsupported testnet chain ${chainName}`
Expand All @@ -93,12 +92,14 @@ export function makeFinalizedVaaWatcher(network: Network, chainName: Chain): Wat

export function makeFinalizedNTTWatcher(network: Network, chainName: Chain): Watcher {
if (network === 'Mainnet') {
if (chainName === 'Ethereum') {
return new NTTWatcher(network, chainName, 'finalized');
} else if (chainName === 'Fantom' || chainName === 'Base' || chainName === 'Optimism') {
if (
chainName === 'Arbitrum' ||
chainName === 'Base' ||
chainName === 'Ethereum' ||
chainName === 'Fantom' ||
chainName === 'Optimism'
) {
return new NTTWatcher(network, chainName);
} else if (chainName === 'Arbitrum') {
return new NTTArbitrumWatcher(network);
} else if (chainName === 'Solana') {
return new NTTSolanaWatcher(network);
} else {
Expand All @@ -108,12 +109,14 @@ export function makeFinalizedNTTWatcher(network: Network, chainName: Chain): Wat
}
} else if (network === 'Testnet') {
// These are testnet only chains
if (chainName === 'Sepolia' || chainName === 'Holesky') {
return new NTTWatcher(network, chainName, 'finalized');
} else if (chainName === 'BaseSepolia' || chainName === 'OptimismSepolia') {
if (
chainName === 'ArbitrumSepolia' ||
chainName === 'BaseSepolia' ||
chainName === 'Holesky' ||
chainName === 'OptimismSepolia' ||
chainName === 'Sepolia'
) {
return new NTTWatcher(network, chainName);
} else if (chainName === 'ArbitrumSepolia') {
return new NTTArbitrumWatcher(network);
} else if (chainName === 'Solana') {
return new NTTSolanaWatcher(network);
} else {
Expand All @@ -132,7 +135,7 @@ export function makeFinalizedFTWatcher(network: Network, chainName: Chain): Watc
if (chainName === 'Solana') {
return new FTSolanaWatcher(network);
} else if (isFTEVMChain(chainName, network)) {
return new FTEVMWatcher(network, chainName, 'finalized');
return new FTEVMWatcher(network, chainName);
} else {
throw new Error(
`Attempted to create finalized FT watcher for unsupported chain ${chainName} on ${network}`
Expand Down

0 comments on commit b4f2613

Please sign in to comment.