UNPKG

@erc7824/nitrolite

Version:

The Nitrolite SDK empowers developers to build high-performance, scalable web3 applications using state channels. It's designed to provide near-instant transactions and significantly improved user experiences by minimizing direct blockchain interactions.

23 lines (22 loc) 937 B
import { Account, Address, Chain, Hex, ParseAccount, Transport, WalletClient } from 'viem'; import { State, UnsignedState } from './types'; export interface StateSigner { getAddress(): Address; signState(channelId: Hex, state: UnsignedState): Promise<Hex>; signRawMessage(message: Hex): Promise<Hex>; } export declare class WalletStateSigner implements StateSigner { private readonly walletClient; constructor(walletClient: WalletClient<Transport, Chain, ParseAccount<Account>>); getAddress(): Address; signState(channelId: Hex, state: State): Promise<Hex>; signRawMessage(message: Hex): Promise<Hex>; } export declare class SessionKeyStateSigner implements StateSigner { private readonly sessionKey; private readonly account; constructor(sessionKey: Hex); getAddress(): Address; signState(channelId: Hex, state: State): Promise<Hex>; signRawMessage(message: Hex): Promise<Hex>; }