@yubing744/rooch-sdk
Version:
32 lines (31 loc) • 1.32 kB
TypeScript
import { AnnotatedFunctionResultView, StatePageView, StateView } from '../types';
import { IClient } from './interface';
import { ExecuteViewFunctionParams, ListStatesParams } from './types.ts';
export interface ITransactionFilterChain {
doFilter(request: any): Promise<any>;
}
export interface ITransactionFilter {
init(): void;
doFilter(request: any, chain: ITransactionFilterChain): Promise<any>;
destroy(): void;
}
export type FilterFunc = (request: any, chain: ITransactionFilterChain) => Promise<any>;
export declare class FuncFilter implements ITransactionFilter {
private func;
constructor(func: FilterFunc);
init(): void;
destroy(): void;
doFilter(request: any, chain: ITransactionFilterChain): Promise<any>;
}
export declare class FilteredProvider implements IClient {
private target;
private filters;
constructor(target: IClient, filters: Array<ITransactionFilter>);
getRpcApiVersion(): Promise<string | undefined>;
getChainId(): number;
executeViewFunction(params: ExecuteViewFunctionParams): Promise<AnnotatedFunctionResultView>;
getStates(accessPath: string): Promise<StateView | null[]>;
listStates(params: ListStatesParams): Promise<StatePageView>;
sendRawTransaction(playload: Uint8Array): Promise<string>;
destroy(): void;
}