import { IAttributes as ICancelCOAReserveActionAttributes } from '../action/cancel/coaReserve'; import { IPurpose } from '../action/cancel/reservation'; import { AssetTransactionType } from '../assetTransactionType'; import { IExtendId } from '../autoGenerated'; import { ITaskAttributes } from '../task'; import { TaskName } from '../taskName'; export interface ICancelPurpose extends IPurpose { typeOf: AssetTransactionType.Reserve; } export interface IPotentialCancelAction { purpose: ICancelPurpose; object?: never; instrument?: never; } /** * support COAReserve(2025-03-01~) */ export type IPotentialCancelCOAReserveAction = Pick & { purpose?: never; }; export type IData = IPotentialCancelAction | IPotentialCancelCOAReserveAction; export interface IAttributes extends ITaskAttributes { name: TaskName.CancelPendingReservation; data: IData; } /** * cancel pending reservations task */ export type ITask = IExtendId;