コード例 #1
0
 public Uploader(ConnectionConfig connectionConfig)
 {
     CreateProximaxDataService           = new CreateProximaxDataService(connectionConfig.FileStorageConnection);
     CreateProximaxMessagePayloadService = new CreateProximaxMessagePayloadService();
     BlockchainTransactionService        =
         new BlockchainTransactionService(connectionConfig.BlockchainNetworkConnection);
 }
コード例 #2
0
 internal Uploader(BlockchainTransactionService blockchainTransactionService,
                   CreateProximaxDataService proximaxDataService,
                   CreateProximaxMessagePayloadService proximaxMessagePayloadService)
 {
     BlockchainTransactionService        = blockchainTransactionService;
     CreateProximaxDataService           = proximaxDataService;
     CreateProximaxMessagePayloadService = proximaxMessagePayloadService;
 }
コード例 #3
0
 // constructor for unit testing purposes
 internal Downloader(BlockchainTransactionService blockchainTransactionService,
                     RetrieveProximaxMessagePayloadService retrieveProximaxMessagePayloadService,
                     RetrieveProximaxDataService retrieveProximaxDataService)
 {
     BlockchainTransactionService          = blockchainTransactionService;
     RetrieveProximaxMessagePayloadService = retrieveProximaxMessagePayloadService;
     RetrieveProximaxDataService           = retrieveProximaxDataService;
 }
コード例 #4
0
 public Downloader(ConnectionConfig connectionConfig)
 {
     RetrieveProximaxMessagePayloadService =
         new RetrieveProximaxMessagePayloadService(connectionConfig.BlockchainNetworkConnection);
     RetrieveProximaxDataService  = new RetrieveProximaxDataService(connectionConfig.FileStorageConnection);
     BlockchainTransactionService =
         new BlockchainTransactionService(connectionConfig.BlockchainNetworkConnection);
 }
コード例 #5
0
 private IObservable <string> CreateAndAnnounceTransaction(UploadParameter uploadParam,
                                                           ProximaxMessagePayloadModel messagePayload)
 {
     return(BlockchainTransactionService.CreateAndAnnounceTransaction(
                messagePayload, uploadParam.SignerPrivateKey, uploadParam.RecipientPublicKey,
                uploadParam.RecipientAddress,
                uploadParam.TransactionDeadline, uploadParam.TransactionMosaics,
                uploadParam.UseBlockchainSecureMessage));
 }
コード例 #6
0
 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)));
     }
 }
コード例 #7
0
 private IObservable <TransferTransaction> GetOptionalBlockchainTransaction(string transactionHash)
 {
     return(transactionHash != null
         ? BlockchainTransactionService.GetTransferTransaction(transactionHash)
         : Observable.Return <TransferTransaction>(null));
 }