public async Task <IActionResult> CallContractFunction([FromBody] CallContractFunctionModel callContractFunction) { try { //TODO: Implement! return(null); return(BadRequest(ModelState)); } catch (Exception ex) { return(ReturnError(ex)); } }
public async Task <IActionResult> CallContractFunction([FromBody] CallContractFunctionModel callContractFunction) { try { if (ModelState.IsValid) { var contract = Web3Client.Eth.GetContract(callContractFunction.Abi, callContractFunction.ContractAddress); var result = await contract.GetFunction(callContractFunction.FunctionName).CallAsync <string>(); return(Json(result)); } return(BadRequest(ModelState)); } catch (Exception ex) { return(ReturnError(ex)); } }
public async Task CallContract() { // Act var callContractFunctionModel = new CallContractFunctionModel() { Abi = TestSettings.ContractAbi, ContractAddress = TestSettings.ContractAddress, FunctionName = TestSettings.ContractMethod, }; var content = JsonConvert.SerializeObject(callContractFunctionModel); var stringContent = new StringContent(content, Encoding.UTF8, "application/json"); var contractResponse = await _client.PostAsync("api/Rsk/CallContractFunction", stringContent); // Assert contractResponse.EnsureSuccessStatusCode(); var contractResponseStr = await contractResponse.Content.ReadAsStringAsync(); var response = JsonConvert.DeserializeObject <string>(contractResponseStr); response.Should().Contain(TestSettings.ContractMethodResponse); }