From e73b96608e08951a1141b5c1c151528df4fe189d Mon Sep 17 00:00:00 2001 From: Yannick1712 <52333989+Yannick1712@users.noreply.github.com> Date: Tue, 24 Jun 2025 09:28:22 +0200 Subject: [PATCH 1/6] [DEV-2478] DfxLoggerService Injectable --- .../alchemy/controllers/alchemy.controller.ts | 9 +++++---- .../services/alchemy-webhook.service.ts | 7 +++---- .../bank/services/olkypay.service.ts | 8 ++++---- .../bank/services/revolut.service.ts | 8 ++++---- .../blockchain/arbitrum/arbitrum-client.ts | 7 +++++-- .../blockchain/arbitrum/arbitrum.service.ts | 4 +++- .../blockchain/base/base-client.ts | 6 ++++-- .../blockchain/base/base.service.ts | 4 +++- .../blockchain/bitcoin/node/bitcoin-client.ts | 10 ++++++++++ .../bitcoin/node/bitcoin.service.ts | 10 +++++----- .../blockchain/bitcoin/node/node-client.ts | 5 ++--- src/integration/blockchain/bsc/bsc.service.ts | 4 +++- .../blockchain/deuro/deuro.service.ts | 6 ++++++ .../blockchain/ebel2x/ebel2x.service.ts | 4 +++- .../blockchain/ethereum/ethereum.service.ts | 4 +++- .../frankencoin/frankencoin.service.ts | 6 ++++++ .../blockchain/gnosis/gnosis-client.ts | 3 --- .../blockchain/gnosis/gnosis.service.ts | 4 +++- .../blockchain/optimism/optimism-client.ts | 7 +++++-- .../blockchain/optimism/optimism.service.ts | 4 +++- .../blockchain/polygon/polygon-client.ts | 7 +++++-- .../blockchain/polygon/polygon.service.ts | 4 +++- .../blockchain/shared/evm/evm-client.ts | 2 ++ .../shared/evm/evm-decimals.service.ts | 9 +++++---- .../shared/evm/evm-gas-price.service.ts | 10 ++++++---- .../frankencoin/frankencoin-based.service.ts | 4 ++-- .../blockchain/solana/solana-wallet.ts | 3 --- .../services/binance-pay.service.ts | 7 +++---- .../controllers/exchange.controller.ts | 8 ++++---- .../services/__tests__/exchange.test.ts | 4 ++-- .../exchange/services/binance.service.ts | 8 +++++--- .../exchange/services/bitpanda.service.ts | 8 +++++--- .../exchange/services/bitstamp.service.ts | 8 +++++--- .../exchange/services/exchange-tx.service.ts | 8 +++++--- .../exchange/services/exchange.service.ts | 4 ++-- .../exchange/services/kraken.service.ts | 7 +++---- .../exchange/services/kucoin.service.ts | 8 ++++---- src/integration/sift/services/sift.service.ts | 8 ++++---- .../tatum/controllers/tatum.controller.ts | 8 ++++---- src/main.ts | 4 ++-- src/shared/auth/ip.guard.ts | 4 ++-- src/shared/filters/exception.filter.ts | 4 ++-- src/shared/services/dfx-cron.service.ts | 9 ++++----- .../{dfx-logger.ts => dfx-logger.service.ts} | 19 +++++++++++++------ src/shared/shared.module.ts | 3 +++ src/shared/utils/lock.ts | 4 ++-- .../core/aml/services/aml.service.ts | 9 +++++---- .../services/buy-crypto-batch.service.ts | 9 +++++---- .../services/buy-crypto-dex.service.ts | 9 +++++---- .../buy-crypto-notification.service.ts | 9 +++++---- .../services/buy-crypto-out.service.ts | 9 +++++---- .../buy-crypto-preparation.service.ts | 8 +++++--- .../buy-crypto-registration.service.ts | 9 +++++---- .../buy-crypto/routes/swap/swap.service.ts | 9 +++++---- .../actions/base/ccxt-exchange.adapter.ts | 4 ++-- .../actions/base/frankencoin-based.adapter.ts | 5 ++--- .../adapters/actions/binance.adapter.ts | 6 ++++++ .../adapters/actions/deuro.adapter.ts | 6 ++++++ .../adapters/actions/frankencoin.adapter.ts | 6 ++++++ .../adapters/actions/kraken.adapter.ts | 6 ++++++ .../adapters/balances/bank.adapter.ts | 9 +++++---- .../adapters/balances/blockchain.adapter.ts | 6 +++--- .../adapters/balances/exchange.adapter.ts | 9 +++++---- .../liquidity-management-balance.service.ts | 9 +++++---- .../liquidity-management-pipeline.service.ts | 9 +++++---- .../liquidity-management-rule.service.ts | 9 +++++---- .../services/liquidity-management.service.ts | 9 +++++---- .../core/monitoring/metric.observer.ts | 4 ++-- .../monitor-connection-pool.service.ts | 7 +++---- .../core/monitoring/monitoring.service.ts | 9 +++++---- .../core/monitoring/observers/aml.observer.ts | 12 +++++++++--- .../monitoring/observers/bank.observer.ts | 7 +++++-- .../observers/banking-bot.observer.ts | 8 +++++--- .../monitoring/observers/checkout.observer.ts | 7 +++++-- .../monitoring/observers/exchange.observer.ts | 12 +++++++++--- .../observers/external-services.observer.ts | 7 +++++-- .../observers/liquidity.observer.ts | 7 +++++-- .../observers/node-balance.observer.ts | 11 ++++++++--- .../observers/node-health.observer.ts | 7 +++++-- .../monitoring/observers/payment.observer.ts | 12 +++++++++--- .../monitoring/observers/user.observer.ts | 12 +++++++++--- .../controllers/payment-link.controller.ts | 8 +++++--- .../services/payment-activation.service.ts | 6 +++--- .../services/payment-link.service.ts | 8 +++++--- .../services/payment-quote.service.ts | 9 +++++---- .../services/payment-webhook.service.ts | 7 +++---- .../core/referral/process/ref.service.ts | 8 ++++---- .../reward/services/ref-reward-dex.service.ts | 9 +++++---- .../ref-reward-notification.service.ts | 9 +++++---- .../reward/services/ref-reward-out.service.ts | 9 +++++---- .../services/buy-fiat-notification.service.ts | 9 +++++---- .../services/buy-fiat-preparation.service.ts | 8 +++++--- .../services/buy-fiat-registration.service.ts | 9 +++++---- .../core/sell-crypto/route/sell.service.ts | 9 +++++---- .../trading/services/trading-order.service.ts | 9 +++++---- .../trading/services/trading-rule.service.ts | 8 ++++---- .../core/trading/services/trading.service.ts | 9 +++++---- src/subdomains/generic/gs/gs.controller.ts | 8 ++++---- src/subdomains/generic/gs/gs.service.ts | 9 +++++---- .../generic/kyc/controllers/kyc.controller.ts | 12 ++++++++---- .../kyc/services/integration/ident.service.ts | 8 ++++---- .../services/integration/sum-sub.service.ts | 10 +++++----- .../generic/kyc/services/kyc-admin.service.ts | 9 +++++---- .../kyc/services/kyc-notification.service.ts | 9 +++++---- .../generic/kyc/services/kyc.service.ts | 6 +++--- .../generic/kyc/services/tfa.service.ts | 9 +++++---- .../user/models/auth/auth-alby.service.ts | 9 +++++---- .../generic/user/models/auth/auth.service.ts | 9 +++++---- .../models/bank-data/bank-data.service.ts | 9 +++++---- .../generic/user/models/kyc/kyc.service.ts | 9 +++++---- .../organization/organization.service.ts | 9 +++++---- .../user-data-notification.service.ts | 9 +++++---- .../models/user-data/user-data.service.ts | 9 +++++---- .../generic/user/models/user/user.service.ts | 9 +++++---- .../webhook/webhook-notification.service.ts | 9 +++++---- .../bank-tx-return/bank-tx-return.service.ts | 8 +++++--- .../bank-tx/bank-tx/bank-tx.controller.ts | 8 ++++---- .../bank-tx/services/bank-tx.service.ts | 9 +++++---- .../bank-tx/services/sepa-parser.service.ts | 12 ++++++++---- .../supporting/dex/services/dex.service.ts | 9 +++++---- .../impl/arbitrum-coin.strategy.ts | 12 +++++++++--- .../impl/arbitrum-token.strategy.ts | 8 +++++--- .../impl/base-coin.strategy.ts | 12 +++++++++--- .../impl/base-token.strategy.ts | 8 +++++--- .../impl/base/purchase-liquidity.strategy.ts | 4 ++-- .../impl/bitcoin.strategy.ts | 10 ++++++++-- .../impl/bsc-coin.strategy.ts | 12 +++++++++--- .../impl/bsc-token.strategy.ts | 8 +++++--- .../impl/ethereum-coin.strategy.ts | 12 +++++++++--- .../impl/ethereum-token.strategy.ts | 8 +++++--- .../impl/gnosis-coin.strategy.ts | 12 +++++++++--- .../impl/gnosis-token.strategy.ts | 8 +++++--- .../impl/lightning.strategy.ts | 10 ++++++++-- .../impl/monero.strategy.ts | 10 ++++++++-- .../impl/optimism-coin.strategy.ts | 12 +++++++++--- .../impl/optimism-token.strategy.ts | 8 +++++--- .../impl/polygon-coin.strategy.ts | 12 +++++++++--- .../impl/polygon-token.strategy.ts | 8 +++++--- .../impl/solana-coin.strategy.ts | 10 ++++++++-- .../impl/solana-token.strategy.ts | 10 ++++++++-- .../impl/arbitrum-coin.strategy.ts | 8 +++++--- .../impl/arbitrum-token.strategy.ts | 8 +++++--- .../sell-liquidity/impl/base-coin.strategy.ts | 8 +++++--- .../impl/base-token.strategy.ts | 8 +++++--- .../impl/base/sell-liquidity.strategy.ts | 4 ++-- .../sell-liquidity/impl/bitcoin.strategy.ts | 8 +++++--- .../sell-liquidity/impl/bsc-coin.strategy.ts | 8 +++++--- .../sell-liquidity/impl/bsc-token.strategy.ts | 8 +++++--- .../impl/ethereum-coin.strategy.ts | 8 +++++--- .../impl/ethereum-token.strategy.ts | 8 +++++--- .../impl/gnosis-coin.strategy.ts | 8 +++++--- .../impl/gnosis-token.strategy.ts | 8 +++++--- .../sell-liquidity/impl/monero.strategy.ts | 8 +++++--- .../impl/optimism-coin.strategy.ts | 8 +++++--- .../impl/optimism-token.strategy.ts | 8 +++++--- .../impl/polygon-coin.strategy.ts | 8 +++++--- .../impl/polygon-token.strategy.ts | 8 +++++--- .../impl/solana-coin.strategy.ts | 8 +++++--- .../impl/solana-token.strategy.ts | 8 +++++--- .../fiat-output/fiat-output.service.ts | 9 +++++---- .../services/checkout-tx.service.ts | 9 +++++---- .../services/fiat-payin-sync.service.ts | 9 +++++---- .../supporting/log/log-job.service.ts | 9 +++++---- .../notification/services/mail.service.ts | 8 ++++---- .../services/notification-job.service.ts | 9 +++++---- .../services/notification.service.ts | 9 +++++---- .../payin/services/payin-lightning.service.ts | 7 +++---- .../services/payin-notification.service.ts | 12 ++++++++---- .../payin/services/payin-solana.service.ts | 3 --- .../payin/services/payin.service.ts | 9 +++++---- .../register/impl/arbitrum.strategy.ts | 8 +++++--- .../strategies/register/impl/base.strategy.ts | 8 +++++--- .../register/impl/base/register.strategy.ts | 4 ++-- .../register/impl/bitcoin.strategy.ts | 8 +++++--- .../strategies/register/impl/bsc.strategy.ts | 8 +++++--- .../register/impl/ethereum.strategy.ts | 8 +++++--- .../register/impl/gnosis.strategy.ts | 9 ++++++--- .../register/impl/lightning.strategy.ts | 7 ++++--- .../register/impl/monero.strategy.ts | 8 +++++--- .../register/impl/optimism.strategy.ts | 8 +++++--- .../register/impl/polygon.strategy.ts | 8 +++++--- .../register/impl/solana.strategy.ts | 8 +++++--- .../send/impl/arbitrum-coin.strategy.ts | 11 ++++++++++- .../send/impl/arbitrum-token.strategy.ts | 11 ++++++++++- .../send/impl/base-coin.strategy.ts | 7 ++++++- .../send/impl/base-token.strategy.ts | 7 ++++++- .../send/impl/base/bitcoin-based.strategy.ts | 4 ++-- .../strategies/send/impl/base/evm.strategy.ts | 6 ++++-- .../send/impl/base/send.strategy.ts | 4 ++-- .../send/impl/base/solana.strategy.ts | 2 +- .../strategies/send/impl/bitcoin.strategy.ts | 12 +++++++++--- .../strategies/send/impl/bsc-coin.strategy.ts | 7 ++++++- .../send/impl/bsc-token.strategy.ts | 7 ++++++- .../send/impl/ethereum-coin.strategy.ts | 11 ++++++++++- .../send/impl/ethereum-token.strategy.ts | 11 ++++++++++- .../send/impl/gnosis-coin.strategy.ts | 7 ++++++- .../send/impl/gnosis-token.strategy.ts | 11 ++++++++++- .../send/impl/lightning.strategy.ts | 12 +++++++++--- .../strategies/send/impl/monero.strategy.ts | 12 +++++++++--- .../send/impl/optimism-coin.strategy.ts | 11 ++++++++++- .../send/impl/optimism-token.strategy.ts | 11 ++++++++++- .../send/impl/polygon-coin.strategy.ts | 11 ++++++++++- .../send/impl/polygon-token.strategy.ts | 11 ++++++++++- .../send/impl/solana-coin.strategy.ts | 12 +++++++++--- .../send/impl/solana-token.strategy.ts | 12 +++++++++--- .../payment/services/fee.service.ts | 9 +++++---- .../payment/services/transaction-helper.ts | 8 +++++--- .../transaction-notification.service.ts | 9 +++++---- .../services/transaction-request.service.ts | 9 +++++---- .../payout/services/payout-log.service.ts | 6 ++++-- .../payout/services/payout.service.ts | 9 +++++---- .../payout-bitcoin-based.strategy.spec.ts | 4 ++-- .../payout/impl/arbitrum-coin.strategy.ts | 6 ++++++ .../payout/impl/arbitrum-token.strategy.ts | 6 ++++++ .../payout/impl/base-coin.strategy.ts | 6 ++++++ .../payout/impl/base-token.strategy.ts | 6 ++++++ .../impl/base/bitcoin-based.strategy.ts | 4 ++-- .../payout/impl/base/evm.strategy.ts | 5 ++--- .../payout/impl/base/solana.strategy.ts | 5 ++--- .../payout/impl/bitcoin.strategy.ts | 8 +++++--- .../payout/impl/bsc-coin.strategy.ts | 6 ++++++ .../payout/impl/bsc-token.strategy.ts | 6 ++++++ .../payout/impl/ethereum-coin.strategy.ts | 6 ++++++ .../payout/impl/ethereum-token.strategy.ts | 6 ++++++ .../payout/impl/gnosis-coin.strategy.ts | 6 ++++++ .../payout/impl/gnosis-token.strategy.ts | 6 ++++++ .../payout/impl/lightning.strategy.ts | 7 +++++-- .../strategies/payout/impl/monero.strategy.ts | 8 +++++--- .../payout/impl/optimism-coin.strategy.ts | 6 ++++++ .../payout/impl/optimism-token.strategy.ts | 6 ++++++ .../payout/impl/polygon-coin.strategy.ts | 6 ++++++ .../payout/impl/polygon-token.strategy.ts | 6 ++++++ .../payout/impl/solana-coin.strategy.ts | 6 ++++++ .../payout/impl/solana-token.strategy.ts | 6 ++++++ .../pricing/services/asset-prices.service.ts | 9 +++++---- .../pricing/services/fiat-prices.service.ts | 12 ++++++++---- .../integration/coin-gecko.service.ts | 7 +++---- .../pricing/services/pricing.service.ts | 6 +++--- .../limit-request-notification.service.ts | 9 +++++---- .../services/limit-request.service.ts | 9 +++++---- .../support-issue-notification.service.ts | 8 ++++---- 241 files changed, 1246 insertions(+), 657 deletions(-) rename src/shared/services/{dfx-logger.ts => dfx-logger.service.ts} (83%) diff --git a/src/integration/alchemy/controllers/alchemy.controller.ts b/src/integration/alchemy/controllers/alchemy.controller.ts index f57ebf14dd..e167722e5e 100644 --- a/src/integration/alchemy/controllers/alchemy.controller.ts +++ b/src/integration/alchemy/controllers/alchemy.controller.ts @@ -16,7 +16,7 @@ import { Request } from 'express'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AlchemySyncTransactionsDto } from '../dto/alchemy-sync-transactions.dto'; import { AlchemyWebhookDto } from '../dto/alchemy-webhook.dto'; import { AlchemyWebhookService } from '../services/alchemy-webhook.service'; @@ -25,12 +25,13 @@ import { AlchemyService } from '../services/alchemy.service'; @ApiTags('Alchemy') @Controller('alchemy') export class AlchemyController { - private readonly logger = new DfxLogger(AlchemyController); - constructor( private readonly alchemyWebhookService: AlchemyWebhookService, private readonly alchemyService: AlchemyService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(AlchemyController); + } @Post('addressWebhook') @ApiExcludeEndpoint() diff --git a/src/integration/alchemy/services/alchemy-webhook.service.ts b/src/integration/alchemy/services/alchemy-webhook.service.ts index 95043ca5c5..d4f8a216c4 100644 --- a/src/integration/alchemy/services/alchemy-webhook.service.ts +++ b/src/integration/alchemy/services/alchemy-webhook.service.ts @@ -10,7 +10,7 @@ import { } from 'alchemy-sdk'; import { Observable, Subject, filter } from 'rxjs'; import { Config, GetConfig } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { AlchemyNetworkMapper } from '../alchemy-network-mapper'; import { CreateWebhookDto } from '../dto/alchemy-create-webhook.dto'; @@ -18,15 +18,14 @@ import { AlchemyWebhookDto } from '../dto/alchemy-webhook.dto'; @Injectable() export class AlchemyWebhookService implements OnModuleInit { - private readonly logger = new DfxLogger(AlchemyWebhookService); - private readonly alchemy: Alchemy; private readonly webhookCache: Map; private readonly addressWebhookSubject: Subject; - constructor() { + constructor(private readonly logger: DfxLoggerService) { const config = GetConfig(); + this.logger.create(AlchemyWebhookService); const settings = { apiKey: config.alchemy.apiKey, diff --git a/src/integration/bank/services/olkypay.service.ts b/src/integration/bank/services/olkypay.service.ts index f4370476d0..8fb5d8a82b 100644 --- a/src/integration/bank/services/olkypay.service.ts +++ b/src/integration/bank/services/olkypay.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Method } from 'axios'; import { stringify } from 'qs'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BankTx, BankTxIndicator, BankTxType } from 'src/subdomains/supporting/bank-tx/bank-tx/entities/bank-tx.entity'; @@ -43,14 +43,14 @@ enum TransactionType { @Injectable() export class OlkypayService { - private readonly logger = new DfxLogger(OlkypayService); - private readonly baseUrl = 'https://ws.olkypay.com/reporting'; private readonly loginUrl = 'https://stp.olkypay.com/auth/realms/b2b/protocol/openid-connect/token'; private accessToken = 'access-token-will-be-updated'; - constructor(private readonly http: HttpService) {} + constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { + this.logger.create(OlkypayService); + } async getOlkyTransactions(lastModificationTime: string, accountIban: string): Promise[]> { if (!Config.bank.olkypay.credentials.clientId) return []; diff --git a/src/integration/bank/services/revolut.service.ts b/src/integration/bank/services/revolut.service.ts index 694f0b741e..dd857a0d21 100644 --- a/src/integration/bank/services/revolut.service.ts +++ b/src/integration/bank/services/revolut.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Method } from 'axios'; import { stringify } from 'qs'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BankTx, BankTxIndicator } from 'src/subdomains/supporting/bank-tx/bank-tx/entities/bank-tx.entity'; @@ -96,14 +96,14 @@ enum TransactionType { @Injectable() export class RevolutService { - private readonly logger = new DfxLogger(RevolutService); - private readonly baseUrl = 'https://b2b.revolut.com/api/1.0'; private readonly loginUrl = 'https://b2b.revolut.com/api/1.0/auth/token'; private accessToken = 'access-token-will-be-updated'; - constructor(private readonly http: HttpService) {} + constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { + this.logger.create(RevolutService); + } async getRevolutTransactions(lastModificationTime: string, accountIban: string): Promise[]> { if (!Config.bank.revolut.clientAssertion || !Config.bank.revolut.refreshToken) return []; diff --git a/src/integration/blockchain/arbitrum/arbitrum-client.ts b/src/integration/blockchain/arbitrum/arbitrum-client.ts index 5d625ed7bd..95d1706d7e 100644 --- a/src/integration/blockchain/arbitrum/arbitrum-client.ts +++ b/src/integration/blockchain/arbitrum/arbitrum-client.ts @@ -14,7 +14,7 @@ import { import { Contract, ethers } from 'ethers'; import { GetConfig } from 'src/config/config'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import ERC20_ABI from '../shared/evm/abi/erc20.abi.json'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; @@ -22,7 +22,7 @@ import { EvmUtil } from '../shared/evm/evm.util'; import { L2BridgeEvmClient } from '../shared/evm/interfaces'; export class ArbitrumClient extends EvmClient implements L2BridgeEvmClient { - private readonly logger = new DfxLogger(ArbitrumClient); + private logger: DfxLoggerService; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -31,6 +31,9 @@ export class ArbitrumClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); + this.logger = params.logger; + this.logger.create(ArbitrumClient); + const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey } = GetConfig().blockchain.ethereum; const ethereumGateway = `${ethGatewayUrl}/${ethApiKey ?? ''}`; diff --git a/src/integration/blockchain/arbitrum/arbitrum.service.ts b/src/integration/blockchain/arbitrum/arbitrum.service.ts index 9cb89aae94..a83b868974 100644 --- a/src/integration/blockchain/arbitrum/arbitrum.service.ts +++ b/src/integration/blockchain/arbitrum/arbitrum.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { ArbitrumClient } from './arbitrum-client'; @Injectable() export class ArbitrumService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { arbitrumGatewayUrl, arbitrumApiKey, @@ -24,6 +25,7 @@ export class ArbitrumService extends EvmService { apiKey: arbitrumApiKey, walletPrivateKey: arbitrumWalletPrivateKey, chainId: arbitrumChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/base/base-client.ts b/src/integration/blockchain/base/base-client.ts index 0683baac91..0712d68959 100644 --- a/src/integration/blockchain/base/base-client.ts +++ b/src/integration/blockchain/base/base-client.ts @@ -2,7 +2,7 @@ import { CrossChainMessenger, L2Provider, MessageStatus, asL2Provider, estimateT import { BigNumber, ethers } from 'ethers'; import { GetConfig } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; import { EvmUtil } from '../shared/evm/evm.util'; @@ -16,7 +16,7 @@ interface BaseTransactionReceipt extends ethers.providers.TransactionReceipt { } export class BaseClient extends EvmClient implements L2BridgeEvmClient { - private readonly logger = new DfxLogger(BaseClient); + private readonly logger: DfxLoggerService; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -26,6 +26,8 @@ export class BaseClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); + this.logger = params.logger; + const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey, ethChainId } = GetConfig().blockchain.ethereum; const { baseChainId } = GetConfig().blockchain.base; const ethereumGateway = `${ethGatewayUrl}/${ethApiKey ?? ''}`; diff --git a/src/integration/blockchain/base/base.service.ts b/src/integration/blockchain/base/base.service.ts index b970985e34..51a27a8518 100644 --- a/src/integration/blockchain/base/base.service.ts +++ b/src/integration/blockchain/base/base.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { BaseClient } from './base-client'; @Injectable() export class BaseService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { baseGatewayUrl, baseApiKey, @@ -25,6 +26,7 @@ export class BaseService extends EvmService { apiKey: baseApiKey, walletPrivateKey: baseWalletPrivateKey, chainId: baseChainId, + logger, swapContractAddress, swapFactoryAddress, quoteContractAddress, diff --git a/src/integration/blockchain/bitcoin/node/bitcoin-client.ts b/src/integration/blockchain/bitcoin/node/bitcoin-client.ts index 97710c1fc8..b315668e3d 100644 --- a/src/integration/blockchain/bitcoin/node/bitcoin-client.ts +++ b/src/integration/blockchain/bitcoin/node/bitcoin-client.ts @@ -1,6 +1,8 @@ import { Currency } from '@uniswap/sdk-core'; import { Config } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { HttpService } from 'src/shared/services/http.service'; import { BlockchainTokenBalance } from '../../shared/dto/blockchain-token-balance.dto'; import { BitcoinSignedTransactionResponse } from '../../shared/dto/signed-transaction-reponse.dto'; import { NodeClient, NodeCommand } from './node-client'; @@ -29,6 +31,14 @@ type AddressInfoInnerArray = AddressInfoArray[]; type AddressInfoArray = [string, number, string]; export class BitcoinClient extends NodeClient { + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, http: HttpService, url: string) { + super(http, url); + + this.logger = this.dfxLogger.create(BitcoinClient); + } + async send( addressTo: string, txId: string, diff --git a/src/integration/blockchain/bitcoin/node/bitcoin.service.ts b/src/integration/blockchain/bitcoin/node/bitcoin.service.ts index 5c20587e2c..7f3c05226f 100644 --- a/src/integration/blockchain/bitcoin/node/bitcoin.service.ts +++ b/src/integration/blockchain/bitcoin/node/bitcoin.service.ts @@ -1,7 +1,7 @@ import { BlockchainInfo } from '@defichain/jellyfish-api-core/dist/category/blockchain'; import { BadRequestException, Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BlockchainService } from '../../shared/util/blockchain.service'; @@ -24,13 +24,13 @@ interface BitcoinCheckResult { @Injectable() export class BitcoinService extends BlockchainService { - private readonly logger = new DfxLogger(BitcoinService); - private readonly allNodes: Map = new Map(); - constructor(private readonly http: HttpService) { + constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { super(); + this.logger.create(BitcoinService); + this.initAllNodes(); } @@ -75,7 +75,7 @@ export class BitcoinService extends BlockchainService { } private createNodeClient(url: string | undefined): BitcoinClient | null { - return url ? new BitcoinClient(this.http, url) : null; + return url ? new BitcoinClient(this.logger, this.http, url) : null; } // --- HELPER METHODS --- // diff --git a/src/integration/blockchain/bitcoin/node/node-client.ts b/src/integration/blockchain/bitcoin/node/node-client.ts index 531e178bce..1723edd9d6 100644 --- a/src/integration/blockchain/bitcoin/node/node-client.ts +++ b/src/integration/blockchain/bitcoin/node/node-client.ts @@ -4,7 +4,7 @@ import { AddressType, InWalletTransaction, UTXO } from '@defichain/jellyfish-api import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc'; import { ServiceUnavailableException } from '@nestjs/common'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; @@ -20,8 +20,7 @@ export enum NodeCommand { } export abstract class NodeClient extends BlockchainClient { - private readonly logger = new DfxLogger(NodeClient); - + protected abstract readonly logger: DfxLoggerService; protected chain = Config.network; private readonly client: ApiClient; private readonly queue: QueueHandler; diff --git a/src/integration/blockchain/bsc/bsc.service.ts b/src/integration/blockchain/bsc/bsc.service.ts index a16bd86563..bc2d9a1672 100644 --- a/src/integration/blockchain/bsc/bsc.service.ts +++ b/src/integration/blockchain/bsc/bsc.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { BscClient } from './bsc-client'; @Injectable() export class BscService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { bscGatewayUrl, bscApiKey, bscWalletPrivateKey, bscChainId, swapContractAddress, quoteContractAddress } = GetConfig().blockchain.bsc; @@ -18,6 +19,7 @@ export class BscService extends EvmService { apiKey: bscApiKey, walletPrivateKey: bscWalletPrivateKey, chainId: bscChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/deuro/deuro.service.ts b/src/integration/blockchain/deuro/deuro.service.ts index 376e106920..c2dd96191b 100644 --- a/src/integration/blockchain/deuro/deuro.service.ts +++ b/src/integration/blockchain/deuro/deuro.service.ts @@ -4,6 +4,7 @@ import { CronExpression } from '@nestjs/schedule'; import { Contract } from 'ethers'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -33,6 +34,8 @@ export class DEuroService extends FrankencoinBasedService implements OnModuleIni private static readonly LOG_SYSTEM = 'EvmInformation'; private static readonly LOG_SUBSYSTEM = 'DEuroSmartContract'; + protected readonly logger: DfxLoggerService; + private usd: Fiat; private eur: Fiat; private chf: Fiat; @@ -42,11 +45,14 @@ export class DEuroService extends FrankencoinBasedService implements OnModuleIni private frankencoinService: FrankencoinService; constructor( + private readonly dfxLogger: DfxLoggerService, private readonly moduleRef: ModuleRef, private readonly logService: LogService, private readonly fiatService: FiatService, ) { super(); + + this.logger = this.dfxLogger.create(DEuroService); } async onModuleInit() { diff --git a/src/integration/blockchain/ebel2x/ebel2x.service.ts b/src/integration/blockchain/ebel2x/ebel2x.service.ts index 97b56c7cd3..98ce48792e 100644 --- a/src/integration/blockchain/ebel2x/ebel2x.service.ts +++ b/src/integration/blockchain/ebel2x/ebel2x.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { EvmUtil } from '../shared/evm/evm.util'; @@ -8,7 +9,7 @@ import { Ebel2xClient } from './ebel2x-client'; @Injectable() export class Ebel2xService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { arbitrumGatewayUrl, arbitrumApiKey, @@ -25,6 +26,7 @@ export class Ebel2xService extends EvmService { apiKey: arbitrumApiKey, walletPrivateKey: arbitrumWalletPrivateKey, chainId: arbitrumChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/ethereum/ethereum.service.ts b/src/integration/blockchain/ethereum/ethereum.service.ts index 8324efdd81..ca26ef1f1d 100644 --- a/src/integration/blockchain/ethereum/ethereum.service.ts +++ b/src/integration/blockchain/ethereum/ethereum.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { EthereumClient } from './ethereum-client'; @Injectable() export class EthereumService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey, ethChainId, swapContractAddress, quoteContractAddress } = GetConfig().blockchain.ethereum; @@ -18,6 +19,7 @@ export class EthereumService extends EvmService { apiKey: ethApiKey, walletPrivateKey: ethWalletPrivateKey, chainId: ethChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/frankencoin/frankencoin.service.ts b/src/integration/blockchain/frankencoin/frankencoin.service.ts index 5cdb421bd8..a21a178207 100644 --- a/src/integration/blockchain/frankencoin/frankencoin.service.ts +++ b/src/integration/blockchain/frankencoin/frankencoin.service.ts @@ -5,6 +5,7 @@ import { Contract } from 'ethers'; import { Config } from 'src/config/config'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { CreateLogDto } from 'src/subdomains/supporting/log/dto/create-log.dto'; @@ -34,17 +35,22 @@ export class FrankencoinService extends FrankencoinBasedService implements OnMod private static readonly LOG_SYSTEM = 'EvmInformation'; private static readonly LOG_SUBSYSTEM = 'FrankencoinSmartContract'; + protected readonly logger: DfxLoggerService; + private usd: Fiat; private chf: Fiat; private frankencoinClient: FrankencoinClient; constructor( + private readonly dfxLogger: DfxLoggerService, private readonly moduleRef: ModuleRef, private readonly logService: LogService, private readonly fiatService: FiatService, ) { super(); + + this.logger = this.dfxLogger.create(FrankencoinService); } async onModuleInit() { diff --git a/src/integration/blockchain/gnosis/gnosis-client.ts b/src/integration/blockchain/gnosis/gnosis-client.ts index 836797938a..e3a133eefb 100644 --- a/src/integration/blockchain/gnosis/gnosis-client.ts +++ b/src/integration/blockchain/gnosis/gnosis-client.ts @@ -1,11 +1,8 @@ import { FeeAmount } from '@uniswap/v3-sdk'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; export class GnosisClient extends EvmClient { - private readonly logger = new DfxLogger(GnosisClient); - constructor(params: EvmClientParams) { super(params); } diff --git a/src/integration/blockchain/gnosis/gnosis.service.ts b/src/integration/blockchain/gnosis/gnosis.service.ts index f6638f0944..5fbd7cac6a 100644 --- a/src/integration/blockchain/gnosis/gnosis.service.ts +++ b/src/integration/blockchain/gnosis/gnosis.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { GnosisClient } from './gnosis-client'; @Injectable() export class GnosisService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { gnosisGatewayUrl, gnosisApiKey, @@ -24,6 +25,7 @@ export class GnosisService extends EvmService { apiKey: gnosisApiKey, walletPrivateKey: gnosisWalletPrivateKey, chainId: gnosisChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/optimism/optimism-client.ts b/src/integration/blockchain/optimism/optimism-client.ts index b572b356cd..03a533f09b 100644 --- a/src/integration/blockchain/optimism/optimism-client.ts +++ b/src/integration/blockchain/optimism/optimism-client.ts @@ -2,7 +2,7 @@ import { CrossChainMessenger, L2Provider, MessageStatus, asL2Provider, estimateT import { BigNumber, ethers } from 'ethers'; import { GetConfig } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; import { EvmUtil } from '../shared/evm/evm.util'; @@ -16,7 +16,7 @@ interface OptimismTransactionReceipt extends ethers.providers.TransactionReceipt } export class OptimismClient extends EvmClient implements L2BridgeEvmClient { - private readonly logger = new DfxLogger(OptimismClient); + private logger: DfxLoggerService; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -26,6 +26,9 @@ export class OptimismClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); + this.logger = params.logger; + this.logger.create(OptimismClient); + const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey, ethChainId } = GetConfig().blockchain.ethereum; const { optimismChainId } = GetConfig().blockchain.optimism; const ethereumGateway = `${ethGatewayUrl}/${ethApiKey ?? ''}`; diff --git a/src/integration/blockchain/optimism/optimism.service.ts b/src/integration/blockchain/optimism/optimism.service.ts index 6ecdea4e9d..efe79ec40f 100644 --- a/src/integration/blockchain/optimism/optimism.service.ts +++ b/src/integration/blockchain/optimism/optimism.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { OptimismClient } from './optimism-client'; @Injectable() export class OptimismService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { optimismGatewayUrl, optimismApiKey, @@ -24,6 +25,7 @@ export class OptimismService extends EvmService { apiKey: optimismApiKey, walletPrivateKey: optimismWalletPrivateKey, chainId: optimismChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/polygon/polygon-client.ts b/src/integration/blockchain/polygon/polygon-client.ts index 4793d0d1f7..89cd37ffaf 100644 --- a/src/integration/blockchain/polygon/polygon-client.ts +++ b/src/integration/blockchain/polygon/polygon-client.ts @@ -3,7 +3,7 @@ import { Web3ClientPlugin } from '@maticnetwork/maticjs-ethers'; import { Contract, ethers } from 'ethers'; import { Config, GetConfig } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import ERC20_ABI from '../shared/evm/abi/erc20.abi.json'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; @@ -11,7 +11,7 @@ import { EvmUtil } from '../shared/evm/evm.util'; import { L2BridgeEvmClient } from '../shared/evm/interfaces'; export class PolygonClient extends EvmClient implements L2BridgeEvmClient { - private readonly logger = new DfxLogger(PolygonClient); + private logger: DfxLoggerService; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -22,6 +22,9 @@ export class PolygonClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); + this.logger = params.logger; + this.logger.create(PolygonClient); + use(Web3ClientPlugin); setProofApi('https://proof-generator.polygon.technology/'); diff --git a/src/integration/blockchain/polygon/polygon.service.ts b/src/integration/blockchain/polygon/polygon.service.ts index 7a19dc61fa..44433ec341 100644 --- a/src/integration/blockchain/polygon/polygon.service.ts +++ b/src/integration/blockchain/polygon/polygon.service.ts @@ -1,13 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { PolygonClient } from './polygon-client'; @Injectable() export class PolygonService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService) { + constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { const { polygonGatewayUrl, polygonApiKey, @@ -24,6 +25,7 @@ export class PolygonService extends EvmService { apiKey: polygonApiKey, walletPrivateKey: polygonWalletPrivateKey, chainId: polygonChainId, + logger, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/shared/evm/evm-client.ts b/src/integration/blockchain/shared/evm/evm-client.ts index e25424f35f..48683096e5 100644 --- a/src/integration/blockchain/shared/evm/evm-client.ts +++ b/src/integration/blockchain/shared/evm/evm-client.ts @@ -12,6 +12,7 @@ import ERC20_ABI from 'src/integration/blockchain/shared/evm/abi/erc20.abi.json' import SIGNATURE_TRANSFER_ABI from 'src/integration/blockchain/shared/evm/abi/signature-transfer.abi.json'; import UNISWAP_V3_NFT_MANAGER_ABI from 'src/integration/blockchain/shared/evm/abi/uniswap-v3-nft-manager.abi.json'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { AsyncCache } from 'src/shared/utils/async-cache'; import { Util } from 'src/shared/utils/util'; @@ -29,6 +30,7 @@ export interface EvmClientParams { apiKey: string; walletPrivateKey: string; chainId: ChainId; + logger: DfxLoggerService; swapContractAddress?: string; quoteContractAddress?: string; swapFactoryAddress?: string; diff --git a/src/integration/blockchain/shared/evm/evm-decimals.service.ts b/src/integration/blockchain/shared/evm/evm-decimals.service.ts index bb570e60e1..cb9179632e 100644 --- a/src/integration/blockchain/shared/evm/evm-decimals.service.ts +++ b/src/integration/blockchain/shared/evm/evm-decimals.service.ts @@ -3,7 +3,7 @@ import { CronExpression } from '@nestjs/schedule'; import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { In, IsNull, Not } from 'typeorm'; @@ -11,12 +11,13 @@ import { BlockchainRegistryService } from '../services/blockchain-registry.servi @Injectable() export class EvmDecimalsService { - private readonly logger = new DfxLogger(EvmDecimalsService); - constructor( private readonly repoFactory: RepositoryFactory, private readonly blockchainRegistry: BlockchainRegistryService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(EvmDecimalsService); + } // --- JOBS --- // @DfxCron(CronExpression.EVERY_HOUR, { process: Process.ASSET_DECIMALS, timeout: 1800 }) diff --git a/src/integration/blockchain/shared/evm/evm-gas-price.service.ts b/src/integration/blockchain/shared/evm/evm-gas-price.service.ts index dcd21cde6d..623efb8b94 100644 --- a/src/integration/blockchain/shared/evm/evm-gas-price.service.ts +++ b/src/integration/blockchain/shared/evm/evm-gas-price.service.ts @@ -1,6 +1,6 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -14,8 +14,6 @@ interface EvmGasPriceCacheData { @Injectable() export class EvmGasPriceService implements OnModuleInit { - private readonly logger = new DfxLogger(EvmGasPriceService); - private static readonly MINUTES_5 = 5 * 60; private static readonly GAS_PRICE_BLOCKCHAINS: Blockchain[] = [ @@ -29,8 +27,12 @@ export class EvmGasPriceService implements OnModuleInit { private gasPriceCache: Map; - constructor(private readonly blockchainRegistryService: BlockchainRegistryService) { + constructor( + private readonly blockchainRegistryService: BlockchainRegistryService, + private readonly logger: DfxLoggerService, + ) { this.gasPriceCache = new Map(); + this.logger.create(EvmGasPriceService); } async onModuleInit() { diff --git a/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts b/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts index 74656231a7..dad581f629 100644 --- a/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts +++ b/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts @@ -1,7 +1,7 @@ import { Contract } from 'ethers'; import { groupBy, sumBy } from 'lodash'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Price } from 'src/subdomains/supporting/pricing/domain/entities/price'; import { PriceSource } from 'src/subdomains/supporting/pricing/domain/entities/price-rule.entity'; import { PricingService } from 'src/subdomains/supporting/pricing/services/pricing.service'; @@ -13,7 +13,7 @@ import { BlockchainRegistryService } from '../services/blockchain-registry.servi import { FrankencoinBasedCollateralDto } from './frankencoin-based.dto'; export abstract class FrankencoinBasedService { - protected readonly logger = new DfxLogger(this.constructor.name); + protected abstract readonly logger: DfxLoggerService; private pricingService: PricingService; private registryService: BlockchainRegistryService; diff --git a/src/integration/blockchain/solana/solana-wallet.ts b/src/integration/blockchain/solana/solana-wallet.ts index 34f03c6c0c..143b29b9aa 100644 --- a/src/integration/blockchain/solana/solana-wallet.ts +++ b/src/integration/blockchain/solana/solana-wallet.ts @@ -1,12 +1,9 @@ import { mnemonicToSeedSync } from '@scure/bip39'; import { Keypair, PublicKey, Transaction } from '@solana/web3.js'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; export const solanaDefaultPath = "m/44'/501'/0'/0'/0'"; export class SolanaWallet { - private readonly logger = new DfxLogger(SolanaWallet); - static create(mnemonic: string): SolanaWallet { const seed = mnemonicToSeedSync(mnemonic, ''); const keypair = Keypair.fromSeed(seed.slice(0, 32)); diff --git a/src/integration/c2b-payment-link/services/binance-pay.service.ts b/src/integration/c2b-payment-link/services/binance-pay.service.ts index ea8f946518..d0dc87713a 100644 --- a/src/integration/c2b-payment-link/services/binance-pay.service.ts +++ b/src/integration/c2b-payment-link/services/binance-pay.service.ts @@ -1,7 +1,7 @@ import { BadRequestException, Injectable, ServiceUnavailableException } from '@nestjs/common'; import * as crypto from 'crypto'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { TransferInfo } from 'src/subdomains/core/payment-link/dto/payment-link.dto'; @@ -31,18 +31,17 @@ import { C2BPaymentStatus } from '../share/PaymentStatus'; @Injectable() export class BinancePayService implements IPaymentLinkProvider { - private readonly logger = new DfxLogger(BinancePayService); - private readonly baseUrl = 'https://bpay.binanceapi.com'; private readonly apiKey: string; private readonly secretKey: string; private certificatedExpiry: number; private cert: CertificateResponse['data']; - constructor(private readonly http: HttpService) { + constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { this.apiKey = Config.payment.binancePayPublic; this.secretKey = Config.payment.binancePaySecret; this.certificatedExpiry = 0; + this.logger.create(BinancePayService); } private generateSignature(timestamp: number, nonce: string, body: string): string { diff --git a/src/integration/exchange/controllers/exchange.controller.ts b/src/integration/exchange/controllers/exchange.controller.ts index 21abd9add2..665d8f0a32 100644 --- a/src/integration/exchange/controllers/exchange.controller.ts +++ b/src/integration/exchange/controllers/exchange.controller.ts @@ -17,7 +17,7 @@ import { Balances, ExchangeError, Order, Trade, Transaction, WithdrawalResponse import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -33,11 +33,11 @@ import { ExchangeService, OrderSide } from '../services/exchange.service'; @ApiTags('exchange') @Controller('exchange') export class ExchangeController { - private readonly logger = new DfxLogger(ExchangeController); - private trades: { [key: number]: TradeResult } = {}; - constructor(private readonly exchangeRegistry: ExchangeRegistryService) {} + constructor(private readonly exchangeRegistry: ExchangeRegistryService, private readonly logger: DfxLoggerService) { + this.logger.create(ExchangeController); + } @Get(':exchange/balances') @ApiBearerAuth() diff --git a/src/integration/exchange/services/__tests__/exchange.test.ts b/src/integration/exchange/services/__tests__/exchange.test.ts index 2f2b7d103c..b1374cb987 100644 --- a/src/integration/exchange/services/__tests__/exchange.test.ts +++ b/src/integration/exchange/services/__tests__/exchange.test.ts @@ -1,7 +1,7 @@ import { Exchange } from 'ccxt'; import { ExchangeConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { ExchangeService } from '../exchange.service'; export class TestExchange extends Exchange { @@ -11,7 +11,7 @@ export class TestExchange extends Exchange { } export class TestExchangeService extends ExchangeService { - protected logger = new DfxLogger(TestExchangeService); + protected readonly logger: DfxLoggerService; protected networks: { [b in Blockchain]: string } = { Arbitrum: undefined, diff --git a/src/integration/exchange/services/binance.service.ts b/src/integration/exchange/services/binance.service.ts index 3248069a80..2741c8d7a5 100644 --- a/src/integration/exchange/services/binance.service.ts +++ b/src/integration/exchange/services/binance.service.ts @@ -2,12 +2,12 @@ import { Injectable } from '@nestjs/common'; import { binance } from 'ccxt'; import { GetConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { ExchangeService } from './exchange.service'; @Injectable() export class BinanceService extends ExchangeService { - protected readonly logger = new DfxLogger(BinanceService); + protected readonly logger: DfxLoggerService; protected networks: { [b in Blockchain]: string } = { Arbitrum: 'ARBITRUM', @@ -30,7 +30,9 @@ export class BinanceService extends ExchangeService { Solana: 'SOL', }; - constructor() { + constructor(private readonly dfxLogger: DfxLoggerService) { super(binance, GetConfig().binance); + + this.logger = this.dfxLogger.create(BinanceService); } } diff --git a/src/integration/exchange/services/bitpanda.service.ts b/src/integration/exchange/services/bitpanda.service.ts index 2679d40983..7ea3730e7b 100644 --- a/src/integration/exchange/services/bitpanda.service.ts +++ b/src/integration/exchange/services/bitpanda.service.ts @@ -2,12 +2,12 @@ import { Injectable } from '@nestjs/common'; import { bitpanda } from 'ccxt'; import { GetConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { ExchangeService } from './exchange.service'; @Injectable() export class BitpandaService extends ExchangeService { - protected readonly logger = new DfxLogger(BitpandaService); + protected readonly logger: DfxLoggerService; protected networks: { [b in Blockchain]: string } = { Arbitrum: undefined, @@ -30,7 +30,9 @@ export class BitpandaService extends ExchangeService { Solana: undefined, }; - constructor() { + constructor(private readonly dfxLogger: DfxLoggerService) { super(bitpanda, GetConfig().exchange); + + this.logger = this.dfxLogger.create(BitpandaService); } } diff --git a/src/integration/exchange/services/bitstamp.service.ts b/src/integration/exchange/services/bitstamp.service.ts index 627d795f07..c036c1730b 100644 --- a/src/integration/exchange/services/bitstamp.service.ts +++ b/src/integration/exchange/services/bitstamp.service.ts @@ -2,12 +2,12 @@ import { Injectable } from '@nestjs/common'; import { bitstamp } from 'ccxt'; import { GetConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { ExchangeService } from './exchange.service'; @Injectable() export class BitstampService extends ExchangeService { - protected readonly logger = new DfxLogger(BitstampService); + protected readonly logger: DfxLoggerService; protected networks: { [b in Blockchain]: string } = { Arbitrum: undefined, @@ -30,7 +30,9 @@ export class BitstampService extends ExchangeService { Solana: undefined, }; - constructor() { + constructor(private readonly dfxLogger: DfxLoggerService) { super(bitstamp, GetConfig().exchange); + + this.logger = this.dfxLogger.create(BitstampService); } } diff --git a/src/integration/exchange/services/exchange-tx.service.ts b/src/integration/exchange/services/exchange-tx.service.ts index 62aba3d16c..925742859a 100644 --- a/src/integration/exchange/services/exchange-tx.service.ts +++ b/src/integration/exchange/services/exchange-tx.service.ts @@ -4,7 +4,7 @@ import { Config } from 'src/config/config'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -19,7 +19,6 @@ import { ExchangeRegistryService } from './exchange-registry.service'; @Injectable() export class ExchangeTxService implements OnModuleInit { - private readonly logger = new DfxLogger(ExchangeTxService); private chf: Fiat; constructor( @@ -28,7 +27,10 @@ export class ExchangeTxService implements OnModuleInit { private readonly assetService: AssetService, private readonly pricingService: PricingService, private readonly fiatService: FiatService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(ExchangeTxService); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/integration/exchange/services/exchange.service.ts b/src/integration/exchange/services/exchange.service.ts index fb7a797e0e..36628eeab2 100644 --- a/src/integration/exchange/services/exchange.service.ts +++ b/src/integration/exchange/services/exchange.service.ts @@ -13,7 +13,7 @@ import { } from 'ccxt'; import { ExchangeConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; import { PricingProvider } from 'src/subdomains/supporting/pricing/services/integration/pricing-provider'; @@ -39,7 +39,7 @@ enum PrecisionMode { } export abstract class ExchangeService extends PricingProvider implements OnModuleInit { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; protected abstract readonly networks: { [b in Blockchain]: string }; protected readonly exchange: Exchange; diff --git a/src/integration/exchange/services/kraken.service.ts b/src/integration/exchange/services/kraken.service.ts index c8eb7b9696..2954f6e8da 100644 --- a/src/integration/exchange/services/kraken.service.ts +++ b/src/integration/exchange/services/kraken.service.ts @@ -2,13 +2,11 @@ import { Injectable } from '@nestjs/common'; import { kraken } from 'ccxt'; import { GetConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { ExchangeService } from './exchange.service'; @Injectable() export class KrakenService extends ExchangeService { - protected readonly logger = new DfxLogger(KrakenService); - protected networks: { [b in Blockchain]: string } = { Arbitrum: 'arbitrum', BinanceSmartChain: 'bsc', @@ -30,7 +28,8 @@ export class KrakenService extends ExchangeService { Solana: undefined, }; - constructor() { + constructor(protected readonly logger: DfxLoggerService) { super(kraken, GetConfig().kraken); + this.logger.create(KrakenService); } } diff --git a/src/integration/exchange/services/kucoin.service.ts b/src/integration/exchange/services/kucoin.service.ts index 962e4ae78c..a98e2d5a82 100644 --- a/src/integration/exchange/services/kucoin.service.ts +++ b/src/integration/exchange/services/kucoin.service.ts @@ -2,13 +2,11 @@ import { Injectable } from '@nestjs/common'; import { kucoin } from 'ccxt'; import { GetConfig } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { ExchangeService } from './exchange.service'; @Injectable() export class KucoinService extends ExchangeService { - protected readonly logger = new DfxLogger(KucoinService); - protected networks: { [b in Blockchain]: string } = { Arbitrum: undefined, BinanceSmartChain: undefined, @@ -30,7 +28,9 @@ export class KucoinService extends ExchangeService { Solana: undefined, }; - constructor() { + constructor(protected readonly logger: DfxLoggerService) { super(kucoin, GetConfig().exchange); + + this.logger.create(KucoinService); } } diff --git a/src/integration/sift/services/sift.service.ts b/src/integration/sift/services/sift.service.ts index 699467e4fb..a8760189ef 100644 --- a/src/integration/sift/services/sift.service.ts +++ b/src/integration/sift/services/sift.service.ts @@ -3,7 +3,7 @@ import * as IbanTools from 'ibantools'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BuyCrypto } from 'src/subdomains/core/buy-crypto/process/entities/buy-crypto.entity'; @@ -41,9 +41,9 @@ export class SiftService { private readonly url = 'https://api.sift.com/v205/events'; private readonly decisionUrl = 'https://api.sift.com/v3/accounts/'; - private readonly logger = new DfxLogger(SiftService); - - constructor(private readonly http: HttpService) {} + constructor(private readonly logger: DfxLoggerService, private readonly http: HttpService) { + this.logger.create(SiftService); + } // --- ACCOUNT --- // async createAccount(user: User): Promise { diff --git a/src/integration/tatum/controllers/tatum.controller.ts b/src/integration/tatum/controllers/tatum.controller.ts index 3e7b985e69..61a5821803 100644 --- a/src/integration/tatum/controllers/tatum.controller.ts +++ b/src/integration/tatum/controllers/tatum.controller.ts @@ -10,16 +10,16 @@ import { } from '@nestjs/common'; import { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger'; import { Request, Response } from 'express'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { TatumWebhookPayloadMapper } from '../dto/tatum-webhook-payload.mapper'; import { TatumWebhookService } from '../services/tatum-webhook.service'; @ApiTags('Tatum') @Controller('tatum') export class TatumController { - private readonly logger = new DfxLogger(TatumController); - - constructor(private readonly tatumWebhookService: TatumWebhookService) {} + constructor(private readonly logger: DfxLoggerService, private readonly tatumWebhookService: TatumWebhookService) { + this.logger.create(TatumController); + } @Post('addressWebhook') @ApiExcludeEndpoint() diff --git a/src/main.ts b/src/main.ts index f66a77ade5..2b43730226 100644 --- a/src/main.ts +++ b/src/main.ts @@ -11,7 +11,7 @@ import morgan from 'morgan'; import { AppModule } from './app.module'; import { Config } from './config/config'; import { ApiExceptionFilter } from './shared/filters/exception.filter'; -import { DfxLogger } from './shared/services/dfx-logger'; +import { DfxLoggerService } from './shared/services/dfx-logger.service'; import { AccountChangedWebhookDto } from './subdomains/generic/user/services/webhook/dto/account-changed-webhook.dto'; import { KycChangedWebhookDto, @@ -74,7 +74,7 @@ async function bootstrap() { await app.listen(Config.port); - new DfxLogger('Main').info(`Application ready ...`); + new DfxLoggerService().create('Main').info(`Application ready ...`); } void bootstrap(); diff --git a/src/shared/auth/ip.guard.ts b/src/shared/auth/ip.guard.ts index 52765a484a..9dc3fa30aa 100644 --- a/src/shared/auth/ip.guard.ts +++ b/src/shared/auth/ip.guard.ts @@ -1,10 +1,10 @@ import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; import { getClientIp } from '@supercharge/request-ip'; -import { DfxLogger } from '../services/dfx-logger'; +import { DfxLoggerService } from '../services/dfx-logger.service'; @Injectable() export class IpGuard implements CanActivate { - private readonly logger = new DfxLogger(IpGuard); + private readonly logger = new DfxLoggerService().create(IpGuard); async canActivate(context: ExecutionContext): Promise { const req = context.switchToHttp().getRequest(); diff --git a/src/shared/filters/exception.filter.ts b/src/shared/filters/exception.filter.ts index 2cad2afc7f..9f97fa1620 100644 --- a/src/shared/filters/exception.filter.ts +++ b/src/shared/filters/exception.filter.ts @@ -1,9 +1,9 @@ import { ArgumentsHost, Catch, ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common'; -import { DfxLogger } from '../services/dfx-logger'; +import { DfxLoggerService } from '../services/dfx-logger.service'; @Catch() export class ApiExceptionFilter implements ExceptionFilter { - private readonly logger = new DfxLogger(ApiExceptionFilter); + private readonly logger = new DfxLoggerService().create(ApiExceptionFilter); catch(exception: Error, host: ArgumentsHost) { const ctx = host.switchToHttp(); diff --git a/src/shared/services/dfx-cron.service.ts b/src/shared/services/dfx-cron.service.ts index f87dc18f8d..8f12262f2e 100644 --- a/src/shared/services/dfx-cron.service.ts +++ b/src/shared/services/dfx-cron.service.ts @@ -8,7 +8,7 @@ import { DFX_CRONJOB_PARAMS, DfxCronExpression, DfxCronParams } from 'src/shared import { LockClass } from 'src/shared/utils/lock'; import { Util } from 'src/shared/utils/util'; import { CustomCronExpression } from '../utils/custom-cron-expression'; -import { DfxLogger } from './dfx-logger'; +import { DfxLoggerService } from './dfx-logger.service'; interface CronJobData { instance: object; @@ -19,12 +19,11 @@ interface CronJobData { @Injectable() export class DfxCronService implements OnModuleInit { - private readonly logger = new DfxLogger(DfxCronService); - constructor( private readonly discovery: DiscoveryService, private readonly metadataScanner: MetadataScanner, - private readonly schedulerRegisty: SchedulerRegistry, + private readonly schedulerRegistry: SchedulerRegistry, + private readonly logger: DfxLoggerService, ) {} onModuleInit() { @@ -57,7 +56,7 @@ export class DfxCronService implements OnModuleInit { const cronJob = new CronJob(data.params.expression, () => lock(this.wrapFunction(data), context)); const cronJobName = `${context.target}::${context.method}`; - this.schedulerRegisty.addCronJob(cronJobName, cronJob); + this.schedulerRegistry.addCronJob(cronJobName, cronJob); cronJob.start(); } diff --git a/src/shared/services/dfx-logger.ts b/src/shared/services/dfx-logger.service.ts similarity index 83% rename from src/shared/services/dfx-logger.ts rename to src/shared/services/dfx-logger.service.ts index 562a342e54..668845682e 100644 --- a/src/shared/services/dfx-logger.ts +++ b/src/shared/services/dfx-logger.service.ts @@ -1,7 +1,8 @@ -import { Logger } from '@nestjs/common'; +import { Injectable, Logger } from '@nestjs/common'; +import * as AppInsights from 'applicationinsights'; import { TelemetryClient } from 'applicationinsights'; import { SeverityLevel } from 'applicationinsights/out/Declarations/Contracts'; -import * as AppInsights from 'applicationinsights'; +import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; export enum LogLevel { CRITICAL = 'Critical', @@ -11,13 +12,19 @@ export enum LogLevel { VERBOSE = 'Verbose', } -export class DfxLogger { - private readonly context?: string; - private readonly logger: Logger; +@Injectable() +// TODO rename DfxLoggerFactory +export class DfxLoggerService { + private context?: string; + private logger: Logger; - constructor(context?: { name: string } | string) { + constructor(private readonly notificationService?: NotificationService) {} + + create(context: { name: string } | string) { this.context = typeof context === 'string' ? context : context?.name; this.logger = new Logger(this.context); + + return this; } log(level: LogLevel, message: string, error?: Error) { diff --git a/src/shared/shared.module.ts b/src/shared/shared.module.ts index 371f467022..05dad31e47 100644 --- a/src/shared/shared.module.ts +++ b/src/shared/shared.module.ts @@ -36,6 +36,7 @@ import { SettingRepository } from './models/setting/setting.repository'; import { SettingService } from './models/setting/setting.service'; import { RepositoryFactory } from './repositories/repository.factory'; import { DfxCronService } from './services/dfx-cron.service'; +import { DfxLoggerService } from './services/dfx-logger.service'; import { HttpService } from './services/http.service'; import { PaymentInfoService } from './services/payment-info.service'; import { ProcessService } from './services/process.service'; @@ -73,6 +74,7 @@ import { ProcessService } from './services/process.service'; IpLogService, ProcessService, DfxCronService, + DfxLoggerService, ], exports: [ RepositoryFactory, @@ -89,6 +91,7 @@ import { ProcessService } from './services/process.service'; PaymentInfoService, IpLogService, ProcessService, + DfxLoggerService, ], }) export class SharedModule {} diff --git a/src/shared/utils/lock.ts b/src/shared/utils/lock.ts index 0a708952f1..88a10057cc 100644 --- a/src/shared/utils/lock.ts +++ b/src/shared/utils/lock.ts @@ -1,4 +1,4 @@ -import { DfxLogger } from '../services/dfx-logger'; +import { DfxLoggerService } from '../services/dfx-logger.service'; export interface Context { target: string; @@ -21,7 +21,7 @@ export class LockClass { try { await task(); } catch (e) { - context && new DfxLogger(context.target).error(`Error during ${context.method}:`, e); + context && new DfxLoggerService().create(context.target).error(`Error during ${context.method}:`, e); } finally { this.release(); } diff --git a/src/subdomains/core/aml/services/aml.service.ts b/src/subdomains/core/aml/services/aml.service.ts index 3db012bd41..facdfee146 100644 --- a/src/subdomains/core/aml/services/aml.service.ts +++ b/src/subdomains/core/aml/services/aml.service.ts @@ -2,7 +2,7 @@ import { Inject, Injectable, forwardRef } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Country } from 'src/shared/models/country/country.entity'; import { CountryService } from 'src/shared/models/country/country.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { NameCheckService } from 'src/subdomains/generic/kyc/services/name-check.service'; import { AccountMergeService } from 'src/subdomains/generic/user/models/account-merge/account-merge.service'; @@ -25,9 +25,8 @@ import { CheckStatus } from '../enums/check-status.enum'; @Injectable() export class AmlService { - private readonly logger = new DfxLogger(AmlService); - constructor( + private readonly logger: DfxLoggerService, private readonly specialExternalBankAccountService: SpecialExternalAccountService, private readonly bankDataService: BankDataService, private readonly bankService: BankService, @@ -38,7 +37,9 @@ export class AmlService { private readonly payInService: PayInService, private readonly userService: UserService, private readonly transactionService: TransactionService, - ) {} + ) { + this.logger.create(AmlService); + } async postProcessing( entity: BuyFiat | BuyCrypto, diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts index cd6524bb50..7c7700db3b 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityManagementPipelineStatus, @@ -31,9 +31,8 @@ import { BuyCryptoPricingService } from './buy-crypto-pricing.service'; @Injectable() export class BuyCryptoBatchService { - private readonly logger = new DfxLogger(BuyCryptoBatchService); - constructor( + private readonly logger: DfxLoggerService, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoBatchRepo: BuyCryptoBatchRepository, private readonly pricingService: PricingService, @@ -44,7 +43,9 @@ export class BuyCryptoBatchService { private readonly buyCryptoNotificationService: BuyCryptoNotificationService, private readonly liquidityService: LiquidityManagementService, private readonly feeService: FeeService, - ) {} + ) { + this.logger.create(BuyCryptoBatchService); + } async batchAndOptimizeTransactions(): Promise { try { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts index 388e8769a2..0243b8f09e 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { LiquidityOrderNotReadyException } from 'src/subdomains/supporting/dex/exceptions/liquidity-order-not-ready.exception'; import { NotEnoughLiquidityException } from 'src/subdomains/supporting/dex/exceptions/not-enough-liquidity.exception'; @@ -15,15 +15,16 @@ import { BuyCryptoPricingService } from './buy-crypto-pricing.service'; @Injectable() export class BuyCryptoDexService { - private readonly logger = new DfxLogger(BuyCryptoDexService); - constructor( + private readonly logger: DfxLoggerService, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoBatchRepo: BuyCryptoBatchRepository, private readonly buyCryptoNotificationService: BuyCryptoNotificationService, private readonly dexService: DexService, private readonly buyCryptoPricingService: BuyCryptoPricingService, - ) {} + ) { + this.logger.create(BuyCryptoDexService); + } async secureLiquidity(): Promise { try { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts index 8c9ff305e4..577bef5cc3 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { @@ -17,12 +17,13 @@ import { BuyCryptoRepository } from '../repositories/buy-crypto.repository'; @Injectable() export class BuyCryptoNotificationService { - private readonly logger = new DfxLogger(BuyCryptoNotificationService); - constructor( + private readonly logger: DfxLoggerService, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly notificationService: NotificationService, - ) {} + ) { + this.logger.create(BuyCryptoNotificationService); + } async sendNotificationMails(): Promise { try { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts index c66a385f28..7ac25db047 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts @@ -3,7 +3,7 @@ import { TransactionStatus } from 'src/integration/sift/dto/sift.dto'; import { SiftService } from 'src/integration/sift/services/sift.service'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { CustodyOrderInputTypes, CustodyOrderStatus } from 'src/subdomains/core/custody/enums/custody'; import { CustodyOrderService } from 'src/subdomains/core/custody/services/custody-order.service'; @@ -23,8 +23,6 @@ import { BuyCryptoWebhookService } from './buy-crypto-webhook.service'; @Injectable() export class BuyCryptoOutService { - private readonly logger = new DfxLogger(BuyCryptoOutService); - constructor( private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoBatchRepo: BuyCryptoBatchRepository, @@ -37,7 +35,10 @@ export class BuyCryptoOutService { private readonly pricingService: PricingService, private readonly fiatService: FiatService, private readonly custodyOrderService: CustodyOrderService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(BuyCryptoOutService); + } async payoutTransactions(): Promise { try { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts index 3d349cde9b..0ad68e0c5f 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts @@ -7,7 +7,7 @@ import { AssetType } from 'src/shared/models/asset/asset.entity'; import { CountryService } from 'src/shared/models/country/country.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { AmlReason } from 'src/subdomains/core/aml/enums/aml-reason.enum'; import { AmlService } from 'src/subdomains/core/aml/services/aml.service'; @@ -30,7 +30,6 @@ import { BuyCryptoService } from './buy-crypto.service'; @Injectable() export class BuyCryptoPreparationService implements OnModuleInit { - private readonly logger = new DfxLogger(BuyCryptoPreparationService); private chf: Fiat; private eur: Fiat; @@ -47,7 +46,10 @@ export class BuyCryptoPreparationService implements OnModuleInit { private readonly buyCryptoWebhookService: BuyCryptoWebhookService, private readonly buyCryptoNotificationService: BuyCryptoNotificationService, private readonly bankTxService: BankTxService, - ) {} + private readonly logger: DfxLoggerService, + ) { + logger.create(BuyCryptoPreparationService); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts index 99e50df8e7..3541188cde 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Swap } from 'src/subdomains/core/buy-crypto/routes/swap/swap.entity'; import { SwapRepository } from 'src/subdomains/core/buy-crypto/routes/swap/swap.repository'; import { CryptoInput, PayInPurpose, PayInStatus } from 'src/subdomains/supporting/payin/entities/crypto-input.entity'; @@ -11,15 +11,16 @@ import { BuyCryptoService } from './buy-crypto.service'; @Injectable() export class BuyCryptoRegistrationService { - private readonly logger = new DfxLogger(BuyCryptoRegistrationService); - constructor( + private readonly logger: DfxLoggerService, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoService: BuyCryptoService, private readonly swapRepository: SwapRepository, private readonly payInService: PayInService, private readonly transactionHelper: TransactionHelper, - ) {} + ) { + this.logger.create(BuyCryptoRegistrationService); + } async syncReturnTxId(): Promise { const entities = await this.buyCryptoRepo.find({ diff --git a/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts b/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts index 6c35e979bc..d8f73e35d3 100644 --- a/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts +++ b/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts @@ -12,7 +12,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetDtoMapper } from 'src/shared/models/asset/dto/asset-dto.mapper'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { BuyCryptoExtended } from 'src/subdomains/core/history/mappers/transaction-dto.mapper'; @@ -43,9 +43,8 @@ import { SwapRepository } from './swap.repository'; @Injectable() export class SwapService { - private readonly logger = new DfxLogger(SwapService); - constructor( + private readonly logger: DfxLoggerService, private readonly swapRepo: SwapRepository, private readonly userService: UserService, private readonly depositService: DepositService, @@ -62,7 +61,9 @@ export class SwapService { private readonly transactionHelper: TransactionHelper, private readonly cryptoService: CryptoService, private readonly transactionRequestService: TransactionRequestService, - ) {} + ) { + this.logger.create(SwapService); + } async getSwapByAddress(depositAddress: string): Promise { // does not work with find options diff --git a/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts index 372ae09d01..649d844396 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts @@ -3,7 +3,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { TradeChangedException } from 'src/integration/exchange/exceptions/trade-changed.exception'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; import { ExchangeService } from 'src/integration/exchange/services/exchange.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityManagementOrder } from '../../../entities/liquidity-management-order.entity'; @@ -27,7 +27,7 @@ export enum CcxtExchangeAdapterCommands { } export abstract class CcxtExchangeAdapter extends LiquidityActionAdapter { - private readonly logger = new DfxLogger(CcxtExchangeAdapter); + protected abstract readonly logger: DfxLoggerService; protected commands = new Map(); diff --git a/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts index d206c3f128..ff5a6e34b2 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts @@ -2,7 +2,7 @@ import { ethers } from 'ethers'; import { EvmUtil } from 'src/integration/blockchain/shared/evm/evm.util'; import { FrankencoinBasedService } from 'src/integration/blockchain/shared/frankencoin/frankencoin-based.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityManagementOrder } from '../../../entities/liquidity-management-order.entity'; import { LiquidityManagementSystem } from '../../../enums'; @@ -18,9 +18,8 @@ export enum FrankencoinBasedAdapterCommands { } export abstract class FrankencoinBasedAdapter extends LiquidityActionAdapter { - private readonly logger = new DfxLogger(FrankencoinBasedAdapter); - protected commands = new Map(); + protected abstract readonly logger: DfxLoggerService; constructor( system: LiquidityManagementSystem, diff --git a/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts index 82046b6d12..86374c1501 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { BinanceService } from 'src/integration/exchange/services/binance.service'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementOrderRepository } from '../../repositories/liquidity-management-order.repository'; @@ -8,12 +9,17 @@ import { CcxtExchangeAdapter } from './base/ccxt-exchange.adapter'; @Injectable() export class BinanceAdapter extends CcxtExchangeAdapter { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, binanceService: BinanceService, exchangeRegistry: ExchangeRegistryService, dexService: DexService, liquidityOrderRepo: LiquidityManagementOrderRepository, ) { super(LiquidityManagementSystem.BINANCE, binanceService, exchangeRegistry, dexService, liquidityOrderRepo); + + this.logger = this.dfxLogger.create(BinanceAdapter); } } diff --git a/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts index f8fad89c45..360f87aea3 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts @@ -3,18 +3,24 @@ import { DEuroService } from 'src/integration/blockchain/deuro/deuro.service'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementBalanceService } from '../../services/liquidity-management-balance.service'; import { FrankencoinBasedAdapter } from './base/frankencoin-based.adapter'; @Injectable() export class DEuroAdapter extends FrankencoinBasedAdapter { + protected readonly logger: DfxLoggerService; + constructor( liquidityManagementBalanceService: LiquidityManagementBalanceService, readonly deuroService: DEuroService, private readonly assetService: AssetService, + private readonly dfxLogger: DfxLoggerService, ) { super(LiquidityManagementSystem.DEURO, liquidityManagementBalanceService, deuroService); + + this.logger = this.dfxLogger.create(DEuroAdapter); } async getStableToken(): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts index 467830db3c..89474ba6ce 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts @@ -3,18 +3,24 @@ import { FrankencoinService } from 'src/integration/blockchain/frankencoin/frank import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementBalanceService } from '../../services/liquidity-management-balance.service'; import { FrankencoinBasedAdapter } from './base/frankencoin-based.adapter'; @Injectable() export class FrankencoinAdapter extends FrankencoinBasedAdapter { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, liquidityManagementBalanceService: LiquidityManagementBalanceService, frankencoinService: FrankencoinService, private readonly assetService: AssetService, ) { super(LiquidityManagementSystem.FRANKENCOIN, liquidityManagementBalanceService, frankencoinService); + + this.logger = this.dfxLogger.create(FrankencoinAdapter); } async getStableToken(): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts index 8d9eaff181..67b50bc0e7 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; import { KrakenService } from 'src/integration/exchange/services/kraken.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementOrderRepository } from '../../repositories/liquidity-management-order.repository'; @@ -8,12 +9,17 @@ import { CcxtExchangeAdapter } from './base/ccxt-exchange.adapter'; @Injectable() export class KrakenAdapter extends CcxtExchangeAdapter { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, krakenService: KrakenService, exchangeRegistry: ExchangeRegistryService, dexService: DexService, liquidityOrderRepo: LiquidityManagementOrderRepository, ) { super(LiquidityManagementSystem.KRAKEN, krakenService, exchangeRegistry, dexService, liquidityOrderRepo); + + this.logger = this.dfxLogger.create(KrakenAdapter); } } diff --git a/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts index 144254bb9f..cd3c506ed6 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { OlkypayService } from 'src/integration/bank/services/olkypay.service'; import { CheckoutService } from 'src/integration/checkout/services/checkout.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { BankTxBatchService } from 'src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx-batch.service'; import { BankService } from 'src/subdomains/supporting/bank/bank/bank.service'; @@ -13,14 +13,15 @@ import { LiquidityBalanceIntegration, LiquidityManagementAsset } from '../../int @Injectable() export class BankAdapter implements LiquidityBalanceIntegration { - private readonly logger = new DfxLogger(BankAdapter); - constructor( private readonly bankService: BankService, private readonly bankTxBatchService: BankTxBatchService, private readonly olkypayService: OlkypayService, private readonly checkoutService: CheckoutService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(BankAdapter); + } async getBalances(assets: LiquidityManagementAsset[]): Promise { const liquidityManagementAssets = Util.groupBy( diff --git a/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts index 6c38ef62d5..853f8f65a3 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts @@ -10,7 +10,7 @@ import { LightningClient } from 'src/integration/lightning/lightning-client'; import { LightningService } from 'src/integration/lightning/services/lightning.service'; import { isAsset } from 'src/shared/models/active'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityBalance } from '../../entities/liquidity-balance.entity'; @@ -21,8 +21,6 @@ type TokenClient = EvmClient | SolanaClient; @Injectable() export class BlockchainAdapter implements LiquidityBalanceIntegration { - private readonly logger = new DfxLogger(BlockchainAdapter); - private readonly refreshInterval = 45; // seconds private readonly balanceCache = new Map(); @@ -35,11 +33,13 @@ export class BlockchainAdapter implements LiquidityBalanceIntegration { constructor( private readonly dexService: DexService, private readonly blockchainRegistryService: BlockchainRegistryService, + private readonly logger: DfxLoggerService, bitcoinService: BitcoinService, lightningService: LightningService, ) { this.bitcoinClient = bitcoinService.getDefaultClient(BitcoinNodeType.BTC_OUTPUT); this.lightningClient = lightningService.getDefaultClient(); + this.logger.create(BlockchainAdapter); } async getBalances(assets: (Asset & { context: LiquidityManagementContext })[]): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts index ca6b736f8a..053a4513c4 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; import { Active } from 'src/shared/models/active'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { In } from 'typeorm'; import { LiquidityBalance } from '../../entities/liquidity-balance.entity'; @@ -11,14 +11,15 @@ import { LiquidityManagementOrderRepository } from '../../repositories/liquidity @Injectable() export class ExchangeAdapter implements LiquidityBalanceIntegration { - private readonly logger = new DfxLogger(ExchangeAdapter); - private readonly ASSET_MAPPINGS = { BTC: ['XBT'] }; constructor( private readonly exchangeRegistry: ExchangeRegistryService, private readonly orderRepo: LiquidityManagementOrderRepository, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(ExchangeAdapter); + } async getBalances(assets: LiquidityManagementAsset[]): Promise { const liquidityManagementAssets = Util.groupBy( diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts index 9784327c15..f9cbd06a7c 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { In } from 'typeorm'; import { LiquidityBalance } from '../entities/liquidity-balance.entity'; @@ -9,12 +9,13 @@ import { LiquidityBalanceRepository } from '../repositories/liquidity-balance.re @Injectable() export class LiquidityManagementBalanceService { - private readonly logger = new DfxLogger(LiquidityManagementBalanceService); - constructor( private readonly balanceIntegrationFactory: LiquidityBalanceIntegrationFactory, private readonly balanceRepo: LiquidityBalanceRepository, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(LiquidityManagementBalanceService); + } //*** PUBLIC API ***// diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts index dbee9721d9..74ed9e06e3 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts @@ -1,6 +1,6 @@ import { Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -20,15 +20,16 @@ import { LiquidityManagementRuleRepository } from '../repositories/liquidity-man @Injectable() export class LiquidityManagementPipelineService { - private readonly logger = new DfxLogger(LiquidityManagementPipelineService); - constructor( private readonly ruleRepo: LiquidityManagementRuleRepository, private readonly orderRepo: LiquidityManagementOrderRepository, private readonly pipelineRepo: LiquidityManagementPipelineRepository, private readonly actionIntegrationFactory: LiquidityActionIntegrationFactory, private readonly notificationService: NotificationService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(LiquidityManagementPipelineService); + } //*** JOBS ***// diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts index 7c7e254c24..7237c8f36c 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts @@ -4,7 +4,7 @@ import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -27,8 +27,6 @@ import { LiquidityManagementRuleRepository } from '../repositories/liquidity-man @Injectable() export class LiquidityManagementRuleService { - private readonly logger = new DfxLogger(LiquidityManagementRuleService); - constructor( private readonly ruleRepo: LiquidityManagementRuleRepository, private readonly actionRepo: LiquidityManagementActionRepository, @@ -36,7 +34,10 @@ export class LiquidityManagementRuleService { private readonly fiatService: FiatService, private readonly actionIntegrationFactory: LiquidityActionIntegrationFactory, private readonly notificationService: NotificationService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(LiquidityManagementRuleService); + } //*** PUBLIC API ***// diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts index 57b4dc2bd1..3d33a40a30 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts @@ -1,7 +1,7 @@ import { BadRequestException, ConflictException, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,8 +17,6 @@ import { LiquidityManagementBalanceService } from './liquidity-management-balanc @Injectable() export class LiquidityManagementService { - private readonly logger = new DfxLogger(LiquidityManagementService); - private readonly ruleActivations = new Map(); constructor( @@ -26,7 +24,10 @@ export class LiquidityManagementService { private readonly pipelineRepo: LiquidityManagementPipelineRepository, private readonly balanceService: LiquidityManagementBalanceService, private readonly settingService: SettingService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(LiquidityManagementService); + } //*** JOBS ***// diff --git a/src/subdomains/core/monitoring/metric.observer.ts b/src/subdomains/core/monitoring/metric.observer.ts index 593283e698..ce2d4305fa 100644 --- a/src/subdomains/core/monitoring/metric.observer.ts +++ b/src/subdomains/core/monitoring/metric.observer.ts @@ -1,10 +1,10 @@ import { NotImplementedException } from '@nestjs/common'; import { BehaviorSubject, Observable, skip } from 'rxjs'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { MonitoringService } from './monitoring.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; export abstract class MetricObserver { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; #subsystemName: string; #metricName: string; diff --git a/src/subdomains/core/monitoring/monitor-connection-pool.service.ts b/src/subdomains/core/monitoring/monitor-connection-pool.service.ts index 56b4418727..c2b26993ac 100644 --- a/src/subdomains/core/monitoring/monitor-connection-pool.service.ts +++ b/src/subdomains/core/monitoring/monitor-connection-pool.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { ConnectionPool } from 'mssql/lib/tedious/connection-pool'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { DataSource } from 'typeorm'; @@ -11,13 +11,12 @@ import { SqlServerDriver } from 'typeorm/driver/sqlserver/SqlServerDriver'; @Injectable() export class MonitorConnectionPoolService { - private readonly logger = new DfxLogger(MonitorConnectionPoolService); - private readonly dbConnectionPool: ConnectionPool; - constructor(dataSource: DataSource) { + constructor(dataSource: DataSource, private readonly logger: DfxLoggerService) { const dbDriver = dataSource.driver as SqlServerDriver; this.dbConnectionPool = dbDriver.master; + this.logger.create(MonitorConnectionPoolService); } @DfxCron(CronExpression.EVERY_SECOND, { process: Process.MONITOR_CONNECTION_POOL }) diff --git a/src/subdomains/core/monitoring/monitoring.service.ts b/src/subdomains/core/monitoring/monitoring.service.ts index f71b30ae29..a44b883d59 100644 --- a/src/subdomains/core/monitoring/monitoring.service.ts +++ b/src/subdomains/core/monitoring/monitoring.service.ts @@ -1,7 +1,7 @@ import { Injectable, NotFoundException, OnModuleInit } from '@nestjs/common'; import { cloneDeep, isEqual } from 'lodash'; import { BehaviorSubject, debounceTime, pairwise } from 'rxjs'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { MetricObserver } from './metric.observer'; @@ -12,15 +12,16 @@ type SubsystemObservers = Map>; @Injectable() export class MonitoringService implements OnModuleInit { - private readonly logger = new DfxLogger(MonitoringService); - #$state: BehaviorSubject = new BehaviorSubject({}); #observers: Map = new Map(); constructor( private systemStateSnapshotRepo: SystemStateSnapshotRepository, readonly notificationService: NotificationService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(MonitoringService); + } onModuleInit() { void this.initState(); diff --git a/src/subdomains/core/monitoring/observers/aml.observer.ts b/src/subdomains/core/monitoring/observers/aml.observer.ts index b742e15794..1f187584aa 100644 --- a/src/subdomains/core/monitoring/observers/aml.observer.ts +++ b/src/subdomains/core/monitoring/observers/aml.observer.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -22,10 +22,16 @@ interface AmlDetails { @Injectable() export class AmlObserver extends MetricObserver { - protected readonly logger = new DfxLogger(AmlObserver); + protected readonly logger: DfxLoggerService; - constructor(monitoringService: MonitoringService, private readonly repos: RepositoryFactory) { + constructor( + monitoringService: MonitoringService, + private readonly repos: RepositoryFactory, + private readonly dfxLogger: DfxLoggerService, + ) { super(monitoringService, 'payment', 'aml'); + + this.logger = this.dfxLogger.create(AmlObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/bank.observer.ts b/src/subdomains/core/monitoring/observers/bank.observer.ts index 849efce65e..023f0e1760 100644 --- a/src/subdomains/core/monitoring/observers/bank.observer.ts +++ b/src/subdomains/core/monitoring/observers/bank.observer.ts @@ -4,7 +4,7 @@ import { Config } from 'src/config/config'; import { OlkypayService } from 'src/integration/bank/services/olkypay.service'; import { RevolutService } from 'src/integration/bank/services/revolut.service'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -24,7 +24,7 @@ interface BankData { @Injectable() export class BankObserver extends MetricObserver { - protected readonly logger = new DfxLogger(BankObserver); + protected readonly logger: DfxLoggerService; constructor( monitoringService: MonitoringService, @@ -32,8 +32,11 @@ export class BankObserver extends MetricObserver { private readonly bankService: BankService, private readonly repos: RepositoryFactory, private readonly revolutService: RevolutService, + private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'bank', 'balance'); + + this.logger = this.dfxLogger.create(BankObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/banking-bot.observer.ts b/src/subdomains/core/monitoring/observers/banking-bot.observer.ts index da0ab95e1e..37d2b6e988 100644 --- a/src/subdomains/core/monitoring/observers/banking-bot.observer.ts +++ b/src/subdomains/core/monitoring/observers/banking-bot.observer.ts @@ -1,7 +1,7 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { Type, plainToClass } from 'class-transformer'; import { IsNotEmpty, IsOptional, IsString, ValidateIf, ValidateNested, validateSync } from 'class-validator'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; import { MonitoringService } from 'src/subdomains/core/monitoring/monitoring.service'; @@ -51,10 +51,12 @@ class BankingBotDataDto { @Injectable() export class BankingBotObserver extends MetricObserver { - protected readonly logger = new DfxLogger(BankingBotObserver); + protected readonly logger: DfxLoggerService; - constructor(monitoringService: MonitoringService) { + constructor(monitoringService: MonitoringService, private readonly dfxLogger: DfxLoggerService) { super(monitoringService, 'bankingBot', 'logs'); + + this.logger = this.dfxLogger.create(BankingBotObserver); } async onWebhook(_dto: unknown): Promise { diff --git a/src/subdomains/core/monitoring/observers/checkout.observer.ts b/src/subdomains/core/monitoring/observers/checkout.observer.ts index 5bad9a248d..31b858147b 100644 --- a/src/subdomains/core/monitoring/observers/checkout.observer.ts +++ b/src/subdomains/core/monitoring/observers/checkout.observer.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { CheckoutBalances, CheckoutService } from 'src/integration/checkout/services/checkout.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -18,14 +18,17 @@ interface CheckoutData { @Injectable() export class CheckoutObserver extends MetricObserver { - protected readonly logger = new DfxLogger(CheckoutObserver); + protected readonly logger: DfxLoggerService; constructor( monitoringService: MonitoringService, private readonly checkoutService: CheckoutService, private readonly checkoutTxService: CheckoutTxService, + private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'checkout', 'balance'); + + this.logger = this.dfxLogger.create(CheckoutObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/exchange.observer.ts b/src/subdomains/core/monitoring/observers/exchange.observer.ts index 20c0125c60..f10dc977b2 100644 --- a/src/subdomains/core/monitoring/observers/exchange.observer.ts +++ b/src/subdomains/core/monitoring/observers/exchange.observer.ts @@ -3,7 +3,7 @@ import { CronExpression } from '@nestjs/schedule'; import { ExchangeTxType } from 'src/integration/exchange/entities/exchange-tx.entity'; import { ExchangeName } from 'src/integration/exchange/enums/exchange.enum'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -18,10 +18,16 @@ interface ExchangeData { @Injectable() export class ExchangeObserver extends MetricObserver { - protected readonly logger = new DfxLogger(ExchangeObserver); + protected readonly logger: DfxLoggerService; - constructor(monitoringService: MonitoringService, private readonly repos: RepositoryFactory) { + constructor( + monitoringService: MonitoringService, + private readonly repos: RepositoryFactory, + private readonly dfxLogger: DfxLoggerService, + ) { super(monitoringService, 'exchange', 'volume'); + + this.logger = this.dfxLogger.create(ExchangeObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/external-services.observer.ts b/src/subdomains/core/monitoring/observers/external-services.observer.ts index 657da9ccad..3d5645eced 100644 --- a/src/subdomains/core/monitoring/observers/external-services.observer.ts +++ b/src/subdomains/core/monitoring/observers/external-services.observer.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { IbanService } from 'src/integration/bank/services/iban.service'; import { LetterService } from 'src/integration/letter/letter.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -21,14 +21,17 @@ enum Status { @Injectable() export class ExternalServicesObserver extends MetricObserver { - protected readonly logger = new DfxLogger(ExternalServicesObserver); + protected readonly logger: DfxLoggerService; constructor( monitoringService: MonitoringService, private readonly ibanService: IbanService, private readonly letterService: LetterService, + private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'externalServices', 'combined'); + + this.logger = this.dfxLogger.create(ExternalServicesObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/liquidity.observer.ts b/src/subdomains/core/monitoring/observers/liquidity.observer.ts index 30782ffd8c..2e90be44aa 100644 --- a/src/subdomains/core/monitoring/observers/liquidity.observer.ts +++ b/src/subdomains/core/monitoring/observers/liquidity.observer.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process, ProcessService } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -19,14 +19,17 @@ interface LiquidityData { @Injectable() export class LiquidityObserver extends MetricObserver { - protected readonly logger = new DfxLogger(LiquidityObserver); + protected readonly logger: DfxLoggerService; constructor( monitoringService: MonitoringService, private readonly repos: RepositoryFactory, private readonly processService: ProcessService, + private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'liquidity', 'trading'); + + this.logger = this.dfxLogger.create(LiquidityObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/node-balance.observer.ts b/src/subdomains/core/monitoring/observers/node-balance.observer.ts index 2464a08f1f..5f29f27d3d 100644 --- a/src/subdomains/core/monitoring/observers/node-balance.observer.ts +++ b/src/subdomains/core/monitoring/observers/node-balance.observer.ts @@ -3,7 +3,7 @@ import { CronExpression } from '@nestjs/schedule'; import BigNumber from 'bignumber.js'; import { BitcoinClient } from 'src/integration/blockchain/bitcoin/node/bitcoin-client'; import { BitcoinNodeType, BitcoinService } from 'src/integration/blockchain/bitcoin/node/bitcoin.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -19,14 +19,19 @@ interface NodeBalanceData { @Injectable() export class NodeBalanceObserver extends MetricObserver { - protected readonly logger = new DfxLogger(NodeBalanceObserver); + protected readonly logger: DfxLoggerService; private readonly bitcoinClient: BitcoinClient; - constructor(monitoringService: MonitoringService, readonly bitcoinService: BitcoinService) { + constructor( + monitoringService: MonitoringService, + readonly bitcoinService: BitcoinService, + private readonly dfxLogger: DfxLoggerService, + ) { super(monitoringService, 'node', 'balance'); this.bitcoinClient = bitcoinService.getDefaultClient(BitcoinNodeType.BTC_INPUT); + this.logger = this.dfxLogger.create(NodeBalanceObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/node-health.observer.ts b/src/subdomains/core/monitoring/observers/node-health.observer.ts index b1c26424d8..07930fe946 100644 --- a/src/subdomains/core/monitoring/observers/node-health.observer.ts +++ b/src/subdomains/core/monitoring/observers/node-health.observer.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { BitcoinNodeType, BitcoinService } from 'src/integration/blockchain/bitcoin/node/bitcoin.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -28,14 +28,17 @@ type NodesState = NodePoolState[]; // --------- // @Injectable() export class NodeHealthObserver extends MetricObserver { - protected readonly logger = new DfxLogger(NodeHealthObserver); + protected readonly logger: DfxLoggerService; constructor( readonly monitoringService: MonitoringService, private readonly bitcoinService: BitcoinService, private readonly notificationService: NotificationService, + private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'node', 'health'); + + this.logger = this.dfxLogger.create(NodeHealthObserver); } init(data: NodesState) { diff --git a/src/subdomains/core/monitoring/observers/payment.observer.ts b/src/subdomains/core/monitoring/observers/payment.observer.ts index b831b3d2b9..169b861b93 100644 --- a/src/subdomains/core/monitoring/observers/payment.observer.ts +++ b/src/subdomains/core/monitoring/observers/payment.observer.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -38,10 +38,16 @@ interface IncompleteTransactions { @Injectable() export class PaymentObserver extends MetricObserver { - protected readonly logger = new DfxLogger(PaymentObserver); + protected readonly logger: DfxLoggerService; - constructor(monitoringService: MonitoringService, private readonly repos: RepositoryFactory) { + constructor( + monitoringService: MonitoringService, + private readonly repos: RepositoryFactory, + private readonly dfxLogger: DfxLoggerService, + ) { super(monitoringService, 'payment', 'combined'); + + this.logger = this.dfxLogger.create(PaymentObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/user.observer.ts b/src/subdomains/core/monitoring/observers/user.observer.ts index aded7a051a..4458e34f2f 100644 --- a/src/subdomains/core/monitoring/observers/user.observer.ts +++ b/src/subdomains/core/monitoring/observers/user.observer.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -18,10 +18,16 @@ interface UserWithout { @Injectable() export class UserObserver extends MetricObserver { - protected readonly logger = new DfxLogger(UserObserver); + protected readonly logger: DfxLoggerService; - constructor(monitoringService: MonitoringService, private readonly repos: RepositoryFactory) { + constructor( + private readonly dfxLogger: DfxLoggerService, + monitoringService: MonitoringService, + private readonly repos: RepositoryFactory, + ) { super(monitoringService, 'user', 'kyc'); + + this.logger = this.dfxLogger.create(UserObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/payment-link/controllers/payment-link.controller.ts b/src/subdomains/core/payment-link/controllers/payment-link.controller.ts index 95b9c94581..fd6f827416 100644 --- a/src/subdomains/core/payment-link/controllers/payment-link.controller.ts +++ b/src/subdomains/core/payment-link/controllers/payment-link.controller.ts @@ -31,7 +31,7 @@ import { JwtPayload } from 'src/shared/auth/jwt-payload.interface'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { SellService } from 'src/subdomains/core/sell-crypto/route/sell.service'; import { UserDataService } from 'src/subdomains/generic/user/models/user-data/user-data.service'; @@ -55,13 +55,15 @@ import { PaymentLinkService } from '../services/payment-link.service'; @ApiTags('Payment Link') @Controller('paymentLink') export class PaymentLinkController { - private readonly logger = new DfxLogger(PaymentLinkController); constructor( private readonly userDataService: UserDataService, private readonly paymentLinkService: PaymentLinkService, private readonly paymentLinkPaymentService: PaymentLinkPaymentService, private readonly sellService: SellService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(PaymentLinkController); + } @Get() @ApiBearerAuth() diff --git a/src/subdomains/core/payment-link/services/payment-activation.service.ts b/src/subdomains/core/payment-link/services/payment-activation.service.ts index a5aa84bd54..5264e9a230 100644 --- a/src/subdomains/core/payment-link/services/payment-activation.service.ts +++ b/src/subdomains/core/payment-link/services/payment-activation.service.ts @@ -10,7 +10,7 @@ import { LightningHelper } from 'src/integration/lightning/lightning-helper'; import { LightningService } from 'src/integration/lightning/services/lightning.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { Equal, LessThan, Not } from 'typeorm'; import { TransferInfo } from '../dto/payment-link.dto'; @@ -23,8 +23,6 @@ import { PaymentQuoteService } from './payment-quote.service'; @Injectable() export class PaymentActivationService implements OnModuleInit { - private readonly logger = new DfxLogger(PaymentActivationService); - private readonly client: LightningClient; private evmDepositAddress: string; @@ -38,8 +36,10 @@ export class PaymentActivationService implements OnModuleInit { private readonly assetService: AssetService, private readonly cryptoService: CryptoService, private readonly c2bPaymentLinkService: C2BPaymentLinkService, + private readonly logger: DfxLoggerService, ) { this.client = lightningService.getDefaultClient(); + this.logger.create(PaymentActivationService); } onModuleInit() { diff --git a/src/subdomains/core/payment-link/services/payment-link.service.ts b/src/subdomains/core/payment-link/services/payment-link.service.ts index 5b0eaf7604..b12e674152 100644 --- a/src/subdomains/core/payment-link/services/payment-link.service.ts +++ b/src/subdomains/core/payment-link/services/payment-link.service.ts @@ -17,7 +17,7 @@ import { C2BPaymentLinkService } from 'src/integration/c2b-payment-link/c2b-paym import { C2BPaymentProvider } from 'src/integration/c2b-payment-link/share/providers.enum'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; import { CountryService } from 'src/shared/models/country/country.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { UserDataService } from 'src/subdomains/generic/user/models/user-data/user-data.service'; import { Sell } from '../../sell-crypto/route/sell.entity'; @@ -37,7 +37,6 @@ import { PaymentQuoteService } from './payment-quote.service'; @Injectable() export class PaymentLinkService { - private readonly logger = new DfxLogger(PaymentLinkService); static readonly PREFIX_UNIQUE_ID = 'pl'; constructor( @@ -49,7 +48,10 @@ export class PaymentLinkService { private readonly sellService: SellService, private readonly c2bPaymentLinkService: C2BPaymentLinkService, private readonly i18n: I18nService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(PaymentLinkService); + } async getOrThrow( userId: number, diff --git a/src/subdomains/core/payment-link/services/payment-quote.service.ts b/src/subdomains/core/payment-link/services/payment-quote.service.ts index 48e529d5ce..b2b8c9fad7 100644 --- a/src/subdomains/core/payment-link/services/payment-quote.service.ts +++ b/src/subdomains/core/payment-link/services/payment-quote.service.ts @@ -10,7 +10,7 @@ import { LightningHelper } from 'src/integration/lightning/lightning-helper'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { PayoutBitcoinService } from 'src/subdomains/supporting/payout/services/payout-bitcoin.service'; import { PayoutMoneroService } from 'src/subdomains/supporting/payout/services/payout-monero.service'; @@ -30,8 +30,6 @@ import { PaymentQuoteRepository } from '../repositories/payment-quote.repository @Injectable() export class PaymentQuoteService { - private readonly logger = new DfxLogger(PaymentQuoteService); - static readonly PREFIX_UNIQUE_ID = 'plq'; private readonly transferAmountBlockchainOrder: Blockchain[] = [ @@ -58,7 +56,10 @@ export class PaymentQuoteService { private readonly payoutMoneroService: PayoutMoneroService, private readonly payoutBitcoinService: PayoutBitcoinService, private readonly c2bPaymentLinkService: C2BPaymentLinkService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(PaymentQuoteService); + } // --- JOBS --- // async processExpiredQuotes(): Promise { diff --git a/src/subdomains/core/payment-link/services/payment-webhook.service.ts b/src/subdomains/core/payment-link/services/payment-webhook.service.ts index b5c9778271..bea76785a5 100644 --- a/src/subdomains/core/payment-link/services/payment-webhook.service.ts +++ b/src/subdomains/core/payment-link/services/payment-webhook.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; @@ -9,12 +9,11 @@ import { PaymentLink } from '../entities/payment-link.entity'; @Injectable() export class PaymentWebhookService { - private readonly logger = new DfxLogger(PaymentWebhookService); - private readonly webhookSendQueue: QueueHandler; - constructor(private readonly http: HttpService) { + constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { this.webhookSendQueue = QueueHandler.createParallelQueueHandler(10); + this.logger.create(PaymentWebhookService); } async sendWebhook(paymentLink: PaymentLink): Promise { diff --git a/src/subdomains/core/referral/process/ref.service.ts b/src/subdomains/core/referral/process/ref.service.ts index c952dbe942..7c9f55fc55 100644 --- a/src/subdomains/core/referral/process/ref.service.ts +++ b/src/subdomains/core/referral/process/ref.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { IsNull, LessThan } from 'typeorm'; @@ -9,11 +9,11 @@ import { RefRepository } from './ref.repository'; @Injectable() export class RefService { - private readonly logger = new DfxLogger(RefService); - private readonly refExpirationDays = 3; - constructor(private readonly repo: RefRepository) {} + constructor(private readonly repo: RefRepository, private readonly logger: DfxLoggerService) { + this.logger.create(RefService); + } @DfxCron(CronExpression.EVERY_HOUR, { timeout: 7200 }) async checkRefs(): Promise { diff --git a/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts b/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts index 35b88e5430..12641b79cb 100644 --- a/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts +++ b/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts @@ -3,7 +3,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { PurchaseLiquidityRequest, ReserveLiquidityRequest } from 'src/subdomains/supporting/dex/interfaces'; @@ -20,15 +20,16 @@ export interface RefLiquidityRequest { @Injectable() export class RefRewardDexService { - private readonly logger = new DfxLogger(RefRewardDexService); - constructor( private readonly refRewardRepo: RefRewardRepository, private readonly dexService: DexService, private readonly assetService: AssetService, private readonly fiatService: FiatService, private readonly priceService: PricingService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(RefRewardDexService); + } async secureLiquidity(): Promise { const newRefRewards = await this.refRewardRepo.find({ diff --git a/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts b/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts index 1c7244d1ff..22f738cb80 100644 --- a/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts +++ b/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { MailKey, MailTranslationKey } from 'src/subdomains/supporting/notification/factories/mail.factory'; @@ -10,12 +10,13 @@ import { RefRewardRepository } from '../ref-reward.repository'; @Injectable() export class RefRewardNotificationService { - private readonly logger = new DfxLogger(RefRewardNotificationService); - constructor( private readonly refRewardRepo: RefRewardRepository, private readonly notificationService: NotificationService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(RefRewardNotificationService); + } async sendNotificationMails(): Promise { if (DisabledProcess(Process.REF_REWARD_MAIL)) return; diff --git a/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts b/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts index a9e3532e9f..ec8017b470 100644 --- a/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts +++ b/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { PayoutOrderContext } from 'src/subdomains/supporting/payout/entities/payout-order.entity'; @@ -12,15 +12,16 @@ import { RefRewardService } from './ref-reward.service'; @Injectable() export class RefRewardOutService { - private readonly logger = new DfxLogger(RefRewardOutService); - constructor( private readonly refRewardRepo: RefRewardRepository, private readonly payoutService: PayoutService, private readonly assetService: AssetService, private readonly dexService: DexService, private readonly refRewardService: RefRewardService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(RefRewardOutService); + } async checkPaidTransaction(): Promise { try { diff --git a/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts b/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts index 9b6dfdb23a..8e497b05cb 100644 --- a/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts +++ b/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { AmlReason, AmlReasonWithoutReason, KycAmlReasons } from 'src/subdomains/core/aml/enums/aml-reason.enum'; @@ -18,12 +18,13 @@ import { BuyFiatRepository } from '../buy-fiat.repository'; @Injectable() export class BuyFiatNotificationService { - private readonly logger = new DfxLogger(BuyFiatNotificationService); - constructor( private readonly buyFiatRepo: BuyFiatRepository, private readonly notificationService: NotificationService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(BuyFiatNotificationService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.BUY_FIAT_MAIL, timeout: 1800 }) async sendNotificationMails(): Promise { diff --git a/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts b/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts index 3162a96a4c..9faddbcfaa 100644 --- a/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts +++ b/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts @@ -3,7 +3,7 @@ import { Config } from 'src/config/config'; import { CountryService } from 'src/shared/models/country/country.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AmountType, Util } from 'src/shared/utils/util'; import { AmlReason } from 'src/subdomains/core/aml/enums/aml-reason.enum'; import { AmlService } from 'src/subdomains/core/aml/services/aml.service'; @@ -26,7 +26,6 @@ import { BuyFiatService } from './buy-fiat.service'; @Injectable() export class BuyFiatPreparationService implements OnModuleInit { - private readonly logger = new DfxLogger(BuyFiatPreparationService); private chf: Fiat; private eur: Fiat; @@ -41,7 +40,10 @@ export class BuyFiatPreparationService implements OnModuleInit { private readonly countryService: CountryService, private readonly buyFiatNotificationService: BuyFiatNotificationService, private readonly fiatOutputService: FiatOutputService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(BuyFiatNotificationService); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts b/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts index 3abbd786ad..ac1c8ab71b 100644 --- a/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts +++ b/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { CryptoInput, PayInPurpose, PayInStatus } from 'src/subdomains/supporting/payin/entities/crypto-input.entity'; import { PayInService } from 'src/subdomains/supporting/payin/services/payin.service'; import { TransactionHelper } from 'src/subdomains/supporting/payment/services/transaction-helper'; @@ -16,15 +16,16 @@ interface RouteIdentifier { @Injectable() export class BuyFiatRegistrationService { - private readonly logger = new DfxLogger(BuyFiatRegistrationService); - constructor( private readonly buyFiatRepo: BuyFiatRepository, private readonly buyFiatService: BuyFiatService, private readonly sellRepository: SellRepository, private readonly payInService: PayInService, private readonly transactionHelper: TransactionHelper, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(BuyFiatRegistrationService); + } async syncReturnTxId(): Promise { const entities = await this.buyFiatRepo.find({ diff --git a/src/subdomains/core/sell-crypto/route/sell.service.ts b/src/subdomains/core/sell-crypto/route/sell.service.ts index 60f00168c6..f0d909dec2 100644 --- a/src/subdomains/core/sell-crypto/route/sell.service.ts +++ b/src/subdomains/core/sell-crypto/route/sell.service.ts @@ -14,7 +14,7 @@ import { CryptoService } from 'src/integration/blockchain/shared/services/crypto import { AssetService } from 'src/shared/models/asset/asset.service'; import { AssetDtoMapper } from 'src/shared/models/asset/dto/asset-dto.mapper'; import { FiatDtoMapper } from 'src/shared/models/fiat/dto/fiat-dto.mapper'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { CreateSellDto } from 'src/subdomains/core/sell-crypto/route/dto/create-sell.dto'; @@ -47,8 +47,6 @@ import { Sell } from './sell.entity'; @Injectable() export class SellService { - private readonly logger = new DfxLogger(SellService); - constructor( private readonly sellRepo: SellRepository, private readonly depositService: DepositService, @@ -68,7 +66,10 @@ export class SellService { private readonly cryptoService: CryptoService, @Inject(forwardRef(() => TransactionRequestService)) private readonly transactionRequestService: TransactionRequestService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(SellService); + } // --- SELLS --- // async get(userId: number, id: number): Promise { diff --git a/src/subdomains/core/trading/services/trading-order.service.ts b/src/subdomains/core/trading/services/trading-order.service.ts index c3790c5fd5..9375d8d1e2 100644 --- a/src/subdomains/core/trading/services/trading-order.service.ts +++ b/src/subdomains/core/trading/services/trading-order.service.ts @@ -5,7 +5,7 @@ import { BlockchainRegistryService } from 'src/integration/blockchain/shared/ser import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { ReserveLiquidityRequest } from 'src/subdomains/supporting/dex/interfaces'; @@ -24,8 +24,6 @@ import { TradingRuleRepository } from '../repositories/trading-rule.respository' @Injectable() export class TradingOrderService implements OnModuleInit { - private readonly logger = new DfxLogger(TradingOrderService); - @Inject() private readonly ruleRepo: TradingRuleRepository; @Inject() private readonly orderRepo: TradingOrderRepository; @@ -39,7 +37,10 @@ export class TradingOrderService implements OnModuleInit { private readonly pricingService: PricingService, private readonly fiatService: FiatService, private readonly assetService: AssetService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(TradingOrderService); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/core/trading/services/trading-rule.service.ts b/src/subdomains/core/trading/services/trading-rule.service.ts index c96c829a18..6e5763a35c 100644 --- a/src/subdomains/core/trading/services/trading-rule.service.ts +++ b/src/subdomains/core/trading/services/trading-rule.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable, NotFoundException } from '@nestjs/common'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { In, IsNull, Not } from 'typeorm'; import { UpdateTradingRuleDto } from '../dto/update-trading-rule.dto'; import { TradingOrder } from '../entities/trading-order.entity'; @@ -12,12 +12,12 @@ import { TradingService } from './trading.service'; @Injectable() export class TradingRuleService { - private readonly logger = new DfxLogger(TradingRuleService); - @Inject() private readonly ruleRepo: TradingRuleRepository; @Inject() private readonly orderRepo: TradingOrderRepository; - constructor(private readonly tradingService: TradingService) {} + constructor(private readonly tradingService: TradingService, private readonly logger: DfxLoggerService) { + this.logger.create(TradingRuleService); + } // --- PUBLIC API --- // diff --git a/src/subdomains/core/trading/services/trading.service.ts b/src/subdomains/core/trading/services/trading.service.ts index ba6eeb9cea..f0da44d6a1 100644 --- a/src/subdomains/core/trading/services/trading.service.ts +++ b/src/subdomains/core/trading/services/trading.service.ts @@ -6,7 +6,7 @@ import { EvmUtil } from 'src/integration/blockchain/shared/evm/evm.util'; import { BlockchainRegistryService } from 'src/integration/blockchain/shared/services/blockchain-registry.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { Price } from 'src/subdomains/supporting/pricing/domain/entities/price'; import { PriceSource } from 'src/subdomains/supporting/pricing/domain/entities/price-rule.entity'; @@ -17,13 +17,14 @@ import { PoolOutOfRangeException } from '../exceptions/pool-out-of-range.excepti @Injectable() export class TradingService { - private readonly logger = new DfxLogger(TradingService); - constructor( private readonly blockchainRegistryService: BlockchainRegistryService, private readonly pricingService: PricingService, private readonly assetService: AssetService, - ) {} + private readonly logger: DfxLoggerService, + ) { + this.logger.create(TradingService); + } async createTradingInfo(tradingRule: TradingRule): Promise { if (tradingRule.leftAsset.blockchain !== tradingRule.rightAsset.blockchain) diff --git a/src/subdomains/generic/gs/gs.controller.ts b/src/subdomains/generic/gs/gs.controller.ts index d216e03216..43406ca564 100644 --- a/src/subdomains/generic/gs/gs.controller.ts +++ b/src/subdomains/generic/gs/gs.controller.ts @@ -4,16 +4,16 @@ import { ApiBearerAuth, ApiExcludeEndpoint } from '@nestjs/swagger'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DbQueryBaseDto, DbQueryDto, DbReturnData } from './dto/db-query.dto'; import { SupportDataQuery, SupportReturnData } from './dto/support-data.dto'; import { GsService } from './gs.service'; @Controller('gs') export class GsController { - private readonly logger = new DfxLogger(GsController); - - constructor(private readonly gsService: GsService) {} + constructor(private readonly gsService: GsService, private readonly logger: DfxLoggerService) { + this.logger.create(GsController); + } @Post('db') @ApiBearerAuth() diff --git a/src/subdomains/generic/gs/gs.service.ts b/src/subdomains/generic/gs/gs.service.ts index a0f8d3d1e6..19f810cb65 100644 --- a/src/subdomains/generic/gs/gs.service.ts +++ b/src/subdomains/generic/gs/gs.service.ts @@ -1,5 +1,5 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { BuyCryptoService } from 'src/subdomains/core/buy-crypto/process/services/buy-crypto.service'; import { BuyService } from 'src/subdomains/core/buy-crypto/routes/buy/buy.service'; @@ -44,9 +44,8 @@ export enum SupportTable { @Injectable() export class GsService { - private readonly logger = new DfxLogger(GsService); - constructor( + private readonly logger: DfxLoggerService, private readonly userDataService: UserDataService, private readonly userService: UserService, private readonly buyService: BuyService, @@ -67,7 +66,9 @@ export class GsService { private readonly limitRequestService: LimitRequestService, private readonly supportIssueService: SupportIssueService, private readonly swapService: SwapService, - ) {} + ) { + this.logger.create(GsService); + } async getDbData(query: DbQueryDto): Promise { const additionalSelect = Array.from( diff --git a/src/subdomains/generic/kyc/controllers/kyc.controller.ts b/src/subdomains/generic/kyc/controllers/kyc.controller.ts index a185147196..af94bb4bbf 100644 --- a/src/subdomains/generic/kyc/controllers/kyc.controller.ts +++ b/src/subdomains/generic/kyc/controllers/kyc.controller.ts @@ -37,7 +37,7 @@ import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { CountryDtoMapper } from 'src/shared/models/country/dto/country-dto.mapper'; import { CountryDto } from 'src/shared/models/country/dto/country.dto'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { IdNowResult } from '../dto/ident-result.dto'; import { IdentStatus } from '../dto/ident.dto'; @@ -77,9 +77,13 @@ const TfaResponse = { description: '2FA is required' }; @ApiTags('KYC') @Controller({ path: 'kyc', version: [GetConfig().kycVersion] }) export class KycController { - private readonly logger = new DfxLogger(KycController); - - constructor(private readonly kycService: KycService, private readonly tfaService: TfaService) {} + constructor( + private readonly logger: DfxLoggerService, + private readonly kycService: KycService, + private readonly tfaService: TfaService, + ) { + this.logger.create(KycController); + } // --- 2FA --- // @Get('2fa') diff --git a/src/subdomains/generic/kyc/services/integration/ident.service.ts b/src/subdomains/generic/kyc/services/integration/ident.service.ts index 782e684680..44a57da3e7 100644 --- a/src/subdomains/generic/kyc/services/integration/ident.service.ts +++ b/src/subdomains/generic/kyc/services/integration/ident.service.ts @@ -6,7 +6,7 @@ import { } from '@nestjs/common'; import { Method, ResponseType } from 'axios'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpError, HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { UserData } from 'src/subdomains/generic/user/models/user-data/user-data.entity'; @@ -19,11 +19,11 @@ import { KycStepType } from '../../enums/kyc.enum'; @Injectable() export class IdentService { - private readonly logger = new DfxLogger(IdentService); - private readonly baseUrl = `${Config.kyc.gatewayHost}/api/v1`; - constructor(private readonly http: HttpService) {} + constructor(private readonly logger: DfxLoggerService, private readonly http: HttpService) { + this.logger.create(IdentService); + } async initiateIdent(user: UserData, kycStep: KycStep): Promise { if (!kycStep.transactionId) throw new InternalServerErrorException('Transaction ID is missing'); diff --git a/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts b/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts index 79b1c4f1ac..19c7e235af 100644 --- a/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts +++ b/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts @@ -3,7 +3,7 @@ import { Method, ResponseType } from 'axios'; import * as crypto from 'crypto'; import { Request } from 'express'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpError, HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { UserData } from 'src/subdomains/generic/user/models/user-data/user-data.entity'; @@ -14,8 +14,8 @@ import { IdDocType, SumSubDataResult, SumSubDocumentMetaData, - SumsubResult, SumSubVideoData, + SumsubResult, } from '../../dto/sum-sub.dto'; import { KycStep } from '../../entities/kyc-step.entity'; import { ContentType } from '../../enums/content-type.enum'; @@ -23,8 +23,6 @@ import { KycStepType } from '../../enums/kyc.enum'; @Injectable() export class SumsubService { - private readonly logger = new DfxLogger(SumsubService); - private readonly baseUrl = `https://api.sumsub.com`; private readonly kycLevelAuto = 'CH-Standard'; private readonly kycLevelVideo = 'CH-Standard-Video'; @@ -35,7 +33,9 @@ export class SumsubService { HMAC_SHA512_HEX: 'sha512', }; - constructor(private readonly http: HttpService) {} + constructor(private readonly logger: DfxLoggerService, private readonly http: HttpService) { + this.logger.create(SumsubService); + } async initiateIdent(user: UserData, kycStep: KycStep): Promise { if (!kycStep.transactionId) throw new InternalServerErrorException('Transaction ID is missing'); diff --git a/src/subdomains/generic/kyc/services/kyc-admin.service.ts b/src/subdomains/generic/kyc/services/kyc-admin.service.ts index 4f3853bcda..5417bf1ee9 100644 --- a/src/subdomains/generic/kyc/services/kyc-admin.service.ts +++ b/src/subdomains/generic/kyc/services/kyc-admin.service.ts @@ -1,6 +1,6 @@ import { Inject, Injectable, NotFoundException, forwardRef } from '@nestjs/common'; import { UpdateResult } from 'src/shared/models/entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { FindOptionsRelations } from 'typeorm'; import { KycLevel, KycStatus, UserData } from '../../user/models/user-data/user-data.entity'; import { UserDataService } from '../../user/models/user-data/user-data.service'; @@ -16,16 +16,17 @@ import { KycService } from './kyc.service'; @Injectable() export class KycAdminService { - private readonly logger = new DfxLogger(KycAdminService); - constructor( + private readonly logger: DfxLoggerService, private readonly kycStepRepo: KycStepRepository, private readonly webhookService: WebhookService, private readonly kycService: KycService, private readonly kycNotificationService: KycNotificationService, @Inject(forwardRef(() => UserDataService)) private readonly userDataService: UserDataService, - ) {} + ) { + this.logger.create(KycAdminService); + } async getKycSteps(userDataId: number, relations: FindOptionsRelations = {}): Promise { return this.kycStepRepo.find({ where: { userData: { id: userDataId } }, relations }); diff --git a/src/subdomains/generic/kyc/services/kyc-notification.service.ts b/src/subdomains/generic/kyc/services/kyc-notification.service.ts index b2b830221f..d093baca4d 100644 --- a/src/subdomains/generic/kyc/services/kyc-notification.service.ts +++ b/src/subdomains/generic/kyc/services/kyc-notification.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,13 +17,14 @@ import { KycStepRepository } from '../repositories/kyc-step.repository'; @Injectable() export class KycNotificationService { - private readonly logger = new DfxLogger(KycNotificationService); - constructor( + private readonly logger: DfxLoggerService, private readonly kycStepRepo: KycStepRepository, private readonly notificationService: NotificationService, private readonly webhookService: WebhookService, - ) {} + ) { + this.logger.create(KycNotificationService); + } @DfxCron(CronExpression.EVERY_HOUR, { process: Process.KYC_MAIL, timeout: 1800 }) async sendNotificationMails(): Promise { diff --git a/src/subdomains/generic/kyc/services/kyc.service.ts b/src/subdomains/generic/kyc/services/kyc.service.ts index 83dfb874c0..3570dcd93f 100644 --- a/src/subdomains/generic/kyc/services/kyc.service.ts +++ b/src/subdomains/generic/kyc/services/kyc.service.ts @@ -14,7 +14,7 @@ import { Country } from 'src/shared/models/country/country.entity'; import { CountryService } from 'src/shared/models/country/country.service'; import { IEntity, UpdateResult } from 'src/shared/models/entity'; import { LanguageService } from 'src/shared/models/language/language.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { QueueHandler } from 'src/shared/utils/queue-handler'; @@ -88,11 +88,10 @@ import { TfaLevel, TfaService } from './tfa.service'; @Injectable() export class KycService { - private readonly logger = new DfxLogger(KycService); - private readonly webhookQueue: QueueHandler; constructor( + private readonly logger: DfxLoggerService, @Inject(forwardRef(() => UserDataService)) private readonly userDataService: UserDataService, private readonly identService: IdentService, @@ -117,6 +116,7 @@ export class KycService { private readonly userDataRelationService: UserDataRelationService, ) { this.webhookQueue = new QueueHandler(); + this.logger.create(KycService); } @DfxCron(CronExpression.EVERY_DAY_AT_4AM, { process: Process.KYC }) diff --git a/src/subdomains/generic/kyc/services/tfa.service.ts b/src/subdomains/generic/kyc/services/tfa.service.ts index fb4829e6e4..8759168f87 100644 --- a/src/subdomains/generic/kyc/services/tfa.service.ts +++ b/src/subdomains/generic/kyc/services/tfa.service.ts @@ -9,7 +9,7 @@ import { } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { generateSecret, verifyToken } from 'node-2fa'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -37,15 +37,16 @@ export enum TfaLevel { @Injectable() export class TfaService { - private readonly logger = new DfxLogger(TfaService); - private readonly secretCache: Map = new Map(); constructor( + private readonly logger: DfxLoggerService, private readonly tfaRepo: TfaLogRepository, @Inject(forwardRef(() => UserDataService)) private readonly userDataService: UserDataService, private readonly notificationService: NotificationService, - ) {} + ) { + this.logger.create(TfaService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.TFA_CACHE }) processCleanupSecretCache() { diff --git a/src/subdomains/generic/user/models/auth/auth-alby.service.ts b/src/subdomains/generic/user/models/auth/auth-alby.service.ts index 8ce9de87ce..0da4232f7e 100644 --- a/src/subdomains/generic/user/models/auth/auth-alby.service.ts +++ b/src/subdomains/generic/user/models/auth/auth-alby.service.ts @@ -2,7 +2,7 @@ import { ForbiddenException, Injectable, NotFoundException } from '@nestjs/commo import { Config } from 'src/config/config'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; import { IpLogService } from 'src/shared/models/ip-log/ip-log.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { AlbySignupDto } from '../user/dto/alby.dto'; @@ -29,18 +29,19 @@ interface AlbyUserResponse { @Injectable() export class AuthAlbyService { - private readonly logger = new DfxLogger(AuthAlbyService); - private readonly albyUrl = 'https://getalby.com'; private readonly albyApiUrl = 'https://api.getalby.com'; private readonly signUpData = new Map(); constructor( + private readonly logger: DfxLoggerService, private readonly http: HttpService, private readonly authService: AuthService, private readonly ipLogService: IpLogService, - ) {} + ) { + this.logger.create(AuthAlbyService); + } getOauthUrl(dto: AlbySignupDto): string { // store the sign up data diff --git a/src/subdomains/generic/user/models/auth/auth.service.ts b/src/subdomains/generic/user/models/auth/auth.service.ts index 578f97217a..8dd92af890 100644 --- a/src/subdomains/generic/user/models/auth/auth.service.ts +++ b/src/subdomains/generic/user/models/auth/auth.service.ts @@ -17,7 +17,7 @@ import { JwtPayload } from 'src/shared/auth/jwt-payload.interface'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { IpLogService } from 'src/shared/models/ip-log/ip-log.service'; import { LanguageService } from 'src/shared/models/language/language.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { RefService } from 'src/subdomains/core/referral/process/ref.service'; @@ -57,12 +57,11 @@ export interface MailKeyData { @Injectable() export class AuthService { - private readonly logger = new DfxLogger(AuthService); - private readonly challengeList = new Map(); private readonly mailKeyList = new Map(); constructor( + private readonly logger: DfxLoggerService, private readonly userService: UserService, private readonly userRepo: UserRepository, private readonly walletService: WalletService, @@ -77,7 +76,9 @@ export class AuthService { private readonly siftService: SiftService, private readonly languageService: LanguageService, private readonly geoLocationService: GeoLocationService, - ) {} + ) { + this.logger.create(AuthService); + } @DfxCron(CronExpression.EVERY_MINUTE) checkLists() { diff --git a/src/subdomains/generic/user/models/bank-data/bank-data.service.ts b/src/subdomains/generic/user/models/bank-data/bank-data.service.ts index 5c63342cf5..2c783af0f7 100644 --- a/src/subdomains/generic/user/models/bank-data/bank-data.service.ts +++ b/src/subdomains/generic/user/models/bank-data/bank-data.service.ts @@ -3,7 +3,7 @@ import { CronExpression } from '@nestjs/schedule'; import * as IbanTools from 'ibantools'; import { CountryService } from 'src/shared/models/country/country.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -27,9 +27,8 @@ import { UpdateBankDataDto } from './dto/update-bank-data.dto'; @Injectable() export class BankDataService { - private readonly logger = new DfxLogger(BankDataService); - constructor( + private readonly logger: DfxLoggerService, private readonly userDataRepo: UserDataRepository, private readonly bankDataRepo: BankDataRepository, private readonly specialAccountService: SpecialExternalAccountService, @@ -39,7 +38,9 @@ export class BankDataService { private readonly countryService: CountryService, private readonly bankAccountService: BankAccountService, private readonly kycAdminService: KycAdminService, - ) {} + ) { + this.logger.create(BankDataService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.BANK_DATA_VERIFICATION, timeout: 1800 }) async checkAndSetActive() { diff --git a/src/subdomains/generic/user/models/kyc/kyc.service.ts b/src/subdomains/generic/user/models/kyc/kyc.service.ts index 484016b08b..2df5a7ec56 100644 --- a/src/subdomains/generic/user/models/kyc/kyc.service.ts +++ b/src/subdomains/generic/user/models/kyc/kyc.service.ts @@ -8,7 +8,7 @@ import { import { Country } from 'src/shared/models/country/country.entity'; import { CountryService } from 'src/shared/models/country/country.service'; import { LanguageDtoMapper } from 'src/shared/models/language/dto/language-dto.mapper'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { FileType, KycFileBlob } from 'src/subdomains/generic/kyc/dto/kyc-file.dto'; @@ -35,9 +35,8 @@ import { KycInfo } from './dto/kyc-info.dto'; @Injectable() export class KycService { - private readonly logger = new DfxLogger(KycService); - constructor( + private readonly logger: DfxLoggerService, private readonly userDataService: UserDataService, private readonly userDataRepo: UserDataRepository, private readonly userRepo: UserRepository, @@ -45,7 +44,9 @@ export class KycService { private readonly countryService: CountryService, private readonly http: HttpService, private readonly documentService: KycDocumentService, - ) {} + ) { + this.logger.create(KycService); + } // --- KYC DATA --- // diff --git a/src/subdomains/generic/user/models/organization/organization.service.ts b/src/subdomains/generic/user/models/organization/organization.service.ts index 97d4fa2d9c..77abdb11b9 100644 --- a/src/subdomains/generic/user/models/organization/organization.service.ts +++ b/src/subdomains/generic/user/models/organization/organization.service.ts @@ -1,7 +1,7 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { CountryService } from 'src/shared/models/country/country.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { In, IsNull } from 'typeorm'; @@ -13,13 +13,14 @@ import { OrganizationRepository } from './organization.repository'; @Injectable() export class OrganizationService { - private readonly logger = new DfxLogger(OrganizationService); - constructor( + private readonly logger: DfxLoggerService, private readonly organizationRepo: OrganizationRepository, private readonly countryService: CountryService, private readonly userDataRepo: UserDataRepository, - ) {} + ) { + this.logger.create(OrganizationService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.ORGANIZATION_SYNC, timeout: 1800 }) async syncOrganization() { diff --git a/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts b/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts index 5b354b7780..565ff48b97 100644 --- a/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts +++ b/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -13,12 +13,13 @@ import { UserDataRepository } from './user-data.repository'; @Injectable() export class UserDataNotificationService { - private readonly logger = new DfxLogger(UserDataNotificationService); - constructor( + private readonly logger: DfxLoggerService, private readonly userDataRepo: UserDataRepository, private readonly notificationService: NotificationService, - ) {} + ) { + this.logger.create(UserDataNotificationService); + } @DfxCron(CronExpression.EVERY_HOUR, { process: Process.BLACK_SQUAD_MAIL, timeout: 1800 }) async sendNotificationMails(): Promise { diff --git a/src/subdomains/generic/user/models/user-data/user-data.service.ts b/src/subdomains/generic/user/models/user-data/user-data.service.ts index 7f3740cb2f..9bf524c5c9 100644 --- a/src/subdomains/generic/user/models/user-data/user-data.service.ts +++ b/src/subdomains/generic/user/models/user-data/user-data.service.ts @@ -20,7 +20,7 @@ import { LanguageService } from 'src/shared/models/language/language.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; import { ApiKeyService } from 'src/shared/services/api-key.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { CheckStatus } from 'src/subdomains/core/aml/enums/check-status.enum'; @@ -69,11 +69,10 @@ interface SecretCacheEntry { @Injectable() export class UserDataService { - private readonly logger = new DfxLogger(UserDataService); - private readonly secretCache: Map = new Map(); constructor( + private readonly logger: DfxLoggerService, private readonly repos: RepositoryFactory, private readonly userDataRepo: UserDataRepository, private readonly userRepo: UserRepository, @@ -97,7 +96,9 @@ export class UserDataService { private readonly transactionService: TransactionService, @Inject(forwardRef(() => BankDataService)) private readonly bankDataService: BankDataService, - ) {} + ) { + this.logger.create(UserDataService); + } // --- GETTERS --- // async getUserDataByUser(userId: number): Promise { diff --git a/src/subdomains/generic/user/models/user/user.service.ts b/src/subdomains/generic/user/models/user/user.service.ts index 262e3bfb10..75d963d034 100644 --- a/src/subdomains/generic/user/models/user/user.service.ts +++ b/src/subdomains/generic/user/models/user/user.service.ts @@ -16,7 +16,7 @@ import { FiatService } from 'src/shared/models/fiat/fiat.service'; import { LanguageDtoMapper } from 'src/shared/models/language/dto/language-dto.mapper'; import { LanguageService } from 'src/shared/models/language/language.service'; import { ApiKeyService } from 'src/shared/services/api-key.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { CheckStatus } from 'src/subdomains/core/aml/enums/check-status.enum'; @@ -46,9 +46,8 @@ import { UserRepository } from './user.repository'; @Injectable() export class UserService { - private readonly logger = new DfxLogger(UserService); - constructor( + private readonly logger: DfxLoggerService, private readonly userRepo: UserRepository, private readonly userDataRepo: UserDataRepository, private readonly userDataService: UserDataService, @@ -58,7 +57,9 @@ export class UserService { private readonly languageService: LanguageService, private readonly fiatService: FiatService, private readonly siftService: SiftService, - ) {} + ) { + this.logger.create(UserService); + } async getAllUser(): Promise { return this.userRepo.find(); diff --git a/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts b/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts index b564d61d33..9276cbf234 100644 --- a/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts +++ b/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; @@ -15,13 +15,14 @@ import { WebhookRepository } from './webhook.repository'; @Injectable() export class WebhookNotificationService { - private readonly logger = new DfxLogger(WebhookNotificationService); - constructor( + private readonly logger: DfxLoggerService, private readonly webhookRepo: WebhookRepository, private readonly http: HttpService, private readonly notificationService: NotificationService, - ) {} + ) { + this.logger.create(WebhookNotificationService); + } @DfxCron(CronExpression.EVERY_5_MINUTES, { process: Process.WEBHOOK, timeout: 1800 }) async sendWebhooks() { diff --git a/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts b/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts index e1367fdb95..6455c519b2 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts @@ -2,7 +2,7 @@ import { BadRequestException, Inject, Injectable, NotFoundException, OnModuleIni import { CronExpression } from '@nestjs/schedule'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -21,12 +21,12 @@ import { UpdateBankTxReturnDto } from './dto/update-bank-tx-return.dto'; @Injectable() export class BankTxReturnService implements OnModuleInit { - private readonly logger = new DfxLogger(BankTxReturnService); private chf: Fiat; private eur: Fiat; private usd: Fiat; constructor( + private readonly logger: DfxLoggerService, private readonly bankTxReturnRepo: BankTxReturnRepository, private readonly transactionService: TransactionService, private readonly transactionUtilService: TransactionUtilService, @@ -35,7 +35,9 @@ export class BankTxReturnService implements OnModuleInit { private readonly fiatService: FiatService, @Inject(forwardRef(() => BankTxService)) private readonly bankTxService: BankTxService, - ) {} + ) { + this.logger.create(BankTxReturnService); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts b/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts index e7b29bd92a..bb45801a4f 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts @@ -16,7 +16,7 @@ import { ApiBearerAuth, ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { UpdateBankTxDto } from './dto/update-bank-tx.dto'; import { BankTxBatch } from './entities/bank-tx-batch.entity'; import { BankTx } from './entities/bank-tx.entity'; @@ -25,9 +25,9 @@ import { BankTxService } from './services/bank-tx.service'; @ApiTags('bankTx') @Controller('bankTx') export class BankTxController { - private readonly logger = new DfxLogger(BankTxController); - - constructor(private readonly bankTxService: BankTxService) {} + constructor(private readonly logger: DfxLoggerService, private readonly bankTxService: BankTxService) { + this.logger.create(BankTxController); + } @Post() @ApiBearerAuth() diff --git a/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts b/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts index 904704e657..d0244b1bfb 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts @@ -9,7 +9,7 @@ import { import { CronExpression } from '@nestjs/schedule'; import { RevolutService } from 'src/integration/bank/services/revolut.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { AmountType, Util } from 'src/shared/utils/util'; @@ -66,9 +66,8 @@ export const TransactionBankTxTypeMapper: { @Injectable() export class BankTxService { - private readonly logger = new DfxLogger(BankTxService); - constructor( + private readonly logger: DfxLoggerService, private readonly bankTxRepo: BankTxRepository, private readonly bankTxBatchRepo: BankTxBatchRepository, @Inject(forwardRef(() => BuyCryptoService)) @@ -85,7 +84,9 @@ export class BankTxService { private readonly transactionService: TransactionService, private readonly specialAccountService: SpecialExternalAccountService, private readonly sepaParser: SepaParser, - ) {} + ) { + this.logger.create(BankTxService); + } // --- TRANSACTION HANDLING --- // @DfxCron(CronExpression.EVERY_30_SECONDS, { timeout: 3600, process: Process.BANK_TX }) diff --git a/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts b/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts index e0ef71ffe8..526785dde2 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts @@ -2,7 +2,7 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { PricingService } from 'src/subdomains/supporting/pricing/services/pricing.service'; import { SepaEntry } from '../dto/sepa-entry.dto'; @@ -13,11 +13,15 @@ import { BankTx } from '../entities/bank-tx.entity'; @Injectable() export class SepaParser implements OnModuleInit { - private readonly logger = new DfxLogger(SepaParser); - private chf: Fiat; - constructor(private readonly pricingService: PricingService, private readonly fiatService: FiatService) {} + constructor( + private readonly logger: DfxLoggerService, + private readonly pricingService: PricingService, + private readonly fiatService: FiatService, + ) { + this.logger.create(SepaParser); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/supporting/dex/services/dex.service.ts b/src/subdomains/supporting/dex/services/dex.service.ts index 2987572e18..b424d7805b 100644 --- a/src/subdomains/supporting/dex/services/dex.service.ts +++ b/src/subdomains/supporting/dex/services/dex.service.ts @@ -3,7 +3,7 @@ import { CronExpression } from '@nestjs/schedule'; import { FeeAmount } from '@uniswap/v3-sdk'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { IsNull, Not } from 'typeorm'; import { LiquidityOrder, LiquidityOrderContext, LiquidityOrderType } from '../entities/liquidity-order.entity'; @@ -31,9 +31,8 @@ import { SupplementaryStrategyRegistry } from '../strategies/supplementary/impl/ @Injectable() export class DexService { - private readonly logger = new DfxLogger(DexService); - constructor( + private readonly logger: DfxLoggerService, private readonly checkLiquidityStrategyRegistry: CheckLiquidityStrategyRegistry, private readonly purchaseLiquidityStrategyRegistry: PurchaseLiquidityStrategyRegistry, private readonly sellLiquidityStrategyRegistry: SellLiquidityStrategyRegistry, @@ -41,7 +40,9 @@ export class DexService { private readonly liquidityOrderRepo: LiquidityOrderRepository, private readonly liquidityOrderFactory: LiquidityOrderFactory, - ) {} + ) { + this.logger.create(DexService); + } // *** MAIN PUBLIC API *** // diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts index 39e005ef56..d4dbc18be1 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class ArbitrumCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(ArbitrumCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.ARBITRUM; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts index 530a2c8380..94ba7b9165 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexArbitrumService } from '../../../services/dex-arbitrum.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class ArbitrumTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(ArbitrumTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexArbitrumService: DexArbitrumService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexArbitrumService: DexArbitrumService) { super(dexArbitrumService); + + this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts index 3644213365..4eb6e572df 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BaseCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(BaseCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(BaseCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.BASE; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts index 1829e3a5ac..691e723a44 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexBaseService } from '../../../services/dex-base.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BaseTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(BaseTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexBaseService: DexBaseService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexBaseService: DexBaseService) { super(dexBaseService); + + this.logger = this.dfxLogger.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts index dca9f971dc..70f319a72d 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts @@ -2,7 +2,7 @@ import { Inject, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityOrder } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { NotEnoughLiquidityException } from 'src/subdomains/supporting/dex/exceptions/not-enough-liquidity.exception'; import { PriceSlippageException } from 'src/subdomains/supporting/dex/exceptions/price-slippage.exception'; @@ -15,7 +15,7 @@ import { PurchaseLiquidityRequest } from '../../../../interfaces'; import { PurchaseLiquidityStrategyRegistry } from './purchase-liquidity.strategy-registry'; export abstract class PurchaseLiquidityStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; private _feeAsset: Asset; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts index 3aea3afaf8..8e02d77e85 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class BitcoinStrategy extends NoPurchaseStrategy { - protected readonly logger = new DfxLogger(BitcoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService) { + super(); + + this.logger = this.dfxLogger.create(BitcoinStrategy); + } get blockchain(): Blockchain { return Blockchain.BITCOIN; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts index 7e774fae49..f3abad1a4d 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BscCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(BscCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(BscCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.BINANCE_SMART_CHAIN; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts index 920544d4b0..a259146995 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexBscService } from '../../../services/dex-bsc.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BscTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(BscTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexBscService: DexBscService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexBscService: DexBscService) { super(dexBscService); + + this.logger = this.dfxLogger.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts index 43e39f20bd..88e0e7dffe 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class EthereumCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(EthereumCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(EthereumCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.ETHEREUM; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts index d61dc8596f..c81c2a7c94 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexEthereumService } from '../../../services/dex-ethereum.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class EthereumTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(EthereumTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexEthereumService: DexEthereumService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexEthereumService: DexEthereumService) { super(dexEthereumService); + + this.logger = this.dfxLogger.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts index d7920ec586..9ac235dc4e 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class GnosisCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(GnosisCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(GnosisCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.GNOSIS; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts index 6198731fd8..5a2df2e5e1 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexGnosisService } from '../../../services/dex-gnosis.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class GnosisTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(GnosisTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexGnosisService: DexGnosisService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexGnosisService: DexGnosisService) { super(dexGnosisService); + + this.logger = this.dfxLogger.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts index d6e851dd36..436bde3d76 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class LightningStrategy extends NoPurchaseStrategy { - protected readonly logger = new DfxLogger(LightningStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService) { + super(); + + this.logger = this.dfxLogger.create(LightningStrategy); + } get blockchain(): Blockchain { return Blockchain.LIGHTNING; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts index 19d457726e..e44f2d4a74 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class MoneroStrategy extends NoPurchaseStrategy { - protected readonly logger = new DfxLogger(MoneroStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService) { + super(); + + this.logger = this.dfxLogger.create(MoneroStrategy); + } get blockchain(): Blockchain { return Blockchain.MONERO; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts index 5cb95127b0..508b6e738c 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class OptimismCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(OptimismCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(OptimismCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.OPTIMISM; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts index 7b0e82fc71..32a3b1628b 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexOptimismService } from '../../../services/dex-optimism.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class OptimismTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(OptimismTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexOptimismService: DexOptimismService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexOptimismService: DexOptimismService) { super(dexOptimismService); + + this.logger = this.dfxLogger.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts index c6a874da99..2319621f7d 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; -import { PurchaseStrategy } from './base/purchase.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class PolygonCoinStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(PolygonCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly dexService: PurchaseDexService) { + super(dexService); + + this.logger = this.dfxLogger.create(PolygonCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.POLYGON; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts index b8f98de809..121f7ea0e6 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexPolygonService } from '../../../services/dex-polygon.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class PolygonTokenStrategy extends PurchaseStrategy { - protected readonly logger = new DfxLogger(PolygonTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(dexPolygonService: DexPolygonService) { + constructor(private readonly dfxLogger: DfxLoggerService, dexPolygonService: DexPolygonService) { super(dexPolygonService); + + this.logger = this.dfxLogger.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts index 2cce1c97a2..ddba3e6bf2 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class SolanaCoinStrategy extends NoPurchaseStrategy { - protected readonly logger = new DfxLogger(SolanaCoinStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService) { + super(); + + this.logger = this.dfxLogger.create(SolanaCoinStrategy); + } get blockchain(): Blockchain { return Blockchain.SOLANA; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts index 03db21bb0b..01486b0575 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts @@ -1,12 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class SolanaTokenStrategy extends NoPurchaseStrategy { - protected readonly logger = new DfxLogger(SolanaTokenStrategy); + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService) { + super(); + + this.logger = this.dfxLogger.create(SolanaTokenStrategy); + } get blockchain(): Blockchain { return Blockchain.SOLANA; diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts index c077152da1..3d92f175ad 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class ArbitrumCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(ArbitrumCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts index 24eb857b32..d6a426c7a8 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class ArbitrumTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(ArbitrumTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts index 1c43266606..bad799e7cb 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class BaseCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(BaseCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts index 502b1107e2..57ca4b4cc4 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class BaseTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(BaseTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts index ef882a59e0..30a6965471 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts @@ -1,13 +1,13 @@ import { Inject, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityOrder } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { SellLiquidityRequest } from '../../../../interfaces'; import { SellLiquidityStrategyRegistry } from './sell-liquidity.strategy-registry'; export abstract class SellLiquidityStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; private _feeAsset: Asset; diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts index db69aec114..0f3054fa19 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class BitcoinStrategy extends SellLiquidityStrategy { - protected readonly logger = new DfxLogger(BitcoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts index ac6dd05ffb..1ee8e084ac 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class BscCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(BscCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts index 2eb4ef48d3..006bc6de08 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class BscTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(BscTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts index 22681f5d01..d4f2bbebd9 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class EthereumCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(EthereumCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts index aacf4ba53e..5ff33093cb 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class EthereumTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(EthereumTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts index 9d53b6088b..3a37e57cac 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class GnosisCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(GnosisCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts index 7490829613..283ab6ae7b 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class GnosisTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(GnosisTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts index af234bc935..15156413ae 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class MoneroStrategy extends SellLiquidityStrategy { - protected readonly logger = new DfxLogger(MoneroStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts index 4e79454be1..8347a050fc 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class OptimismCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(OptimismCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts index 87f8bdfd81..1e40f66157 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class OptimismTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(OptimismTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts index b8581e3dc8..20570f303c 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class PolygonCoinStrategy extends EvmCoinStrategy { - protected readonly logger = new DfxLogger(PolygonCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts index 8f525b4bd8..8053ca50d6 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class PolygonTokenStrategy extends EvmTokenStrategy { - protected readonly logger = new DfxLogger(PolygonTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts index 099134c621..d827f174fc 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class SolanaCoinStrategy extends SellLiquidityStrategy { - protected readonly logger = new DfxLogger(SolanaCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts index 56b085b52d..0a63c5ff93 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts @@ -2,15 +2,17 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class SolanaTokenStrategy extends SellLiquidityStrategy { - protected readonly logger = new DfxLogger(SolanaTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly assetService: AssetService) { + constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { super(); + + this.logger = this.dfxLogger.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/fiat-output/fiat-output.service.ts b/src/subdomains/supporting/fiat-output/fiat-output.service.ts index 8536c3240b..6c324d3ddc 100644 --- a/src/subdomains/supporting/fiat-output/fiat-output.service.ts +++ b/src/subdomains/supporting/fiat-output/fiat-output.service.ts @@ -1,7 +1,7 @@ import { BadRequestException, forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { AzureStorageService } from 'src/integration/infrastructure/azure-storage.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -22,16 +22,17 @@ import { FiatOutputRepository } from './fiat-output.repository'; @Injectable() export class FiatOutputService { - private readonly logger = new DfxLogger(FiatOutputService); - constructor( + private readonly logger: DfxLoggerService, private readonly fiatOutputRepo: FiatOutputRepository, private readonly buyFiatRepo: BuyFiatRepository, @Inject(forwardRef(() => BankTxService)) private readonly bankTxService: BankTxService, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly ep2ReportService: Ep2ReportService, - ) {} + ) { + this.logger.create(FiatOutputService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.FIAT_OUTPUT_COMPLETE, timeout: 1800 }) async fillFiatOutput() { diff --git a/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts b/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts index acd589cfd1..ba765c25d8 100644 --- a/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts +++ b/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts @@ -1,7 +1,7 @@ import { Inject, Injectable, NotFoundException, forwardRef } from '@nestjs/common'; import { Config } from 'src/config/config'; import { CheckoutPaymentStatus } from 'src/integration/checkout/dto/checkout.dto'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { BuyCryptoService } from 'src/subdomains/core/buy-crypto/process/services/buy-crypto.service'; import { BuyService } from 'src/subdomains/core/buy-crypto/routes/buy/buy.service'; @@ -12,15 +12,16 @@ import { CheckoutTxRepository } from '../repositories/checkout-tx.repository'; @Injectable() export class CheckoutTxService { - private readonly logger = new DfxLogger(CheckoutTxService); - constructor( + private readonly logger: DfxLoggerService, private readonly checkoutTxRepo: CheckoutTxRepository, @Inject(forwardRef(() => BuyCryptoService)) private readonly buyCryptoService: BuyCryptoService, private readonly buyService: BuyService, private readonly notificationService: NotificationService, - ) {} + ) { + this.logger.create(CheckoutTxService); + } async createCheckoutBuyCrypto(tx: CheckoutTx): Promise { const match = Config.formats.bankUsage.exec(tx.description); diff --git a/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts b/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts index f9d62845f5..e083293340 100644 --- a/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts +++ b/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts @@ -4,7 +4,7 @@ import { CheckoutPayment, CheckoutPaymentStatus } from 'src/integration/checkout import { CheckoutService } from 'src/integration/checkout/services/checkout.service'; import { ChargebackReason, ChargebackState, TransactionStatus } from 'src/integration/sift/dto/sift.dto'; import { SiftService } from 'src/integration/sift/services/sift.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,16 +17,17 @@ import { CheckoutTxService } from './checkout-tx.service'; @Injectable() export class FiatPayInSyncService { - private readonly logger = new DfxLogger(FiatPayInSyncService); - constructor( + private readonly logger: DfxLoggerService, private readonly checkoutService: CheckoutService, private readonly checkoutTxRepo: CheckoutTxRepository, private readonly checkoutTxService: CheckoutTxService, private readonly transactionService: TransactionService, private readonly siftService: SiftService, private readonly buyService: BuyService, - ) {} + ) { + this.logger.create(FiatPayInSyncService); + } // --- JOBS --- // diff --git a/src/subdomains/supporting/log/log-job.service.ts b/src/subdomains/supporting/log/log-job.service.ts index 83776edb24..028b272922 100644 --- a/src/subdomains/supporting/log/log-job.service.ts +++ b/src/subdomains/supporting/log/log-job.service.ts @@ -14,7 +14,7 @@ import { amountType } from 'src/shared/models/active'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process, ProcessService } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { AmountType, Util } from 'src/shared/utils/util'; @@ -58,9 +58,8 @@ import { LogService } from './log.service'; @Injectable() export class LogJobService { - private readonly logger = new DfxLogger(LogJobService); - constructor( + private readonly logger: DfxLoggerService, private readonly tradingRuleService: TradingRuleService, private readonly assetService: AssetService, private readonly logService: LogService, @@ -79,7 +78,9 @@ export class LogJobService { private readonly tradingOrderService: TradingOrderService, private readonly payoutService: PayoutService, private readonly processService: ProcessService, - ) {} + ) { + this.logger.create(LogJobService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.TRADING_LOG, timeout: 1800 }) async saveTradingLog() { diff --git a/src/subdomains/supporting/notification/services/mail.service.ts b/src/subdomains/supporting/notification/services/mail.service.ts index 67cf10ab1f..d029b3dee6 100644 --- a/src/subdomains/supporting/notification/services/mail.service.ts +++ b/src/subdomains/supporting/notification/services/mail.service.ts @@ -1,6 +1,6 @@ import { MailerOptions, MailerService } from '@nestjs-modules/mailer'; import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Mail } from '../entities/mail/base/mail'; export interface MailOptions { @@ -16,9 +16,9 @@ export interface MailOptions { @Injectable() export class MailService { - private readonly logger = new DfxLogger(MailService); - - constructor(private readonly mailerService: MailerService) {} + constructor(private readonly logger: DfxLoggerService, private readonly mailerService: MailerService) { + this.logger.create(MailService); + } async send(mail: Mail): Promise { try { diff --git a/src/subdomains/supporting/notification/services/notification-job.service.ts b/src/subdomains/supporting/notification/services/notification-job.service.ts index c4ad9cedd8..04e7fbc934 100644 --- a/src/subdomains/supporting/notification/services/notification-job.service.ts +++ b/src/subdomains/supporting/notification/services/notification-job.service.ts @@ -1,7 +1,7 @@ import { MailerOptions } from '@nestjs-modules/mailer'; import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -24,14 +24,15 @@ export interface MailOptions { @Injectable() export class NotificationJobService { - private readonly logger = new DfxLogger(NotificationJobService); - constructor( + private readonly logger: DfxLoggerService, private readonly notificationRepo: NotificationRepository, private readonly notificationService: NotificationService, private readonly mailFactory: MailFactory, private readonly mailService: MailService, - ) {} + ) { + this.logger.create(NotificationJobService); + } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MAIL_RETRY, timeout: 7200 }) async resendUncompletedMails(): Promise { diff --git a/src/subdomains/supporting/notification/services/notification.service.ts b/src/subdomains/supporting/notification/services/notification.service.ts index a3111c896c..93f01e9743 100644 --- a/src/subdomains/supporting/notification/services/notification.service.ts +++ b/src/subdomains/supporting/notification/services/notification.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { UpdateNotificationDto } from '../dto/update-notification.dto'; import { Notification } from '../entities/notification.entity'; import { MailFactory } from '../factories/mail.factory'; @@ -9,13 +9,14 @@ import { MailService } from './mail.service'; @Injectable() export class NotificationService { - private readonly logger = new DfxLogger(NotificationService); - constructor( + private readonly logger: DfxLoggerService, private readonly mailFactory: MailFactory, private readonly mailService: MailService, private readonly notificationRepo: NotificationRepository, - ) {} + ) { + this.logger.create(NotificationService); + } async sendMail(request: MailRequest): Promise { const mail = this.mailFactory.createMail(request); diff --git a/src/subdomains/supporting/payin/services/payin-lightning.service.ts b/src/subdomains/supporting/payin/services/payin-lightning.service.ts index 8c548e7137..ffd1cdf4b3 100644 --- a/src/subdomains/supporting/payin/services/payin-lightning.service.ts +++ b/src/subdomains/supporting/payin/services/payin-lightning.service.ts @@ -1,17 +1,16 @@ import { Injectable } from '@nestjs/common'; import { LightningClient } from 'src/integration/lightning/lightning-client'; import { LightningService } from 'src/integration/lightning/services/lightning.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { CryptoInput } from '../entities/crypto-input.entity'; @Injectable() export class PayInLightningService { - private readonly logger = new DfxLogger(PayInLightningService); - private readonly client: LightningClient; - constructor(private readonly service: LightningService) { + constructor(private readonly logger: DfxLoggerService, private readonly service: LightningService) { this.client = service.getDefaultClient(); + this.logger.create(PayInLightningService); } async checkHealthOrThrow(): Promise { diff --git a/src/subdomains/supporting/payin/services/payin-notification.service.ts b/src/subdomains/supporting/payin/services/payin-notification.service.ts index 0b352b2de1..81df0e2fa8 100644 --- a/src/subdomains/supporting/payin/services/payin-notification.service.ts +++ b/src/subdomains/supporting/payin/services/payin-notification.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -16,9 +16,13 @@ import { PayInRepository } from '../repositories/payin.repository'; @Injectable() export class PayInNotificationService { - private readonly logger = new DfxLogger(PayInNotificationService); - - constructor(private readonly payInRepo: PayInRepository, private readonly notificationService: NotificationService) {} + constructor( + private readonly logger: DfxLoggerService, + private readonly payInRepo: PayInRepository, + private readonly notificationService: NotificationService, + ) { + this.logger.create(PayInNotificationService); + } @DfxCron(CronExpression.EVERY_5_MINUTES, { process: Process.PAY_IN_MAIL, timeout: 1800 }) async sendNotificationMails(): Promise { diff --git a/src/subdomains/supporting/payin/services/payin-solana.service.ts b/src/subdomains/supporting/payin/services/payin-solana.service.ts index 3658d10bc6..a9c8fc1255 100644 --- a/src/subdomains/supporting/payin/services/payin-solana.service.ts +++ b/src/subdomains/supporting/payin/services/payin-solana.service.ts @@ -2,12 +2,9 @@ import { Injectable } from '@nestjs/common'; import { WalletAccount } from 'src/integration/blockchain/shared/evm/domain/wallet-account'; import { SolanaService } from 'src/integration/blockchain/solana/services/solana.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; @Injectable() export class PayInSolanaService { - private readonly logger = new DfxLogger(PayInSolanaService); - constructor(private readonly solanaService: SolanaService) {} getWalletAddress() { diff --git a/src/subdomains/supporting/payin/services/payin.service.ts b/src/subdomains/supporting/payin/services/payin.service.ts index 0f616ee6d6..edf8c44926 100644 --- a/src/subdomains/supporting/payin/services/payin.service.ts +++ b/src/subdomains/supporting/payin/services/payin.service.ts @@ -2,7 +2,7 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -23,14 +23,15 @@ import { SendStrategyRegistry } from '../strategies/send/impl/base/send.strategy @Injectable() export class PayInService { - private readonly logger = new DfxLogger(PayInService); - constructor( + private readonly logger: DfxLoggerService, private readonly payInRepository: PayInRepository, private readonly sendStrategyRegistry: SendStrategyRegistry, private readonly transactionService: TransactionService, private readonly paymentLinkPaymentService: PaymentLinkPaymentService, - ) {} + ) { + this.logger.create(PayInService); + } //*** PUBLIC API ***// diff --git a/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts index b106688f16..48a9b51769 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts @@ -2,17 +2,19 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInArbitrumService } from '../../../services/payin-arbitrum.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class ArbitrumStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(ArbitrumStrategy); + protected readonly logger: DfxLoggerService; - constructor(arbitrumService: PayInArbitrumService) { + constructor(private readonly dfxLogger: DfxLoggerService, arbitrumService: PayInArbitrumService) { super(arbitrumService); + + this.logger = this.dfxLogger.create(ArbitrumStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts index eb7193b97d..0a975418c9 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts @@ -2,17 +2,19 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInBaseService } from '../../../services/payin-base.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BaseStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(BaseStrategy); + protected readonly logger: DfxLoggerService; - constructor(baseService: PayInBaseService) { + constructor(private readonly dfxLogger: DfxLoggerService, baseService: PayInBaseService) { super(baseService); + + this.logger = this.dfxLogger.create(BaseStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts index 85d8e5f83c..1a98b3e095 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts @@ -1,7 +1,7 @@ import { Inject, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInEntry } from 'src/subdomains/supporting/payin/interfaces'; import { PayInRepository } from 'src/subdomains/supporting/payin/repositories/payin.repository'; import { PayInService } from 'src/subdomains/supporting/payin/services/payin.service'; @@ -12,7 +12,7 @@ export interface PayInInputLog { } export abstract class RegisterStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; @Inject() private readonly registry: RegisterStrategyRegistry; @Inject() protected readonly payInService: PayInService; diff --git a/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts index e13d4cfbcd..2f30caaec6 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts @@ -4,7 +4,7 @@ import { Config } from 'src/config/config'; import { BitcoinUTXO } from 'src/integration/blockchain/bitcoin/node/dto/bitcoin-transaction.dto'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -15,10 +15,12 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class BitcoinStrategy extends RegisterStrategy { - protected readonly logger = new DfxLogger(BitcoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(private readonly bitcoinService: PayInBitcoinService) { + constructor(private readonly dfxLogger: DfxLoggerService, private readonly bitcoinService: PayInBitcoinService) { super(); + + this.logger = this.dfxLogger.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts index c7f7c475ae..73468af013 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts @@ -2,17 +2,19 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInBscService } from '../../../services/payin-bsc.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BscStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(BscStrategy); + protected readonly logger: DfxLoggerService; - constructor(bscService: PayInBscService) { + constructor(private readonly dfxLogger: DfxLoggerService, bscService: PayInBscService) { super(bscService); + + this.logger = this.dfxLogger.create(BscStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts index 3c0eec85b8..80c6d79e76 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts @@ -2,17 +2,19 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInEthereumService } from '../../../services/payin-ethereum.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class EthereumStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(EthereumStrategy); + protected readonly logger: DfxLoggerService; - constructor(ethereumService: PayInEthereumService) { + constructor(private readonly dfxLogger: DfxLoggerService, ethereumService: PayInEthereumService) { super(ethereumService); + + this.logger = this.dfxLogger.create(EthereumStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts index 1c36d62278..d8d9ea78a5 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts @@ -5,17 +5,20 @@ import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { AlchemyWebhookDto } from 'src/integration/alchemy/dto/alchemy-webhook.dto'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; + +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInGnosisService } from '../../../services/payin-gnosis.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class GnosisStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(GnosisStrategy); + protected readonly logger: DfxLoggerService; - constructor(gnosisService: PayInGnosisService) { + constructor(private readonly dfxLogger: DfxLoggerService, gnosisService: PayInGnosisService) { super(gnosisService); + + this.logger = this.dfxLogger.create(GnosisStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts index 492e6b73ef..39e6faeeff 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts @@ -3,7 +3,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { LnBitsTransactionWebhookDto } from 'src/integration/lightning/dto/lnbits.dto'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInEntry } from '../../../interfaces'; import { PayInWebHookService } from '../../../services/payin-webhhook.service'; @@ -11,13 +11,14 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class LightningStrategy extends RegisterStrategy { - protected logger: DfxLogger = new DfxLogger(LightningStrategy); + protected readonly logger: DfxLoggerService; private readonly depositWebhookMessageQueue: QueueHandler; - constructor(readonly payInWebHookService: PayInWebHookService) { + constructor(private readonly dfxLogger: DfxLoggerService, readonly payInWebHookService: PayInWebHookService) { super(); + this.logger = this.dfxLogger.create(LightningStrategy); this.depositWebhookMessageQueue = new QueueHandler(); payInWebHookService diff --git a/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts index 34800021b6..f43a4162dd 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts @@ -4,7 +4,7 @@ import { Config } from 'src/config/config'; import { MoneroTransferDto } from 'src/integration/blockchain/monero/dto/monero.dto'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -15,10 +15,12 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class MoneroStrategy extends RegisterStrategy { - protected logger: DfxLogger = new DfxLogger(MoneroStrategy); + protected readonly logger: DfxLoggerService; - constructor(private readonly payInMoneroService: PayInMoneroService) { + constructor(private readonly dfxLogger: DfxLoggerService, private readonly payInMoneroService: PayInMoneroService) { super(); + + this.logger = this.dfxLogger.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts index a64a3c4d0e..0b4d8545da 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts @@ -2,17 +2,19 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInOptimismService } from '../../../services/payin-optimism.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class OptimismStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(OptimismStrategy); + protected readonly logger: DfxLoggerService; - constructor(optimismService: PayInOptimismService) { + constructor(private readonly dfxLogger: DfxLoggerService, optimismService: PayInOptimismService) { super(optimismService); + + this.logger = this.dfxLogger.create(OptimismStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts index 405b96162f..914ad0df41 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts @@ -2,17 +2,19 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInPolygonService } from '../../../services/payin-polygon.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class PolygonStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger = new DfxLogger(PolygonStrategy); + protected readonly logger: DfxLoggerService; - constructor(polygonService: PayInPolygonService) { + constructor(private readonly dfxLogger: DfxLoggerService, polygonService: PayInPolygonService) { super(polygonService); + + this.logger = this.dfxLogger.create(PolygonStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts index f1061eb4d6..3f758fa076 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts @@ -8,7 +8,7 @@ import { TatumWebhookService } from 'src/integration/tatum/services/tatum-webhoo import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; import { Like } from 'typeorm'; @@ -18,18 +18,20 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class SolanaStrategy extends RegisterStrategy implements OnModuleInit { - protected logger: DfxLogger = new DfxLogger(SolanaStrategy); + protected readonly logger: DfxLoggerService; private addressWebhookMessageQueue: QueueHandler; - private solanaPaymentDepositAddress: string; constructor( + private readonly dfxLogger: DfxLoggerService, private readonly tatumWebhookService: TatumWebhookService, private readonly solanaService: SolanaService, private readonly repos: RepositoryFactory, ) { super(); + + this.logger = this.dfxLogger.create(SolanaStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts index 27e7b2f9f6..0ee1c6d8aa 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInArbitrumService } from '../../../services/payin-arbitrum.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class ArbitrumCoinStrategy extends EvmCoinStrategy { - constructor(arbitrumService: PayInArbitrumService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + arbitrumService: PayInArbitrumService, + payInRepo: PayInRepository, + ) { super(arbitrumService, payInRepo); + + this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts index f05b014cb6..8dc84e44a1 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInArbitrumService } from '../../../services/payin-arbitrum.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class ArbitrumTokenStrategy extends EvmTokenStrategy { - constructor(arbitrumService: PayInArbitrumService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + arbitrumService: PayInArbitrumService, + payInRepo: PayInRepository, + ) { super(arbitrumService, payInRepo); + + this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts index 0099b6c6d4..994cb777fc 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts @@ -6,11 +6,16 @@ import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBaseService } from '../../../services/payin-base.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; @Injectable() export class BaseCoinStrategy extends EvmCoinStrategy { - constructor(baseService: PayInBaseService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService,baseService: PayInBaseService, payInRepo: PayInRepository) { super(baseService, payInRepo); + + this.logger = this.dfxLogger.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts index 07c4fbed29..fd6de529f6 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts @@ -3,14 +3,19 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBaseService } from '../../../services/payin-base.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class BaseTokenStrategy extends EvmTokenStrategy { - constructor(baseService: PayInBaseService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, baseService: PayInBaseService, payInRepo: PayInRepository) { super(baseService, payInRepo); + + this.logger = this.dfxLogger.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts index 22598db36b..6055b45cd8 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts @@ -1,7 +1,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { PayInBitcoinBasedService } from 'src/subdomains/supporting/payin/services/base/payin-bitcoin-based.service'; import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exceptions/fee-limit-exceeded.exception'; import { CryptoInput, PayInConfirmationType } from '../../../../entities/crypto-input.entity'; @@ -9,7 +9,7 @@ import { PayInRepository } from '../../../../repositories/payin.repository'; import { SendStrategy, SendType } from './send.strategy'; export abstract class BitcoinBasedStrategy extends SendStrategy { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; constructor( protected readonly payInService: PayInBitcoinBasedService, diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts index 627d1b70b4..36c13a33bd 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts @@ -1,5 +1,5 @@ import { Config } from 'src/config/config'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { CryptoInput, @@ -12,10 +12,12 @@ import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exc import { SendGroup, SendGroupKey, SendStrategy, SendType } from './send.strategy'; export abstract class EvmStrategy extends SendStrategy { - protected readonly logger = new DfxLogger(EvmStrategy); + protected abstract readonly logger: DfxLoggerService; constructor(protected readonly payInEvmService: PayInEvmService, protected readonly payInRepo: PayInRepository) { super(); + + // TODO do we have to add logger here for SendStrategy? } protected abstract dispatchSend(payInGroup: SendGroup, type: SendType, estimatedNativeFee: number): Promise; diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts index 2adc8bd860..57814fb4e1 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts @@ -7,7 +7,7 @@ import { AssetService } from 'src/shared/models/asset/asset.service'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AmountType, Util } from 'src/shared/utils/util'; import { CryptoInput, @@ -36,7 +36,7 @@ export enum SendType { } export abstract class SendStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; protected chf: Fiat; @Inject() private readonly priceProvider: PricingService; diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts index a7072544f0..9cdd614e8c 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts @@ -1,5 +1,5 @@ import { Config } from 'src/config/config'; -import { LogLevel } from 'src/shared/services/dfx-logger'; +import { LogLevel } from 'src/shared/services/dfx-logger.service'; import { CryptoInput, PayInConfirmationType, diff --git a/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts index 548badb0c7..6b849f453d 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts @@ -3,17 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBitcoinService } from '../../../services/payin-bitcoin.service'; import { BitcoinBasedStrategy } from './base/bitcoin-based.strategy'; @Injectable() export class BitcoinStrategy extends BitcoinBasedStrategy { - protected readonly logger = new DfxLogger(BitcoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(protected readonly bitcoinService: PayInBitcoinService, protected payInRepo: PayInRepository) { + constructor( + private readonly dfxLogger: DfxLoggerService, + protected readonly bitcoinService: PayInBitcoinService, + protected payInRepo: PayInRepository, + ) { super(bitcoinService, payInRepo); + + this.logger = this.dfxLogger.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts index 2e16d48728..d50e95d009 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts @@ -3,14 +3,19 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBscService } from '../../../services/payin-bsc.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class BscCoinStrategy extends EvmCoinStrategy { - constructor(bscService: PayInBscService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, bscService: PayInBscService, payInRepo: PayInRepository) { super(bscService, payInRepo); + + this.logger = this.dfxLogger.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts index 79671b3b54..dab12379ba 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts @@ -3,14 +3,19 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBscService } from '../../../services/payin-bsc.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class BscTokenStrategy extends EvmTokenStrategy { - constructor(bscService: PayInBscService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService, bscService: PayInBscService, payInRepo: PayInRepository) { super(bscService, payInRepo); + + this.logger = this.dfxLogger.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts index a08d5b6ed1..a0386739b1 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInEthereumService } from '../../../services/payin-ethereum.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class EthereumCoinStrategy extends EvmCoinStrategy { - constructor(ethereumService: PayInEthereumService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + ethereumService: PayInEthereumService, + payInRepo: PayInRepository, + ) { super(ethereumService, payInRepo); + + this.logger = this.dfxLogger.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts index 665defa348..c437d657c5 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInEthereumService } from '../../../services/payin-ethereum.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class EthereumTokenStrategy extends EvmTokenStrategy { - constructor(ethereumService: PayInEthereumService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + ethereumService: PayInEthereumService, + payInRepo: PayInRepository, + ) { super(ethereumService, payInRepo); + + this.logger = this.dfxLogger.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts index d050f6cd88..bccd664f60 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts @@ -6,11 +6,16 @@ import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInGnosisService } from '../../../services/payin-gnosis.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; @Injectable() export class GnosisCoinStrategy extends EvmCoinStrategy { - constructor(gnosisService: PayInGnosisService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor(private readonly dfxLogger: DfxLoggerService,gnosisService: PayInGnosisService, payInRepo: PayInRepository) { super(gnosisService, payInRepo); + + this.logger = this.dfxLogger.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts index 832a1748a3..6cab7825fd 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInGnosisService } from '../../../services/payin-gnosis.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class GnosisTokenStrategy extends EvmTokenStrategy { - constructor(gnosisService: PayInGnosisService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + gnosisService: PayInGnosisService, + payInRepo: PayInRepository, + ) { super(gnosisService, payInRepo); + + this.logger = this.dfxLogger.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts index b8e0cc197e..4b403caade 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exceptions/fee-limit-exceeded.exception'; import { CryptoInput, PayInConfirmationType } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; @@ -11,10 +11,16 @@ import { SendStrategy, SendType } from './base/send.strategy'; @Injectable() export class LightningStrategy extends SendStrategy { - protected readonly logger = new DfxLogger(LightningStrategy); + protected readonly logger: DfxLoggerService; - constructor(private readonly lightningService: PayInLightningService, private readonly payInRepo: PayInRepository) { + constructor( + private readonly dfxLogger: DfxLoggerService, + private readonly lightningService: PayInLightningService, + private readonly payInRepo: PayInRepository, + ) { super(); + + this.logger = this.dfxLogger.create(LightningStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts index 4b99f7111b..9ab226c716 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger, LogLevel } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exceptions/fee-limit-exceeded.exception'; import { CryptoInput } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; @@ -12,10 +12,16 @@ import { SendType } from './base/send.strategy'; @Injectable() export class MoneroStrategy extends BitcoinBasedStrategy { - protected readonly logger = new DfxLogger(MoneroStrategy); + protected readonly logger: DfxLoggerService; - constructor(private readonly moneroService: PayInMoneroService, readonly payInRepo: PayInRepository) { + constructor( + private readonly dfxLogger: DfxLoggerService, + private readonly moneroService: PayInMoneroService, + readonly payInRepo: PayInRepository, + ) { super(moneroService, payInRepo); + + this.logger = this.dfxLogger.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts index 0e1e2639d4..0b1060f21a 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInOptimismService } from '../../../services/payin-optimism.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class OptimismCoinStrategy extends EvmCoinStrategy { - constructor(optimismService: PayInOptimismService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + optimismService: PayInOptimismService, + payInRepo: PayInRepository, + ) { super(optimismService, payInRepo); + + this.logger = this.dfxLogger.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts index ffc74d1d56..d212a61f66 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInOptimismService } from '../../../services/payin-optimism.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class OptimismTokenStrategy extends EvmTokenStrategy { - constructor(optimismService: PayInOptimismService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + optimismService: PayInOptimismService, + payInRepo: PayInRepository, + ) { super(optimismService, payInRepo); + + this.logger = this.dfxLogger.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts index 756807e3c6..9cd0e9ef4c 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInPolygonService } from '../../../services/payin-polygon.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class PolygonCoinStrategy extends EvmCoinStrategy { - constructor(polygonService: PayInPolygonService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + polygonService: PayInPolygonService, + payInRepo: PayInRepository, + ) { super(polygonService, payInRepo); + + this.logger = this.dfxLogger.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts index 1b3ab0bc98..ebaab90d5f 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts @@ -3,14 +3,23 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInPolygonService } from '../../../services/payin-polygon.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class PolygonTokenStrategy extends EvmTokenStrategy { - constructor(polygonService: PayInPolygonService, payInRepo: PayInRepository) { + protected readonly logger: DfxLoggerService; + + constructor( + private readonly dfxLogger: DfxLoggerService, + polygonService: PayInPolygonService, + payInRepo: PayInRepository, + ) { super(polygonService, payInRepo); + + this.logger = this.dfxLogger.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts index b0a7b959d4..a168625241 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts @@ -3,7 +3,7 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { CryptoInput } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInSolanaService } from '../../../services/payin-solana.service'; @@ -12,10 +12,16 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaCoinStrategy extends SolanaStrategy { - protected readonly logger = new DfxLogger(SolanaCoinStrategy); + protected readonly logger: DfxLoggerService; - constructor(payInSolanaService: PayInSolanaService, payInRepo: PayInRepository) { + constructor( + payInSolanaService: PayInSolanaService, + payInRepo: PayInRepository, + private readonly dfxLogger: DfxLoggerService, + ) { super(payInSolanaService, payInRepo); + + this.logger = this.dfxLogger.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts index 6a17f0bfa4..2f6c25b5d4 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts @@ -3,7 +3,7 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { CryptoInput } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInSolanaService } from '../../../services/payin-solana.service'; @@ -12,10 +12,16 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaTokenStrategy extends SolanaStrategy { - protected readonly logger = new DfxLogger(SolanaTokenStrategy); + protected readonly logger: DfxLoggerService; - constructor(payInSolanaService: PayInSolanaService, payInRepo: PayInRepository) { + constructor( + payInSolanaService: PayInSolanaService, + payInRepo: PayInRepository, + private readonly dfxLogger: DfxLoggerService, + ) { super(payInSolanaService, payInRepo); + + this.logger = this.dfxLogger.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payment/services/fee.service.ts b/src/subdomains/supporting/payment/services/fee.service.ts index 180a0fc406..e575269585 100644 --- a/src/subdomains/supporting/payment/services/fee.service.ts +++ b/src/subdomains/supporting/payment/services/fee.service.ts @@ -14,7 +14,7 @@ import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -70,11 +70,10 @@ const FeeValidityMinutes = 30; @Injectable() export class FeeService implements OnModuleInit { - private readonly logger = new DfxLogger(FeeService); - private chf: Fiat; constructor( + private readonly logger: DfxLoggerService, private readonly feeRepo: FeeRepository, private readonly assetService: AssetService, private readonly fiatService: FiatService, @@ -85,7 +84,9 @@ export class FeeService implements OnModuleInit { private readonly payoutService: PayoutService, private readonly pricingService: PricingService, private readonly bankService: BankService, - ) {} + ) { + this.logger.create(FeeService); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/supporting/payment/services/transaction-helper.ts b/src/subdomains/supporting/payment/services/transaction-helper.ts index c6403fb92e..210268a22a 100644 --- a/src/subdomains/supporting/payment/services/transaction-helper.ts +++ b/src/subdomains/supporting/payment/services/transaction-helper.ts @@ -11,7 +11,7 @@ import { AssetDtoMapper } from 'src/shared/models/asset/dto/asset-dto.mapper'; import { FiatDtoMapper } from 'src/shared/models/fiat/dto/fiat-dto.mapper'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { DfxCron } from 'src/shared/utils/cron'; @@ -50,7 +50,6 @@ import { TransactionService } from './transaction.service'; @Injectable() export class TransactionHelper implements OnModuleInit { - private readonly logger = new DfxLogger(TransactionHelper); private readonly addressBalanceCache = new AsyncCache(CacheItemResetPeriod.EVERY_HOUR); private chf: Fiat; @@ -58,6 +57,7 @@ export class TransactionHelper implements OnModuleInit { private transactionSpecifications: TransactionSpecification[]; constructor( + private readonly logger: DfxLoggerService, private readonly specRepo: TransactionSpecificationRepository, private readonly pricingService: PricingService, private readonly fiatService: FiatService, @@ -71,7 +71,9 @@ export class TransactionHelper implements OnModuleInit { private readonly transactionService: TransactionService, private readonly buyService: BuyService, private readonly assetService: AssetService, - ) {} + ) { + this.logger.create(TransactionHelper); + } onModuleInit() { void this.fiatService.getFiatByName('CHF').then((f) => (this.chf = f)); diff --git a/src/subdomains/supporting/payment/services/transaction-notification.service.ts b/src/subdomains/supporting/payment/services/transaction-notification.service.ts index 8467babb39..60353eeba7 100644 --- a/src/subdomains/supporting/payment/services/transaction-notification.service.ts +++ b/src/subdomains/supporting/payment/services/transaction-notification.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,13 +17,14 @@ import { TransactionRepository } from '../repositories/transaction.repository'; @Injectable() export class TransactionNotificationService { - private readonly logger = new DfxLogger(TransactionNotificationService); - constructor( + private readonly logger: DfxLoggerService, private readonly repo: TransactionRepository, private readonly notificationService: NotificationService, private readonly bankDataService: BankDataService, - ) {} + ) { + this.logger.create(TransactionNotificationService); + } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.TX_MAIL, timeout: 1800 }) async sendNotificationMails(): Promise { diff --git a/src/subdomains/supporting/payment/services/transaction-request.service.ts b/src/subdomains/supporting/payment/services/transaction-request.service.ts index d78fea8f80..4381cb92cf 100644 --- a/src/subdomains/supporting/payment/services/transaction-request.service.ts +++ b/src/subdomains/supporting/payment/services/transaction-request.service.ts @@ -5,7 +5,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { SiftService } from 'src/integration/sift/services/sift.service'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { Lock } from 'src/shared/utils/lock'; import { Util } from 'src/shared/utils/util'; @@ -32,8 +32,6 @@ export const QUOTE_UID_PREFIX = 'Q'; @Injectable() export class TransactionRequestService { - private readonly logger = new DfxLogger(TransactionRequestService); - constructor( private readonly transactionRequestRepo: TransactionRequestRepository, private readonly siftService: SiftService, @@ -43,7 +41,10 @@ export class TransactionRequestService { private readonly sellService: SellService, @Inject(forwardRef(() => SwapService)) private readonly swapService: SwapService, - ) {} + private readonly logger: DfxLoggerService, + ) { + logger.create(TransactionRequestService); + } @Cron(CronExpression.EVERY_MINUTE) @Lock(7200) diff --git a/src/subdomains/supporting/payout/services/payout-log.service.ts b/src/subdomains/supporting/payout/services/payout-log.service.ts index 41f1c6e44c..bbe34f3453 100644 --- a/src/subdomains/supporting/payout/services/payout-log.service.ts +++ b/src/subdomains/supporting/payout/services/payout-log.service.ts @@ -1,10 +1,12 @@ import { Injectable } from '@nestjs/common'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../entities/payout-order.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; @Injectable() export class PayoutLogService { - private readonly logger = new DfxLogger(PayoutLogService); + constructor(private readonly logger: DfxLoggerService) { + logger.create(PayoutLogService); + } logTransferCompletion(confirmedOrders: PayoutOrder[]): void { const confirmedOrdersLogs = this.createDefaultOrdersLog(confirmedOrders); diff --git a/src/subdomains/supporting/payout/services/payout.service.ts b/src/subdomains/supporting/payout/services/payout.service.ts index 8b80459f56..0f72d8433d 100644 --- a/src/subdomains/supporting/payout/services/payout.service.ts +++ b/src/subdomains/supporting/payout/services/payout.service.ts @@ -1,7 +1,7 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -19,8 +19,6 @@ import { PayoutLogService } from './payout-log.service'; @Injectable() export class PayoutService { - private readonly logger = new DfxLogger(PayoutService); - constructor( private readonly logs: PayoutLogService, private readonly notificationService: NotificationService, @@ -28,7 +26,10 @@ export class PayoutService { private readonly payoutOrderFactory: PayoutOrderFactory, private readonly payoutStrategyRegistry: PayoutStrategyRegistry, private readonly prepareStrategyRegistry: PrepareStrategyRegistry, - ) {} + private readonly logger: DfxLoggerService, + ) { + logger.create(PayoutService); + } //*** PUBLIC API ***// diff --git a/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts b/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts index 9c14f9057e..e5d6e929e3 100644 --- a/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts +++ b/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts @@ -2,7 +2,7 @@ import { mock } from 'jest-mock-extended'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { createCustomAsset } from 'src/shared/models/asset/__mocks__/asset.entity.mock'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { createCustomPayoutOrder, @@ -238,7 +238,7 @@ describe('PayoutBitcoinBasedStrategy', () => { }); class PayoutBitcoinBasedStrategyWrapper extends BitcoinBasedStrategy { - protected readonly logger = new DfxLogger(PayoutBitcoinBasedStrategyWrapper); + protected readonly logger = new DfxLoggerService(PayoutBitcoinBasedStrategyWrapper); constructor( notificationService: NotificationService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts index 244e98c199..a900ee64c2 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutArbitrumService } from '../../../services/payout-arbitrum.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class ArbitrumCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly arbitrumService: PayoutArbitrumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(arbitrumService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts index a9a2650b11..384dc8c018 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutArbitrumService } from '../../../services/payout-arbitrum.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class ArbitrumTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly arbitrumService: PayoutArbitrumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(arbitrumService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts index e3dc144e8c..4ef6218d73 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBaseService } from '../../../services/payout-base.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BaseCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly baseService: PayoutBaseService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(baseService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts index f077615dee..b578458109 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBaseService } from '../../../services/payout-base.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BaseTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly baseService: PayoutBaseService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(baseService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts index 75512d5b4a..f96d0296c7 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts @@ -1,6 +1,6 @@ import { Config } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { Util } from 'src/shared/utils/util'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -15,7 +15,7 @@ import { PayoutOrderRepository } from '../../../../repositories/payout-order.rep import { PayoutStrategy } from './payout.strategy'; export abstract class BitcoinBasedStrategy extends PayoutStrategy { - protected abstract readonly logger: DfxLogger; + protected abstract readonly logger: DfxLoggerService; constructor( protected readonly notificationService: NotificationService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts index 04b383f210..5ad25d9f08 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts @@ -1,6 +1,6 @@ import { Config } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { FeeResult } from 'src/subdomains/supporting/payout/interfaces'; @@ -10,9 +10,8 @@ import { PayoutEvmService } from '../../../../services/payout-evm.service'; import { PayoutStrategy } from './payout.strategy'; export abstract class EvmStrategy extends PayoutStrategy { - private readonly logger = new DfxLogger(EvmStrategy); - private readonly txFees = new AsyncCache(CacheItemResetPeriod.EVERY_30_SECONDS); + protected abstract readonly logger: DfxLoggerService; constructor( protected readonly payoutEvmService: PayoutEvmService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts index 212e3686f1..470f56f2b4 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts @@ -1,6 +1,6 @@ import { Config } from 'src/config/config'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { FeeResult } from 'src/subdomains/supporting/payout/interfaces'; import { PayoutOrderRepository } from 'src/subdomains/supporting/payout/repositories/payout-order.repository'; @@ -9,9 +9,8 @@ import { PayoutOrder } from '../../../../entities/payout-order.entity'; import { PayoutStrategy } from './payout.strategy'; export abstract class SolanaStrategy extends PayoutStrategy { - private readonly logger = new DfxLogger(SolanaStrategy); - private readonly txFees = new AsyncCache(CacheItemResetPeriod.EVERY_30_SECONDS); + protected abstract readonly logger: DfxLoggerService; constructor( protected readonly solanaService: PayoutSolanaService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts index 04d15f7da6..eac6d30612 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { PayoutOrder, PayoutOrderContext } from '../../../entities/payout-order.entity'; @@ -14,17 +14,19 @@ import { BitcoinBasedStrategy } from './base/bitcoin-based.strategy'; @Injectable() export class BitcoinStrategy extends BitcoinBasedStrategy { - protected readonly logger = new DfxLogger(BitcoinStrategy); - private readonly averageTransactionSize = 140; // vBytes + protected readonly logger: DfxLoggerService; constructor( notificationService: NotificationService, protected readonly bitcoinService: PayoutBitcoinService, protected readonly payoutOrderRepo: PayoutOrderRepository, protected readonly assetService: AssetService, + private readonly dfxLogger: DfxLoggerService, ) { super(notificationService, payoutOrderRepo, bitcoinService); + + this.logger = this.dfxLogger.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts index 65231d4b1c..384cda58ac 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBscService } from '../../../services/payout-bsc.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BscCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly bscService: PayoutBscService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(bscService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts index e421a7e92c..5a36f27e71 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBscService } from '../../../services/payout-bsc.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BscTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly bscService: PayoutBscService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(bscService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts index 1d30e7c6a3..ceb9cf0ee2 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutEthereumService } from '../../../services/payout-ethereum.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class EthereumCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly ethereumService: PayoutEthereumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(ethereumService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts index 3a5deeba68..d37ecc0a1a 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutEthereumService } from '../../../services/payout-ethereum.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class EthereumTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly ethereumService: PayoutEthereumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(ethereumService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts index ef65303e90..e47a24fd41 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutGnosisService } from '../../../services/payout-gnosis.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class GnosisCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly gnosisService: PayoutGnosisService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(gnosisService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts index f614e636d8..c6f825a114 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutGnosisService } from '../../../services/payout-gnosis.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class GnosisTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly gnosisService: PayoutGnosisService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(gnosisService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts index adda569f27..099a3b5d53 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts @@ -3,7 +3,7 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { FeeResult } from '../../../interfaces'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; @@ -12,14 +12,17 @@ import { PayoutStrategy } from './base/payout.strategy'; @Injectable() export class LightningStrategy extends PayoutStrategy { - private readonly logger = new DfxLogger(LightningStrategy); + protected readonly logger: DfxLoggerService; constructor( private readonly assetService: AssetService, private readonly payoutLightningService: PayoutLightningService, private readonly payoutOrderRepo: PayoutOrderRepository, + private readonly dfxLogger: DfxLoggerService, ) { super(); + + this.logger = this.dfxLogger.create(LightningStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts index 996a78adcf..2404c8b1c4 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { PayoutOrder, PayoutOrderContext } from '../../../entities/payout-order.entity'; @@ -14,17 +14,19 @@ import { BitcoinBasedStrategy } from './base/bitcoin-based.strategy'; @Injectable() export class MoneroStrategy extends BitcoinBasedStrategy { - protected readonly logger = new DfxLogger(MoneroStrategy); - private readonly averageTransactionSize = 1600; // Bytes + protected readonly logger: DfxLoggerService; constructor( notificationService: NotificationService, protected readonly payoutMoneroService: PayoutMoneroService, protected readonly payoutOrderRepo: PayoutOrderRepository, protected readonly assetService: AssetService, + private readonly dfxLogger: DfxLoggerService, ) { super(notificationService, payoutOrderRepo, payoutMoneroService); + + this.logger = this.dfxLogger.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts index 6e45107216..0f68e99fd2 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutOptimismService } from '../../../services/payout-optimism.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class OptimismCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly optimismService: PayoutOptimismService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(optimismService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts index dbd68ed3a8..a25eee070b 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutOptimismService } from '../../../services/payout-optimism.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class OptimismTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly optimismService: PayoutOptimismService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(optimismService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts index d978238bb5..824fc0c94b 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutPolygonService } from '../../../services/payout-polygon.service'; @@ -9,12 +10,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class PolygonCoinStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( + private readonly dfxLogger: DfxLoggerService, protected readonly polygonService: PayoutPolygonService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(polygonService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts index beb8c8ca28..15535304ee 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts @@ -6,15 +6,21 @@ import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutPolygonService } from '../../../services/payout-polygon.service'; import { EvmStrategy } from './base/evm.strategy'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; @Injectable() export class PolygonTokenStrategy extends EvmStrategy { + protected readonly logger: DfxLoggerService; + constructor( protected readonly polygonService: PayoutPolygonService, protected readonly assetService: AssetService, + private readonly dfxLogger: DfxLoggerService, payoutOrderRepo: PayoutOrderRepository, ) { super(polygonService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts index 0d10029f86..5d060fe4a0 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutSolanaService } from '../../../services/payout-solana.service'; @@ -9,12 +10,17 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaCoinStrategy extends SolanaStrategy { + protected readonly logger: DfxLoggerService; + constructor( protected readonly solanaService: PayoutSolanaService, + private readonly dfxLogger: DfxLoggerService, private readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(solanaService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts index 22bf258ae8..3295c18889 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutSolanaService } from '../../../services/payout-solana.service'; @@ -9,12 +10,17 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaTokenStrategy extends SolanaStrategy { + protected readonly logger: DfxLoggerService; + constructor( protected readonly solanaService: PayoutSolanaService, + private readonly dfxLogger: DfxLoggerService, private readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(solanaService, payoutOrderRepo); + + this.logger = this.dfxLogger.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/pricing/services/asset-prices.service.ts b/src/subdomains/supporting/pricing/services/asset-prices.service.ts index 1c85e7d52e..dab8315b94 100644 --- a/src/subdomains/supporting/pricing/services/asset-prices.service.ts +++ b/src/subdomains/supporting/pricing/services/asset-prices.service.ts @@ -3,7 +3,7 @@ import { CronExpression } from '@nestjs/schedule'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -14,14 +14,15 @@ import { PricingService } from './pricing.service'; @Injectable() export class AssetPricesService { - private readonly logger = new DfxLogger(AssetPricesService); - constructor( private readonly assetService: AssetService, private readonly fiatService: FiatService, private readonly pricingService: PricingService, private readonly assetPriceRepo: AssetPriceRepository, - ) {} + private readonly logger: DfxLoggerService, + ) { + logger.create(AssetPricesService); + } // --- JOBS --- // @DfxCron(CronExpression.EVERY_HOUR, { process: Process.PRICING, timeout: 3600 }) diff --git a/src/subdomains/supporting/pricing/services/fiat-prices.service.ts b/src/subdomains/supporting/pricing/services/fiat-prices.service.ts index b31b2384fb..b0bf7061b4 100644 --- a/src/subdomains/supporting/pricing/services/fiat-prices.service.ts +++ b/src/subdomains/supporting/pricing/services/fiat-prices.service.ts @@ -1,16 +1,20 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { PricingService } from './pricing.service'; @Injectable() export class FiatPricesService { - private readonly logger = new DfxLogger(FiatPricesService); - - constructor(private readonly fiatService: FiatService, private readonly pricingService: PricingService) {} + constructor( + private readonly fiatService: FiatService, + private readonly pricingService: PricingService, + private readonly logger: DfxLoggerService, + ) { + logger.create(FiatPricesService); + } // --- JOBS --- // @DfxCron(CronExpression.EVERY_HOUR, { process: Process.PRICING, timeout: 3600 }) diff --git a/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts b/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts index 9bc5bdf657..863869881a 100644 --- a/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts +++ b/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts @@ -1,21 +1,20 @@ import { Injectable, OnModuleInit, ServiceUnavailableException } from '@nestjs/common'; import { CoinGeckoClient } from 'coingecko-api-v3'; import { GetConfig } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Price } from '../../domain/entities/price'; import { PricingProvider } from './pricing-provider'; @Injectable() export class CoinGeckoService extends PricingProvider implements OnModuleInit { - private readonly logger = new DfxLogger(CoinGeckoService); - private readonly client: CoinGeckoClient; private currencies: string[]; - constructor() { + constructor(private readonly logger: DfxLoggerService) { super(); this.client = new CoinGeckoClient({ autoRetry: false }, GetConfig().coinGecko.apiKey); + logger.create(CoinGeckoService); } onModuleInit() { diff --git a/src/subdomains/supporting/pricing/services/pricing.service.ts b/src/subdomains/supporting/pricing/services/pricing.service.ts index 54c1594ac2..3d4c615392 100644 --- a/src/subdomains/supporting/pricing/services/pricing.service.ts +++ b/src/subdomains/supporting/pricing/services/pricing.service.ts @@ -3,7 +3,7 @@ import { BinanceService } from 'src/integration/exchange/services/binance.servic import { KrakenService } from 'src/integration/exchange/services/kraken.service'; import { KucoinService } from 'src/integration/exchange/services/kucoin.service'; import { Active, activesEqual, isFiat } from 'src/shared/models/active'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { Util } from 'src/shared/utils/util'; import { MailContext, MailType } from '../../notification/enums'; @@ -24,8 +24,6 @@ import { PricingFrankencoinService } from './integration/pricing-frankencoin.ser @Injectable() export class PricingService { - private readonly logger = new DfxLogger(PricingService); - private readonly providerMap: PricingProviderMap; private readonly priceRuleCache = new AsyncCache(CacheItemResetPeriod.EVERY_6_HOURS); private readonly providerPriceCache = new AsyncCache(CacheItemResetPeriod.EVERY_10_SECONDS); @@ -45,6 +43,7 @@ export class PricingService { readonly deuroService: PricingDeuroService, readonly ebel2xService: PricingEbel2xService, readonly constantService: PricingConstantService, + private readonly logger: DfxLoggerService, ) { this.providerMap = { [PriceSource.KRAKEN]: krakenService, @@ -59,6 +58,7 @@ export class PricingService { [PriceSource.EBEL2X]: ebel2xService, [PriceSource.CONSTANT]: constantService, }; + logger.create(PricingService); } async getPrice(from: Active, to: Active, allowExpired: boolean, tryCount = 2): Promise { diff --git a/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts b/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts index 99cc1a10dd..890efae8c4 100644 --- a/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts +++ b/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -14,12 +14,13 @@ import { LimitRequestRepository } from '../repositories/limit-request.repository @Injectable() export class LimitRequestNotificationService { - private readonly logger = new DfxLogger(LimitRequestNotificationService); - constructor( private readonly limitRequestRepo: LimitRequestRepository, private readonly notificationService: NotificationService, - ) {} + private readonly logger: DfxLoggerService, + ) { + logger.create(LimitRequestNotificationService); + } @DfxCron(CronExpression.EVERY_5_MINUTES, { process: Process.LIMIT_REQUEST_MAIL, timeout: 1800 }) async sendNotificationMails(): Promise { diff --git a/src/subdomains/supporting/support-issue/services/limit-request.service.ts b/src/subdomains/supporting/support-issue/services/limit-request.service.ts index 603719893c..6467e7a7a9 100644 --- a/src/subdomains/supporting/support-issue/services/limit-request.service.ts +++ b/src/subdomains/supporting/support-issue/services/limit-request.service.ts @@ -1,5 +1,5 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; @@ -16,15 +16,16 @@ import { SupportLogService } from './support-log.service'; @Injectable() export class LimitRequestService { - private readonly logger = new DfxLogger(LimitRequestService); - constructor( private readonly limitRequestRepo: LimitRequestRepository, private readonly webhookService: WebhookService, private readonly notificationService: NotificationService, private readonly supportIssueRepo: SupportIssueRepository, private readonly supportLogService: SupportLogService, - ) {} + private readonly logger: DfxLoggerService, + ) { + logger.create(LimitRequestService); + } async increaseLimitInternal(dto: LimitRequestDto, userData: UserData): Promise { if (userData.kycLevel < KycLevel.LEVEL_50) throw new BadRequestException('Missing KYC'); diff --git a/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts b/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts index b5b0dc2e32..1d79e1b531 100644 --- a/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts +++ b/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DfxLogger } from 'src/shared/services/dfx-logger'; +import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { MailContext, MailType } from '../../notification/enums'; import { MailTranslationKey } from '../../notification/factories/mail.factory'; @@ -8,9 +8,9 @@ import { SupportMessage } from '../entities/support-message.entity'; @Injectable() export class SupportIssueNotificationService { - private readonly logger = new DfxLogger(SupportIssueNotificationService); - - constructor(private readonly notificationService: NotificationService) {} + constructor(private readonly notificationService: NotificationService, private readonly logger: DfxLoggerService) { + logger.create(SupportIssueNotificationService); + } async newSupportMessage(entity: SupportMessage): Promise { try { From a54877c8241ccfaa06eecf62f18b515a44881174 Mon Sep 17 00:00:00 2001 From: Yannick1712 <52333989+Yannick1712@users.noreply.github.com> Date: Wed, 25 Jun 2025 09:35:31 +0200 Subject: [PATCH 2/6] [DEV-2478] adapt modules --- src/shared/shared.module.ts | 4 +++- .../supporting/notification/notification.module.ts | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/shared/shared.module.ts b/src/shared/shared.module.ts index 05dad31e47..5159186dbb 100644 --- a/src/shared/shared.module.ts +++ b/src/shared/shared.module.ts @@ -1,5 +1,5 @@ import { HttpModule } from '@nestjs/axios'; -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { DiscoveryModule } from '@nestjs/core'; import { JwtModule } from '@nestjs/jwt'; import { PassportModule } from '@nestjs/passport'; @@ -10,6 +10,7 @@ import { I18nModule } from 'nestjs-i18n'; import { GetConfig } from 'src/config/config'; import { ConfigModule } from 'src/config/config.module'; import { GeoLocationModule } from 'src/integration/geolocation/geo-location.module'; +import { NotificationModule } from 'src/subdomains/supporting/notification/notification.module'; import { JwtStrategy } from './auth/jwt.strategy'; import { AssetController } from './models/asset/asset.controller'; import { Asset } from './models/asset/asset.entity'; @@ -43,6 +44,7 @@ import { ProcessService } from './services/process.service'; @Module({ imports: [ + forwardRef(() => NotificationModule), DiscoveryModule, HttpModule, ConfigModule, diff --git a/src/subdomains/supporting/notification/notification.module.ts b/src/subdomains/supporting/notification/notification.module.ts index 19ea824a5a..b1a980b854 100644 --- a/src/subdomains/supporting/notification/notification.module.ts +++ b/src/subdomains/supporting/notification/notification.module.ts @@ -1,5 +1,5 @@ import { MailerModule } from '@nestjs-modules/mailer'; -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { GetConfig } from 'src/config/config'; import { SharedModule } from 'src/shared/shared.module'; @@ -12,7 +12,11 @@ import { NotificationJobService } from './services/notification-job.service'; import { NotificationService } from './services/notification.service'; @Module({ - imports: [TypeOrmModule.forFeature([Notification]), MailerModule.forRoot(GetConfig().mail.options), SharedModule], + imports: [ + TypeOrmModule.forFeature([Notification]), + MailerModule.forRoot(GetConfig().mail.options), + forwardRef(() => SharedModule), + ], providers: [NotificationRepository, MailService, NotificationService, MailFactory, NotificationJobService], controllers: [NotificationController], exports: [NotificationService, MailFactory], From 08820204ff93d8c3e5f13dd10a037560f4dd77dc Mon Sep 17 00:00:00 2001 From: Yannick1712 <52333989+Yannick1712@users.noreply.github.com> Date: Wed, 25 Jun 2025 18:19:15 +0200 Subject: [PATCH 3/6] [DEV-2478] Refactoring --- .../alchemy/controllers/alchemy.controller.ts | 9 ++++++--- .../alchemy/services/alchemy-webhook.service.ts | 8 +++++--- .../bank/services/olkypay.service.ts | 8 +++++--- .../bank/services/revolut.service.ts | 8 +++++--- .../blockchain/arbitrum/arbitrum-client.ts | 7 +++---- .../blockchain/arbitrum/arbitrum.service.ts | 6 +++--- src/integration/blockchain/base/base-client.ts | 6 +++--- src/integration/blockchain/base/base.service.ts | 6 +++--- .../blockchain/bitcoin/bitcoin.module.ts | 3 ++- .../blockchain/bitcoin/node/bitcoin-client.ts | 9 +++++---- .../blockchain/bitcoin/node/bitcoin.service.ts | 9 +++++---- .../blockchain/bitcoin/node/node-client.ts | 4 ++-- src/integration/blockchain/bsc/bsc.service.ts | 6 +++--- .../blockchain/deuro/deuro.service.ts | 9 +++++---- .../blockchain/ebel2x/ebel2x.service.ts | 6 +++--- .../blockchain/ethereum/ethereum.service.ts | 6 +++--- .../frankencoin/frankencoin.service.ts | 9 +++++---- .../blockchain/gnosis/gnosis.service.ts | 6 +++--- .../blockchain/optimism/optimism-client.ts | 7 +++---- .../blockchain/optimism/optimism.service.ts | 6 +++--- .../blockchain/polygon/polygon-client.ts | 7 +++---- .../blockchain/polygon/polygon.service.ts | 6 +++--- .../blockchain/shared/evm/evm-client.ts | 4 ++-- .../shared/evm/evm-decimals.service.ts | 9 ++++++--- .../shared/evm/evm-gas-price.service.ts | 10 ++++++---- .../frankencoin/frankencoin-based.service.ts | 4 ++-- .../services/binance-pay.service.ts | 8 +++++--- .../exchange/controllers/exchange.controller.ts | 8 +++++--- .../services/__tests__/exchange.test.ts | 4 ++-- .../exchange/services/binance.service.ts | 9 +++++---- .../exchange/services/bitpanda.service.ts | 9 +++++---- .../exchange/services/bitstamp.service.ts | 9 +++++---- .../exchange/services/exchange-tx.service.ts | 8 +++++--- .../exchange/services/exchange.service.ts | 4 ++-- .../exchange/services/kraken.service.ts | 9 ++++++--- .../exchange/services/kucoin.service.ts | 8 +++++--- src/integration/sift/services/sift.service.ts | 8 +++++--- .../tatum/controllers/tatum.controller.ts | 9 ++++++--- .../services => logger}/dfx-logger.service.ts | 17 ++++++++--------- src/logger/logger.factory.ts | 12 ++++++++++++ src/logger/logger.module.ts | 11 +++++++++++ src/main.ts | 4 ++-- src/shared/auth/ip.guard.ts | 4 ++-- src/shared/filters/exception.filter.ts | 4 ++-- src/shared/services/dfx-cron.service.ts | 7 +++++-- src/shared/shared.module.ts | 3 --- src/shared/utils/lock.ts | 4 ++-- src/subdomains/core/aml/services/aml.service.ts | 9 ++++++--- .../services/buy-crypto-batch.service.ts | 9 ++++++--- .../process/services/buy-crypto-dex.service.ts | 9 ++++++--- .../services/buy-crypto-notification.service.ts | 9 ++++++--- .../process/services/buy-crypto-out.service.ts | 9 ++++++--- .../services/buy-crypto-preparation.service.ts | 8 +++++--- .../services/buy-crypto-registration.service.ts | 9 ++++++--- .../core/buy-crypto/routes/swap/swap.service.ts | 9 ++++++--- .../actions/base/ccxt-exchange.adapter.ts | 4 ++-- .../actions/base/frankencoin-based.adapter.ts | 4 ++-- .../adapters/actions/binance.adapter.ts | 9 +++++---- .../adapters/actions/deuro.adapter.ts | 9 +++++---- .../adapters/actions/frankencoin.adapter.ts | 9 +++++---- .../adapters/actions/kraken.adapter.ts | 9 +++++---- .../adapters/balances/bank.adapter.ts | 9 ++++++--- .../adapters/balances/blockchain.adapter.ts | 9 ++++++--- .../adapters/balances/exchange.adapter.ts | 8 +++++--- .../liquidity-management-balance.service.ts | 9 ++++++--- .../liquidity-management-pipeline.service.ts | 9 ++++++--- .../liquidity-management-rule.service.ts | 9 ++++++--- .../services/liquidity-management.service.ts | 8 +++++--- .../core/monitoring/metric.observer.ts | 4 ++-- .../monitor-connection-pool.service.ts | 8 +++++--- .../core/monitoring/monitoring.service.ts | 9 ++++++--- .../core/monitoring/observers/aml.observer.ts | 9 +++++---- .../core/monitoring/observers/bank.observer.ts | 9 +++++---- .../observers/banking-bot.observer.ts | 9 +++++---- .../monitoring/observers/checkout.observer.ts | 9 +++++---- .../monitoring/observers/exchange.observer.ts | 9 +++++---- .../observers/external-services.observer.ts | 9 +++++---- .../monitoring/observers/liquidity.observer.ts | 9 +++++---- .../observers/node-balance.observer.ts | 9 +++++---- .../observers/node-health.observer.ts | 9 +++++---- .../monitoring/observers/payment.observer.ts | 9 +++++---- .../core/monitoring/observers/user.observer.ts | 9 +++++---- .../controllers/payment-link.controller.ts | 9 ++++++--- .../services/payment-activation.service.ts | 8 +++++--- .../services/payment-link.service.ts | 14 ++++++++------ .../services/payment-quote.service.ts | 9 ++++++--- .../services/payment-webhook.service.ts | 8 +++++--- .../core/referral/process/ref.service.ts | 8 +++++--- .../reward/services/ref-reward-dex.service.ts | 9 ++++++--- .../services/ref-reward-notification.service.ts | 9 ++++++--- .../reward/services/ref-reward-out.service.ts | 9 ++++++--- .../services/buy-fiat-notification.service.ts | 9 ++++++--- .../services/buy-fiat-preparation.service.ts | 9 ++++++--- .../services/buy-fiat-registration.service.ts | 9 ++++++--- .../core/sell-crypto/route/sell.service.ts | 9 ++++++--- .../trading/services/trading-order.service.ts | 9 ++++++--- .../trading/services/trading-rule.service.ts | 9 ++++++--- .../core/trading/services/trading.service.ts | 9 ++++++--- src/subdomains/generic/gs/gs.controller.ts | 9 ++++++--- src/subdomains/generic/gs/gs.service.ts | 9 ++++++--- .../generic/kyc/controllers/kyc.controller.ts | 9 ++++++--- .../kyc/services/integration/ident.service.ts | 8 +++++--- .../kyc/services/integration/sum-sub.service.ts | 8 +++++--- .../generic/kyc/services/kyc-admin.service.ts | 9 ++++++--- .../kyc/services/kyc-notification.service.ts | 9 ++++++--- .../generic/kyc/services/kyc.service.ts | 8 +++++--- .../generic/kyc/services/tfa.service.ts | 8 +++++--- .../user/models/auth/auth-alby.service.ts | 8 +++++--- .../generic/user/models/auth/auth.service.ts | 8 +++++--- .../user/models/bank-data/bank-data.service.ts | 9 ++++++--- .../generic/user/models/kyc/kyc.service.ts | 9 ++++++--- .../models/organization/organization.service.ts | 9 ++++++--- .../user-data/user-data-notification.service.ts | 9 ++++++--- .../user/models/user-data/user-data.service.ts | 8 +++++--- .../generic/user/models/user/user.service.ts | 9 ++++++--- .../webhook/webhook-notification.service.ts | 9 ++++++--- .../bank-tx-return/bank-tx-return.service.ts | 9 ++++++--- .../bank-tx/bank-tx/bank-tx.controller.ts | 9 ++++++--- .../bank-tx/bank-tx/services/bank-tx.service.ts | 9 ++++++--- .../bank-tx/services/sepa-parser.service.ts | 8 +++++--- .../supporting/dex/services/dex.service.ts | 9 ++++++--- .../impl/arbitrum-coin.strategy.ts | 9 +++++---- .../impl/arbitrum-token.strategy.ts | 9 +++++---- .../impl/base-coin.strategy.ts | 9 +++++---- .../impl/base-token.strategy.ts | 9 +++++---- .../impl/base/purchase-liquidity.strategy.ts | 4 ++-- .../purchase-liquidity/impl/bitcoin.strategy.ts | 9 +++++---- .../impl/bsc-coin.strategy.ts | 9 +++++---- .../impl/bsc-token.strategy.ts | 9 +++++---- .../impl/ethereum-coin.strategy.ts | 9 +++++---- .../impl/ethereum-token.strategy.ts | 9 +++++---- .../impl/gnosis-coin.strategy.ts | 9 +++++---- .../impl/gnosis-token.strategy.ts | 9 +++++---- .../impl/lightning.strategy.ts | 9 +++++---- .../purchase-liquidity/impl/monero.strategy.ts | 9 +++++---- .../impl/optimism-coin.strategy.ts | 9 +++++---- .../impl/optimism-token.strategy.ts | 9 +++++---- .../impl/polygon-coin.strategy.ts | 9 +++++---- .../impl/polygon-token.strategy.ts | 9 +++++---- .../impl/solana-coin.strategy.ts | 9 +++++---- .../impl/solana-token.strategy.ts | 9 +++++---- .../impl/arbitrum-coin.strategy.ts | 9 +++++---- .../impl/arbitrum-token.strategy.ts | 9 +++++---- .../sell-liquidity/impl/base-coin.strategy.ts | 9 +++++---- .../sell-liquidity/impl/base-token.strategy.ts | 9 +++++---- .../impl/base/sell-liquidity.strategy.ts | 4 ++-- .../sell-liquidity/impl/bitcoin.strategy.ts | 9 +++++---- .../sell-liquidity/impl/bsc-coin.strategy.ts | 9 +++++---- .../sell-liquidity/impl/bsc-token.strategy.ts | 9 +++++---- .../impl/ethereum-coin.strategy.ts | 9 +++++---- .../impl/ethereum-token.strategy.ts | 9 +++++---- .../sell-liquidity/impl/gnosis-coin.strategy.ts | 9 +++++---- .../impl/gnosis-token.strategy.ts | 9 +++++---- .../sell-liquidity/impl/monero.strategy.ts | 9 +++++---- .../impl/optimism-coin.strategy.ts | 9 +++++---- .../impl/optimism-token.strategy.ts | 9 +++++---- .../impl/polygon-coin.strategy.ts | 9 +++++---- .../impl/polygon-token.strategy.ts | 9 +++++---- .../sell-liquidity/impl/solana-coin.strategy.ts | 9 +++++---- .../impl/solana-token.strategy.ts | 9 +++++---- .../fiat-output/fiat-output.service.ts | 9 ++++++--- .../fiat-payin/services/checkout-tx.service.ts | 9 ++++++--- .../services/fiat-payin-sync.service.ts | 9 ++++++--- .../supporting/log/log-job.service.ts | 9 ++++++--- .../notification/services/mail.service.ts | 9 ++++++--- .../services/notification-job.service.ts | 9 ++++++--- .../services/notification.service.ts | 9 ++++++--- .../payin/services/payin-lightning.service.ts | 8 +++++--- .../services/payin-notification.service.ts | 9 ++++++--- .../supporting/payin/services/payin.service.ts | 9 ++++++--- .../register/impl/arbitrum.strategy.ts | 9 +++++---- .../strategies/register/impl/base.strategy.ts | 9 +++++---- .../register/impl/base/register.strategy.ts | 4 ++-- .../register/impl/bitcoin.strategy.ts | 9 +++++---- .../strategies/register/impl/bsc.strategy.ts | 9 +++++---- .../register/impl/ethereum.strategy.ts | 9 +++++---- .../strategies/register/impl/gnosis.strategy.ts | 9 +++++---- .../register/impl/lightning.strategy.ts | 9 +++++---- .../strategies/register/impl/monero.strategy.ts | 9 +++++---- .../register/impl/optimism.strategy.ts | 9 +++++---- .../register/impl/polygon.strategy.ts | 9 +++++---- .../strategies/register/impl/solana.strategy.ts | 9 +++++---- .../send/impl/arbitrum-coin.strategy.ts | 9 +++++---- .../send/impl/arbitrum-token.strategy.ts | 9 +++++---- .../strategies/send/impl/base-coin.strategy.ts | 11 ++++++----- .../strategies/send/impl/base-token.strategy.ts | 9 +++++---- .../send/impl/base/bitcoin-based.strategy.ts | 4 ++-- .../strategies/send/impl/base/evm.strategy.ts | 4 ++-- .../strategies/send/impl/base/send.strategy.ts | 4 ++-- .../send/impl/base/solana.strategy.ts | 2 +- .../strategies/send/impl/bitcoin.strategy.ts | 9 +++++---- .../strategies/send/impl/bsc-coin.strategy.ts | 9 +++++---- .../strategies/send/impl/bsc-token.strategy.ts | 9 +++++---- .../send/impl/ethereum-coin.strategy.ts | 9 +++++---- .../send/impl/ethereum-token.strategy.ts | 9 +++++---- .../send/impl/gnosis-coin.strategy.ts | 11 ++++++----- .../send/impl/gnosis-token.strategy.ts | 13 +++++-------- .../strategies/send/impl/lightning.strategy.ts | 9 +++++---- .../strategies/send/impl/monero.strategy.ts | 9 +++++---- .../send/impl/optimism-coin.strategy.ts | 9 +++++---- .../send/impl/optimism-token.strategy.ts | 9 +++++---- .../send/impl/polygon-coin.strategy.ts | 13 +++++-------- .../send/impl/polygon-token.strategy.ts | 13 +++++-------- .../send/impl/solana-coin.strategy.ts | 9 +++++---- .../send/impl/solana-token.strategy.ts | 9 +++++---- .../supporting/payment/services/fee.service.ts | 9 ++++++--- .../payment/services/transaction-helper.ts | 8 +++++--- .../transaction-notification.service.ts | 9 ++++++--- .../services/transaction-request.service.ts | 9 ++++++--- .../payout/services/payout-log.service.ts | 9 ++++++--- .../payout/services/payout.service.ts | 9 ++++++--- .../payout-bitcoin-based.strategy.spec.ts | 4 ++-- .../payout/impl/arbitrum-coin.strategy.ts | 9 +++++---- .../payout/impl/arbitrum-token.strategy.ts | 9 +++++---- .../payout/impl/base-coin.strategy.ts | 9 +++++---- .../payout/impl/base-token.strategy.ts | 9 +++++---- .../payout/impl/base/bitcoin-based.strategy.ts | 4 ++-- .../strategies/payout/impl/base/evm.strategy.ts | 4 ++-- .../payout/impl/base/solana.strategy.ts | 4 ++-- .../strategies/payout/impl/bitcoin.strategy.ts | 9 +++++---- .../strategies/payout/impl/bsc-coin.strategy.ts | 9 +++++---- .../payout/impl/bsc-token.strategy.ts | 9 +++++---- .../payout/impl/ethereum-coin.strategy.ts | 9 +++++---- .../payout/impl/ethereum-token.strategy.ts | 9 +++++---- .../payout/impl/gnosis-coin.strategy.ts | 9 +++++---- .../payout/impl/gnosis-token.strategy.ts | 9 +++++---- .../payout/impl/lightning.strategy.ts | 9 +++++---- .../strategies/payout/impl/monero.strategy.ts | 9 +++++---- .../payout/impl/optimism-coin.strategy.ts | 9 +++++---- .../payout/impl/optimism-token.strategy.ts | 9 +++++---- .../payout/impl/polygon-coin.strategy.ts | 9 +++++---- .../payout/impl/polygon-token.strategy.ts | 9 +++++---- .../payout/impl/solana-coin.strategy.ts | 9 +++++---- .../payout/impl/solana-token.strategy.ts | 9 +++++---- .../pricing/services/asset-prices.service.ts | 9 ++++++--- .../pricing/services/fiat-prices.service.ts | 9 ++++++--- .../services/integration/coin-gecko.service.ts | 8 +++++--- .../pricing/services/pricing.service.ts | 8 +++++--- .../limit-request-notification.service.ts | 9 ++++++--- .../services/limit-request.service.ts | 9 ++++++--- .../support-issue-notification.service.ts | 9 ++++++--- 241 files changed, 1188 insertions(+), 825 deletions(-) rename src/{shared/services => logger}/dfx-logger.service.ts (88%) create mode 100644 src/logger/logger.factory.ts create mode 100644 src/logger/logger.module.ts diff --git a/src/integration/alchemy/controllers/alchemy.controller.ts b/src/integration/alchemy/controllers/alchemy.controller.ts index e167722e5e..b17db259e8 100644 --- a/src/integration/alchemy/controllers/alchemy.controller.ts +++ b/src/integration/alchemy/controllers/alchemy.controller.ts @@ -13,10 +13,11 @@ import { import { AuthGuard } from '@nestjs/passport'; import { ApiBearerAuth, ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger'; import { Request } from 'express'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AlchemySyncTransactionsDto } from '../dto/alchemy-sync-transactions.dto'; import { AlchemyWebhookDto } from '../dto/alchemy-webhook.dto'; import { AlchemyWebhookService } from '../services/alchemy-webhook.service'; @@ -25,12 +26,14 @@ import { AlchemyService } from '../services/alchemy.service'; @ApiTags('Alchemy') @Controller('alchemy') export class AlchemyController { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly alchemyWebhookService: AlchemyWebhookService, private readonly alchemyService: AlchemyService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(AlchemyController); + this.logger = loggerFactory.create(AlchemyController); } @Post('addressWebhook') diff --git a/src/integration/alchemy/services/alchemy-webhook.service.ts b/src/integration/alchemy/services/alchemy-webhook.service.ts index d4f8a216c4..f3c0582a6e 100644 --- a/src/integration/alchemy/services/alchemy-webhook.service.ts +++ b/src/integration/alchemy/services/alchemy-webhook.service.ts @@ -10,7 +10,8 @@ import { } from 'alchemy-sdk'; import { Observable, Subject, filter } from 'rxjs'; import { Config, GetConfig } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Util } from 'src/shared/utils/util'; import { AlchemyNetworkMapper } from '../alchemy-network-mapper'; import { CreateWebhookDto } from '../dto/alchemy-create-webhook.dto'; @@ -18,14 +19,15 @@ import { AlchemyWebhookDto } from '../dto/alchemy-webhook.dto'; @Injectable() export class AlchemyWebhookService implements OnModuleInit { + private readonly logger: DfxLogger; private readonly alchemy: Alchemy; private readonly webhookCache: Map; private readonly addressWebhookSubject: Subject; - constructor(private readonly logger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { const config = GetConfig(); - this.logger.create(AlchemyWebhookService); + this.logger = loggerFactory.create(AlchemyWebhookService); const settings = { apiKey: config.alchemy.apiKey, diff --git a/src/integration/bank/services/olkypay.service.ts b/src/integration/bank/services/olkypay.service.ts index 8fb5d8a82b..845edddcce 100644 --- a/src/integration/bank/services/olkypay.service.ts +++ b/src/integration/bank/services/olkypay.service.ts @@ -2,7 +2,8 @@ import { Injectable } from '@nestjs/common'; import { Method } from 'axios'; import { stringify } from 'qs'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BankTx, BankTxIndicator, BankTxType } from 'src/subdomains/supporting/bank-tx/bank-tx/entities/bank-tx.entity'; @@ -43,13 +44,14 @@ enum TransactionType { @Injectable() export class OlkypayService { + private readonly logger: DfxLogger; private readonly baseUrl = 'https://ws.olkypay.com/reporting'; private readonly loginUrl = 'https://stp.olkypay.com/auth/realms/b2b/protocol/openid-connect/token'; private accessToken = 'access-token-will-be-updated'; - constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { - this.logger.create(OlkypayService); + constructor(private readonly http: HttpService, readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(OlkypayService); } async getOlkyTransactions(lastModificationTime: string, accountIban: string): Promise[]> { diff --git a/src/integration/bank/services/revolut.service.ts b/src/integration/bank/services/revolut.service.ts index dd857a0d21..99e44497b2 100644 --- a/src/integration/bank/services/revolut.service.ts +++ b/src/integration/bank/services/revolut.service.ts @@ -2,7 +2,8 @@ import { Injectable } from '@nestjs/common'; import { Method } from 'axios'; import { stringify } from 'qs'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BankTx, BankTxIndicator } from 'src/subdomains/supporting/bank-tx/bank-tx/entities/bank-tx.entity'; @@ -96,13 +97,14 @@ enum TransactionType { @Injectable() export class RevolutService { + private readonly logger: DfxLogger; private readonly baseUrl = 'https://b2b.revolut.com/api/1.0'; private readonly loginUrl = 'https://b2b.revolut.com/api/1.0/auth/token'; private accessToken = 'access-token-will-be-updated'; - constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { - this.logger.create(RevolutService); + constructor(private readonly http: HttpService, readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(RevolutService); } async getRevolutTransactions(lastModificationTime: string, accountIban: string): Promise[]> { diff --git a/src/integration/blockchain/arbitrum/arbitrum-client.ts b/src/integration/blockchain/arbitrum/arbitrum-client.ts index 95d1706d7e..135f15d01e 100644 --- a/src/integration/blockchain/arbitrum/arbitrum-client.ts +++ b/src/integration/blockchain/arbitrum/arbitrum-client.ts @@ -13,8 +13,8 @@ import { } from '@arbitrum/sdk/dist/lib/message/L1Transaction'; import { Contract, ethers } from 'ethers'; import { GetConfig } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import ERC20_ABI from '../shared/evm/abi/erc20.abi.json'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; @@ -22,7 +22,7 @@ import { EvmUtil } from '../shared/evm/evm.util'; import { L2BridgeEvmClient } from '../shared/evm/interfaces'; export class ArbitrumClient extends EvmClient implements L2BridgeEvmClient { - private logger: DfxLoggerService; + private logger: DfxLogger; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -31,8 +31,7 @@ export class ArbitrumClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); - this.logger = params.logger; - this.logger.create(ArbitrumClient); + this.logger = params.loggerFactory.create(ArbitrumClient); const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey } = GetConfig().blockchain.ethereum; const ethereumGateway = `${ethGatewayUrl}/${ethApiKey ?? ''}`; diff --git a/src/integration/blockchain/arbitrum/arbitrum.service.ts b/src/integration/blockchain/arbitrum/arbitrum.service.ts index a83b868974..a09c27de47 100644 --- a/src/integration/blockchain/arbitrum/arbitrum.service.ts +++ b/src/integration/blockchain/arbitrum/arbitrum.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { ArbitrumClient } from './arbitrum-client'; @Injectable() export class ArbitrumService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { arbitrumGatewayUrl, arbitrumApiKey, @@ -25,7 +25,7 @@ export class ArbitrumService extends EvmService { apiKey: arbitrumApiKey, walletPrivateKey: arbitrumWalletPrivateKey, chainId: arbitrumChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/base/base-client.ts b/src/integration/blockchain/base/base-client.ts index 0712d68959..7faae4f933 100644 --- a/src/integration/blockchain/base/base-client.ts +++ b/src/integration/blockchain/base/base-client.ts @@ -1,8 +1,8 @@ import { CrossChainMessenger, L2Provider, MessageStatus, asL2Provider, estimateTotalGasCost } from '@eth-optimism/sdk'; import { BigNumber, ethers } from 'ethers'; import { GetConfig } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; import { EvmUtil } from '../shared/evm/evm.util'; @@ -16,7 +16,7 @@ interface BaseTransactionReceipt extends ethers.providers.TransactionReceipt { } export class BaseClient extends EvmClient implements L2BridgeEvmClient { - private readonly logger: DfxLoggerService; + private readonly logger: DfxLogger; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -26,7 +26,7 @@ export class BaseClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); - this.logger = params.logger; + this.logger = params.loggerFactory.create(BaseClient); const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey, ethChainId } = GetConfig().blockchain.ethereum; const { baseChainId } = GetConfig().blockchain.base; diff --git a/src/integration/blockchain/base/base.service.ts b/src/integration/blockchain/base/base.service.ts index 51a27a8518..36a54a7494 100644 --- a/src/integration/blockchain/base/base.service.ts +++ b/src/integration/blockchain/base/base.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { BaseClient } from './base-client'; @Injectable() export class BaseService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { baseGatewayUrl, baseApiKey, @@ -26,7 +26,7 @@ export class BaseService extends EvmService { apiKey: baseApiKey, walletPrivateKey: baseWalletPrivateKey, chainId: baseChainId, - logger, + loggerFactory, swapContractAddress, swapFactoryAddress, quoteContractAddress, diff --git a/src/integration/blockchain/bitcoin/bitcoin.module.ts b/src/integration/blockchain/bitcoin/bitcoin.module.ts index 0dcd1d0498..d4f91523ef 100644 --- a/src/integration/blockchain/bitcoin/bitcoin.module.ts +++ b/src/integration/blockchain/bitcoin/bitcoin.module.ts @@ -1,11 +1,12 @@ import { Module } from '@nestjs/common'; +import { LoggerModule } from 'src/logger/logger.module'; import { SharedModule } from 'src/shared/shared.module'; import { BitcoinService } from './node/bitcoin.service'; import { NodeController } from './node/node.controller'; import { BitcoinFeeService } from './services/bitcoin-fee.service'; @Module({ - imports: [SharedModule], + imports: [SharedModule, LoggerModule], providers: [BitcoinService, BitcoinFeeService], exports: [BitcoinService, BitcoinFeeService], controllers: [NodeController], diff --git a/src/integration/blockchain/bitcoin/node/bitcoin-client.ts b/src/integration/blockchain/bitcoin/node/bitcoin-client.ts index b315668e3d..0300e6dc9d 100644 --- a/src/integration/blockchain/bitcoin/node/bitcoin-client.ts +++ b/src/integration/blockchain/bitcoin/node/bitcoin-client.ts @@ -1,7 +1,8 @@ import { Currency } from '@uniswap/sdk-core'; import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { BlockchainTokenBalance } from '../../shared/dto/blockchain-token-balance.dto'; import { BitcoinSignedTransactionResponse } from '../../shared/dto/signed-transaction-reponse.dto'; @@ -31,12 +32,12 @@ type AddressInfoInnerArray = AddressInfoArray[]; type AddressInfoArray = [string, number, string]; export class BitcoinClient extends NodeClient { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, http: HttpService, url: string) { + constructor(readonly loggerFactory: LoggerFactory, http: HttpService, url: string) { super(http, url); - this.logger = this.dfxLogger.create(BitcoinClient); + this.logger = this.loggerFactory.create(BitcoinClient); } async send( diff --git a/src/integration/blockchain/bitcoin/node/bitcoin.service.ts b/src/integration/blockchain/bitcoin/node/bitcoin.service.ts index 7f3c05226f..f7fcc23c6a 100644 --- a/src/integration/blockchain/bitcoin/node/bitcoin.service.ts +++ b/src/integration/blockchain/bitcoin/node/bitcoin.service.ts @@ -1,7 +1,7 @@ import { BlockchainInfo } from '@defichain/jellyfish-api-core/dist/category/blockchain'; import { BadRequestException, Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { BlockchainService } from '../../shared/util/blockchain.service'; @@ -25,11 +25,12 @@ interface BitcoinCheckResult { @Injectable() export class BitcoinService extends BlockchainService { private readonly allNodes: Map = new Map(); + private readonly loggerFactory: LoggerFactory; - constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { + constructor(private readonly http: HttpService, readonly loggerFactory2: LoggerFactory) { super(); - this.logger.create(BitcoinService); + this.loggerFactory = loggerFactory2; this.initAllNodes(); } @@ -75,7 +76,7 @@ export class BitcoinService extends BlockchainService { } private createNodeClient(url: string | undefined): BitcoinClient | null { - return url ? new BitcoinClient(this.logger, this.http, url) : null; + return url ? new BitcoinClient(this.loggerFactory, this.http, url) : null; } // --- HELPER METHODS --- // diff --git a/src/integration/blockchain/bitcoin/node/node-client.ts b/src/integration/blockchain/bitcoin/node/node-client.ts index 1723edd9d6..397dd988d7 100644 --- a/src/integration/blockchain/bitcoin/node/node-client.ts +++ b/src/integration/blockchain/bitcoin/node/node-client.ts @@ -4,7 +4,7 @@ import { AddressType, InWalletTransaction, UTXO } from '@defichain/jellyfish-api import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc'; import { ServiceUnavailableException } from '@nestjs/common'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; @@ -20,7 +20,7 @@ export enum NodeCommand { } export abstract class NodeClient extends BlockchainClient { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; protected chain = Config.network; private readonly client: ApiClient; private readonly queue: QueueHandler; diff --git a/src/integration/blockchain/bsc/bsc.service.ts b/src/integration/blockchain/bsc/bsc.service.ts index bc2d9a1672..38d406f311 100644 --- a/src/integration/blockchain/bsc/bsc.service.ts +++ b/src/integration/blockchain/bsc/bsc.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { BscClient } from './bsc-client'; @Injectable() export class BscService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { bscGatewayUrl, bscApiKey, bscWalletPrivateKey, bscChainId, swapContractAddress, quoteContractAddress } = GetConfig().blockchain.bsc; @@ -19,7 +19,7 @@ export class BscService extends EvmService { apiKey: bscApiKey, walletPrivateKey: bscWalletPrivateKey, chainId: bscChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/deuro/deuro.service.ts b/src/integration/blockchain/deuro/deuro.service.ts index c2dd96191b..81a1326e66 100644 --- a/src/integration/blockchain/deuro/deuro.service.ts +++ b/src/integration/blockchain/deuro/deuro.service.ts @@ -2,9 +2,10 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { CronExpression } from '@nestjs/schedule'; import { Contract } from 'ethers'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -34,7 +35,7 @@ export class DEuroService extends FrankencoinBasedService implements OnModuleIni private static readonly LOG_SYSTEM = 'EvmInformation'; private static readonly LOG_SUBSYSTEM = 'DEuroSmartContract'; - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; private usd: Fiat; private eur: Fiat; @@ -45,14 +46,14 @@ export class DEuroService extends FrankencoinBasedService implements OnModuleIni private frankencoinService: FrankencoinService; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly moduleRef: ModuleRef, private readonly logService: LogService, private readonly fiatService: FiatService, ) { super(); - this.logger = this.dfxLogger.create(DEuroService); + this.logger = this.loggerFactory.create(DEuroService); } async onModuleInit() { diff --git a/src/integration/blockchain/ebel2x/ebel2x.service.ts b/src/integration/blockchain/ebel2x/ebel2x.service.ts index 98ce48792e..3d278dcd3d 100644 --- a/src/integration/blockchain/ebel2x/ebel2x.service.ts +++ b/src/integration/blockchain/ebel2x/ebel2x.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { EvmUtil } from '../shared/evm/evm.util'; @@ -9,7 +9,7 @@ import { Ebel2xClient } from './ebel2x-client'; @Injectable() export class Ebel2xService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { arbitrumGatewayUrl, arbitrumApiKey, @@ -26,7 +26,7 @@ export class Ebel2xService extends EvmService { apiKey: arbitrumApiKey, walletPrivateKey: arbitrumWalletPrivateKey, chainId: arbitrumChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/ethereum/ethereum.service.ts b/src/integration/blockchain/ethereum/ethereum.service.ts index ca26ef1f1d..99288eed04 100644 --- a/src/integration/blockchain/ethereum/ethereum.service.ts +++ b/src/integration/blockchain/ethereum/ethereum.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { EthereumClient } from './ethereum-client'; @Injectable() export class EthereumService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey, ethChainId, swapContractAddress, quoteContractAddress } = GetConfig().blockchain.ethereum; @@ -19,7 +19,7 @@ export class EthereumService extends EvmService { apiKey: ethApiKey, walletPrivateKey: ethWalletPrivateKey, chainId: ethChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/frankencoin/frankencoin.service.ts b/src/integration/blockchain/frankencoin/frankencoin.service.ts index a21a178207..55b598d723 100644 --- a/src/integration/blockchain/frankencoin/frankencoin.service.ts +++ b/src/integration/blockchain/frankencoin/frankencoin.service.ts @@ -3,9 +3,10 @@ import { ModuleRef } from '@nestjs/core'; import { CronExpression } from '@nestjs/schedule'; import { Contract } from 'ethers'; import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { CreateLogDto } from 'src/subdomains/supporting/log/dto/create-log.dto'; @@ -35,7 +36,7 @@ export class FrankencoinService extends FrankencoinBasedService implements OnMod private static readonly LOG_SYSTEM = 'EvmInformation'; private static readonly LOG_SUBSYSTEM = 'FrankencoinSmartContract'; - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; private usd: Fiat; private chf: Fiat; @@ -43,14 +44,14 @@ export class FrankencoinService extends FrankencoinBasedService implements OnMod private frankencoinClient: FrankencoinClient; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly moduleRef: ModuleRef, private readonly logService: LogService, private readonly fiatService: FiatService, ) { super(); - this.logger = this.dfxLogger.create(FrankencoinService); + this.logger = this.loggerFactory.create(FrankencoinService); } async onModuleInit() { diff --git a/src/integration/blockchain/gnosis/gnosis.service.ts b/src/integration/blockchain/gnosis/gnosis.service.ts index 5fbd7cac6a..24ef93f914 100644 --- a/src/integration/blockchain/gnosis/gnosis.service.ts +++ b/src/integration/blockchain/gnosis/gnosis.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { GnosisClient } from './gnosis-client'; @Injectable() export class GnosisService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { gnosisGatewayUrl, gnosisApiKey, @@ -25,7 +25,7 @@ export class GnosisService extends EvmService { apiKey: gnosisApiKey, walletPrivateKey: gnosisWalletPrivateKey, chainId: gnosisChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/optimism/optimism-client.ts b/src/integration/blockchain/optimism/optimism-client.ts index 03a533f09b..024a679bd0 100644 --- a/src/integration/blockchain/optimism/optimism-client.ts +++ b/src/integration/blockchain/optimism/optimism-client.ts @@ -1,8 +1,8 @@ import { CrossChainMessenger, L2Provider, MessageStatus, asL2Provider, estimateTotalGasCost } from '@eth-optimism/sdk'; import { BigNumber, ethers } from 'ethers'; import { GetConfig } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; import { EvmUtil } from '../shared/evm/evm.util'; @@ -16,7 +16,7 @@ interface OptimismTransactionReceipt extends ethers.providers.TransactionReceipt } export class OptimismClient extends EvmClient implements L2BridgeEvmClient { - private logger: DfxLoggerService; + private logger: DfxLogger; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -26,8 +26,7 @@ export class OptimismClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); - this.logger = params.logger; - this.logger.create(OptimismClient); + this.logger = params.loggerFactory.create(OptimismClient); const { ethGatewayUrl, ethApiKey, ethWalletPrivateKey, ethChainId } = GetConfig().blockchain.ethereum; const { optimismChainId } = GetConfig().blockchain.optimism; diff --git a/src/integration/blockchain/optimism/optimism.service.ts b/src/integration/blockchain/optimism/optimism.service.ts index efe79ec40f..ae515a08d1 100644 --- a/src/integration/blockchain/optimism/optimism.service.ts +++ b/src/integration/blockchain/optimism/optimism.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { OptimismClient } from './optimism-client'; @Injectable() export class OptimismService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { optimismGatewayUrl, optimismApiKey, @@ -25,7 +25,7 @@ export class OptimismService extends EvmService { apiKey: optimismApiKey, walletPrivateKey: optimismWalletPrivateKey, chainId: optimismChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/polygon/polygon-client.ts b/src/integration/blockchain/polygon/polygon-client.ts index 89cd37ffaf..7b0c72c351 100644 --- a/src/integration/blockchain/polygon/polygon-client.ts +++ b/src/integration/blockchain/polygon/polygon-client.ts @@ -2,8 +2,8 @@ import { POSClient, setProofApi, use } from '@maticnetwork/maticjs'; import { Web3ClientPlugin } from '@maticnetwork/maticjs-ethers'; import { Contract, ethers } from 'ethers'; import { Config, GetConfig } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import ERC20_ABI from '../shared/evm/abi/erc20.abi.json'; import { EvmClient, EvmClientParams } from '../shared/evm/evm-client'; @@ -11,7 +11,7 @@ import { EvmUtil } from '../shared/evm/evm.util'; import { L2BridgeEvmClient } from '../shared/evm/interfaces'; export class PolygonClient extends EvmClient implements L2BridgeEvmClient { - private logger: DfxLoggerService; + private logger: DfxLogger; private readonly l1Provider: ethers.providers.JsonRpcProvider; private readonly l1Wallet: ethers.Wallet; @@ -22,8 +22,7 @@ export class PolygonClient extends EvmClient implements L2BridgeEvmClient { constructor(params: EvmClientParams) { super(params); - this.logger = params.logger; - this.logger.create(PolygonClient); + this.logger = params.loggerFactory.create(PolygonClient); use(Web3ClientPlugin); setProofApi('https://proof-generator.polygon.technology/'); diff --git a/src/integration/blockchain/polygon/polygon.service.ts b/src/integration/blockchain/polygon/polygon.service.ts index 44433ec341..ee151eea1c 100644 --- a/src/integration/blockchain/polygon/polygon.service.ts +++ b/src/integration/blockchain/polygon/polygon.service.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { GetConfig } from 'src/config/config'; import { AlchemyService } from 'src/integration/alchemy/services/alchemy.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { EvmService } from '../shared/evm/evm.service'; import { PolygonClient } from './polygon-client'; @Injectable() export class PolygonService extends EvmService { - constructor(http: HttpService, alchemyService: AlchemyService, logger: DfxLoggerService) { + constructor(http: HttpService, alchemyService: AlchemyService, loggerFactory: LoggerFactory) { const { polygonGatewayUrl, polygonApiKey, @@ -25,7 +25,7 @@ export class PolygonService extends EvmService { apiKey: polygonApiKey, walletPrivateKey: polygonWalletPrivateKey, chainId: polygonChainId, - logger, + loggerFactory, swapContractAddress, quoteContractAddress, }); diff --git a/src/integration/blockchain/shared/evm/evm-client.ts b/src/integration/blockchain/shared/evm/evm-client.ts index 48683096e5..f9bc62e7e3 100644 --- a/src/integration/blockchain/shared/evm/evm-client.ts +++ b/src/integration/blockchain/shared/evm/evm-client.ts @@ -11,8 +11,8 @@ import { AlchemyService, AssetTransfersParams } from 'src/integration/alchemy/se import ERC20_ABI from 'src/integration/blockchain/shared/evm/abi/erc20.abi.json'; import SIGNATURE_TRANSFER_ABI from 'src/integration/blockchain/shared/evm/abi/signature-transfer.abi.json'; import UNISWAP_V3_NFT_MANAGER_ABI from 'src/integration/blockchain/shared/evm/abi/uniswap-v3-nft-manager.abi.json'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { AsyncCache } from 'src/shared/utils/async-cache'; import { Util } from 'src/shared/utils/util'; @@ -30,7 +30,7 @@ export interface EvmClientParams { apiKey: string; walletPrivateKey: string; chainId: ChainId; - logger: DfxLoggerService; + loggerFactory: LoggerFactory; swapContractAddress?: string; quoteContractAddress?: string; swapFactoryAddress?: string; diff --git a/src/integration/blockchain/shared/evm/evm-decimals.service.ts b/src/integration/blockchain/shared/evm/evm-decimals.service.ts index cb9179632e..22fbe991ee 100644 --- a/src/integration/blockchain/shared/evm/evm-decimals.service.ts +++ b/src/integration/blockchain/shared/evm/evm-decimals.service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { In, IsNull, Not } from 'typeorm'; @@ -11,12 +12,14 @@ import { BlockchainRegistryService } from '../services/blockchain-registry.servi @Injectable() export class EvmDecimalsService { + private readonly logger: DfxLogger; + constructor( private readonly repoFactory: RepositoryFactory, private readonly blockchainRegistry: BlockchainRegistryService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(EvmDecimalsService); + this.logger = loggerFactory.create(EvmDecimalsService); } // --- JOBS --- // diff --git a/src/integration/blockchain/shared/evm/evm-gas-price.service.ts b/src/integration/blockchain/shared/evm/evm-gas-price.service.ts index 623efb8b94..e4d861a0e6 100644 --- a/src/integration/blockchain/shared/evm/evm-gas-price.service.ts +++ b/src/integration/blockchain/shared/evm/evm-gas-price.service.ts @@ -1,6 +1,7 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -14,8 +15,9 @@ interface EvmGasPriceCacheData { @Injectable() export class EvmGasPriceService implements OnModuleInit { - private static readonly MINUTES_5 = 5 * 60; + private readonly logger: DfxLogger; + private static readonly MINUTES_5 = 5 * 60; private static readonly GAS_PRICE_BLOCKCHAINS: Blockchain[] = [ Blockchain.ETHEREUM, Blockchain.ARBITRUM, @@ -29,10 +31,10 @@ export class EvmGasPriceService implements OnModuleInit { constructor( private readonly blockchainRegistryService: BlockchainRegistryService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { this.gasPriceCache = new Map(); - this.logger.create(EvmGasPriceService); + this.logger = loggerFactory.create(EvmGasPriceService); } async onModuleInit() { diff --git a/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts b/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts index dad581f629..c9daa7955e 100644 --- a/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts +++ b/src/integration/blockchain/shared/frankencoin/frankencoin-based.service.ts @@ -1,7 +1,7 @@ import { Contract } from 'ethers'; import { groupBy, sumBy } from 'lodash'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Price } from 'src/subdomains/supporting/pricing/domain/entities/price'; import { PriceSource } from 'src/subdomains/supporting/pricing/domain/entities/price-rule.entity'; import { PricingService } from 'src/subdomains/supporting/pricing/services/pricing.service'; @@ -13,7 +13,7 @@ import { BlockchainRegistryService } from '../services/blockchain-registry.servi import { FrankencoinBasedCollateralDto } from './frankencoin-based.dto'; export abstract class FrankencoinBasedService { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; private pricingService: PricingService; private registryService: BlockchainRegistryService; diff --git a/src/integration/c2b-payment-link/services/binance-pay.service.ts b/src/integration/c2b-payment-link/services/binance-pay.service.ts index 745e03edea..48c2d94256 100644 --- a/src/integration/c2b-payment-link/services/binance-pay.service.ts +++ b/src/integration/c2b-payment-link/services/binance-pay.service.ts @@ -1,7 +1,8 @@ import { BadRequestException, Injectable, ServiceUnavailableException } from '@nestjs/common'; import * as crypto from 'crypto'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { TransferInfo } from 'src/subdomains/core/payment-link/dto/payment-link.dto'; @@ -31,6 +32,7 @@ import { C2BPaymentStatus } from '../share/PaymentStatus'; @Injectable() export class BinancePayService implements IPaymentLinkProvider { + private readonly logger: DfxLogger; private readonly baseUrl = 'https://bpay.binanceapi.com'; private readonly apiKey: string; private readonly secretKey: string; @@ -43,11 +45,11 @@ export class BinancePayService implements IPaymentLinkProvider { const req = context.switchToHttp().getRequest(); diff --git a/src/shared/filters/exception.filter.ts b/src/shared/filters/exception.filter.ts index 9f97fa1620..670e80da20 100644 --- a/src/shared/filters/exception.filter.ts +++ b/src/shared/filters/exception.filter.ts @@ -1,9 +1,9 @@ import { ArgumentsHost, Catch, ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common'; -import { DfxLoggerService } from '../services/dfx-logger.service'; +import { DfxLogger } from '../../logger/dfx-logger.service'; @Catch() export class ApiExceptionFilter implements ExceptionFilter { - private readonly logger = new DfxLoggerService().create(ApiExceptionFilter); + private readonly logger = new DfxLogger(ApiExceptionFilter); catch(exception: Error, host: ArgumentsHost) { const ctx = host.switchToHttp(); diff --git a/src/shared/services/dfx-cron.service.ts b/src/shared/services/dfx-cron.service.ts index 8f12262f2e..76977d708c 100644 --- a/src/shared/services/dfx-cron.service.ts +++ b/src/shared/services/dfx-cron.service.ts @@ -3,12 +3,13 @@ import { DiscoveryService, MetadataScanner } from '@nestjs/core'; import { CronExpression, SchedulerRegistry } from '@nestjs/schedule'; import { CronJob } from 'cron'; import { Config } from 'src/config/config'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DisabledProcess } from 'src/shared/services/process.service'; import { DFX_CRONJOB_PARAMS, DfxCronExpression, DfxCronParams } from 'src/shared/utils/cron'; import { LockClass } from 'src/shared/utils/lock'; import { Util } from 'src/shared/utils/util'; +import { DfxLogger } from '../../logger/dfx-logger.service'; import { CustomCronExpression } from '../utils/custom-cron-expression'; -import { DfxLoggerService } from './dfx-logger.service'; interface CronJobData { instance: object; @@ -19,11 +20,13 @@ interface CronJobData { @Injectable() export class DfxCronService implements OnModuleInit { + private readonly logger: DfxLogger; + constructor( private readonly discovery: DiscoveryService, private readonly metadataScanner: MetadataScanner, private readonly schedulerRegistry: SchedulerRegistry, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) {} onModuleInit() { diff --git a/src/shared/shared.module.ts b/src/shared/shared.module.ts index 5159186dbb..bd4383aab8 100644 --- a/src/shared/shared.module.ts +++ b/src/shared/shared.module.ts @@ -37,7 +37,6 @@ import { SettingRepository } from './models/setting/setting.repository'; import { SettingService } from './models/setting/setting.service'; import { RepositoryFactory } from './repositories/repository.factory'; import { DfxCronService } from './services/dfx-cron.service'; -import { DfxLoggerService } from './services/dfx-logger.service'; import { HttpService } from './services/http.service'; import { PaymentInfoService } from './services/payment-info.service'; import { ProcessService } from './services/process.service'; @@ -76,7 +75,6 @@ import { ProcessService } from './services/process.service'; IpLogService, ProcessService, DfxCronService, - DfxLoggerService, ], exports: [ RepositoryFactory, @@ -93,7 +91,6 @@ import { ProcessService } from './services/process.service'; PaymentInfoService, IpLogService, ProcessService, - DfxLoggerService, ], }) export class SharedModule {} diff --git a/src/shared/utils/lock.ts b/src/shared/utils/lock.ts index 88a10057cc..0ac56bd368 100644 --- a/src/shared/utils/lock.ts +++ b/src/shared/utils/lock.ts @@ -1,4 +1,4 @@ -import { DfxLoggerService } from '../services/dfx-logger.service'; +import { DfxLogger } from '../../logger/dfx-logger.service'; export interface Context { target: string; @@ -21,7 +21,7 @@ export class LockClass { try { await task(); } catch (e) { - context && new DfxLoggerService().create(context.target).error(`Error during ${context.method}:`, e); + context && new DfxLogger(context.target).error(`Error during ${context.method}:`, e); } finally { this.release(); } diff --git a/src/subdomains/core/aml/services/aml.service.ts b/src/subdomains/core/aml/services/aml.service.ts index facdfee146..2d9f78130c 100644 --- a/src/subdomains/core/aml/services/aml.service.ts +++ b/src/subdomains/core/aml/services/aml.service.ts @@ -1,8 +1,9 @@ import { Inject, Injectable, forwardRef } from '@nestjs/common'; import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Country } from 'src/shared/models/country/country.entity'; import { CountryService } from 'src/shared/models/country/country.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { NameCheckService } from 'src/subdomains/generic/kyc/services/name-check.service'; import { AccountMergeService } from 'src/subdomains/generic/user/models/account-merge/account-merge.service'; @@ -25,8 +26,10 @@ import { CheckStatus } from '../enums/check-status.enum'; @Injectable() export class AmlService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly specialExternalBankAccountService: SpecialExternalAccountService, private readonly bankDataService: BankDataService, private readonly bankService: BankService, @@ -38,7 +41,7 @@ export class AmlService { private readonly userService: UserService, private readonly transactionService: TransactionService, ) { - this.logger.create(AmlService); + this.logger = loggerFactory.create(AmlService); } async postProcessing( diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts index 7c7700db3b..0ae5023dd0 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-batch.service.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityManagementPipelineStatus, @@ -31,8 +32,10 @@ import { BuyCryptoPricingService } from './buy-crypto-pricing.service'; @Injectable() export class BuyCryptoBatchService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoBatchRepo: BuyCryptoBatchRepository, private readonly pricingService: PricingService, @@ -44,7 +47,7 @@ export class BuyCryptoBatchService { private readonly liquidityService: LiquidityManagementService, private readonly feeService: FeeService, ) { - this.logger.create(BuyCryptoBatchService); + this.logger = loggerFactory.create(BuyCryptoBatchService); } async batchAndOptimizeTransactions(): Promise { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts index 0243b8f09e..4c3ed1d1cf 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-dex.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { LiquidityOrderNotReadyException } from 'src/subdomains/supporting/dex/exceptions/liquidity-order-not-ready.exception'; import { NotEnoughLiquidityException } from 'src/subdomains/supporting/dex/exceptions/not-enough-liquidity.exception'; @@ -15,15 +16,17 @@ import { BuyCryptoPricingService } from './buy-crypto-pricing.service'; @Injectable() export class BuyCryptoDexService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoBatchRepo: BuyCryptoBatchRepository, private readonly buyCryptoNotificationService: BuyCryptoNotificationService, private readonly dexService: DexService, private readonly buyCryptoPricingService: BuyCryptoPricingService, ) { - this.logger.create(BuyCryptoDexService); + this.logger = loggerFactory.create(BuyCryptoDexService); } async secureLiquidity(): Promise { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts index 577bef5cc3..b8634ffb15 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-notification.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { @@ -17,12 +18,14 @@ import { BuyCryptoRepository } from '../repositories/buy-crypto.repository'; @Injectable() export class BuyCryptoNotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly notificationService: NotificationService, ) { - this.logger.create(BuyCryptoNotificationService); + this.logger = loggerFactory.create(BuyCryptoNotificationService); } async sendNotificationMails(): Promise { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts index eeb40ec251..64f7f81c6b 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-out.service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { TransactionStatus } from 'src/integration/sift/dto/sift.dto'; import { SiftService } from 'src/integration/sift/services/sift.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { CustodyOrderInputTypes, CustodyOrderStatus } from 'src/subdomains/core/custody/enums/custody'; import { CustodyOrderService } from 'src/subdomains/core/custody/services/custody-order.service'; @@ -23,6 +24,8 @@ import { BuyCryptoWebhookService } from './buy-crypto-webhook.service'; @Injectable() export class BuyCryptoOutService { + private readonly logger: DfxLogger; + constructor( private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoBatchRepo: BuyCryptoBatchRepository, @@ -35,9 +38,9 @@ export class BuyCryptoOutService { private readonly pricingService: PricingService, private readonly fiatService: FiatService, private readonly custodyOrderService: CustodyOrderService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(BuyCryptoOutService); + this.logger = loggerFactory.create(BuyCryptoOutService); } async payoutTransactions(): Promise { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts index 0ad68e0c5f..f8bbf2c5df 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-preparation.service.ts @@ -2,12 +2,13 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { TransactionStatus } from 'src/integration/sift/dto/sift.dto'; import { SiftService } from 'src/integration/sift/services/sift.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Active, isAsset, isFiat } from 'src/shared/models/active'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { CountryService } from 'src/shared/models/country/country.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { AmlReason } from 'src/subdomains/core/aml/enums/aml-reason.enum'; import { AmlService } from 'src/subdomains/core/aml/services/aml.service'; @@ -30,6 +31,7 @@ import { BuyCryptoService } from './buy-crypto.service'; @Injectable() export class BuyCryptoPreparationService implements OnModuleInit { + private readonly logger: DfxLogger; private chf: Fiat; private eur: Fiat; @@ -46,9 +48,9 @@ export class BuyCryptoPreparationService implements OnModuleInit { private readonly buyCryptoWebhookService: BuyCryptoWebhookService, private readonly buyCryptoNotificationService: BuyCryptoNotificationService, private readonly bankTxService: BankTxService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - logger.create(BuyCryptoPreparationService); + this.logger = loggerFactory.create(BuyCryptoPreparationService); } onModuleInit() { diff --git a/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts b/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts index 3541188cde..7c866ab208 100644 --- a/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts +++ b/src/subdomains/core/buy-crypto/process/services/buy-crypto-registration.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Swap } from 'src/subdomains/core/buy-crypto/routes/swap/swap.entity'; import { SwapRepository } from 'src/subdomains/core/buy-crypto/routes/swap/swap.repository'; import { CryptoInput, PayInPurpose, PayInStatus } from 'src/subdomains/supporting/payin/entities/crypto-input.entity'; @@ -11,15 +12,17 @@ import { BuyCryptoService } from './buy-crypto.service'; @Injectable() export class BuyCryptoRegistrationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly buyCryptoRepo: BuyCryptoRepository, private readonly buyCryptoService: BuyCryptoService, private readonly swapRepository: SwapRepository, private readonly payInService: PayInService, private readonly transactionHelper: TransactionHelper, ) { - this.logger.create(BuyCryptoRegistrationService); + this.logger = loggerFactory.create(BuyCryptoRegistrationService); } async syncReturnTxId(): Promise { diff --git a/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts b/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts index d8f73e35d3..463f66f329 100644 --- a/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts +++ b/src/subdomains/core/buy-crypto/routes/swap/swap.service.ts @@ -10,9 +10,10 @@ import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetDtoMapper } from 'src/shared/models/asset/dto/asset-dto.mapper'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { BuyCryptoExtended } from 'src/subdomains/core/history/mappers/transaction-dto.mapper'; @@ -43,8 +44,10 @@ import { SwapRepository } from './swap.repository'; @Injectable() export class SwapService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly swapRepo: SwapRepository, private readonly userService: UserService, private readonly depositService: DepositService, @@ -62,7 +65,7 @@ export class SwapService { private readonly cryptoService: CryptoService, private readonly transactionRequestService: TransactionRequestService, ) { - this.logger.create(SwapService); + this.logger = loggerFactory.create(SwapService); } async getSwapByAddress(depositAddress: string): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts index 649d844396..949b39746c 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/base/ccxt-exchange.adapter.ts @@ -3,7 +3,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { TradeChangedException } from 'src/integration/exchange/exceptions/trade-changed.exception'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; import { ExchangeService } from 'src/integration/exchange/services/exchange.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityManagementOrder } from '../../../entities/liquidity-management-order.entity'; @@ -27,7 +27,7 @@ export enum CcxtExchangeAdapterCommands { } export abstract class CcxtExchangeAdapter extends LiquidityActionAdapter { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; protected commands = new Map(); diff --git a/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts index ff5a6e34b2..296f56956b 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/base/frankencoin-based.adapter.ts @@ -1,8 +1,8 @@ import { ethers } from 'ethers'; import { EvmUtil } from 'src/integration/blockchain/shared/evm/evm.util'; import { FrankencoinBasedService } from 'src/integration/blockchain/shared/frankencoin/frankencoin-based.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityManagementOrder } from '../../../entities/liquidity-management-order.entity'; import { LiquidityManagementSystem } from '../../../enums'; @@ -19,7 +19,7 @@ export enum FrankencoinBasedAdapterCommands { export abstract class FrankencoinBasedAdapter extends LiquidityActionAdapter { protected commands = new Map(); - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; constructor( system: LiquidityManagementSystem, diff --git a/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts index 86374c1501..c5859e0137 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/binance.adapter.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { BinanceService } from 'src/integration/exchange/services/binance.service'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementOrderRepository } from '../../repositories/liquidity-management-order.repository'; @@ -9,10 +10,10 @@ import { CcxtExchangeAdapter } from './base/ccxt-exchange.adapter'; @Injectable() export class BinanceAdapter extends CcxtExchangeAdapter { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, binanceService: BinanceService, exchangeRegistry: ExchangeRegistryService, dexService: DexService, @@ -20,6 +21,6 @@ export class BinanceAdapter extends CcxtExchangeAdapter { ) { super(LiquidityManagementSystem.BINANCE, binanceService, exchangeRegistry, dexService, liquidityOrderRepo); - this.logger = this.dfxLogger.create(BinanceAdapter); + this.logger = this.loggerFactory.create(BinanceAdapter); } } diff --git a/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts index 360f87aea3..e1c7cc9387 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/deuro.adapter.ts @@ -1,26 +1,27 @@ import { Injectable } from '@nestjs/common'; import { DEuroService } from 'src/integration/blockchain/deuro/deuro.service'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementBalanceService } from '../../services/liquidity-management-balance.service'; import { FrankencoinBasedAdapter } from './base/frankencoin-based.adapter'; @Injectable() export class DEuroAdapter extends FrankencoinBasedAdapter { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( liquidityManagementBalanceService: LiquidityManagementBalanceService, readonly deuroService: DEuroService, private readonly assetService: AssetService, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { super(LiquidityManagementSystem.DEURO, liquidityManagementBalanceService, deuroService); - this.logger = this.dfxLogger.create(DEuroAdapter); + this.logger = this.loggerFactory.create(DEuroAdapter); } async getStableToken(): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts index 89474ba6ce..6e829c69dc 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/frankencoin.adapter.ts @@ -1,26 +1,27 @@ import { Injectable } from '@nestjs/common'; import { FrankencoinService } from 'src/integration/blockchain/frankencoin/frankencoin.service'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementBalanceService } from '../../services/liquidity-management-balance.service'; import { FrankencoinBasedAdapter } from './base/frankencoin-based.adapter'; @Injectable() export class FrankencoinAdapter extends FrankencoinBasedAdapter { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, liquidityManagementBalanceService: LiquidityManagementBalanceService, frankencoinService: FrankencoinService, private readonly assetService: AssetService, ) { super(LiquidityManagementSystem.FRANKENCOIN, liquidityManagementBalanceService, frankencoinService); - this.logger = this.dfxLogger.create(FrankencoinAdapter); + this.logger = this.loggerFactory.create(FrankencoinAdapter); } async getStableToken(): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts b/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts index 67b50bc0e7..3c17272bac 100644 --- a/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/actions/kraken.adapter.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; import { KrakenService } from 'src/integration/exchange/services/kraken.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityManagementSystem } from '../../enums'; import { LiquidityManagementOrderRepository } from '../../repositories/liquidity-management-order.repository'; @@ -9,10 +10,10 @@ import { CcxtExchangeAdapter } from './base/ccxt-exchange.adapter'; @Injectable() export class KrakenAdapter extends CcxtExchangeAdapter { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, krakenService: KrakenService, exchangeRegistry: ExchangeRegistryService, dexService: DexService, @@ -20,6 +21,6 @@ export class KrakenAdapter extends CcxtExchangeAdapter { ) { super(LiquidityManagementSystem.KRAKEN, krakenService, exchangeRegistry, dexService, liquidityOrderRepo); - this.logger = this.dfxLogger.create(KrakenAdapter); + this.logger = this.loggerFactory.create(KrakenAdapter); } } diff --git a/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts index cd3c506ed6..fd3d3b69ec 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/bank.adapter.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { OlkypayService } from 'src/integration/bank/services/olkypay.service'; import { CheckoutService } from 'src/integration/checkout/services/checkout.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { BankTxBatchService } from 'src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx-batch.service'; import { BankService } from 'src/subdomains/supporting/bank/bank/bank.service'; @@ -13,14 +14,16 @@ import { LiquidityBalanceIntegration, LiquidityManagementAsset } from '../../int @Injectable() export class BankAdapter implements LiquidityBalanceIntegration { + private readonly logger: DfxLogger; + constructor( private readonly bankService: BankService, private readonly bankTxBatchService: BankTxBatchService, private readonly olkypayService: OlkypayService, private readonly checkoutService: CheckoutService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(BankAdapter); + this.logger = loggerFactory.create(BankAdapter); } async getBalances(assets: LiquidityManagementAsset[]): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts index 853f8f65a3..ec7c6f153f 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/blockchain.adapter.ts @@ -8,9 +8,10 @@ import { BlockchainRegistryService } from 'src/integration/blockchain/shared/ser import { SolanaClient } from 'src/integration/blockchain/solana/solana-client'; import { LightningClient } from 'src/integration/lightning/lightning-client'; import { LightningService } from 'src/integration/lightning/services/lightning.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { isAsset } from 'src/shared/models/active'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; import { LiquidityBalance } from '../../entities/liquidity-balance.entity'; @@ -30,16 +31,18 @@ export class BlockchainAdapter implements LiquidityBalanceIntegration { private readonly bitcoinClient: BitcoinClient; private readonly lightningClient: LightningClient; + private readonly logger: DfxLogger; + constructor( private readonly dexService: DexService, private readonly blockchainRegistryService: BlockchainRegistryService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, bitcoinService: BitcoinService, lightningService: LightningService, ) { this.bitcoinClient = bitcoinService.getDefaultClient(BitcoinNodeType.BTC_OUTPUT); this.lightningClient = lightningService.getDefaultClient(); - this.logger.create(BlockchainAdapter); + this.loggerFactory.create(BlockchainAdapter); } async getBalances(assets: (Asset & { context: LiquidityManagementContext })[]): Promise { diff --git a/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts index 053a4513c4..9443268a22 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { ExchangeRegistryService } from 'src/integration/exchange/services/exchange-registry.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Active } from 'src/shared/models/active'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { In } from 'typeorm'; import { LiquidityBalance } from '../../entities/liquidity-balance.entity'; @@ -11,14 +12,15 @@ import { LiquidityManagementOrderRepository } from '../../repositories/liquidity @Injectable() export class ExchangeAdapter implements LiquidityBalanceIntegration { + private readonly logger: DfxLogger; private readonly ASSET_MAPPINGS = { BTC: ['XBT'] }; constructor( private readonly exchangeRegistry: ExchangeRegistryService, private readonly orderRepo: LiquidityManagementOrderRepository, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(ExchangeAdapter); + this.logger = loggerFactory.create(ExchangeAdapter); } async getBalances(assets: LiquidityManagementAsset[]): Promise { diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts index f9cbd06a7c..bb612ce58a 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management-balance.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Util } from 'src/shared/utils/util'; import { In } from 'typeorm'; import { LiquidityBalance } from '../entities/liquidity-balance.entity'; @@ -9,12 +10,14 @@ import { LiquidityBalanceRepository } from '../repositories/liquidity-balance.re @Injectable() export class LiquidityManagementBalanceService { + private readonly logger: DfxLogger; + constructor( private readonly balanceIntegrationFactory: LiquidityBalanceIntegrationFactory, private readonly balanceRepo: LiquidityBalanceRepository, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(LiquidityManagementBalanceService); + this.logger = loggerFactory.create(LiquidityManagementBalanceService); } //*** PUBLIC API ***// diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts index 74ed9e06e3..39e074aa9e 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management-pipeline.service.ts @@ -1,6 +1,7 @@ import { Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -20,15 +21,17 @@ import { LiquidityManagementRuleRepository } from '../repositories/liquidity-man @Injectable() export class LiquidityManagementPipelineService { + private readonly logger: DfxLogger; + constructor( private readonly ruleRepo: LiquidityManagementRuleRepository, private readonly orderRepo: LiquidityManagementOrderRepository, private readonly pipelineRepo: LiquidityManagementPipelineRepository, private readonly actionIntegrationFactory: LiquidityActionIntegrationFactory, private readonly notificationService: NotificationService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(LiquidityManagementPipelineService); + this.logger = loggerFactory.create(LiquidityManagementPipelineService); } //*** JOBS ***// diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts index 7237c8f36c..d8fb202028 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management-rule.service.ts @@ -1,10 +1,11 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -27,6 +28,8 @@ import { LiquidityManagementRuleRepository } from '../repositories/liquidity-man @Injectable() export class LiquidityManagementRuleService { + private readonly logger: DfxLogger; + constructor( private readonly ruleRepo: LiquidityManagementRuleRepository, private readonly actionRepo: LiquidityManagementActionRepository, @@ -34,9 +37,9 @@ export class LiquidityManagementRuleService { private readonly fiatService: FiatService, private readonly actionIntegrationFactory: LiquidityActionIntegrationFactory, private readonly notificationService: NotificationService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(LiquidityManagementRuleService); + this.logger = loggerFactory.create(LiquidityManagementRuleService); } //*** PUBLIC API ***// diff --git a/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts b/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts index 3d33a40a30..fd3549817b 100644 --- a/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts +++ b/src/subdomains/core/liquidity-management/services/liquidity-management.service.ts @@ -1,7 +1,8 @@ import { BadRequestException, ConflictException, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,6 +18,7 @@ import { LiquidityManagementBalanceService } from './liquidity-management-balanc @Injectable() export class LiquidityManagementService { + private readonly logger: DfxLogger; private readonly ruleActivations = new Map(); constructor( @@ -24,9 +26,9 @@ export class LiquidityManagementService { private readonly pipelineRepo: LiquidityManagementPipelineRepository, private readonly balanceService: LiquidityManagementBalanceService, private readonly settingService: SettingService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(LiquidityManagementService); + this.logger = loggerFactory.create(LiquidityManagementService); } //*** JOBS ***// diff --git a/src/subdomains/core/monitoring/metric.observer.ts b/src/subdomains/core/monitoring/metric.observer.ts index ce2d4305fa..4791dd36b0 100644 --- a/src/subdomains/core/monitoring/metric.observer.ts +++ b/src/subdomains/core/monitoring/metric.observer.ts @@ -1,10 +1,10 @@ import { NotImplementedException } from '@nestjs/common'; import { BehaviorSubject, Observable, skip } from 'rxjs'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { MonitoringService } from './monitoring.service'; export abstract class MetricObserver { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; #subsystemName: string; #metricName: string; diff --git a/src/subdomains/core/monitoring/monitor-connection-pool.service.ts b/src/subdomains/core/monitoring/monitor-connection-pool.service.ts index c2b26993ac..f73e441f3c 100644 --- a/src/subdomains/core/monitoring/monitor-connection-pool.service.ts +++ b/src/subdomains/core/monitoring/monitor-connection-pool.service.ts @@ -2,7 +2,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { ConnectionPool } from 'mssql/lib/tedious/connection-pool'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { DataSource } from 'typeorm'; @@ -11,12 +12,13 @@ import { SqlServerDriver } from 'typeorm/driver/sqlserver/SqlServerDriver'; @Injectable() export class MonitorConnectionPoolService { + private readonly logger: DfxLogger; private readonly dbConnectionPool: ConnectionPool; - constructor(dataSource: DataSource, private readonly logger: DfxLoggerService) { + constructor(dataSource: DataSource, readonly loggerFactory: LoggerFactory) { const dbDriver = dataSource.driver as SqlServerDriver; this.dbConnectionPool = dbDriver.master; - this.logger.create(MonitorConnectionPoolService); + this.logger = loggerFactory.create(MonitorConnectionPoolService); } @DfxCron(CronExpression.EVERY_SECOND, { process: Process.MONITOR_CONNECTION_POOL }) diff --git a/src/subdomains/core/monitoring/monitoring.service.ts b/src/subdomains/core/monitoring/monitoring.service.ts index a44b883d59..a1ba65b61e 100644 --- a/src/subdomains/core/monitoring/monitoring.service.ts +++ b/src/subdomains/core/monitoring/monitoring.service.ts @@ -1,7 +1,8 @@ import { Injectable, NotFoundException, OnModuleInit } from '@nestjs/common'; import { cloneDeep, isEqual } from 'lodash'; import { BehaviorSubject, debounceTime, pairwise } from 'rxjs'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { MetricObserver } from './metric.observer'; @@ -12,15 +13,17 @@ type SubsystemObservers = Map>; @Injectable() export class MonitoringService implements OnModuleInit { + private readonly logger: DfxLogger; + #$state: BehaviorSubject = new BehaviorSubject({}); #observers: Map = new Map(); constructor( private systemStateSnapshotRepo: SystemStateSnapshotRepository, readonly notificationService: NotificationService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(MonitoringService); + this.logger = loggerFactory.create(MonitoringService); } onModuleInit() { diff --git a/src/subdomains/core/monitoring/observers/aml.observer.ts b/src/subdomains/core/monitoring/observers/aml.observer.ts index 1f187584aa..73d258303b 100644 --- a/src/subdomains/core/monitoring/observers/aml.observer.ts +++ b/src/subdomains/core/monitoring/observers/aml.observer.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -22,16 +23,16 @@ interface AmlDetails { @Injectable() export class AmlObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, private readonly repos: RepositoryFactory, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { super(monitoringService, 'payment', 'aml'); - this.logger = this.dfxLogger.create(AmlObserver); + this.logger = this.loggerFactory.create(AmlObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/bank.observer.ts b/src/subdomains/core/monitoring/observers/bank.observer.ts index 023f0e1760..2e5f0ff3c6 100644 --- a/src/subdomains/core/monitoring/observers/bank.observer.ts +++ b/src/subdomains/core/monitoring/observers/bank.observer.ts @@ -3,8 +3,9 @@ import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; import { OlkypayService } from 'src/integration/bank/services/olkypay.service'; import { RevolutService } from 'src/integration/bank/services/revolut.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -24,19 +25,19 @@ interface BankData { @Injectable() export class BankObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly olkypayService: OlkypayService, private readonly bankService: BankService, private readonly repos: RepositoryFactory, private readonly revolutService: RevolutService, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'bank', 'balance'); - this.logger = this.dfxLogger.create(BankObserver); + this.logger = this.loggerFactory.create(BankObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/banking-bot.observer.ts b/src/subdomains/core/monitoring/observers/banking-bot.observer.ts index 37d2b6e988..de4e400fc9 100644 --- a/src/subdomains/core/monitoring/observers/banking-bot.observer.ts +++ b/src/subdomains/core/monitoring/observers/banking-bot.observer.ts @@ -1,7 +1,8 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { Type, plainToClass } from 'class-transformer'; import { IsNotEmpty, IsOptional, IsString, ValidateIf, ValidateNested, validateSync } from 'class-validator'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; import { MonitoringService } from 'src/subdomains/core/monitoring/monitoring.service'; @@ -51,12 +52,12 @@ class BankingBotDataDto { @Injectable() export class BankingBotObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(monitoringService: MonitoringService, private readonly dfxLogger: DfxLoggerService) { + constructor(monitoringService: MonitoringService, readonly loggerFactory: LoggerFactory) { super(monitoringService, 'bankingBot', 'logs'); - this.logger = this.dfxLogger.create(BankingBotObserver); + this.logger = this.loggerFactory.create(BankingBotObserver); } async onWebhook(_dto: unknown): Promise { diff --git a/src/subdomains/core/monitoring/observers/checkout.observer.ts b/src/subdomains/core/monitoring/observers/checkout.observer.ts index 31b858147b..f9d1b0868c 100644 --- a/src/subdomains/core/monitoring/observers/checkout.observer.ts +++ b/src/subdomains/core/monitoring/observers/checkout.observer.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { CheckoutBalances, CheckoutService } from 'src/integration/checkout/services/checkout.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -18,17 +19,17 @@ interface CheckoutData { @Injectable() export class CheckoutObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly checkoutService: CheckoutService, private readonly checkoutTxService: CheckoutTxService, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'checkout', 'balance'); - this.logger = this.dfxLogger.create(CheckoutObserver); + this.logger = this.loggerFactory.create(CheckoutObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/exchange.observer.ts b/src/subdomains/core/monitoring/observers/exchange.observer.ts index f10dc977b2..766768ecc2 100644 --- a/src/subdomains/core/monitoring/observers/exchange.observer.ts +++ b/src/subdomains/core/monitoring/observers/exchange.observer.ts @@ -2,8 +2,9 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { ExchangeTxType } from 'src/integration/exchange/entities/exchange-tx.entity'; import { ExchangeName } from 'src/integration/exchange/enums/exchange.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -18,16 +19,16 @@ interface ExchangeData { @Injectable() export class ExchangeObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly repos: RepositoryFactory, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'exchange', 'volume'); - this.logger = this.dfxLogger.create(ExchangeObserver); + this.logger = this.loggerFactory.create(ExchangeObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/external-services.observer.ts b/src/subdomains/core/monitoring/observers/external-services.observer.ts index 3d5645eced..f1625240fa 100644 --- a/src/subdomains/core/monitoring/observers/external-services.observer.ts +++ b/src/subdomains/core/monitoring/observers/external-services.observer.ts @@ -2,7 +2,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { IbanService } from 'src/integration/bank/services/iban.service'; import { LetterService } from 'src/integration/letter/letter.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -21,17 +22,17 @@ enum Status { @Injectable() export class ExternalServicesObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly ibanService: IbanService, private readonly letterService: LetterService, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'externalServices', 'combined'); - this.logger = this.dfxLogger.create(ExternalServicesObserver); + this.logger = this.loggerFactory.create(ExternalServicesObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/liquidity.observer.ts b/src/subdomains/core/monitoring/observers/liquidity.observer.ts index 2e90be44aa..86256d4ef1 100644 --- a/src/subdomains/core/monitoring/observers/liquidity.observer.ts +++ b/src/subdomains/core/monitoring/observers/liquidity.observer.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process, ProcessService } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -19,17 +20,17 @@ interface LiquidityData { @Injectable() export class LiquidityObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly repos: RepositoryFactory, private readonly processService: ProcessService, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'liquidity', 'trading'); - this.logger = this.dfxLogger.create(LiquidityObserver); + this.logger = this.loggerFactory.create(LiquidityObserver); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/node-balance.observer.ts b/src/subdomains/core/monitoring/observers/node-balance.observer.ts index 5f29f27d3d..7e9836d887 100644 --- a/src/subdomains/core/monitoring/observers/node-balance.observer.ts +++ b/src/subdomains/core/monitoring/observers/node-balance.observer.ts @@ -3,7 +3,8 @@ import { CronExpression } from '@nestjs/schedule'; import BigNumber from 'bignumber.js'; import { BitcoinClient } from 'src/integration/blockchain/bitcoin/node/bitcoin-client'; import { BitcoinNodeType, BitcoinService } from 'src/integration/blockchain/bitcoin/node/bitcoin.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -19,19 +20,19 @@ interface NodeBalanceData { @Injectable() export class NodeBalanceObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; private readonly bitcoinClient: BitcoinClient; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, readonly bitcoinService: BitcoinService, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'node', 'balance'); this.bitcoinClient = bitcoinService.getDefaultClient(BitcoinNodeType.BTC_INPUT); - this.logger = this.dfxLogger.create(NodeBalanceObserver); + this.logger = this.loggerFactory.create(NodeBalanceObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/node-health.observer.ts b/src/subdomains/core/monitoring/observers/node-health.observer.ts index 07930fe946..eaf04ff417 100644 --- a/src/subdomains/core/monitoring/observers/node-health.observer.ts +++ b/src/subdomains/core/monitoring/observers/node-health.observer.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { BitcoinNodeType, BitcoinService } from 'src/integration/blockchain/bitcoin/node/bitcoin.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -28,17 +29,17 @@ type NodesState = NodePoolState[]; // --------- // @Injectable() export class NodeHealthObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( readonly monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly bitcoinService: BitcoinService, private readonly notificationService: NotificationService, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'node', 'health'); - this.logger = this.dfxLogger.create(NodeHealthObserver); + this.logger = this.loggerFactory.create(NodeHealthObserver); } init(data: NodesState) { diff --git a/src/subdomains/core/monitoring/observers/payment.observer.ts b/src/subdomains/core/monitoring/observers/payment.observer.ts index 169b861b93..c3c9bc354c 100644 --- a/src/subdomains/core/monitoring/observers/payment.observer.ts +++ b/src/subdomains/core/monitoring/observers/payment.observer.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -38,16 +39,16 @@ interface IncompleteTransactions { @Injectable() export class PaymentObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly repos: RepositoryFactory, - private readonly dfxLogger: DfxLoggerService, ) { super(monitoringService, 'payment', 'combined'); - this.logger = this.dfxLogger.create(PaymentObserver); + this.logger = this.loggerFactory.create(PaymentObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/monitoring/observers/user.observer.ts b/src/subdomains/core/monitoring/observers/user.observer.ts index 4458e34f2f..72b05c7914 100644 --- a/src/subdomains/core/monitoring/observers/user.observer.ts +++ b/src/subdomains/core/monitoring/observers/user.observer.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MetricObserver } from 'src/subdomains/core/monitoring/metric.observer'; @@ -18,16 +19,16 @@ interface UserWithout { @Injectable() export class UserObserver extends MetricObserver { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, monitoringService: MonitoringService, + readonly loggerFactory: LoggerFactory, private readonly repos: RepositoryFactory, ) { super(monitoringService, 'user', 'kyc'); - this.logger = this.dfxLogger.create(UserObserver); + this.logger = this.loggerFactory.create(UserObserver); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MONITORING, timeout: 1800 }) diff --git a/src/subdomains/core/payment-link/controllers/payment-link.controller.ts b/src/subdomains/core/payment-link/controllers/payment-link.controller.ts index acd1657ab7..a0edd33c97 100644 --- a/src/subdomains/core/payment-link/controllers/payment-link.controller.ts +++ b/src/subdomains/core/payment-link/controllers/payment-link.controller.ts @@ -26,12 +26,13 @@ import { Response } from 'express'; import { BinancePayWebhookDto } from 'src/integration/c2b-payment-link/dto/binance.dto'; import { BinancePayWebhookGuard } from 'src/integration/c2b-payment-link/guards/binance-pay-webhook.guard'; import { C2BPaymentProvider } from 'src/integration/c2b-payment-link/share/providers.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { GetJwt } from 'src/shared/auth/get-jwt.decorator'; import { JwtPayload } from 'src/shared/auth/jwt-payload.interface'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { SellService } from 'src/subdomains/core/sell-crypto/route/sell.service'; import { UserDataService } from 'src/subdomains/generic/user/models/user-data/user-data.service'; @@ -55,14 +56,16 @@ import { PaymentLinkService } from '../services/payment-link.service'; @ApiTags('Payment Link') @Controller('paymentLink') export class PaymentLinkController { + private readonly logger: DfxLogger; + constructor( private readonly userDataService: UserDataService, private readonly paymentLinkService: PaymentLinkService, private readonly paymentLinkPaymentService: PaymentLinkPaymentService, private readonly sellService: SellService, - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { - this.logger.create(PaymentLinkController); + this.logger = loggerFactory.create(PaymentLinkController); } @Get() diff --git a/src/subdomains/core/payment-link/services/payment-activation.service.ts b/src/subdomains/core/payment-link/services/payment-activation.service.ts index 5264e9a230..ca903e5f1d 100644 --- a/src/subdomains/core/payment-link/services/payment-activation.service.ts +++ b/src/subdomains/core/payment-link/services/payment-activation.service.ts @@ -8,9 +8,10 @@ import { LnBitsWalletPaymentParamsDto } from 'src/integration/lightning/dto/lnbi import { LightningClient } from 'src/integration/lightning/lightning-client'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; import { LightningService } from 'src/integration/lightning/services/lightning.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { Equal, LessThan, Not } from 'typeorm'; import { TransferInfo } from '../dto/payment-link.dto'; @@ -23,6 +24,7 @@ import { PaymentQuoteService } from './payment-quote.service'; @Injectable() export class PaymentActivationService implements OnModuleInit { + private readonly logger: DfxLogger; private readonly client: LightningClient; private evmDepositAddress: string; @@ -30,16 +32,16 @@ export class PaymentActivationService implements OnModuleInit { private bitcoinDepositAddress: string; constructor( + readonly loggerFactory: LoggerFactory, readonly lightningService: LightningService, private readonly paymentActivationRepo: PaymentActivationRepository, private readonly paymentQuoteService: PaymentQuoteService, private readonly assetService: AssetService, private readonly cryptoService: CryptoService, private readonly c2bPaymentLinkService: C2BPaymentLinkService, - private readonly logger: DfxLoggerService, ) { this.client = lightningService.getDefaultClient(); - this.logger.create(PaymentActivationService); + this.logger = loggerFactory.create(PaymentActivationService); } onModuleInit() { diff --git a/src/subdomains/core/payment-link/services/payment-link.service.ts b/src/subdomains/core/payment-link/services/payment-link.service.ts index 3c72b8f602..01b46038c9 100644 --- a/src/subdomains/core/payment-link/services/payment-link.service.ts +++ b/src/subdomains/core/payment-link/services/payment-link.service.ts @@ -18,8 +18,9 @@ import { BinancePayWebhookDto } from 'src/integration/c2b-payment-link/dto/binan import { C2BPaymentStatus } from 'src/integration/c2b-payment-link/share/PaymentStatus'; import { C2BPaymentProvider } from 'src/integration/c2b-payment-link/share/providers.enum'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { CountryService } from 'src/shared/models/country/country.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { UserDataService } from 'src/subdomains/generic/user/models/user-data/user-data.service'; import { Sell } from '../../sell-crypto/route/sell.entity'; @@ -39,9 +40,12 @@ import { PaymentQuoteService } from './payment-quote.service'; @Injectable() export class PaymentLinkService { + private readonly logger: DfxLogger; + static readonly PREFIX_UNIQUE_ID = 'pl'; constructor( + readonly loggerFactory: LoggerFactory, private readonly paymentLinkRepo: PaymentLinkRepository, private readonly paymentLinkPaymentService: PaymentLinkPaymentService, private readonly paymentQuoteService: PaymentQuoteService, @@ -50,9 +54,8 @@ export class PaymentLinkService { private readonly sellService: SellService, private readonly c2bPaymentLinkService: C2BPaymentLinkService, private readonly i18n: I18nService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(PaymentLinkService); + this.logger = loggerFactory.create(PaymentLinkService); } async getOrThrow( @@ -481,8 +484,7 @@ export class PaymentLinkService { routeLabel?: string, ): Promise { const existingPaymentLink = await this.getPaymentLinkByAccessKey(key, externalLinkId).catch(() => null); - if (!existingPaymentLink && !routeLabel) - throw new BadRequestException('Route label is required'); + if (!existingPaymentLink && !routeLabel) throw new BadRequestException('Route label is required'); const route = existingPaymentLink?.route ?? (await this.sellService.getByLabel(undefined, routeLabel)); if (!route) throw new NotFoundException('Route not found'); @@ -726,7 +728,7 @@ export class PaymentLinkService { case C2BPaymentStatus.WAITING: const { qrContent, referId } = result.metadata; - + const lnurl = new URL(qrContent).searchParams.get('lightning'); const uniqueId = LightningHelper.decodeLnurl(lnurl).split('/').at(-1); const payment = await this.paymentLinkPaymentService.getPendingPaymentByUniqueId(uniqueId); diff --git a/src/subdomains/core/payment-link/services/payment-quote.service.ts b/src/subdomains/core/payment-link/services/payment-quote.service.ts index b2b8c9fad7..ebe6ea48a2 100644 --- a/src/subdomains/core/payment-link/services/payment-quote.service.ts +++ b/src/subdomains/core/payment-link/services/payment-quote.service.ts @@ -7,10 +7,11 @@ import { EvmGasPriceService } from 'src/integration/blockchain/shared/evm/evm-ga import { BlockchainRegistryService } from 'src/integration/blockchain/shared/services/blockchain-registry.service'; import { C2BPaymentLinkService } from 'src/integration/c2b-payment-link/c2b-payment-link.service'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { PayoutBitcoinService } from 'src/subdomains/supporting/payout/services/payout-bitcoin.service'; import { PayoutMoneroService } from 'src/subdomains/supporting/payout/services/payout-monero.service'; @@ -30,6 +31,8 @@ import { PaymentQuoteRepository } from '../repositories/payment-quote.repository @Injectable() export class PaymentQuoteService { + private readonly logger: DfxLogger; + static readonly PREFIX_UNIQUE_ID = 'plq'; private readonly transferAmountBlockchainOrder: Blockchain[] = [ @@ -48,6 +51,7 @@ export class PaymentQuoteService { private readonly transferAmountAssetOrder: string[] = ['dEURO', 'ZCHF', 'USDT', 'USDC', 'DAI']; constructor( + readonly loggerFactory: LoggerFactory, private readonly paymentQuoteRepo: PaymentQuoteRepository, private readonly blockchainRegistryService: BlockchainRegistryService, private readonly assetService: AssetService, @@ -56,9 +60,8 @@ export class PaymentQuoteService { private readonly payoutMoneroService: PayoutMoneroService, private readonly payoutBitcoinService: PayoutBitcoinService, private readonly c2bPaymentLinkService: C2BPaymentLinkService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(PaymentQuoteService); + this.logger = loggerFactory.create(PaymentQuoteService); } // --- JOBS --- // diff --git a/src/subdomains/core/payment-link/services/payment-webhook.service.ts b/src/subdomains/core/payment-link/services/payment-webhook.service.ts index bea76785a5..3b778a0825 100644 --- a/src/subdomains/core/payment-link/services/payment-webhook.service.ts +++ b/src/subdomains/core/payment-link/services/payment-webhook.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; @@ -9,11 +10,12 @@ import { PaymentLink } from '../entities/payment-link.entity'; @Injectable() export class PaymentWebhookService { + private readonly logger: DfxLogger; private readonly webhookSendQueue: QueueHandler; - constructor(private readonly http: HttpService, private readonly logger: DfxLoggerService) { + constructor(private readonly http: HttpService, readonly loggerFactory: LoggerFactory) { this.webhookSendQueue = QueueHandler.createParallelQueueHandler(10); - this.logger.create(PaymentWebhookService); + this.logger = loggerFactory.create(PaymentWebhookService); } async sendWebhook(paymentLink: PaymentLink): Promise { diff --git a/src/subdomains/core/referral/process/ref.service.ts b/src/subdomains/core/referral/process/ref.service.ts index 7c9f55fc55..64741190ab 100644 --- a/src/subdomains/core/referral/process/ref.service.ts +++ b/src/subdomains/core/referral/process/ref.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { IsNull, LessThan } from 'typeorm'; @@ -9,10 +10,11 @@ import { RefRepository } from './ref.repository'; @Injectable() export class RefService { + private readonly logger: DfxLogger; private readonly refExpirationDays = 3; - constructor(private readonly repo: RefRepository, private readonly logger: DfxLoggerService) { - this.logger.create(RefService); + constructor(private readonly repo: RefRepository, readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(RefService); } @DfxCron(CronExpression.EVERY_HOUR, { timeout: 7200 }) diff --git a/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts b/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts index 12641b79cb..2baa1c2d92 100644 --- a/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts +++ b/src/subdomains/core/referral/reward/services/ref-reward-dex.service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { PurchaseLiquidityRequest, ReserveLiquidityRequest } from 'src/subdomains/supporting/dex/interfaces'; @@ -20,15 +21,17 @@ export interface RefLiquidityRequest { @Injectable() export class RefRewardDexService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly refRewardRepo: RefRewardRepository, private readonly dexService: DexService, private readonly assetService: AssetService, private readonly fiatService: FiatService, private readonly priceService: PricingService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(RefRewardDexService); + this.logger = loggerFactory.create(RefRewardDexService); } async secureLiquidity(): Promise { diff --git a/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts b/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts index 22f738cb80..09b5f0adf1 100644 --- a/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts +++ b/src/subdomains/core/referral/reward/services/ref-reward-notification.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { MailKey, MailTranslationKey } from 'src/subdomains/supporting/notification/factories/mail.factory'; @@ -10,12 +11,14 @@ import { RefRewardRepository } from '../ref-reward.repository'; @Injectable() export class RefRewardNotificationService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly refRewardRepo: RefRewardRepository, private readonly notificationService: NotificationService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(RefRewardNotificationService); + this.logger = loggerFactory.create(RefRewardNotificationService); } async sendNotificationMails(): Promise { diff --git a/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts b/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts index 26ac907b87..8055bf7407 100644 --- a/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts +++ b/src/subdomains/core/referral/reward/services/ref-reward-out.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { DexService } from 'src/subdomains/supporting/dex/services/dex.service'; @@ -13,15 +14,17 @@ import { RefRewardService } from './ref-reward.service'; @Injectable() export class RefRewardOutService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly refRewardRepo: RefRewardRepository, private readonly payoutService: PayoutService, private readonly assetService: AssetService, private readonly dexService: DexService, private readonly refRewardService: RefRewardService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(RefRewardOutService); + this.logger = loggerFactory.create(RefRewardOutService); } async checkPaidTransaction(): Promise { diff --git a/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts b/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts index 8e497b05cb..61bfef9d61 100644 --- a/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts +++ b/src/subdomains/core/sell-crypto/process/services/buy-fiat-notification.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { AmlReason, AmlReasonWithoutReason, KycAmlReasons } from 'src/subdomains/core/aml/enums/aml-reason.enum'; @@ -18,12 +19,14 @@ import { BuyFiatRepository } from '../buy-fiat.repository'; @Injectable() export class BuyFiatNotificationService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly buyFiatRepo: BuyFiatRepository, private readonly notificationService: NotificationService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(BuyFiatNotificationService); + this.logger = loggerFactory.create(BuyFiatNotificationService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.BUY_FIAT_MAIL, timeout: 1800 }) diff --git a/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts b/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts index 9faddbcfaa..e8e31b59f6 100644 --- a/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts +++ b/src/subdomains/core/sell-crypto/process/services/buy-fiat-preparation.service.ts @@ -1,9 +1,10 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { CountryService } from 'src/shared/models/country/country.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AmountType, Util } from 'src/shared/utils/util'; import { AmlReason } from 'src/subdomains/core/aml/enums/aml-reason.enum'; import { AmlService } from 'src/subdomains/core/aml/services/aml.service'; @@ -26,10 +27,13 @@ import { BuyFiatService } from './buy-fiat.service'; @Injectable() export class BuyFiatPreparationService implements OnModuleInit { + private readonly logger: DfxLogger; + private chf: Fiat; private eur: Fiat; constructor( + readonly loggerFactory: LoggerFactory, private readonly buyFiatRepo: BuyFiatRepository, private readonly transactionHelper: TransactionHelper, private readonly pricingService: PricingService, @@ -40,9 +44,8 @@ export class BuyFiatPreparationService implements OnModuleInit { private readonly countryService: CountryService, private readonly buyFiatNotificationService: BuyFiatNotificationService, private readonly fiatOutputService: FiatOutputService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(BuyFiatNotificationService); + this.logger = loggerFactory.create(BuyFiatNotificationService); } onModuleInit() { diff --git a/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts b/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts index ac1c8ab71b..99a6f0e992 100644 --- a/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts +++ b/src/subdomains/core/sell-crypto/process/services/buy-fiat-registration.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { CryptoInput, PayInPurpose, PayInStatus } from 'src/subdomains/supporting/payin/entities/crypto-input.entity'; import { PayInService } from 'src/subdomains/supporting/payin/services/payin.service'; import { TransactionHelper } from 'src/subdomains/supporting/payment/services/transaction-helper'; @@ -16,15 +17,17 @@ interface RouteIdentifier { @Injectable() export class BuyFiatRegistrationService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly buyFiatRepo: BuyFiatRepository, private readonly buyFiatService: BuyFiatService, private readonly sellRepository: SellRepository, private readonly payInService: PayInService, private readonly transactionHelper: TransactionHelper, - private readonly logger: DfxLoggerService, ) { - this.logger.create(BuyFiatRegistrationService); + this.logger = loggerFactory.create(BuyFiatRegistrationService); } async syncReturnTxId(): Promise { diff --git a/src/subdomains/core/sell-crypto/route/sell.service.ts b/src/subdomains/core/sell-crypto/route/sell.service.ts index f0d909dec2..2e4535cdc1 100644 --- a/src/subdomains/core/sell-crypto/route/sell.service.ts +++ b/src/subdomains/core/sell-crypto/route/sell.service.ts @@ -11,10 +11,11 @@ import { merge } from 'lodash'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { AssetDtoMapper } from 'src/shared/models/asset/dto/asset-dto.mapper'; import { FiatDtoMapper } from 'src/shared/models/fiat/dto/fiat-dto.mapper'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { CreateSellDto } from 'src/subdomains/core/sell-crypto/route/dto/create-sell.dto'; @@ -47,7 +48,10 @@ import { Sell } from './sell.entity'; @Injectable() export class SellService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly sellRepo: SellRepository, private readonly depositService: DepositService, private readonly userService: UserService, @@ -66,9 +70,8 @@ export class SellService { private readonly cryptoService: CryptoService, @Inject(forwardRef(() => TransactionRequestService)) private readonly transactionRequestService: TransactionRequestService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(SellService); + this.logger = loggerFactory.create(SellService); } // --- SELLS --- // diff --git a/src/subdomains/core/trading/services/trading-order.service.ts b/src/subdomains/core/trading/services/trading-order.service.ts index 9375d8d1e2..5b3b920b2e 100644 --- a/src/subdomains/core/trading/services/trading-order.service.ts +++ b/src/subdomains/core/trading/services/trading-order.service.ts @@ -2,10 +2,11 @@ import { Inject, Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { EvmUtil } from 'src/integration/blockchain/shared/evm/evm.util'; import { BlockchainRegistryService } from 'src/integration/blockchain/shared/services/blockchain-registry.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { LiquidityOrderContext } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { ReserveLiquidityRequest } from 'src/subdomains/supporting/dex/interfaces'; @@ -24,12 +25,15 @@ import { TradingRuleRepository } from '../repositories/trading-rule.respository' @Injectable() export class TradingOrderService implements OnModuleInit { + private readonly logger: DfxLogger; + @Inject() private readonly ruleRepo: TradingRuleRepository; @Inject() private readonly orderRepo: TradingOrderRepository; private chf: Fiat; constructor( + readonly loggerFactory: LoggerFactory, private readonly dexService: DexService, private readonly notificationService: NotificationService, private readonly blockchainRegistryService: BlockchainRegistryService, @@ -37,9 +41,8 @@ export class TradingOrderService implements OnModuleInit { private readonly pricingService: PricingService, private readonly fiatService: FiatService, private readonly assetService: AssetService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(TradingOrderService); + this.logger = loggerFactory.create(TradingOrderService); } onModuleInit() { diff --git a/src/subdomains/core/trading/services/trading-rule.service.ts b/src/subdomains/core/trading/services/trading-rule.service.ts index 6e5763a35c..ce2a040bd5 100644 --- a/src/subdomains/core/trading/services/trading-rule.service.ts +++ b/src/subdomains/core/trading/services/trading-rule.service.ts @@ -1,5 +1,6 @@ import { Inject, Injectable, NotFoundException } from '@nestjs/common'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { In, IsNull, Not } from 'typeorm'; import { UpdateTradingRuleDto } from '../dto/update-trading-rule.dto'; import { TradingOrder } from '../entities/trading-order.entity'; @@ -12,11 +13,13 @@ import { TradingService } from './trading.service'; @Injectable() export class TradingRuleService { + private readonly logger: DfxLogger; + @Inject() private readonly ruleRepo: TradingRuleRepository; @Inject() private readonly orderRepo: TradingOrderRepository; - constructor(private readonly tradingService: TradingService, private readonly logger: DfxLoggerService) { - this.logger.create(TradingRuleService); + constructor(private readonly tradingService: TradingService, readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(TradingRuleService); } // --- PUBLIC API --- // diff --git a/src/subdomains/core/trading/services/trading.service.ts b/src/subdomains/core/trading/services/trading.service.ts index f0da44d6a1..407463d24a 100644 --- a/src/subdomains/core/trading/services/trading.service.ts +++ b/src/subdomains/core/trading/services/trading.service.ts @@ -4,9 +4,10 @@ import { ethers } from 'ethers'; import { EvmClient } from 'src/integration/blockchain/shared/evm/evm-client'; import { EvmUtil } from 'src/integration/blockchain/shared/evm/evm.util'; import { BlockchainRegistryService } from 'src/integration/blockchain/shared/services/blockchain-registry.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { Price } from 'src/subdomains/supporting/pricing/domain/entities/price'; import { PriceSource } from 'src/subdomains/supporting/pricing/domain/entities/price-rule.entity'; @@ -17,13 +18,15 @@ import { PoolOutOfRangeException } from '../exceptions/pool-out-of-range.excepti @Injectable() export class TradingService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly blockchainRegistryService: BlockchainRegistryService, private readonly pricingService: PricingService, private readonly assetService: AssetService, - private readonly logger: DfxLoggerService, ) { - this.logger.create(TradingService); + this.logger = loggerFactory.create(TradingService); } async createTradingInfo(tradingRule: TradingRule): Promise { diff --git a/src/subdomains/generic/gs/gs.controller.ts b/src/subdomains/generic/gs/gs.controller.ts index 43406ca564..8a78009004 100644 --- a/src/subdomains/generic/gs/gs.controller.ts +++ b/src/subdomains/generic/gs/gs.controller.ts @@ -1,18 +1,21 @@ import { BadRequestException, Body, Controller, Get, Post, Query, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { ApiBearerAuth, ApiExcludeEndpoint } from '@nestjs/swagger'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DbQueryBaseDto, DbQueryDto, DbReturnData } from './dto/db-query.dto'; import { SupportDataQuery, SupportReturnData } from './dto/support-data.dto'; import { GsService } from './gs.service'; @Controller('gs') export class GsController { - constructor(private readonly gsService: GsService, private readonly logger: DfxLoggerService) { - this.logger.create(GsController); + private readonly logger: DfxLogger; + + constructor(private readonly gsService: GsService, readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(GsController); } @Post('db') diff --git a/src/subdomains/generic/gs/gs.service.ts b/src/subdomains/generic/gs/gs.service.ts index 19f810cb65..67a40fb4b5 100644 --- a/src/subdomains/generic/gs/gs.service.ts +++ b/src/subdomains/generic/gs/gs.service.ts @@ -1,5 +1,6 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Util } from 'src/shared/utils/util'; import { BuyCryptoService } from 'src/subdomains/core/buy-crypto/process/services/buy-crypto.service'; import { BuyService } from 'src/subdomains/core/buy-crypto/routes/buy/buy.service'; @@ -44,8 +45,10 @@ export enum SupportTable { @Injectable() export class GsService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly userDataService: UserDataService, private readonly userService: UserService, private readonly buyService: BuyService, @@ -67,7 +70,7 @@ export class GsService { private readonly supportIssueService: SupportIssueService, private readonly swapService: SwapService, ) { - this.logger.create(GsService); + this.logger = loggerFactory.create(GsService); } async getDbData(query: DbQueryDto): Promise { diff --git a/src/subdomains/generic/kyc/controllers/kyc.controller.ts b/src/subdomains/generic/kyc/controllers/kyc.controller.ts index af94bb4bbf..5382c5258a 100644 --- a/src/subdomains/generic/kyc/controllers/kyc.controller.ts +++ b/src/subdomains/generic/kyc/controllers/kyc.controller.ts @@ -29,6 +29,8 @@ import { import { Request, Response } from 'express'; import { RealIP } from 'nestjs-real-ip'; import { Config, GetConfig } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { GetJwt } from 'src/shared/auth/get-jwt.decorator'; import { JwtPayload } from 'src/shared/auth/jwt-payload.interface'; import { OptionalJwtAuthGuard } from 'src/shared/auth/optional.guard'; @@ -37,7 +39,6 @@ import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { CountryDtoMapper } from 'src/shared/models/country/dto/country-dto.mapper'; import { CountryDto } from 'src/shared/models/country/dto/country.dto'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { IdNowResult } from '../dto/ident-result.dto'; import { IdentStatus } from '../dto/ident.dto'; @@ -77,12 +78,14 @@ const TfaResponse = { description: '2FA is required' }; @ApiTags('KYC') @Controller({ path: 'kyc', version: [GetConfig().kycVersion] }) export class KycController { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly kycService: KycService, private readonly tfaService: TfaService, ) { - this.logger.create(KycController); + this.logger = loggerFactory.create(KycController); } // --- 2FA --- // diff --git a/src/subdomains/generic/kyc/services/integration/ident.service.ts b/src/subdomains/generic/kyc/services/integration/ident.service.ts index 44a57da3e7..78d63b152c 100644 --- a/src/subdomains/generic/kyc/services/integration/ident.service.ts +++ b/src/subdomains/generic/kyc/services/integration/ident.service.ts @@ -6,7 +6,8 @@ import { } from '@nestjs/common'; import { Method, ResponseType } from 'axios'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpError, HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { UserData } from 'src/subdomains/generic/user/models/user-data/user-data.entity'; @@ -19,10 +20,11 @@ import { KycStepType } from '../../enums/kyc.enum'; @Injectable() export class IdentService { + private readonly logger: DfxLogger; private readonly baseUrl = `${Config.kyc.gatewayHost}/api/v1`; - constructor(private readonly logger: DfxLoggerService, private readonly http: HttpService) { - this.logger.create(IdentService); + constructor(readonly loggerFactory: LoggerFactory, private readonly http: HttpService) { + this.logger = loggerFactory.create(IdentService); } async initiateIdent(user: UserData, kycStep: KycStep): Promise { diff --git a/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts b/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts index 19c7e235af..f5b7a7cfa8 100644 --- a/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts +++ b/src/subdomains/generic/kyc/services/integration/sum-sub.service.ts @@ -3,7 +3,8 @@ import { Method, ResponseType } from 'axios'; import * as crypto from 'crypto'; import { Request } from 'express'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpError, HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { UserData } from 'src/subdomains/generic/user/models/user-data/user-data.entity'; @@ -23,6 +24,7 @@ import { KycStepType } from '../../enums/kyc.enum'; @Injectable() export class SumsubService { + private readonly logger: DfxLogger; private readonly baseUrl = `https://api.sumsub.com`; private readonly kycLevelAuto = 'CH-Standard'; private readonly kycLevelVideo = 'CH-Standard-Video'; @@ -33,8 +35,8 @@ export class SumsubService { HMAC_SHA512_HEX: 'sha512', }; - constructor(private readonly logger: DfxLoggerService, private readonly http: HttpService) { - this.logger.create(SumsubService); + constructor(readonly loggerFactory: LoggerFactory, private readonly http: HttpService) { + this.logger = loggerFactory.create(SumsubService); } async initiateIdent(user: UserData, kycStep: KycStep): Promise { diff --git a/src/subdomains/generic/kyc/services/kyc-admin.service.ts b/src/subdomains/generic/kyc/services/kyc-admin.service.ts index 5417bf1ee9..1009eaeaf9 100644 --- a/src/subdomains/generic/kyc/services/kyc-admin.service.ts +++ b/src/subdomains/generic/kyc/services/kyc-admin.service.ts @@ -1,6 +1,7 @@ import { Inject, Injectable, NotFoundException, forwardRef } from '@nestjs/common'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { UpdateResult } from 'src/shared/models/entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { FindOptionsRelations } from 'typeorm'; import { KycLevel, KycStatus, UserData } from '../../user/models/user-data/user-data.entity'; import { UserDataService } from '../../user/models/user-data/user-data.service'; @@ -16,8 +17,10 @@ import { KycService } from './kyc.service'; @Injectable() export class KycAdminService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly kycStepRepo: KycStepRepository, private readonly webhookService: WebhookService, private readonly kycService: KycService, @@ -25,7 +28,7 @@ export class KycAdminService { @Inject(forwardRef(() => UserDataService)) private readonly userDataService: UserDataService, ) { - this.logger.create(KycAdminService); + this.logger = loggerFactory.create(KycAdminService); } async getKycSteps(userDataId: number, relations: FindOptionsRelations = {}): Promise { diff --git a/src/subdomains/generic/kyc/services/kyc-notification.service.ts b/src/subdomains/generic/kyc/services/kyc-notification.service.ts index d093baca4d..4aee0aca60 100644 --- a/src/subdomains/generic/kyc/services/kyc-notification.service.ts +++ b/src/subdomains/generic/kyc/services/kyc-notification.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,13 +18,15 @@ import { KycStepRepository } from '../repositories/kyc-step.repository'; @Injectable() export class KycNotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly kycStepRepo: KycStepRepository, private readonly notificationService: NotificationService, private readonly webhookService: WebhookService, ) { - this.logger.create(KycNotificationService); + this.logger = loggerFactory.create(KycNotificationService); } @DfxCron(CronExpression.EVERY_HOUR, { process: Process.KYC_MAIL, timeout: 1800 }) diff --git a/src/subdomains/generic/kyc/services/kyc.service.ts b/src/subdomains/generic/kyc/services/kyc.service.ts index 3570dcd93f..ca54972179 100644 --- a/src/subdomains/generic/kyc/services/kyc.service.ts +++ b/src/subdomains/generic/kyc/services/kyc.service.ts @@ -9,12 +9,13 @@ import { } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { Country } from 'src/shared/models/country/country.entity'; import { CountryService } from 'src/shared/models/country/country.service'; import { IEntity, UpdateResult } from 'src/shared/models/entity'; import { LanguageService } from 'src/shared/models/language/language.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { QueueHandler } from 'src/shared/utils/queue-handler'; @@ -88,10 +89,11 @@ import { TfaLevel, TfaService } from './tfa.service'; @Injectable() export class KycService { + private readonly logger: DfxLogger; private readonly webhookQueue: QueueHandler; constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, @Inject(forwardRef(() => UserDataService)) private readonly userDataService: UserDataService, private readonly identService: IdentService, @@ -116,7 +118,7 @@ export class KycService { private readonly userDataRelationService: UserDataRelationService, ) { this.webhookQueue = new QueueHandler(); - this.logger.create(KycService); + this.logger = loggerFactory.create(KycService); } @DfxCron(CronExpression.EVERY_DAY_AT_4AM, { process: Process.KYC }) diff --git a/src/subdomains/generic/kyc/services/tfa.service.ts b/src/subdomains/generic/kyc/services/tfa.service.ts index 8759168f87..56a2fa4ff9 100644 --- a/src/subdomains/generic/kyc/services/tfa.service.ts +++ b/src/subdomains/generic/kyc/services/tfa.service.ts @@ -9,7 +9,8 @@ import { } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { generateSecret, verifyToken } from 'node-2fa'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -37,15 +38,16 @@ export enum TfaLevel { @Injectable() export class TfaService { + private readonly logger: DfxLogger; private readonly secretCache: Map = new Map(); constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly tfaRepo: TfaLogRepository, @Inject(forwardRef(() => UserDataService)) private readonly userDataService: UserDataService, private readonly notificationService: NotificationService, ) { - this.logger.create(TfaService); + this.logger = loggerFactory.create(TfaService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.TFA_CACHE }) diff --git a/src/subdomains/generic/user/models/auth/auth-alby.service.ts b/src/subdomains/generic/user/models/auth/auth-alby.service.ts index 0da4232f7e..b52b468de8 100644 --- a/src/subdomains/generic/user/models/auth/auth-alby.service.ts +++ b/src/subdomains/generic/user/models/auth/auth-alby.service.ts @@ -1,8 +1,9 @@ import { ForbiddenException, Injectable, NotFoundException } from '@nestjs/common'; import { Config } from 'src/config/config'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { IpLogService } from 'src/shared/models/ip-log/ip-log.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { AlbySignupDto } from '../user/dto/alby.dto'; @@ -29,18 +30,19 @@ interface AlbyUserResponse { @Injectable() export class AuthAlbyService { + private readonly logger: DfxLogger; private readonly albyUrl = 'https://getalby.com'; private readonly albyApiUrl = 'https://api.getalby.com'; private readonly signUpData = new Map(); constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly http: HttpService, private readonly authService: AuthService, private readonly ipLogService: IpLogService, ) { - this.logger.create(AuthAlbyService); + this.logger = loggerFactory.create(AuthAlbyService); } getOauthUrl(dto: AlbySignupDto): string { diff --git a/src/subdomains/generic/user/models/auth/auth.service.ts b/src/subdomains/generic/user/models/auth/auth.service.ts index 8dd92af890..e9f03a6a89 100644 --- a/src/subdomains/generic/user/models/auth/auth.service.ts +++ b/src/subdomains/generic/user/models/auth/auth.service.ts @@ -13,11 +13,12 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.e import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; import { GeoLocationService } from 'src/integration/geolocation/geo-location.service'; import { SiftService } from 'src/integration/sift/services/sift.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { JwtPayload } from 'src/shared/auth/jwt-payload.interface'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { IpLogService } from 'src/shared/models/ip-log/ip-log.service'; import { LanguageService } from 'src/shared/models/language/language.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { RefService } from 'src/subdomains/core/referral/process/ref.service'; @@ -57,11 +58,12 @@ export interface MailKeyData { @Injectable() export class AuthService { + private readonly logger: DfxLogger; private readonly challengeList = new Map(); private readonly mailKeyList = new Map(); constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly userService: UserService, private readonly userRepo: UserRepository, private readonly walletService: WalletService, @@ -77,7 +79,7 @@ export class AuthService { private readonly languageService: LanguageService, private readonly geoLocationService: GeoLocationService, ) { - this.logger.create(AuthService); + this.logger = loggerFactory.create(AuthService); } @DfxCron(CronExpression.EVERY_MINUTE) diff --git a/src/subdomains/generic/user/models/bank-data/bank-data.service.ts b/src/subdomains/generic/user/models/bank-data/bank-data.service.ts index 2c783af0f7..8ce82ef319 100644 --- a/src/subdomains/generic/user/models/bank-data/bank-data.service.ts +++ b/src/subdomains/generic/user/models/bank-data/bank-data.service.ts @@ -1,9 +1,10 @@ import { BadRequestException, ForbiddenException, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import * as IbanTools from 'ibantools'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { CountryService } from 'src/shared/models/country/country.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -27,8 +28,10 @@ import { UpdateBankDataDto } from './dto/update-bank-data.dto'; @Injectable() export class BankDataService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly userDataRepo: UserDataRepository, private readonly bankDataRepo: BankDataRepository, private readonly specialAccountService: SpecialExternalAccountService, @@ -39,7 +42,7 @@ export class BankDataService { private readonly bankAccountService: BankAccountService, private readonly kycAdminService: KycAdminService, ) { - this.logger.create(BankDataService); + this.logger = loggerFactory.create(BankDataService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.BANK_DATA_VERIFICATION, timeout: 1800 }) diff --git a/src/subdomains/generic/user/models/kyc/kyc.service.ts b/src/subdomains/generic/user/models/kyc/kyc.service.ts index 2df5a7ec56..93d70f808a 100644 --- a/src/subdomains/generic/user/models/kyc/kyc.service.ts +++ b/src/subdomains/generic/user/models/kyc/kyc.service.ts @@ -5,10 +5,11 @@ import { NotFoundException, ServiceUnavailableException, } from '@nestjs/common'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Country } from 'src/shared/models/country/country.entity'; import { CountryService } from 'src/shared/models/country/country.service'; import { LanguageDtoMapper } from 'src/shared/models/language/dto/language-dto.mapper'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; import { FileType, KycFileBlob } from 'src/subdomains/generic/kyc/dto/kyc-file.dto'; @@ -35,8 +36,10 @@ import { KycInfo } from './dto/kyc-info.dto'; @Injectable() export class KycService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly userDataService: UserDataService, private readonly userDataRepo: UserDataRepository, private readonly userRepo: UserRepository, @@ -45,7 +48,7 @@ export class KycService { private readonly http: HttpService, private readonly documentService: KycDocumentService, ) { - this.logger.create(KycService); + this.logger = loggerFactory.create(KycService); } // --- KYC DATA --- // diff --git a/src/subdomains/generic/user/models/organization/organization.service.ts b/src/subdomains/generic/user/models/organization/organization.service.ts index 77abdb11b9..5b81860258 100644 --- a/src/subdomains/generic/user/models/organization/organization.service.ts +++ b/src/subdomains/generic/user/models/organization/organization.service.ts @@ -1,7 +1,8 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { CountryService } from 'src/shared/models/country/country.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { In, IsNull } from 'typeorm'; @@ -13,13 +14,15 @@ import { OrganizationRepository } from './organization.repository'; @Injectable() export class OrganizationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly organizationRepo: OrganizationRepository, private readonly countryService: CountryService, private readonly userDataRepo: UserDataRepository, ) { - this.logger.create(OrganizationService); + this.logger = loggerFactory.create(OrganizationService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.ORGANIZATION_SYNC, timeout: 1800 }) diff --git a/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts b/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts index 565ff48b97..2d2d12c7c3 100644 --- a/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts +++ b/src/subdomains/generic/user/models/user-data/user-data-notification.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -13,12 +14,14 @@ import { UserDataRepository } from './user-data.repository'; @Injectable() export class UserDataNotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly userDataRepo: UserDataRepository, private readonly notificationService: NotificationService, ) { - this.logger.create(UserDataNotificationService); + this.logger = loggerFactory.create(UserDataNotificationService); } @DfxCron(CronExpression.EVERY_HOUR, { process: Process.BLACK_SQUAD_MAIL, timeout: 1800 }) diff --git a/src/subdomains/generic/user/models/user-data/user-data.service.ts b/src/subdomains/generic/user/models/user-data/user-data.service.ts index 9bf524c5c9..48785f5e3f 100644 --- a/src/subdomains/generic/user/models/user-data/user-data.service.ts +++ b/src/subdomains/generic/user/models/user-data/user-data.service.ts @@ -13,6 +13,8 @@ import JSZip from 'jszip'; import { Config } from 'src/config/config'; import { CreateAccount } from 'src/integration/sift/dto/sift.dto'; import { SiftService } from 'src/integration/sift/services/sift.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { CountryService } from 'src/shared/models/country/country.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; @@ -20,7 +22,6 @@ import { LanguageService } from 'src/shared/models/language/language.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; import { ApiKeyService } from 'src/shared/services/api-key.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { CheckStatus } from 'src/subdomains/core/aml/enums/check-status.enum'; @@ -69,10 +70,11 @@ interface SecretCacheEntry { @Injectable() export class UserDataService { + private readonly logger: DfxLogger; private readonly secretCache: Map = new Map(); constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly repos: RepositoryFactory, private readonly userDataRepo: UserDataRepository, private readonly userRepo: UserRepository, @@ -97,7 +99,7 @@ export class UserDataService { @Inject(forwardRef(() => BankDataService)) private readonly bankDataService: BankDataService, ) { - this.logger.create(UserDataService); + this.logger = loggerFactory.create(UserDataService); } // --- GETTERS --- // diff --git a/src/subdomains/generic/user/models/user/user.service.ts b/src/subdomains/generic/user/models/user/user.service.ts index 75d963d034..ba4d1666e9 100644 --- a/src/subdomains/generic/user/models/user/user.service.ts +++ b/src/subdomains/generic/user/models/user/user.service.ts @@ -10,13 +10,14 @@ import { Config } from 'src/config/config'; import { CryptoService } from 'src/integration/blockchain/shared/services/crypto.service'; import { GeoLocationService } from 'src/integration/geolocation/geo-location.service'; import { SiftService } from 'src/integration/sift/services/sift.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { UserRole } from 'src/shared/auth/user-role.enum'; import { Active } from 'src/shared/models/active'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; import { LanguageDtoMapper } from 'src/shared/models/language/dto/language-dto.mapper'; import { LanguageService } from 'src/shared/models/language/language.service'; import { ApiKeyService } from 'src/shared/services/api-key.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; import { CheckStatus } from 'src/subdomains/core/aml/enums/check-status.enum'; @@ -46,8 +47,10 @@ import { UserRepository } from './user.repository'; @Injectable() export class UserService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly userRepo: UserRepository, private readonly userDataRepo: UserDataRepository, private readonly userDataService: UserDataService, @@ -58,7 +61,7 @@ export class UserService { private readonly fiatService: FiatService, private readonly siftService: SiftService, ) { - this.logger.create(UserService); + this.logger = loggerFactory.create(UserService); } async getAllUser(): Promise { diff --git a/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts b/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts index 9276cbf234..e40861e2d8 100644 --- a/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts +++ b/src/subdomains/generic/user/services/webhook/webhook-notification.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; @@ -15,13 +16,15 @@ import { WebhookRepository } from './webhook.repository'; @Injectable() export class WebhookNotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly webhookRepo: WebhookRepository, private readonly http: HttpService, private readonly notificationService: NotificationService, ) { - this.logger.create(WebhookNotificationService); + this.logger = loggerFactory.create(WebhookNotificationService); } @DfxCron(CronExpression.EVERY_5_MINUTES, { process: Process.WEBHOOK, timeout: 1800 }) diff --git a/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts b/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts index 6455c519b2..65dd1aebda 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx-return/bank-tx-return.service.ts @@ -1,8 +1,9 @@ import { BadRequestException, Inject, Injectable, NotFoundException, OnModuleInit, forwardRef } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -21,12 +22,14 @@ import { UpdateBankTxReturnDto } from './dto/update-bank-tx-return.dto'; @Injectable() export class BankTxReturnService implements OnModuleInit { + private readonly logger: DfxLogger; + private chf: Fiat; private eur: Fiat; private usd: Fiat; constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly bankTxReturnRepo: BankTxReturnRepository, private readonly transactionService: TransactionService, private readonly transactionUtilService: TransactionUtilService, @@ -36,7 +39,7 @@ export class BankTxReturnService implements OnModuleInit { @Inject(forwardRef(() => BankTxService)) private readonly bankTxService: BankTxService, ) { - this.logger.create(BankTxReturnService); + this.logger = loggerFactory.create(BankTxReturnService); } onModuleInit() { diff --git a/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts b/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts index bb45801a4f..de03253319 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx/bank-tx.controller.ts @@ -13,10 +13,11 @@ import { import { AuthGuard } from '@nestjs/passport'; import { FilesInterceptor } from '@nestjs/platform-express'; import { ApiBearerAuth, ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { RoleGuard } from 'src/shared/auth/role.guard'; import { UserActiveGuard } from 'src/shared/auth/user-active.guard'; import { UserRole } from 'src/shared/auth/user-role.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { UpdateBankTxDto } from './dto/update-bank-tx.dto'; import { BankTxBatch } from './entities/bank-tx-batch.entity'; import { BankTx } from './entities/bank-tx.entity'; @@ -25,8 +26,10 @@ import { BankTxService } from './services/bank-tx.service'; @ApiTags('bankTx') @Controller('bankTx') export class BankTxController { - constructor(private readonly logger: DfxLoggerService, private readonly bankTxService: BankTxService) { - this.logger.create(BankTxController); + private readonly logger: DfxLogger; + + constructor(readonly loggerFactory: LoggerFactory, private readonly bankTxService: BankTxService) { + this.logger = loggerFactory.create(BankTxController); } @Post() diff --git a/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts b/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts index d0244b1bfb..8e53f3a654 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx/services/bank-tx.service.ts @@ -8,8 +8,9 @@ import { } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { RevolutService } from 'src/integration/bank/services/revolut.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { AmountType, Util } from 'src/shared/utils/util'; @@ -66,8 +67,10 @@ export const TransactionBankTxTypeMapper: { @Injectable() export class BankTxService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly bankTxRepo: BankTxRepository, private readonly bankTxBatchRepo: BankTxBatchRepository, @Inject(forwardRef(() => BuyCryptoService)) @@ -85,7 +88,7 @@ export class BankTxService { private readonly specialAccountService: SpecialExternalAccountService, private readonly sepaParser: SepaParser, ) { - this.logger.create(BankTxService); + this.logger = loggerFactory.create(BankTxService); } // --- TRANSACTION HANDLING --- // diff --git a/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts b/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts index 526785dde2..3c83cf8be6 100644 --- a/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts +++ b/src/subdomains/supporting/bank-tx/bank-tx/services/sepa-parser.service.ts @@ -1,8 +1,9 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { PricingService } from 'src/subdomains/supporting/pricing/services/pricing.service'; import { SepaEntry } from '../dto/sepa-entry.dto'; @@ -13,14 +14,15 @@ import { BankTx } from '../entities/bank-tx.entity'; @Injectable() export class SepaParser implements OnModuleInit { + private readonly logger: DfxLogger; private chf: Fiat; constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly pricingService: PricingService, private readonly fiatService: FiatService, ) { - this.logger.create(SepaParser); + this.logger = loggerFactory.create(SepaParser); } onModuleInit() { diff --git a/src/subdomains/supporting/dex/services/dex.service.ts b/src/subdomains/supporting/dex/services/dex.service.ts index b424d7805b..facf9054e7 100644 --- a/src/subdomains/supporting/dex/services/dex.service.ts +++ b/src/subdomains/supporting/dex/services/dex.service.ts @@ -2,8 +2,9 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { FeeAmount } from '@uniswap/v3-sdk'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { DfxCron } from 'src/shared/utils/cron'; import { IsNull, Not } from 'typeorm'; import { LiquidityOrder, LiquidityOrderContext, LiquidityOrderType } from '../entities/liquidity-order.entity'; @@ -31,8 +32,10 @@ import { SupplementaryStrategyRegistry } from '../strategies/supplementary/impl/ @Injectable() export class DexService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly checkLiquidityStrategyRegistry: CheckLiquidityStrategyRegistry, private readonly purchaseLiquidityStrategyRegistry: PurchaseLiquidityStrategyRegistry, private readonly sellLiquidityStrategyRegistry: SellLiquidityStrategyRegistry, @@ -41,7 +44,7 @@ export class DexService { private readonly liquidityOrderRepo: LiquidityOrderRepository, private readonly liquidityOrderFactory: LiquidityOrderFactory, ) { - this.logger.create(DexService); + this.logger = loggerFactory.create(DexService); } // *** MAIN PUBLIC API *** // diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts index d4dbc18be1..da2c6996e0 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class ArbitrumCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); + this.logger = this.loggerFactory.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts index 94ba7b9165..b588d070c4 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/arbitrum-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexArbitrumService } from '../../../services/dex-arbitrum.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class ArbitrumTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexArbitrumService: DexArbitrumService) { + constructor(readonly loggerFactory: LoggerFactory, dexArbitrumService: DexArbitrumService) { super(dexArbitrumService); - this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); + this.logger = this.loggerFactory.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts index 4eb6e572df..30a4a6eb14 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BaseCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(BaseCoinStrategy); + this.logger = this.loggerFactory.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts index 691e723a44..58c51d45f0 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexBaseService } from '../../../services/dex-base.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BaseTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexBaseService: DexBaseService) { + constructor(readonly loggerFactory: LoggerFactory, dexBaseService: DexBaseService) { super(dexBaseService); - this.logger = this.dfxLogger.create(BaseTokenStrategy); + this.logger = this.loggerFactory.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts index 70f319a72d..e5a12b42d0 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/base/purchase-liquidity.strategy.ts @@ -1,8 +1,8 @@ import { Inject, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityOrder } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { NotEnoughLiquidityException } from 'src/subdomains/supporting/dex/exceptions/not-enough-liquidity.exception'; import { PriceSlippageException } from 'src/subdomains/supporting/dex/exceptions/price-slippage.exception'; @@ -15,7 +15,7 @@ import { PurchaseLiquidityRequest } from '../../../../interfaces'; import { PurchaseLiquidityStrategyRegistry } from './purchase-liquidity.strategy-registry'; export abstract class PurchaseLiquidityStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; private _feeAsset: Asset; diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts index 8e02d77e85..0cac5594d9 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bitcoin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class BitcoinStrategy extends NoPurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { super(); - this.logger = this.dfxLogger.create(BitcoinStrategy); + this.logger = this.loggerFactory.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts index f3abad1a4d..988fd6d7d1 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BscCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(BscCoinStrategy); + this.logger = this.loggerFactory.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts index a259146995..ad94f2e38c 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/bsc-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexBscService } from '../../../services/dex-bsc.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class BscTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexBscService: DexBscService) { + constructor(readonly loggerFactory: LoggerFactory, dexBscService: DexBscService) { super(dexBscService); - this.logger = this.dfxLogger.create(BscTokenStrategy); + this.logger = this.loggerFactory.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts index 88e0e7dffe..f84d3d23b2 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class EthereumCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(EthereumCoinStrategy); + this.logger = this.loggerFactory.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts index c81c2a7c94..cb6bcbe7ab 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/ethereum-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexEthereumService } from '../../../services/dex-ethereum.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class EthereumTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexEthereumService: DexEthereumService) { + constructor(readonly loggerFactory: LoggerFactory, dexEthereumService: DexEthereumService) { super(dexEthereumService); - this.logger = this.dfxLogger.create(EthereumTokenStrategy); + this.logger = this.loggerFactory.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts index 9ac235dc4e..062114998f 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class GnosisCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(GnosisCoinStrategy); + this.logger = this.loggerFactory.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts index 5a2df2e5e1..edd2dec9aa 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/gnosis-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexGnosisService } from '../../../services/dex-gnosis.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class GnosisTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexGnosisService: DexGnosisService) { + constructor(readonly loggerFactory: LoggerFactory, dexGnosisService: DexGnosisService) { super(dexGnosisService); - this.logger = this.dfxLogger.create(GnosisTokenStrategy); + this.logger = this.loggerFactory.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts index 436bde3d76..116cc78a71 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/lightning.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class LightningStrategy extends NoPurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { super(); - this.logger = this.dfxLogger.create(LightningStrategy); + this.logger = this.loggerFactory.create(LightningStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts index e44f2d4a74..d2e7060c21 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/monero.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class MoneroStrategy extends NoPurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { super(); - this.logger = this.dfxLogger.create(MoneroStrategy); + this.logger = this.loggerFactory.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts index 508b6e738c..245c4beb48 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class OptimismCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(OptimismCoinStrategy); + this.logger = this.loggerFactory.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts index 32a3b1628b..cf66b1b9d2 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/optimism-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexOptimismService } from '../../../services/dex-optimism.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class OptimismTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexOptimismService: DexOptimismService) { + constructor(readonly loggerFactory: LoggerFactory, dexOptimismService: DexOptimismService) { super(dexOptimismService); - this.logger = this.dfxLogger.create(OptimismTokenStrategy); + this.logger = this.loggerFactory.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts index 2319621f7d..eef012cb6f 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PurchaseDexService, PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class PolygonCoinStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly dexService: PurchaseDexService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly dexService: PurchaseDexService) { super(dexService); - this.logger = this.dfxLogger.create(PolygonCoinStrategy); + this.logger = this.loggerFactory.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts index 121f7ea0e6..87b8fe8e1c 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/polygon-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DexPolygonService } from '../../../services/dex-polygon.service'; import { PurchaseStrategy } from './base/purchase.strategy'; @Injectable() export class PolygonTokenStrategy extends PurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, dexPolygonService: DexPolygonService) { + constructor(readonly loggerFactory: LoggerFactory, dexPolygonService: DexPolygonService) { super(dexPolygonService); - this.logger = this.dfxLogger.create(PolygonTokenStrategy); + this.logger = this.loggerFactory.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts index ddba3e6bf2..09d13e32ba 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-coin.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class SolanaCoinStrategy extends NoPurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { super(); - this.logger = this.dfxLogger.create(SolanaCoinStrategy); + this.logger = this.loggerFactory.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts index 01486b0575..df7f7551e1 100644 --- a/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/purchase-liquidity/impl/solana-token.strategy.ts @@ -1,17 +1,18 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetCategory, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NoPurchaseStrategy } from './base/no-purchase.strategy'; @Injectable() export class SolanaTokenStrategy extends NoPurchaseStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { super(); - this.logger = this.dfxLogger.create(SolanaTokenStrategy); + this.logger = this.loggerFactory.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts index 3d92f175ad..910c6b45bd 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class ArbitrumCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); + this.logger = this.loggerFactory.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts index d6a426c7a8..834980d1d1 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/arbitrum-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class ArbitrumTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); + this.logger = this.loggerFactory.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts index bad799e7cb..13bf2af9ff 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class BaseCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(BaseCoinStrategy); + this.logger = this.loggerFactory.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts index 57ca4b4cc4..49d03b502b 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class BaseTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(BaseTokenStrategy); + this.logger = this.loggerFactory.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts index 30a6965471..bd7e7d220f 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/base/sell-liquidity.strategy.ts @@ -1,13 +1,13 @@ import { Inject, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { LiquidityOrder } from 'src/subdomains/supporting/dex/entities/liquidity-order.entity'; import { SellLiquidityRequest } from '../../../../interfaces'; import { SellLiquidityStrategyRegistry } from './sell-liquidity.strategy-registry'; export abstract class SellLiquidityStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; private _feeAsset: Asset; diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts index 0f3054fa19..abf0244f80 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bitcoin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class BitcoinStrategy extends SellLiquidityStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(BitcoinStrategy); + this.logger = this.loggerFactory.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts index 1ee8e084ac..5dcf87b612 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class BscCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(BscCoinStrategy); + this.logger = this.loggerFactory.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts index 006bc6de08..ddd7454362 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/bsc-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class BscTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(BscTokenStrategy); + this.logger = this.loggerFactory.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts index d4f2bbebd9..a6239db3eb 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class EthereumCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(EthereumCoinStrategy); + this.logger = this.loggerFactory.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts index 5ff33093cb..ca8ac52c2e 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/ethereum-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class EthereumTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(EthereumTokenStrategy); + this.logger = this.loggerFactory.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts index 3a37e57cac..2efb45b860 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class GnosisCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(GnosisCoinStrategy); + this.logger = this.loggerFactory.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts index 283ab6ae7b..2972a6e986 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/gnosis-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class GnosisTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(GnosisTokenStrategy); + this.logger = this.loggerFactory.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts index 15156413ae..05404158b0 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/monero.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class MoneroStrategy extends SellLiquidityStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(MoneroStrategy); + this.logger = this.loggerFactory.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts index 8347a050fc..22ae5ceca4 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class OptimismCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(OptimismCoinStrategy); + this.logger = this.loggerFactory.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts index 1e40f66157..fdb5310b09 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/optimism-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class OptimismTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(OptimismTokenStrategy); + this.logger = this.loggerFactory.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts index 20570f303c..b18d33a402 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class PolygonCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(PolygonCoinStrategy); + this.logger = this.loggerFactory.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts index 8053ca50d6..a09d352d63 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/polygon-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { EvmTokenStrategy } from './base/evm-token.strategy'; @Injectable() export class PolygonTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(PolygonTokenStrategy); + this.logger = this.loggerFactory.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts index d827f174fc..16ee3ccbb0 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-coin.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class SolanaCoinStrategy extends SellLiquidityStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(SolanaCoinStrategy); + this.logger = this.loggerFactory.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts index 0a63c5ff93..ed3290912b 100644 --- a/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/dex/strategies/sell-liquidity/impl/solana-token.strategy.ts @@ -1,18 +1,19 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { SellLiquidityStrategy } from './base/sell-liquidity.strategy'; @Injectable() export class SolanaTokenStrategy extends SellLiquidityStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, protected readonly assetService: AssetService) { + constructor(readonly loggerFactory: LoggerFactory, protected readonly assetService: AssetService) { super(); - this.logger = this.dfxLogger.create(SolanaTokenStrategy); + this.logger = this.loggerFactory.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/fiat-output/fiat-output.service.ts b/src/subdomains/supporting/fiat-output/fiat-output.service.ts index 4483c7aa46..7a5327e292 100644 --- a/src/subdomains/supporting/fiat-output/fiat-output.service.ts +++ b/src/subdomains/supporting/fiat-output/fiat-output.service.ts @@ -1,7 +1,8 @@ import { BadRequestException, forwardRef, Inject, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { AzureStorageService } from 'src/integration/infrastructure/azure-storage.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -22,8 +23,10 @@ import { FiatOutputRepository } from './fiat-output.repository'; @Injectable() export class FiatOutputService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly fiatOutputRepo: FiatOutputRepository, private readonly buyFiatRepo: BuyFiatRepository, @Inject(forwardRef(() => BankTxService)) @@ -31,7 +34,7 @@ export class FiatOutputService { private readonly buyCryptoRepo: BuyCryptoRepository, private readonly ep2ReportService: Ep2ReportService, ) { - this.logger.create(FiatOutputService); + this.logger = loggerFactory.create(FiatOutputService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.FIAT_OUTPUT_COMPLETE, timeout: 1800 }) diff --git a/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts b/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts index ba765c25d8..d3ba5c2d19 100644 --- a/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts +++ b/src/subdomains/supporting/fiat-payin/services/checkout-tx.service.ts @@ -1,7 +1,8 @@ import { Inject, Injectable, NotFoundException, forwardRef } from '@nestjs/common'; import { Config } from 'src/config/config'; import { CheckoutPaymentStatus } from 'src/integration/checkout/dto/checkout.dto'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Util } from 'src/shared/utils/util'; import { BuyCryptoService } from 'src/subdomains/core/buy-crypto/process/services/buy-crypto.service'; import { BuyService } from 'src/subdomains/core/buy-crypto/routes/buy/buy.service'; @@ -12,15 +13,17 @@ import { CheckoutTxRepository } from '../repositories/checkout-tx.repository'; @Injectable() export class CheckoutTxService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly checkoutTxRepo: CheckoutTxRepository, @Inject(forwardRef(() => BuyCryptoService)) private readonly buyCryptoService: BuyCryptoService, private readonly buyService: BuyService, private readonly notificationService: NotificationService, ) { - this.logger.create(CheckoutTxService); + this.logger = loggerFactory.create(CheckoutTxService); } async createCheckoutBuyCrypto(tx: CheckoutTx): Promise { diff --git a/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts b/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts index e083293340..eff5bac320 100644 --- a/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts +++ b/src/subdomains/supporting/fiat-payin/services/fiat-payin-sync.service.ts @@ -4,7 +4,8 @@ import { CheckoutPayment, CheckoutPaymentStatus } from 'src/integration/checkout import { CheckoutService } from 'src/integration/checkout/services/checkout.service'; import { ChargebackReason, ChargebackState, TransactionStatus } from 'src/integration/sift/dto/sift.dto'; import { SiftService } from 'src/integration/sift/services/sift.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,8 +18,10 @@ import { CheckoutTxService } from './checkout-tx.service'; @Injectable() export class FiatPayInSyncService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly checkoutService: CheckoutService, private readonly checkoutTxRepo: CheckoutTxRepository, private readonly checkoutTxService: CheckoutTxService, @@ -26,7 +29,7 @@ export class FiatPayInSyncService { private readonly siftService: SiftService, private readonly buyService: BuyService, ) { - this.logger.create(FiatPayInSyncService); + this.logger = loggerFactory.create(FiatPayInSyncService); } // --- JOBS --- // diff --git a/src/subdomains/supporting/log/log-job.service.ts b/src/subdomains/supporting/log/log-job.service.ts index ba3f1e346b..919fae79f2 100644 --- a/src/subdomains/supporting/log/log-job.service.ts +++ b/src/subdomains/supporting/log/log-job.service.ts @@ -10,11 +10,12 @@ import { SolanaUtil } from 'src/integration/blockchain/solana/solana.util'; import { ExchangeTx, ExchangeTxType } from 'src/integration/exchange/entities/exchange-tx.entity'; import { ExchangeName } from 'src/integration/exchange/enums/exchange.enum'; import { ExchangeTxService } from 'src/integration/exchange/services/exchange-tx.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { amountType } from 'src/shared/models/active'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process, ProcessService } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { AmountType, Util } from 'src/shared/utils/util'; @@ -58,8 +59,10 @@ import { LogService } from './log.service'; @Injectable() export class LogJobService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly tradingRuleService: TradingRuleService, private readonly assetService: AssetService, private readonly logService: LogService, @@ -79,7 +82,7 @@ export class LogJobService { private readonly payoutService: PayoutService, private readonly processService: ProcessService, ) { - this.logger.create(LogJobService); + this.logger = loggerFactory.create(LogJobService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.TRADING_LOG, timeout: 1800 }) diff --git a/src/subdomains/supporting/notification/services/mail.service.ts b/src/subdomains/supporting/notification/services/mail.service.ts index d029b3dee6..6c18afb571 100644 --- a/src/subdomains/supporting/notification/services/mail.service.ts +++ b/src/subdomains/supporting/notification/services/mail.service.ts @@ -1,6 +1,7 @@ import { MailerOptions, MailerService } from '@nestjs-modules/mailer'; import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Mail } from '../entities/mail/base/mail'; export interface MailOptions { @@ -16,8 +17,10 @@ export interface MailOptions { @Injectable() export class MailService { - constructor(private readonly logger: DfxLoggerService, private readonly mailerService: MailerService) { - this.logger.create(MailService); + private readonly logger: DfxLogger; + + constructor(readonly loggerFactory: LoggerFactory, private readonly mailerService: MailerService) { + this.logger = loggerFactory.create(MailService); } async send(mail: Mail): Promise { diff --git a/src/subdomains/supporting/notification/services/notification-job.service.ts b/src/subdomains/supporting/notification/services/notification-job.service.ts index 04e7fbc934..34b466993b 100644 --- a/src/subdomains/supporting/notification/services/notification-job.service.ts +++ b/src/subdomains/supporting/notification/services/notification-job.service.ts @@ -1,7 +1,8 @@ import { MailerOptions } from '@nestjs-modules/mailer'; import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -24,14 +25,16 @@ export interface MailOptions { @Injectable() export class NotificationJobService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly notificationRepo: NotificationRepository, private readonly notificationService: NotificationService, private readonly mailFactory: MailFactory, private readonly mailService: MailService, ) { - this.logger.create(NotificationJobService); + this.logger = loggerFactory.create(NotificationJobService); } @DfxCron(CronExpression.EVERY_10_MINUTES, { process: Process.MAIL_RETRY, timeout: 7200 }) diff --git a/src/subdomains/supporting/notification/services/notification.service.ts b/src/subdomains/supporting/notification/services/notification.service.ts index 93f01e9743..32ee43dc51 100644 --- a/src/subdomains/supporting/notification/services/notification.service.ts +++ b/src/subdomains/supporting/notification/services/notification.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { UpdateNotificationDto } from '../dto/update-notification.dto'; import { Notification } from '../entities/notification.entity'; import { MailFactory } from '../factories/mail.factory'; @@ -9,13 +10,15 @@ import { MailService } from './mail.service'; @Injectable() export class NotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly mailFactory: MailFactory, private readonly mailService: MailService, private readonly notificationRepo: NotificationRepository, ) { - this.logger.create(NotificationService); + this.logger = loggerFactory.create(NotificationService); } async sendMail(request: MailRequest): Promise { diff --git a/src/subdomains/supporting/payin/services/payin-lightning.service.ts b/src/subdomains/supporting/payin/services/payin-lightning.service.ts index ffd1cdf4b3..4c185d05bd 100644 --- a/src/subdomains/supporting/payin/services/payin-lightning.service.ts +++ b/src/subdomains/supporting/payin/services/payin-lightning.service.ts @@ -1,16 +1,18 @@ import { Injectable } from '@nestjs/common'; import { LightningClient } from 'src/integration/lightning/lightning-client'; import { LightningService } from 'src/integration/lightning/services/lightning.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { CryptoInput } from '../entities/crypto-input.entity'; @Injectable() export class PayInLightningService { + private readonly logger: DfxLogger; private readonly client: LightningClient; - constructor(private readonly logger: DfxLoggerService, private readonly service: LightningService) { + constructor(readonly loggerFactory: LoggerFactory, private readonly service: LightningService) { this.client = service.getDefaultClient(); - this.logger.create(PayInLightningService); + this.logger = loggerFactory.create(PayInLightningService); } async checkHealthOrThrow(): Promise { diff --git a/src/subdomains/supporting/payin/services/payin-notification.service.ts b/src/subdomains/supporting/payin/services/payin-notification.service.ts index 81df0e2fa8..e4e8f28550 100644 --- a/src/subdomains/supporting/payin/services/payin-notification.service.ts +++ b/src/subdomains/supporting/payin/services/payin-notification.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -16,12 +17,14 @@ import { PayInRepository } from '../repositories/payin.repository'; @Injectable() export class PayInNotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly payInRepo: PayInRepository, private readonly notificationService: NotificationService, ) { - this.logger.create(PayInNotificationService); + this.logger = loggerFactory.create(PayInNotificationService); } @DfxCron(CronExpression.EVERY_5_MINUTES, { process: Process.PAY_IN_MAIL, timeout: 1800 }) diff --git a/src/subdomains/supporting/payin/services/payin.service.ts b/src/subdomains/supporting/payin/services/payin.service.ts index edf8c44926..527f111350 100644 --- a/src/subdomains/supporting/payin/services/payin.service.ts +++ b/src/subdomains/supporting/payin/services/payin.service.ts @@ -1,8 +1,9 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -23,14 +24,16 @@ import { SendStrategyRegistry } from '../strategies/send/impl/base/send.strategy @Injectable() export class PayInService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly payInRepository: PayInRepository, private readonly sendStrategyRegistry: SendStrategyRegistry, private readonly transactionService: TransactionService, private readonly paymentLinkPaymentService: PaymentLinkPaymentService, ) { - this.logger.create(PayInService); + this.logger = loggerFactory.create(PayInService); } //*** PUBLIC API ***// diff --git a/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts index 48a9b51769..bb562a3439 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/arbitrum.strategy.ts @@ -2,19 +2,20 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInArbitrumService } from '../../../services/payin-arbitrum.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class ArbitrumStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, arbitrumService: PayInArbitrumService) { + constructor(readonly loggerFactory: LoggerFactory, arbitrumService: PayInArbitrumService) { super(arbitrumService); - this.logger = this.dfxLogger.create(ArbitrumStrategy); + this.logger = this.loggerFactory.create(ArbitrumStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts index 0a975418c9..55a050c59b 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/base.strategy.ts @@ -2,19 +2,20 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInBaseService } from '../../../services/payin-base.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BaseStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, baseService: PayInBaseService) { + constructor(readonly loggerFactory: LoggerFactory, baseService: PayInBaseService) { super(baseService); - this.logger = this.dfxLogger.create(BaseStrategy); + this.logger = this.loggerFactory.create(BaseStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts index 1a98b3e095..2f12597447 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/base/register.strategy.ts @@ -1,7 +1,7 @@ import { Inject, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInEntry } from 'src/subdomains/supporting/payin/interfaces'; import { PayInRepository } from 'src/subdomains/supporting/payin/repositories/payin.repository'; import { PayInService } from 'src/subdomains/supporting/payin/services/payin.service'; @@ -12,7 +12,7 @@ export interface PayInInputLog { } export abstract class RegisterStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; @Inject() private readonly registry: RegisterStrategyRegistry; @Inject() protected readonly payInService: PayInService; diff --git a/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts index 2f30caaec6..b0b2050016 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/bitcoin.strategy.ts @@ -3,8 +3,9 @@ import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; import { BitcoinUTXO } from 'src/integration/blockchain/bitcoin/node/dto/bitcoin-transaction.dto'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -15,12 +16,12 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class BitcoinStrategy extends RegisterStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, private readonly bitcoinService: PayInBitcoinService) { + constructor(readonly loggerFactory: LoggerFactory, private readonly bitcoinService: PayInBitcoinService) { super(); - this.logger = this.dfxLogger.create(BitcoinStrategy); + this.logger = this.loggerFactory.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts index 73468af013..ff467a3ead 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/bsc.strategy.ts @@ -2,19 +2,20 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInBscService } from '../../../services/payin-bsc.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BscStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, bscService: PayInBscService) { + constructor(readonly loggerFactory: LoggerFactory, bscService: PayInBscService) { super(bscService); - this.logger = this.dfxLogger.create(BscStrategy); + this.logger = this.loggerFactory.create(BscStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts index 80c6d79e76..69c281a9ff 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/ethereum.strategy.ts @@ -2,19 +2,20 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInEthereumService } from '../../../services/payin-ethereum.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class EthereumStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, ethereumService: PayInEthereumService) { + constructor(readonly loggerFactory: LoggerFactory, ethereumService: PayInEthereumService) { super(ethereumService); - this.logger = this.dfxLogger.create(EthereumStrategy); + this.logger = this.loggerFactory.create(EthereumStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts index d8d9ea78a5..841d277a01 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/gnosis.strategy.ts @@ -6,19 +6,20 @@ import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-ma import { AlchemyWebhookDto } from 'src/integration/alchemy/dto/alchemy-webhook.dto'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInGnosisService } from '../../../services/payin-gnosis.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class GnosisStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, gnosisService: PayInGnosisService) { + constructor(readonly loggerFactory: LoggerFactory, gnosisService: PayInGnosisService) { super(gnosisService); - this.logger = this.dfxLogger.create(GnosisStrategy); + this.logger = this.loggerFactory.create(GnosisStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts index 39e6faeeff..0cc72f984d 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/lightning.strategy.ts @@ -2,8 +2,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { LnBitsTransactionWebhookDto } from 'src/integration/lightning/dto/lnbits.dto'; import { LightningHelper } from 'src/integration/lightning/lightning-helper'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInEntry } from '../../../interfaces'; import { PayInWebHookService } from '../../../services/payin-webhhook.service'; @@ -11,14 +12,14 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class LightningStrategy extends RegisterStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; private readonly depositWebhookMessageQueue: QueueHandler; - constructor(private readonly dfxLogger: DfxLoggerService, readonly payInWebHookService: PayInWebHookService) { + constructor(readonly loggerFactory: LoggerFactory, readonly payInWebHookService: PayInWebHookService) { super(); - this.logger = this.dfxLogger.create(LightningStrategy); + this.logger = this.loggerFactory.create(LightningStrategy); this.depositWebhookMessageQueue = new QueueHandler(); payInWebHookService diff --git a/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts index f43a4162dd..6ba32f8d9f 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/monero.strategy.ts @@ -3,8 +3,9 @@ import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; import { MoneroTransferDto } from 'src/integration/blockchain/monero/dto/monero.dto'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -15,12 +16,12 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class MoneroStrategy extends RegisterStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, private readonly payInMoneroService: PayInMoneroService) { + constructor(readonly loggerFactory: LoggerFactory, private readonly payInMoneroService: PayInMoneroService) { super(); - this.logger = this.dfxLogger.create(MoneroStrategy); + this.logger = this.loggerFactory.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts index 0b4d8545da..e6ebe26a22 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/optimism.strategy.ts @@ -2,19 +2,20 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInOptimismService } from '../../../services/payin-optimism.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class OptimismStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, optimismService: PayInOptimismService) { + constructor(readonly loggerFactory: LoggerFactory, optimismService: PayInOptimismService) { super(optimismService); - this.logger = this.dfxLogger.create(OptimismStrategy); + this.logger = this.loggerFactory.create(OptimismStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts index 914ad0df41..59ff075bf6 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/polygon.strategy.ts @@ -2,19 +2,20 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { Config } from 'src/config/config'; import { AlchemyNetworkMapper } from 'src/integration/alchemy/alchemy-network-mapper'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { PayInPolygonService } from '../../../services/payin-polygon.service'; import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class PolygonStrategy extends EvmStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, polygonService: PayInPolygonService) { + constructor(readonly loggerFactory: LoggerFactory, polygonService: PayInPolygonService) { super(polygonService); - this.logger = this.dfxLogger.create(PolygonStrategy); + this.logger = this.loggerFactory.create(PolygonStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts b/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts index 3f758fa076..78d0f07759 100644 --- a/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/register/impl/solana.strategy.ts @@ -5,10 +5,11 @@ import { SolanaService } from 'src/integration/blockchain/solana/services/solana import { SolanaUtil } from 'src/integration/blockchain/solana/solana.util'; import { TatumWebhookDto } from 'src/integration/tatum/dto/tatum.dto'; import { TatumWebhookService } from 'src/integration/tatum/services/tatum-webhook.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { RepositoryFactory } from 'src/shared/repositories/repository.factory'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { QueueHandler } from 'src/shared/utils/queue-handler'; import { Util } from 'src/shared/utils/util'; import { Like } from 'typeorm'; @@ -18,20 +19,20 @@ import { RegisterStrategy } from './base/register.strategy'; @Injectable() export class SolanaStrategy extends RegisterStrategy implements OnModuleInit { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; private addressWebhookMessageQueue: QueueHandler; private solanaPaymentDepositAddress: string; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly tatumWebhookService: TatumWebhookService, private readonly solanaService: SolanaService, private readonly repos: RepositoryFactory, ) { super(); - this.logger = this.dfxLogger.create(SolanaStrategy); + this.logger = this.loggerFactory.create(SolanaStrategy); } onModuleInit() { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts index 0ee1c6d8aa..be3a427a15 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-coin.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInArbitrumService } from '../../../services/payin-arbitrum.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class ArbitrumCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, arbitrumService: PayInArbitrumService, payInRepo: PayInRepository, ) { super(arbitrumService, payInRepo); - this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); + this.logger = this.loggerFactory.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts index 8dc84e44a1..8fd7fa231d 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/arbitrum-token.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInArbitrumService } from '../../../services/payin-arbitrum.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class ArbitrumTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, arbitrumService: PayInArbitrumService, payInRepo: PayInRepository, ) { super(arbitrumService, payInRepo); - this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); + this.logger = this.loggerFactory.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts index 994cb777fc..ca0e830400 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base-coin.strategy.ts @@ -1,21 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBaseService } from '../../../services/payin-base.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; @Injectable() export class BaseCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; - - constructor(private readonly dfxLogger: DfxLoggerService,baseService: PayInBaseService, payInRepo: PayInRepository) { + protected readonly logger: DfxLogger; + + constructor(readonly loggerFactory: LoggerFactory, baseService: PayInBaseService, payInRepo: PayInRepository) { super(baseService, payInRepo); - this.logger = this.dfxLogger.create(BaseCoinStrategy); + this.logger = this.loggerFactory.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts index fd6de529f6..4c29438385 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base-token.strategy.ts @@ -1,21 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBaseService } from '../../../services/payin-base.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class BaseTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, baseService: PayInBaseService, payInRepo: PayInRepository) { + constructor(readonly loggerFactory: LoggerFactory, baseService: PayInBaseService, payInRepo: PayInRepository) { super(baseService, payInRepo); - this.logger = this.dfxLogger.create(BaseTokenStrategy); + this.logger = this.loggerFactory.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts index 6055b45cd8..587b44b5d8 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/bitcoin-based.strategy.ts @@ -1,7 +1,7 @@ import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { PayInBitcoinBasedService } from 'src/subdomains/supporting/payin/services/base/payin-bitcoin-based.service'; import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exceptions/fee-limit-exceeded.exception'; import { CryptoInput, PayInConfirmationType } from '../../../../entities/crypto-input.entity'; @@ -9,7 +9,7 @@ import { PayInRepository } from '../../../../repositories/payin.repository'; import { SendStrategy, SendType } from './send.strategy'; export abstract class BitcoinBasedStrategy extends SendStrategy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; constructor( protected readonly payInService: PayInBitcoinBasedService, diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts index 36c13a33bd..9b2be883e3 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/evm.strategy.ts @@ -1,5 +1,5 @@ import { Config } from 'src/config/config'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { CryptoInput, @@ -12,7 +12,7 @@ import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exc import { SendGroup, SendGroupKey, SendStrategy, SendType } from './send.strategy'; export abstract class EvmStrategy extends SendStrategy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; constructor(protected readonly payInEvmService: PayInEvmService, protected readonly payInRepo: PayInRepository) { super(); diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts index 57814fb4e1..02bc9c60ea 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/send.strategy.ts @@ -2,12 +2,12 @@ import { Inject, OnModuleDestroy, OnModuleInit, forwardRef } from '@nestjs/commo import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { WalletAccount } from 'src/integration/blockchain/shared/evm/domain/wallet-account'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AmountType, Util } from 'src/shared/utils/util'; import { CryptoInput, @@ -36,7 +36,7 @@ export enum SendType { } export abstract class SendStrategy implements OnModuleInit, OnModuleDestroy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; protected chf: Fiat; @Inject() private readonly priceProvider: PricingService; diff --git a/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts index 9cdd614e8c..54fac1b2c3 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/base/solana.strategy.ts @@ -1,5 +1,5 @@ import { Config } from 'src/config/config'; -import { LogLevel } from 'src/shared/services/dfx-logger.service'; +import { LogLevel } from 'src/logger/dfx-logger.service'; import { CryptoInput, PayInConfirmationType, diff --git a/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts index 6b849f453d..2c52c72b45 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/bitcoin.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBitcoinService } from '../../../services/payin-bitcoin.service'; import { BitcoinBasedStrategy } from './base/bitcoin-based.strategy'; @Injectable() export class BitcoinStrategy extends BitcoinBasedStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly bitcoinService: PayInBitcoinService, protected payInRepo: PayInRepository, ) { super(bitcoinService, payInRepo); - this.logger = this.dfxLogger.create(BitcoinStrategy); + this.logger = this.loggerFactory.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts index d50e95d009..c4fec7dff9 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/bsc-coin.strategy.ts @@ -1,21 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBscService } from '../../../services/payin-bsc.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class BscCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, bscService: PayInBscService, payInRepo: PayInRepository) { + constructor(readonly loggerFactory: LoggerFactory, bscService: PayInBscService, payInRepo: PayInRepository) { super(bscService, payInRepo); - this.logger = this.dfxLogger.create(BscCoinStrategy); + this.logger = this.loggerFactory.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts index dab12379ba..492182e128 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/bsc-token.strategy.ts @@ -1,21 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInBscService } from '../../../services/payin-bsc.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class BscTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor(private readonly dfxLogger: DfxLoggerService, bscService: PayInBscService, payInRepo: PayInRepository) { + constructor(readonly loggerFactory: LoggerFactory, bscService: PayInBscService, payInRepo: PayInRepository) { super(bscService, payInRepo); - this.logger = this.dfxLogger.create(BscTokenStrategy); + this.logger = this.loggerFactory.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts index a0386739b1..22bbef3fc3 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-coin.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInEthereumService } from '../../../services/payin-ethereum.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class EthereumCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ethereumService: PayInEthereumService, payInRepo: PayInRepository, ) { super(ethereumService, payInRepo); - this.logger = this.dfxLogger.create(EthereumCoinStrategy); + this.logger = this.loggerFactory.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts index c437d657c5..de9a65cded 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/ethereum-token.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInEthereumService } from '../../../services/payin-ethereum.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class EthereumTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ethereumService: PayInEthereumService, payInRepo: PayInRepository, ) { super(ethereumService, payInRepo); - this.logger = this.dfxLogger.create(EthereumTokenStrategy); + this.logger = this.loggerFactory.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts index bccd664f60..be398f3a2f 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-coin.strategy.ts @@ -1,21 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInGnosisService } from '../../../services/payin-gnosis.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; @Injectable() export class GnosisCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; - - constructor(private readonly dfxLogger: DfxLoggerService,gnosisService: PayInGnosisService, payInRepo: PayInRepository) { + protected readonly logger: DfxLogger; + + constructor(readonly loggerFactory: LoggerFactory, gnosisService: PayInGnosisService, payInRepo: PayInRepository) { super(gnosisService, payInRepo); - this.logger = this.dfxLogger.create(GnosisCoinStrategy); + this.logger = this.loggerFactory.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts index 6cab7825fd..7487986093 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/gnosis-token.strategy.ts @@ -1,25 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInGnosisService } from '../../../services/payin-gnosis.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class GnosisTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor( - private readonly dfxLogger: DfxLoggerService, - gnosisService: PayInGnosisService, - payInRepo: PayInRepository, - ) { + constructor(readonly loggerFactory: LoggerFactory, gnosisService: PayInGnosisService, payInRepo: PayInRepository) { super(gnosisService, payInRepo); - this.logger = this.dfxLogger.create(GnosisTokenStrategy); + this.logger = this.loggerFactory.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts index 4b403caade..a762eb0316 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/lightning.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exceptions/fee-limit-exceeded.exception'; import { CryptoInput, PayInConfirmationType } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; @@ -11,16 +12,16 @@ import { SendStrategy, SendType } from './base/send.strategy'; @Injectable() export class LightningStrategy extends SendStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly lightningService: PayInLightningService, private readonly payInRepo: PayInRepository, ) { super(); - this.logger = this.dfxLogger.create(LightningStrategy); + this.logger = this.loggerFactory.create(LightningStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts index 9ab226c716..184564e20d 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/monero.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger, LogLevel } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService, LogLevel } from 'src/shared/services/dfx-logger.service'; import { FeeLimitExceededException } from 'src/subdomains/supporting/payment/exceptions/fee-limit-exceeded.exception'; import { CryptoInput } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; @@ -12,16 +13,16 @@ import { SendType } from './base/send.strategy'; @Injectable() export class MoneroStrategy extends BitcoinBasedStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly moneroService: PayInMoneroService, readonly payInRepo: PayInRepository, ) { super(moneroService, payInRepo); - this.logger = this.dfxLogger.create(MoneroStrategy); + this.logger = this.loggerFactory.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts index 0b1060f21a..a051593677 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/optimism-coin.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInOptimismService } from '../../../services/payin-optimism.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class OptimismCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, optimismService: PayInOptimismService, payInRepo: PayInRepository, ) { super(optimismService, payInRepo); - this.logger = this.dfxLogger.create(OptimismCoinStrategy); + this.logger = this.loggerFactory.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts index d212a61f66..000ec6182f 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/optimism-token.strategy.ts @@ -1,25 +1,26 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInOptimismService } from '../../../services/payin-optimism.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class OptimismTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, optimismService: PayInOptimismService, payInRepo: PayInRepository, ) { super(optimismService, payInRepo); - this.logger = this.dfxLogger.create(OptimismTokenStrategy); + this.logger = this.loggerFactory.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts index 9cd0e9ef4c..94ad6cc187 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/polygon-coin.strategy.ts @@ -1,25 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInPolygonService } from '../../../services/payin-polygon.service'; import { EvmCoinStrategy } from './base/evm-coin.strategy'; @Injectable() export class PolygonCoinStrategy extends EvmCoinStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor( - private readonly dfxLogger: DfxLoggerService, - polygonService: PayInPolygonService, - payInRepo: PayInRepository, - ) { + constructor(readonly loggerFactory: LoggerFactory, polygonService: PayInPolygonService, payInRepo: PayInRepository) { super(polygonService, payInRepo); - this.logger = this.dfxLogger.create(PolygonCoinStrategy); + this.logger = this.loggerFactory.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts index ebaab90d5f..d2d5241ec2 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/polygon-token.strategy.ts @@ -1,25 +1,22 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInPolygonService } from '../../../services/payin-polygon.service'; import { EvmTokenStrategy } from './base/evm.token.strategy'; @Injectable() export class PolygonTokenStrategy extends EvmTokenStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; - constructor( - private readonly dfxLogger: DfxLoggerService, - polygonService: PayInPolygonService, - payInRepo: PayInRepository, - ) { + constructor(readonly loggerFactory: LoggerFactory, polygonService: PayInPolygonService, payInRepo: PayInRepository) { super(polygonService, payInRepo); - this.logger = this.dfxLogger.create(PolygonTokenStrategy); + this.logger = this.loggerFactory.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts index a168625241..b2d19c3d81 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/solana-coin.strategy.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { CryptoInput } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInSolanaService } from '../../../services/payin-solana.service'; @@ -12,16 +13,16 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaCoinStrategy extends SolanaStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( payInSolanaService: PayInSolanaService, payInRepo: PayInRepository, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { super(payInSolanaService, payInRepo); - this.logger = this.dfxLogger.create(SolanaCoinStrategy); + this.logger = this.loggerFactory.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts b/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts index 2f6c25b5d4..f2ac755849 100644 --- a/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/payin/strategies/send/impl/solana-token.strategy.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetType } from 'src/shared/models/asset/asset.entity'; import { BlockchainAddress } from 'src/shared/models/blockchain-address'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { CryptoInput } from '../../../entities/crypto-input.entity'; import { PayInRepository } from '../../../repositories/payin.repository'; import { PayInSolanaService } from '../../../services/payin-solana.service'; @@ -12,16 +13,16 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaTokenStrategy extends SolanaStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( payInSolanaService: PayInSolanaService, payInRepo: PayInRepository, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, ) { super(payInSolanaService, payInRepo); - this.logger = this.dfxLogger.create(SolanaTokenStrategy); + this.logger = this.loggerFactory.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payment/services/fee.service.ts b/src/subdomains/supporting/payment/services/fee.service.ts index e575269585..45fc4adba5 100644 --- a/src/subdomains/supporting/payment/services/fee.service.ts +++ b/src/subdomains/supporting/payment/services/fee.service.ts @@ -8,13 +8,14 @@ import { import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Active, isAsset } from 'src/shared/models/active'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; import { SettingService } from 'src/shared/models/setting/setting.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -70,10 +71,12 @@ const FeeValidityMinutes = 30; @Injectable() export class FeeService implements OnModuleInit { + private readonly logger: DfxLogger; + private chf: Fiat; constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly feeRepo: FeeRepository, private readonly assetService: AssetService, private readonly fiatService: FiatService, @@ -85,7 +88,7 @@ export class FeeService implements OnModuleInit { private readonly pricingService: PricingService, private readonly bankService: BankService, ) { - this.logger.create(FeeService); + this.logger = loggerFactory.create(FeeService); } onModuleInit() { diff --git a/src/subdomains/supporting/payment/services/transaction-helper.ts b/src/subdomains/supporting/payment/services/transaction-helper.ts index 210268a22a..afbf076c89 100644 --- a/src/subdomains/supporting/payment/services/transaction-helper.ts +++ b/src/subdomains/supporting/payment/services/transaction-helper.ts @@ -4,6 +4,8 @@ import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { BlockchainRegistryService } from 'src/integration/blockchain/shared/services/blockchain-registry.service'; import { SolanaService } from 'src/integration/blockchain/solana/services/solana.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Active, amountType, feeAmountType, isAsset, isFiat } from 'src/shared/models/active'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; @@ -11,7 +13,6 @@ import { AssetDtoMapper } from 'src/shared/models/asset/dto/asset-dto.mapper'; import { FiatDtoMapper } from 'src/shared/models/fiat/dto/fiat-dto.mapper'; import { Fiat } from 'src/shared/models/fiat/fiat.entity'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { DfxCron } from 'src/shared/utils/cron'; @@ -50,6 +51,7 @@ import { TransactionService } from './transaction.service'; @Injectable() export class TransactionHelper implements OnModuleInit { + private readonly logger: DfxLogger; private readonly addressBalanceCache = new AsyncCache(CacheItemResetPeriod.EVERY_HOUR); private chf: Fiat; @@ -57,7 +59,7 @@ export class TransactionHelper implements OnModuleInit { private transactionSpecifications: TransactionSpecification[]; constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly specRepo: TransactionSpecificationRepository, private readonly pricingService: PricingService, private readonly fiatService: FiatService, @@ -72,7 +74,7 @@ export class TransactionHelper implements OnModuleInit { private readonly buyService: BuyService, private readonly assetService: AssetService, ) { - this.logger.create(TransactionHelper); + this.logger = loggerFactory.create(TransactionHelper); } onModuleInit() { diff --git a/src/subdomains/supporting/payment/services/transaction-notification.service.ts b/src/subdomains/supporting/payment/services/transaction-notification.service.ts index 60353eeba7..0d1eb94c90 100644 --- a/src/subdomains/supporting/payment/services/transaction-notification.service.ts +++ b/src/subdomains/supporting/payment/services/transaction-notification.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -17,13 +18,15 @@ import { TransactionRepository } from '../repositories/transaction.repository'; @Injectable() export class TransactionNotificationService { + private readonly logger: DfxLogger; + constructor( - private readonly logger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly repo: TransactionRepository, private readonly notificationService: NotificationService, private readonly bankDataService: BankDataService, ) { - this.logger.create(TransactionNotificationService); + this.logger = loggerFactory.create(TransactionNotificationService); } @DfxCron(CronExpression.EVERY_MINUTE, { process: Process.TX_MAIL, timeout: 1800 }) diff --git a/src/subdomains/supporting/payment/services/transaction-request.service.ts b/src/subdomains/supporting/payment/services/transaction-request.service.ts index 4381cb92cf..22db6eda26 100644 --- a/src/subdomains/supporting/payment/services/transaction-request.service.ts +++ b/src/subdomains/supporting/payment/services/transaction-request.service.ts @@ -3,9 +3,10 @@ import { Cron, CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; import { SiftService } from 'src/integration/sift/services/sift.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { Lock } from 'src/shared/utils/lock'; import { Util } from 'src/shared/utils/util'; @@ -32,7 +33,10 @@ export const QUOTE_UID_PREFIX = 'Q'; @Injectable() export class TransactionRequestService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly transactionRequestRepo: TransactionRequestRepository, private readonly siftService: SiftService, private readonly assetService: AssetService, @@ -41,9 +45,8 @@ export class TransactionRequestService { private readonly sellService: SellService, @Inject(forwardRef(() => SwapService)) private readonly swapService: SwapService, - private readonly logger: DfxLoggerService, ) { - logger.create(TransactionRequestService); + this.logger = loggerFactory.create(TransactionRequestService); } @Cron(CronExpression.EVERY_MINUTE) diff --git a/src/subdomains/supporting/payout/services/payout-log.service.ts b/src/subdomains/supporting/payout/services/payout-log.service.ts index bbe34f3453..38ecebd290 100644 --- a/src/subdomains/supporting/payout/services/payout-log.service.ts +++ b/src/subdomains/supporting/payout/services/payout-log.service.ts @@ -1,11 +1,14 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { PayoutOrder } from '../entities/payout-order.entity'; @Injectable() export class PayoutLogService { - constructor(private readonly logger: DfxLoggerService) { - logger.create(PayoutLogService); + private readonly logger: DfxLogger; + + constructor(readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(PayoutLogService); } logTransferCompletion(confirmedOrders: PayoutOrder[]): void { diff --git a/src/subdomains/supporting/payout/services/payout.service.ts b/src/subdomains/supporting/payout/services/payout.service.ts index 0f72d8433d..853bd3f9e9 100644 --- a/src/subdomains/supporting/payout/services/payout.service.ts +++ b/src/subdomains/supporting/payout/services/payout.service.ts @@ -1,7 +1,8 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -19,16 +20,18 @@ import { PayoutLogService } from './payout-log.service'; @Injectable() export class PayoutService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly logs: PayoutLogService, private readonly notificationService: NotificationService, private readonly payoutOrderRepo: PayoutOrderRepository, private readonly payoutOrderFactory: PayoutOrderFactory, private readonly payoutStrategyRegistry: PayoutStrategyRegistry, private readonly prepareStrategyRegistry: PrepareStrategyRegistry, - private readonly logger: DfxLoggerService, ) { - logger.create(PayoutService); + this.logger = loggerFactory.create(PayoutService); } //*** PUBLIC API ***// diff --git a/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts b/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts index e5d6e929e3..28bad3080e 100644 --- a/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts +++ b/src/subdomains/supporting/payout/strategies/payout/__tests__/payout-bitcoin-based.strategy.spec.ts @@ -1,8 +1,8 @@ import { mock } from 'jest-mock-extended'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { createCustomAsset } from 'src/shared/models/asset/__mocks__/asset.entity.mock'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { createCustomPayoutOrder, @@ -238,7 +238,7 @@ describe('PayoutBitcoinBasedStrategy', () => { }); class PayoutBitcoinBasedStrategyWrapper extends BitcoinBasedStrategy { - protected readonly logger = new DfxLoggerService(PayoutBitcoinBasedStrategyWrapper); + protected readonly logger = new DfxLogger(PayoutBitcoinBasedStrategyWrapper); constructor( notificationService: NotificationService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts index a900ee64c2..e9e2819731 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutArbitrumService } from '../../../services/payout-arbitrum.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class ArbitrumCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly arbitrumService: PayoutArbitrumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(arbitrumService, payoutOrderRepo); - this.logger = this.dfxLogger.create(ArbitrumCoinStrategy); + this.logger = this.loggerFactory.create(ArbitrumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts index 384dc8c018..aa311c1190 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/arbitrum-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutArbitrumService } from '../../../services/payout-arbitrum.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class ArbitrumTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly arbitrumService: PayoutArbitrumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(arbitrumService, payoutOrderRepo); - this.logger = this.dfxLogger.create(ArbitrumTokenStrategy); + this.logger = this.loggerFactory.create(ArbitrumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts index 4ef6218d73..4d8e606f12 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBaseService } from '../../../services/payout-base.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BaseCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly baseService: PayoutBaseService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(baseService, payoutOrderRepo); - this.logger = this.dfxLogger.create(BaseCoinStrategy); + this.logger = this.loggerFactory.create(BaseCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts index b578458109..0b2eabd545 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBaseService } from '../../../services/payout-base.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BaseTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly baseService: PayoutBaseService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(baseService, payoutOrderRepo); - this.logger = this.dfxLogger.create(BaseTokenStrategy); + this.logger = this.loggerFactory.create(BaseTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts index f96d0296c7..9f13ce1ca5 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base/bitcoin-based.strategy.ts @@ -1,6 +1,6 @@ import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { Util } from 'src/shared/utils/util'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; @@ -15,7 +15,7 @@ import { PayoutOrderRepository } from '../../../../repositories/payout-order.rep import { PayoutStrategy } from './payout.strategy'; export abstract class BitcoinBasedStrategy extends PayoutStrategy { - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; constructor( protected readonly notificationService: NotificationService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts index 5ad25d9f08..d88ef3bdc1 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base/evm.strategy.ts @@ -1,6 +1,6 @@ import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { FeeResult } from 'src/subdomains/supporting/payout/interfaces'; @@ -11,7 +11,7 @@ import { PayoutStrategy } from './payout.strategy'; export abstract class EvmStrategy extends PayoutStrategy { private readonly txFees = new AsyncCache(CacheItemResetPeriod.EVERY_30_SECONDS); - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; constructor( protected readonly payoutEvmService: PayoutEvmService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts index 470f56f2b4..fb31fe5c39 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/base/solana.strategy.ts @@ -1,6 +1,6 @@ import { Config } from 'src/config/config'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; import { Asset } from 'src/shared/models/asset/asset.entity'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { FeeResult } from 'src/subdomains/supporting/payout/interfaces'; import { PayoutOrderRepository } from 'src/subdomains/supporting/payout/repositories/payout-order.repository'; @@ -10,7 +10,7 @@ import { PayoutStrategy } from './payout.strategy'; export abstract class SolanaStrategy extends PayoutStrategy { private readonly txFees = new AsyncCache(CacheItemResetPeriod.EVERY_30_SECONDS); - protected abstract readonly logger: DfxLoggerService; + protected abstract readonly logger: DfxLogger; constructor( protected readonly solanaService: PayoutSolanaService, diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts index eac6d30612..fae232a126 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/bitcoin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { PayoutOrder, PayoutOrderContext } from '../../../entities/payout-order.entity'; @@ -15,18 +16,18 @@ import { BitcoinBasedStrategy } from './base/bitcoin-based.strategy'; @Injectable() export class BitcoinStrategy extends BitcoinBasedStrategy { private readonly averageTransactionSize = 140; // vBytes - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( notificationService: NotificationService, + readonly loggerFactory: LoggerFactory, protected readonly bitcoinService: PayoutBitcoinService, protected readonly payoutOrderRepo: PayoutOrderRepository, protected readonly assetService: AssetService, - private readonly dfxLogger: DfxLoggerService, ) { super(notificationService, payoutOrderRepo, bitcoinService); - this.logger = this.dfxLogger.create(BitcoinStrategy); + this.logger = this.loggerFactory.create(BitcoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts index 384cda58ac..b98facdd1e 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBscService } from '../../../services/payout-bsc.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BscCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly bscService: PayoutBscService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(bscService, payoutOrderRepo); - this.logger = this.dfxLogger.create(BscCoinStrategy); + this.logger = this.loggerFactory.create(BscCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts index 5a36f27e71..742209270f 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/bsc-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutBscService } from '../../../services/payout-bsc.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class BscTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly bscService: PayoutBscService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(bscService, payoutOrderRepo); - this.logger = this.dfxLogger.create(BscTokenStrategy); + this.logger = this.loggerFactory.create(BscTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts index ceb9cf0ee2..25142cc5d5 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutEthereumService } from '../../../services/payout-ethereum.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class EthereumCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly ethereumService: PayoutEthereumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(ethereumService, payoutOrderRepo); - this.logger = this.dfxLogger.create(EthereumCoinStrategy); + this.logger = this.loggerFactory.create(EthereumCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts index d37ecc0a1a..14563d5043 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/ethereum-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutEthereumService } from '../../../services/payout-ethereum.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class EthereumTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly ethereumService: PayoutEthereumService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(ethereumService, payoutOrderRepo); - this.logger = this.dfxLogger.create(EthereumTokenStrategy); + this.logger = this.loggerFactory.create(EthereumTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts index e47a24fd41..362aab6bf0 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutGnosisService } from '../../../services/payout-gnosis.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class GnosisCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly gnosisService: PayoutGnosisService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(gnosisService, payoutOrderRepo); - this.logger = this.dfxLogger.create(GnosisCoinStrategy); + this.logger = this.loggerFactory.create(GnosisCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts index c6f825a114..a2fb6ab9f4 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/gnosis-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutGnosisService } from '../../../services/payout-gnosis.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class GnosisTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly gnosisService: PayoutGnosisService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(gnosisService, payoutOrderRepo); - this.logger = this.dfxLogger.create(GnosisTokenStrategy); + this.logger = this.loggerFactory.create(GnosisTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts index 099a3b5d53..b0a03954b1 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/lightning.strategy.ts @@ -1,9 +1,10 @@ import { Injectable, NotImplementedException } from '@nestjs/common'; import { Config } from 'src/config/config'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { FeeResult } from '../../../interfaces'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; @@ -12,17 +13,17 @@ import { PayoutStrategy } from './base/payout.strategy'; @Injectable() export class LightningStrategy extends PayoutStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( + readonly loggerFactory: LoggerFactory, private readonly assetService: AssetService, private readonly payoutLightningService: PayoutLightningService, private readonly payoutOrderRepo: PayoutOrderRepository, - private readonly dfxLogger: DfxLoggerService, ) { super(); - this.logger = this.dfxLogger.create(LightningStrategy); + this.logger = this.loggerFactory.create(LightningStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts index 2404c8b1c4..06e3fd1197 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/monero.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Util } from 'src/shared/utils/util'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; import { PayoutOrder, PayoutOrderContext } from '../../../entities/payout-order.entity'; @@ -15,18 +16,18 @@ import { BitcoinBasedStrategy } from './base/bitcoin-based.strategy'; @Injectable() export class MoneroStrategy extends BitcoinBasedStrategy { private readonly averageTransactionSize = 1600; // Bytes - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( notificationService: NotificationService, + readonly loggerFactory: LoggerFactory, protected readonly payoutMoneroService: PayoutMoneroService, protected readonly payoutOrderRepo: PayoutOrderRepository, protected readonly assetService: AssetService, - private readonly dfxLogger: DfxLoggerService, ) { super(notificationService, payoutOrderRepo, payoutMoneroService); - this.logger = this.dfxLogger.create(MoneroStrategy); + this.logger = this.loggerFactory.create(MoneroStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts index 0f68e99fd2..1188a60732 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutOptimismService } from '../../../services/payout-optimism.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class OptimismCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly optimismService: PayoutOptimismService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(optimismService, payoutOrderRepo); - this.logger = this.dfxLogger.create(OptimismCoinStrategy); + this.logger = this.loggerFactory.create(OptimismCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts index a25eee070b..7fa77bdf96 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/optimism-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutOptimismService } from '../../../services/payout-optimism.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class OptimismTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly optimismService: PayoutOptimismService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(optimismService, payoutOrderRepo); - this.logger = this.dfxLogger.create(OptimismTokenStrategy); + this.logger = this.loggerFactory.create(OptimismTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts index 824fc0c94b..a8332e8d41 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutPolygonService } from '../../../services/payout-polygon.service'; @@ -10,17 +11,17 @@ import { EvmStrategy } from './base/evm.strategy'; @Injectable() export class PolygonCoinStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, protected readonly polygonService: PayoutPolygonService, protected readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(polygonService, payoutOrderRepo); - this.logger = this.dfxLogger.create(PolygonCoinStrategy); + this.logger = this.loggerFactory.create(PolygonCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts index 15535304ee..791fc1447d 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/polygon-token.strategy.ts @@ -1,26 +1,27 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutPolygonService } from '../../../services/payout-polygon.service'; import { EvmStrategy } from './base/evm.strategy'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; @Injectable() export class PolygonTokenStrategy extends EvmStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( protected readonly polygonService: PayoutPolygonService, protected readonly assetService: AssetService, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, payoutOrderRepo: PayoutOrderRepository, ) { super(polygonService, payoutOrderRepo); - this.logger = this.dfxLogger.create(PolygonTokenStrategy); + this.logger = this.loggerFactory.create(PolygonTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts index 5d060fe4a0..54f1d9eb33 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/solana-coin.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutSolanaService } from '../../../services/payout-solana.service'; @@ -10,17 +11,17 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaCoinStrategy extends SolanaStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( protected readonly solanaService: PayoutSolanaService, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(solanaService, payoutOrderRepo); - this.logger = this.dfxLogger.create(SolanaCoinStrategy); + this.logger = this.loggerFactory.create(SolanaCoinStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts b/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts index 3295c18889..70cfe695f8 100644 --- a/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts +++ b/src/subdomains/supporting/payout/strategies/payout/impl/solana-token.strategy.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { Blockchain } from 'src/integration/blockchain/shared/enums/blockchain.enum'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { PayoutOrder } from '../../../entities/payout-order.entity'; import { PayoutOrderRepository } from '../../../repositories/payout-order.repository'; import { PayoutSolanaService } from '../../../services/payout-solana.service'; @@ -10,17 +11,17 @@ import { SolanaStrategy } from './base/solana.strategy'; @Injectable() export class SolanaTokenStrategy extends SolanaStrategy { - protected readonly logger: DfxLoggerService; + protected readonly logger: DfxLogger; constructor( protected readonly solanaService: PayoutSolanaService, - private readonly dfxLogger: DfxLoggerService, + readonly loggerFactory: LoggerFactory, private readonly assetService: AssetService, payoutOrderRepo: PayoutOrderRepository, ) { super(solanaService, payoutOrderRepo); - this.logger = this.dfxLogger.create(SolanaTokenStrategy); + this.logger = this.loggerFactory.create(SolanaTokenStrategy); } get blockchain(): Blockchain { diff --git a/src/subdomains/supporting/pricing/services/asset-prices.service.ts b/src/subdomains/supporting/pricing/services/asset-prices.service.ts index dab8315b94..5c1f215f11 100644 --- a/src/subdomains/supporting/pricing/services/asset-prices.service.ts +++ b/src/subdomains/supporting/pricing/services/asset-prices.service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Asset, AssetType } from 'src/shared/models/asset/asset.entity'; import { AssetService } from 'src/shared/models/asset/asset.service'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -14,14 +15,16 @@ import { PricingService } from './pricing.service'; @Injectable() export class AssetPricesService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly assetService: AssetService, private readonly fiatService: FiatService, private readonly pricingService: PricingService, private readonly assetPriceRepo: AssetPriceRepository, - private readonly logger: DfxLoggerService, ) { - logger.create(AssetPricesService); + this.logger = loggerFactory.create(AssetPricesService); } // --- JOBS --- // diff --git a/src/subdomains/supporting/pricing/services/fiat-prices.service.ts b/src/subdomains/supporting/pricing/services/fiat-prices.service.ts index b0bf7061b4..f3bdcf30fc 100644 --- a/src/subdomains/supporting/pricing/services/fiat-prices.service.ts +++ b/src/subdomains/supporting/pricing/services/fiat-prices.service.ts @@ -1,19 +1,22 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { FiatService } from 'src/shared/models/fiat/fiat.service'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { PricingService } from './pricing.service'; @Injectable() export class FiatPricesService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly fiatService: FiatService, private readonly pricingService: PricingService, - private readonly logger: DfxLoggerService, ) { - logger.create(FiatPricesService); + this.logger = loggerFactory.create(FiatPricesService); } // --- JOBS --- // diff --git a/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts b/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts index 863869881a..3069ceebb8 100644 --- a/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts +++ b/src/subdomains/supporting/pricing/services/integration/coin-gecko.service.ts @@ -1,20 +1,22 @@ import { Injectable, OnModuleInit, ServiceUnavailableException } from '@nestjs/common'; import { CoinGeckoClient } from 'coingecko-api-v3'; import { GetConfig } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Price } from '../../domain/entities/price'; import { PricingProvider } from './pricing-provider'; @Injectable() export class CoinGeckoService extends PricingProvider implements OnModuleInit { + private readonly logger: DfxLogger; private readonly client: CoinGeckoClient; private currencies: string[]; - constructor(private readonly logger: DfxLoggerService) { + constructor(readonly loggerFactory: LoggerFactory) { super(); this.client = new CoinGeckoClient({ autoRetry: false }, GetConfig().coinGecko.apiKey); - logger.create(CoinGeckoService); + this.logger = loggerFactory.create(CoinGeckoService); } onModuleInit() { diff --git a/src/subdomains/supporting/pricing/services/pricing.service.ts b/src/subdomains/supporting/pricing/services/pricing.service.ts index 3d4c615392..42d34e51cc 100644 --- a/src/subdomains/supporting/pricing/services/pricing.service.ts +++ b/src/subdomains/supporting/pricing/services/pricing.service.ts @@ -2,8 +2,9 @@ import { Injectable } from '@nestjs/common'; import { BinanceService } from 'src/integration/exchange/services/binance.service'; import { KrakenService } from 'src/integration/exchange/services/kraken.service'; import { KucoinService } from 'src/integration/exchange/services/kucoin.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Active, activesEqual, isFiat } from 'src/shared/models/active'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; import { AsyncCache, CacheItemResetPeriod } from 'src/shared/utils/async-cache'; import { Util } from 'src/shared/utils/util'; import { MailContext, MailType } from '../../notification/enums'; @@ -24,12 +25,14 @@ import { PricingFrankencoinService } from './integration/pricing-frankencoin.ser @Injectable() export class PricingService { + private readonly logger: DfxLogger; private readonly providerMap: PricingProviderMap; private readonly priceRuleCache = new AsyncCache(CacheItemResetPeriod.EVERY_6_HOURS); private readonly providerPriceCache = new AsyncCache(CacheItemResetPeriod.EVERY_10_SECONDS); private readonly updateCalls = new AsyncCache(CacheItemResetPeriod.ALWAYS); constructor( + readonly loggerFactory: LoggerFactory, private readonly priceRuleRepo: PriceRuleRepository, private readonly notificationService: NotificationService, readonly krakenService: KrakenService, @@ -43,7 +46,6 @@ export class PricingService { readonly deuroService: PricingDeuroService, readonly ebel2xService: PricingEbel2xService, readonly constantService: PricingConstantService, - private readonly logger: DfxLoggerService, ) { this.providerMap = { [PriceSource.KRAKEN]: krakenService, @@ -58,7 +60,7 @@ export class PricingService { [PriceSource.EBEL2X]: ebel2xService, [PriceSource.CONSTANT]: constantService, }; - logger.create(PricingService); + this.logger = loggerFactory.create(PricingService); } async getPrice(from: Active, to: Active, allowExpired: boolean, tryCount = 2): Promise { diff --git a/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts b/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts index 890efae8c4..7b7214ab56 100644 --- a/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts +++ b/src/subdomains/supporting/support-issue/services/limit-request-notification.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; import { CronExpression } from '@nestjs/schedule'; import { Config } from 'src/config/config'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Process } from 'src/shared/services/process.service'; import { DfxCron } from 'src/shared/utils/cron'; import { Util } from 'src/shared/utils/util'; @@ -14,12 +15,14 @@ import { LimitRequestRepository } from '../repositories/limit-request.repository @Injectable() export class LimitRequestNotificationService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly limitRequestRepo: LimitRequestRepository, private readonly notificationService: NotificationService, - private readonly logger: DfxLoggerService, ) { - logger.create(LimitRequestNotificationService); + this.logger = loggerFactory.create(LimitRequestNotificationService); } @DfxCron(CronExpression.EVERY_5_MINUTES, { process: Process.LIMIT_REQUEST_MAIL, timeout: 1800 }) diff --git a/src/subdomains/supporting/support-issue/services/limit-request.service.ts b/src/subdomains/supporting/support-issue/services/limit-request.service.ts index 6467e7a7a9..b53c4f00b0 100644 --- a/src/subdomains/supporting/support-issue/services/limit-request.service.ts +++ b/src/subdomains/supporting/support-issue/services/limit-request.service.ts @@ -1,5 +1,6 @@ import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { Util } from 'src/shared/utils/util'; import { MailContext, MailType } from 'src/subdomains/supporting/notification/enums'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; @@ -16,15 +17,17 @@ import { SupportLogService } from './support-log.service'; @Injectable() export class LimitRequestService { + private readonly logger: DfxLogger; + constructor( + readonly loggerFactory: LoggerFactory, private readonly limitRequestRepo: LimitRequestRepository, private readonly webhookService: WebhookService, private readonly notificationService: NotificationService, private readonly supportIssueRepo: SupportIssueRepository, private readonly supportLogService: SupportLogService, - private readonly logger: DfxLoggerService, ) { - logger.create(LimitRequestService); + this.logger = loggerFactory.create(LimitRequestService); } async increaseLimitInternal(dto: LimitRequestDto, userData: UserData): Promise { diff --git a/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts b/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts index 1d79e1b531..17243f521f 100644 --- a/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts +++ b/src/subdomains/supporting/support-issue/services/support-issue-notification.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { DfxLoggerService } from 'src/shared/services/dfx-logger.service'; +import { DfxLogger } from 'src/logger/dfx-logger.service'; +import { LoggerFactory } from 'src/logger/logger.factory'; import { DisabledProcess, Process } from 'src/shared/services/process.service'; import { MailContext, MailType } from '../../notification/enums'; import { MailTranslationKey } from '../../notification/factories/mail.factory'; @@ -8,8 +9,10 @@ import { SupportMessage } from '../entities/support-message.entity'; @Injectable() export class SupportIssueNotificationService { - constructor(private readonly notificationService: NotificationService, private readonly logger: DfxLoggerService) { - logger.create(SupportIssueNotificationService); + private readonly logger: DfxLogger; + + constructor(private readonly notificationService: NotificationService, readonly loggerFactory: LoggerFactory) { + this.logger = loggerFactory.create(SupportIssueNotificationService); } async newSupportMessage(entity: SupportMessage): Promise { From 514522257edb044b4a286b35ac35f298aba028bd Mon Sep 17 00:00:00 2001 From: Yannick1712 <52333989+Yannick1712@users.noreply.github.com> Date: Wed, 25 Jun 2025 18:40:56 +0200 Subject: [PATCH 4/6] [DEV-2478] adapt logger module --- src/app.module.ts | 11 +++++++++-- src/logger/logger.factory.ts | 7 +++++-- src/logger/logger.module.ts | 9 +++++---- .../supporting/notification/notification.module.ts | 2 ++ .../notification/services/notification.service.ts | 3 ++- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/app.module.ts b/src/app.module.ts index 984c5fa800..3cc381ba2f 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -1,13 +1,20 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AppController } from './app.controller'; -import { SharedModule } from './shared/shared.module'; import { GetConfig } from './config/config'; import { IntegrationModule } from './integration/integration.module'; +import { LoggerModule } from './logger/logger.module'; +import { SharedModule } from './shared/shared.module'; import { SubdomainsModule } from './subdomains/subdomains.module'; @Module({ - imports: [TypeOrmModule.forRoot(GetConfig().database), SharedModule, IntegrationModule, SubdomainsModule], + imports: [ + TypeOrmModule.forRoot(GetConfig().database), + SharedModule, + IntegrationModule, + SubdomainsModule, + LoggerModule, + ], controllers: [AppController], providers: [], exports: [], diff --git a/src/logger/logger.factory.ts b/src/logger/logger.factory.ts index f0b810df93..dd73676ec2 100644 --- a/src/logger/logger.factory.ts +++ b/src/logger/logger.factory.ts @@ -1,10 +1,13 @@ -import { Injectable } from '@nestjs/common'; +import { Inject, Injectable, forwardRef } from '@nestjs/common'; import { DfxLogger } from 'src/logger/dfx-logger.service'; import { NotificationService } from 'src/subdomains/supporting/notification/services/notification.service'; @Injectable() export class LoggerFactory { - constructor(private readonly notificationService: NotificationService) {} + constructor( + @Inject(forwardRef(() => NotificationService)) + private readonly notificationService: NotificationService, + ) {} create(context?: { name: string } | string): DfxLogger { return new DfxLogger(context, this.notificationService); diff --git a/src/logger/logger.module.ts b/src/logger/logger.module.ts index 11a40d8e70..6e164df600 100644 --- a/src/logger/logger.module.ts +++ b/src/logger/logger.module.ts @@ -1,11 +1,12 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { NotificationModule } from 'src/subdomains/supporting/notification/notification.module'; +import { DfxLogger } from './dfx-logger.service'; import { LoggerFactory } from './logger.factory'; @Module({ - imports: [NotificationModule], + imports: [forwardRef(() => NotificationModule)], controllers: [], - providers: [LoggerFactory], - exports: [LoggerFactory], + providers: [LoggerFactory, DfxLogger], + exports: [LoggerFactory, DfxLogger], }) export class LoggerModule {} diff --git a/src/subdomains/supporting/notification/notification.module.ts b/src/subdomains/supporting/notification/notification.module.ts index b1a980b854..32699d35d0 100644 --- a/src/subdomains/supporting/notification/notification.module.ts +++ b/src/subdomains/supporting/notification/notification.module.ts @@ -2,6 +2,7 @@ import { MailerModule } from '@nestjs-modules/mailer'; import { Module, forwardRef } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { GetConfig } from 'src/config/config'; +import { LoggerModule } from 'src/logger/logger.module'; import { SharedModule } from 'src/shared/shared.module'; import { Notification } from './entities/notification.entity'; import { MailFactory } from './factories/mail.factory'; @@ -16,6 +17,7 @@ import { NotificationService } from './services/notification.service'; TypeOrmModule.forFeature([Notification]), MailerModule.forRoot(GetConfig().mail.options), forwardRef(() => SharedModule), + forwardRef(() => LoggerModule), ], providers: [NotificationRepository, MailService, NotificationService, MailFactory, NotificationJobService], controllers: [NotificationController], diff --git a/src/subdomains/supporting/notification/services/notification.service.ts b/src/subdomains/supporting/notification/services/notification.service.ts index 32ee43dc51..7c7ba5793d 100644 --- a/src/subdomains/supporting/notification/services/notification.service.ts +++ b/src/subdomains/supporting/notification/services/notification.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { Inject, Injectable, forwardRef } from '@nestjs/common'; import { DfxLogger } from 'src/logger/dfx-logger.service'; import { LoggerFactory } from 'src/logger/logger.factory'; import { UpdateNotificationDto } from '../dto/update-notification.dto'; @@ -13,6 +13,7 @@ export class NotificationService { private readonly logger: DfxLogger; constructor( + @Inject(forwardRef(() => LoggerFactory)) readonly loggerFactory: LoggerFactory, private readonly mailFactory: MailFactory, private readonly mailService: MailService, From 30128ee156c08cb2e53d451bf4461e226831a30a Mon Sep 17 00:00:00 2001 From: Yannick1712 <52333989+Yannick1712@users.noreply.github.com> Date: Thu, 26 Jun 2025 15:16:44 +0200 Subject: [PATCH 5/6] [DEV-2478] remove not injectable logger from module --- src/logger/logger.module.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/logger/logger.module.ts b/src/logger/logger.module.ts index 6e164df600..7177f8fbcf 100644 --- a/src/logger/logger.module.ts +++ b/src/logger/logger.module.ts @@ -1,12 +1,11 @@ import { Module, forwardRef } from '@nestjs/common'; import { NotificationModule } from 'src/subdomains/supporting/notification/notification.module'; -import { DfxLogger } from './dfx-logger.service'; import { LoggerFactory } from './logger.factory'; @Module({ imports: [forwardRef(() => NotificationModule)], controllers: [], - providers: [LoggerFactory, DfxLogger], - exports: [LoggerFactory, DfxLogger], + providers: [LoggerFactory], + exports: [LoggerFactory], }) export class LoggerModule {} From 114293e9ea70d855831616ba2915e18e00f5b790 Mon Sep 17 00:00:00 2001 From: Yannick1712 <52333989+Yannick1712@users.noreply.github.com> Date: Mon, 30 Jun 2025 13:50:59 +0200 Subject: [PATCH 6/6] [DEV-2478] remove unused const --- src/integration/binance-pay/services/binance-pay.service.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/integration/binance-pay/services/binance-pay.service.ts b/src/integration/binance-pay/services/binance-pay.service.ts index e28e114c5d..7edfa862f9 100644 --- a/src/integration/binance-pay/services/binance-pay.service.ts +++ b/src/integration/binance-pay/services/binance-pay.service.ts @@ -1,7 +1,6 @@ import { BadRequestException, Injectable, ServiceUnavailableException } from '@nestjs/common'; import * as crypto from 'crypto'; import { Config } from 'src/config/config'; -import { DfxLogger } from 'src/logger/dfx-logger.service'; import { LoggerFactory } from 'src/logger/logger.factory'; import { HttpService } from 'src/shared/services/http.service'; import { Util } from 'src/shared/utils/util'; @@ -36,8 +35,6 @@ import { @Injectable() export class BinancePayService implements C2BPaymentLinkProvider { - private readonly logger: DfxLogger; - private readonly baseUrl = 'https://bpay.binanceapi.com'; private readonly apiKey: string; private readonly secretKey: string; @@ -54,7 +51,6 @@ export class BinancePayService implements C2BPaymentLinkProvider