|
@@ -52,10 +52,14 @@ namespace HyperCube.Models
|
|
|
if (functionId == 0)
|
|
|
{
|
|
|
var ret = await MySQLConnector.Instance().SQLSelectComplex($"select * from functions where contract_id={ID} limit 1");
|
|
|
- functionId = Convert.ToInt32(ret[0]["id"]);
|
|
|
- functionName = ret[0]["name_with_args"].ToString();
|
|
|
- functionCompiledHeader = ret[0]["compiled_header"].ToString();
|
|
|
- Console.WriteLine($"{ID} LoadFunction {functionId} name {functionName} header {functionCompiledHeader}");
|
|
|
+ if (ret.Count > 0)
|
|
|
+ {
|
|
|
+ functionId = Convert.ToInt32(ret[0]["id"]);
|
|
|
+ functionName = ret[0]["name_with_args"].ToString();
|
|
|
+ functionCompiledHeader = ret[0]["compiled_header"].ToString();
|
|
|
+ functionCompiledHeader = Blockchain.zerofill(functionCompiledHeader, 32, false);
|
|
|
+ Console.WriteLine($"{ID} LoadFunction {functionId} name {functionName} header {functionCompiledHeader}");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -73,18 +77,26 @@ namespace HyperCube.Models
|
|
|
public async Task Run(ArticleModel newArticle, string weiValue = "0x0")
|
|
|
{
|
|
|
var uuid = await newArticle.GetInitiatorUUID();
|
|
|
+ Console.WriteLine($"Current {AccountModel.Current.Email}");
|
|
|
var verifier_address = AccountModel.Current.eth_address.Remove(0, 2);
|
|
|
+
|
|
|
var initiator = AccountModel.Find(uuid);
|
|
|
var initiator_address = initiator.eth_address.Remove(0, 2);
|
|
|
var article_value = (int)newArticle.Rating;
|
|
|
+
|
|
|
var article_value_hex = article_value.ToString("X32");
|
|
|
+ Console.WriteLine($"article_value {article_value} hex {article_value_hex}");
|
|
|
var edits = await newArticle.GetEditsCount();
|
|
|
var edits_hex = edits.ToString("X32");
|
|
|
+
|
|
|
+ Console.WriteLine($"edits {edits} hex {edits_hex}");
|
|
|
//function verify( address payable verifier, address payable initiator, int article_value, int verify_complexity) public returns (uint vReward, uint iReward)
|
|
|
- var paramstring = "0x" + functionCompiledHeader + verifier_address+ initiator_address+ article_value_hex+ edits_hex;
|
|
|
- Console.WriteLine($"VerifyContract Run {initiator.Name}");
|
|
|
- var res = Blockchain.GetMain().RunContractWrite(Address, $"{paramstring}");
|
|
|
- Console.WriteLine($"VerifyContract result {res}");
|
|
|
+ var paramstring = "0x" + functionCompiledHeader + verifier_address + initiator_address + article_value_hex + edits_hex;
|
|
|
+ Console.WriteLine($"VerifyContract Run {initiator.Name} params {paramstring}");
|
|
|
+ var res = await Blockchain.GetMain().RunContractWrite(Address, $"{paramstring}");
|
|
|
+ //Console.WriteLine($"VerifyContract result {res}");
|
|
|
+ var receipt = await Blockchain.GetMain().GetReceipt(res);
|
|
|
+ Console.WriteLine("VerifyContract receipt " + receipt);
|
|
|
}
|
|
|
}
|
|
|
}
|