import { Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';

// Services
import { SystemAccountService } from './services/system-account.service';
import { PoolAccountService } from './services/pool-account.service';
import { UserWalletService } from './services/user-wallet.service';
import { BlockchainIntegrationService } from './services/blockchain.service';

// Schedulers
import { OutboxScheduler } from './schedulers/outbox.scheduler';

@Module({
  imports: [ScheduleModule.forRoot()],
  providers: [
    // Services
    SystemAccountService,
    PoolAccountService,
    UserWalletService,
    BlockchainIntegrationService,
    // Schedulers
    OutboxScheduler,
  ],
  exports: [
    SystemAccountService,
    PoolAccountService,
    UserWalletService,
    BlockchainIntegrationService,
  ],
})
export class ApplicationModule {}
