2134 Commits

Author SHA1 Message Date
edouard
468e794875
Merge #412: bump async-hwi 0.05
9250f7d735649bed70f2099cc08a4c95bf0cd7db bump async-hwi 0.05 (edouard)

Pull request description:

  fix the unsupported ledger version `2.1.2-rc`

ACKs for top commit:
  edouardparis:
    Self-ACK 9250f7d735649bed70f2099cc08a4c95bf0cd7db

Tree-SHA512: b7897ef947535f422c0f9722c6dc562b8d1ee072a1fe2fbf307cf1e1cc84d42d0ba7c627354734b452e918a4de5187722b8c6edbfb508a261cdbeb2095e24a13
2023-04-06 12:17:28 +02:00
Antoine Poinsot
80c01510f4
Merge #411: tests: fix a race in the reorg exclusion test
e8186eeaa967a169d94c2d851d5ec7ab371f3074 tests: fix a race in the reorg exclusion test (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    self-ACK e8186eeaa967a169d94c2d851d5ec7ab371f3074

Tree-SHA512: a18c88b488d0882a949ff49113cdf3549474448a12a764729b1308589302b36e630f74540bcf2f3733ee30cd9dbc05b833f387eb2ff32dd21907e2c71d814d8c
2023-04-06 11:50:28 +02:00
edouard
9250f7d735 bump async-hwi 0.05 2023-04-06 11:34:07 +02:00
Antoine Poinsot
e8186eeaa9
tests: fix a race in the reorg exclusion test 2023-04-05 19:17:06 +02:00
edouard
9fc9bd6958
Merge #409: Gui order spend transactions
75527ab145d0189dc6efad809c6b28a75e85eb28 gui: fix list spend transactions ordering (edouard)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 75527ab145d0189dc6efad809c6b28a75e85eb28

Tree-SHA512: 2b711d527eab41c5776a1050014742a356fe32fed099e254701a825721632e067f9980f03f600cf2c31699532aee337da3da41fe2efe64ed889d7d06a1b3951b
2023-04-05 18:05:38 +02:00
edouard
75527ab145 gui: fix list spend transactions ordering
Spend transactions are first ordered by status
in the following order: pending, broadcast, spent,
deprecated, then by `updated_at` field with last
updated tx first.

close #281
2023-04-05 17:36:46 +02:00
Antoine Poinsot
96ff447fc9
tests: add a datadir migration functional test
This is currently to test database migrations at the functional level, but
is also more generally useful to test backward compatibility.
2023-04-05 17:30:01 +02:00
Antoine Poinsot
76deaab988
Merge #392: Store in DB the time a Spend transaction draft was last updated
f262ca2d1ca864e37704ab2a35d9426f85a31c6c tests: reduce the number of workers for the executor (Antoine Poinsot)
104c6e1a093238045cad0c149f61f424ac0a9dc7 commands: add an 'updated_at' field to listspendtxs entries (Antoine Poinsot)
6b666e75c0fc306dc58574a48346af0bc958a153 db: unit test the migration from v0 to v1 (Antoine Poinsot)
29ae0a4a5e5e17ae0ca4951ed3b4e7043803c683 db: add a new 'updated_at' column to Spend transactions (Antoine Poinsot)

Pull request description:

  This is an alternative to #390.

  We add a new column in the `spend_transactions` SQLite table, and as such introduce a straightforward migration system. This field is in turn always set in `updatespendtx` when we store the new PSBT, and listed in `listspendtxs` entries. It is useful for instance to sort spend transactions on the GUI (#281).

ACKs for top commit:
  darosior:
    ACK f262ca2d1ca864e37704ab2a35d9426f85a31c6c -- i've tested it both manually and with #393, and Edouard too with the GUI

Tree-SHA512: 44d3309fcc83069125ab74a20a6eb2c7c662df30fe0da4b90e5f74ca57f26e76c604453bf040f1bf2718e123350d3c42b946755c1650a84ee1beb69913bff856
2023-04-05 17:29:37 +02:00
edouard
cbff93e25f
Merge #408: Gui fix minor style
291895e5ff7a64541bfe5a09ad3d57f1ce7c53f6 fix progress bar background (edouard)
85f6849242ae3fc6f869c3407ec6d68ad277264c fix spend step foreground color (edouard)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 291895e5ff7a64541bfe5a09ad3d57f1ce7c53f6

Tree-SHA512: b51bf64a670cc00fdaa950929823cf52346f8d6cb866d5651df36d3ed77de198414f052860cfc21982cdc34945dc576101df4789cb1ba5a3fa747fa701a5d5dc
2023-04-05 13:21:45 +02:00
edouard
d7984b1b51
Merge #407: gui: check connection to bitcoind in installer
ec228485e558ff2e04052e3a6fbc81c3fc55997b gui: check connection to bitcoind in installer (edouard)

Pull request description:

  ![2023-04-05T11:31:04,960061967+02:00](https://user-images.githubusercontent.com/6933020/230041945-8826c05c-a10b-43a4-a42a-3230263aceca.png)
  ![2023-04-05T11:31:14,946662174+02:00](https://user-images.githubusercontent.com/6933020/230041947-229063c3-512d-468d-a819-20d5f1b20495.png)
  close #115

ACKs for top commit:
  edouardparis:
    Self-ACK ec228485e558ff2e04052e3a6fbc81c3fc55997b

Tree-SHA512: b7defd62da34c054a67f7f05354097591fad1d0a72e4e3242511c3320ea2de8a622ff8ff802508b4124b64d0ac14a2e6c70574a9aeba376fb037231add1b5997
2023-04-05 13:21:00 +02:00
edouard
291895e5ff fix progress bar background 2023-04-05 12:43:44 +02:00
Antoine Poinsot
f262ca2d1c
tests: reduce the number of workers for the executor
We don't use the executor much anyways.
2023-04-05 12:41:04 +02:00
Antoine Poinsot
104c6e1a09
commands: add an 'updated_at' field to listspendtxs entries 2023-04-05 12:41:03 +02:00
Antoine Poinsot
6b666e75c0
db: unit test the migration from v0 to v1 2023-04-05 12:41:03 +02:00
Antoine Poinsot
29ae0a4a5e
db: add a new 'updated_at' column to Spend transactions
Since this is our first modification to the database schema since the
first release of the software this also introduces migration logic for
existing databases.
2023-04-05 12:41:02 +02:00
edouard
85f6849242 fix spend step foreground color 2023-04-05 12:40:46 +02:00
edouard
ec228485e5 gui: check connection to bitcoind in installer
close #115
2023-04-05 11:31:50 +02:00
edouard
a402f85101
Merge #403: Add unregistered policy warning on hw list
f1549e1e976a30105bc6f36488a7e90beac700e5 Add key alias to hardware wallets (edouard)
328748873768dc44a092cb61297471bcf6236447 Add unregistered policy warning on hw list (edouard)

Pull request description:

  close #369
  close #339

ACKs for top commit:
  edouardparis:
    Self-ACK f1549e1e976a30105bc6f36488a7e90beac700e5

Tree-SHA512: 8a1ebb91e299bc162b0e2593c73b3ac6afb47d77445bf3798633fa7ca2fdd4e6f33d6113f715cb1ffe19c49a03e9177576210ce53774dec4aada7d4bc838691b
2023-04-04 17:45:38 +02:00
edouard
f1549e1e97 Add key alias to hardware wallets 2023-04-04 17:26:27 +02:00
edouard
3287488737 Add unregistered policy warning on hw list
close #369
2023-04-04 16:20:33 +02:00
edouard
cbc03202ca
Merge #391: Gui add multipath descriptor
ce23bcf498d2284ed389e7b229e63aeaa0c96e91 gui: add path selection to recovery panel (edouard)
a42eb6d36a3501766dfdc981ea2346aa0c8394e8 gui: change wording coins view (edouard)
13248dbd026ef85bee147adbb0c6213c6fd017ec installer: add multipath support (edouard)
35dbb47bc1212b07859438fe989d4598e7eeb3e9 gui: update liana with multipath support (edouard)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK ce23bcf498d2284ed389e7b229e63aeaa0c96e91

Tree-SHA512: 9a126262d403826c818aedeba919b9e222df82de204cf9ddbc3c928b6e4756308ea3c8b67cd25e1f86e6c283eb2edd54b48779199903660229e97bf40ded8af2
2023-04-04 16:07:31 +02:00
edouard
dcc1e0eb3c
Merge #405: fix not found settings file error for old gui versions.
3eeba082483c06318ca7a1f018ce2c5da47f5f32 fix not found settings file error for old gui versions. (edouard)

Pull request description:

  After migrating from a 0.1 or 0.2 version of the gui user may want to update the keys aliases in the settings This commit makes sure that a settings file exists when wallet is loaded.

ACKs for top commit:
  edouardparis:
    Self-ACK 3eeba082483c06318ca7a1f018ce2c5da47f5f32

Tree-SHA512: f1bb7e04b9e71bf8d169410a5c701a5a027866353b648d9ed56fce9cde109c234a34a51c9d1f7ab4890902fbe781bcb9e6739f2d7b6a2875cf05b04e60b4ede5
2023-04-04 15:50:07 +02:00
edouard
ce23bcf498 gui: add path selection to recovery panel 2023-04-04 15:17:06 +02:00
edouard
a42eb6d36a gui: change wording coins view 2023-04-04 15:17:06 +02:00
edouard
13248dbd02 installer: add multipath support 2023-04-04 15:17:06 +02:00
edouard
35dbb47bc1 gui: update liana with multipath support 2023-04-04 15:17:06 +02:00
edouard
3eeba08248 fix not found settings file error for old gui versions.
After migrating from a 0.1 or 0.2 version of the gui
user may want to update the keys aliases in the settings
This commit makes sure that a settings file exists when
wallet is loaded.
2023-04-04 12:54:27 +02:00
Antoine Poinsot
045182e7ea
Merge #388: Multipath descriptors
7211b96ca936a449916b0cca3e0a64b09463e813 tests: extend the recovery functional tests for multipath descriptors (Antoine Poinsot)
b20cdd0cd81ed0f90ce36192aa8607206c12f3df tests: introduce a lianad_multipath fixture as well as a trivial test (Antoine Poinsot)
0d75f0a2c77b05b247adac3a08371203d12ac1d6 tests: handle multiple recovery paths in MultiSigner (Antoine Poinsot)
3aa99806359efd7043b79becd71ad26877e63a9e tests: simplify the MultiSigner (Antoine Poinsot)
75ea3672357e30418c49fa4d444f85d7d248e0ba tests: make most of the body of the multisig test a general helper (Antoine Poinsot)
d68d0e113473e59310723f805fd86ca204e5f1ed commands: adapt 'createrecovery' to multiple recovery paths (Antoine Poinsot)
cfbb02c7c8cda56216cfefc84bc6be3ed37a7847 descriptors: multi-recovery-path Liana descriptor (Antoine Poinsot)
ec0009113a8405396950f5c347d0dace3c3c33d0 descriptors: lift the bounds to create a Liana policy (Antoine Poinsot)
55d86c62a59bcfe632b866d1b24653219f4c4399 descriptors: use the Miniscript compiler to create a descriptor (Antoine Poinsot)

Pull request description:

  This introduces the possibility to have multiple recovery paths in a Liana wallet. This is particularly helpful for decaying multisigs or a spending policy that involves a third-party co-signer in the recovery (in order to have a later recovery path that gets rid of the co-signer).

  We start by introducing the Miniscript policy compiler to create the Liana descriptor from spending policies configuration. As a by-product, we also lift the limits on the number of keys usable per spending path that were in place because we hardcoded the use of `multi()`. The partial spend analysis and the `createrecovery` commands are adapted to support multiple recovery paths.

  Is there any place i might be missing that needs to be adapted or that would assume single-recovery-path descriptors?

  Closes https://github.com/wizardsardine/liana/issues/54.

ACKs for top commit:
  darosior:
    re-ACK 7211b96ca936a449916b0cca3e0a64b09463e813 -- re-applying Edouard's ack after a trivial rebase.

Tree-SHA512: f1f9f6080bda17768b087958e6236e8b7470043d1f570ce4a3f3826a5b4a13d37461bfa9ee64acc4e1ee103f0c82e03f79c2df999351a86f18cc35ac9cdc3c45
2023-04-04 12:19:10 +02:00
Antoine Poinsot
7211b96ca9
tests: extend the recovery functional tests for multipath descriptors 2023-04-04 11:53:24 +02:00
Antoine Poinsot
b20cdd0cd8
tests: introduce a lianad_multipath fixture as well as a trivial test 2023-04-04 11:53:24 +02:00
Antoine Poinsot
0d75f0a2c7
tests: handle multiple recovery paths in MultiSigner 2023-04-04 11:53:23 +02:00
Antoine Poinsot
3aa9980635
tests: simplify the MultiSigner 2023-04-04 11:53:23 +02:00
Antoine Poinsot
75ea367235
tests: make most of the body of the multisig test a general helper
We'll exercise the same commands for the multipath test, except for the
recovery. DRY.
2023-04-04 11:53:22 +02:00
Antoine Poinsot
d68d0e1134
commands: adapt 'createrecovery' to multiple recovery paths 2023-04-04 11:53:22 +02:00
Antoine Poinsot
cfbb02c7c8
descriptors: multi-recovery-path Liana descriptor
This makes it possible to have more than one recovery path in a Liana
descriptor. The descriptor and partial spend analysis are adapted to
report information about all recovery paths.
2023-04-04 11:53:21 +02:00
Antoine Poinsot
ec0009113a
descriptors: lift the bounds to create a Liana policy
Since we now use the Miniscript compiler, there is no reason not to
allow more than 20 keys.
2023-04-04 11:50:27 +02:00
Antoine Poinsot
55d86c62a5
descriptors: use the Miniscript compiler to create a descriptor 2023-04-04 11:50:26 +02:00
Antoine Poinsot
a0aa30470c
Merge #401: lib: couple block height and time
89eb1572e955548886bf0c00c5e64b69f9f8cb32 lib: reorder struct fields for consistency (jp1ac4)
b519c8d185a328cff5c81c032d4fad6746704760 lib: rename and use existing structs `(Db)SpendBlock` (jp1ac4)
4cb6d2dc690d243616b32535774a0f959ff99bc2 lib: couple block height and time (jp1ac4)

Pull request description:

  This PR aims to resolve #35.

  I hope I'm on the right path here. Please let me know in case I need to make further changes.

  Thanks.

ACKs for top commit:
  darosior:
    utACK 89eb1572e955548886bf0c00c5e64b69f9f8cb32

Tree-SHA512: ceb7b378e66ed08830872cc438bc83273d69e2530abc1bff9e40522d42d8fcc719ef01dcf76a961387235a3da095b78f05461d94013a575d7c32210d65dd8895
2023-04-04 11:48:20 +02:00
jp1ac4
89eb1572e9
lib: reorder struct fields for consistency 2023-04-04 09:38:58 +01:00
jp1ac4
b519c8d185
lib: rename and use existing structs (Db)SpendBlock 2023-04-04 09:27:03 +01:00
edouard
3b321cd9c8
Merge #402: gui: do not check empty addresses for duplicates
f508d4a1ce9739af92b99be479dcfeeda2d263d9 gui: do not check empty addresses for duplicates (jp1ac4)

Pull request description:

  This is to resolve #190.

  The check for a duplicate is skipped if the recipient address is an empty string.

  I was able to run the GUI locally and it seemed to work as required.

ACKs for top commit:
  edouardparis:
    ACK f508d4a1ce9739af92b99be479dcfeeda2d263d9

Tree-SHA512: 32a1fc89eba7fd0f8bb39d19ec76957228e0a4240d0d784c35890ecea8e0f8540c529001cda3d81380b9fa24547325fb1ea2b0d7db82e0facf9fc8e10d7ed775
2023-04-04 09:02:16 +02:00
Antoine Poinsot
b6f13932d1
CHANGELOG: 0.3.1 release notes 2023-04-03 18:47:42 +02:00
Antoine Poinsot
64ab6eba79
Merge #399: doc: clearer build documentation
3ed255f1174329b71b3f4b711f1db8f99fd81cad doc: clearer build documentation (Antoine Poinsot)

Pull request description:

  They weren't the clearest. Someone was confused they couldn't build the GUI with an old `cargo`. Make it clearer.

ACKs for top commit:
  darosior:
    self-ACK 3ed255f1174329b71b3f4b711f1db8f99fd81cad -- trivial documentation

Tree-SHA512: 22285c75c2df8d389005519f57691182cfd979bac707f036933a3ddd96a8cbef8bcbd841dcb2d3630809054265698ae5474525a51f14b1c45f9a3255c286524c
2023-04-03 18:14:46 +02:00
jp1ac4
f508d4a1ce
gui: do not check empty addresses for duplicates 2023-04-03 17:13:24 +01:00
Antoine Poinsot
3ed255f117
doc: clearer build documentation 2023-04-03 18:13:18 +02:00
jp1ac4
4cb6d2dc69
lib: couple block height and time 2023-04-03 10:47:04 +01:00
Antoine Poinsot
943cc16e77
Merge #398: bitcoind: do not error if watchonly wallet is loading on bitcoind
f0beef5f6095bdff399aa10e72ee01a6a678707f bitcoind: do not error if watchonly wallet is loading on bitcoind (Antoine Poinsot)

Pull request description:

  Fixes #380

ACKs for top commit:
  darosior:
    ACK f0beef5f6095bdff399aa10e72ee01a6a678707f -- tested manually.

Tree-SHA512: 6c22243623f3300379e90849e3d0ba0860da2cf23d38664465e0e844f0b04ca35af30082e1012d82f8e7454dbaf7a5a883067ca4ad3b1409624679a8e8370ad0
2023-03-31 14:51:03 +02:00
Antoine Poinsot
f0beef5f60
bitcoind: do not error if watchonly wallet is loading on bitcoind 2023-03-31 14:00:05 +02:00
Antoine Poinsot
c9753e9153
Merge #396: Reproducible builds updates for 0.4
a7678091673015a7f8c193451b5e591930a27ba1 docker: use 'apt satisfy' to avoid being too strict with package pinning (Antoine Poinsot)
1454bd86d5e8cf9c2ed935be1b7889132fff851b docker: adapt the reproducible builds to the new gui folder structure (Antoine Poinsot)
2596e03a9f877372145e464a5eef49b443b758ab guix: use rust 1.65 to build the GUI (Antoine Poinsot)
b295637101c92f1d19053ce5aa25cf01f8b35d7a guix: always expose the "ui" GUI folder (Antoine Poinsot)
0824fcfefcbd2788425cf6d6dd2b480e07834f99 guix: use the minimal version of coreutils (Antoine Poinsot)

Pull request description:

  This updates the reproducible builds with the new structure of the GUI project, updates `rustc` for building the GUI in GUIX to 1.65 to drop the last patch that was required, and update the dependencies versions in the Dockerfiles.

ACKs for top commit:
  darosior:
    ACK a7678091673015a7f8c193451b5e591930a27ba1

Tree-SHA512: c672bcca2e7558830dae04bbb7bc8f156481e942c8f75a24033b2d6d2a50ed3d39edffd37d6b485b0dada1c020fd4766eed7712384414c0fec34a22273086157
2023-03-31 12:30:58 +02:00
Antoine Poinsot
a767809167
docker: use 'apt satisfy' to avoid being too strict with package pinning 2023-03-31 12:13:31 +02:00