@qso-soft/shared
Version:
Shared library for QSO-soft
83 lines (82 loc) • 2.31 kB
TypeScript
import { RangeByIdFilter } from '../helpers';
import { AutoGasNetworks } from '../managers/auto-gas/types';
import { NumberRange } from './common';
import { UserModuleConfig } from './module';
export interface SettingsDelays {
betweenTransactions: NumberRange;
betweenModules: NumberRange;
betweenWallets: NumberRange;
betweenRetries: number;
betweenRestarts: number;
}
export interface AutoGasNetworkSettings {
useAutoGas: boolean;
cex: 'binance' | 'okx';
minBalance: number;
withdrawToAmount: NumberRange;
withdrawSleep: NumberRange;
expectedBalance?: NumberRange;
}
export type AutoGasSettings = Partial<Record<AutoGasNetworks, AutoGasNetworkSettings>>;
export interface ShuffleSettings {
wallets: boolean;
modules: boolean;
}
interface InvitesAmount {
}
export interface DefaultSettings {
routes?: Route[];
scrollRoutes: Route[];
baseRoutes: Route[];
zkSyncRoutes: Route[];
zoraRoutes: Route[];
layerZeroRoutes: Route[];
shuffle: ShuffleSettings;
threads: number;
txAttempts: number;
delay: SettingsDelays;
invitesAmount: InvitesAmount;
autoGas: AutoGasSettings;
txAttemptsToChangeProxy: number;
useProxy: boolean;
useRestartInMain: boolean;
useSavedModules: boolean;
idFilter: RangeByIdFilter;
}
export type Route = 'base' | 'flow-1' | 'flow-2' | 'flow-3' | 'flow-4' | 'one-time' | 'low-cost' | 'top-up-balance' | 'warm-up' | 'volume' | 'dev' | 'checkers' | 'new-accounts' | 'polyhedra' | 'alt-layer' | 'check-balances';
export type Settings = DefaultSettings;
export type RouteSettings = {
modules: UserModuleConfig[];
countModules: NumberRange;
limitWalletsToUse: number;
splitModuleCount?: boolean;
};
export interface BinanceSettings {
proxy: string;
secretKeys: {
secret: string;
apiKey: string;
};
}
export interface OkxSettings {
proxy: string;
accountName: string;
accounts: {
[key: string]: {
apiKey: string;
secret: string;
password: string;
};
};
}
export interface TelegramSettings {
token: {
modulesInfo: string;
criticalErrors: string;
};
IDs: {
modulesInfo: number[];
criticalErrors: number[];
};
}
export {};