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<void, void> = ModuleConfig<void, void>,
    >(
        query: T,
        payloads?: Payload[],
        queryConfig?: TConf,
    ) => Promisable<ModuleQueryResult<Payload, ModuleError, BoundWitness>>;
    queryable: <
        T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
        TConf extends ModuleConfig<void, void> = ModuleConfig<void, void>,
    >(
        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
modName?: string
params: TParams
previousHash: () => Promisable<undefined | string>
queries: string[]
query: <
    T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
    TConf extends ModuleConfig<void, void> = ModuleConfig<void, void>,
>(
    query: T,
    payloads?: Payload[],
    queryConfig?: TConf,
) => Promisable<ModuleQueryResult<Payload, ModuleError, BoundWitness>>
queryable: <
    T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
    TConf extends ModuleConfig<void, void> = ModuleConfig<void, void>,
>(
    query: T,
    payloads?: Payload[],
    queryConfig?: TConf,
) => Promisable<boolean>
start?: () => Promisable<boolean>
stop?: () => Promisable<boolean>