@qso-soft/shared
Version:
Shared library for QSO-soft
47 lines (46 loc) • 1.76 kB
TypeScript
import { Hex } from 'viem';
import { Route, RouteSettings, SavedModules, SupportedNetworks, TransformedModuleParams, WalletWithModules } from '../../types';
import { ClientClass, ClientType } from '../clients';
export type ResponseStatus = 'passed' | 'success' | 'warning' | 'error' | 'critical';
export type TransactionCallbackParams = TransformedModuleParams & {
client: ClientType;
};
export type TransactionWorkerProps = TransformedModuleParams & {
baseNetwork: SupportedNetworks;
projectName: string;
moduleIndex: number;
startLogMessage?: string;
};
export type TransactionCallbackResponse = {
status: ResponseStatus;
message?: string;
txHash?: Hex;
explorerLink?: string;
};
export type TransactionCallbackReturn = Promise<TransactionCallbackResponse>;
export type TransactionWorkerCallbackProp = {
transactionCallback: (params: TransactionCallbackParams) => TransactionCallbackReturn;
};
export type TransactionWorkerPropsWithCallback = TransactionWorkerCallbackProp & TransactionWorkerProps;
export type StartModulesCallbackArgs = {
walletWithModules: WalletWithModules;
logsFolderName: string;
walletsTotalCount: number;
currentWalletIndex: number;
};
type StartModulesCallback = (args: StartModulesCallbackArgs) => Promise<any>;
export type BaseMainScriptArgs = {
clientToPrepareWallets: ClientClass;
logsFolderName: string;
startModulesCallback: StartModulesCallback;
projectName: string;
};
export interface RestartLastArgs extends BaseMainScriptArgs {
savedModules?: SavedModules;
walletsWithModules?: WalletWithModules[];
}
export type MainScriptArgs = BaseMainScriptArgs & {
routeHandler: (route: Route) => RouteSettings;
routesField: string;
};
export {};