1794 Commits

Author SHA1 Message Date
edouardparis
c99df6ccfa Merge launcher and first installer step
When the gui launches, it checks if there is
a wallet in the network datadirs with bitcoin mainnet in priority.
If it is the case, it tries to display information about
the wallet by reading the settings.json file.
If no wallet was found, then the gui displays the choice
to either create a wallet or add it.
2024-08-30 11:00:01 +02:00
edouardparis
f2e8e11a12
Merge #1236: Display details of wallet policy in installer
59e7131aeef4478933c6923155ed59535e218c96 Display wallet policy in wallet settings (edouardparis)
52755ed8129041433e3d9695a3c5f93b094c80ed Display details of wallet policy in installer (edouardparis)

Pull request description:

  ![20240827_14h53m19s_grim](https://github.com/user-attachments/assets/e639813c-9fcb-4623-8ed7-a656a7af4154)
  ![20240827_14h56m31s_grim](https://github.com/user-attachments/assets/ac683af1-2c77-4276-8be3-6cd90383cfbc)

  close #620

ACKs for top commit:
  edouardparis:
    Self-ACK 59e7131aeef4478933c6923155ed59535e218c96

Tree-SHA512: 2c272b22cbed496648d8c16c8f5639f6dfa174ca6c5891036d91e9a568e0ada4c5db69576f6d1bc08f44fbae172ba66714e6278ed87fd3cf51e95f00135e63b6
2024-08-29 18:34:38 +02:00
edouardparis
59e7131aee Display wallet policy in wallet settings 2024-08-29 18:24:34 +02:00
edouardparis
52755ed812 Display details of wallet policy in installer 2024-08-29 18:24:34 +02:00
edouardparis
969046c25b
Merge #1237: Change remote backend server url
eef55b41c97146476234bbd445e23d9f8f98cb20 Change remote backend server url (edouardparis)

Pull request description:

  Remote backend has the auth service credentials.
  We rely now uniquely on the following urls:
  * https://api.signet.lianalite.com for signet
  * https://api.lianalite.com for mainnet

ACKs for top commit:
  edouardparis:
    Self-ACK eef55b41c97146476234bbd445e23d9f8f98cb20

Tree-SHA512: fadc9f6c8454dc747ed22302ea33ae985460cc1b7c872010ef4845ced66c0468ba59d0e8e3296426427bea40c2d42ad2935b90fb4ecf6d2dc07d4c1d0c379fab
2024-08-28 17:19:59 +02:00
edouardparis
abeeddc1a8
Merge #1239: Add Liana-Version header to remote backend client
9473d4b9280cd62e89c70a1085904ece448ad6f9 Add Liana-Version header to remote backend client (edouardparis)

Pull request description:

  close #1216

ACKs for top commit:
  edouardparis:
    Self-ACK 9473d4b9280cd62e89c70a1085904ece448ad6f9

Tree-SHA512: 708c4c739c8ea17fd0fb5847490b59205744cbc13e274b9699b22ec247657a47264d0979d2f0dcea7b65d35e09ac67d4c30cd00f1f51e1cdc800098b1bdd1261
2024-08-28 17:17:47 +02:00
edouardparis
9473d4b928 Add Liana-Version header to remote backend client
close #1216
2024-08-28 11:43:06 +02:00
edouardparis
eef55b41c9 Change remote backend server url
Remote backend has the auth service credentials.
We rely now uniquely on the following urls:
* https://api.signet.lianalite.com for signet
* https://api.lianalite.com for mainnet
2024-08-27 17:13:50 +02:00
edouardparis
2253edd70d
Merge #1234: fix wrong datadir in app cache using remote backend
8610afeea635c0ffe91db76fb10ed46e72478d82 fix wrong datadir in app cache using remote backend (edouardparis)

Pull request description:

  Detected after Manuel failed to have in cache the correct the refresh token. It was not correctly stored after 1h in the settings file because of the wrong datadir.

ACKs for top commit:
  edouardparis:
    Self-ACK 8610afeea635c0ffe91db76fb10ed46e72478d82

Tree-SHA512: 7bb6f1281d4642927dbb4a10183e5551a93137ca5e6cea09b906e23a3789684070fd00395aabe4711205db74ffad715ee8ba5bf7e728bf8c2b8327e3b9c5c329
2024-08-23 17:08:41 +02:00
edouardparis
8610afeea6 fix wrong datadir in app cache using remote backend 2024-08-23 16:56:22 +02:00
edouardparis
9707a58ee2
Merge #1099: Lianalite login
80077905a64b2d804c20a49d190f742a244d7816 Revert ctx state for remote backend when user clicks on previous (edouardparis)
cc57f8f7497c0ed763fdd115a1bd7fcbbd6c9043 fix: load hotsigners even for wallet with remote backend (edouardparis)
26d7e317efe19c62ba8baf6ac889c4fd9f2c6aa9 fix: retrieve wallet_id from settings.json (edouardparis)
0fbba9eaa24bc4fbb0966235415eba1459b7d8bd Add backend section to settings to send invitation (edouardparis)
5e4c04fa809aada59ad67f0ef34a3b4d75e00d6b Add invitation process to add wallet flow (edouardparis)
f7dde3d6ecaae5ef7563e21483c7d689cd14e958 Add redirect_to query parameter to otp request url (edouardparis)
92ee94edbc406016db8916d6cf0773de5e2ab250 Add login page to connect to remote backend (edouardparis)

Pull request description:

  This PR introduce the new login to the remote backend.

  The choice of the used backend is defined per wallet.
  The authentication credentials for the remote backend are stored in the settings.json file.

  ## In the installer

  The choice between two different backends is  showned to the user that can choose to authenticate to the remote backend or use the local bitcoind.

  ## Between the launcher and the app a new temporary panel: login.

  This intermediary state after the choice of network datadir from the user, is used to connect to the remote backend if the wallet information in the settings.json file contains the credentials for the remote backend authentication otherwise the launcher redirects directly to the App state with the embedded daemon running.

ACKs for top commit:
  edouardparis:
    Self-ACK 80077905a64b2d804c20a49d190f742a244d7816

Tree-SHA512: c762ff0610cbd5ed6a7b14a3f65395d358bb5299c00e56990b304e0edfeea00465e8ca65d735942e6a53960c220dcbbf65e598cbc738d8c4e7363b18735690b8
2024-08-22 11:28:31 +02:00
edouardparis
80077905a6 Revert ctx state for remote backend when user clicks on previous 2024-08-21 16:39:48 +02:00
edouardparis
cc57f8f749 fix: load hotsigners even for wallet with remote backend 2024-08-21 16:39:48 +02:00
edouardparis
26d7e317ef fix: retrieve wallet_id from settings.json 2024-08-21 16:39:48 +02:00
edouardparis
0fbba9eaa2 Add backend section to settings to send invitation 2024-08-21 16:39:48 +02:00
edouardparis
5e4c04fa80 Add invitation process to add wallet flow 2024-08-21 16:39:48 +02:00
edouardparis
f7dde3d6ec Add redirect_to query parameter to otp request url
the redirect_to is setup in ordert to give to the supabase html template
that user is using the desktop to authenticate. Therefore, It will display
the token instead of the confirmation link button.
2024-08-20 17:40:51 +02:00
edouardparis
92ee94edbc Add login page to connect to remote backend 2024-08-20 17:40:51 +02:00
edouardparis
224aa66231
Merge #1231: change min window height to 650
208c53814845a9b8a9078c1a3380b5912029100c change min window height to 650 (pythcoiner)

Pull request description:

  fixes #1230

ACKs for top commit:
  edouardparis:
    utACK 208c53814845a9b8a9078c1a3380b5912029100c

Tree-SHA512: ef2cccb0a2def6ca35fada5915a5267483ad57c29094852ee9ad95e22762a806565bd22c6b359d037c701103d8ba5a5b22480c3bef4308ef73c149e579444791
2024-08-19 11:31:32 +02:00
pythcoiner
208c538148 change min window height to 650 2024-08-15 15:34:15 +02:00
edouardparis
39c0458f0b
Merge #1229: fix wrong units in remaining time warning
c70a5cb9fe3c3cc60cbfa5383ce669758627684f fix wrong units in remaining time warning (edouardparis)

Pull request description:

  close #1226

ACKs for top commit:
  edouardparis:
    Self-ACK c70a5cb9fe3c3cc60cbfa5383ce669758627684f

Tree-SHA512: 830772cd3d33ba6809d1a9832f411191812ee52b8c9b43cf280450995c7cf5d423aae2b1c7ee4483da2eccbd6ca3ff7b36a0b5ce26ed4081354d4fe90af69505
2024-08-14 15:22:05 +02:00
edouardparis
c70a5cb9fe fix wrong units in remaining time warning
close #1226
2024-08-14 14:26:53 +02:00
Antoine Poinsot
d2d9d11290
Merge #1214: gui: add the version in the window title bar
79f3f5968f5d97e2588bd9f3a08d9d5b8cbbaefc gui: add the version in the window title bar (pythcoiner)

Pull request description:

  This PR add the version (major+minor) into the window titlebar, for both installer & wallet.
  close #1181

  ![image](https://github.com/user-attachments/assets/f4cc883c-dbae-4128-89ea-c9b047e3b1de)

  ![image](https://github.com/user-attachments/assets/013d5c89-9df1-4883-a014-802b255813b8)

ACKs for top commit:
  darosior:
    ACK 79f3f5968f5d97e2588bd9f3a08d9d5b8cbbaefc

Tree-SHA512: 4044f501f1e05a533f3e7b98163845a9610215ff053267db8792e2bf975f63eefb187e1f6c78210f8f06a8eaac7d91037f1635da914040674d88852cce45332f
2024-08-06 11:17:15 +02:00
pythcoiner
79f3f5968f gui: add the version in the window title bar 2024-08-06 01:46:31 +02:00
Antoine Poinsot
1f8d17e414
Merge #1212: DesKeyChecker.check() => check the change multipath is not hardened
8d495579e1f0b2bd329d3d299e707491c02a31bd lianad: DesKeyChecker.check() => check the change multipath is not hardened (pythcoiner)

Pull request description:

  This PR add a check to verify that the change descriptor is not hardened.
  without this check it allow import of invalid (not  derivable change) multipath like <0;1'> into a LianaDescriptor.

  closes #1183

ACKs for top commit:
  jp1ac4:
    ACK 8d495579e1f0b2bd329d3d299e707491c02a31bd.
  darosior:
    ACK 8d495579e1f0b2bd329d3d299e707491c02a31bd

Tree-SHA512: f003fa7b819fa03f84126794b30371419208f1ab4f9e36df2f640dd1c1d20564db7bf1abb9897942e5c43f12e7547f01f07dabf2e8ad1df2e1a3218616883444
2024-08-05 11:54:31 +02:00
Antoine Poinsot
90df14ce57
Merge #1180: Save transactions in database
bf1e90e0fa7f357dc5fb20c12e454f58433dd898 sqlite: merge two migration tests (jp1ac4)
e8836757c70b67ea08a3091b960ff6164422d2b9 sqlite: add a unit test for migration between v4 and v5 (Antoine Poinsot)
af5fddfc4953eb49cf1cb0e56bbb4c947cc95364 commands: use database for TxGetter (jp1ac4)
a86d12d629c0197b9611b36a1b133cf3f7d41dc8 commands: get wallet transactions from db (jp1ac4)
afa6a5160160e265ae5dd427e9ffe6daea14885b poller: save transactions in database (jp1ac4)
ba4c819918ef218d2732e6614a62500f53b8b000 sqlite: separate DB migration from constructor (Antoine Poinsot)
50e7ffafa4b2ad008e0949e940d00a020b7fa4fa lib: setup the connection to bitcoind before the connection to SQLite. (Antoine Poinsot)

Pull request description:

  This is the first step of https://github.com/wizardsardine/liana/issues/56#issuecomment-2183063784.

  The poller will now save transactions in our own database. These transactions are selected based on the deposit and spend transactions of coins. Only the txid and transaction itself are saved, with the corresponding block height and time taken from the coins table.

  In a couple of follow-up commits, I've replaced some RPC calls to bitcoind with DB queries.

ACKs for top commit:
  darosior:
    re-ACK bf1e90e0fa7f357dc5fb20c12e454f58433dd898

Tree-SHA512: a1d0a6381efe307655b94a3ff257c58e4d921e98a7fa79e5c9f80016c19df761b10266d4122cb290b78424c5e2acefc163683fcfc948950e3c838e39ba31ba57
2024-08-02 12:01:19 +02:00
jp1ac4
bf1e90e0fa
sqlite: merge two migration tests 2024-08-02 10:49:33 +01:00
Antoine Poinsot
e8836757c7
sqlite: add a unit test for migration between v4 and v5 2024-08-02 10:49:32 +01:00
jp1ac4
af5fddfc49
commands: use database for TxGetter 2024-08-02 10:49:32 +01:00
jp1ac4
a86d12d629
commands: get wallet transactions from db 2024-08-02 10:49:31 +01:00
jp1ac4
afa6a51601
poller: save transactions in database
This includes changes from darosior's commits:
3e7d968508a71ffa740576d6bf9432611e78f4a5
e2225a5110ca981c340eef329182e702b375b55f
2024-08-02 09:41:16 +01:00
Antoine Poinsot
ba4c819918
sqlite: separate DB migration from constructor
This is a slightly modified version of darosior's commit:
d826f9fa6336de6eb293a85af044c2c95550cfb5
2024-08-02 09:39:31 +01:00
pythcoiner
8d495579e1 lianad: DesKeyChecker.check() => check the change multipath is not hardened 2024-08-02 07:08:38 +02:00
edouardparis
b94796828d
Merge #1219: GUI: Fix amount rendering
e79674972d668d823d582cb01923af8598cbe674 gui: remove extra spacing for amounts and default amounts which don't contain a non-zero character to 0.00000000 (Aaron Carlucci)

Pull request description:

  This PR attempts to address #1218 by removing extra spacing for amount rendering and making the default for amounts which don' contain a non-zero character to "0.00000000".

ACKs for top commit:
  edouardparis:
    ACK e79674972d668d823d582cb01923af8598cbe674

Tree-SHA512: f9b9e957760139251c4786679fc808447909f80ab2274f6b21222d840418f5d2b79faff759a66d7a36f05ababedab42a7aba85a5ea8a3f4586713b0c873e96d9
2024-08-01 10:07:45 +02:00
Aaron Carlucci
e79674972d gui: remove extra spacing for amounts and default amounts which don't contain a non-zero character to 0.00000000 2024-07-31 11:01:04 +02:00
Antoine Poinsot
50e7ffafa4
lib: setup the connection to bitcoind before the connection to SQLite. 2024-07-30 13:18:11 +01:00
edouardparis
0de58cf3b7
Merge #1198: GUI: Refactor amount formatting
59035060e9b2b911809fdc225bfa862244f5f6d6 gui: refactor amount formatting (Aaron Carlucci)
c6b8133286a4009cc1e72935e30af36d43705237 gui: add space separator to amount integer (Aaron Carlucci)

Pull request description:

  This PR is based on #1182 and aims to actually refactor the amount component while adding a space separator to the integer portion of BTC amount displays as per #962.

  The code organization is reworked to try and separate the conversion of `bitcoin::Amount` type to a `iced` renderable `Row` elements in steps via smaller functions by:

  1. Converting the `Amount` type to a string with the integer and fraction portions formatted in space-separated three digit chunks.
  2. Detecting where in that string the non-zero BTC amount occurs
  3. Converting the string into parts and rendering the preceding zeros and spaces with normal styling while applying a bold `Row` render element for the significant amount.

  To me, this approach makes the code easier to read and is a small step toward separating the string formatting functionality from the render element building. If we find more bugs with this approach, or the team simply doesn't like the reorganization, it's fine to scrap it, as it was a decent learning exercise anyway. Looking forward to feedback.

ACKs for top commit:
  edouardparis:
    ACK 59035060e9b2b911809fdc225bfa862244f5f6d6

Tree-SHA512: d71b94cf261cf799891239da3795dae49d2b22ebc888b2d3400fbf754f84df6620fcdeb6b6594ef99e4de8a67089181ac8598bdc7a4aba3e71c16d89ccb63fae
2024-07-29 18:45:29 +02:00
Aaron Carlucci
59035060e9 gui: refactor amount formatting 2024-07-29 18:06:47 +02:00
Antoine Poinsot
b2aeafab56
Merge #1186: Add minimum feerate to TooLowFeerate error message
8be0d9856b29eb30593ae7614fe74430ffd206d4 commands: add minimum feerate to TooLowFeerate error message (Aaron Carlucci)

Pull request description:

  This PR adds the minimum feerate value into the `TooLowFeerate` error message for additional context. Addresses the second bullet point in #853.

ACKs for top commit:
  jp1ac4:
    ACK 8be0d9856b29eb30593ae7614fe74430ffd206d4. Thanks!

Tree-SHA512: 3a0e9c69ddb40433faf1e58c16dfee0212641b34478eddeda99388ebf82e2fb466633ab8f79c9bb0bb784f4a46807aa0a5abd65b9d92506144b84addb01dfdd8
2024-07-29 13:53:27 +02:00
Antoine Poinsot
b9d04a55f2
Merge #1207: gui: in DefineSpend.update() call check_valid() if Coins updated
6dd3b6a3a9f0426b67e167de38b5baa09ee58fda gui: in DefineSpend.update() call check_valid() if Coins updated (pythcoiner)

Pull request description:

  close #1167

ACKs for top commit:
  jp1ac4:
    Tested ACK 6dd3b6a3a9f0426b67e167de38b5baa09ee58fda.

Tree-SHA512: f6c5f057756d5a4c1a767eaf65303146c696bacd1d6910125fdaf070b0eafbfc9bf2836cf2c4b3f6434e253e045b5736fb65bc297ecd2b52b23df1c8509f4c1f
2024-07-29 13:49:29 +02:00
Antoine Poinsot
95258380d8
Merge #1205: gui: bump bicoind version to 27.1
2514d0dedba61b6a9f546bedbe122c30614d7a52 gui: bump bicoind version to 27.1 (pythcoiner)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK 2514d0dedba61b6a9f546bedbe122c30614d7a52.

Tree-SHA512: 28245c41dddce543b6ebdb81f423f503e64fff3da42777d5e71b085ff9cae86a340f1218bb8e2ac77e351637426a4a95efc576906d282720e61c509592b01d19
2024-07-29 13:48:18 +02:00
Antoine Poinsot
6c52e28c7e
Merge #1210: gui: app::view::psbt::change_view() display amount and address 2 rows
ea47088195337580bbc53b322b6632562743ec44 gui: app::view::psbt::change_view() display amount and address in separate rows (pythcoiner)

Pull request description:

  ![image](https://github.com/user-attachments/assets/c0a3ac45-6fee-4661-9521-dfd2c77d8b66)
  close #1192

ACKs for top commit:
  jp1ac4:
    Tested ACK ea47088195337580bbc53b322b6632562743ec44.

Tree-SHA512: b8466638c1cc59ebe3a9568cdd4d98f80f6a797d7bb2e0052e40b62461e7978c353990a5e8d2c31c216c0fb3514ca50b68902fae57f34255eaf265ef9bb5357e
2024-07-29 13:46:47 +02:00
Antoine Poinsot
bb68fb5ec1
Merge #1092: spend: randomized anti-fee sniping
f2791744d8ad3068d12a39bb07f3745012785a5f spend: set locktime for anti-fee sniping (jp1ac4)

Pull request description:

  This is to resolve #44.

  In the first commit, I combine the destinations and change parameters in `spend::create_spend` in order to avoid "too many arguments" error when adding a new parameter. I think these two parameters combine naturally so that `destinations` includes both recipients and change address.

  The second commit sets locktime following the same approach as Bitcoin Core:
  - locktime is set to current tip height, but randomly (about 10% of cases) value is set up to 100 blocks earlier
  - if tip is more than 8 hours old, locktime is set to 0

  For randomness, I'm currently using the current time's milliseconds in order not to add another dependency, which I think is good enough for this use case.

  For consistency, I decided to use "locktime" everywhere instead of "lock time" or "lock-time".

ACKs for top commit:
  darosior:
    ACK f2791744d8ad3068d12a39bb07f3745012785a5f

Tree-SHA512: 69a57cf664e24b32a835c35eaf9016961b2d0f396891a826582044e6302b2ca04dcf5bf2617b5e18dcbfa25cc254a6e8025262718984095677c829ce051a66cc
2024-07-29 12:32:29 +02:00
edouardparis
749581afe4
Merge #1204: doc: update signing device support & versions for taproot
a94138ebb3ed8de92dea75f850fc0f573e7b4652 doc: update signing device support & versions for taproot (pythcoiner)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK a94138ebb3ed8de92dea75f850fc0f573e7b4652.

Tree-SHA512: 3c68c113a187bca0619bc01b7489e62106f3940cfb2ac6c71a7f5f329ba9651ca130a1ffffa39f861b1143ba845b0e740020bab8f2a383e469d57621b1f489a7
2024-07-23 12:15:32 +02:00
pythcoiner
2514d0dedb gui: bump bicoind version to 27.1 2024-07-23 04:38:28 +02:00
pythcoiner
a94138ebb3 doc: update signing device support & versions for taproot 2024-07-19 18:47:42 +02:00
edouardparis
ee9cfb9b73
Merge #1211: Add list of words for new generated mnemonic in share xpubs panel
c638350eb9c69c6375ae9c59599e3604c4387d9a Add list of words for new generated mnemonic in share xpubs panel (edouardparis)

Pull request description:

  Because the share xpubs is not anymore a install process, no information is stored. If user want to generate a new mnemonic and share it xpubs he must be aware that he has to backup it.
  ![20240719_15h22m12s_grim](https://github.com/user-attachments/assets/2caacffd-1698-422e-9cd3-c5cf4aee795a)

  close #1203

ACKs for top commit:
  jp1ac4:
    Tested ACK c638350eb9.

Tree-SHA512: 616d208e4923a442dc4b0306a157fe069679b8b78f28cb0ba0b2ad075f811ba527e84d48ff45e706cb0d62c68d56b761f50d4993bc76c3365b9579888b8c26f8
2024-07-19 16:05:48 +02:00
edouardparis
c638350eb9 Add list of words for new generated mnemonic in share xpubs panel
close #1203
2024-07-19 15:56:55 +02:00
pythcoiner
ea47088195 gui: app::view::psbt::change_view() display amount and address in separate rows 2024-07-19 07:00:25 +02:00
pythcoiner
6dd3b6a3a9 gui: in DefineSpend.update() call check_valid() if Coins updated 2024-07-19 04:24:25 +02:00