public BitcoinBasedSwap(
     BitcoinBasedAccount account,
     ICurrencies currencies)
     : base(account.Currency, currencies)
 {
     _account            = account ?? throw new ArgumentNullException(nameof(account));
     _transactionFactory = new BitcoinBasedSwapTransactionFactory();
 }
 public BitcoinBasedSwap(
     Currency currency,
     IAccount account,
     ISwapClient swapClient,
     IBackgroundTaskPerformer taskPerformer,
     IBitcoinBasedSwapTransactionFactory transactionFactory)
     : base(
         currency,
         account,
         swapClient,
         taskPerformer)
 {
     _transactionFactory = transactionFactory ??
                           throw new ArgumentNullException(nameof(transactionFactory));
 }