-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Add support for Satochip hardware wallet #8453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
78 commits
Select commit
Hold shift + click to select a range
71e51de
Initial commit
Alcofribas4 64191bd
Basic Segwit support:
Alcofribas4 6668a05
Update support to Satochip v0.6 (non-hardened chilp optimization)
Alcofribas4 9a770c1
code cleaning: use card_transmit(apdu) instead of @unlock_pin wrapper
Alcofribas4 707bb8c
* Add Unit Tests for BIP32 derivation
Alcofribas4 3ea3e2b
Add Unit Test: test card_sign_message()
Alcofribas4 ecfff27
refactor get_extended_key(): parse response and return (key, chaincod…
Alcofribas4 dc70165
Improved smartcard detection function 'detect_smartcard_reader(self)'…
Alcofribas4 9fa120a
Merge remote-tracking branch 'electrum/master' into satochip
Alcofribas4 23ee3e8
Remove old test class (replaced by test_CardConnector.py)
Alcofribas4 1f2b83c
update README,
Toporin 5789ad6
minor formatting
Toporin a4e6ff5
Change .gitignore to add ./gui/qt/icons_rc.py
Toporin 1017b1c
add satochip icons in electrum
Toporin dc612ba
improve PIN support: prompt for PIN if needed
Toporin 591b297
Improved PIN support:
Toporin 98a2321
packaging electrum-satochip into executable for windows
Toporin 636b9f5
Sync repository with the latest release of electrum v3.3.4
Toporin bb04379
Packaging electrum-satochip v3.3.4 into executable for windows
Toporin 037fcd0
Electrum v3.3.4 - Satochip v0.7: Add 2FA support
Toporin 5eeab49
cleanup & remove temporary build files for osx
Toporin 23d857a
Upgrade to Electrum-Satochip v3.3.8-0.7
Toporin 75fb217
Build .exe distributables with new pyscard .whl version (v.1.9.8)
Toporin fdff14f
Update test suite in test_CardConnector.py
Toporin 6676fad
Remove temp files in contrib/build-wine
Toporin 1b949e7
Clean up code based on https://github.com/spesmilo/electrum/pull/5523
Toporin bc44e6f
Clean up code based on https://github.com/spesmilo/electrum/pull/5523
Toporin a3c351b
Clean up code based on https://github.com/spesmilo/electrum/pull/5523
Toporin d83fff5
Electrum-Satochip v3.3.8-0.8
Toporin 10c60c4
Electrum-Satochip v3.3.8-0.8
Toporin 481691d
Electrum-Satochip v3.3.8-0.9
Toporin 933e89b
Electrum-Satochip v3.3.8-0.9
Toporin cb26ea9
Patch: Electrum crashes when cancelling PIN change or seed reset
Toporin a6057e7
Patch "Recovered authentikey does not correspond to registered authen…
Toporin bdb5aeb
Electrum-Satochip v4.0.0a0-0.9
Toporin 52bbf97
Updated libpcsclite-dev and swig packages in dockerfile for linux app…
Toporin d1011ab
Electrum-satochip-v4.0.0a0-0.9
Toporin e5345b7
Electrum-Satochip v4.0.2-0.11.2
Toporin 1472b3e
Switch to BIP39 seeds by default for Satochip
Toporin 2b5abe7
Bump pysatochip version to v0.11.3 instead of v0.11.2
Toporin d425254
Merge branch 'switch-to-bip39' into electrum-satochip-v4.0.2-0.11
Toporin ae0f58b
Merge branch 'master' into electrum-satochip-v4.0.2-0.11
Toporin ff0580c
Merge remote tracking branch & minor improvements
Toporin 2aab3ba
Add support for Satochip v0.12
Toporin 1f84f1f
Build Electrum-Satochip v4.0.9-0.12 for windows
Toporin d3683fe
Merge branch 'satochip' into electrum-satochip-v4.0.9-0.12
Toporin aac6aac
Upgrade Electrum-Satochip to v4.1.5-0.12
Toporin f75c143
build Linux & Windows
Toporin 1bfe0fe
Merge branch 'electrum-satochip-v4.1.5-0.12' into satochip
Toporin 149e4a4
Clean code
Toporin 704a726
build for osx
Toporin 1e41eed
Update build MacOS
426c467
Merge branch 'master' into electrum-satochip-v4.3.3-0.12
Toporin fedc984
Patch satochip.py to correct errors introduced by merging
Toporin 8e50c0b
Improve Satochip UI
Toporin b0eb046
Update pyopenssl
Toporin e054035
In satochip/qt.py plugin, replace client.handler.{show_error(), show_…
7b01798
Improve connection with 2FA server
Toporin 020bbdf
Merge branch 'electrum-satochip-v4.3.3-0.12' into satochip
Toporin 10a5d22
Merge commit 'a6f3ee6364e4ad667ceb146bf0c951659cecd6f5' into electrum…
Toporin 63d6ed7
Update Satochip plugin following upstream merge
Toporin ce80c48
Refactor 2FA challenge-response
Toporin afd14ce
Clean and remove unused code
Toporin 3c118e9
Refactor class QRDialog: add optionnal 'cancel' button
Toporin 5e462eb
Refactor config mgmt for server_2FA
Toporin f1f8dda
(minor) improve display of Satochip chain of certificates
Toporin 116e5e1
Satochip setup wizard: remove BIP39 seed generation
Toporin c540056
Upgrade pysatochip from v0.12.3 to 0.12.5
Toporin db5921c
update locale
Toporin 6f876f0
Merge branch 'master' into electrum-satochip-v4.4.3-0.12
Toporin 331fe1f
Add satochip support for MacOS build
cd0cfe5
Workaround to build pyscard from win32 wheel (not available in pypi)
Toporin 5a5605e
Use autopep8 to correct flake8 errors
Toporin 59b4b5d
Bump pyscard to v2.0.7
Toporin b1467d2
Merge branch 'master' into electrum-satochip-v4.4.3-0.12
Toporin c00ac5d
Patch error caused by the method "parse_URI()" being moved and renamed:
Toporin d95c687
Merge branch 'master' into electrum-satochip-v4.4.3-0.12
Toporin 1a143db
(minor) code formatting: add newline at end of file
Toporin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| Satochip plugin for electrum | ||
| ================================================================================= | ||
|
|
||
| :: | ||
|
|
||
| Licence: MIT Licence | ||
| Author: Toporin | ||
| Language: Python (>= 3.6) | ||
| Homepage: https://github.com/Toporin/electrum-satochip | ||
|
|
||
| Introduction | ||
| ============ | ||
|
|
||
| This plugin allows to integrate the Satochip Hardware Wallet with Electrum. To use it, you need a device with the Satochip javacard applet installed (see https://github.com/Toporin/SatochipApplet). | ||
| If the wallet is not intialized yet, Electrum will perform the setup (you only need to do this once). During setup, a seed is created: this seed allows you to recover your wallet at anytime, so make sure to BACKUP THE SEED SECURELY! During setup, a PIN code is also created: this PIN allows to unlock th device to access your funds. If you try too many wrong PIN, your device will be locked indefinitely (it is 'bricked'). If you loose your PIN or brick your device, you can only recover your funds with the seed backup. | ||
|
|
||
| The Satochip wallet is currently in Beta, use with caution!You can use the software on the Bitcoin testnet using the --testnet option. | ||
| This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. | ||
|
|
||
| Rem: Electrum uses Python 3.x. In case of error, check first that you are not trying to run Electrum with Python 2.x or with Python 2.x libraries. | ||
|
|
||
| Development version (Windows 64bits) | ||
| ===================================== | ||
|
|
||
| Install the latest python 3.6 release from https://www.python.org (https://www.python.org/downloads/release/python-368/) | ||
| (Caution: installing another release than 3.6 may cause incompatibility issues with pyscard) | ||
|
|
||
| Clone or download the code from GitHub. | ||
|
|
||
| Open a PowerShell command line in the electrum folder | ||
|
|
||
| In PowerShell, install the electrum dependencies:: | ||
|
|
||
| python -m pip install . | ||
| You may also ned to install Python3-pyqt5:: | ||
|
|
||
| python -m pip install pyqt5 | ||
| Install pyscard from https://pyscard.sourceforge.io/ | ||
| Pyscard is required to connect to the smartcard:: | ||
|
|
||
| python -m pip install pyscard | ||
|
|
||
| In PowerShell, run electrum on the testnet (-v allows for verbose output):: | ||
|
|
||
| python .\run_electrum -v --testnet | ||
|
|
||
| Development version (Ubuntu) | ||
| ============================== | ||
| (Electrum requires Python 3.6, which should be installed by default on Ubuntu) | ||
| (If necessary, install pip: sudo apt-get install python3-pip) | ||
|
|
||
| Electrum is a pure python application. To use the | ||
| Qt interface, install the Qt dependencies:: | ||
|
|
||
| sudo apt-get install python3-pyqt5 | ||
|
|
||
| Check out the code from GitHub:: | ||
| git clone git://github.com/Toporin/electrum.git | ||
| cd electrum | ||
| In the electrum folder: | ||
|
|
||
| Run install (this should install dependencies):: | ||
|
|
||
| python3 -m pip install . | ||
| Install pyscard (https://pyscard.sourceforge.io/) | ||
| Pyscard is required to connect to the smartcard:: | ||
| sudo apt-get install pcscd | ||
| sudo apt-get install python3-pyscard | ||
| (For alternatives, see https://github.com/LudovicRousseau/pyscard/blob/master/INSTALL.md for more detailed installation instructions) | ||
|
|
||
|
|
||
| To run Electrum use:: | ||
| python3 electrum -v --testnet | ||
|
|
||
|
Comment on lines
+1
to
+83
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure why this README is included? I do not see other hardware plugins having such a README. |
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
|
|
||
| fullname = 'Satochip Wallet' | ||
| description = 'Provides support for Satochip hardware wallet' | ||
| requires = [('satochip', 'github.com/Toporin/pysatochip')] | ||
| registers_keystore = ('hardware', 'satochip', "Satochip wallet") | ||
| available_for = ['qt'] |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is 0.14.1 and 0.14.2 marked as latest on pypi (but has a date of 2021)? That confused me.