Commit Graph

81 Commits

Author SHA1 Message Date
junderw
dceb659a3d
Update README and rename lib to mempool-electrs 2023-10-14 20:35:53 -07:00
junderw
b21d2acbf2
Merge remote-tracking branch 'origin/mempool' into junderw/housekeeping 2023-07-22 22:26:07 -07:00
wiz
7bca3033db
Merge branch 'mempool' into feat/add-params 2023-07-23 14:11:50 +09:00
junderw
06cf2ff96d
Remove deprecated rust-crypto dependency 2023-07-17 21:12:12 -07:00
junderw
e847c5cf4d
Remove oldcpu feature and update rocksdb dependency 2023-07-17 20:56:53 -07:00
wiz
660a6c56b9
Bump version to 3.0.0-dev 2023-07-16 22:57:37 +09:00
junderw
c7dcc99f58
Move Mempool.recent from ArrayDeque to BoundedVecDeque 2023-07-13 18:34:46 +09:00
junderw
a9a53f1c71
Bump version to match mempool 2023-07-02 08:20:39 -07:00
Nadav Ivgi
a808b51d0d Update to rust-elements v0.19.1
The EBCompact compatibility trait is no longer necessary, the `get`
prefix was removed in https://github.com/ElementsProject/rust-elements/pull/128
2022-06-22 21:47:04 +03:00
Nadav Ivgi
29245679ef Update to rust-elements v0.19
And fix some compatibility issues with the changes introduced in
rust-bitcoin v0.28.
2022-06-22 21:47:04 +03:00
Nadav Ivgi
93fff344d4 Update rust-bitcoin to v0.28 2022-06-22 21:47:04 +03:00
Nadav Ivgi
3483d23fc2 Update crates 2022-06-22 21:47:04 +03:00
Nadav Ivgi
253040e346
Update rust-elements to current master 2022-01-12 22:37:55 +02:00
Nadav Ivgi
9484291687 Upgrade rust-elements and rust-bitcoin back up
Using rust-elements from github, pending the release of
https://github.com/ElementsProject/rust-elements/pull/98

They were originally downgraded in e3a819e074.
2021-11-09 09:17:23 +02:00
Nadav Ivgi
e3a819e074
Downgrade to rust-elements v0.16.0
A regression introduced in v0.17.0 made `Value` incompatible with
bincode: https://github.com/ElementsProject/rust-elements/pull/96

This also requires downgrading rust-bitcoin to v0.26, to match the
version used by rust-elements.

This reverts commit df99d5e47f.
2021-10-09 10:05:17 +03:00
Nadav Ivgi
e03e24b3ca
Update rust-rocksdb to v0.17.0
This updates rocksdb itself from v6.11.4 to v6.20.3.
2021-08-25 20:19:58 +03:00
Nadav Ivgi
df99d5e47f
Update to rust-bitcoin v0.27 & rust-elements v0.18 2021-08-23 02:41:29 +03:00
Nadav Ivgi
5c408c56d5
Update rust-electrum-client to v0.8 2021-08-23 02:41:28 +03:00
Nadav Ivgi
9ec7dbdb16
Minor/major version bumps for cargo dependencies
itertools, socket2, prometheus, signal-hook, time, tiny_http, hyper, hyperlocal and tokio
2021-08-23 02:41:05 +03:00
Nadav Ivgi
22014acd9e
Patch version bumps for cargo dependencies 2021-08-23 02:40:03 +03:00
Nadav Ivgi
617f16d53b
Update to rust-elements v0.16
It depends on the latest rust-bitcoin v0.26 release,
making the conditional rust-bitcoin dependency unnecessary.
2021-08-19 23:55:46 +03:00
Nadav Ivgi
2784463cd4
Use rust-bitcoin v0.26 when not in liquid mode
Or stick with v0.25 when we are, for compatibility with rust-elements.
2021-08-19 23:55:45 +03:00
Nadav Ivgi
6b7416b441
Upgrade to rust-bitcoin v0.25 and elements v0.15 2021-08-19 23:55:42 +03:00
Nadav Ivgi
65e20f9e11
Update crate dependencies
tokio and hyper were not upgraded because hyperlocal doesn't support
their latest versions.
2020-12-19 19:31:48 +02:00
Nadav Ivgi
ced451df89
Switch to signal-hook crate from deprecated chan-signal
Backported from upstream electrs: 2286efba87
2020-08-05 13:59:17 +03:00
Nadav Ivgi
0dac813544
Don't deadlock when shutting down
Backported from upstream electrs:

- a3bfdda32a
- 0f3aaa6671
2020-08-05 13:24:29 +03:00
Nadav Ivgi
44a9d0b671
Replace async-std::task -> tokio::task 2020-07-08 00:55:08 +03:00
GreenAddress
2fdafa3971
Add support for binding the HTTP server on a unix socket (#26)
* use socket file if passed in

* fixup

* cargo fmt

* Typing fixups

* Hide the --http-socket-file option on non-unix systems

Co-authored-by: Nadav Ivgi <nadav@shesek.info>
2020-07-08 00:16:05 +03:00
Nadav Ivgi
e74851f8a5
Run cargo update 2020-07-07 20:10:06 +03:00
Nadav Ivgi
51b2a8e655
Update direct crate dependencies 2020-07-07 20:09:55 +03:00
Nadav Ivgi
710bfa9335
Upgrade to hyper v0.13 with tokio v0.2 2020-07-07 20:09:18 +03:00
Riccardo Casatta
8c910be322
set backlog size to 511
adds socket2 crates so that we have access to more settings of the underlying
socket.
2020-07-07 11:54:53 +02:00
Riccardo Casatta
ec1527e33b
remove unused lru dep 2020-07-06 15:47:31 +02:00
Riccardo Casatta
1876c8a3f1 increase rocksdb version to 0.14.0 2020-07-06 15:38:37 +02:00
Riccardo Casatta
5ca999a75d remove unused dep 2020-07-06 13:49:55 +02:00
Nadav Ivgi
ad921b69f3
electrum: Announce ourselves to the servers we're connecting to 2020-06-22 08:42:26 +03:00
Nadav Ivgi
8306b2f87c
Implement Electrum server discovery
Adds the `server.add_peer` and `server.peers.subscribe` RPC commands to
support discovery of other servers, with a mechanism for running
scheduled health checks and verifying the servers availability.
2020-06-16 15:55:17 +03:00
Nadav Ivgi
93b116e7e2 Use newly added AssetId::from_slice() 2020-04-21 20:41:46 +03:00
Nadav Ivgi
9942b11a7a
Use rust-elements's ContractHash
Introduced in https://github.com/ElementsProject/rust-elements/pull/48
2020-04-07 10:29:41 +03:00
Nadav Ivgi
89cd06ce91
AssetId all the things
Made easier by https://github.com/ElementsProject/rust-elements/pull/46
2020-04-06 11:00:07 +03:00
Nadav Ivgi
7cf76bebd6
liquid fix: Match against network native asset and parent genesis hash
- The peg in/out indexer now only indexes peg-outs to the known parent genesis hash,
  ignoring peg-outs to unknown parent chains. This matches the existing behaviour of PegoutValue::parse()
  (used to decide whether to include peg-out info as part of the tx json in api replied).

- The peg in/out indexer now only indexes pegs of the chain's native asset id,
  ignoring user-issued or otherwise unknown assets. PegoutValue was similarly updated.

- Fee calculation now only takes into account fees paid with the chain's native asset,
  using rust-elements's new Transaction::fee_in().

- The issued asset indexer now uses the native asset associated with the configured network.

Still some messy code around for dealing with the different asset id representations (AssetId vs sha256d::Hash),
will be cleaned up in the next commit alongside an update for rust-elements.
2020-04-06 10:07:07 +03:00
Nadav Ivgi
76fd2ce37c
Switch to upstream elementsproject/rust-elements
202003-block-size-weight was merged, but still not included in a release.
2020-04-01 23:14:27 +03:00
Nadav Ivgi
3a48cdeea1
Use shesek/rust-elements#bab177bb9 2020-03-30 12:02:56 +03:00
Nadav Ivgi
71c2854564
Use shesek/rust-elements with a specific commit hash 2020-03-26 20:07:32 +02:00
Nadav Ivgi
20c143171e
Use shesek/rust-elements#202003-block-size-weight
Required for Block.get_{size,weight}
2020-03-26 02:56:54 +02:00
Nadav Ivgi
d6b9df2273
Use rust-bitcoin's {Block,Transaction}::get_{size,weight}. This:
- Fixes a bug in block weight calculation, which didn't take the size of the block
  header and tx count varint into account.

- Avoids re-serializing blocks in order to determine their size during the indexing process.

- Avoids re-serializing transactions in order to include their size in API responses.

This depends on two unmerged PRs that are implemented in blockstream/rust-bitcoin#0.23-electrs:

https://github.com/rust-bitcoin/rust-bitcoin/pull/416
https://github.com/rust-bitcoin/rust-bitcoin/pull/417
2020-03-24 14:51:06 +02:00
Nadav Ivgi
cfe94306e2
Add support for bitcoind-style merkleblock SPV proofs
Available as GET /tx/:txid/merkleblock-proof

Not currently available for Elements/Liquid chains.

Closes #24, refs #169
2020-03-21 16:08:27 +02:00
Nadav Ivgi
a03813d281
Add "oldcpu" feature to switch to rocksdb v0.12
The v0.13 release does not work well with some old CPU models, see:

https://github.com/romanz/electrs/issues/193
https://github.com/rust-rocksdb/rust-rocksdb/issues/327
https://github.com/rust-rocksdb/rust-rocksdb/issues/363
2020-03-18 16:30:49 +02:00
Nadav Ivgi
ee4018e1cd
Update rocksdb to v0.13.0 2020-03-18 16:25:48 +02:00
Nadav Ivgi
e5df0aa69d
Update crate dependencies 2020-03-18 09:23:58 +02:00