Feat: Refactore transact_create functions #66
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.
Description
After investigation, I found, that some logic is double executed. I suppose this is clearly a result of a lack of attention to detail when adding new functionality. It also brings some micro-optimizations.
This refactoring is important for the context of EOFv1 (Prague hard fork) implementation, as it's strictly related.
➡️
⚠️ BREAKING CHANGES: changed annotation for all
transact_create
- removed redundand nonceUSIZE_MAX
, because it's checked after that increate_inner
.➡️
transact_create
,transact_create2
,transact_create_fixed
- removed warming foraddress
value as it's MUST be warmed increate_inner
function.➡️ Explicitly removed
address
value from alltransact_create
as redundant, because it's calculated increate_inner
. It was moved totrace events
(which is under the feature flag).➡️ Refactored warming
access_list
fortransact_*
functions - values arguments as slice, and now it's more flexible as it takes also a slice as an argument for warming addresses.transact_*
functions foraccess_list
formVec
to slice. MOTIVATION: reduce heap-allocated values copy.