viem
Version:
37 lines • 1.66 kB
TypeScript
import * as RpcResponse from 'ox/RpcResponse';
import type { EIP1193RequestOptions } from '../types/eip1193.js';
import * as ConfigStore from './multisig/Config.js';
import * as OperationStore from './multisig/Operation.js';
import type * as Store from './Store.js';
/**
* Creates an RPC request handler that coordinates native multisig approvals.
*
* @param next - Downstream RPC request handler.
* @param parameters - Handler parameters.
* @returns The multisig-aware RPC request handler.
*/
export declare function handleRequest(next: handleRequest.Handler, parameters: handleRequest.Parameters): handleRequest.Handler;
export declare namespace handleRequest {
/** RPC request handler. */
type Handler = (request: Request, options?: RequestOptions | undefined) => Promise<unknown>;
/** RPC request passed to a handler. */
type Request = {
/** RPC method name. */
method: string;
/** RPC method parameters. */
params?: readonly unknown[] | undefined;
};
/** Options for one handled request. */
type RequestOptions = EIP1193RequestOptions & {
/** Chain selected by the caller or inferred from the multisig request. */
chainId?: number | undefined;
};
/** Parameters for {@link handleRequest}. */
type Parameters = {
/** Store shared by multisig coordinators. */
store: Store.Atomic;
};
/** Error type for {@link handleRequest}. */
type ErrorType = ConfigStore.InvalidStoreValueError | OperationStore.InvalidStoreValueError | OperationStore.StoreConflictError | RpcResponse.InvalidParamsError;
}
//# sourceMappingURL=Multisig.d.ts.map