Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- Implement gnark-crypto for eip-2537 [#7316](https://github.com/hyperledger/besu/pull/7316)

### Bug fixes
- Fix `eth_call` deserialization to correctly ignore unknown fields in the transaction object. [#7323](https://github.com/hyperledger/besu/pull/7323)

## 24.7.0

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,11 @@ public void shouldSucceedWhenCreateAccessListMultipleReads() {
"0x0000000000000000000000000000000000000000000000000000000000000003"))));

final JsonCallParameter callParameter =
createAccessListJsonCallParameters(
"0x658bdf435d810c91414ec09147daa6db62406379",
"0xbb00000000000000000000000000000000000000",
null);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0x658bdf435d810c91414ec09147daa6db62406379"))
.withTo(Address.fromHexString("0xbb00000000000000000000000000000000000000"))
.withAccessList(null)
.build();

assertAccessListExpectedResult(callParameter, expectedAccessListEntryList, expectedGasUsed);
}
Expand All @@ -101,10 +102,11 @@ public void shouldSucceedWhenCreateAccessListMultipleReads_withAccessListParam()
"0x0000000000000000000000000000000000000000000000000000000000000003"))));

final JsonCallParameter callParameter =
createAccessListJsonCallParameters(
"0x658bdf435d810c91414ec09147daa6db62406379",
"0xbb00000000000000000000000000000000000000",
expectedAccessListEntryList);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0x658bdf435d810c91414ec09147daa6db62406379"))
.withTo(Address.fromHexString("0xbb00000000000000000000000000000000000000"))
.withAccessList(expectedAccessListEntryList)
.build();

assertAccessListExpectedResult(callParameter, expectedAccessListEntryList, expectedGasUsed);
}
Expand All @@ -115,10 +117,11 @@ public void shouldSucceedWhenCreateAccessListSimpleTransfer() {
final List<AccessListEntry> expectedAccessListEntryList = new ArrayList<>();

final JsonCallParameter callParameter =
createAccessListJsonCallParameters(
"0x658bdf435d810c91414ec09147daa6db62406379",
"0x0100000000000000000000000000000000000000",
expectedAccessListEntryList);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0x658bdf435d810c91414ec09147daa6db62406379"))
.withTo(Address.fromHexString("0x0100000000000000000000000000000000000000"))
.withAccessList(expectedAccessListEntryList)
.build();

assertAccessListExpectedResult(callParameter, expectedAccessListEntryList, expectedGasUsed);
}
Expand All @@ -129,19 +132,20 @@ public void shouldSucceedWhenCreateAccessListSimpleContract() {
final List<AccessListEntry> expectedAccessListEntryList = new ArrayList<>();

final JsonCallParameter callParameter =
createAccessListJsonCallParameters(
"0x658bdf435d810c91414ec09147daa6db62406379",
"0xaa00000000000000000000000000000000000000",
null);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0x658bdf435d810c91414ec09147daa6db62406379"))
.withTo(Address.fromHexString("0xaa00000000000000000000000000000000000000"))
.withAccessList(null)
.build();

assertAccessListExpectedResult(callParameter, expectedAccessListEntryList, expectedGasUsed);
}

@Test
public void shouldReturnExpectedValueForEmptyCallParameter() {
final JsonCallParameter callParameter =
new JsonCallParameter(
null, null, null, null, null, null, null, null, null, null, null, null, null);
new JsonCallParameter.JsonCallParameterBuilder().build();

final JsonRpcRequestContext request = requestWithParams(callParameter);
final JsonRpcResponse expectedResponse =
new JsonRpcSuccessResponse(null, new CreateAccessListResult(new ArrayList<>(), 0xcf08));
Expand All @@ -154,20 +158,12 @@ public void shouldReturnExpectedValueForEmptyCallParameter() {
@Test
public void shouldReturnExpectedValueForTransfer() {
final JsonCallParameter callParameter =
new JsonCallParameter(
Address.fromHexString("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"),
Address.fromHexString("0x8888f1f195afa192cfee860698584c030f4c9db1"),
null,
null,
null,
null,
Wei.ZERO,
null,
null,
null,
null,
null,
null);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"))
.withTo(Address.fromHexString("0x8888f1f195afa192cfee860698584c030f4c9db1"))
.withValue(Wei.ZERO)
.build();

final JsonRpcRequestContext request = requestWithParams(callParameter);
final JsonRpcResponse expectedResponse =
new JsonRpcSuccessResponse(null, new CreateAccessListResult(new ArrayList<>(), 0x5208));
Expand All @@ -180,21 +176,13 @@ public void shouldReturnExpectedValueForTransfer() {
@Test
public void shouldReturnExpectedValueForContractDeploy() {
final JsonCallParameter callParameter =
new JsonCallParameter(
Address.fromHexString("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"),
null,
null,
null,
null,
null,
null,
Bytes.fromHexString(
"0x608060405234801561001057600080fd5b50610157806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633bdab8bf146100515780639ae97baa14610068575b600080fd5b34801561005d57600080fd5b5061006661007f565b005b34801561007457600080fd5b5061007d6100b9565b005b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60016040518082815260200191505060405180910390a1565b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60026040518082815260200191505060405180910390a17fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60036040518082815260200191505060405180910390a15600a165627a7a7230582010ddaa52e73a98c06dbcd22b234b97206c1d7ed64a7c048e10c2043a3d2309cb0029"),
null,
null,
null,
null,
null);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"))
.withInput(
Bytes.fromHexString(
"0x608060405234801561001057600080fd5b50610157806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633bdab8bf146100515780639ae97baa14610068575b600080fd5b34801561005d57600080fd5b5061006661007f565b005b34801561007457600080fd5b5061007d6100b9565b005b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60016040518082815260200191505060405180910390a1565b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60026040518082815260200191505060405180910390a17fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60036040518082815260200191505060405180910390a15600a165627a7a7230582010ddaa52e73a98c06dbcd22b234b97206c1d7ed64a7c048e10c2043a3d2309cb0029"))
.build();

final JsonRpcRequestContext request = requestWithParams(callParameter);
final JsonRpcResponse expectedResponse =
new JsonRpcSuccessResponse(null, new CreateAccessListResult(new ArrayList<>(), 0x1f081));
Expand All @@ -207,21 +195,16 @@ public void shouldReturnExpectedValueForContractDeploy() {
@Test
public void shouldIgnoreSenderBalanceAccountWhenStrictModeDisabledAndReturnExpectedValue() {
final JsonCallParameter callParameter =
new JsonCallParameter(
Address.fromHexString("0x0000000000000000000000000000000000000000"),
null,
1L,
Wei.fromHexString("0x9999999999"),
null,
null,
null,
Bytes.fromHexString(
"0x608060405234801561001057600080fd5b50610157806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633bdab8bf146100515780639ae97baa14610068575b600080fd5b34801561005d57600080fd5b5061006661007f565b005b34801561007457600080fd5b5061007d6100b9565b005b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60016040518082815260200191505060405180910390a1565b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60026040518082815260200191505060405180910390a17fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60036040518082815260200191505060405180910390a15600a165627a7a7230582010ddaa52e73a98c06dbcd22b234b97206c1d7ed64a7c048e10c2043a3d2309cb0029"),
null,
false,
null,
null,
null);
new JsonCallParameter.JsonCallParameterBuilder()
.withFrom(Address.fromHexString("0x0000000000000000000000000000000000000000"))
.withGas(1L)
.withGasPrice(Wei.fromHexString("0x9999999999"))
.withInput(
Bytes.fromHexString(
"0x608060405234801561001057600080fd5b50610157806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633bdab8bf146100515780639ae97baa14610068575b600080fd5b34801561005d57600080fd5b5061006661007f565b005b34801561007457600080fd5b5061007d6100b9565b005b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60016040518082815260200191505060405180910390a1565b7fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60026040518082815260200191505060405180910390a17fa53887c1eed04528e23301f55ad49a91634ef5021aa83a97d07fd16ed71c039a60036040518082815260200191505060405180910390a15600a165627a7a7230582010ddaa52e73a98c06dbcd22b234b97206c1d7ed64a7c048e10c2043a3d2309cb0029"))
.withStrict(false)
.build();

final JsonRpcRequestContext request = requestWithParams(callParameter);
final JsonRpcResponse expectedResponse =
new JsonRpcSuccessResponse(null, new CreateAccessListResult(new ArrayList<>(), 0x1f081));
Expand All @@ -234,8 +217,7 @@ public void shouldIgnoreSenderBalanceAccountWhenStrictModeDisabledAndReturnExpec
@Test
public void shouldReturnExpectedValueForInsufficientGas() {
final JsonCallParameter callParameter =
new JsonCallParameter(
null, null, 1L, null, null, null, null, null, null, null, null, null, null);
new JsonCallParameter.JsonCallParameterBuilder().withGas(1L).build();
final JsonRpcRequestContext request = requestWithParams(callParameter);
final JsonRpcResponse expectedResponse =
new JsonRpcSuccessResponse(null, new CreateAccessListResult(new ArrayList<>(), 0xcf08));
Expand All @@ -257,24 +239,6 @@ private void assertAccessListExpectedResult(
assertThat(response).usingRecursiveComparison().isEqualTo(expectedResponse);
}

private JsonCallParameter createAccessListJsonCallParameters(
final String from, final String to, final List<AccessListEntry> accessList) {
return new JsonCallParameter(
Address.fromHexString(from),
Address.fromHexString(to),
null,
null,
null,
null,
null,
null,
null,
null,
accessList,
null,
null);
}

private JsonRpcRequestContext requestWithParams(final Object... params) {
return new JsonRpcRequestContext(new JsonRpcRequest("2.0", "eth_createAccessList", params));
}
Expand Down
Loading