Variable height merkle trees for transactions #906
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, each block contains a merkle tree of height 5 (32 leaves) no matter the actual number of transactions contained. This PR modifies that so the transactions' merkle tree will have a variable height depending on the number of transactions. If a block contains 12 transactions, a merkle tree of height 4 will be used.
The block will still be limited to 32 transactions by the TRANSACTIONS_PER_BLOCK parameter. This PR will allow increase / decrease that number by only modifying that config parameter in the default.js and Config.sol with no further modifications to the code.