-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Wrap modularized code in transactionExecutionService #9943
feat: Wrap modularized code in transactionExecutionService #9943
Conversation
…codeTracer Signed-off-by: Kristiyan Selveliev <kristiyan.selveliev@limechain.tech>
@@ -2,6 +2,7 @@ hedera: | |||
mirror: | |||
web3: | |||
evm: | |||
modularizedServices: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not needed as by the default the value is false.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, comment addressed
Signed-off-by: Kristiyan Selveliev <kristiyan.selveliev@limechain.tech>
…e-service Signed-off-by: Kristiyan Selveliev <kristiyan.selveliev@limechain.tech>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
if (isContractCreate) { | ||
// Upload the init bytecode | ||
transactionBody = buildFileCreateTransactionBody(params, maxLifetime); | ||
var uploadReceipt = executor.execute(transactionBody, Instant.EPOCH); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this call? What if we use the next available FileID in the mirror node, as a value?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be addressed in the base PR since this pr is just copy paste the code from the modularized property pr
Signed-off-by: Kristiyan Selveliev <kristiyan.selveliev@limechain.tech>
…e-service Signed-off-by: Kristiyan Selveliev <kristiyan.selveliev@limechain.tech>
Merging any other changes will be addressed in the #9927 PR |
Description:
This PR wraps modularized execution and logic into it's own standalone
TransactionExecutionService
.Doing this the adaptation of the
OpcodeServiceTest
arguments and result captors becomes incredibly easy.Also added opcodeTracer when the call is coming from an opcode call.
Main changes:
Added
TransactionExecutionService
classWhich contains the new modularized execution logic in itself. The code is moved from
ContractCallService
intoTransactionExecutionService
with the only addition of the opcodeTracer if the opcode tracer options are set.AbstractContractCallServiceOpcodeTracerTest
- now check based on the modularized feature flag to capture arguments and result either frommirrorEvmTxProcessor.execute
ortransactionExecutionService.execute
TransactionExecutionServiceTest
- adds coverage for the newly created class.Fixes #9830
Notes for reviewer:
Checklist