Type Alias ConstructableModuleWrapper<TWrapper>

ConstructableModuleWrapper: {
    defaultLogger?: Logger;
    instanceIdentityCheck: InstanceTypeCheck;
    moduleIdentityCheck: ModuleTypeCheck;
    requiredQueries: string[];
    canWrap(
        mod:
            | undefined
            | Module<
                BaseParamsFields & {
                    account?: AccountInstance
                    | "random";
                    additionalSigners?: AccountInstance[];
                    addToResolvers?: boolean;
                    allowNameResolution?: boolean;
                    config: TConfig extends AnyConfigSchema<ModuleConfig>
                        ? TConfig
                        : AnyConfigSchema<ModuleConfig>;
                    ephemeralQueryAccountEnabled?: boolean;
                    moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
                    privateChildren?: ModuleInstance[];
                    publicChildren?: ModuleInstance[];
                },
                ModuleEventData<object>,
            >,
    ): boolean;
    is<
        TModuleWrapper extends
            ModuleWrapper<
                Module<
                    BaseParamsFields & {
                        account?: AccountInstance
                        | "random";
                        additionalSigners?: AccountInstance[];
                        addToResolvers?: boolean;
                        allowNameResolution?: boolean;
                        config: TConfig extends AnyConfigSchema<ModuleConfig>
                            ? TConfig
                            : AnyConfigSchema<ModuleConfig>;
                        ephemeralQueryAccountEnabled?: boolean;
                        moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
                        privateChildren?: ModuleInstance[];
                        publicChildren?: ModuleInstance[];
                    },
                    ModuleEventData<object>,
                >,
            >,
    >(
        this: ConstructableModuleWrapper<TModuleWrapper>,
        wrapper?: any,
    ): wrapper is TModuleWrapper;
    tryWrap<
        TModuleWrapper extends
            ModuleWrapper<
                Module<
                    BaseParamsFields & {
                        account?: AccountInstance
                        | "random";
                        additionalSigners?: AccountInstance[];
                        addToResolvers?: boolean;
                        allowNameResolution?: boolean;
                        config: TConfig extends AnyConfigSchema<ModuleConfig>
                            ? TConfig
                            : AnyConfigSchema<ModuleConfig>;
                        ephemeralQueryAccountEnabled?: boolean;
                        moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
                        privateChildren?: ModuleInstance[];
                        publicChildren?: ModuleInstance[];
                    },
                    ModuleEventData<object>,
                >,
            >,
    >(
        this: ConstructableModuleWrapper<TModuleWrapper>,
        mod:
            | undefined
            | Module<
                BaseParamsFields & {
                    account?: AccountInstance
                    | "random";
                    additionalSigners?: AccountInstance[];
                    addToResolvers?: boolean;
                    allowNameResolution?: boolean;
                    config: TConfig extends AnyConfigSchema<ModuleConfig>
                        ? TConfig
                        : AnyConfigSchema<ModuleConfig>;
                    ephemeralQueryAccountEnabled?: boolean;
                    moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
                    privateChildren?: ModuleInstance[];
                    publicChildren?: ModuleInstance[];
                },
                ModuleEventData<object>,
            >,
        account: AccountInstance,
        checkIdentity?: boolean,
    ): undefined | TModuleWrapper;
    wrap<
        TModuleWrapper extends
            ModuleWrapper<
                Module<
                    BaseParamsFields & {
                        account?: AccountInstance
                        | "random";
                        additionalSigners?: AccountInstance[];
                        addToResolvers?: boolean;
                        allowNameResolution?: boolean;
                        config: TConfig extends AnyConfigSchema<ModuleConfig>
                            ? TConfig
                            : AnyConfigSchema<ModuleConfig>;
                        ephemeralQueryAccountEnabled?: boolean;
                        moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
                        privateChildren?: ModuleInstance[];
                        publicChildren?: ModuleInstance[];
                    },
                    ModuleEventData<object>,
                >,
            >,
    >(
        this: ConstructableModuleWrapper<TModuleWrapper>,
        mod:
            | undefined
            | Module<
                BaseParamsFields & {
                    account?: AccountInstance
                    | "random";
                    additionalSigners?: AccountInstance[];
                    addToResolvers?: boolean;
                    allowNameResolution?: boolean;
                    config: TConfig extends AnyConfigSchema<ModuleConfig>
                        ? TConfig
                        : AnyConfigSchema<ModuleConfig>;
                    ephemeralQueryAccountEnabled?: boolean;
                    moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
                    privateChildren?: ModuleInstance[];
                    publicChildren?: ModuleInstance[];
                },
                ModuleEventData<object>,
            >,
        account: AccountInstance,
        checkIdentity?: boolean,
    ): TModuleWrapper;
    new (
        params: BaseParamsFields & {
            account: AccountInstance;
            additionalSigners?: AccountInstance[];
            mod: TWrappedModule;
        },
    ): TWrapper;
}

Type Parameters

Type declaration