Commit graph

40 commits

Author SHA1 Message Date
k9ert
48fea77b8a
fix: validate active API tokens (#2685) 2026-08-08 14:57:14 +02:00
k9ert
a24df2eb50
ci: add GHA test workflow + GPG-verify bitcoind/elementsd downloads (#2606)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 20:50:12 +02:00
k9ert
496f3f5d79
docs(agents): refresh CI/release section post-GitLab migration (#2605) 2026-04-12 10:31:54 +02:00
k9ert
e9dc494d22
Kn/macos signing (#2432)
* chore: migrate from altool to notarytool

* fix litte things in build-common

* add pyenv install in build-osx

* add pyinstaller/electron/signing_logs to gitignore

* chore: migrate from altool to notarytool

* fix little things in build.common

* add pyenv install in build osx

* add pyinatsller electron signing logs to gitignore

* updated build-osx.sh

* fix entitlement

* heavily refactoring the electron app

* polish and improve

* further bugfixing and polishing

* tiny change to improve support of MacOS

* Fix dependency issues

---------

Co-authored-by: Manolis <moneymanolis@protonmail.com>
2024-05-01 12:31:32 +02:00
Manolis Mandrapilias
5928b220de
Chore: Use prettier for Electron app (#2347)
* prettify main.js

* change multisig address verification

* add package-lock to .gitignore
2023-06-28 11:58:40 +02:00
Manolis Mandrapilias
f19bbb2176
Bugfix: Specter icons not used for Electron binary (#2227) 2023-02-17 16:57:41 +01:00
k9ert
69c836bd04
Chore: Upgrading dependencies (#2217)
* upgrade deps
* removing babel as dependency in test
* pin flask_login and more project urls
* also allow for gateway timeout in failsafe test

---------

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
2023-02-17 15:01:36 +01:00
k9ert
ef364ce1bc
Chore: refurbish release infrastructure (#2198)
* change release infra

* syntax error

* fix buildscript (hopefully)

* fix pip generation too

* fix build (hopefully)

* fix bloated sdid (mainly MANIFEST.in)

* adjust tests, remove importlib_meta

* fix dependency issue in release jobs

* fix tests and remove pytest.ini entirely

* fix install_noded script

* fix test

* fix tests

* stupid versioin parsing does not work!

* try to fix version guessing

* and again
2023-02-15 14:58:33 +01:00
Shivoham Angal
4328c654a7
Bugfix: Fixed Save Backup PDF Button after creating wallet (#2149)
* added fonts and changed childnode index

* Adding pdf-tests

* new parameter for wallet creation and fix nasty children logic

---------

Co-authored-by: Manolis Mandrapilias <70536101+moneymanolis@users.noreply.github.com>
Co-authored-by: Kim Neunert <k9ert@gmx.de>
2023-02-08 09:32:29 +01:00
relativisticelectron
a82eddfe7f
UIUX: Easier adding and deleting of recipients (#1782)
* Using a new web component for recipients

Co-authored-by: moneymanolis <moneymanolis@protonmail.com>
2022-08-02 09:15:32 +02:00
Kim Neunert
0392c6a829
Chore: Adjusted releasing process and adding liquidissuer (#1716)
* refactor build-linux to avoid build-ci.sh

* adding set_setup_py_version to release_helper

* yet another tiny release-helper

* adjusted for win-compatibility

* fix windows build again

* fix directory-change

* part2

* kick

* kick

* kick

* kick

* dependencie for ./utils

* revert before_script

* unix, not linux

* fix buildscript

* restore version.txt

* fix

* fex exe

* bugfix: not exiting directory

* kick

* kick

* kick

* adding liquidissuer

* docstrings

* fix upload locations

* some docs

* ommit external exts in DevelopmentConfig

* simplifying startup for external exts

* macos improvements

* Merge branch 'master' of github.com:cryptoadvance/specter-desktop into liquidissuer

* last build-script adjustements

* fixed params gain

* reapply lost sys changes

* upgrade liquidissuer

* remove unnecessary print statement.

* remove unnecessary EXTENSION_LIST reduction in Development

* Bugfix: disable gunicorn for windows

* fix version.py

* black

* fix build

* last fixes for the macos-script

* Update src/cryptoadvance/specter/util/reflection.py

* Better formatting for cli

* a bit of reformating for cli_ext

* ignoring elements test

* skip test

* fix link to specterext-dice
2022-05-25 15:15:29 +02:00
relativisticelectron
d5b8696e3b
Chore: install_noded.sh support for elements binary (#1717)
* elements binary successfully downloaded

* changed CI

* removed comment

* adding elements stuff to .gitignore

* fixing permanent set of timeout

Co-authored-by: Kim Neunert <k9ert@gmx.de>
2022-05-18 09:07:19 +02:00
Kim Neunert
9caf5f2958
Bugfix: versionChecker and downloadloc (#1633) 2022-03-22 16:05:42 +01:00
Kim Neunert
28e13ca93c
Documentation: hosted at docs.specter.solutions (#1463)
* mkdocs

* adding mkdocs for netlify

* fix theme

* link to Readme

* deleting symlink again

* deleting index.md

* fix release-notes

* several doc improvements and elements installation

* move DEVELOPMENT.md and CONTRIBUTING.md in subfolder

* multi-site setup

* changes site_dir

* revert

* adding mkdoc-wrapper.sh

* removing mkdocs from prod-requirements

* more docs

* fix test ... no more warning
2021-11-24 18:37:46 +01:00
Kim Neunert
f814bbf5f7
Chore: Release process improvements (#1434)
* Bugfix: unknown kex fixes for SpecterMigrator

* create sha256sums

* fix

* kick

* kick

* kick

* kick

* kick

* a script for signing

* kick

* kick

* lots of stuff

* improve caching

* improve caching

* reasonable wget progress output

* kick

* kick

* kick

* hash and signing for windows

* sha256impl in py for win incl refactoring

* kick

* kick

* kick

* kick

* kick

* kick

* kick

* kick

* small test-cypress change
2021-10-19 12:31:13 +02:00
kdmukai
10b312ef4e
Feature: Auto privacy settings (#1415)
* Default bitcoind timeout to 60s for all platforms

* Create bitcoind_setup_tasks.py

* Missing prop setter bugfix

Fixes #1221

* Use jinja's "tojson" to safely escape account_map device labels

* Update wallet_pdf.jinja

* Babel instruction updates to remove kdmukai fork references

* Update README.md

* Fix hwi_bridge mode template issues

Fixes #1270

* Adds autohide sensitive info and auto logout timeouts

* minor js bugfix in `auth_settings.jinja`
* minor note in docs

* Update base.jinja

Removing debugging change.

* changed autohide default to 20min; moved int() cast

* PEP-8 formatting fix

* update dependencies and remove demon-mode

* test suite fix for new settings fields

* Interim commit

* make timeout issues more clear

* more clever waiting for mining

* extending Cypress test timeout for slow bitcoind operation on old dev machines

* JS bugfix when auth type is None

* Test patch for pytest

* Removing pytest test fix

* more robust way to delete file - fix test

* fix testcoin_faucet (way too much unnecessary mining)

Co-authored-by: Kim Neunert <k9ert@gmx.de>
2021-10-10 11:41:18 +02:00
Kim Neunert
3a845b38b4
Bugfix: CI failure because of missing wget dependency (#1375)
* proper failure if binary not existing

* include wget

* include wget in runtime adding

* check binary prerequisites

* echo calculated version

* node_impl bugfix

* part 2

* gitignore
2021-09-01 14:25:30 +02:00
Kim Neunert
130a68242a
removing blobs and adjusting automations (#1299)
* removing blobs and adjusting automations

* .gitignore

* clearing upo .gitignore

* including in build-folder (fix setup.py) and in bdist-packages (MANIFEST.in)

* remove print

Co-authored-by: benk10 <ben.kaufman10@gmail.com>
2021-07-15 12:09:18 -05:00
Kim Neunert
e10cea0456
Feature: Api framework (#1232)
* Included API end points

Included 3 API end points:

###/api/specter ["GET"]
Basic Specter info from app.specter class

###/api/full_txlist/ ["GET"]
Full Transaction list for all wallets

###"/api/wallet_info/<wallet_alias>/ ["GET"]
More detailed wallet info and transactions from the app.specter.wallet_manager class

* Update src/cryptoadvance/specter/controller.py

Include `wallet.check_unused()`

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

* API Update

Made a few changes:
- Flattened the wallet list to be similar to full transaction list
- included versioning on url `/v1alpha/`
- Included `wallet.utxo` data
- Improved `safe_serialize` for better json output

Pending Updates:
- Create a separate file for API (as a blueprint)
- Explore using Flask-restful for improved authentication (downside is that it is another dependency - not sure if already a requirement for specter)

* adding a rest-api

* Implemented API end points inside of example.py

* Merging with remote

* Fixed API.md

* Removing example-resources

* migrating to focal due to cryptography needs newer pip

* fix the image

* black and tidy up

* Deleted more useless stuff

* first take for psbt (still broken)

* get tests to work

* fix devices_signed undefined

* fix part2

* fix part 3

* fix part 4

* Rest Get-Requests for psbt working

* fix part 5

* extending psbt_creator with json format

* tests finished. bitcoind_regtest changed to scope session

* speed up tests

* fix tests

* tiny test for LiquidRpc, probes improvements

* try fixing testing-infra

* kick

* finally fix infra, hopefully

* removing assertion

* refactoring and fixing API

* fix the rest-tests

* fix last liquid failing test

* polishing: error_handling via decorator

* split-up docs

* fix requirements.in

* polishing REST-API

* optimize startup for internal_nodes

* Update src/cryptoadvance/specter/internal_node.py

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

Co-authored-by: Alpha Zeta <40473443+pxsocs@users.noreply.github.com>
Co-authored-by: benk10 <ben.kaufman10@gmail.com>
Co-authored-by: Alpha Zeta <alphazeta@protonmail.com>
Co-authored-by: Stepan Snigirev <snigirev.stepan@gmail.com>
2021-07-08 13:10:14 -05:00
kdmukai
d0f7d3c842
Export device types and labels (#1226)
* Tests passing

UI flow not yet tested

* UI fixes, test suite fixes

* blackify cleanup

* blackify reformat in tests

* Update src/cryptoadvance/specter/cli/cli_noded.py

Co-authored-by: Kim Neunert <kneunert@gmail.com>

* Update descriptor.py

* Update src/cryptoadvance/specter/util/descriptor.py

Co-authored-by: Stepan Snigirev <snigirev.stepan@gmail.com>

* Corrected wallet type determination

* Adding Jade and SeedSigner to DeviceTypes

* Removing test suite artifacts

* differentiate p2sh vs p2pkh

Co-authored-by: Kim Neunert <kneunert@gmail.com>
Co-authored-by: Stepan Snigirev <snigirev.stepan@gmail.com>
2021-06-17 11:09:53 -05:00
Kim Neunert
2b9e02f2fa
Elements testing (#1212) 2021-06-16 15:33:35 +02:00
Manolis
27bab09aaf
Issue fixing - #1016 - "Verify on device" asks to plug in an air-gapped cold card (#1157)
* Added tests/bitcoin to gitignore

* fix for issue #1016, displaying a warning before using coldcard over usb and offering a link to coinkite to learn about the address explorer

Co-authored-by: Kim Neunert <k9ert@gmx.de>
2021-05-18 15:14:10 +03:00
Kim Neunert
149b420e2e
Replace Travis with Cirrus
* initial cirrus config

* cirrus

* f*ck caching

* images and deleting travis

* check

* bugfix weird ci-issue (directory exists)

* kick

* revert

* kick

* fix

Co-authored-by: benk10 <ben.kaufman10@gmail.com>
2021-04-15 11:04:47 +02:00
Manolis
c1ce0e982a
bugfix: Util testing and small bugfix about multisig treshold (#698)
* new file

* commited changes before master pull

* copied embit tests and adapted to specter

* max blackify

* ultra max blackify

* ultra ultra max blackify

* Integration of base58 functions from embit + tests to ensure correct refactoring.

* Integration of base58 functions from embit + tests to ensure correct refactoring.

* Consistent rescan labels (#843)

* added indirect dependencies because pip-compile did not detect them (#842)

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

* descriptor

* removed suspicious bitcoin-submodule-link bla

* Added tests/bitcoin to gitignore

* just renaming by adding _util_

* fix of bugs in hwi lib clone + tests

* test of mainnet address from desc now correct

Co-authored-by: Justin Moon <mail@justinmoon.com>
Co-authored-by: Kim Neunert <k9ert@gmx.de>
Co-authored-by: benk10 <ben.kaufman10@gmail.com>
2021-01-30 11:36:59 +01:00
Manolis
75d3a1856c
Feature: Get whitepaper via timechain (#905)
* Added tests/bitcoin to gitignore

* Feature: Bitcoin pdf via timechain.

* More efficient RPC call for prunded nodes + meaningful error message for direct url

Co-authored-by: benk10 <ben.kaufman10@gmail.com>
2021-01-28 08:13:59 +01:00
paeet
875ec2def5
Added PyCharm IDE configuration + fixed DEVELOPMENT.md title level hierachy (incl. TOC) (#892)
* Added PyCharm IDE specific configuration + fixed DEVELOPMENT.md title level hierachy (incl. TOC)

* docs: update TOC

* Updated DEVELOPMENT.md markdown rendering of json code blocks

Co-authored-by: paeet <paeet@users.noreply.github.com>
2021-01-21 09:53:14 +02:00
Kim Neunert
d4646f1541
Feature: Cypress Frontend-testing (#712)
* adding cypress

* fix stagename

* sanitize before_script

* removing cypress examples

* test with background

* adding cypress stuff to .gitignore

* more cypress tests

* including bitcoind in tests

* bring the tests in order

* get tests to work

* naive try with docker

* docker executable no longer necessary

* install test_requirements

* fix ip-address

* uncomment not running tests

* fix broken ci

* fix ip-address

* reshuffle cypress tests, some docs

* ci-specific IP-address in test, we need to fix this

* fix dependency issue rimraf

* adding json-fie-creation in bitcoind and usage in cypress

* fix ci, forgot create-conn-json

* documentation

* echo Namespaces to fix tests not executed

* added testscript and moved to baseUrl

* Making the tests work and more robust

* improving tests and avoiding normal specter-folder

* reworking testscript, snapshots, decouple runs

* get ci back to work

* getting CI back to work

* get ci back to work

* get ci back to work

* get ci back to work

* get ci back to work

* get ci back to work

* get ci back to work

* tidy up

* fix uid-issue

* Update src/cryptoadvance/specter/templates/wallet/history/components/total_wallet_balances.jinja

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

* Update src/cryptoadvance/specter/templates/wallet/wallets_overview.jinja

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

* do tests again on cryptoadvance-project

* Fixed orphane btcd-process kill issue

* Update docs/cypress-testing.md

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

* Update cypress/integration/spec_node_configured.js

Co-authored-by: benk10 <ben.kaufman10@gmail.com>

* improvements and bugfixes on the script

* script improvements and more proper process management

* consistency checks for running services and outdated snapshots

* fix build

* more logging

* kick

* debug on

* no longer reusing container

* test-cypredd: waiting on the container to come up

* pstree command not found (on gitlab)

* hopefully fix MacOS

* support MacOS for cypress

* use name instead of number for signal

* fix MacOS and a bit more docs

Co-authored-by: benk10 <ben.kaufman10@gmail.com>
2020-12-15 11:10:10 +01:00
Sjors Provoost
1579d08028
Add .python-version to .gitignore (#699) 2020-11-26 19:23:54 +01:00
Kim Neunert
b925623743
Features/linux binary hashing (#556) 2020-10-31 13:40:08 +01:00
benk10
7fca3333e9
Use Electron for desktop app (#473)
* Add codesigning for macos app

* Add dock icon and fix fullscreen on mac

* Revert "Add dock icon and fix fullscreen on mac"

This reverts commit 7598cab644.

* Use electron for mac

* Download from GH, splash screen

* fixes

* Fix reopening after closing window

* Screen based default size

* Fix quit issue

* Fix camera access

* Add file hash verification

* Add auto generate of hash for macos release

* Only download for mac

* Preferencs and HWIBriidge mode

* Bugfixes

* Fix certificate errors

* Windows support

* Add tor support

* set version js script

* Fix windows release script

* Update docs and delete old app

* Update main.js

* Add error handling

* update unix build

* update windows binary

* Update build-osx.sh

* Update .gitlab-ci.yml

* delete accidental import

* switch to electron-builder

* kick

* kick

* kick

* kick

* remove docker info thing

* pip -> pip3

* fix pip again

* disable snap

* fix

* remove specterd-binaries (and hotwallet . typo), fix build

* test windows build

* Bugfix: move update_pending_psbt into try/except block

* Add specterd specific settings

* Show tor URL in HWIBridge mode (if --tor specified)

* Finish CI

* Build specterd only windows ci

Co-authored-by: Kim Neunert <k9ert@gmx.de>
Co-authored-by: Stepan Snigirev <snigirev.stepan@gmail.com>
2020-10-26 12:10:13 +01:00
Stepan Snigirev
bd89c8c882
move version checker to a thread (#421)
* move version checker to a thread

* add binary version via version.txt

* fix version comparison
2020-09-21 18:12:03 +02:00
Michael Flaxman
80475051c5 add .DS_Store to .gitignore for MacOS developers 2020-09-20 16:54:26 -05:00
Stepan Snigirev
8f2a655692
Build scripts (#319) 2020-08-28 11:28:52 +02:00
benk10
2a799dde13
Create Specter Desktop tray app (#273)
* Add basic tray app

* Run specterd from release

* Start on launch

* Support remote node

* Auto whitelist remote node url

* Windows related fixes

* fixes

* pyinstaller on windows

* update instructions

* update pyinstaller readme

Co-authored-by: Stepan Snigirev <snigirev.stepan@gmail.com>
2020-08-24 15:28:00 +02:00
Stepan Snigirev
2575aed4ad
Pyinstaller builds (#258)
* pyinstaller specs

* add udev rules

* remove ecdsa dep

* udev rules, pyinstaller spec update

* update udev readme

* Fix issue with Tor service creation

* remove pyinstaller artifacts for bip32

* main -> cli

* remove daemon and debug modes from binaries

* add aarch64 (ARM) build

* fix when no tor

* fix flake8

Co-authored-by: benk10 <ben.kaufman10@gmail.com>
2020-07-26 11:20:13 +02:00
Stepan Snigirev
9039bc2c4d
command-line options for server: daemon, ssl certificates, tor and others (#70)
* --daemon and --stop options for server

* --restart and --force option

* ssl certificates and tor

* tor key path fix...

* pass host to flask

* fix bug with switching between nodes

* docs on node setup - reverse proxy and self-signed certs

* typo
2020-02-25 19:57:36 +00:00
Kim Neunert
2afee19fd1 #57 removing vs-code specific files and move infos to development.md 2019-12-29 21:45:22 +01:00
Kim Neunert
e9ed89cbb1 Improve testability and file-structure 2019-11-13 15:56:29 +01:00
Keith Mukai
63a77be2d3 Initial Tor integration option 2019-10-19 18:37:02 -05:00
Keith Mukai
07d8b10fba Adding initial .gitignore 2019-10-11 21:28:25 -05:00