♻️ Refactor ProposeGenesisBlock()
#3079
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.
In general, made
ProposeGenesisBlock()
accept a list ofTransaction<T>
s instead of a list of custom actions and system actions.Notable "feature" changes due to this are:
ProposeGenesisBlock()
is more generic than before.Transaction<T>
s in a genesisBlock<T>
may have different signers. Also the caller now has more control over ordering ofIAction
s to include.ProposeGenesisBlock()
can now produce a genesisBlock<T>
that is not suitable forBlockChain<T>.Create()
. This can happen if providedTransaction<T>
s are invalid for "appending" (i.e. wrong nonces).I'll be dealing with #3078 in a follow-up PR as it seems a bit more complicated than it originally seemed. 🙄