Exemple #1
0
        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);
                }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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"));
        }
Exemple #5
0
        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());
            }
        }
Exemple #6
0
        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;
 }