/**
 * 销毁事件定义
 * 来自 trading-service
 */

/**
 * 每分钟定时销毁事件
 */
export interface MinuteBurnExecutedEvent {
  eventId: string;
  eventType: 'burn.minute-executed';
  aggregateType: string;
  aggregateId: string;
  createdAt: string;
  payload: MinuteBurnExecutedPayload;
}

export interface MinuteBurnExecutedPayload {
  burnRecordId: string;
  burnMinute: string;
  burnAmount: string;
  totalBurned: string;
  remainingTarget: string;
  executedAt: string;
}

/**
 * 卖出销毁事件
 */
export interface BurnExecutedEvent {
  eventId: string;
  eventType: 'burn.executed';
  aggregateType: string;
  aggregateId: string;
  createdAt: string;
  payload: BurnExecutedPayload;
}

export interface BurnExecutedPayload {
  burnRecordId: string;
  sourceType: 'SELL' | 'SCHEDULED';
  sourceAccountSeq?: string;
  sourceOrderNo?: string;
  burnAmount: string;
  burnMultiplier?: string;
  remainingTarget: string;
  executedAt: string;
}
