Exemplo n.º 1
0
        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;
            }));
        }
Exemplo n.º 2
0
        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;
            }));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
 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;
     }));
 }
Exemplo n.º 5
0
        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}"));
            }
        }