Esempio n. 1
0
        public HttpResponseMessage Post([FromBody] DepositPattern req)
        {
            TransactionReceipt result;

            try
            {
                result = TokenFunctionsResults <UInt64, DepositPattern> .InvokeByTransaction(req, FunctionNames.Deposit, Value : req.Value, Gas : req.Gas);
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.OK, new HttpError(e, true)));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public JsonResult Post([FromForm] DepositPattern req)
        {
            var user = _userManager.GetUserAsync(HttpContext.User).Result;
            TransactionReceipt result;

            try
            {
                result = TokenFunctionsResults <UInt64> .InvokeByTransaction(user, FunctionNames.Deposit, Value : req.Value, Gas : req.Gas);
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }

            return(Json(result));
        }
        public static string DepositToContract(DepositPattern req, User user)
        {
            user.PublicKey = EthECKey.GetPublicAddress(user.PrivateKey);
            TransactionReceipt result;

            try
            {
                result = TokenFunctionsResults <UInt64> .InvokeByTransaction(user, FunctionNames.Deposit, Value : req.Value, Gas : req.Gas);
            }
            catch (Exception e)
            {
                return(JsonConvert.SerializeObject(e.Message));
            }

            return(JsonConvert.SerializeObject(result));
        }
Esempio n. 4
0
        public static TransactionReceipt DepositToContract(DepositPattern req, User user, ModelStateDictionary ModelState)
        {
            try
            {
                user.PublicKey = EthECKey.GetPublicAddress(user.PrivateKey);
            }
            catch
            {
                ModelState.AddModelError(nameof(user.PublicKey), "Unable to get public key");
                return(null);
            }
            TransactionReceipt result;

            //removed try catch
            result = TokenFunctionsResults <UInt64> .InvokeByTransaction(user, FunctionNames.Deposit, Value : req.Value, Gas : req.Gas);

            if (result.Status.Value.IsZero)
            {
                ModelState.AddModelError(nameof(User), "Operation failed");
            }

            return(result);
        }
Esempio n. 5
0
        public async Task <IActionResult> DepositToContractForUser([FromBody] DepositDto deposit)
        {
            var uid  = User.Claims.FirstOrDefault(c => c.Type == Helpers.Constants.Strings.JwtClaimIdentifiers.Id)?.Value;
            var user = await _userManager.FindByIdAsync(uid);

            if (user == null)
            {
                return(NotFound());
            }

            var depositPattern = new DepositPattern()
            {
                Value = deposit.Value
            };

            try
            {
                var res = Deposit.DepositToContract(depositPattern, new User()
                {
                    PrivateKey = user.PrivateKey
                }, ModelState);

                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                return(Ok(res));
            }
            catch (Exception e)
            {
                ModelState.AddModelError(nameof(DepositDto), e.Message);

                return(BadRequest(ModelState));
            }
        }