146 Commits

Author SHA1 Message Date
Antoine Poinsot
0a95266cce
qa: don't use a static dummy origin for descriptor xpubs 2023-10-08 11:50:58 +02:00
Antoine Poinsot
7f3b0b0218
qa: test a PSBT has only the BIP32 derivations for a single spending path 2023-10-06 18:23:12 +02:00
Antoine Poinsot
b71bd693d6
qa: don't use a static dummy origin for descriptor xpubs 2023-10-06 18:23:12 +02:00
jp1ac4
eeaf90e522
commands: optionally filter listcoins by status and/or outpoint 2023-09-13 08:49:54 +01:00
Antoine Poinsot
edb2c513a3
Bump lianad version to 2.0 2023-08-31 13:11:37 +02:00
Antoine Poinsot
d5d2a7626f
Merge #648: tests: fix a small race in the rescan_and_recover test
9685920102b6f8340aeec5493b07e55ae9628398 tests: fix a small race in the rescan_and_recover test (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    self-ACK 9685920102b6f8340aeec5493b07e55ae9628398 -- trivial, tested locally by running many instances of the test in parallel

Tree-SHA512: b384eeac6eba7416a9316b271c4ace26d933f9bfb85a6f4cc59133937cafda0baa9086926fad8ba8c262a1edaf3479b1a6db190da339fd8ff78820aa46b90656
2023-08-31 11:19:20 +02:00
Antoine Poinsot
5680ad27ec
lib: on Windows, migrate the watchonly wallet from bitcoind datadir
We used to store it there, if it's not within our own datadir copy it
from where it would have been stored by Liana v1.

Note we don't conditionally compile this on Windows so the codepath can
be tested with a functional test.
2023-08-30 17:51:53 +02:00
Antoine Poinsot
9685920102
tests: fix a small race in the rescan_and_recover test 2023-08-29 18:33:08 +02:00
Antoine Poinsot
a0c8adbfcc
Merge #609: Add more bitcoind-related setup logging
5c87937d4676354f19357e17b36655eb4853dbf9 Add more bitcoind-related setup logging (Antoine Poinsot)

Pull request description:

  At startup it sometimes appear we may be hanging when setting up bitcoind. Add more logging to give more information about what's taking long to setup (for instance, loading the watchonly wallet).

  Related to https://github.com/wizardsardine/liana/issues/475.

ACKs for top commit:
  darosior:
    ACK 5c87937d4676354f19357e17b36655eb4853dbf9

Tree-SHA512: 75c553cabf545d57a5fc2d251e5b4cd880a931a408c6f1b1052067f2ccc8e0728ad779f30de5a88c2566f9e67ac085b713393ee4fa193331e49c3a8e6112ecc8
2023-08-28 16:35:51 +02:00
Antoine Poinsot
204c160c4d tests: test the RPC interface for managing labels 2023-08-28 13:14:21 +02:00
Antoine Poinsot
7ecefdebdf
Revert "tests: don't wait for lianad to log on shutdown"
This reverts commit 97abc4699c7343e4be6a0596a25481f9e07bb3bb.
2023-08-22 16:44:22 +02:00
Antoine Poinsot
97abc4699c
tests: don't wait for lianad to log on shutdown
It seems to be causing some races that i don't want to be investigating
at the moment. It's redundant anyways as we are already checking for the
return code of the process.
2023-08-22 16:23:48 +02:00
Antoine Poinsot
5c87937d46
Add more bitcoind-related setup logging
At startup it sometimes appear we may be hanging when setting up
bitcoind. Add more loading to give more information about what's taking
long to setup (for instance, loading the watchonly wallet).
2023-08-14 10:29:33 +02:00
Antoine Poinsot
0785bb7f9f
poller: don't filter out coins with already a spend txid when checking for spends
What if the spending transaction gets RBF'd?
2023-08-11 11:52:51 +02:00
Antoine Poinsot
0f6fc48e88
qa: only run the RPC retry functional test with bitcoind 25.0 2023-08-09 15:50:22 +02:00
Antoine Poinsot
be2030af28
qa: unflake the test_retry_on_workqueue_exceeded functional test
This was racy as it was relying on the `waitfornewblock` timeout, so it
would occasionally fail in CI.

Make this test more robust by having `waitfornewblock` wait indefinitely
and submitting a block through the P2P interface to unstuck it.
2023-08-09 12:55:58 +02:00
Antoine Poinsot
b96db71a4d
qa: bitcoind: add a helper for sending a P2P message to bitcoind 2023-08-09 12:55:58 +02:00
Antoine Poinsot
df396cccc8
qa: set load_on_startup for bitcoind internal wallet 2023-08-09 12:13:30 +02:00
Antoine Poinsot
097d5e71c1
qa: adapt the migration functional test to also support 1.0 2023-07-20 13:48:33 +02:00
Antoine Poinsot
289f6581cc
qa: functional test createspend refuses immature outpoints 2023-07-20 13:43:15 +02:00
Antoine Poinsot
95dd3e5293
qa: fix and improve the coinbase deposit functional test 2023-07-20 13:43:14 +02:00
Antoine Poinsot
43a0cf232b
test_misc.py: linter 2023-07-13 10:18:08 +02:00
Antoine Poinsot
c421610b30
qa: test we retry requests to bitcoind when it's overloaded 2023-07-13 10:18:07 +02:00
Novo
0c4c347011 Add test for rescan and recovery
This test simulates a typical recovery flow for a user
2023-06-01 10:49:50 +01:00
Antoine Poinsot
08223c0ded
Merge #497: Add instructions to build daemon for testing
d337568706c5e6070d05d378392e74d590438f0b Add instructions to build deamon for testing (Novo)

Pull request description:

  @darosior  I tried following the testing instructions and I got an error that indicated that the `target/debug` directory did not exist. This PR adds instructions that specifically ask devs to build the project before testing. I think this will be helpful to others when trying to run the tests.

ACKs for top commit:
  darosior:
    ACK d337568706c5e6070d05d378392e74d590438f0b -- Thank you for improving the documentation.

Tree-SHA512: 9ba9c141de13f30128497734f231df6763713e18d5d0e6f2d92cdd3f3d3ca0490755760ecb0b7375a067365156a781e4d42ce07da337cbda594b39855adc2e69
2023-05-12 10:50:24 +02:00
Novo
d337568706 Add instructions to build deamon for testing 2023-05-11 12:36:43 +01:00
Antoine Poinsot
fe906da612
Bump version to 1.0.0 2023-05-11 11:44:57 +02:00
Antoine Poinsot
c6c312a011
commands: allow to create send-to-self transactions with 'createspend' 2023-05-04 16:15:09 +02:00
Antoine Poinsot
a076a83cba
Reset the daemon and GUI versions post 0.4 branch-off 2023-04-13 08:54:18 +02:00
Antoine Poinsot
baf68e8224
lianad: bump version 2023-04-10 11:23:55 +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
e8186eeaa9
tests: fix a race in the reorg exclusion test 2023-04-05 19:17:06 +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
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
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
48deb3b7f0
tests: update pytest to work with Python >= 3.10 2023-03-28 13:07:24 +02:00
Antoine Poinsot
b8cd0d0e27
Bump version to 0.3 2023-02-27 14:46:28 +01:00
Antoine Poinsot
af058d59e3
bitcoind: detect deposits from (mature) coinbase transactions 2023-02-04 13:21:20 +01:00
Antoine Poinsot
d0de88bc01
daemon: release 0.2 2023-02-03 16:10:20 +01:00
Antoine Poinsot
3a573b695e
qa: test we discard RBF'd deposits 2023-02-03 13:22:05 +01:00
Antoine Poinsot
f1532f8afc
bitcoin: track expired unconfirmed deposits, remove them from DB 2023-02-03 13:17:26 +01:00
Antoine Poinsot
13214c887f
qa: test we discard RBF'd deposits when replacement is confirmed 2023-02-02 17:32:08 +01:00
Antoine Poinsot
1cd61c9236
descriptors: require that an origin be set for the keys.
It would be possible for users to create a descriptor with xpubs without
an origin set. In fact, not many are used to origins and it's a very
likely mistake. Signers need this information in order to be able to
sign. So they could potentially create a wallet and potentially never be
able to sign for one or multiple keys.

Fix this by requiring an origin for all keys in the descriptor.
2023-02-01 13:54:18 +01:00
Antoine Poinsot
9290596823
qa: test using lianad with a multisig descriptor 2023-01-24 19:38:35 +01:00