@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
TypeScript
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>;
}