Skip to content

Commit 104d640

Browse files
committed
refactor
1 parent 36f9e86 commit 104d640

File tree

7 files changed

+113
-104
lines changed

7 files changed

+113
-104
lines changed

apps/price_pusher/src/aptos/balance-tracker.ts

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { AptosClient } from "aptos";
2-
import { BaseBalanceTracker, BaseBalanceTrackerConfig } from "../interface";
2+
import {
3+
BaseBalanceTracker,
4+
BaseBalanceTrackerConfig,
5+
IBalanceTracker,
6+
} from "../interface";
7+
import { DurationInSeconds } from "../utils";
8+
import { PricePusherMetrics } from "../metrics";
9+
import { Logger } from "pino";
310

411
/**
512
* Aptos-specific configuration for balance tracker
@@ -72,3 +79,33 @@ export class AptosBalanceTracker extends BaseBalanceTracker {
7279
}
7380
}
7481
}
82+
83+
/**
84+
* Parameters for creating an Aptos balance tracker
85+
*/
86+
export interface CreateAptosBalanceTrackerParams {
87+
endpoint: string;
88+
address: string;
89+
network: string;
90+
updateInterval: DurationInSeconds;
91+
metrics: PricePusherMetrics;
92+
logger: Logger;
93+
decimals?: number;
94+
}
95+
96+
/**
97+
* Factory function to create a balance tracker for Aptos chain
98+
*/
99+
export function createAptosBalanceTracker(
100+
params: CreateAptosBalanceTrackerParams,
101+
): IBalanceTracker {
102+
return new AptosBalanceTracker({
103+
endpoint: params.endpoint,
104+
address: params.address,
105+
network: params.network,
106+
updateInterval: params.updateInterval,
107+
metrics: params.metrics,
108+
logger: params.logger,
109+
decimals: params.decimals,
110+
});
111+
}

apps/price_pusher/src/aptos/command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { AptosAccount } from "aptos";
1414
import pino from "pino";
1515
import { filterInvalidPriceItems } from "../utils";
1616
import { PricePusherMetrics } from "../metrics";
17-
import { createAptosBalanceTracker } from "../balance-tracker";
17+
import { createAptosBalanceTracker } from "./balance-tracker";
1818

1919
export default {
2020
command: "aptos",

apps/price_pusher/src/balance-tracker.ts

Lines changed: 0 additions & 98 deletions
This file was deleted.

apps/price_pusher/src/evm/balance-tracker.ts

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { SuperWalletClient } from "./super-wallet";
2-
import { BaseBalanceTracker, BaseBalanceTrackerConfig } from "../interface";
2+
import {
3+
BaseBalanceTracker,
4+
BaseBalanceTrackerConfig,
5+
IBalanceTracker,
6+
} from "../interface";
7+
import { DurationInSeconds } from "../utils";
8+
import { PricePusherMetrics } from "../metrics";
9+
import { Logger } from "pino";
310

411
/**
512
* EVM-specific configuration for balance tracker
@@ -49,3 +56,31 @@ export class EvmBalanceTracker extends BaseBalanceTracker {
4956
}
5057
}
5158
}
59+
60+
/**
61+
* Parameters for creating an EVM balance tracker
62+
*/
63+
export interface CreateEvmBalanceTrackerParams {
64+
client: SuperWalletClient;
65+
address: `0x${string}`;
66+
network: string;
67+
updateInterval: DurationInSeconds;
68+
metrics: PricePusherMetrics;
69+
logger: Logger;
70+
}
71+
72+
/**
73+
* Factory function to create a balance tracker for EVM chains
74+
*/
75+
export function createEvmBalanceTracker(
76+
params: CreateEvmBalanceTrackerParams,
77+
): IBalanceTracker {
78+
return new EvmBalanceTracker({
79+
client: params.client,
80+
address: params.address,
81+
network: params.network,
82+
updateInterval: params.updateInterval,
83+
metrics: params.metrics,
84+
logger: params.logger,
85+
});
86+
}

apps/price_pusher/src/evm/command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { createClient } from "./super-wallet";
1212
import { createPythContract } from "./pyth-contract";
1313
import { isWsEndpoint, filterInvalidPriceItems } from "../utils";
1414
import { PricePusherMetrics } from "../metrics";
15-
import { createEvmBalanceTracker } from "../balance-tracker";
15+
import { createEvmBalanceTracker } from "./balance-tracker";
1616

1717
export default {
1818
command: "evm",

apps/price_pusher/src/sui/balance-tracker.ts

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { SuiClient } from "@mysten/sui/client";
2-
import { BaseBalanceTracker, BaseBalanceTrackerConfig } from "../interface";
2+
import {
3+
BaseBalanceTracker,
4+
BaseBalanceTrackerConfig,
5+
IBalanceTracker,
6+
} from "../interface";
7+
import { DurationInSeconds } from "../utils";
8+
import { PricePusherMetrics } from "../metrics";
9+
import { Logger } from "pino";
310

411
/**
512
* Sui-specific configuration for balance tracker
@@ -59,3 +66,31 @@ export class SuiBalanceTracker extends BaseBalanceTracker {
5966
}
6067
}
6168
}
69+
70+
/**
71+
* Parameters for creating a Sui balance tracker
72+
*/
73+
export interface CreateSuiBalanceTrackerParams {
74+
client: SuiClient;
75+
address: string;
76+
network: string;
77+
updateInterval: DurationInSeconds;
78+
metrics: PricePusherMetrics;
79+
logger: Logger;
80+
}
81+
82+
/**
83+
* Factory function to create a balance tracker for Sui chain
84+
*/
85+
export function createSuiBalanceTracker(
86+
params: CreateSuiBalanceTrackerParams,
87+
): IBalanceTracker {
88+
return new SuiBalanceTracker({
89+
client: params.client,
90+
address: params.address,
91+
network: params.network,
92+
updateInterval: params.updateInterval,
93+
metrics: params.metrics,
94+
logger: params.logger,
95+
});
96+
}

apps/price_pusher/src/sui/command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
1010
import pino from "pino";
1111
import { filterInvalidPriceItems } from "../utils";
1212
import { PricePusherMetrics } from "../metrics";
13-
import { createSuiBalanceTracker } from "../balance-tracker";
13+
import { createSuiBalanceTracker } from "./balance-tracker";
1414
import { SuiClient } from "@mysten/sui/client";
1515

1616
export default {

0 commit comments

Comments
 (0)