private async Task <BaseTransactionResponse> SendTransaction(IMessage message,
                                                                     string swapId,
                                                                     AtomicSwapMethodEnum method,
                                                                     string receiverAddress = "")
        {
            var remmeTransaction = _remmeTransactionService.GetTransactionPayload(message, (uint)method);
            var inputsOutputs    = GetInputsOutputs(swapId, method, receiverAddress);
            var transactionDto   = _remmeTransactionService.GenerateTransactionDto(
                remmeTransaction,
                inputsOutputs,
                FAMILY_NAME,
                FAMILY_VERSION);

            var resultTrans = await _remmeTransactionService.CreateTransaction(transactionDto);

            return(await _remmeTransactionService.SendTransaction(resultTrans));
        }
        private List <string> GetInputsOutputs(string swapId, AtomicSwapMethodEnum method, string receiverAddress = "")
        {
            var result = new List <string>();

            result.Add(REMChainUtils.GetAddressFromData(swapId, FAMILY_NAME));
            result.Add(_remmeTransactionService.SignerAddress);

            switch (method)
            {
            case AtomicSwapMethodEnum.Init:
                result.Add(ZERO_ADDRESS);
                result.Add(SWAP_COMISSION);
                result.Add(BLOCK_INFO_CONFIG_ADDRESS);
                result.Add(BLOCK_INFO_NAMESPACE_ADDRESS);
                result.Add(SettingsKeyGenesisOwners);
                break;

            case AtomicSwapMethodEnum.Expire:
                result.Add(ZERO_ADDRESS);
                result.Add(BLOCK_INFO_CONFIG_ADDRESS);
                result.Add(BLOCK_INFO_NAMESPACE_ADDRESS);
                result.Add(SettingsKeyGenesisOwners);
                break;

            case AtomicSwapMethodEnum.Close:
                result.Add(ZERO_ADDRESS);
                result.Add(receiverAddress);
                result.Add(SettingsKeyGenesisOwners);
                break;

            default:
                break;
            }

            return(result);
        }