- 1u8 => Ok(Some(Event::FundingBroadcastSafe {
- funding_txo: Readable::read(reader)?,
- user_channel_id: Readable::read(reader)?,
- })),
- 2u8 => Ok(Some(Event::PaymentReceived {
- payment_hash: Readable::read(reader)?,
- payment_secret: Readable::read(reader)?,
- amt: Readable::read(reader)?,
- })),
- 3u8 => Ok(Some(Event::PaymentSent {
- payment_preimage: Readable::read(reader)?,
- })),
- 4u8 => Ok(Some(Event::PaymentFailed {
- payment_hash: Readable::read(reader)?,
- rejected_by_dest: Readable::read(reader)?,
+ 1u8 => {
+ let f = || {
+ let mut payment_hash = PaymentHash([0; 32]);
+ let mut payment_preimage = None;
+ let mut payment_secret = PaymentSecret([0; 32]);
+ let mut amt = 0;
+ let mut user_payment_id = 0;
+ read_tlv_fields!(reader, {
+ (0, payment_hash, required),
+ (2, payment_secret, required),
+ (4, amt, required),
+ (6, user_payment_id, required),
+ (8, payment_preimage, option),
+ });
+ Ok(Some(Event::PaymentReceived {
+ payment_hash,
+ payment_preimage,
+ payment_secret,
+ amt,
+ user_payment_id,
+ }))
+ };
+ f()
+ },
+ 2u8 => {
+ let f = || {
+ let mut payment_preimage = PaymentPreimage([0; 32]);
+ read_tlv_fields!(reader, {
+ (0, payment_preimage, required),
+ });
+ Ok(Some(Event::PaymentSent {
+ payment_preimage,
+ }))
+ };
+ f()
+ },
+ 3u8 => {
+ let f = || {