Commit Graph

111 Commits

Author SHA1 Message Date
Alekos Filini
f3caf4a279
Bump version to 0.11.0
Some checks failed
CI / Test (push) Has been cancelled
2022-08-30 18:26:51 +02:00
Alekos Filini
cdfc21bd6a
Merge bitcoindevkit/rust-electrum-client#84: Use idiomatic rust for the raw_call method
fc8ba9de90 Use idiomatic rust for the `raw_call` method (Alekos Filini)

Pull request description:

ACKs for top commit:
  danielabrozzoni:
    tACK fc8ba9de90

Tree-SHA512: 1b2e92eff78df5b9fe3e6d9121af7c090e27e25aecd39187e6983252b288e0109350603d175ded2cf25365d6a85601ad4da5d8495c9943fe27280c36fe5f0c49
2022-08-30 18:25:29 +02:00
Alekos Filini
fc8ba9de90
Use idiomatic rust for the raw_call method 2022-08-30 12:58:44 +02:00
Alekos Filini
9994f8a2e1
Merge bitcoindevkit/rust-electrum-client#83: Revert "Ignore empty lines"
cbda7a22db Revert "Ignore empty lines" (Alekos Filini)

Pull request description:

  This reverts commit 0e3e6325e6.

  This has been causing issues with tests timing out

ACKs for top commit:
  notmandatory:
    utACK cbda7a22db

Tree-SHA512: ff683e16e623e71f017a361dc85e12fd7ea23d8ebd0f0616dd543aa3b12645540ae82f7eaab233dd846f5e802540064ce6a56e056d225a79e5347d730a736926
2022-08-30 12:57:17 +02:00
Alekos Filini
cbda7a22db
Revert "Ignore empty lines"
This reverts commit 0e3e6325e6.

This has been causing issues with tests timing out
2022-08-24 14:35:38 +02:00
Alekos Filini
7e40dfd441
Merge bitcoindevkit/rust-electrum-client#80: Client: Drop script subscriptions to free lock
aa0b957818 Client: Drop script subscriptions to free lock (Sebastian Kung)

Pull request description:

  This fixes a supposed deadlock when the reader thread receives a script subscription notification from the server before it receives a subscribing response.

  I am not 100% sure if this actually fixes a deadlock, but I ran into this in a regtest setup where a bunch of subscriptions were made, while some script notifications could be processed in parallel. My test failed sporadically with the electrum client locking up completely and adding this drop made the tests consistently pass again.

ACKs for top commit:
  afilini:
    ACK aa0b957818, makes a lot of sense!

Tree-SHA512: b1bbea71fb56a189081b9aa602f768ef50d349a6ad6f3a3f64264259954a541fee85cad84461afeafe1ba17e11950c18fdcadb7c47a5fa1b3ce2fa2ac1cdcdc0
2022-08-18 11:42:34 +02:00
Alekos Filini
c34fde5698
Revert "Handle EOF in the reader thread"
This reverts commit acc05c3666 which
caused many failures in BDK. It was released as part of `0.10.3`, which
has now been yanked from crates.io
2022-08-18 11:39:56 +02:00
Sebastian Kung
aa0b957818
Client: Drop script subscriptions to free lock
This fixes a supposed deadlock when the reader thread receives a script
subscription notification from the server before it receives a
subscribing response
2022-08-16 22:21:47 +02:00
Alekos Filini
737cedb74e
Make the socks module public 2022-08-08 11:52:26 +02:00
Alekos Filini
a148dfb9d1
Merge bitcoindevkit/rust-electrum-client#76: Implement timeout for socks connection
7493630ed8 Implement timeout for socks connection (Riccardo Casatta)

Pull request description:

  To achieve this we have to include a modified socks library, with supports for
  timeout

  Remove the error `BothSocksAndTimeout` which isn't needed anymore

ACKs for top commit:
  afilini:
    ACK 7493630ed8

Tree-SHA512: ec1b1eba739bd954ba7811eef603cf60f3ba29d7efcf98a9eadc8dcb9b67a49fce364760718faf7b860e78b7f9eebdc4da65783e7af47792573d32cd6c76ff10
2022-08-08 11:51:00 +02:00
Alekos Filini
195d23accd
Bump version to 0.10.3 2022-08-08 11:38:27 +02:00
Alekos Filini
0d77c1860f
Merge bitcoindevkit/rust-electrum-client#78: Handle EOF in the reader thread
acc05c3666 Handle EOF in the reader thread (Alekos Filini)

Pull request description:

  Instead of ignoring empty lines we should return an error, because it means we are at EOF.

  Fixes #70 and hopefully also #67

ACKs for top commit:
  RCasatta:
    ACK acc05c3666

Tree-SHA512: e92b27610c91a419cc0f71ecd77205fdaeed592b50e38c42fd8cde805773f4e9e8eeda75ba14f73002d6ae20a70986f981741e6a69d1a89cf61971c174614951
2022-08-08 11:32:41 +02:00
Alekos Filini
acc05c3666
Handle EOF in the reader thread 2022-08-03 11:24:41 +02:00
Riccardo Casatta
7493630ed8
Implement timeout for socks connection
To achieve this we have to include a modified socks library, with supports for
timeout

Remove the error `BothSocksAndTimeout` which isn't needed anymore
2022-08-02 14:52:47 +02:00
Alekos Filini
d9668c86f4
Bump version to 0.10.2
Some checks failed
CI / Test (push) Has been cancelled
2022-08-01 12:32:49 +02:00
Alekos Filini
e9bee5a46d
Merge bitcoindevkit/rust-electrum-client#73: Update build badge to use GitHub badge
d8e339c4c1 Update build badge to use GitHub badge (dandroid)

Pull request description:

  The current build badge using Travis is not working anymore.
  This PR uses the badge from GitHub instead.

ACKs for top commit:
  afilini:
    ACK d8e339c4c1

Tree-SHA512: c08b5dc4b0d6bc0915843d95bfcf84c62317bb8a210f219feca31ce622b2f2b1241ae7987f5c395a980c6b2b3defc48227d43e8491e1adeafadc6e71ecde0db1
2022-08-01 12:31:01 +02:00
Alekos Filini
e1c20b8a0a
Merge bitcoindevkit/rust-electrum-client#74: Add raw_call to ElectrumApi
3d96644a0f Add raw_call to ElectrumApi (Zoe Faltibà)

Pull request description:

  In order to give more flexibility to the users of this library I added a `raw_call` method to the `ElectrumApi` trait that will allow to call any arbitrary electrum API call.

ACKs for top commit:
  afilini:
    ACK 3d96644a0f

Tree-SHA512: b88ece7bd9ff8121272c3b3528430e9ccb8778661b15cce276c6f67a8797a4dbf4c52a8521191942c21e8b67ebde8187fd75ac49189440b0fbb71274974b4b41
2022-08-01 12:30:05 +02:00
Zoe Faltibà
3d96644a0f
Add raw_call to ElectrumApi 2022-07-27 15:06:47 +02:00
dandroid
d8e339c4c1 Update build badge to use GitHub badge 2022-07-24 15:46:34 +02:00
Alekos Filini
ca48628539
Merge bitcoindevkit/rust-electrum-client#72: doc: s/Satoshi/Bitcoin
29d77de2f5 doc: s/Satoshi/Bitcoin (zkao)

Pull request description:

  Unit was wrong in the docs

ACKs for top commit:
  afilini:
    ACK 29d77de2f5

Tree-SHA512: a172647cb3c7dc55444f89f9b05832c2b073fc6062c439719bb5c4aecc739be20592ee93111ecee491b0b37e0a0c49f7c3c331a1099bbd6070711d9f5ae0c093
2022-07-15 12:48:39 +02:00
zkao
29d77de2f5
doc: s/Satoshi/Bitcoin
Unit was wrong in the docs
2022-07-13 20:07:08 +02:00
Alekos Filini
e9a7fba7a9
Merge bitcoindevkit/rust-electrum-client#71: Add Config::builder method
aea9da234b Add `Config::builder` method (志宇)

Pull request description:

  The intention is to reduce some confusion on how to manipulate `Config`.
  The alternative is to make `Config` fields public.

ACKs for top commit:
  afilini:
    ACK aea9da234b

Tree-SHA512: 4077e821260c8f6e4bc32a66548e11b1091d384988b392c981102dc3c198a5040831c5feb13b1f7b1a88fd3890d7c44c7516b94f4c2e9cbbc551581c8c72d803
2022-06-28 10:47:58 +02:00
志宇
aea9da234b
Add Config::builder method
The intention is to reduce some confusion on how to manipulate Config.
The alternative is to make Config fields public.
2022-06-24 20:23:54 +08:00
Alekos Filini
866c2424e1
Bump version to 0.10.1
Some checks failed
CI / Test (push) Has been cancelled
2022-06-08 11:13:15 +02:00
Alekos Filini
2ecd93b9b3
Merge bitcoindevkit/rust-electrum-client#68: Ignore empty lines
0e3e6325e6 Ignore empty lines (Alekos Filini)

Pull request description:

  Fixes #67

Top commit has no ACKs.

Tree-SHA512: da61610be72dc80fa0e25eb4bdd7ea9e5d9816f1b5eb51a198e09ac95a27284206228a174e67038894bc83892622548c4eb7c13b33b1f261802804bffd35ece6
2022-06-08 11:12:42 +02:00
Alekos Filini
0e3e6325e6
Ignore empty lines
Fixes #67
2022-06-01 09:55:42 +02:00
Alekos Filini
19f00a576c
Release 0.10.0
Some checks failed
CI / Test (push) Has been cancelled
2022-04-26 14:17:41 +02:00
Alekos Filini
5c8555c2f6
Release 0.10.0-rc.2
Some checks failed
CI / Test (push) Has been cancelled
2022-04-19 11:19:57 +02:00
Alekos Filini
4732dcc424
Release 0.9.0
Some checks failed
CI / Test (push) Has been cancelled
2022-03-24 11:51:18 +01:00
Alekos Filini
8b32726335
Merge bitcoindevkit/rust-electrum-client#62: Upgrade rustls and webpki version
68d2f23306 Upgrade rustls and webpki version (Thomas Eizinger)

Pull request description:

ACKs for top commit:
  afilini:
    ACK 68d2f23306

Tree-SHA512: 3578954d6629470742fec326525fb34377380c429ff51d5f15e128045161fc6fba4852a22089c2fa9e6bfa7c35ffbaf06eadb0f457fbcb414d15962b9283cd64
2022-03-24 11:50:28 +01:00
Thomas Eizinger
68d2f23306
Upgrade rustls and webpki version 2022-03-24 16:18:45 +11:00
Alekos Filini
98e1bf205c
Release 0.8.0
Some checks failed
CI / Test (push) Has been cancelled
2021-08-03 10:44:03 +03:00
Sandipan Dey
f012323274
bump rust-bitcoin to v0.27 2021-07-27 11:19:35 +05:30
Alekos Filini
47053c0302
Remove unused import 2021-04-13 09:13:59 +02:00
Dr Maxim Orlovsky
cfc7bfe037
Improving RawClient::batch_call after review suggestion 2021-04-12 15:39:35 +02:00
Dr Maxim Orlovsky
d64aaffb3f
Streamlining batch_call and removing unnecessary unwraps() 2021-04-06 14:31:36 +02:00
Alekos Filini
d5766abb8e
Merge commit 'refs/pull/52/head' of github.com:bitcoindevkit/rust-electrum-client 2021-03-19 20:32:38 +01:00
Riccardo Casatta
f30c37b69f
expose Config 2021-03-19 14:58:16 +01:00
Dr Maxim Orlovsky
7776ec0732
Improving error handing according to #33 comments 2021-02-22 15:29:05 +01:00
Dr Maxim Orlovsky
e7eab4f77a
Getting rid of all expect()'s 2021-02-22 15:17:42 +01:00
Dr Maxim Orlovsky
88e92af429
Getting rid of lock().unwrap() 2021-02-22 15:14:50 +01:00
Alekos Filini
e3aa6a5a73
Release 0.7.0
Some checks failed
CI / Test (push) Has been cancelled
2021-02-22 15:11:17 +01:00
Alekos Filini
f30be3bfde
Add a test for connection timeouts 2021-02-22 14:51:25 +01:00
Alekos Filini
fa9359cf73
Implement timeouts when there are multiple socket addrs 2021-02-22 14:47:23 +01:00
Dr Maxim Orlovsky
25dc3fa5e5
Fix CI testing for all features 2021-02-22 12:56:48 +01:00
Alekos Filini
d46ba79972
Merge commit 'refs/pull/48/head' of github.com:bitcoindevkit/rust-electrum-client 2021-02-22 11:43:17 +01:00
Alekos Filini
078e513f62
Make unconfirmed an i64
Some servers like electrs return the unconfirmed balance for an address as a
negative value.

Closes #45
2021-02-22 09:49:42 +01:00
Thomas Eizinger
c8bace9407
Apply new retry logic also to re-creating client 2021-02-18 15:56:51 +11:00
Thomas Eizinger
cb9b51f356
Don't cast usize to u8 but deal with the overflow properly 2021-02-17 12:15:56 +11:00
Thomas Eizinger
2652016f99
Improve logging in case of call failure
Previously, we were logging the retry attempt before we even evaluated
whether or not we are going to retry again. Instead, we now compute
the number of failed attempts and either log and bail from the function
or inform the user that we are going to retry the call.

We also include the name of the failed call and the reason why it failed
in case we are retrying it. Once we have exhausted the the number of
retries, we return all errors anyway so there is no reason to log them.
It is up to the caller to perform error handling.
2021-02-16 11:33:13 +11:00