public async Task <TransactionResultDto> CloseCooperativeChannel([FromBody] ChannelCloseCooperativeDto closeDto)
        {
            var transactionId = await _contract.CloseChannelCooperative(closeDto);

            return(new TransactionResultDto
            {
                TransactionId = transactionId
            });
        }
Exemplo n.º 2
0
        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);
        }