Commit graph

15 commits

Author SHA1 Message Date
roshii
0229bb7d62
Fix node2 RPC port & add missing elm mark (#2438)
- Set second test bitcoin node RPC port to 18545 (i/o 18544) to avoid P2P port conflict with first node
- Add missing "elm" mark to test_node_controller.py::test_node_running_elements

Signed-off-by: Simon Castano <roshii@riseup.net>
Co-authored-by: k9ert <k9ert@gmx.de>
2024-05-16 22:23:51 +02:00
k9ert
e8c5e3f4e6
Bugfix: method getaddressinfo not implemented (#2313)
This PR fixes #2312 which are four things:
* getaddressinfo was not implemented in spectrum which results in "method not found"
* There was an unrelated KeyError which occured in Transactions where one the output was a change-address. It's a bit unknown why that hasn't occured earlier. At least it was diffcult to spot as the fetch_transactions call was way to huge and very confusing. So ...
* the fetch_transactions call was refactored in its own class, TxFetcher. As we did that,  we also moved two other related files in a newly created wallet-package.
* Tiny bug around tx["amount"] which only exists as tx["flow_amount"] for transactions.
2023-03-27 21:22:56 +02:00
k9ert
2f21a03c26
Feature: More robust wallet recreation and support tool "Wallet management" for Spectrum (#2273)
* having a very limites spectrum wallet-backend-admin tool

* remove renumbering of wallets

* enriched alias function

* add wallets_aliases property to wallet manager

* use alias when checking names at wallets endpoint

* get rid of scary "ERROR" in base.jinja

* change title for input field for creating a new wallet

* strip leading and trailing whitespaces in alias()

* pytest added

* fix pytests

* Moving Wallet Link to settings

* a bit of styling

---------

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
Co-authored-by: Manolis Mandrapilias <70536101+moneymanolis@users.noreply.github.com>
2023-03-02 19:59:33 +01:00
k9ert
99f5404705
Feature: Notification system (#1766) (#2103)
A feature for a notification system has been added, including websockets and SSL support, improved error handling, and better logging. There have been various bug fixes, refactoring, and documentation updates throughout the process. The feature is now complete and includes new functionality for managing and displaying notifications, as well as testing and debugging tools.m>

Co-authored-by: relativisticelectron <60378539+relativisticelectron@users.noreply.github.com>
2023-02-07 19:00:44 +01:00
k9ert
3ee881805e
Chore: Porting chore/rid_of_defaultnode to uiux-revamp (#2098)
* Chore: Remove default node (#2072)

* change passwordaspin auth implementation

* env-var for RASPIBLITZ_SPECTER_RPC_LOGIN_BITCOIN_CONF_LOCATION

* remove default

* fix tests

* fix the tests part2

* fix cypress tests

* docstrings and other default removals

* improve error_handling

* do not raise exception

* fixed debugging artifact

* Spinning refresh icon if node is still syncing

* Cypress test for sync status

* remove notification of fully synced node

* Set timeout for sync check to 5min

---------

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
Co-authored-by: Manolis Mandrapilias <70536101+moneymanolis@users.noreply.github.com>
2023-01-31 11:06:29 +01:00
k9ert
d367e93df6
Chore: Refactor device_types and disable change to hotwallet for Spectrum_Node (#2048)
* adding fullpath fixes spectrum issue 13

* Add Spectrum node delte capability

* refactor and enable get_subclass_for_clazz for all classes

* get rid of DeviceTypes references part 1

* get rid of DeviceTypes references part 2

* add check for device-type when changing device_type

* added return type hint

* remove fatal logging

* Change flash message

* Disable setting unsupported device typ in UI

Co-authored-by: Manolis Mandrapilias <70536101+moneymanolis@users.noreply.github.com>
Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
2023-01-26 15:05:45 +01:00
k9ert
db8e413891
Chore: Remove docker support (#2054)
* Chore: Remove docker support

* use pip instead of pip3

* kick

* kick

Co-authored-by: Manolis Mandrapilias <70536101+moneymanolis@users.noreply.github.com>
2023-01-16 18:33:59 +01:00
Manolis Mandrapilias
a729ae7ae2
Bugfix: Incomplete wallet deletion (#1950)
Also:
* threading for testing via specter config
* helpful output for flaky tests

Co-authored-by: k9ert <kim@swanbitcoin.com>
2022-11-14 21:26:32 +01:00
k9ert
de8f5af619
Feature: several things for Spectrum preparation (#1913)
* change Node persistence format

* Removing the Singleton

* mainly refactoring

* intermediate commit

* fix test

* Updated diagram

* fix tests

* removing simplejsons references

* fix tests

* remove update, tests working

* abstract Node

* refining Migration framework: run migrations until they suceed

* BrokenCoreConnectionException added to handle lost RPC + some minor error handling fixes

* clicking redirects to node config if there is no node connection

* AbstractNode

* BrokenCoreConnectionException added to handle lost RPC + some minor error handling fixes

* clicking redirects to node config if there is no node connection

* handling broken connection when there is no other error superseding (i.e. no wallets)

* Abstract Node improvements and issue fixing

* improving node_info handling

* fix test results, property device_manager in user, bcce in get_rpc in node, improved rpc property in node

* typos

* provide data_folders for extensions

* parametrizing include for node_info

* Remove initial_node_contribution refactoring welcome

* adding convenience methods

* extension data-storage

* Tests green

* Better failure resistence

* Enabling Node settings

* error handling

* adjust_view_model callback

* exception Handling

* Shielding core from extension flaws

* More consistent logging

* Refactoring wallets endpoints

* Make wallet_overview extendable

* butgifex and cleanup

* feedback by Manolis

* rename BusinessObject to PersistentObject

* fix Error-management and rollback information

* Nodes.md corrections

* frontend-aspects.md (small) corrections

* fix tests and address feedback and errormanagement

* fix tests, proper error-handling

* Fix test_util_reflection

* just some little addons to test_util_reflection

* fix cleanup_on_exit

* migration fix

* remove check, add redirect after saving node

* fix test (not that cool but what to do?)

* upgrade Flask as Flask-SQLAlchemy needs higher Flask version

* Revert "upgrade Flask as Flask-SQLAlchemy needs higher Flask version"

This reverts commit bf24120f89.

* update bug fixed + node manager added to node test

* cleanup external_node

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
2022-10-29 15:54:34 +02:00
Manolis Mandrapilias
59779fc755
Chore: Refactoring of wallet tests (#1943)
* refactoring of fixtures and wallet tests
* bottleneck mark
2022-10-26 13:15:01 +02:00
Manolis Mandrapilias
6fbe4b1ada
Bugfix: Internal server error when node connection breaks down (#1920)
* BrokenCoreConnectionException added to handle lost RPC + some minor error handling fixes

* clicking redirects to node config if there is no node connection

* handling broken connection when there is no other error superseding (i.e. no wallets)

* fix test results, property device_manager in user, bcce in get_rpc in node, improved rpc property in node

* fix at least one test

* fix for rest test

* doc string for _get_rpc

* fix for node test

* marked test as slow in wallet managers test

* safety checks in node controller

* fix last test, revert deletion of raising exception

Co-authored-by: Kim Neunert <k9ert@gmx.de>
2022-10-20 09:44:36 +02:00
k9ert
59e4e0b63b
Chore: Refactor_wallet_manager (#1667)
* remove unused params for update-method

* wallets_update_list shouldn't be an attribute

* param, docs and error_handling

* docs and propertize failed_wallets and error_management

* keep storing all wallets in wallet_manager

* adding first draft of a session-test

* updating cypress

* refine spec_mustiuser

* deactivate cypress-test

* changes in doc string of _update

* proper description

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
Co-authored-by: Manolis <70536101+moneymanolis@users.noreply.github.com>
2022-06-20 12:44:58 +02:00
Manolis
b6bd82a90c
UIUX: Overhaul of UTXO list, handling of locked UTXOs and scrollbar added to tx-table web component (#1580)
* Added tests/bitcoin to gitignore

* Ensure locked UTXO can't be used for transactions, fix rounding error in coin selection, fix styling/text in general settings.

* overhaul of checkbox logic in utxolist including mouseover event for checkboxes, manage psbt button action added, icon info popups added,design changes in utxo- and txlist to make the display quieter

* change of balance display, scrollbars for main and tx table, bugfixes (pagination, coin selection, unsigned labeling) & some styling finetuning

* deleted locked utxo balance calculations, added doc strings regarding balances

* jinja comment added in tx table, making scrollbar less vivid, tx table settings changed to no compact view toggle and scrollbar on by default

* more granular amount properties, little test fix.

* applying new amount properties to the frontend and other parts of the code & improving balance display design

* refactored a_simple_wallet to be only used in test_rest once

* tests for amounts and test performance optimisations.

* fix spec_node_configured

* fix spec_wallet_send.js

* fix spec_wallet_utxo.js

* keep action teaser div hidden on wallets overview.

* minor bug fix in tx-table, added includeShadowDom to cypress.json, adapted spec_wallet_utxo.js to new utxo list logic and added tests of new functionality to it.

* fix spec_plugins.js and switch back to includeShadowDom false
The problem with true is, that you are no longer able to spot
when you need to apply the workaround described in
https://docs.cypress.io/api/commands/shadow#Known-Issue
as you only need to apply in a shadow-DOM.
Feel free to switch it back in any test you see fit.
Cypress.config('includeShadowDom',true)

* better organisation of wallet utxo spec file

* some wait-tweaks to cypress tests to make them run smoother on cirrus, note: cypress tests green in local dev.

* longer wait in spec_elm_multi_segwit_wallet.js

* fixing spec_elm_multi_segwit_wallet.js

* more checks whether checkboxes get selected and additional waits for cirrus in spec_wallet_utxo.js.

Co-authored-by: Kim Neunert <k9ert@gmx.de>
2022-04-08 11:07:01 +02:00
Kim Neunert
18c232bf0f
Bugfix: Price data edge-case, fixes #1554 (#1624)
* fix the edge-case that someone uses dollar with bitstamp or coindesk

* Tests and removed unnecessary param

* bugfixes

* fix utxo-export

* more nice logging

* refactor mnemonic helpers into dedicated util file

* improved styling of price provider selection

* added unrelated wallet-tests

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
2022-03-08 16:23:15 +01:00
Kim Neunert
40986d9021
Bugfix: prevent using keys twice (#1500)
* Bugfix: prevent using keys twice

* fix import

* simplyfying the check

* cleanup

* add a test

* change comparison to xpubs

* rename test_device_manager.py

* rename test_user_manager.py

* more sane tests

* forgot this
2022-01-23 23:20:33 +01:00
Renamed from tests/test_wallet_manager.py (Browse further)