20f394a452e425f4bdad0195637612499575a878 random: add a commented-out test i used to run ENT (Antoine Poinsot)
157eea989322eed2ea9553d3640e884fb657541a lib: re-export the bip39 dependency (Antoine Poinsot)
50f13d3e2e2802ebbc6efceccb03eafe352b1e77 signer: allow to the set the network for extended keys encoding (Antoine Poinsot)
f5e7632c73abef4f27f5617c877caf8574b3fe3b signer: expose a method for signing a PSBT (Antoine Poinsot)
b88874107e3b45876a63506ab67afbc710cd2a27 signer: add a method to get the xpub at a given path (Antoine Poinsot)
59e55ae9f2c33f4865ff28282325a5cf156ca37e signer: implement mnemonics storage, and initialization from storage (Antoine Poinsot)
d341b6dea9d7eb9663eb9a4ef55617340146dc1e signer: cache the master xpriv (Antoine Poinsot)
6e3b951e5452a3cd4a050bde32ee930f6613e601 signer: a new module with a BIP39-based hot signer (Antoine Poinsot)
Pull request description:
This introduces a new `signer` module. Its purpose is to provide clients of the Liana daemon (such as the GUI) with tools to sign transactions.
For now, the only signer available is a hot signer based on BIP39. It allows to generate new mnemonics from OS-provided randomness (with added randomness from the CPU if available and mixed-in contextual data). Mnemonics are stored in plaintext in a `mnemonics` folder at the root of a provided data directory.
Fixes#49.
ACKs for top commit:
edouardparis:
ACK 20f394a452e425f4bdad0195637612499575a878
Tree-SHA512: 299476fdec69139cab9428e8466b4d320798ecd91a08251cac9d1fb086e43cffdb296eca4061a022a7182b5df2101977bb8300ead0d31f3f75988792145bba7f
https://www.fourmilab.ch/random/
Entropy = 8.000000 bits per byte.
Optimum compression would reduce the size
of this 912444480 byte file by 0 percent.
Chi square distribution for 912444480 samples is 254.09, and randomly
would exceed this value 50.43 percent of the times.
Arithmetic mean value of data bytes is 127.4952 (127.5 = random).
Monte Carlo value for Pi is 3.141641048 (error 0.00 percent).
Serial correlation coefficient is 0.000022 (totally uncorrelated = 0.0).
f10c35e964c74a9b60df8cd03ef084f6a47c53e6 daemonize: switch the pid and log file arguments (Antoine Poinsot)
Pull request description:
The caller and the definition had them swapped.. So it was logging to the PID file and writing the PID to the log file..
ACKs for top commit:
darosior:
self-ACK f10c35e964c74a9b60df8cd03ef084f6a47c53e6 -- trivial
Tree-SHA512: dc8be2ceedcb05a5eec444ff31b96053742537a86342fe9133aa4df354bb02ca70b7db633152b3f3a6cdeb7b63455d04fce6323c53b93f7365f89a8b4f2d0574
4131ee529df8b6015c09ffdfb691a43572ddf828 installer: clean unwraps and add logs to final step (edouard)
Pull request description:
ACKs for top commit:
darosior:
Thanks, always good to panic less! ACK 4131ee529df8b6015c09ffdfb691a43572ddf828
Tree-SHA512: df2eea4e5d707dd78543a148b49167f933da827eb3998aa9443bac8e94600594041d8bcd8a17c278d7ea6548e9ef3e4b6d570c466089b5a431a6c9f09a7b62a9
f8e5bb22acd1fe975a0ec74785293da9f6438d57 bitcoind: don't crash on existing watchonly wallet, return an error. (Antoine Poinsot)
b43a90d52ad2ded33d69d3e2e4bc7ce12dcad4c6 lib: on Windows, delete leftover watchonly wallet in bitcoind datadir (Antoine Poinsot)
Pull request description:
The Windows hack for the watchonly wallet comes back to bite us. The assumption that on a fresh data dir no watchonly wallet already exist does not hold on Windows anymore. Work around it by deleting potential leftover, and bail out of starting up if we detected one but couldn't delete it for whatever reason.
Thanks to @kloaec for the bug report.
ACKs for top commit:
edouardparis:
ACK f8e5bb22acd1fe975a0ec74785293da9f6438d57
Tree-SHA512: 94026f1c944a50e89de2d82a2ade164b2fa9e3dc3858c448d04821e3eee90db51803e7767333eb914841eb7f50dc53cdffa9bb109ca97c6bdb45a8173bb09eaa
0f71cbd7c5d56071083916fc4776a01609e19b92 Add wallet path in bitcoind errors related to wallet (edouard)
Pull request description:
ACKs for top commit:
darosior:
ACK 0f71cbd7c5d56071083916fc4776a01609e19b92
Tree-SHA512: 9b4f0d3b667badd7a9cb2548f3d7eba7f2df57e23328e9affaa9d9d23cb52928ce2cec31a62ab6fd8fa3ec5c7376e9555668a7eb8c78ea9b3a6d89a014973a56
3f3e6fab03cfad7219d0860dd096d84a31667d7f installer: change message error (edouard)
aa7db15a64ebb0948340a94513438725c1b6971e gui: add error message to launcher (edouard)
Pull request description:
Gui will do a check that the selected network datadir is correct and will display an error message in case.
ACKs for top commit:
darosior:
ACK 3f3e6fab03cfad7219d0860dd096d84a31667d7f -- quickly tested. See below.
Tree-SHA512: e78b11d05b56b4df789e827f3a1ff37bbcc671b10ae26c7a68b3e8d1bba5928d902049a4f52fbebd63f55ce71c13f1914f15463d36ffcca1a2693e9594de337f
c52660a10756fb59d2148fa81d37a85b5d768cce Add link to signing devices documentation (edouard)
548a4d807ae09f0a6ca0270d64e5bd3954c2c469 doc: make reference to 0.2 (edouard)
Pull request description:
ACKs for top commit:
darosior:
ACK c52660a10756fb59d2148fa81d37a85b5d768cce -- i'll address some nits in a followup myself
Tree-SHA512: 5fdd6779b31a483a2f2a0da10b2026ba23488f7441370b1c8044fc7eb87a463277b0f423e839afbb815af1cd6a6ac9075c96ba6cc32fae9bd13fa83002f32e74
fa518af53d8b8a0b2f8a67072d173dce662e8a5b contrib: fix dmg creation in the release script (Antoine Poinsot)
Pull request description:
The binary need to be named the same as the configured application name.
ACKs for top commit:
darosior:
self-ACK fa518af53d8b8a0b2f8a67072d173dce662e8a5b
Tree-SHA512: 8dc4f0d8025fca1b046345b60b0a0e4e42d51da492af85f7e2f0b50db36509deca55d30fbe6740a2b20fd59d18f774684c75fe6e9cdfab0e0c8314a23e860fdf
4c810a1d702c67be811525d4f5ad8f6f0ebc1278 CHANGELOG: mention 2 additional fixes to the GUI for 0.2 (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
self-ACK 4c810a1d702c67be811525d4f5ad8f6f0ebc1278
Tree-SHA512: 8ae3204f4209f8be4033f084e798e888c412a92f7bf787a6f0f5aea51cb5dc6cfeae810a78ab2a60e9769ca5f6f7b120c3a50118b507892a979df6ebf60a3d39
fcc1c21dbb3a735407d0352c555f448ae80fac64 descriptors: use the origin as xpub UID in partial spend info, not the fingerprint (Antoine Poinsot)
4af1a12a2a239a25c3ab50e4943fa7897be40091 descriptors: fix the spending policy inference (Antoine Poinsot)
Pull request description:
The analysis was assuming missing that a `thresh(2, older(x), thresh(k, key1, key2, ..)` policy could be normalized to `thresh(k + 1, older(x), key1, key2, ..)` when `k == the number of keys` (i.e. in case of a N-of-N multisig). This also merges the analysis logic with the parsing check to make sure we don't introduce any inconsistency.
ACKs for top commit:
edouardparis:
utACK fcc1c21dbb3a735407d0352c555f448ae80fac64
Tree-SHA512: d12db2ccf43d20fc85ea6f9fdfe2869948d2c63a2af22287c9133cf6f732fe92c7c0c63ba70ea3dfb0c910a93753ebd42cb168b4cf6bd6ccbed4e1cc7028b614
42940f638598b02acf1cc4f175703725a2ef3cf2 fix: drop connections to hws in share xpub panel (edouard)
Pull request description:
Use needs to be able to start new connections
in the register descriptor step.
ACKs for top commit:
edouardparis:
Self-ACK 42940f638598b02acf1cc4f175703725a2ef3cf2
Tree-SHA512: 01b146209cb74e5db7819e7249b51881e0f773d32ae2b1400914e0751f702325447b304eeca0f4eadf50113c4ea0535d24c73ef8b311c9de453877659933650f
f545747080fdfc4a02216256a6b6da2e3d22078d gui: reword some warnings on invalid input (Antoine Poinsot)
c6127c41c99d9775ecc177928a2ec9fdc94e13a0 gui: wording nit on missing feerate when creating a spend. (Antoine Poinsot)
a7f2ca1cbee7030e9c51506a2c6e1136f6b3a463 gui: Remove redundant "or" when filling up xpub in installer. (Antoine Poinsot)
Pull request description:
Some things i noticed while testing. Not perfect nor comprehensive, but still an improvement IMO.
ACKs for top commit:
edouardparis:
ACK f545747080fdfc4a02216256a6b6da2e3d22078d
Tree-SHA512: c1b098058cbff6617fb197d235ef6755702499b435414659317be2d0bfffe91e018d9069d1e5741c80b446fbee395cb4f6e7cbc4d457583a3bc04f66d9f3cbc6
af058d59e3604cebb7384f4c0f65a2fd60cc5af4 bitcoind: detect deposits from (mature) coinbase transactions (Antoine Poinsot)
Pull request description:
What if miners use Liana! 😁
ACKs for top commit:
edouardparis:
⛏️ utACK af058d59e3604cebb7384f4c0f65a2fd60cc5af4
Tree-SHA512: 579e24b78d250c095e1073e6e1df46bbea77afdcde6ee8dcef7adc29ef276b6609ccc829809dd97c2da8679ffb6d7b60041572a017438cc7695acdc6afad5b71
We were using the fingerprint as a stable unique identifier for xpubs in
a descriptor. It's not. For instance, what if a single signer is used
both in the primary and recovery path? The same fingerprint would appear
in both paths and we would mix up the signatures for both paths (ie if a
signature for each was provided, we would count each path as having 2
signatures).
c7dd94b7488ddfbe96b91a9eb1f0430c7c0b3f3a fix gui: use address.is_valid_for_network (edouard)
Pull request description:
Use this nice helper from rust-bitcoin, instead
of wrong checks.
ACKs for top commit:
edouardparis:
Self-ACK c7dd94b7488ddfbe96b91a9eb1f0430c7c0b3f3a
Tree-SHA512: f71775c84bde155e6c30ef3b25a064feaf10b95ca9a50395afd0b1808eeb1a9739f66a657cf36754e7d0648324e08469d7ecf3d9bad427b151e6956ee68db7df