Found a false positive while fuzzing LND:
Test case failed: invalid accept_channel for temporary_channel_id 0cdb006c68ca6c9d84f83bdc302b272f658ae589bd3481b3bd9fef4270a47420: invalid accept_channel: accept_channel channel_type does not match open_channel
The executor sent an open_channel with channel_type = [0x00]. LND responded with the same value minimally encoded: channel_type = []. The oracle flagged that they don't match.
Suggested fix
We should strip leading zeroes before comparing channel types here:
|
// Check that the channel type matches the one in open_channel. |
|
if open_channel.tlvs.channel_type != accept_channel.tlvs.channel_type { |
|
return Err("accept_channel channel_type does not match open_channel".to_string()); |
|
} |
Found a false positive while fuzzing LND:
The executor sent an
open_channelwithchannel_type = [0x00]. LND responded with the same value minimally encoded:channel_type = []. The oracle flagged that they don't match.Suggested fix
We should strip leading zeroes before comparing channel types here:
smite/smite/src/oracles/accept_channel.rs
Lines 157 to 160 in e3736ea