diff --git a/src/core/Warp.ts b/src/core/Warp.ts index 44206754..bd7e9ffd 100644 --- a/src/core/Warp.ts +++ b/src/core/Warp.ts @@ -19,7 +19,13 @@ import { HandlerApi } from './modules/impl/HandlerExecutorFactory'; import { InteractionsLoader } from './modules/InteractionsLoader'; import { EvalStateResult, StateEvaluator } from './modules/StateEvaluator'; import { WarpBuilder } from './WarpBuilder'; -import { WarpPluginType, WarpPlugin, knownWarpPlugins, knownWarpPluginsPartial } from './WarpPlugin'; +import { + WarpPluginType, + WarpPlugin, + knownWarpPlugins, + knownWarpPluginsPartial, + WarpKnownPluginType +} from './WarpPlugin'; import { SortKeyCache } from '../cache/SortKeyCache'; import { ContractDefinition, SrcCache } from './ContractDefinition'; import { SignatureType } from '../contract/Signature'; @@ -159,6 +165,8 @@ export class Warp { } private isPluginType(value: string): value is WarpPluginType { - return knownWarpPlugins.includes(value as WarpPluginType) || knownWarpPluginsPartial.some((p) => value.match(p)); + return ( + knownWarpPlugins.includes(value as WarpKnownPluginType) || knownWarpPluginsPartial.some((p) => value.match(p)) + ); } } diff --git a/src/core/WarpPlugin.ts b/src/core/WarpPlugin.ts index e16caf51..12ba5c6d 100644 --- a/src/core/WarpPlugin.ts +++ b/src/core/WarpPlugin.ts @@ -4,10 +4,11 @@ export const knownWarpPlugins = [ 'subscription', 'ivm-handler-api', 'evaluation-progress', - 'fetch-options', - ...knownWarpPluginsPartial + 'fetch-options' ] as const; -export type WarpPluginType = typeof knownWarpPlugins[number]; +type WarpPluginPartialType = `smartweave-extension-${string}`; +export type WarpKnownPluginType = typeof knownWarpPlugins[number]; +export type WarpPluginType = WarpKnownPluginType | WarpPluginPartialType; export interface WarpPlugin { type(): WarpPluginType;