mirror of
https://codeberg.org/wownero/lwcli-wow.git
synced 2026-10-17 05:51:26 +02:00
Fork lwcli for Wownero
- Rename project to lwcli-wow - Update submodule to use lwsf-wow from Codeberg - Change XMR -> WOW in all UI displays - Update README with Wownero build instructions - Add Wownero copyright notices - Add upstream sync instructions
This commit is contained in:
+4
-4
@@ -1,6 +1,6 @@
|
||||
[submodule "external/lwsf"]
|
||||
path = external/lwsf
|
||||
url = https://github.com/vtnerd/lwsf.git
|
||||
path = external/lwsf
|
||||
url = https://codeberg.org/wownero/lwsf-wow.git
|
||||
[submodule "external/ftxui"]
|
||||
path = external/ftxui
|
||||
url = https://github.com/ArthurSonzogni/FTXUI.git
|
||||
path = external/ftxui
|
||||
url = https://github.com/ArthurSonzogni/FTXUI.git
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2025, Cifro Codes LLC
|
||||
# Copyright (c) 2025, The Wownero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -34,7 +35,7 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if (NOT MONERO_SOURCE_DIR)
|
||||
message(FATAL_ERROR "The argument -DMONERO_SOURCE_DIR must specify a location of a monero source tree")
|
||||
message(FATAL_ERROR "The argument -DMONERO_SOURCE_DIR must specify a location of a wownero source tree")
|
||||
endif()
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
@@ -1,16 +1,25 @@
|
||||
# lwcli
|
||||
# lwcli-wow
|
||||
|
||||
This is an experimental TUI (FTXUI) wallet (with mouse support) used to test the ability of [lwsf](https://code.leeclagett.com/lwsf) in replacing the standard backend for the Monero wallet api. This wallet can use either backend with a runtime option, but once the wallet file is created it is "bound" to that particular backend due to file format.
|
||||
|
||||
This was _not_ billed/paid for by Monero CCS, as I'm not sure if there are real users desiring this sort of wallet. I may ask for CCS contributions in maintaining this wallet if there are users.
|
||||
This is an experimental TUI (FTXUI) wallet (with mouse support) for Wownero, forked from [lwcli](https://github.com/cifro-codes/lwcli). This wallet uses [lwsf-wow](https://codeberg.org/wownero/lwsf-wow) as backend and can connect to [wownero-lws](https://codeberg.org/wownero/wownero-lws) light wallet servers.
|
||||
|
||||
## Building
|
||||
```bash
|
||||
git clone https://github.com/monero-project/monero.git
|
||||
git clone https://github.com/cifro-codes/lwcli.git
|
||||
cd lwcli && mkdir build && cd build
|
||||
git submodules update --init --recursive
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DMONERO_SOURCE_DIR=../../monero ..
|
||||
git clone https://git.wownero.com/wownero/wownero.git
|
||||
git clone --recursive https://codeberg.org/wownero/lwcli-wow.git
|
||||
cd lwcli-wow && mkdir build && cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DMONERO_SOURCE_DIR=../../wownero ..
|
||||
make -j$(nproc)
|
||||
./src/lwcli -h
|
||||
```
|
||||
|
||||
## Syncing with Upstream
|
||||
|
||||
This project tracks the upstream [lwcli](https://github.com/cifro-codes/lwcli) repository.
|
||||
To sync changes from upstream:
|
||||
|
||||
```bash
|
||||
git fetch upstream
|
||||
git merge upstream/main
|
||||
# Resolve any conflicts if needed
|
||||
git push origin main
|
||||
```
|
||||
|
||||
Vendored
+1
-1
Submodule external/lwsf updated: 8b5ad20db9...137b09a45c
@@ -1,4 +1,5 @@
|
||||
// Copyright (c) 2025, Cifro Codes LLC
|
||||
// Copyright (c) 2025, The Wownero Project
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// Copyright (c) 2025, Cifro Codes LLC
|
||||
// Copyright (c) 2025, The Wownero Project
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
@@ -414,7 +415,7 @@ namespace lwcli { namespace view
|
||||
row_map_.try_emplace(i++).first->second = id;
|
||||
rows.push_back({
|
||||
active + std::to_string(id),
|
||||
detail->getBalance() + " XMR",
|
||||
detail->getBalance() + " WOW",
|
||||
detail->getLabel(),
|
||||
detail->getAddress().substr(0, 12) + "..."
|
||||
});
|
||||
|
||||
+7
-6
@@ -1,4 +1,5 @@
|
||||
// Copyright (c) 2025, Cifro Codes LLC
|
||||
// Copyright (c) 2025, The Wownero Project
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
@@ -105,8 +106,8 @@ namespace lwcli { namespace view
|
||||
std::vector<std::vector<ftxui::Element>> grid;
|
||||
grid.reserve(dests.first.size() + 3);
|
||||
|
||||
grid.push_back({ftxui::text(_("Sending: ")), ftxui::text(lwsf::displayAmount(tx_->amount()) + " XMR")});
|
||||
grid.push_back({ftxui::text(_("Fee: ")), ftxui::text(lwsf::displayAmount(tx_->fee()) + " XMR")});
|
||||
grid.push_back({ftxui::text(_("Sending: ")), ftxui::text(lwsf::displayAmount(tx_->amount()) + " WOW")});
|
||||
grid.push_back({ftxui::text(_("Fee: ")), ftxui::text(lwsf::displayAmount(tx_->fee()) + " WOW")});
|
||||
{
|
||||
std::vector<std::string> ids = tx_->txid();
|
||||
|
||||
@@ -120,7 +121,7 @@ namespace lwcli { namespace view
|
||||
}
|
||||
|
||||
for (std::size_t i = 0; i < dests.first.size(); ++i)
|
||||
grid.push_back({ftxui::text(lwsf::displayAmount(dests.second.at(i)) + " XMR to "), ftxui::text(std::move(dests.first.at(i)))});
|
||||
grid.push_back({ftxui::text(lwsf::displayAmount(dests.second.at(i)) + " WOW to "), ftxui::text(std::move(dests.first.at(i)))});
|
||||
|
||||
info_ = ftxui::gridbox(std::move(grid));
|
||||
}
|
||||
@@ -268,7 +269,7 @@ namespace lwcli { namespace view
|
||||
: ftxui::ComponentBase(),
|
||||
wm_(std::move(wm)),
|
||||
wal_(std::move(wal)),
|
||||
title_(ftxui::text(_("Send from account #") + std::to_string(account) + " (" + lwsf::displayAmount(wal_->unlockedBalance(account)) + " XMR available)")),
|
||||
title_(ftxui::text(_("Send from account #") + std::to_string(account) + " (" + lwsf::displayAmount(wal_->unlockedBalance(account)) + " WOW available)")),
|
||||
priority_names_({_("Auto"), _("Unimportant"), _("Normal"), _("Elevated"), _("Priority")}),
|
||||
dests_(),
|
||||
dests_ui_(),
|
||||
@@ -457,7 +458,7 @@ namespace lwcli { namespace view
|
||||
error_.reset();
|
||||
|
||||
if (std::get<0>(oa).empty())
|
||||
error_ = ftxui::text(_("No XMR OpenAlias found for ") + std::get<1>(oa)->second);
|
||||
error_ = ftxui::text(_("No WOW OpenAlias found for ") + std::get<1>(oa)->second);
|
||||
else if (!lwsf::addressValid(std::get<0>(oa), wal_->nettype()))
|
||||
error_ = ftxui::text(_("OpenAlias record is invalid for ") + std::get<1>(oa)->second);
|
||||
else if (!closing_)
|
||||
@@ -526,7 +527,7 @@ namespace lwcli { namespace view
|
||||
ftxui::Elements row;
|
||||
row.reserve(6);
|
||||
row.push_back(std::get<0>(e)->Render() | min_amount_size);
|
||||
row.push_back(ftxui::text(" XMR to "));
|
||||
row.push_back(ftxui::text(" WOW to "));
|
||||
row.push_back(std::get<1>(e)->Render());
|
||||
if (!animate)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user