Просмотр исходного кода

начало запуска верификации

Rimmon 4 лет назад
Родитель
Сommit
503ccce311
3 измененных файлов с 35 добавлено и 12 удалено
  1. 28 0
      Models/SmartContract.cs
  2. 2 2
      Pages/Blockchains.razor
  3. 5 10
      Pages/DocEdit.razor

+ 28 - 0
Models/SmartContract.cs

@@ -13,9 +13,37 @@ namespace HyperCube.Models
         public string Name = "";
         public string Address = "";
 
+        public static SmartContract Find(string name)
+        {
+            var bc = Blockchain.GetMain();
+            if (bc != null)
+            {
+                var contracts = bc.contractNames;
+                if (contracts.ContainsKey(name))
+                {
+                    return contracts[name];
+                }
+            }
+            return null;            
+        }
+
         public SmartContract()
         { }
 
+        public async Task Run(string weiValue = "0x0")
+        {
+            var verifierAccount = AccountModel.Current;
+            //Console.WriteLine($"Verify {verifierAccount.Name}");
+
+            //if (Blockchain.GetMain().contractNames.ContainsKey("Verify"))
+            //{
+            //    var contr = Blockchain.GetMain().contractNames["Verify"];
+            //    var res = Blockchain.GetMain().RunContractWrite(contr.Address, "0x11111111");
+            //    Console.WriteLine("Test verify RUN " + res);
+            //}
+            //TODO run smart contract with verifier wallet
+        }
+
         public SmartContract(int id, string name, string code, string bytecode)
         {
             ID = id;

+ 2 - 2
Pages/Blockchains.razor

@@ -155,11 +155,11 @@
             {
                 //var b2h = Blockchain.bin2hex("getCount()");
                 //Console.WriteLine("bin2hex " + b2h);
-                var part1 = await Blockchain.GetSHA3("myTransfer()");
+                var part1 = await Blockchain.GetSHA3("myTransfer(address)");
                 //var part2 = await Blockchain.GetSHA3(recipient.eth_address);
                 var zerofill = Blockchain.zerofill(part1.Substring(0, 10), 32, true);
                 //var zerofill2 = Blockchain.zerofill(part2, 32, true);
-                var paramstring = part1.Substring(0, 10);// + recipient.eth_address.Remove(0, 2);
+                var paramstring = "0x" + zerofill + recipient.eth_address.Remove(0, 2);
                 Console.WriteLine($"paramstring {paramstring}");
 
                 //todo pack myTransfer(address)

+ 5 - 10
Pages/DocEdit.razor

@@ -88,20 +88,15 @@
     string storageFolderPath;
     MemoryStream memoryStream;
 
-    protected async Task Verify()
+    async Task Verify()
     {
         try
-        {
-            var myacc = AccountModel.Current;
-            Console.WriteLine($"Verify {myacc.Name}");
-
-            if (Blockchain.GetMain().contractNames.ContainsKey("Verify"))
+        {            
+            var verifyContract = SmartContract.Find("Verify");
+            if (verifyContract != null)
             {
-                var contr = Blockchain.GetMain().contractNames["Verify"];
-                var res = Blockchain.GetMain().RunContractWrite(contr.Address, "0x11111111");
-                Console.WriteLine("Test verify RUN "+res);
+                await verifyContract.Run();
             }
-            //TODO run smart contract with verifier wallet
         }
         catch (Exception e)
         {