interface ModuleFields<TParams extends ModuleParams = ModuleParams> {
    address: Lowercase<string>;
    config: TParams["config"];
    id: string;
    modName?: string;
    params: TParams;
    previousHash: () => Promisable<undefined | string>;
    queries: string[];
    query: <
        T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
        TConf extends ModuleConfig = ModuleConfig,
    >(
        query: T,
        payloads?: Payload[],
        queryConfig?: TConf,
    ) => Promisable<ModuleQueryResult>;
    queryable: <
        T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
        TConf extends ModuleConfig = ModuleConfig,
    >(
        query: T,
        payloads?: Payload[],
        queryConfig?: TConf,
    ) => Promisable<boolean>;
    start?: () => Promisable<boolean>;
    stop?: () => Promisable<boolean>;
}

Type Parameters

Hierarchy (View Summary)

Properties

address: Lowercase<string>
config: TParams["config"]
id: string

The name (if specified) or address of the module

modName?: string
params: TParams
previousHash: () => Promisable<undefined | string>
queries: string[]
query: <
    T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
    TConf extends ModuleConfig = ModuleConfig,
>(
    query: T,
    payloads?: Payload[],
    queryConfig?: TConf,
) => Promisable<ModuleQueryResult>
queryable: <
    T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
    TConf extends ModuleConfig = ModuleConfig,
>(
    query: T,
    payloads?: Payload[],
    queryConfig?: TConf,
) => Promisable<boolean>
start?: () => Promisable<boolean>
stop?: () => Promisable<boolean>