@coinbase/onchaintestkit
Version:
End-to-end testing toolkit for blockchain applications, powered by Playwright
41 lines (40 loc) • 1.62 kB
TypeScript
import type { BrowserContext, Page } from "@playwright/test";
import { ActionOptions, BaseActionType, BaseWallet } from "../BaseWallet";
import { PhantomConfig } from "../types";
export declare enum PhantomSpecificActionType {
LOCK = "lock",
UNLOCK = "unlock",
ADD_TOKEN = "addToken",
ADD_ACCOUNT = "addAccount",
SWITCH_ACCOUNT = "switchAccount",
SEND_TOKENS = "sendTokens",
SWITCH_BLOCKCHAIN = "switchBlockchain",
ENABLE_TEST_MODE = "enableTestMode",
SIGN_MESSAGE = "signMessage"
}
type PhantomActionType = BaseActionType | PhantomSpecificActionType;
export declare class PhantomWallet extends BaseWallet {
private readonly context;
private readonly extensionId?;
readonly config: PhantomConfig;
private page;
private onboardingPage;
private homePage;
private notificationPage;
get browserContext(): BrowserContext;
constructor(walletConfig: PhantomConfig, context: BrowserContext, page: Page, extensionId?: string);
static initialize(currentContext: BrowserContext, contextPath: string, _walletConfig: PhantomConfig): Promise<{
phantomPage: Page;
phantomContext: BrowserContext;
}>;
/**
* Navigate to the main Phantom extension popup after onboarding
*/
private navigateToMainPopup;
static createContext(contextPath: string, slowMo?: number): Promise<BrowserContext>;
handleAction(action: PhantomActionType, options?: ActionOptions): Promise<void>;
get walletContext(): BrowserContext;
get walletPage(): Page;
get walletExtensionId(): string | undefined;
}
export * from "./fixtures";