diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..62c26889 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 SeedSigner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/qr_formats.md b/docs/qr_formats.md new file mode 100644 index 00000000..ececf0c9 --- /dev/null +++ b/docs/qr_formats.md @@ -0,0 +1,32 @@ +# QR Formats + +### Scanning QR Codes + +SeedSigner supports scanning the following QR formats + +Animated QR Formats: +- PSBT + - Blockchain Commons [UR2 PSBT](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md) + - Specter Desktop base64 segments animated + - [Legacy UR](https://github.com/BlockchainCommons/Research/blob/d4d72417a1ff18f9422371b2f71bf2652adce41c/papers/bcr-2020-005-ur.md) Format that should no longer be used + +Static QR Formats: +- PSBT + - Base64 (if the PSBT byte size is too large, SS may have trouble scanning) +- Seed + - SeedSigner Seed QR format + - English Bip39 Mnemonic words separated by a space. Currently only supports 12 and 24 word seeds. + - English Bip39 Mnemonic with only first 4 letters seperated by a space. Currently only supports 12 and 24 word seeds. + +### Displaying QR Codes + +SeedSigner supports displaying QR's in the following formats + +Animated QR Formats: +- PSBT + - Blockchain Commons [UR2 PSBT](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-006-urtypes.md) + - Specter Desktop base64 segments animated + +Static QR Formats: +- Seed + - SeedSigner Seed QR format \ No newline at end of file diff --git a/docs/recovery.md b/docs/recovery.md new file mode 100644 index 00000000..931c897a --- /dev/null +++ b/docs/recovery.md @@ -0,0 +1,14 @@ +# SeedSigner Recovery Information + +SeedSigner creates extended public keys for the coordinator following [slip-0132](https://github.com/satoshilabs/slips/blob/master/slip-0132.md) to encode the extended public key. SeedSigner only supports native segwit for single sig (P2WPKH) and native segwit multisig (P2WSH). + +SeedSigners default settings for "Script Policy" (2021-08-21) is Multi Sig Native Segwit. The second option is Single Sig Native Segwit. + +- Single Sig Derivation Path: m/84'/0'/0' +- Single Sig Public Key Encoding: 0x04b24746 - zpub +- Multisig Dervivation Path: m/48'/0'/0'/2' +- Multisig Public Key Encoding: 0x02aa7ed3 - Zpub + +Changing the network settings from main to test will change the public key encoding and derivation path following bip-0084, bip-0048 and slip-0132 standards. + +Custom derivation paths will be optional in the future. diff --git a/docs/usb_relay.md b/docs/usb_relay.md index fdc173eb..d636132c 100644 --- a/docs/usb_relay.md +++ b/docs/usb_relay.md @@ -6,6 +6,7 @@ If you use this setup route, we recommend that you disable internet access over ### Get started + Insert the SD card with your Raspberry Pi OS image into a regular computer. Open a terminal window (macOS: Terminal; Windows: Command Prompt) and navigate to the SD card: ``` # mac/Linux: @@ -17,22 +18,36 @@ cd e: We need to create an empty file called "ssh" to enable us to remotely terminal into the Pi via SSH. ``` -# max/Linux: +# mac/Linux: touch ssh # Windows: type nul > ssh ``` + Now we have some incomprensible configuration steps to set up the internet access relay. -Add a line to the end of `config.txt`: +Edit `config.txt`: +``` +# mac/Linux: +nano config.txt + +# Windows: +notepad config.txt +``` + +Add `dtoverlay=dwc2` to the end of `config.txt`. Exit and save changes (CTRL-X, then "y" in nano). + + +Alternatively, add to `config.txt` via the command line: ``` # mac/Linux/Windows: echo dtoverlay=dwc2 >> config.txt ``` -Open `cmdline.txt` in a basic text editor: + +Next, edit `cmdline.txt`: ``` # mac/Linux: nano cmdline.txt @@ -46,13 +61,18 @@ Add `modules-load=dwc2,g_ether` **directly after** `rootwait`: blah blah rootwait modules-load=dwc2,g_ether [possibly more blah] ``` -Then if on mac/Linux, hit `CTRL-X` to exit and `y` to save your changes. In Notepad just save and close. +Exit and save changes (CTRL-X, then "y" in nano). + Eject the SD card and insert it into your Pi Zero 1.3. Plug a USB cable into your computer and into the Pi's USB connector that is closer to the center. It will draw power from the USB cable and begin powering up. The Pi will take a minute or so to boot up its OS. After waiting a bit, try to communicate with the Pi over SSH: ``` +# Manual builds: ssh pi@raspberrypi.local + +# Pre-built image: +ssh pi@seedsigner.local ``` If you see the following prompt, type `yes` to continue: diff --git a/enclosures/open_pill/design_file/open_pill.f3d b/enclosures/open_pill/design_file/open_pill.f3d new file mode 100644 index 00000000..838fdb5c Binary files /dev/null and b/enclosures/open_pill/design_file/open_pill.f3d differ diff --git a/enclosures/open_pill/print_file/open_pill.stl b/enclosures/open_pill/print_file/open_pill.stl new file mode 100644 index 00000000..28521f28 Binary files /dev/null and b/enclosures/open_pill/print_file/open_pill.stl differ diff --git a/Orange_Pill/design_files/OP_Lower.f3d b/enclosures/orange_pill/design_files/OP_Lower.f3d similarity index 100% rename from Orange_Pill/design_files/OP_Lower.f3d rename to enclosures/orange_pill/design_files/OP_Lower.f3d diff --git a/Orange_Pill/design_files/OP_Upper.f3d b/enclosures/orange_pill/design_files/OP_Upper.f3d similarity index 100% rename from Orange_Pill/design_files/OP_Upper.f3d rename to enclosures/orange_pill/design_files/OP_Upper.f3d diff --git a/Orange_Pill/design_files/button.f3d b/enclosures/orange_pill/design_files/button.f3d similarity index 100% rename from Orange_Pill/design_files/button.f3d rename to enclosures/orange_pill/design_files/button.f3d diff --git a/Orange_Pill/design_files/joystiick.f3d b/enclosures/orange_pill/design_files/joystiick.f3d similarity index 100% rename from Orange_Pill/design_files/joystiick.f3d rename to enclosures/orange_pill/design_files/joystiick.f3d diff --git a/Orange_Pill/print_files/OP_Lower.stl b/enclosures/orange_pill/print_files/OP_Lower.stl similarity index 100% rename from Orange_Pill/print_files/OP_Lower.stl rename to enclosures/orange_pill/print_files/OP_Lower.stl diff --git a/Orange_Pill/print_files/OP_Upper.stl b/enclosures/orange_pill/print_files/OP_Upper.stl similarity index 100% rename from Orange_Pill/print_files/OP_Upper.stl rename to enclosures/orange_pill/print_files/OP_Upper.stl diff --git a/Orange_Pill/print_files/button.stl b/enclosures/orange_pill/print_files/button.stl similarity index 100% rename from Orange_Pill/print_files/button.stl rename to enclosures/orange_pill/print_files/button.stl diff --git a/Orange_Pill/print_files/joystick.stl b/enclosures/orange_pill/print_files/joystick.stl similarity index 100% rename from Orange_Pill/print_files/joystick.stl rename to enclosures/orange_pill/print_files/joystick.stl diff --git a/requirements.txt b/requirements.txt index e726fe81..c9156ae1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -embit==0.4.3 +embit==0.4.5 numpy==1.21.1 picamera==1.13 Pillow==8.2.0 @@ -6,4 +6,4 @@ pyzbar==0.1.8 qrcode==6.1 RPi.GPIO==0.7.0 six==1.16.0 -spidev==3.5 +spidev==3.5 \ No newline at end of file diff --git a/src/seedsigner/views/settings_tools_view.py b/src/seedsigner/views/settings_tools_view.py index 8c16b47b..18f33003 100644 --- a/src/seedsigner/views/settings_tools_view.py +++ b/src/seedsigner/views/settings_tools_view.py @@ -21,7 +21,7 @@ class SettingsToolsView(View): def display_donate_qr(self): self.draw_modal(["Loading..."]) - self.donate_image = self.qr.qrimage("bc1q8u3dyltlg6pu56fe7m58aqz9cwrfld0s03zlrjl0wvm9x4nfa60q2l0g97") + self.donate_image = self.qr.qrimage("bc1qphlyv2dde290tqdlnk8uswztnshw3x9rjurexqqhksvu7vdevhtsuw4efe") View.DispShowImage(self.donate_image) return True