import { ChainType } from '@/domain/value-objects';

/**
 * 请求提现命令
 */
export class RequestWithdrawalCommand {
  constructor(
    public readonly userId: string,
    public readonly amount: number,       // 提现金额 (USDT)
    public readonly toAddress: string,    // 目标地址
    public readonly chainType: ChainType, // 目标链 (BSC/KAVA)
  ) {}
}

/**
 * 更新提现状态命令 (内部使用)
 */
export class UpdateWithdrawalStatusCommand {
  constructor(
    public readonly orderNo: string,
    public readonly status: 'BROADCASTED' | 'CONFIRMED' | 'FAILED',
    public readonly txHash?: string,
    public readonly errorMessage?: string,
  ) {}
}
