/// import { PersistedAccountInfo } from '@metaplex-foundation/amman-client'; import { Keypair } from '@solana/web3.js'; import { ChildProcess } from 'child_process'; import { AccountStates } from 'src/accounts/state'; import { AmmanConfig } from '../types'; import { AmmanState } from './types'; export declare function buildSolanaValidatorArgs(config: Required, forceClone: boolean): Promise<{ args: string[]; persistedAccountInfos: PersistedAccountInfo[]; persistedSnapshotAccountInfos: (PersistedAccountInfo & { label: string; accountPath: string; })[]; snapshotAccounts: import("./types").Account[]; accountsFolder: string; keypairs: Map; cleanupConfig: () => Promise; }>; export declare function startSolanaValidator(args: string[], detached: boolean): Promise; export declare function waitForValidator(jsonRpcUrl: string, verifyFees: boolean, cleanupConfig: () => Promise): Promise; export declare function killValidatorChild(child: ChildProcess): Promise; /** * Attempts to kill and restart the validator creating a snapshot of accounts and keypairs first. * That same snapshot is then loaded on restart. * * @param accountOverrides allow to override some accounts that are written to the snapshot * */ export declare function restartValidatorWithAccountOverrides(accountStates: AccountStates, ammanState: AmmanState, addresses: string[], accountLabels: Record, keypairs: Map, accountOverrides: Map): Promise<{ persistedAccountInfos: PersistedAccountInfo[]; persistedSnapshotAccountInfos: (PersistedAccountInfo & { label: string; accountPath: string; })[]; snapshotAccounts: import("./types").Account[]; accountsFolder: string; keypairs: Map; args: string[]; }>; /** * Attempts to kill and restart the validator with the given snapshot. */ export declare function restartValidatorWithSnapshot(accountStates: AccountStates, ammanState: AmmanState, snapshotLabel: string): Promise<{ persistedAccountInfos: PersistedAccountInfo[]; persistedSnapshotAccountInfos: (PersistedAccountInfo & { label: string; accountPath: string; })[]; snapshotAccounts: import("./types").Account[]; accountsFolder: string; keypairs: Map; args: string[]; }>; /** * Attempts to kill and restart the validator with the provided config. * * NOTE: that for now this seems to only work once, i.e. the validator fails to * handle transactions after it is restarted twice (they time out after 30secs) * */ export declare function restartValidator(accountStates: AccountStates, ammanState: AmmanState, config: Required): Promise<{ persistedAccountInfos: PersistedAccountInfo[]; persistedSnapshotAccountInfos: (PersistedAccountInfo & { label: string; accountPath: string; })[]; snapshotAccounts: import("./types").Account[]; accountsFolder: string; keypairs: Map; args: string[]; }>;