|
1 | 1 | 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"; |
3 | 10 |
|
4 | 11 | /**
|
5 | 12 | * Aptos-specific configuration for balance tracker
|
@@ -72,3 +79,33 @@ export class AptosBalanceTracker extends BaseBalanceTracker {
|
72 | 79 | }
|
73 | 80 | }
|
74 | 81 | }
|
| 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 | +} |
0 commit comments