Skip to content

Commit 7784086

Browse files
committed
Merge tag 'v0.0.114' into e496878
0.0.114 - Mar 3, 2023 - "Faster Async BOLT12 Retries" API Updates =========== * `InvoicePayer` has been removed and its features moved directly into `ChannelManager`. As such it now requires a simplified `Router` and supports `send_payment_with_retry` (and friends). `ChannelManager::retry_payment` was removed in favor of the automated retries. Invoice payment utilities in `lightning-invoice` now call the new code (lightningdevkit#1812, lightningdevkit#1916, lightningdevkit#1929, lightningdevkit#2007, etc). * `Sign`/`BaseSign` has been renamed `ChannelSigner`, with `EcdsaChannelSigner` split out in anticipation of future schnorr/taproot support (lightningdevkit#1967). * The catch-all `KeysInterface` was split into `EntropySource`, `NodeSigner`, and `SignerProvider`. `KeysManager` implements all three (lightningdevkit#1910, lightningdevkit#1930). * `KeysInterface::get_node_secret` is now `KeysManager::get_node_secret_key` and is no longer required for external signers (lightningdevkit#1951, lightningdevkit#2070). * A `lightning-transaction-sync` crate has been added which implements keeping LDK in sync with the chain via an esplora server (lightningdevkit#1870). Note that it can only be used on nodes that *never* ran a previous version of LDK. * `Score` is updated in `BackgroundProcessor` instead of via `Router` (lightningdevkit#1996). * `ChainAccess::get_utxo` (now `UtxoAccess`) can now be resolved async (lightningdevkit#1980). * BOLT12 `Offer`, `InvoiceRequest`, `Invoice` and `Refund` structs as well as associated builders have been added. Such invoices cannot yet be paid due to missing support for blinded path payments (lightningdevkit#1927, lightningdevkit#1908, lightningdevkit#1926). * A `lightning-custom-message` crate has been added to make combining multiple custom messages into one enum/handler easier (lightningdevkit#1832). * `Event::PaymentPathFailure` is now generated for failure to send an HTLC over the first hop on our local channel (lightningdevkit#2014, lightningdevkit#2043). * `lightning-net-tokio` no longer requires an `Arc` on `PeerManager` (lightningdevkit#1968). * `ChannelManager::list_recent_payments` was added (lightningdevkit#1873). * `lightning-background-processor` `std` is now optional in async mode (lightningdevkit#1962). * `create_phantom_invoice` can now be used in `no-std` (lightningdevkit#1985). * The required final CLTV delta on inbound payments is now configurable (lightningdevkit#1878) * bitcoind RPC error code and message are now surfaced in `block-sync` (lightningdevkit#2057). * Get `historical_estimated_channel_liquidity_probabilities` was added (lightningdevkit#1961). * `ChannelManager::fail_htlc_backwards_with_reason` was added (lightningdevkit#1948). * Macros which implement serialization using TLVs or straight writing of struct fields are now public (lightningdevkit#1823, lightningdevkit#1976, lightningdevkit#1977). Backwards Compatibility ======================= * Any inbound payments with a custom final CLTV delta will be rejected by LDK if you downgrade prior to receipt (lightningdevkit#1878). * `Event::PaymentPathFailed::network_update` will always be `None` if an 0.0.114-generated event is read by a prior version of LDK (lightningdevkit#2043). * `Event::PaymentPathFailed::all_paths_removed` will always be false if an 0.0.114-generated event is read by a prior version of LDK. Users who rely on it to determine payment retries should migrate to `Event::PaymentFailed`, in a separate release prior to upgrading to LDK 0.0.114 if downgrading is supported (lightningdevkit#2043). Performance Improvements ======================== * Channel data is now stored per-peer and channel updates across multiple peers can be operated on simultaneously (lightningdevkit#1507). * Routefinding is roughly 1.5x faster (lightningdevkit#1799). * Deserializing a `NetworkGraph` is roughly 6x faster (lightningdevkit#2016). * Memory usage for a `NetworkGraph` has been reduced substantially (lightningdevkit#2040). * `KeysInterface::get_secure_random_bytes` is roughly 200x faster (lightningdevkit#1974). Bug Fixes ========= * Fixed a bug where a delay in processing a `PaymentSent` event longer than the time taken to persist a `ChannelMonitor` update, when occurring immediately prior to a crash, may result in the `PaymentSent` event being lost (lightningdevkit#2048). * Fixed spurious rejections of rapid gossip sync data when the graph has been updated by other means between gossip syncs (lightningdevkit#2046). * Fixed a panic in `KeysManager` when the high bit of `starting_time_nanos` is set (lightningdevkit#1935). * Resolved an issue where the `ChannelManager::get_persistable_update_future` future would fail to wake until a second notification occurs (lightningdevkit#2064). * Resolved a memory leak when using `ChannelManager::send_probe` (lightningdevkit#2037). * Fixed a deadlock on some platforms at least when using async `ChannelMonitor` updating (lightningdevkit#2006). * Removed debug-only assertions which were reachable in threaded code (lightningdevkit#1964). * In some cases when payment sending fails on our local channel retries no longer take the same path and thus never succeed (lightningdevkit#2014). * Retries for spontaneous payments have been fixed (lightningdevkit#2002). * Return an `Err` if `lightning-persister` fails to read the directory listing rather than panicing (lightningdevkit#1943). * `peer_disconnected` will now never be called without `peer_connected` (lightningdevkit#2035) Security ======== 0.0.114 fixes several denial-of-service vulnerabilities which are reachable from untrusted input from channel counterparties or in deployments accepting inbound connections or channels. It also fixes a denial-of-service vulnerability in rare cases in the route finding logic. * The number of pending un-funded channels as well as peers without funded channels is now limited to avoid denial of service (lightningdevkit#1988). * A second `channel_ready` message received immediately after the first could lead to a spurious panic (lightningdevkit#2071). This issue was introduced with 0conf support in LDK 0.0.107. * A division-by-zero issue was fixed in the `ProbabilisticScorer` if the amount being sent (including previous-hop fees) is equal to a channel's capacity while walking the graph (lightningdevkit#2072). The division-by-zero was introduced with historical data tracking in LDK 0.0.112. In total, this release features 130 files changed, 21457 insertions, 10113 deletions in 343 commits from 18 authors, in alphabetical order: * Alec Chen * Allan Douglas R. de Oliveira * Andrei * Arik Sosman * Daniel Granhão * Duncan Dean * Elias Rohrer * Jeffrey Czyz * John Cantrell * Kurtsley * Matt Corallo * Max Fang * Omer Yacine * Valentine Wallace * Viktor Tigerström * Wilmer Paulino * benthecarman * jurvis
2 parents e496878 + af76fac commit 7784086

File tree

131 files changed

+21227
-9806
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+21227
-9806
lines changed

Diff for: .github/workflows/build.yml

+50-13
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
beta,
1313
# 1.41.1 is MSRV for Rust-Lightning, lightning-invoice, and lightning-persister
1414
1.41.1,
15-
# 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor, and coverage generation
15+
# 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor
1616
1.45.2,
1717
# 1.47.0 will be the MSRV for no-std builds using hashbrown once core2 is updated
1818
1.47.0]
@@ -21,43 +21,56 @@ jobs:
2121
build-net-tokio: true
2222
build-no-std: true
2323
build-futures: true
24+
build-tx-sync: true
25+
coverage: true
2426
- toolchain: stable
2527
platform: macos-latest
2628
build-net-tokio: true
2729
build-no-std: true
2830
build-futures: true
31+
build-tx-sync: true
32+
- toolchain: stable
33+
test-custom-message: true
2934
- toolchain: beta
3035
platform: macos-latest
3136
build-net-tokio: true
3237
build-no-std: true
3338
build-futures: true
39+
build-tx-sync: true
3440
- toolchain: stable
3541
platform: windows-latest
3642
build-net-tokio: true
3743
build-no-std: true
3844
build-futures: true
45+
build-tx-sync: false
3946
- toolchain: beta
4047
platform: windows-latest
4148
build-net-tokio: true
4249
build-no-std: true
4350
build-futures: true
51+
build-tx-sync: false
4452
- toolchain: beta
4553
build-net-tokio: true
4654
build-no-std: true
4755
build-futures: true
56+
build-tx-sync: true
57+
- toolchain: beta
58+
test-custom-message: true
4859
- toolchain: 1.41.1
4960
build-no-std: false
5061
test-log-variants: true
5162
build-futures: false
63+
build-tx-sync: false
5264
- toolchain: 1.45.2
5365
build-net-old-tokio: true
5466
build-net-tokio: true
5567
build-no-std: false
5668
build-futures: true
57-
coverage: true
69+
build-tx-sync: false
5870
- toolchain: 1.47.0
5971
build-futures: true
6072
build-no-std: true
73+
build-tx-sync: false
6174
runs-on: ${{ matrix.platform }}
6275
steps:
6376
- name: Checkout source code
@@ -76,7 +89,7 @@ jobs:
7689
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio
7790
if: "matrix.build-net-tokio && !matrix.coverage"
7891
run: cargo build --verbose --color always
79-
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio and full code-linking for coverage generation
92+
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio, and full code-linking for coverage generation
8093
if: matrix.coverage
8194
run: RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always
8295
- name: Build on Rust ${{ matrix.toolchain }}
@@ -108,14 +121,33 @@ jobs:
108121
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client
109122
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client
110123
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client,tokio
124+
- name: Build Transaction Sync Clients on Rust ${{ matrix.toolchain }} with features
125+
if: "matrix.build-tx-sync && !matrix.coverage"
126+
run: |
127+
cd lightning-transaction-sync
128+
cargo build --verbose --color always --features esplora-blocking
129+
cargo build --verbose --color always --features esplora-async
130+
- name: Build transaction sync clients on Rust ${{ matrix.toolchain }} with features and full code-linking for coverage generation
131+
if: "matrix.build-tx-sync && matrix.coverage"
132+
run: |
133+
cd lightning-transaction-sync
134+
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-blocking
135+
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-async
136+
- name: Test transaction sync clients on Rust ${{ matrix.toolchain }} with features
137+
if: "matrix.build-tx-sync"
138+
run: |
139+
cd lightning-transaction-sync
140+
cargo test --verbose --color always --features esplora-blocking
141+
cargo test --verbose --color always --features esplora-async
111142
- name: Test backtrace-debug builds on Rust ${{ matrix.toolchain }}
112143
if: "matrix.toolchain == 'stable'"
144+
shell: bash # Default on Winblows is powershell
113145
run: |
114-
cd lightning && cargo test --verbose --color always --features backtrace
146+
cd lightning && RUST_BACKTRACE=1 cargo test --verbose --color always --features backtrace
115147
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio
116148
if: "matrix.build-net-tokio && !matrix.coverage"
117149
run: cargo test --verbose --color always
118-
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio and full code-linking for coverage generation
150+
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio, and full code-linking for coverage generation
119151
if: matrix.coverage
120152
run: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always
121153
- name: Test no-std builds on Rust ${{ matrix.toolchain }}
@@ -136,7 +168,7 @@ jobs:
136168
done
137169
# check no-std compatibility across dependencies
138170
cd no-std-check
139-
cargo check --verbose --color always
171+
cargo check --verbose --color always --features lightning-transaction-sync
140172
- name: Build no-std-check on Rust ${{ matrix.toolchain }} for ARM Embedded
141173
if: "matrix.build-no-std && matrix.platform == 'ubuntu-latest'"
142174
run: |
@@ -192,6 +224,11 @@ jobs:
192224
RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --features rpc-client
193225
RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --features rpc-client,rest-client
194226
RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --features rpc-client,rest-client,tokio
227+
- name: Test Custom Message Macros on Rust ${{ matrix.toolchain }}
228+
if: "matrix.test-custom-message"
229+
run: |
230+
cd lightning-custom-message
231+
cargo test --verbose --color always
195232
- name: Install deps for kcov
196233
if: matrix.coverage
197234
run: |
@@ -242,19 +279,19 @@ jobs:
242279
id: cache-graph
243280
uses: actions/cache@v3
244281
with:
245-
path: lightning/net_graph-2021-05-31.bin
246-
key: ldk-net_graph-v0.0.15-2021-05-31.bin
282+
path: lightning/net_graph-2023-01-18.bin
283+
key: ldk-net_graph-v0.0.113-2023-01-18.bin
247284
- name: Fetch routing graph snapshot
248285
if: steps.cache-graph.outputs.cache-hit != 'true'
249286
run: |
250-
curl --verbose -L -o lightning/net_graph-2021-05-31.bin https://bitcoin.ninja/ldk-net_graph-v0.0.15-2021-05-31.bin
251-
echo "Sha sum: $(sha256sum lightning/net_graph-2021-05-31.bin | awk '{ print $1 }')"
252-
if [ "$(sha256sum lightning/net_graph-2021-05-31.bin | awk '{ print $1 }')" != "${EXPECTED_ROUTING_GRAPH_SNAPSHOT_SHASUM}" ]; then
287+
curl --verbose -L -o lightning/net_graph-2023-01-18.bin https://bitcoin.ninja/ldk-net_graph-v0.0.113-2023-01-18.bin
288+
echo "Sha sum: $(sha256sum lightning/net_graph-2023-01-18.bin | awk '{ print $1 }')"
289+
if [ "$(sha256sum lightning/net_graph-2023-01-18.bin | awk '{ print $1 }')" != "${EXPECTED_ROUTING_GRAPH_SNAPSHOT_SHASUM}" ]; then
253290
echo "Bad hash"
254291
exit 1
255292
fi
256293
env:
257-
EXPECTED_ROUTING_GRAPH_SNAPSHOT_SHASUM: 05a5361278f68ee2afd086cc04a1f927a63924be451f3221d380533acfacc303
294+
EXPECTED_ROUTING_GRAPH_SNAPSHOT_SHASUM: da6066f2bddcddbe7d8a6debbd53545697137b310bbb8c4911bc8c81fc5ff48c
258295
- name: Fetch rapid graph sync reference input
259296
run: |
260297
curl --verbose -L -o lightning-rapid-gossip-sync/res/full_graph.lngossip https://bitcoin.ninja/ldk-compressed_graph-285cb27df79-2022-07-21.bin
@@ -349,7 +386,7 @@ jobs:
349386
linting:
350387
runs-on: ubuntu-latest
351388
env:
352-
TOOLCHAIN: 1.47.0
389+
TOOLCHAIN: stable
353390
steps:
354391
- name: Checkout source code
355392
uses: actions/checkout@v3

Diff for: .gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ Cargo.lock
99
.idea
1010
lightning/target
1111
lightning/ldk-net_graph-*.bin
12+
lightning-custom-message/target
1213
no-std-check/target
13-

Diff for: ARCH.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ At a high level, some of the common interfaces fit together as follows:
5151
--------------- / (as EventsProvider) ^ | |
5252
| PeerManager |- \ | | |
5353
--------------- \ | (is-a) | |
54-
| ----------------- \ _---------------- / /
55-
| | chain::Access | \ / | ChainMonitor |---------------
56-
| ----------------- \ / ----------------
54+
| -------------- \ _---------------- / /
55+
| | UtxoLookup | \ / | ChainMonitor |---------------
56+
| -------------- \ / ----------------
5757
| ^ \ / |
5858
(as RoutingMessageHandler) | v v
5959
\ ----------------- --------- -----------------

Diff for: CHANGELOG.md

+115-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,118 @@
1-
# 0.0.113 - Dec 15, 2022 - "Big Movement Intercepted"
1+
# 0.0.114 - Mar 3, 2023 - "Faster Async BOLT12 Retries"
2+
3+
## API Updates
4+
* `InvoicePayer` has been removed and its features moved directly into
5+
`ChannelManager`. As such it now requires a simplified `Router` and supports
6+
`send_payment_with_retry` (and friends). `ChannelManager::retry_payment` was
7+
removed in favor of the automated retries. Invoice payment utilities in
8+
`lightning-invoice` now call the new code (#1812, #1916, #1929, #2007, etc).
9+
* `Sign`/`BaseSign` has been renamed `ChannelSigner`, with `EcdsaChannelSigner`
10+
split out in anticipation of future schnorr/taproot support (#1967).
11+
* The catch-all `KeysInterface` was split into `EntropySource`, `NodeSigner`,
12+
and `SignerProvider`. `KeysManager` implements all three (#1910, #1930).
13+
* `KeysInterface::get_node_secret` is now `KeysManager::get_node_secret_key`
14+
and is no longer required for external signers (#1951, #2070).
15+
* A `lightning-transaction-sync` crate has been added which implements keeping
16+
LDK in sync with the chain via an esplora server (#1870). Note that it can
17+
only be used on nodes that *never* ran a previous version of LDK.
18+
* `Score` is updated in `BackgroundProcessor` instead of via `Router` (#1996).
19+
* `ChainAccess::get_utxo` (now `UtxoAccess`) can now be resolved async (#1980).
20+
* BOLT12 `Offer`, `InvoiceRequest`, `Invoice` and `Refund` structs as well as
21+
associated builders have been added. Such invoices cannot yet be paid due to
22+
missing support for blinded path payments (#1927, #1908, #1926).
23+
* A `lightning-custom-message` crate has been added to make combining multiple
24+
custom messages into one enum/handler easier (#1832).
25+
* `Event::PaymentPathFailure` is now generated for failure to send an HTLC
26+
over the first hop on our local channel (#2014, #2043).
27+
* `lightning-net-tokio` no longer requires an `Arc` on `PeerManager` (#1968).
28+
* `ChannelManager::list_recent_payments` was added (#1873).
29+
* `lightning-background-processor` `std` is now optional in async mode (#1962).
30+
* `create_phantom_invoice` can now be used in `no-std` (#1985).
31+
* The required final CLTV delta on inbound payments is now configurable (#1878)
32+
* bitcoind RPC error code and message are now surfaced in `block-sync` (#2057).
33+
* Get `historical_estimated_channel_liquidity_probabilities` was added (#1961).
34+
* `ChannelManager::fail_htlc_backwards_with_reason` was added (#1948).
35+
* Macros which implement serialization using TLVs or straight writing of struct
36+
fields are now public (#1823, #1976, #1977).
37+
38+
## Backwards Compatibility
39+
* Any inbound payments with a custom final CLTV delta will be rejected by LDK
40+
if you downgrade prior to receipt (#1878).
41+
* `Event::PaymentPathFailed::network_update` will always be `None` if an
42+
0.0.114-generated event is read by a prior version of LDK (#2043).
43+
* `Event::PaymentPathFailed::all_paths_removed` will always be false if an
44+
0.0.114-generated event is read by a prior version of LDK. Users who rely on
45+
it to determine payment retries should migrate to `Event::PaymentFailed`, in
46+
a separate release prior to upgrading to LDK 0.0.114 if downgrading is
47+
supported (#2043).
48+
49+
## Performance Improvements
50+
* Channel data is now stored per-peer and channel updates across multiple
51+
peers can be operated on simultaneously (#1507).
52+
* Routefinding is roughly 1.5x faster (#1799).
53+
* Deserializing a `NetworkGraph` is roughly 6x faster (#2016).
54+
* Memory usage for a `NetworkGraph` has been reduced substantially (#2040).
55+
* `KeysInterface::get_secure_random_bytes` is roughly 200x faster (#1974).
56+
57+
## Bug Fixes
58+
* Fixed a bug where a delay in processing a `PaymentSent` event longer than the
59+
time taken to persist a `ChannelMonitor` update, when occurring immediately
60+
prior to a crash, may result in the `PaymentSent` event being lost (#2048).
61+
* Fixed spurious rejections of rapid gossip sync data when the graph has been
62+
updated by other means between gossip syncs (#2046).
63+
* Fixed a panic in `KeysManager` when the high bit of `starting_time_nanos`
64+
is set (#1935).
65+
* Resolved an issue where the `ChannelManager::get_persistable_update_future`
66+
future would fail to wake until a second notification occurs (#2064).
67+
* Resolved a memory leak when using `ChannelManager::send_probe` (#2037).
68+
* Fixed a deadlock on some platforms at least when using async `ChannelMonitor`
69+
updating (#2006).
70+
* Removed debug-only assertions which were reachable in threaded code (#1964).
71+
* In some cases when payment sending fails on our local channel retries no
72+
longer take the same path and thus never succeed (#2014).
73+
* Retries for spontaneous payments have been fixed (#2002).
74+
* Return an `Err` if `lightning-persister` fails to read the directory listing
75+
rather than panicing (#1943).
76+
* `peer_disconnected` will now never be called without `peer_connected` (#2035)
77+
78+
## Security
79+
0.0.114 fixes several denial-of-service vulnerabilities which are reachable from
80+
untrusted input from channel counterparties or in deployments accepting inbound
81+
connections or channels. It also fixes a denial-of-service vulnerability in rare
82+
cases in the route finding logic.
83+
* The number of pending un-funded channels as well as peers without funded
84+
channels is now limited to avoid denial of service (#1988).
85+
* A second `channel_ready` message received immediately after the first could
86+
lead to a spurious panic (#2071). This issue was introduced with 0conf
87+
support in LDK 0.0.107.
88+
* A division-by-zero issue was fixed in the `ProbabilisticScorer` if the amount
89+
being sent (including previous-hop fees) is equal to a channel's capacity
90+
while walking the graph (#2072). The division-by-zero was introduced with
91+
historical data tracking in LDK 0.0.112.
92+
93+
In total, this release features 130 files changed, 21457 insertions, 10113
94+
deletions in 343 commits from 18 authors, in alphabetical order:
95+
* Alec Chen
96+
* Allan Douglas R. de Oliveira
97+
* Andrei
98+
* Arik Sosman
99+
* Daniel Granhão
100+
* Duncan Dean
101+
* Elias Rohrer
102+
* Jeffrey Czyz
103+
* John Cantrell
104+
* Kurtsley
105+
* Matt Corallo
106+
* Max Fang
107+
* Omer Yacine
108+
* Valentine Wallace
109+
* Viktor Tigerström
110+
* Wilmer Paulino
111+
* benthecarman
112+
* jurvis
113+
114+
115+
# 0.0.113 - Dec 16, 2022 - "Big Movement Intercepted"
2116

3117
## API Updates
4118
* `ChannelManager::send_payment` now takes an explicit `PaymentId` which is a

Diff for: CONTRIBUTING.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ testing and risk-minimization. Any bug may cost users real money. That being
1212
said, we deeply welcome people contributing for the first time to an open source
1313
project or pick up Rust while contributing. Don't be shy, you'll learn.
1414

15+
For the project Code of Conduct, see our [website](https://lightningdevkit.org/code_of_conduct).
16+
1517
Communication Channels
1618
-----------------------
1719

@@ -41,7 +43,7 @@ This doesn't mean don't be ambitious with the breadth and depth of your
4143
contributions but rather understand the project culture before investing an
4244
asymmetric number of hours on development compared to your merged work.
4345

44-
Browsing through the [meeting minutes](https://github.com/lightningdevkit/rust-lightning/wiki/Meetings)
46+
Browsing through the [meeting minutes](https://github.com/lightningdevkit/rust-lightning/wiki/Meeting-Notes)
4547
is a good first step. You will learn who is working on what, how releases are
4648
drafted, what are the pending tasks to deliver, where you can contribute review
4749
bandwidth, etc.

Diff for: Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ members = [
1111
]
1212

1313
exclude = [
14+
"lightning-custom-message",
15+
"lightning-transaction-sync",
1416
"no-std-check",
1517
]
1618

Diff for: SECURITY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ your own public key as an attachment or inline for replies.
1313

1414
* 07DF3E57A548CCFB7530709189BBB8663E2E65CE (Matt Corallo)
1515
* 5DBC576CCCF546CA72AB06CE912EF12EA67705F5 (Jeffrey Czyz)
16-
* 729E9D9D92C75A5FBFEEE057B5DD717BEF7CA5B1 (Wilmer Paulino)
16+
* 0A156842CF60B58BD826ABDD808FC696767C6147 (Wilmer Paulino)
1717
* BD6EED4D339EDBF7E7CE7F8836153082BDF676FD (Elias Rohrer)
1818
* 6E0287D8849AE741E47CC586FD3E106A2CE099B4 (Valentine Wallace)
1919
* 69CFEA635D0E6E6F13FD9D9136D932FCAC0305F0 (Arik Sosman)

Diff for: fuzz/Cargo.toml

+6-2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ libfuzzer_fuzz = ["libfuzzer-sys"]
1818
stdin_fuzz = []
1919

2020
[dependencies]
21-
afl = { version = "0.4", optional = true }
22-
lightning = { path = "../lightning", features = ["regex"] }
21+
lightning = { path = "../lightning", features = ["regex", "hashbrown", "_test_utils"] }
2322
lightning-rapid-gossip-sync = { path = "../lightning-rapid-gossip-sync" }
2423
bitcoin = { version = "0.29.0", features = ["secp-lowmemory"] }
2524
hex = "0.3"
25+
hashbrown = "0.8"
26+
27+
afl = { version = "0.12", optional = true }
2628
honggfuzz = { version = "0.5", optional = true, default-features = false }
2729
libfuzzer-sys = { version = "0.4", optional = true }
2830

@@ -36,6 +38,8 @@ members = ["."]
3638
[profile.release]
3739
lto = true
3840
codegen-units = 1
41+
debug-assertions = true
42+
overflow-checks = true
3943

4044
# When testing a large fuzz corpus, -O1 offers a nice speedup
4145
[profile.dev]

0 commit comments

Comments
 (0)