public Uploader(ConnectionConfig connectionConfig) { CreateProximaxDataService = new CreateProximaxDataService(connectionConfig.FileStorageConnection); CreateProximaxMessagePayloadService = new CreateProximaxMessagePayloadService(); BlockchainTransactionService = new BlockchainTransactionService(connectionConfig.BlockchainNetworkConnection); }
internal Uploader(BlockchainTransactionService blockchainTransactionService, CreateProximaxDataService proximaxDataService, CreateProximaxMessagePayloadService proximaxMessagePayloadService) { BlockchainTransactionService = blockchainTransactionService; CreateProximaxDataService = proximaxDataService; CreateProximaxMessagePayloadService = proximaxMessagePayloadService; }
// constructor for unit testing purposes internal Downloader(BlockchainTransactionService blockchainTransactionService, RetrieveProximaxMessagePayloadService retrieveProximaxMessagePayloadService, RetrieveProximaxDataService retrieveProximaxDataService) { BlockchainTransactionService = blockchainTransactionService; RetrieveProximaxMessagePayloadService = retrieveProximaxMessagePayloadService; RetrieveProximaxDataService = retrieveProximaxDataService; }
public Downloader(ConnectionConfig connectionConfig) { RetrieveProximaxMessagePayloadService = new RetrieveProximaxMessagePayloadService(connectionConfig.BlockchainNetworkConnection); RetrieveProximaxDataService = new RetrieveProximaxDataService(connectionConfig.FileStorageConnection); BlockchainTransactionService = new BlockchainTransactionService(connectionConfig.BlockchainNetworkConnection); }
private IObservable <string> CreateAndAnnounceTransaction(UploadParameter uploadParam, ProximaxMessagePayloadModel messagePayload) { return(BlockchainTransactionService.CreateAndAnnounceTransaction( messagePayload, uploadParam.SignerPrivateKey, uploadParam.RecipientPublicKey, uploadParam.RecipientAddress, uploadParam.TransactionDeadline, uploadParam.TransactionMosaics, uploadParam.UseBlockchainSecureMessage)); }
private IObservable <DownloadResult> DoCompleteDownload(DownloadParameter downloadParam) { try { var result = BlockchainTransactionService.GetTransferTransaction(downloadParam.TransactionHash) .Select(transferTransaction => RetrieveProximaxMessagePayloadService.GetMessagePayload( transferTransaction, downloadParam.AccountPrivateKey)) .Select(messagePayload => CreateCompleteDownloadResult(messagePayload, () => GetDataByteStream(messagePayload, null, downloadParam.PrivacyStrategy, downloadParam.ValidateDigest, null).Wait(), downloadParam.TransactionHash)).Wait(); return(Observable.Return(result)); } catch (Exception ex) { return(Observable.Throw <DownloadResult>(new DownloadFailureException("Download failed.", ex))); } }
private IObservable <TransferTransaction> GetOptionalBlockchainTransaction(string transactionHash) { return(transactionHash != null ? BlockchainTransactionService.GetTransferTransaction(transactionHash) : Observable.Return <TransferTransaction>(null)); }