@moonsong-labs/moonwall-cli
Version:
Testing framework for the Moon family of projects
37 lines (34 loc) • 929 B
TypeScript
import { ApiPromise, WsProvider } from '@polkadot/api';
import { Signer } from 'ethers';
import { Web3 } from 'web3';
import { FoundationType, ProviderType } from './config.js';
type MoonwallEnvironment = {
name: string;
providers: MoonwallProvider[];
foundationType: FoundationType;
nodes: Node[];
};
interface MoonwallProvider {
name: string;
type: ProviderType;
connect: () => Promise<ApiPromise> | Signer | Web3 | void;
ws?: () => WsProvider;
}
interface ConnectedProvider {
name: string;
type: ProviderType;
api: ApiPromise | Signer | Web3;
disconnect: () => Promise<void>;
greet: () => Promise<void> | void | {
rtName: string;
rtVersion: number;
};
}
type Node = {
name?: string;
cmd: string;
args: string[];
rtUpgradePath?: string;
launch?: boolean;
};
export { ConnectedProvider, MoonwallEnvironment, MoonwallProvider, Node };