• Class annotation to be used to decorate Modules which support an asynchronous creation factory pattern

    Type Parameters

    • TModule extends AttachableModuleInstance<
          BaseParamsFields & {
              account?: AccountInstance
              | "random";
              additionalSigners?: AccountInstance[];
              addToResolvers?: boolean;
              allowNameResolution?: boolean;
              config: AnyConfigSchema<ModuleConfig>;
              ephemeralQueryAccountEnabled?: boolean;
              moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
              privateChildren?: ModuleInstance<
                  (
                      BaseParamsFields & { account?: AccountInstance | "random" | undefined; addToResolvers?: boolean | undefined; additionalSigners?: AccountInstance[] | undefined; ... 5 more ...; publicChildren?: ModuleInstance<...>[] | undefined; }
                  ),
                  ModuleEventData<object>,
              >[];
              publicChildren?: ModuleInstance<
                  (
                      BaseParamsFields & { account?: AccountInstance | "random" | undefined; addToResolvers?: boolean | undefined; additionalSigners?: AccountInstance[] | undefined; ... 5 more ...; publicChildren?: ModuleInstance<...>[] | undefined; }
                  ),
                  ModuleEventData<object>,
              >[];
          },
          ModuleEventData<object>,
      > = AttachableModuleInstance<
          BaseParamsFields & {
              account?: AccountInstance
              | "random";
              additionalSigners?: AccountInstance[];
              addToResolvers?: boolean;
              allowNameResolution?: boolean;
              config: AnyConfigSchema<ModuleConfig>;
              ephemeralQueryAccountEnabled?: boolean;
              moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
              privateChildren?: ModuleInstance<
                  (
                      BaseParamsFields & { account?: AccountInstance | "random" | undefined; addToResolvers?: boolean | undefined; additionalSigners?: AccountInstance[] | undefined; ... 5 more ...; publicChildren?: ModuleInstance<...>[] | undefined; }
                  ),
                  ModuleEventData<object>,
              >[];
              publicChildren?: ModuleInstance<
                  (
                      BaseParamsFields & { account?: AccountInstance | "random" | undefined; addToResolvers?: boolean | undefined; additionalSigners?: AccountInstance[] | undefined; ... 5 more ...; publicChildren?: ModuleInstance<...>[] | undefined; }
                  ),
                  ModuleEventData<object>,
              >[];
          },
          ModuleEventData<object>,
      >

    Returns <U extends CreatableModuleFactory<TModule>>(constructor: U) => void

    The decorated Module requiring it implement the members of the CreatableModule as statics properties/methods