cb2ed16 Build Windows binary in travis as well (Andrew Chow)
a86323d Make versioned compressed packages for releases (Andrew Chow)
Pull request description:
The current build scripts produce binary files named `hwi` and `hwi.exe` which is both unversioned and conflicting for the Linux and MacOS binaries. For the 1.0.0 binaries, I had compressed these and named them myself before uploading. This PR changes the build scripts to compress and name the packages too. Additionally the names will include the version number which I forgot to do for 1.0.0.
ACKs for commit cb2ed1:
Tree-SHA512: 07a167f45ce3652c347350574c2dd0d2d7f39724665aa6b4ebb2b41212bf2526ff21fe36b732cb01890ff051e35d57dc91fa4220ec22f5395a02f3c9ed6bf266
f109365 Install Windoew Universal C++ Runtime from Windows 10 SDK in Windows build (Andrew Chow)
Pull request description:
Older versions of Windows needs to have the Windows Universal C++ Runtime packaged with the binary to work. This PR adds to the `build_wine.sh` build script to download the DLLs for the UCRT and package them with the Windows build.
Fixes#150
ACKs for commit f10936:
Tree-SHA512: 7b9b98cdc4e329cf228dc42a09aa434f984c4db90b09b2ca6cb3dd7d8c1957cd717f761e8a1eeadbd8662f74452141a4df583ab40d939c57e20f0b0f83625b47
95bd88e Add Trezor Model T (nopara73)
Pull request description:
# Notes
- I marked with `?` the functions I did not test myself.
- I can make a PR in a way that I add Trezor Model T to the last row so the diff would be easier to see if you prefer.
ACKs for commit 95bd88:
achow101:
ACK 95bd88e41d
Tree-SHA512: fb2934f3a0cbc0ce4f473945be1f457f0e0a6fea17bdd6d89b8d375a249d251a68188de3d20a00a4954daa819734ebb3aad871e2b0aeb3ac231fc200cdba5eff
Download and extract the Universal C++ Runtime from the Windows 10 SDK
and copy the DLLs to C:\Windows\System32 when doing Windows build.
This will make sure that the proper DLLs are included in the Windows
binary so that it works on older Windows.
d065307 Import HID in Ledger driver (Andrew Chow)
Pull request description:
Apparently this is needed, especially for newly setup environments.
Fixes#143
ACKs for commit d06530:
Tree-SHA512: 4434f947a1cf1191445ffb5c51ebb00d221fd05f64b48b6cb403feeca378bfcd59f81e414b90b16552cf1af1df452603e54aa2e90f01c741ac3c376d96d7a47e
f096c18 Document how to handle binary format files from command line with bash example (Gregory Sanders)
Pull request description:
…h example
Since these are quite standard utilities, we may want to take the unix philosophy and let other utils take care of these common conversions.
ACKs for commit f096c1:
achow101:
ACK f096c18478
Tree-SHA512: ee04a1e4e7f4106f7afcb5130cd8bb8fb1446a79b8babaf14c7aed4b753699b29ed8dfca057928289848f562b24663850377eccbbef27ba9c60f011a901cdc5a
6f67659 Add Keepkey Webusb device ids (Andrew Chow)
Pull request description:
Keepkey's latest firmware uses webusb but has different device ids. Add those ids so that that interface can be used.
Tree-SHA512: 082f1eb1fd827af2e4d8380101477e879ed026910cc57413c69d941fe4bc75483ac10318f887a53796dbd44e0ce1206cba1dbc3d50ada2e0314f78748ab48faf
4453555 Add interactivity to Trezor setup and restore (Andrew Chow)
18857d9 Add interactive option and move setup and restore to interactive only (Andrew Chow)
Pull request description:
Currently using setup and restore on the Trezor and Keepkey (which are basically the only devices that support setup and restore) are broken. They require user interaction. Instead of removing them entirely, move those commands behind a switch, `--interactive`.
Tree-SHA512: 4c76a94d7dc3b876f57eb417f22b14cb0a4ecbb97dc79ba675dc49670369e5682edbaf846946e246a028532f92c32f3e0f67b66d000d341368937c856dea5347
49bc7fa Add tests for stdin interface and travis job (Andrew Chow)
0185391 Add --stdin to enter commands and arguments over stdin (Andrew Chow)
Pull request description:
This PR adds a `--stdin` option which allows arguments to be entered over stdin in a way similar to bitcoin-cli's `--stdin` option.
Built on #125 and to test the `stdin` interface
Tree-SHA512: 48e04298b3537ac59523e40fab3e1709d2ec4ca50284b0bcbbe9062f284bcfbf0cbc4492bd5b8fa673be35375fe8d9436d4aaec0a304b574ba411ee0fb284c0d
376245a Update tests documentation with new tests (Andrew Chow)
0235baf List all command support (Andrew Chow)
7929692 Update Bitcoin Core usage docs to match current software behavior (Andrew Chow)
b7873ac Describe the other files in contrib/ (Andrew Chow)
fc33fc5 List additional dependencies (Andrew Chow)
5e42d3d Rename to Hardware Wallet Interface and describe it a bit more (Andrew Chow)
Pull request description:
Updates the docs to reflect current behavior and describe the stuff that is currently in the repo.
Also renames the project from Hardware Wallet Interaction scripts to Hardware Wallet Interface.
Tree-SHA512: b5bd81110ac6181011629c39dad3bbca1bfb2ddc05f5d190a9d91685c30de0d535c3d0e893b510638eb963adffe63db388a84a19a377fbb9ec820ce4aa2fc55f
d924f39 Add --version option and show version in help text (Andrew Chow)
b99385c Add version number to __init__.py and docs to update that (Andrew Chow)
Pull request description:
Adds version info and a `--version` option.
Tree-SHA512: 56562da645b555dabb40ba0508b35fc6a2bde0f510668f51f1be402a743796ca1be27afce4980589718768260c7469b373a6b8c8cc3a29e637ed7af071bd5bd4
8931ae0 Run tests using the binary distribution (Andrew Chow)
39a6fc9 Fixes for Windows (Andrew Chow)
a229de0 Update .travis.yml to use poetry for build (Andrew Chow)
77257a1 Add build scripts and documentation for building releases (Andrew Chow)
9e04d1a Add a hwi.spec file for pyinstaller to build standalone binaries (Andrew Chow)
d6b24b8 Add pyproject.toml and poetry.lock for poetry dependency manager (Andrew Chow)
Pull request description:
This PR adds several scripts and tools for making standalone binaries of the `hwi.py` script and for creating distribution archives that will go on pypi.org.
To achieve deterministic builds, the dependencies used must be locked to specific versions and hashes. To do this, I have added configuration files for using the [Poetry dependency manager](https://github.com/sdispater/poetry). Because Poetry uses a `pyproject.toml` file instead of `setup.py`, I have created a helper script which will automatically generate the proper `setup.py` file from `pyproject.toml`. The reason I chose Poetry instead of Pipenv for this task is because it has the ability to do deterministic builds of the distribution archives (python wheel and source tar for pypi.org) which Pipenv does not have.
Additionally scripts have been added to the newly created `contrib/` folder which will perform the deterministic builds of the binaries and distribution archives. The builds of the binaries are done using [pyinstaller](http://www.pyinstaller.org/). In order to build for different platforms, the `contrib/build_bin.sh` script needs to be run on each of the platforms we wish to release for. It can also be run in wine to do windows builds (see `contrib/build_wine.sh`). The configuration file that pyinstaller needs has also been added.
Lastly the pyenv version for this project has been bumped to 3.6.8 since using python 3.5.x produced standalone binaries that did not work.
This PR is built on #120 as reducing the number of dependencies fixed several issues with the standalone binary builds.
Tree-SHA512: abc1a6ac06d663b1316cde254980b0b1e8c392a6ffe478710df7c8e48a344cd57105e83555ec8fdcdc30e2b7d6d9cd6464367afda80653cb3cbc3acaf6119f48
Adds builds scripts that are used to build releases deterministically.
Also adds documentation that explains the release process and what
the build scripts do.
2dc818c Use new importmulti array range format (Andrew Chow)
Pull request description:
The range format changed again.
Tree-SHA512: fb81bfdceb5e0451ac0d72537a788f3c9d1aba0381afb129b1f1784d1635c154ec3b0ac93a0c3ea096d140833f18a6b47af1f495c8860d0401a05770c5305c23
1a2b67d Test how a very large transaction is handled (Andrew Chow)
c69c0ee Add travis job for cli interface test (Andrew Chow)
e594a0b Allow specifiying a different interface for using HWI in tests (Andrew Chow)
Pull request description:
It was mentioned in the #bitcoin-core-dev IRC channel a few days ago that really big transactions can cause problems if it was entered as an argument in the shell. This PR adds to the test suite the option to run the tests with different interfaces to allow us to test this. It can use the "library" interface which is what we currently do. This interface calls `process_commands` directly. The `cli` interface uses `subprocess` to run the `hwi` command in the shell to test the command line interface. This will emulate entering a command in the shell. This allows us to test the big transaction case which has been added. This case only tests the interface and not whether the transaction is signed. This test should pass when using the `library` interface but not when using the `cli`. Both interfaces will also be tested on travis as separate jobs.
Tree-SHA512: 47c85c3b4df66aaa552dc55028267024ea53a56f8028bc0e161fd390ea3e96166f3d9157f320bbf922c63fd5726f13c3918c75cbd3a1311c1536477c0605dcee
6c9964e Fix Digital Bitbox tests for API changes (Andrew Chow)
Pull request description:
The Digital Bitbox API changed slightly which broke our tests due to the ordering of some operations. Normal usage is still fine. This fixes the test.
Tree-SHA512: bed658d935f6833c7f6e656f35edf5d123edf54a0dfd42383a65a9f178a556d07c84f930bc93e42b3df0b5b79b05e43e12a18042a2401c7040183472bfd6ddb6
6e1e9aa ledger: check keypath format for getxpub (Gregory Sanders)
Pull request description:
Currently does none.
Tree-SHA512: 0219a415db038be0e40b5fda2798a000dce71a33d89265adfdf47f4e3a2c66b8d80238bb74688a68da146461e08f95bd08be6390ffecf13b3e704d1365787326