-impl_writeable_tlv_based!(ForwardTlvs, {
- (2, short_channel_id, required),
- (10, payment_relay, required),
- (12, payment_constraints, required),
- (14, features, required),
-});
+impl From<CounterpartyForwardingInfo> for PaymentRelay {
+ fn from(info: CounterpartyForwardingInfo) -> Self {
+ let CounterpartyForwardingInfo {
+ fee_base_msat, fee_proportional_millionths, cltv_expiry_delta
+ } = info;
+ Self { cltv_expiry_delta, fee_proportional_millionths, fee_base_msat }
+ }
+}
+
+impl Writeable for ForwardTlvs {
+ fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
+ encode_tlv_stream!(w, {
+ (2, self.short_channel_id, required),
+ (10, self.payment_relay, required),
+ (12, self.payment_constraints, required),
+ (14, self.features, required)
+ });
+ Ok(())
+ }
+}