import { DomainEvent } from './domain-event.base';

export interface DepositCompletedPayload {
  userId: string;
  walletId: string;
  amount: string;
  assetType: string;
  chainType: string;
  txHash: string;
  balanceAfter: string;
}

export class DepositCompletedEvent extends DomainEvent {
  constructor(private readonly payload: DepositCompletedPayload) {
    super({
      aggregateId: payload.walletId,
      aggregateType: 'WalletAccount',
    });
  }

  getPayload(): DepositCompletedPayload {
    return this.payload;
  }
}
