ElementsProject / libwally-core

Useful primitives for wallets
Other
282 stars 135 forks source link

tx: check absolute tx limits only when constructing from scratch #446

Closed jgriffiths closed 7 months ago

jgriffiths commented 7 months ago

Allow as many inputs/outputs as are present if we are building a tx from its serialized bytes. Since we fully analyze the tx before building it, we know that it can fit in memory/is not impossible to create for DOS checking purposes. This allows us to process live txs such as a recent testnet tx with ~100k outputs.

We retain the limit on constructing new txs from scratch, since wally is meant only for making txs that fit within standardness rules. This catches cases where a tx is constructed in parts or allocated up front based on an externally provided number of inputs/ouputs.

Update the comments to reflect that the limits are for standardness and not block size.