1 | import { JsonRpcMiddleware, JsonRpcRequest } from 'json-rpc-engine';
|
2 | import type { Block } from './types';
|
3 | export interface TransactionParams {
|
4 | from: string;
|
5 | }
|
6 | export interface MessageParams extends TransactionParams {
|
7 | data: string;
|
8 | }
|
9 | interface TypedMessageParams extends MessageParams {
|
10 | version: string;
|
11 | }
|
12 | interface WalletMiddlewareOptions {
|
13 | getAccounts: (req: JsonRpcRequest<unknown>, options?: {
|
14 | suppressUnauthorized?: boolean;
|
15 | }) => Promise<string[]>;
|
16 | processDecryptMessage?: (msgParams: MessageParams, req: JsonRpcRequest<unknown>) => Promise<Record<string, unknown>>;
|
17 | processEncryptionPublicKey?: (address: string, req: JsonRpcRequest<unknown>) => Promise<Record<string, unknown>>;
|
18 | processEthSignMessage?: (msgParams: MessageParams, req: JsonRpcRequest<unknown>) => Promise<Record<string, unknown>>;
|
19 | processPersonalMessage?: (msgParams: MessageParams, req: JsonRpcRequest<unknown>) => Promise<string>;
|
20 | processTransaction?: (txParams: TransactionParams, req: JsonRpcRequest<unknown>) => Promise<string>;
|
21 | processSignTransaction?: (txParams: TransactionParams, req: JsonRpcRequest<unknown>) => Promise<string>;
|
22 | processTypedMessage?: (msgParams: MessageParams, req: JsonRpcRequest<unknown>, version: string) => Promise<string>;
|
23 | processTypedMessageV3?: (msgParams: TypedMessageParams, req: JsonRpcRequest<unknown>, version: string) => Promise<Record<string, unknown>>;
|
24 | processTypedMessageV4?: (msgParams: TypedMessageParams, req: JsonRpcRequest<unknown>, version: string) => Promise<Record<string, unknown>>;
|
25 | }
|
26 | export declare function createWalletMiddleware({ getAccounts, processDecryptMessage, processEncryptionPublicKey, processEthSignMessage, processPersonalMessage, processTransaction, processSignTransaction, processTypedMessage, processTypedMessageV3, processTypedMessageV4, }: WalletMiddlewareOptions): JsonRpcMiddleware<string, Block>;
|
27 | export {};
|