Skip to main content

Classes

BaseWallet

Abstract base class for wallet implementations.

MetaMask

MetaMask wallet automation class.

CoinbaseWallet

Coinbase Wallet automation class.

PasskeyAuthenticator

WebAuthn virtual authenticator for Coinbase Wallet.

Enums

BaseActionType

Common actions supported by all wallets.

MetaMaskSpecificActionType

MetaMask-specific actions.

CoinbaseSpecificActionType

Coinbase Wallet-specific actions.

NotificationPageType

Types of wallet notifications.

ActionApprovalType

Approval types for wallet actions.

Types

ActionOptions

Options for wallet actions.

NetworkConfig

Network configuration object.

WalletSetupContext

Context provided during wallet setup.

PasskeyConfig

Configuration for passkey authentication (Coinbase only).

MetaMaskConfig

MetaMask wallet configuration.

CoinbaseConfig

Coinbase Wallet configuration.

Configuration Builder

configure()

Creates a configuration builder.

ConfigBuilder Methods

Test Creation

createOnchainTest()

Creates a test function with wallet fixtures.

Test Fixtures

Usage Examples

Basic Wallet Action

Action with Options

Network Switching

Token Addition (MetaMask)

Passkey Handling (Coinbase)

Error Handling

All wallet methods may throw errors. Common error scenarios:
  • Wallet extension not found
  • Network not available
  • Account not found
  • Transaction rejected
  • Timeout exceeded

Best Practices

  1. Always check fixture existence: Verify wallet fixtures are available before use
  2. Use appropriate action types: Use base actions for common operations, specific actions for wallet-unique features
  3. Handle errors gracefully: Wrap wallet actions in try-catch blocks
  4. Wait for UI updates: Allow time for UI to update after wallet actions
  5. Use notification detection: Use identifyNotificationType() for dynamic flows

See Also