Skip to content
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

Add implementation for eth_createAccessList RPC method #4942

Merged

Conversation

Gabriel-Trintinalia
Copy link
Contributor

@Gabriel-Trintinalia Gabriel-Trintinalia commented Jan 16, 2023

PR description

Description

Missing implementation for eth_createAccessList rpc method

Acceptance Criteria

This PR fixes the following failing test cases:

Expected behavior:
To return properties to be compatible with web3.

Actual behavior:

curl --data '{"method":"eth_createAccessList","params":[{"from": "0x8cd02c6cbd8375b39b06577f8d50c51d86e8d5cd", "data": "0x608060806080608155"}, "pending"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545
{
  "jsonrpc" : "2.0",
  "id" : 1,
  "error" : {
    "code" : -32601,
    "message" : "Method not found"
  }
}%  

Fixed Issue(s)

#3400

Documentation

  • I thought about documentation and added the doc-change-required label to this PR if
    updates are required.

Changelog

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
@Gabriel-Trintinalia Gabriel-Trintinalia added doc-change-required Indicates an issue or PR that requires doc to be updated TeamRevenant GH issues worked on by Revenant Team mainnet RPC labels Jan 16, 2023
@Gabriel-Trintinalia Gabriel-Trintinalia marked this pull request as draft January 16, 2023 18:22
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Copy link
Contributor

@macfarla macfarla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple of comments around naming

return errorResponse(requestContext, jsonRpcError.get());
}
final AccessListSimulatorResult maybeResult =
maybeProcessTransaction(jsonCallParameter, blockHeader);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trying to think of a better name. the maybe is whether the result is valid, not whether it does the processing?
simulateAccessList
simulateTransactionWithAccessList
processTransaction
and then
processTransactionWithAccessListOverride
or just processTransaction() with different params

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

import java.util.Optional;

public abstract class AbstractEstimateGas implements JsonRpcMethod {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the abstract class

@macfarla macfarla enabled auto-merge (squash) January 22, 2023 22:52
@macfarla macfarla merged commit c4dbc58 into hyperledger:main Jan 22, 2023
@alexandratran alexandratran removed the doc-change-required Indicates an issue or PR that requires doc to be updated label Feb 1, 2023
@Gabriel-Trintinalia Gabriel-Trintinalia deleted the 3400-create-access-list-clean branch March 9, 2023 01:28
elenduuche pushed a commit to elenduuche/besu that referenced this pull request Aug 16, 2023
)

* Implement method EthCreateAccessList

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Add test resource file

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Change changelog

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* fix javadoc

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Invert logic and rename methods to improve readability

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Introduce abstract class to improve readability

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Add copyright

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Update evm/src/main/java/org/hyperledger/besu/evm/frame/MessageFrame.java

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* Update testutil/src/main/java/org/hyperledger/besu/testutil/BlockTestUtil.java

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* Update testutil/src/main/java/org/hyperledger/besu/testutil/BlockTestUtil.java

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
eum602 pushed a commit to lacchain/besu that referenced this pull request Nov 3, 2023
)

* Implement method EthCreateAccessList

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Add test resource file

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Change changelog

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* fix javadoc

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Invert logic and rename methods to improve readability

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Introduce abstract class to improve readability

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Add copyright

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>

* Update evm/src/main/java/org/hyperledger/besu/evm/frame/MessageFrame.java

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* Update testutil/src/main/java/org/hyperledger/besu/testutil/BlockTestUtil.java

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* Update testutil/src/main/java/org/hyperledger/besu/testutil/BlockTestUtil.java

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

Signed-off-by: Gabriel Trintinalia <gabriel.trintinalia@gmail.com>
Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mainnet RPC TeamRevenant GH issues worked on by Revenant Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants