737 Commits

Author SHA1 Message Date
edouard
0420e41c2e
Merge #413: Check for same sequence in recovery paths
9c30c0dff2dab6251a8c462f7a38c884318942c9 Check for same sequence recovery paths (edouard)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 9c30c0dff2dab6251a8c462f7a38c884318942c9

Tree-SHA512: 65fae3f119c0873ee523aa7974b1d221b682c264559ccb7267c53913a33461d12f4c60346f3cbaa6ea5e356f64b18a2471ad8461a2a3e369a65d0029366e0713
2023-04-06 14:19:02 +02:00
Antoine Poinsot
aa415570b8
Merge #393: Backward compat functional test
6cc4efd303bb5e5cc5a1d50a4925428429f93ab9 ci: run the backward compat functional test (Antoine Poinsot)
96ff447fc98d50f72142abe1f1619bade768c8ec tests: add a datadir migration functional test (Antoine Poinsot)

Pull request description:

  Based off #392.

  This introduces a backward-compatibility functional test. For now it really is targeted at testing the DB migration from 0.3 to the upcoming 0.4, but the concept is also useful more generally to automatically test backward compatibility between our releases.

ACKs for top commit:
  darosior:
    self-ACK 6cc4efd

Tree-SHA512: cb52a5de2de73d1e5b0bce51bbc7f586b63e1b67fdd95026be09134ab764d047ab33f0965f28700a2fef13108e9637937860edac03c49a7392f0cd71c3d03657
2023-04-06 14:02:17 +02:00
Antoine Poinsot
6cc4efd303
ci: run the backward compat functional test 2023-04-06 13:41:57 +02:00
edouard
9c30c0dff2 Check for same sequence recovery paths 2023-04-06 13:40:33 +02:00
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
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