public JsonResult GenerateTo([FromBody] JObject jsonData) { return(DoWithRetry(GetRetryValueFromJson(jsonData), retryCount => { /** Get transfer data */ var contractScripHash = jsonData.GetValue("contractScriptHash").Value <string>(); var toAddress = jsonData.GetValue("recipientAddress").Value <string>(); var amount = jsonData.GetValue("amount").Value <double>(); Log.Debug($"GenerateTo called with recipient {toAddress} and value {amount}"); /* Get owner data from private key */ var fromPrivateKey = jsonData.GetValue("ownerPrivateKeyHash").Value <string>(); var fromKeyPair = new KeyPair(LuxUtils.HexToBytes(fromPrivateKey)); var token = new NeoFluxNEP5(LuxApiFactory.GetLuxApi(), contractScripHash, null, GetDecimalsValueFromJson(jsonData)); try { Log.Debug($"Running transaction for recipient {toAddress}"); var transactionResult = token.GenerateTo(fromKeyPair, toAddress, new BigInteger(amount)); if (transactionResult != null) { dynamic result = new JObject(); result.result = transactionResult.ToString(); result.retries = retryCount; Log.Debug($"Sent {amount} to {toAddress}"); return Json(result); } } catch (Exception e) { Log.Error(e.Message + "\n" + e.StackTrace); } return null; })); }
public JsonResult Transfer([FromBody] JObject jsonData) { return(DoWithRetry(GetRetryValueFromJson(jsonData), (retryCount) => { /** Get transfer data */ var contractScripHash = jsonData.GetValue("contractScriptHash").Value <string>(); var toAddress = jsonData.GetValue("recipientAddress").Value <string>(); var amount = jsonData.GetValue("amount").Value <decimal>(); /* Get owner data from private key */ var fromPrivateKey = jsonData.GetValue("ownerPrivateKeyHash").Value <string>(); var fromKeyPair = new KeyPair(LuxUtils.HexToBytes(fromPrivateKey)); var token = new NeoFluxNEP5(LuxApiFactory.GetLuxApi(), contractScripHash, null, GetDecimalsValueFromJson(jsonData)); try { var transactionResult = token.Transfer(fromKeyPair, toAddress, amount); if (transactionResult != null) { dynamic result = new JObject(); result.result = transactionResult.ToString(); result.retries = retryCount; return Json(result); } } catch (Exception e) { Log.Error(e.Message + "\n" + e.StackTrace); } return null; })); }
public JsonResult TotalSupply([FromBody] JObject jsonData) { var contractScripHash = jsonData.GetValue("contractScriptHash").Value <string>(); var token = new NeoFluxNEP5(LuxApiFactory.GetLuxApi(), contractScripHash, null, GetDecimalsValueFromJson(jsonData)); return(JsonResultObject((long)token.TotalSupply)); }
public JsonResult BalanceOf([FromBody] JObject jsonData) { return(DoWithRetry(GetRetryValueFromJson(jsonData), retryCount => { try { var contractScripHash = jsonData.GetValue("contractScriptHash").Value <string>(); var targetAddress = jsonData.GetValue("targetAddress").Value <string>(); var token = new NeoFluxNEP5(LuxApiFactory.GetLuxApi(), contractScripHash, null, GetDecimalsValueFromJson(jsonData)); return JsonResultObject(token.BalanceForAddress(targetAddress)); } catch (Exception e) { Console.WriteLine(e); } return null; })); }
public JsonResult Info([FromBody] JObject jsonData) { var contractScripHash = jsonData.GetValue("contractScriptHash").Value <string>(); try { var token = new NeoFluxNEP5(LuxApiFactory.GetLuxApi(), contractScripHash, null, GetDecimalsValueFromJson(jsonData)); dynamic result = new JObject(); result.symbol = token.Symbol; result.name = token.Name; result.decimals = token.Decimals; result.totalSupply = token.TotalSupply; return(Json(result)); } catch (Exception e) { Log.Error(e.Message + "\n" + e.StackTrace); return(JsonError($"Unable to make transaction, {e.Message}")); } }