]> git.bitcoin.ninja Git - rust-lightning/commit
Hold a reference to byte arrays when serializing to bech32 2024-10-3270-followups
authorMatt Corallo <git@bluematt.me>
Thu, 3 Oct 2024 16:54:20 +0000 (16:54 +0000)
committerMatt Corallo <git@bluematt.me>
Thu, 3 Oct 2024 22:21:55 +0000 (22:21 +0000)
commit5c1440afec0a509c0cb83fc650cabe9655509322
tree268faa7e6ac19584bec5f3eae8af95f693f2b5a6
parent052e7c3df06012e0787b65b11d740843e26c3c1a
Hold a reference to byte arrays when serializing to bech32

When we serialize from a byte array to bech32 in
`lightning-invoice`, we can either copy the array itself into the
iterator or hold a reference to the array and iterate through that.

In aa2f6b47df312f026213d0ceaaff20ffe955c377 we opted to copy the
array into the iterator, which is fine for the current array sizes
we're working with, but does result in additional memory on the
stack if, in the future, we end up writing large arrays.

Instead, here, we switch to using the slice serialization code when
writing arrays, (very marginally) reducing code size and reducing
stack usage.
lightning-invoice/src/ser.rs