Compare commits

...

36 Commits

Author SHA1 Message Date
wowario 1b81b8d698 Update 'README.md'
4 years ago
qvqc 0dcb6e617e Merge pull request 'welcome home <3' (#30) from qvqc/wow-lite-wallet:master into master
4 years ago
qvqc 684983ff90
welcome home <3
4 years ago
wowario 6af096be7b
update git url
4 years ago
wowario a369ad9190
add bg to seed textarea
4 years ago
wowario e27e90a7d8
credit artwork
4 years ago
wowario e0952c9e15
add credits bg and toad tilt
4 years ago
wowario 868a72d88b
add bg
4 years ago
wowario b8b541d2a7
update graphics
4 years ago
wowario 8221a022a3
rename to wowlite
4 years ago
清武 博二 d04a72cd60
Merge pull request #27 from wowario/patch
4 years ago
清武 博二 b54c36f498
Merge pull request #26 from wowario/bubbles
4 years ago
清武 博二 59805d2421
Merge pull request #24 from wowario/quotes
4 years ago
清武 博二 9aa1b95f01
Merge pull request #23 from wowario/master
4 years ago
wowario c3a6f8cb61
set inactivity_lock_timeout for 1 year
4 years ago
wowario 55324022a6
get XMR price
4 years ago
wowario c4162bc55d
fix bubbles
4 years ago
wowario ba3413fa2c
new messages
4 years ago
wowario af99864ed4
get BTC price
4 years ago
wowario 861521d832
bump up electron-builder
4 years ago
wowario 9e2699ca87
bump up to v0.1.4
4 years ago
清武 博二 f8d4ca62ad
Merge pull request #22 from qvqc/master
4 years ago
qvqc 348108628b update patch for release-v0.8 tag
4 years ago
xmrdsc 703cead0c5
Merge pull request #21 from qvqc/master
4 years ago
qvqc 7057570046 set default node to current
4 years ago
qvqc 8e1b0b2dea add non-interactive transfers to litepatch
4 years ago
qvqc 259e34d83d update window title
4 years ago
qvqc 005f18beb0 update package.json name, version, and contact
4 years ago
qvqc 4a4d66ca75 remove link to old releases
4 years ago
qvqc 52d6a0649e update screenshot in readme
4 years ago
qvqc 5f32ca6eca updated logo
4 years ago
qvqc 18b0ce2504 remove funding and comments from landing page
4 years ago
qvqc 9bcb0f9c37 update available nodes
4 years ago
qvqc 38c4829340 added seed generation and proper spacing
4 years ago
xmrdsc 35afa994c5
Merge pull request #20 from wowario/master
5 years ago
wowario 8452727ed5
update patch
5 years ago

2
.gitignore vendored

@ -9,6 +9,6 @@ npm-debug.log.*
thumbs.db
!.gitkeep
.idea
wowlight
wowlite
package-lock.json
*.log

@ -20,7 +20,7 @@ If `npm run dev` works, you can install a custom version of `wownero-wallet-cli`
#### wownero-wallet-cli :star2:
```
git clone https://github.com/wownero/wownero.git
git clone https://git.wownero.com/wownero/wownero.git
cd wownero
git checkout <latest version here>
git apply light_patch.diff
@ -30,7 +30,7 @@ make -j4
Use `light_patch.diff` that's included in this repository. Move resulting binary into the resources folder:
```
cp build/release/bin/wownero-wallet-cli wowlight/resources/linux/bin/wowlight
cp build/release/bin/wownero-wallet-cli wowlite/resources/linux/bin/wowlite
```
Build the light wallet:

@ -1,17 +1,3 @@
![](https://light.wownero.com/wowlight.png)
Deprecated - No longer maintained.
Simple wrapper for `wownero-wallet-cli` as a GUI.
- Electron/Vue.js
- Remote node only
- Works without a backend - (you are in charge of your private keys)
- 100% WOW
- Safu™
Download: [https://github.com/wownero/Wownero-Light-Wallet/releases](https://github.com/wownero/Wownero-Light-Wallet/releases)
See `Install.md` for compilation instructions.
### License
© 2018 WTFPL Do What the Fuck You Want to Public License
Use latest [CLI wallet](https://git.wownero.com/wownero/wownero/releases), [web wallet](https://wowstash.app), or [feather-wow wallet](https://featherwallet.org/wownero/)

@ -1,124 +1,52 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c3dc88b..2ed8ddf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,6 +103,8 @@ if(NOT CMAKE_BUILD_TYPE)
endif()
string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
+add_definitions(-DUSE_DEVICE_LEDGER=0)
+
# ARCH defines the target architecture, either by an explicit identifier or
# one of the following two keywords. By default, ARCH a value of 'native':
# target arch = host arch, binary is not portable. When ARCH is set to the
@@ -425,8 +427,6 @@ if(STATIC AND NOT IOS)
endif()
endif()
-find_package(PCSC)
-
add_definition_if_library_exists(c memset_s "string.h" HAVE_MEMSET_S)
add_definition_if_library_exists(c explicit_bzero "strings.h" HAVE_EXPLICIT_BZERO)
add_definition_if_function_found(strptime HAVE_STRPTIME)
@@ -466,14 +466,8 @@ endif()
include_directories(${LIBUNWIND_INCLUDE})
link_directories(${LIBUNWIND_LIBRARY_DIRS})
-# Final setup for libpcsc
-if (PCSC_FOUND)
- message(STATUS "Using PCSC include dir at ${PCSC_INCLUDE_DIR}")
- add_definitions(-DHAVE_PCSC)
- include_directories(${PCSC_INCLUDE_DIR})
- link_directories(${LIBPCSC_LIBRARY_DIRS})
-else (PCSC_FOUND)
- message(STATUS "Could not find PCSC")
+if(USE_DEVICE_LEDGER)
+ set(USE_DEVICE_LEDGER 0)
endif()
if(MSVC)
@@ -904,32 +898,6 @@ endif()
add_subdirectory(contrib)
add_subdirectory(src)
-if(BUILD_TESTS)
- add_subdirectory(tests)
-endif()
-
-if(BUILD_DOCUMENTATION)
- set(DOC_GRAPHS "YES" CACHE STRING "Create dependency graphs (needs graphviz)")
- set(DOC_FULLGRAPHS "NO" CACHE STRING "Create call/callee graphs (large)")
-
- find_program(DOT_PATH dot)
-
- if (DOT_PATH STREQUAL "DOT_PATH-NOTFOUND")
- message("Doxygen: graphviz not found - graphs disabled")
- set(DOC_GRAPHS "NO")
- endif()
-
- find_package(Doxygen)
- if(DOXYGEN_FOUND)
- configure_file("cmake/Doxyfile.in" "Doxyfile" @ONLY)
- configure_file("cmake/Doxygen.extra.css.in" "Doxygen.extra.css" @ONLY)
- add_custom_target(doc
- ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "Generating API documentation with Doxygen.." VERBATIM)
- endif()
-endif()
-
# when ON - will install libwallet_merged into "lib"
option(BUILD_GUI_DEPS "Build GUI dependencies." OFF)
diff --git a/Makefile b/Makefile
index b725d18..8dc8392 100644
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ release-all:
release-static:
mkdir -p build/release
- cd build/release && cmake -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release ../.. && $(MAKE)
+ cd build/release && cmake -D USE_DEVICE_LEDGER=0 -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release ../.. && $(MAKE)
coverage:
mkdir -p build/debug
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp
index d2acf51..0f6494f 100755
index 69d4652bb..efd04ca68 100644
--- a/src/simplewallet/simplewallet.cpp
+++ b/src/simplewallet/simplewallet.cpp
@@ -3488,12 +3488,7 @@ bool simple_wallet::ask_wallet_create_if_needed()
@@ -3876,23 +3876,10 @@ bool simple_wallet::ask_wallet_create_if_needed()
*/
void simple_wallet::print_seed(std::string seed)
void simple_wallet::print_seed(const epee::wipeable_string &seed)
{
- success_msg_writer(true) << "\n" << tr("NOTE: the following 25 words can be used to recover access to your wallet. "
- success_msg_writer(true) << "\n" << boost::format(tr("NOTE: the following %s can be used to recover access to your wallet. "
- "Write them down and store them somewhere safe and secure. Please do not store them in "
- "your email or on file storage services outside of your immediate control.\n");
- boost::replace_nth(seed, " ", 15, "\n");
- boost::replace_nth(seed, " ", 7, "\n");
- "your email or on file storage services outside of your immediate control.\n")) % (m_wallet->multisig() ? tr("string") : tr("25 words"));
- // don't log
+ success_msg_writer(true) << "**********************************************************************SEED\n";
std::cout << seed << std::endl;
}
//----------------------------------------------------------------------------------------------------
@@ -4169,37 +4164,8 @@ bool simple_wallet::try_connect_to_daemon(bool silent, uint32_t* version)
int space_index = 0;
size_t len = seed.size();
for (const char *ptr = seed.data(); len--; ++ptr)
{
- if (*ptr == ' ')
- {
- if (space_index == 15 || space_index == 7)
- putchar('\n');
- else
- putchar(*ptr);
- ++space_index;
- }
- else
putchar(*ptr);
}
putchar('\n');
@@ -4640,40 +4627,9 @@ bool simple_wallet::try_connect_to_daemon(bool silent, uint32_t* version)
*/
std::string simple_wallet::get_mnemonic_language()
{
std::vector<std::string> language_list;
- std::vector<std::string> language_list_self, language_list_english;
- const std::vector<std::string> &language_list = m_use_english_language_names ? language_list_english : language_list_self;
- std::string language_choice;
- int language_number = -1;
crypto::ElectrumWords::get_language_list(language_list, m_use_english_language_names);
- crypto::ElectrumWords::get_language_list(language_list_self, false);
- crypto::ElectrumWords::get_language_list(language_list_english, true);
- std::cout << tr("List of available languages for your wallet's seed:") << std::endl;
- std::cout << tr("If your display freezes, exit blind with ^C, then run again with --use-english-language-names") << std::endl;
- int ii;
- std::vector<std::string>::iterator it;
- std::vector<std::string>::const_iterator it;
- for (it = language_list.begin(), ii = 0; it != language_list.end(); it++, ii++)
- {
- std::cout << ii << " : " << *it << std::endl;
- }
- while (language_number < 0)
- {
- language_choice = input_line(tr("Enter the number corresponding to the language of your choice: "));
- language_choice = input_line(tr("Enter the number corresponding to the language of your choice"));
- if (std::cin.eof())
- return std::string();
- try
@ -135,12 +63,14 @@ index d2acf51..0f6494f 100755
- fail_msg_writer() << tr("invalid language choice entered. Please try again.\n");
- }
- }
- return language_list[language_number];
- return language_list_self[language_number];
+ std::vector<std::string> language_list;
+ crypto::ElectrumWords::get_language_list(language_list, m_use_english_language_names);
+ return language_list[1];
}
//----------------------------------------------------------------------------------------------------
boost::optional<tools::password_container> simple_wallet::get_and_verify_password() const
@@ -4299,12 +4265,9 @@ boost::optional<epee::wipeable_string> simple_wallet::new_wallet(const boost::pr
@@ -4778,11 +4734,9 @@ boost::optional<epee::wipeable_string> simple_wallet::new_wallet(const boost::pr
"your wallet again (your wallet keys are NOT at risk in any case).\n")
;
@ -149,69 +79,70 @@ index d2acf51..0f6494f 100755
- print_seed(electrum_words);
- }
- success_msg_writer() << "**********************************************************************";
-
+ success_msg_writer() << "******************************************************************SEED";
+ success_msg_writer() << electrum_words;
+ print_seed(electrum_words);
+ success_msg_writer() << "******************************************************************SEED";
return std::move(password);
return password;
}
//----------------------------------------------------------------------------------------------------
@@ -6666,17 +6620,6 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri
{
prompt << tr("WARNING: this is a non default ring size, which may harm your privacy. Default is recommended.");
}
- prompt << ENDL << tr("Is this okay?");
-
- std::string accepted = input_line(prompt.str(), true);
- if (std::cin.eof())
- return false;
- if (!command_line::is_yes(accepted))
- {
- fail_msg_writer() << tr("transaction cancelled.");
-
- return false;
- }
}
// actually commit the transactions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 1bb9f52..c9fdecc 100755
index 4779c3335..e218df7e1 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -2952,6 +2952,13 @@ bool wallet2::load_keys(const std::string& keys_file_name, const epee::wipeable_
return false;
}
+ m_ask_password = false;
@@ -1134,7 +1134,7 @@ wallet2::wallet2(network_type nettype, uint64_t kdf_rounds, bool unattended, std
m_trusted_daemon(false),
m_nettype(nettype),
m_multisig_rounds_passed(0),
- m_always_confirm_transfers(true),
+ m_always_confirm_transfers(false),
m_print_ring_members(false),
m_store_tx_info(true),
m_default_mixin(0),
@@ -1145,13 +1145,13 @@ wallet2::wallet2(network_type nettype, uint64_t kdf_rounds, bool unattended, std
m_refresh_from_block_height(0),
m_explicit_refresh_from_block_height(true),
m_confirm_non_default_ring_size(true),
- m_ask_password(AskPasswordOnAction),
+ m_ask_password(AskPasswordNever),
m_min_output_count(0),
m_min_output_value(0),
m_merge_destinations(false),
- m_confirm_backlog(true),
+ m_confirm_backlog(false),
m_confirm_backlog_threshold(0),
- m_confirm_export_overwrite(true),
+ m_confirm_export_overwrite(false),
m_auto_low_priority(true),
m_segregate_pre_fork_outputs(false),
m_key_reuse_mitigation2(false),
@@ -4000,6 +4000,12 @@ void wallet2::change_password(const std::string &filename, const epee::wipeable_
*/
bool wallet2::load_keys(const std::string& keys_file_name, const epee::wipeable_string& password)
{
+ m_ask_password = AskPasswordNever;
+ m_always_confirm_transfers = false;
+ m_confirm_subaddress = false;
+ m_confirm_backlog = false;
+ m_confirm_export_overwrite = false;
+ m_confirm_non_default_ring_size = true;
+
r = epee::serialization::load_t_from_binary(m_account, account_data);
if (r && m_key_on_device) {
LOG_PRINT_L0("Account on device. Initing device...");
diff --git a/src/wallet/wallet_args.cpp b/src/wallet/wallet_args.cpp
index fcd9cc0..ad0c3cc 100644
--- a/src/wallet/wallet_args.cpp
+++ b/src/wallet/wallet_args.cpp
@@ -122,7 +122,7 @@ namespace wallet_args
command_line::add_arg(desc_params, arg_max_concurrency);
command_line::add_arg(desc_params, arg_config_file);
- i18n_set_language("translations", "monero", lang);
+ i18n_set_language("translations", "monero", "en");
po::options_description desc_all;
desc_all.add(desc_general).add(desc_params);
@@ -134,7 +134,7 @@ namespace wallet_args
if (command_line::get_arg(vm, command_line::arg_help))
{
- Print(print) << "Wownero '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")" << ENDL;
+ Print(print) << "Wownero Light '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")" << ENDL;
Print(print) << wallet_args::tr("This is the command line wownero wallet. It needs to connect to a wownero\n"
"daemon to work correctly.") << ENDL;
Print(print) << wallet_args::tr("Usage:") << ENDL << " " << usage;
@@ -143,7 +143,7 @@ namespace wallet_args
}
else if (command_line::get_arg(vm, command_line::arg_version))
{
- Print(print) << "Wownero '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")";
+ Print(print) << "Wownero Light '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")";
return false;
}
@@ -190,7 +190,7 @@ namespace wallet_args
if (!command_line::is_arg_defaulted(vm, arg_max_concurrency))
tools::set_max_concurrency(command_line::get_arg(vm, arg_max_concurrency));
- Print(print) << "Wownero '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")";
+ Print(print) << "Wownero Light '" << MONERO_RELEASE_NAME << "' (v" << MONERO_VERSION_FULL << ")";
if (!command_line::is_arg_defaulted(vm, arg_log_level))
MINFO("Setting log level = " << command_line::get_arg(vm, arg_log_level));
+ m_inactivity_lock_timeout = 525600;
std::string keys_file_buf;
bool r = load_from_file(keys_file_name, keys_file_buf);
THROW_WALLET_EXCEPTION_IF(!r, error::file_read_error, keys_file_name);

@ -1,9 +1,9 @@
{
"name": "wowlight",
"version": "0.1.3",
"name": "wowlite",
"version": "0.1.4",
"__version": "bumping this should also bump LandingPage.vue (version checker)",
"author": "dsc <xmrdsc@protonmail.com>",
"description": "Wownero Light Wallet",
"description": "Wownero Lite Wallet",
"license": "WTFPL",
"main": "./dist/electron/main.js",
"scripts": {
@ -18,8 +18,8 @@
"postinstall": ""
},
"build": {
"productName": "wowlight",
"appId": "org.wownero.wowlight",
"productName": "wowlite",
"appId": "org.wownero.wowlite",
"directories": {
"output": "build"
},
@ -108,7 +108,7 @@
"electron-debug": "3.0.0",
"electron-util": "0.11.0",
"electron-devtools-installer": "^2.2.4",
"electron-builder": "^20.19.2",
"electron-builder": "^21.2.0",
"mini-css-extract-plugin": "0.4.0",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",

@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8">
<title>wowlight</title>
<title>wowlite</title>
<script>
const {ipcRenderer} = require('electron');
</script>

@ -14,9 +14,9 @@ const execPath = IS_PROD ?
const cli_binaries = {
'linux': 'wowlight',
'mac': 'wowlight',
'win': 'wowlight.exe'
'linux': 'wowlite',
'mac': 'wowlite',
'win': 'wowlite.exe'
}
export const cliPath = `${joinPath(execPath, cli_binaries[getPlatform()])}`;

@ -3,7 +3,7 @@ const fs = require('fs');
export class Config {
constructor(wowdir) {
this._path_cfg = `${wowdir}/wowlight.json`;
this._path_cfg = `${wowdir}/wowlite.json`;
this.create();
this.data = this.load();
}
@ -24,10 +24,13 @@ export class Config {
}
let data = JSON.stringify({
"node": "node.wowne.ro:34568",
"node": "wow.candy.surf:34568",
"nodes": [
{"address": "node.wowne.ro:34568", "location": "New Jersey, United States", "region": "US"},
{"address": "wow.aluisyo.network:34568", "location": "The Moon", "region": "Moon"},
{"address": "wow.candy.surf:34568", "location": "All you can eat.", "region": "WOW"},
{"address": "so.wow.candy.surf:34568", "location": "San Francisco, United States", "region": "US"},
{"address": "much.wow.candy.surf:34568", "location": "London, England", "region": "UK"},
{"address": "such.wow.candy.surf:34568", "location": "Montreal, Canada", "region": "CA"},
{"address": "very.wow.candy.surf:34568", "location": "Bangalore, India", "region": "IN"},
{"address": "localhost:34568", 'location': "", "region": "*"}
],
"wallets": []

@ -175,7 +175,7 @@ ipcMain.on('rpc_commit_wallet', (event, data) => {
event.sender.send('rpc_wallet_committed');
});
ipcMain.on('rate_usd_wow', (event, data) => {
ipcMain.on('rate_btc_wow', (event, data) => {
console.log(data);
});

@ -11,7 +11,7 @@ export class WowRpc {
constructor(wowdir, cli_path) {
this._wowdir = wowdir;
this._cli_process = null;
this._cli_log_path = path.join(os.tmpdir(), 'wowlight-wallet.log');
this._cli_log_path = path.join(os.tmpdir(), 'wowlite-wallet.log');
if(!cli_path) {
this._cli_path = cliPath;
} else {
@ -371,7 +371,7 @@ export class WowRpc {
if(typeof this._cli_daemon_address == 'undefined'){
// this is some truly stupid hacky shit
this._cli_daemon_address = 'node.wowne.ro:34568';
this._cli_daemon_address = 'wow.candy.surf:34568';
}
let cli_args = ['--daemon-address', this._cli_daemon_address];

@ -47,7 +47,7 @@
<script>
export default {
name: 'wowlight',
name: 'wowlite',
computed: {
height_from() {
return this.$store.getters.height_from;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@ -86,5 +86,7 @@ export const messages = [
'Rebuilding WinoBot!',
'He who runs, doesn\'t walk!',
'Downloading Shaggy_Complete_Collection.zip [148 GB left]',
'Arrays start at 1!'
'Arrays start at 1!',
'Junkie Jeff thanks you for mining Wownero',
'Wownero - Iterative Discourse - a blackhat culture'
];

@ -88,7 +88,7 @@ html {
}
body {
background: url("~@/assets/background.png") 0 0;
background: url("~@/assets/background2.png") 0 0;
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;
}
@ -361,7 +361,7 @@ textarea.seed {
font-size: 18px;
color: #70bf19;
font-weight: bold;
background: rgba(0, 0, 0, 0.03);
background-color: rgba(255, 255, 255, 0.85);
}
p {
@ -638,6 +638,7 @@ form#sendForm .amount label small {
}
main.dashboard{
background-image: url("~@/assets/background3.png");
margin-top: 42px;
}
@ -829,6 +830,7 @@ main.create-wallet-seed {
}
main.credits ul, main.landing ul, main.create-wallet-seed ul {
background-color: rgba(255, 255, 255, 0.85);
margin-left: 20px;
}
@ -896,7 +898,7 @@ main.credits ul, main.landing ul, main.create-wallet-seed ul {
width: 100%;
position: fixed;
bottom: 0;
height: 200px;
height: 170px;
z-index: 666;
}
@ -931,9 +933,8 @@ main.credits ul, main.landing ul, main.create-wallet-seed ul {
}
.wario_seq .wario_walking_animated .wario_walking {
background-image: url("~@/assets/wariorunningcropped.gif");
background-image: url("~@/assets/dog.gif");
background-position-x: 0;
-webkit-transform: scaleX(-1);
background-size: contain;
background-repeat: no-repeat;
height: 138px;
@ -950,25 +951,25 @@ main.credits ul, main.landing ul, main.create-wallet-seed ul {
position: absolute;
}
.wario_seq .perlsux {
background-image: url("~@/assets/perl_forbidden.png");
.wario_seq .hypnotoad {
background-image: url("~@/assets/hypnotoad.gif");
background-position-x: 0;
background-size: contain;
background-repeat: no-repeat;
position: absolute;
width: 100px;
height: 100px;
right: 40px;
bottom: 40px;
width: 200px;
height: 145px;
right: 100px;
bottom: 5px;
z-index: 666;
}
main.credits .perlsux {
main.credits .hypnotoad {
cursor: pointer;
}
main.credits .perlsux:hover {
transform: rotate(10deg);
main.credits .hypnotoad:hover {
transform: rotate(-10deg);
}
.wario_seq .grassfill .version {
@ -1012,9 +1013,8 @@ main.landing .wario_seq .grassfill .author {
}
.wario_seq .wario_standing_animated .wario_standing {
background-image: url("~@/assets/wariostanding.gif");
background-image: url("~@/assets/dog2.gif");
background-position-x: 0;
-webkit-transform: scaleX(-1);
background-size: contain;
background-repeat: no-repeat;
height: 138px;
@ -1027,9 +1027,9 @@ main.landing .wario_seq .grassfill .author {
background-size: contain;
background-repeat: no-repeat;
width: 164px;
height: 50px;
height: 35px;
position: absolute;
left: 80px;
left: 130px;
top: 4px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@ -65,6 +65,7 @@
<li>kloinka</li>
<li>ilovetron</li>
<li>\x</li>
<li>mj <small>(Resident artist)</small></li>
</ul>
</div>
</div>
@ -102,7 +103,7 @@
}
},
mounted() {
jQuery('main.credits .perlsux').click((event) => {
jQuery('main.credits .hypnotoad').click((event) => {
this.back();
});
},

@ -51,7 +51,7 @@
}
},
mounted() {
jQuery('main.credits .perlsux').click((event) => {
jQuery('main.credits .hypnotoad').click((event) => {
this.back();
});
jQuery('#password').focus();

@ -4,12 +4,6 @@
<div class="col-sm-7">
<img id="logo" src="~@/assets/wownero-light-intro.png" alt="electron-vue">
<p>Welcome to wownero light!</p>
<ul style="margin-bottom: 22px">
<li>Electron/Vue.js <small>(OSX/Windows/Linux)</small></li>
<li>Works most of the time</li>
</ul>
<button id="create_wallet_btn" v-on:click="createWallet" type="button" class="btn btn-success btn-sm">
<i class="fa fa-plus" id="create_wallet_icon" aria-hidden="true"></i>
Create wallet
@ -45,13 +39,6 @@
</div>
</div>
</div>
<div class="card my-4 wfs-explorer" style="margin-top: 0 !important;">
<h5 class="card-header">Funding required</h5>
<div class="card-body">
<wfs-explorer></wfs-explorer>
</div>
</div>
</div>
</div>
@ -131,18 +118,22 @@
mounted() {
let select_node = jQuery('#selectnode');
const axios = require('axios');
axios.get('https://funding.wownero.com/api/1/convert/wow-usd?amount=1000').then(response => {
this.$store.commit('addRate', response.data.usd);
axios.get('https://tradeogre.com/api/v1/ticker/btc-wow').then(response => {
this.$store.commit('addRate', response.data.ask);
});
axios.get('https://tradeogre.com/api/v1/ticker/btc-xmr').then(response => {
this.$store.commit('addRateXMR', response.data.ask);
});
axios.get(`https://funding.wownero.com/api/1/wowlight?version=0.1.3`).then(response => {
axios.get(`https://funding.wownero.com/api/1/wowlite?version=0.1.4`).then(response => {
if(response.data.data === false) {
const {dialog} = require('electron').remote
const dialogOptions = {
type: 'error',
title: 'Outdated client',
buttons: ['OK'],
message: `You are running an old instance of wowlight and need to upgrade!\n\nVisit https://light.wownero.com for a shiny new version.`
message: `You are running an old instance of wowlite and need to upgrade!\n\nVisit https://light.wownero.com for a shiny new version.`
}
dialog.showMessageBox(dialogOptions, i => {});
}

@ -69,7 +69,7 @@
pathConfig() {
const path = require('path');
return path.join(this.$store.state.wallet_dir, 'wowlight.json');
return path.join(this.$store.state.wallet_dir, 'wowlite.json');
}
}
}

@ -10,14 +10,14 @@
<div class="coin" style="height: 24px;width: 24px;top:54px;right:32px;"></div>
</div>
<div class="perlsux"></div>
<div class="hypnotoad"></div>
<div class="grass_container">
<div class="grass"></div>
<div class="grassfill">
<span class="version">
0.1.3 - <span style="font-size:12px;">{{version_embedded}}</span>
0.1.4 - <span style="font-size:12px;">{{version_embedded}}</span>
</span>
<a class="credits" href="#" v-on:click="openCredits">
Credits
@ -46,7 +46,7 @@
function wario_animate(){
wario.animate({
left: `${window_width}px`
}, 8000, 'linear', () => {
}, 8500, 'linear', () => {
wario.css('left', '-400px');
wario_animate();
});

@ -10,7 +10,7 @@
<div class="coin" style="height: 24px;width: 24px;top:54px;right:32px;"></div>
</div>
<div class="perlsux"></div>
<div class="hypnotoad"></div>
<div class="grass_container">
<div class="grass"></div>
@ -34,7 +34,7 @@
}
},
mounted() {
jQuery('main.credits .perlsux').click((event) => {
jQuery('main.credits .hypnotoad').click((event) => {
this.back();
});
},

@ -26,22 +26,21 @@
wallet() {
return this.$store.getters.wallet;
},
usd(){
return (this.$store.getters.usd_rate / 1000) * this.$store.getters.wallet.balance;
btc(){
return (this.$store.getters.btc_rate) * this.$store.getters.wallet.balance;
},
bubble_img() {
let rate = this.$store.getters.usd_rate;
let usd = (rate / 1000) * this.$store.getters.wallet.balance;
let bal = this.$store.getters.wallet.balance;
if(usd < 1){
if(bal < 1){
return this.path_bubble(0);
} else if(usd < 100){
} else if(bal < 100){
return this.path_bubble(1);
} else if(usd < 500){
} else if(bal < 1000){
return this.path_bubble(2);
} else if(usd < 1000){
} else if(bal < 2000){
return this.path_bubble(3);
} else if(usd < 1000){
} else if(bal > 2000){
return this.path_bubble(4);
}
}

@ -6,23 +6,23 @@
</div>
<div v-if="usd < 1">
<div v-if="btc < 1">
<div class="bubble" :style="`background-image: url(${this.path_bubble(0)})`"></div>
</div>
<div v-else-if="usd < 100">
<div v-else-if="btc < 100">
<div class="bubble" :style="`background-image: url(${this.path_bubble(1)})`"></div>
</div>
<div v-else-if="usd < 500">
<div v-else-if="btc < 500">
<div class="bubble" :style="`background-image: url(${this.path_bubble(2)})`"></div>
</div>
<div v-else-if="usd < 1500">
<div v-else-if="btc < 1500">
<div class="bubble" :style="`background-image: url(${this.path_bubble(3)})`"></div>
</div>
<div v-else-if="usd >= 1500">
<div v-else-if="btc >= 1500">
<div class="bubble" :style="`background-image: url(${this.path_bubble(4)})`"></div>
</div>
</div>
@ -43,22 +43,21 @@
wallet() {
return this.$store.getters.wallet;
},
usd(){
return (this.$store.getters.usd_rate / 1000) * this.$store.getters.wallet.balance;
btc(){
return this.$store.getters.btc_rate * this.$store.getters.wallet.balance;
},
bubble_img() {
let rate = this.$store.getters.usd_rate;
let usd = (rate / 1000) * this.$store.getters.wallet.balance;
let bal = this.$store.getters.wallet.balance;
if(usd < 1){
if(bal < 1){
return this.path_bubble(0);
} else if(usd < 100){
} else if(bal < 100){
return this.path_bubble(1);
} else if(usd < 500){
} else if(bal < 1000){
return this.path_bubble(2);
} else if(usd < 1000){
} else if(bal < 2000){
return this.path_bubble(3);
} else if(usd < 1000){
} else if(bal > 2000){
return this.path_bubble(4);
}
}

@ -10,12 +10,16 @@
Balance: <span>{{wallet.balance}}</span>
</span>
|
<span class="balance_usd">
<span class="balance_btc">
Unlocked: <span>{{wallet.unlocked}}</span>
</span>
|
<span class="balance_usd">
USD: <span>{{Number((usd_rate/1000)*wallet.balance).toFixed(2)}}</span>
<span class="balance_btc">
BTC: <span>{{Number(btc_rate*wallet.balance).toFixed(9)}}</span>
</span>
|
<span class="balance_xmr">
XMR: <span>{{Number(btc_rate*wallet.balance/xmr_rate).toFixed(9)}}</span>
</span>
</div>
@ -45,8 +49,11 @@
wallet() {
return this.$store.getters.wallet;
},
usd_rate() {
return this.$store.getters.usd_rate;
btc_rate() {
return this.$store.getters.btc_rate;
},
xmr_rate() {
return this.$store.getters.xmr_rate;
}
},
methods: {

@ -18,7 +18,7 @@
<div class="row">
<div class="col-md-3">
<div class="form-group amount">
<label>Amount <small class="amount_usd"></small></label>
<label>Amount <small class="amount_btc"></small></label>
<input type="text" v-on:input="validate" v-on:keypress="isAmount()" name="amount" class="form-control amount" placeholder="Amount">
</div>
</div>
@ -74,8 +74,8 @@
wallet() {
return this.$store.getters.wallet;
},
usd_rate() {
return this.$store.getters.usd_rate;
btc_rate() {
return this.$store.getters.btc_rate;
}
},
methods: {
@ -126,7 +126,7 @@
let regexp_address = /([S|W][o|W][a-zA-Z0-9]{95})|(So[a-zA-Z0-9]{106})/g;
let address = form.find('textarea.address').val().trim();
let amount = form.find('input.amount').val().trim();
let usd = jQuery('form#sendForm .amount label small');
let btc = jQuery('form#sendForm .amount label small');
let invalid = function(msg){
jQuery('button.send_btn').addClass('disabled');
@ -134,23 +134,23 @@
if(amount.startsWith('.') || amount.endsWith('.')) {
this.error = 'Invalid WOW amount'
usd.html('');
btc.html('');
return invalid();
}
if((amount.split('.').length - 1) > 1){
this.error = 'Invalid WOW amount';
usd.html('');
btc.html('');
return invalid();
}
if((amount === 0)){
//this.error = 'Invalid WOW amount';
usd.html('');
btc.html('');
return invalid();
}
usd.html(`(${Number((this.usd_rate/1000)*amount).toFixed(2)} USD)`);
btc.html(`(${Number(this.btc_rate*amount).toFixed(9)} BTC)`);
let addy_match = address.match(regexp_address);
if(!addy_match){

@ -34,7 +34,7 @@
{{tx.in === 'in' ? '+' : '-'}}{{tx.amount}}
<small style="color: black">
$ {{Number((usd_rate/1000)*tx.amount).toFixed(2)}}
$ {{Number(btc_rate*tx.amount).toFixed(9)}}
</small>
</span>
</span>
@ -55,8 +55,8 @@
export default {
name: "TxHistoryList",
computed: {
usd_rate() {
return this.$store.getters.usd_rate;
btc_rate() {
return this.$store.getters.btc_rate;
},
wallet() {
return this.$store.getters.wallet;

@ -23,14 +23,14 @@ export default new Vuex.Store({
password_box: {
'message': ''
},
usd_rate: 0, // per 1000 WOW
btc_rate: 0, // per 1000 WOW
wallet: {
'path': '',
'txs': [],
'balance': 0,
'unlocked': 0,
'address': '',
'usd': 0,
'btc': 0,
'state': -1
}, // wallet opened
wallet_path: '',
@ -78,7 +78,10 @@ export default new Vuex.Store({
state.appState = data;
},
addRate(state, data){
state.usd_rate = data;
state.btc_rate = data;
},
addRateXMR(state, data){
state.xmr_rate = data;
},
showError(state, data){
state.error = data;
@ -136,7 +139,8 @@ export default new Vuex.Store({
wallet: state => state.wallet,
wallet_path: state => state.wallet_path,
wallet_password: state => state.wallet_password,
usd_rate: state => state.usd_rate,
btc_rate: state => state.btc_rate,
xmr_rate: state => state.xmr_rate,
message_box: state => state.message_box,
password_box: state => state.password_box,
height_from: state => state.height_from,