1871 Commits

Author SHA1 Message Date
Antoine Poinsot
61bc69012d
Merge #1282: electrum: ping server before returning client
537ebb2fb3301e82a297a5c8c4c5043d8d0938e4 func test: check electrs has started (Michael Mallan)
7612eda78874b879aefaaa790aab56429c33473c electrum: ping server before returning client (Michael Mallan)

Pull request description:

  Ping server as an extra connectivity check.

ACKs for top commit:
  darosior:
    utACK 537ebb2fb3301e82a297a5c8c4c5043d8d0938e4

Tree-SHA512: 77186595acdabe878a4158847e878e0e004c58dd9476b9e5b4d99f4a79bb6fa552edb0b8b42f25a353bd6028505e66f6e7c6ffebfc7b1c252ad0b89db475bc23
2024-09-10 15:41:35 +02:00
edouardparis
533bf3e832
Merge #1312: installer: change liana connect description
ead2047e804e284bec0a623f834de1c09cfc839c installer: change liana connect description (edouardparis)

Pull request description:

  close #1308

ACKs for top commit:
  edouardparis:
    Self-ACK ead2047e804e284bec0a623f834de1c09cfc839c

Tree-SHA512: 3644abcc3ff83eaf557652f9a2cb2eec444f3e6c11dad12f4b3128bca24fae1a524445f09bf0727b810405a362bbb9a1df64a70b74087eb8ae9cb280704a3cc9
2024-09-10 15:30:02 +02:00
Michael Mallan
537ebb2fb3
func test: check electrs has started 2024-09-10 14:19:48 +01:00
edouardparis
ead2047e80 installer: change liana connect description
close #1308
2024-09-10 14:57:21 +02:00
Michael Mallan
7612eda788
electrum: ping server before returning client 2024-09-10 13:02:22 +01:00
Antoine Poinsot
26923f6aad
Merge #1299: electrum: common ancestor is before first changed block
d551aeeeacf5356a0ba25f4929230dd099b01c32 electrum: consider invalidated blocks for reorgs (Michael Mallan)
86965c188e29191b60da51ce7d998157e1d50f77 electrum: common ancestor is before first changed block (Michael Mallan)

Pull request description:

  The common ancestor is the highest block that is strictly lower than the first change.

  When finding the point of change, we can take the first height with any change (including an invalidated block) rather than the first height with a new block, which avoids a loop. The height found in both cases (loop vs no loop) should be almost always the same as we apply the update to our local chain before finding the common ancestor, but perhaps in a test if there's a reorg down to 0 and the chain update only contains invalidated blocks and no new blocks, then checking for the first invalidated block would be better as there would be no new blocks to find and the reorg would be undetected.

ACKs for top commit:
  darosior:
    utACK d551aeeeacf5356a0ba25f4929230dd099b01c32

Tree-SHA512: 96f59d87e6a89f49a371219cac78505d1ae8edcf2b1789f134f526b7f627d4355e036a8af1584e3076cb58a41bc9c2a0c8b81a48f81157986aae2af33f236dbd
2024-09-10 10:57:16 +02:00
Michael Mallan
d551aeeeac
electrum: consider invalidated blocks for reorgs 2024-09-10 09:35:51 +01:00
Michael Mallan
86965c188e
electrum: common ancestor is before first changed block 2024-09-10 09:34:59 +01:00
edouardparis
51fef98b55
Merge #1309: Reset hws watch list each step of the installer
c2a8cf809267cb6f4dc11b9b16d8b03d7ef786e2 Reset hws watch list at each installer step (edouardparis)

Pull request description:

  Because of flaky connection, we drop the connection list to reconstruct it at each step of the installer

  close #1307

ACKs for top commit:
  edouardparis:
    ACK c2a8cf809267cb6f4dc11b9b16d8b03d7ef786e2

Tree-SHA512: 6b3bf655550c03a823d7b4e82cb8ee470f819d3b73453cfd132002761131fb01447c12ec93d6a28dad31ed464924514b98108b95a379e302aca969767373aa0e
2024-09-09 18:24:08 +02:00
edouardparis
c2a8cf8092 Reset hws watch list at each installer step
Because of flaky connection, we drop the connection list to reconstruct it at each step of the installer

close #1307
2024-09-09 18:02:45 +02:00
edouardparis
d41bc7cfb6
Merge #1302: bump async-hwi 0.0.23
d1ba7c2dc82c2d8db4e422a98b4161ec228532da bump async-hwi 0.0.23 (edouardparis)

Pull request description:

  This async-hwi version has a fix about the
  wrong fetched version of the coldcard Q device.

ACKs for top commit:
  edouardparis:
    Self-ACK d1ba7c2dc82c2d8db4e422a98b4161ec228532da

Tree-SHA512: 5e126aca919fdb729de275451b52ba6519b44c9ea1b4bddcc47b9c694757e90beddfa6fce43741fa3cd2023a17f61c4e6deb15d0f32c97469abb00c11528385c
2024-09-09 14:15:48 +02:00
edouardparis
d1ba7c2dc8 bump async-hwi 0.0.23
This async-hwi version has a fix about the
wrong fetched version of the coldcard Q device.
2024-09-09 13:48:20 +02:00
Antoine Poinsot
255e921a2a
Merge #1289: electrum: check in db if rescan required
32fa86d663f008ca6083dcd0f964cc04297816ab electrum: check in db if rescan required (Michael Mallan)

Pull request description:

  This Michael's last commit from #1285.

ACKs for top commit:
  darosior:
    ACK 32fa86d663f008ca6083dcd0f964cc04297816ab

Tree-SHA512: 940f5828aff3fb58ad60ce93ea8e16a7ec43325a79d64ea6e887bb92d99df1a41c27bde903c6d969dd7156bf3a4a4833d9321b8570ccfa37ffc869a8079542c5
2024-09-07 12:17:57 +02:00
Michael Mallan
32fa86d663
electrum: check in db if rescan required 2024-09-07 11:49:07 +02:00
edouardparis
b9aaea1429
Merge #1281: Order history txs in home state
887b71367bebe277740443ff4e2d0f1470d2c0ab Order history txs in home state (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 887b71367bebe277740443ff4e2d0f1470d2c0ab

Tree-SHA512: f091f29b1c0b96b80fbacc40ece131edce2d2bfd571cc239b84295c59880e796cb787c3c086b37adb67bef2a0ae428dd86d4a274b1b51208fe90bde77aceb858
2024-09-06 14:57:36 +02:00
edouardparis
887b71367b Order history txs in home state 2024-09-06 14:51:29 +02:00
Antoine Poinsot
e152714756
Merge #1279: gui: use latest liana commit hash
13bc0bc61dc9a0889cb2e27cd83e275bc1c7c4af gui: use latest liana commit hash (Michael Mallan)

Pull request description:

ACKs for top commit:
  darosior:
    trivialACK 13bc0bc61dc9a0889cb2e27cd83e275bc1c7c4af

Tree-SHA512: f62b1d08620110def7131bcd9eca85e78b755f10f7281aad162abbd461680476633fca5021ba4d88522688862a96a217462877890a0dd2e128c474ef5e26ccec
2024-09-06 11:25:15 +02:00
Michael Mallan
13bc0bc61d
gui: use latest liana commit hash 2024-09-06 10:22:12 +01:00
Antoine Poinsot
c6e3053edf
Merge #1277: electrum: check connectivity before creating client
0f48db7a88b1dcaee68190a6a6ee5e73b5630f01 electrum: check connectivity before creating client (Michael Mallan)

Pull request description:

  This is to resolve https://github.com/wizardsardine/liana/issues/1276.

  Tested that this change stops GUI freezing in https://github.com/wizardsardine/liana/pull/1241 when using invalid address in Electrum settings.

ACKs for top commit:
  darosior:
    utACK 0f48db7a88b1dcaee68190a6a6ee5e73b5630f01

Tree-SHA512: b176ceafda887c4ef97110c6a87807787136da6fd67fb8a2af0b63c102a7d0145f46df5d75b61a10b45cf4cbc91ad27535de7abaf13409e259d1c75881abcef3
2024-09-06 11:17:24 +02:00
Antoine Poinsot
55958c2a75
Merge #1241: [GUI] Installer - Add Electrum node option
819eb920c0210b9d95689f40cfbeba65c03280af gui(settings): allow to change node type (Michael Mallan)
2381227216663a6a2336ee79905646fb2a3aadca gui(settings): view & edit Electrum settings (Michael Mallan)
b570039ff8e740be43c6aebdc62910f4ab4eac05 gui(settings): rename Bitcoin Core to Node (Michael Mallan)
db20ae4b677cf4ffdf19ad0df6f50ea983b34a02 gui(installer): reduce empty space height (Michael Mallan)
0993905879629c58da24a1145acbb49faf31da3a gui(installer): update wording to include Electrum (Michael Mallan)
f40af570bccecf9361410df334ad30e45f57659b gui(installer): split long string and run cargo fmt (Michael Mallan)
0f09be151ca3ba1353d23b170805c845fc8ab5cc gui(installer): don't change values while waiting for ping result (Michael Mallan)
c93aa88d74620a555bd442bc3504e12af198f00a gui(installer): add electrum node option (Michael Mallan)
341e4467dbf727d78f31690b8dbc405995ab4088 gui(installer): allow for different node types (Michael Mallan)
83172c7bc584283d7dd4b93f3f18ec0f2d9a1ad0 gui(installer): add general node definition (Michael Mallan)
046b54e6a9337aaf478ea6e61f2d28d73f1b15c1 gui(installer): define bitcoind from general node struct (Michael Mallan)
c5d9d007fb908308592635b8f85236a1b7a4b5ae gui: move bitcoind to new node module (Michael Mallan)
4536eff561459648cbf0666ec757db95ac29de4f gui(installer): extract logic for try ping bitcoind (Michael Mallan)
ef44cf329adc0eed01451950454edfb7e54be515 gui(installer): add module for node step (Michael Mallan)
f74f071b8a3e4eda77cc5b468f891b21c5e4e2a4 gui: upgrade liana dependency (jp1ac4)

Pull request description:

  This is for #1223.

  For now, it's possible to edit the node's settings but not to change node type.

  Remaining tasks:

  - [x] Revert Cargo.toml once #1222 is merged.
  - [x] Update wording as per https://github.com/wizardsardine/liana/issues/1223#issuecomment-2286483134.

ACKs for top commit:
  pythcoiner:
    ACK 819eb920c0210b9d95689f40cfbeba65c03280af

Tree-SHA512: 362a14d32c2e13ba286d252d9f8a1106d63e5c40198776653b0623b433435329663126307e17da017fdbbd8a8ad273b703cc3ba54fd13fa5a0afd7dd9179089a
2024-09-06 11:16:00 +02:00
edouardparis
adaa13275c
Merge #1278: installer: Go directly to next step once login
cc02ac043b647b22b0533dec3f99cbcf62e7ee8f installer: Go directly to next step once login (edouardparis)

Pull request description:

  Once the user is connected we redirect him to
  the next step in the install process, but
  we keep the Connected state in case the user
  want to edit email after clicking on Previous

  As discussed in #1240

ACKs for top commit:
  edouardparis:
    Self-ACK cc02ac043b647b22b0533dec3f99cbcf62e7ee8f

Tree-SHA512: c2b65288fd8fcb07edf021ad45391fc1761d185b7da48985a2108be5dce5a1f744fa37da8c667cb140df21ce2c4403492fab58c11098a3695c5c4b3496219346
2024-09-06 10:56:25 +02:00
edouardparis
cc02ac043b installer: Go directly to next step once login
Once the user is connected we redirect him to
the next step in the install process, but
we keep the Connected state in case the user
want to edit email after clicking on Previous

As discussed in #1240
2024-09-06 10:20:39 +02:00
Michael Mallan
0f48db7a88
electrum: check connectivity before creating client 2024-09-06 09:05:51 +01:00
Antoine Poinsot
8b76a6b977
Merge #1269: Couple fixes to the functional tests
7cce13656266d90431133ccb4de5ccf086f4aa82 qa: test proc stderr isn't None before closing it (Antoine Poinsot)
ba553e9ddb104af454d9eff9969c0e37a1f3061a qa: adapt bitcoind config to support 28.0 (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    ACK 7cce13656266d90431133ccb4de5ccf086f4aa82

Tree-SHA512: ff0a9addd6063cd31b8e7f76cbf2b7ed1f5e85c2d7192ed5e73bba1c81a3bb4e8740ff7c5242d054115e28e484c87f85cafcbbc4dcc4ecf24ff415a028e1b0b5
2024-09-05 17:10:30 +02:00
Michael Mallan
819eb920c0
gui(settings): allow to change node type 2024-09-05 16:02:18 +01:00
Michael Mallan
2381227216
gui(settings): view & edit Electrum settings 2024-09-05 16:02:17 +01:00
Michael Mallan
b570039ff8
gui(settings): rename Bitcoin Core to Node 2024-09-05 16:02:15 +01:00
Michael Mallan
db20ae4b67
gui(installer): reduce empty space height 2024-09-05 16:02:13 +01:00
Michael Mallan
0993905879
gui(installer): update wording to include Electrum 2024-09-05 16:02:12 +01:00
Michael Mallan
f40af570bc
gui(installer): split long string and run cargo fmt 2024-09-05 16:02:10 +01:00
Michael Mallan
0f09be151c
gui(installer): don't change values while waiting for ping result 2024-09-05 16:02:09 +01:00
Michael Mallan
c93aa88d74
gui(installer): add electrum node option 2024-09-05 16:02:07 +01:00
Michael Mallan
341e4467db
gui(installer): allow for different node types 2024-09-05 16:02:05 +01:00
Michael Mallan
83172c7bc5
gui(installer): add general node definition 2024-09-05 16:02:04 +01:00
Michael Mallan
046b54e6a9
gui(installer): define bitcoind from general node struct 2024-09-05 16:02:02 +01:00
Michael Mallan
c5d9d007fb
gui: move bitcoind to new node module 2024-09-05 16:02:01 +01:00
Michael Mallan
4536eff561
gui(installer): extract logic for try ping bitcoind 2024-09-05 16:01:59 +01:00
Michael Mallan
ef44cf329a
gui(installer): add module for node step 2024-09-05 16:01:58 +01:00
jp1ac4
f74f071b8a
gui: upgrade liana dependency 2024-09-05 16:01:56 +01:00
Antoine Poinsot
6f73347383
Merge #1222: Add Electrum backend
341f9406645dd26c7862ae7abe28aed5c7e9185d func test: prevent disconnects when using mocktime (Michael Mallan)
b630d46770319dce051c09133a528b1ff322a358 func test: wait for block heights to match (Michael Mallan)
ada89c5c56090338554cb8db0e078674798341ac doc: update with electrum info (Michael Mallan)
177dfc46c305ea7ab1c421e9a9d60535327fedff lib: expose BDK's electrum client (Michael Mallan)
72c63148984bc69ff7c4b04cfdc16a12994b2956 ci: add electrs to func tests (jp1ac4)
371e31e3f35ac5054fe2bd7dd04bcdd8790e8988 func test: allow to run using electrs backend (jp1ac4)
a85d4887e9efeaada6a1a79f4a35a32cf8444569 func test: allow for different bitcoin backends (jp1ac4)
1b04b294910d1cb65885f17dd266029771b476cf func test: fix min rbf feerate (jp1ac4)
c7ee8620204e72bcf990a994c1bdf89652f40c84 bitcoin: add electrum backend (jp1ac4)
c4c2424f244fcd4461cf5378f83e9abe4ba12866 bitcoin: expose MempoolEntryFees (jp1ac4)
5011ad929037af294dc471844d8bf5c799040383 bitcoin: return spent block height & time separately (jp1ac4)
689442c2c910ad5967651c0cc9f84bdc71cd0002 bitcoin: allow to store UTXO deriv index (jp1ac4)
4c02b0d43115f5d792908dd30580eaf241e8fc58 bitcoin: use mut ref for start_rescan (Michael Mallan)
69259c12362b2be8da8f210def1d3e338fa8ab00 poller: sync wallet before checking updates (jp1ac4)
89e004d4fdd88324da255bc85aeb8adbb90653b1 bitcoin: add sync_wallet method to interface (jp1ac4)
34b9a49328e7a3313ad6f4a0537ac5b349b54d76 config: add general bitcoin backend option (jp1ac4)
e267f66be6ce3bebac413ee9e4901d27e8cbe9df descriptors: allow to get underlying public key (jp1ac4)

Pull request description:

  This is to add the Electrum backend as part of https://github.com/wizardsardine/liana/issues/56#issuecomment-2183063784.

  This requires the database to be running version 5 following #1180. The migration from a previous DB version must be done using bitcoind. Thereafter, the daemon can be run using an Electrum backend by replacing the `[bitcoind_config]` section in the daemon.toml config file with:
  ```
  [electrum_config]
  addr = "127.0.0.1:50001" # adjust IP:port as required
  ```
  Remaining tasks:

  - [x] Include ancestors and descendants when getting a transaction's `MempoolEntry`
  - [ ] Additional sanity checks, e.g. check Electrum version
  - [x] Check if logic regarding ongoing rescan needs to be adjusted
  - [x] Add Electrum backend to functional tests
  - [x] Add Electrum backend to CI pipline functional tests
  - [ ] Add unit tests
  - [x] Update README & other docs

ACKs for top commit:
  darosior:
    re-ACK 341f9406645dd26c7862ae7abe28aed5c7e9185d

Tree-SHA512: dbbb375123cc5c566f5c8535d002ac4491b4be5ab2766845b5b7ab51d19e7e85eafc0097235e1ebc5c5a049bd2222ab5582264314e46c77b5fff8027da31b803
2024-09-05 16:09:05 +02:00
Michael Mallan
341f940664
func test: prevent disconnects when using mocktime
Thanks to pythcoiner for providing this fix.
2024-09-05 14:56:01 +01:00
Michael Mallan
b630d46770
func test: wait for block heights to match
This is copied from darosior's changes in
https://github.com/wizardsardine/liana/pull/1222#issuecomment-2324894986.
2024-09-05 14:56:00 +01:00
Michael Mallan
ada89c5c56
doc: update with electrum info 2024-09-05 14:55:58 +01:00
Michael Mallan
177dfc46c3
lib: expose BDK's electrum client 2024-09-05 14:55:56 +01:00
jp1ac4
72c6314898
ci: add electrs to func tests 2024-09-05 14:55:55 +01:00
jp1ac4
371e31e3f3
func test: allow to run using electrs backend 2024-09-05 14:55:53 +01:00
jp1ac4
a85d4887e9
func test: allow for different bitcoin backends 2024-09-05 14:55:50 +01:00
jp1ac4
1b04b29491
func test: fix min rbf feerate
Here, the min RBF feerate is 1 more than that of the transaction
to be replaced.

The feerate of the transaction to be replaced may vary slightly
depending on the signature size and is calculated during the test.
As such, the min feerate should be set according to this
calculated value.
2024-09-05 14:55:48 +01:00
jp1ac4
c7ee862020
bitcoin: add electrum backend
This includes changes from darosior's comment in
https://github.com/wizardsardine/liana/pull/1222#issuecomment-2324894986.
2024-09-05 14:55:45 +01:00
Antoine Poinsot
7cce136562
qa: test proc stderr isn't None before closing it 2024-09-05 14:32:03 +02:00