public async Task <TransactionResultDto> CloseCooperativeChannel([FromBody] ChannelCloseCooperativeDto closeDto) { var transactionId = await _contract.CloseChannelCooperative(closeDto); return(new TransactionResultDto { TransactionId = transactionId }); }
public async Task <string> CloseChannelCooperative(ChannelCloseCooperativeDto closeDto) { var contract = _web3.Eth.GetContract(_config.ContractABI, _config.ContractAddress); var openChannelFunction = contract.GetFunction("cooperativeClose"); var transactionInput = GetTransactionInput(); var balanceAlice = BigInteger.Parse(closeDto.AliceAmountWei); var balanceBob = BigInteger.Parse(closeDto.BobAmountWei); var res = await openChannelFunction .SendTransactionAsync(transactionInput, closeDto.ChannelId.HexToByteArray(), balanceAlice, balanceBob, closeDto.AliceSignature.HexToByteArray(), closeDto.BobSignature.HexToByteArray()); return(res); }