public void JsonFile_Test() { string filePath = Path.GetFullPath(@"..\..\..\TestFiles\ValidSeal.json"); using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) using (BinaryReader reader = new BinaryReader(fs)) { // If this is a PE file, output the PE specific information. VerifyJson json = new VerifyJson(reader); Assert.IsTrue(json.IsJson); Assert.IsNotNull(json._seal); } }
Task Submit(ButtonRow button) { var files = GetVerifyFiles(); var description = _description.Edit.Text; var link = _link.Edit.Text; _verify = new VerifyJson { description = description, link = link, files = files }; IsBusy = true; UIApp.Run(() => VerifyApp.Current.UploadVerification(_submitAccount.SubmitAccount, _verify)); return(Task.CompletedTask); }
public VerificationFilesPage(VerifyJson verify) : base("VerificationFilesPage") { AddTitleRow("Title"); AddHeaderRow(); foreach (var file in verify.files) { var view = new VerifyFileView(true); view.Update(file); var row = AddButtonViewRow(view, Verify); row.Tag = file; } AddFooterRow(); }
public void SealWithNoSignature_Test() { string filePath = Path.GetFullPath(@"..\..\..\TestFiles\SealWithNoSignature.json"); VerifyJson verifyJson = null; using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) using (BinaryReader reader = new BinaryReader(fs)) { // If this is a PE file, output the PE specific information. verifyJson = new VerifyJson(reader); Assert.IsTrue(verifyJson.IsJson); Assert.IsNotNull(verifyJson.SealJson); } Assert.IsNotNull(verifyJson); Assert.IsFalse(Program.ValidateSeal(verifyJson.SealJson, default(DateTimeOffset), "filename", "fileversion")); }
protected override async Task Run() { var submitAccount = ServiceNode.GetSubmitAccounts <SubmitAccount>().First(); var files = new List <VerifyFileJson>(); for (var i = 0; i < this.files.Length; i++) { var file = this.files[i]; try { using (var stream = File.OpenRead(file)) { var(hash, length) = VerifyFileJson.GenerateHash(stream); var fileJson = new VerifyFileJson { name = Path.GetFileName(file), hashtype = hash.HashType.ToString().ToLower(), hash = Hex.ToString(hash.RawData), length = length, link = GetLink(i) }; files.Add(fileJson); } } catch (Exception ex) { Log.IgnoreException(ex); return; } } var verifyJson = new VerifyJson { description = description, link = link, files = files }; var result = await VerifyApp.Current.UploadVerification(submitAccount, verifyJson); if (result.TransactionResult == TransactionResultTypes.Ok) { SetSuccess(VerifyApp.Current.GetRequestCode(ServiceNode, VerifyServiceInfo.ChainIndex, ViewVerificationSchemeAction.ActionName, result.Transaction.OperationId)); } else { SetError(result.GetErrorMessage()); } }
public async Task <HeleusClientResponse> UploadVerification(SubmitAccount submitAccount, VerifyJson verifyJson) { var serviceNode = submitAccount?.ServiceNode; var result = await SetSubmitAccount(submitAccount); if (result != null) { goto end; } var attachements = serviceNode.Client.NewAttachements(VerifyServiceInfo.ChainIndex); if (verifyJson != null) { var json = verifyJson.ToJson(); attachements.AddStringAttachement(VerifyServiceInfo.JsonFileName, json); } result = await serviceNode.Client.UploadAttachements(attachements, (transaction) => { transaction.EnableFeature <AccountIndex>(AccountIndex.FeatureId).Index = VerifyServiceInfo.VerifyIndex; transaction.PrivacyType = DataTransactionPrivacyType.PublicData; }); end: await UIApp.PubSub.PublishAsync(new VerifyUploadEvent(result, serviceNode)); return(result); }
public VerificationResult(AttachementDataTransaction transaction, VerifyJson verify, ServiceNode serviceNode) { Transaction = transaction; Verify = verify; ServiceNode = serviceNode; }