- [ ] [Force users to use `path_id`](https://github.com/lightningdevkit/rust-lightning/pull/1503#discussion_r917414102) - [ ] Enable the addition of dummy blinded hops for increased privacy - [ ] On creation, pad blinded route hops to be equal length - [x] Support 1-hop blinded paths - [ ] Rate limit based on channel vs non-channel peers - [x] Rate limit based on outbound peer buffer limits - [x] Refuse to send onion messages to offline peers and drop forwards to offline peers - [ ] Config option for forwarding over channels-only - [x] Custom TLVs, sending-side + handler on receiving side - [ ] Implement BOLT spec test vectors - [ ] Consider setting max number of hops before refusing to send - [ ] Custom `get_route` for finding an OM path (current `get_route` has a lot of custom stuff for payments) - [x] Flip on OM feature bit (may want to conditionally flip based on whether a user has an `OnionMessenger`) - [ ] Refactor `onion_utils::construct_onion_packet_with_init_noise` to take one Vec instead of two - [ ] Minor: make `onion_utils::decode_next_hop` private, see https://github.com/lightningdevkit/rust-lightning/pull/1503#discussion_r935941292 - [x] Add fuzz testing - [ ] Don't disconnect peers on garbage onion messages (cc https://github.com/lightningdevkit/rust-lightning/pull/1503#discussion_r903911989)
path_idget_routefor finding an OM path (currentget_routehas a lot of custom stuff for payments)OnionMessenger)onion_utils::construct_onion_packet_with_init_noiseto take one Vec instead of twoonion_utils::decode_next_hopprivate, see Onion messages v1 #1503 (comment)