public async Task Sign() { string pk = "0x889dbed9450f7a4b68e0732ccb7cd016dab158e6946d16158f2736fda1143ca6"; string address = _wallet.AddRawKey(pk); string dataToSign = "1e194c68360307cfb715bf17878791ad1ced8da7d2e5f42b691074c577f41eac"; string expectedSignerData = "0xf16dcaa830a3f710e28444df7df85fa927d8a66f789196fc2a3b934c829dbcaa5329be0711daba3b0c85ab23f1adb32c4e88fd8cb42b951d3be40af1bbd92e7400"; string signedData = await _wallet.Sign(dataToSign, address); Assert.That(address, Is.EqualTo("0x082977959d0C5A1bA627720ac753Ec2ADB5Bd7d0".ToLower())); Assert.That(signedData, Is.EqualTo(expectedSignerData)); }
public IActionResult Index(FaucetViewModel model) { try { model.Clear(); string userIP = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); if (LastFaucetRequest.ContainsKey(userIP) && LastFaucetRequest[userIP].Add(MinRequestTime) > DateTime.Now) {//we have error throw new ValidationException(model.ErrorMessage = $"Cannot request money form ip: {userIP} untill {LastFaucetRequest[userIP].Add(MinRequestTime)}"); } var transaction = simpleWallet.Sign(model.ReceiverAddrees, 5 * Token.OneToken); var result = MakePost(NodeAddress + "/api/transaction/new", transaction); if (result) { model.SuccessMessage = "Money were send to " + model.ReceiverAddrees; LastFaucetRequest[userIP] = DateTime.Now; } else { model.ErrorMessage = "Transaction not send"; } } catch (ValidationException ex) { model.ErrorMessage = ex.Message; } catch (Exception ex) { model.ErrorMessage = "Error occured. No money. Sorry"; } model.FaucetBallance = GetBallance(); return(View(model)); }