extend eth_call and estimateGas api with state override #529
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.
Proposed changes
Extend eth_call and estimateGas api with state override
Types of changes
What types of changes does your code introduce to XDC network?
Put an
✅in the boxes that applyImpacted Components
Which part of the codebase this PR will touch base on,
Put an
✅in the boxes that applyChecklist
Put an
✅in the boxes once you have confirmed below actions (or provide reasons on not doing so) thatTest plan
I already tested with a local xdc node. And we can also do the same test on devnet/testnet. The plan is as follows.
Run normal eth_call on XDCValidator smart contract's
getOwnerCount()Expected result : the number of owner
Test override code:
this fake code should return 0xff:
60ff60005360016000f3, no matter calldata. so you can runExpected result : 0xff
Test override state:
ownerCountis stored at key=000000000000000000000000000000000000000000000000000000000000000a. So we override it with 0x33 (or any random number) and callgetOwnerCount().Use state inside parameter.
or
Use stateDiff inside parameter.
Expected result : 0x0000000000000000000000000000000000000000000000000000000000000033