Skip to content
This repository was archived by the owner on Jul 1, 2025. It is now read-only.

Commit 93bdaac

Browse files
Gabriel-Trintinaliagaryschulte
authored andcommitted
Rename accountOverride to stateOverride to match spec (#8111)
Signed-off-by: Gabriel-Trintinalia <[email protected]>
1 parent 910ad30 commit 93bdaac

File tree

17 files changed

+157
-162
lines changed

17 files changed

+157
-162
lines changed

besu/src/main/java/org/hyperledger/besu/services/BlockSimulatorServiceImpl.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515
package org.hyperledger.besu.services;
1616

17-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
17+
import org.hyperledger.besu.datatypes.StateOverrideMap;
1818
import org.hyperledger.besu.datatypes.Transaction;
1919
import org.hyperledger.besu.ethereum.chain.Blockchain;
2020
import org.hyperledger.besu.ethereum.core.BlockHeader;
@@ -69,16 +69,16 @@ public BlockSimulatorServiceImpl(
6969
* @param blockNumber the block number
7070
* @param transactions the transactions to include in the block
7171
* @param blockOverrides the blockSimulationOverride of the block
72-
* @param accountOverrides state overrides of the block
72+
* @param stateOverrides state overrides of the block
7373
* @return the block context
7474
*/
7575
@Override
7676
public PluginBlockSimulationResult simulate(
7777
final long blockNumber,
7878
final List<? extends Transaction> transactions,
7979
final BlockOverrides blockOverrides,
80-
final AccountOverrideMap accountOverrides) {
81-
return processSimulation(blockNumber, transactions, blockOverrides, accountOverrides, false);
80+
final StateOverrideMap stateOverrides) {
81+
return processSimulation(blockNumber, transactions, blockOverrides, stateOverrides, false);
8282
}
8383

8484
/**
@@ -88,7 +88,7 @@ public PluginBlockSimulationResult simulate(
8888
* @param blockNumber the block number
8989
* @param transactions the transactions to include in the block
9090
* @param blockOverrides block overrides for the block
91-
* @param accountOverrides state overrides of the block
91+
* @param stateOverrides state overrides of the block
9292
* @return the PluginBlockSimulationResult
9393
*/
9494
@Unstable
@@ -97,21 +97,21 @@ public PluginBlockSimulationResult simulateAndPersistWorldState(
9797
final long blockNumber,
9898
final List<? extends Transaction> transactions,
9999
final BlockOverrides blockOverrides,
100-
final AccountOverrideMap accountOverrides) {
101-
return processSimulation(blockNumber, transactions, blockOverrides, accountOverrides, true);
100+
final StateOverrideMap stateOverrides) {
101+
return processSimulation(blockNumber, transactions, blockOverrides, stateOverrides, true);
102102
}
103103

104104
private PluginBlockSimulationResult processSimulation(
105105
final long blockNumber,
106106
final List<? extends Transaction> transactions,
107107
final BlockOverrides blockOverrides,
108-
final AccountOverrideMap accountOverrides,
108+
final StateOverrideMap stateOverrides,
109109
final boolean persistWorldState) {
110110
BlockHeader header = getBlockHeader(blockNumber);
111111
List<CallParameter> callParameters =
112112
transactions.stream().map(CallParameter::fromTransaction).toList();
113113
BlockStateCall blockStateCall =
114-
new BlockStateCall(callParameters, blockOverrides, accountOverrides, true);
114+
new BlockStateCall(callParameters, blockOverrides, stateOverrides, true);
115115
try (final MutableWorldState ws = getWorldState(header, persistWorldState)) {
116116
List<BlockSimulationResult> results =
117117
blockSimulator.process(header, List.of(blockStateCall), ws);

besu/src/main/java/org/hyperledger/besu/services/TransactionSimulationServiceImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
*/
1515
package org.hyperledger.besu.services;
1616

17-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
1817
import org.hyperledger.besu.datatypes.Hash;
18+
import org.hyperledger.besu.datatypes.StateOverrideMap;
1919
import org.hyperledger.besu.datatypes.Transaction;
2020
import org.hyperledger.besu.ethereum.chain.Blockchain;
2121
import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams;
@@ -54,7 +54,7 @@ public void init(final Blockchain blockchain, final TransactionSimulator transac
5454
@Override
5555
public Optional<TransactionSimulationResult> simulate(
5656
final Transaction transaction,
57-
final Optional<AccountOverrideMap> maybeAccountOverrides,
57+
final Optional<StateOverrideMap> maybeStateOverrides,
5858
final Optional<Hash> maybeBlockHash,
5959
final OperationTracer operationTracer,
6060
final boolean isAllowExceedingBalance) {
@@ -89,7 +89,7 @@ public Optional<TransactionSimulationResult> simulate(
8989
return transactionSimulator
9090
.processOnPending(
9191
callParameter,
92-
maybeAccountOverrides,
92+
maybeStateOverrides,
9393
isAllowExceedingBalance
9494
? TransactionValidationParams.transactionSimulatorAllowExceedingBalance()
9595
: TransactionValidationParams.transactionSimulator(),

datatypes/src/main/java/org/hyperledger/besu/datatypes/AccountOverride.java renamed to datatypes/src/main/java/org/hyperledger/besu/datatypes/StateOverride.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@
2828

2929
/** Account Override parameter class */
3030
@JsonIgnoreProperties(ignoreUnknown = true)
31-
@JsonDeserialize(builder = AccountOverride.Builder.class)
32-
public class AccountOverride {
33-
private static final Logger LOG = LoggerFactory.getLogger(AccountOverride.class);
31+
@JsonDeserialize(builder = StateOverride.Builder.class)
32+
public class StateOverride {
33+
private static final Logger LOG = LoggerFactory.getLogger(StateOverride.class);
3434

3535
private final Optional<Wei> balance;
3636
private final Optional<Long> nonce;
3737
private final Optional<String> code;
3838
private final Optional<Map<String, String>> stateDiff;
3939

40-
private AccountOverride(
40+
private StateOverride(
4141
final Optional<Wei> balance,
4242
final Optional<Long> nonce,
4343
final Optional<String> code,
@@ -144,8 +144,8 @@ public Builder withStateDiff(final Map<String, String> stateDiff) {
144144
*
145145
* @return account override
146146
*/
147-
public AccountOverride build() {
148-
return new AccountOverride(balance, nonce, code, stateDiff);
147+
public StateOverride build() {
148+
return new StateOverride(balance, nonce, code, stateDiff);
149149
}
150150
}
151151

@@ -172,11 +172,11 @@ public boolean equals(final Object o) {
172172
if (o == null || getClass() != o.getClass()) {
173173
return false;
174174
}
175-
final AccountOverride accountOverride = (AccountOverride) o;
176-
return balance.equals(accountOverride.balance)
177-
&& nonce.equals(accountOverride.nonce)
178-
&& code.equals(accountOverride.code)
179-
&& stateDiff.equals(accountOverride.stateDiff);
175+
final StateOverride stateOverride = (StateOverride) o;
176+
return balance.equals(stateOverride.balance)
177+
&& nonce.equals(stateOverride.nonce)
178+
&& code.equals(stateOverride.code)
179+
&& stateDiff.equals(stateOverride.stateDiff);
180180
}
181181

182182
@Override
@@ -186,7 +186,7 @@ public int hashCode() {
186186

187187
@Override
188188
public String toString() {
189-
return "AccountOverride{"
189+
return "StateOverride{"
190190
+ "balance="
191191
+ balance
192192
+ ", nonce="

datatypes/src/main/java/org/hyperledger/besu/datatypes/AccountOverrideMap.java renamed to datatypes/src/main/java/org/hyperledger/besu/datatypes/StateOverrideMap.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
/** Map of account overrides, indexed by address */
2222
@JsonIgnoreProperties(ignoreUnknown = true)
23-
public class AccountOverrideMap extends HashMap<Address, AccountOverride> {
23+
public class StateOverrideMap extends HashMap<Address, StateOverride> {
2424

2525
/** Default constructor */
26-
public AccountOverrideMap() {}
26+
public StateOverrideMap() {}
2727
}

ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractEstimateGas.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonCallParameterUtil.validateAndGetCallParams;
1818

19-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
19+
import org.hyperledger.besu.datatypes.StateOverrideMap;
2020
import org.hyperledger.besu.datatypes.Wei;
2121
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcErrorConverter;
2222
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
@@ -76,7 +76,7 @@ protected abstract Object simulate(
7676
protected Object pendingResult(final JsonRpcRequestContext requestContext) {
7777
final JsonCallParameter jsonCallParameter = validateAndGetCallParams(requestContext);
7878
final var validationParams = getTransactionValidationParams(jsonCallParameter);
79-
final var maybeStateOverrides = getAddressAccountOverrideMap(requestContext);
79+
final var maybeStateOverrides = getAddressStateOverrideMap(requestContext);
8080
final var pendingBlockHeader = transactionSimulator.simulatePendingBlockHeader();
8181
final TransactionSimulationFunction simulationFunction =
8282
(cp, op) ->
@@ -103,7 +103,7 @@ private Object resultByBlockHeader(
103103
final JsonCallParameter jsonCallParameter,
104104
final BlockHeader blockHeader) {
105105
final var validationParams = getTransactionValidationParams(jsonCallParameter);
106-
final var maybeStateOverrides = getAddressAccountOverrideMap(requestContext);
106+
final var maybeStateOverrides = getAddressStateOverrideMap(requestContext);
107107
final TransactionSimulationFunction simulationFunction =
108108
(cp, op) ->
109109
transactionSimulator.process(
@@ -214,10 +214,10 @@ protected static TransactionValidationParams getTransactionValidationParams(
214214
}
215215

216216
@VisibleForTesting
217-
protected Optional<AccountOverrideMap> getAddressAccountOverrideMap(
217+
protected Optional<StateOverrideMap> getAddressStateOverrideMap(
218218
final JsonRpcRequestContext request) {
219219
try {
220-
return request.getOptionalParameter(2, AccountOverrideMap.class);
220+
return request.getOptionalParameter(2, StateOverrideMap.class);
221221
} catch (JsonRpcParameter.JsonRpcParameterException e) {
222222
throw new InvalidJsonRpcRequestException(
223223
"Invalid account overrides parameter (index 2)", RpcErrorType.INVALID_CALL_PARAMS, e);

ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthCall.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType.BLOCK_NOT_FOUND;
1818
import static org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType.INTERNAL_ERROR;
1919

20-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
2120
import org.hyperledger.besu.datatypes.Hash;
21+
import org.hyperledger.besu.datatypes.StateOverrideMap;
2222
import org.hyperledger.besu.datatypes.Wei;
2323
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcErrorConverter;
2424
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod;
@@ -86,7 +86,7 @@ protected Object resultByBlockHash(final JsonRpcRequestContext request, final Ha
8686
protected Object resultByBlockHeader(
8787
final JsonRpcRequestContext request, final BlockHeader header) {
8888
JsonCallParameter callParams = JsonCallParameterUtil.validateAndGetCallParams(request);
89-
Optional<AccountOverrideMap> maybeStateOverrides = getAddressAccountOverrideMap(request);
89+
Optional<StateOverrideMap> maybeStateOverrides = getAddressStateOverrideMap(request);
9090
// TODO implement for block overrides
9191

9292
return transactionSimulator
@@ -117,10 +117,10 @@ protected Object resultByBlockHeader(
117117
}
118118

119119
@VisibleForTesting
120-
protected Optional<AccountOverrideMap> getAddressAccountOverrideMap(
120+
protected Optional<StateOverrideMap> getAddressStateOverrideMap(
121121
final JsonRpcRequestContext request) {
122122
try {
123-
return request.getOptionalParameter(2, AccountOverrideMap.class);
123+
return request.getOptionalParameter(2, StateOverrideMap.class);
124124
} catch (JsonRpcParameterException e) {
125125
throw new InvalidJsonRpcRequestException(
126126
"Invalid account overrides parameter (index 2)", RpcErrorType.INVALID_CALL_PARAMS, e);

ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthCallTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
import static org.mockito.Mockito.verifyNoMoreInteractions;
2828
import static org.mockito.Mockito.when;
2929

30-
import org.hyperledger.besu.datatypes.AccountOverride;
31-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
3230
import org.hyperledger.besu.datatypes.Address;
3331
import org.hyperledger.besu.datatypes.Hash;
32+
import org.hyperledger.besu.datatypes.StateOverride;
33+
import org.hyperledger.besu.datatypes.StateOverrideMap;
3434
import org.hyperledger.besu.datatypes.Wei;
3535
import org.hyperledger.besu.datatypes.parameters.UnsignedLongParameter;
3636
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
@@ -96,26 +96,26 @@ public void shouldReturnCorrectMethodName() {
9696
}
9797

9898
@Test
99-
public void noAccountOverrides() {
99+
public void noStateOverrides() {
100100
final JsonRpcRequestContext request = ethCallRequest(callParameter(), "latest");
101-
Optional<AccountOverrideMap> overrideMap = method.getAddressAccountOverrideMap(request);
101+
Optional<StateOverrideMap> overrideMap = method.getAddressStateOverrideMap(request);
102102
assertThat(overrideMap.isPresent()).isFalse();
103103
}
104104

105105
@Test
106-
public void someAccountOverrides() {
107-
AccountOverrideMap expectedOverrides = new AccountOverrideMap();
108-
AccountOverride override =
109-
new AccountOverride.Builder().withNonce(new UnsignedLongParameter("0x9e")).build();
106+
public void someStateOverrides() {
107+
StateOverrideMap expectedOverrides = new StateOverrideMap();
108+
StateOverride override =
109+
new StateOverride.Builder().withNonce(new UnsignedLongParameter("0x9e")).build();
110110
final Address address = Address.fromHexString("0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3");
111111
expectedOverrides.put(address, override);
112112

113113
final JsonRpcRequestContext request =
114114
ethCallRequestWithStateOverrides(callParameter(), "latest", expectedOverrides);
115115

116-
Optional<AccountOverrideMap> maybeOverrideMap = method.getAddressAccountOverrideMap(request);
116+
Optional<StateOverrideMap> maybeOverrideMap = method.getAddressStateOverrideMap(request);
117117
assertThat(maybeOverrideMap.isPresent()).isTrue();
118-
AccountOverrideMap overrideMap = maybeOverrideMap.get();
118+
StateOverrideMap overrideMap = maybeOverrideMap.get();
119119
assertThat(overrideMap.keySet()).hasSize(1);
120120
assertThat(overrideMap.values()).hasSize(1);
121121

@@ -498,7 +498,7 @@ private JsonRpcRequestContext ethCallRequest(
498498
private JsonRpcRequestContext ethCallRequestWithStateOverrides(
499499
final CallParameter callParameter,
500500
final String blockNumberInHex,
501-
final AccountOverrideMap overrides) {
501+
final StateOverrideMap overrides) {
502502
return new JsonRpcRequestContext(
503503
new JsonRpcRequest(
504504
"2.0", "eth_call", new Object[] {callParameter, blockNumberInHex, overrides}));

ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthEstimateGasTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import static org.mockito.Mockito.verify;
2222
import static org.mockito.Mockito.when;
2323

24-
import org.hyperledger.besu.datatypes.AccountOverride;
25-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
2624
import org.hyperledger.besu.datatypes.Address;
25+
import org.hyperledger.besu.datatypes.StateOverride;
26+
import org.hyperledger.besu.datatypes.StateOverrideMap;
2727
import org.hyperledger.besu.datatypes.Wei;
2828
import org.hyperledger.besu.datatypes.parameters.UnsignedLongParameter;
2929
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest;
@@ -104,19 +104,19 @@ public void shouldReturnCorrectMethodName() {
104104
}
105105

106106
@Test
107-
public void noAccountOverrides() {
107+
public void noStateOverrides() {
108108
final Wei gasPrice = Wei.of(1000);
109109
final JsonRpcRequestContext request =
110110
ethEstimateGasRequest(defaultLegacyTransactionCallParameter(gasPrice), "latest");
111-
Optional<AccountOverrideMap> overrideMap = method.getAddressAccountOverrideMap(request);
111+
Optional<StateOverrideMap> overrideMap = method.getAddressStateOverrideMap(request);
112112
assertThat(overrideMap.isPresent()).isFalse();
113113
}
114114

115115
@Test
116-
public void someAccountOverrides() {
117-
AccountOverrideMap expectedOverrides = new AccountOverrideMap();
118-
AccountOverride override =
119-
new AccountOverride.Builder().withNonce(new UnsignedLongParameter("0x9e")).build();
116+
public void someStateOverrides() {
117+
StateOverrideMap expectedOverrides = new StateOverrideMap();
118+
StateOverride override =
119+
new StateOverride.Builder().withNonce(new UnsignedLongParameter("0x9e")).build();
120120
final Address address = Address.fromHexString("0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3");
121121
expectedOverrides.put(address, override);
122122

@@ -125,9 +125,9 @@ public void someAccountOverrides() {
125125
ethEstimateGasRequestWithStateOverrides(
126126
defaultLegacyTransactionCallParameter(gasPrice), "latest", expectedOverrides);
127127

128-
Optional<AccountOverrideMap> maybeOverrideMap = method.getAddressAccountOverrideMap(request);
128+
Optional<StateOverrideMap> maybeOverrideMap = method.getAddressStateOverrideMap(request);
129129
assertThat(maybeOverrideMap.isPresent()).isTrue();
130-
AccountOverrideMap overrideMap = maybeOverrideMap.get();
130+
StateOverrideMap overrideMap = maybeOverrideMap.get();
131131
assertThat(overrideMap.keySet()).hasSize(1);
132132
assertThat(overrideMap.values()).hasSize(1);
133133

@@ -630,7 +630,7 @@ private JsonRpcRequestContext ethEstimateGasRequest(
630630
private JsonRpcRequestContext ethEstimateGasRequestWithStateOverrides(
631631
final CallParameter callParameter,
632632
final String blockParam,
633-
final AccountOverrideMap overrides) {
633+
final StateOverrideMap overrides) {
634634
return new JsonRpcRequestContext(
635635
new JsonRpcRequest(
636636
"2.0", "eth_estimateGas", new Object[] {callParameter, blockParam, overrides}));

ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/BlockSimulator.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
*/
1515
package org.hyperledger.besu.ethereum.transaction;
1616

17-
import org.hyperledger.besu.datatypes.AccountOverride;
18-
import org.hyperledger.besu.datatypes.AccountOverrideMap;
1917
import org.hyperledger.besu.datatypes.Address;
2018
import org.hyperledger.besu.datatypes.Hash;
19+
import org.hyperledger.besu.datatypes.StateOverride;
20+
import org.hyperledger.besu.datatypes.StateOverrideMap;
2121
import org.hyperledger.besu.datatypes.Wei;
2222
import org.hyperledger.besu.ethereum.core.Block;
2323
import org.hyperledger.besu.ethereum.core.BlockBody;
@@ -141,7 +141,7 @@ private BlockSimulationResult processSingleBlockStateCall(
141141

142142
// Apply block header overrides and state overrides
143143
BlockHeader blockHeader = applyBlockHeaderOverrides(header, newProtocolSpec, blockOverrides);
144-
blockStateCall.getAccountOverrides().ifPresent(overrides -> applyStateOverrides(overrides, ws));
144+
blockStateCall.getStateOverrideMap().ifPresent(overrides -> applyStateOverrides(overrides, ws));
145145

146146
// Override the mining beneficiary calculator if a fee recipient is specified, otherwise use the
147147
// default
@@ -236,15 +236,15 @@ protected BlockSimulationResult finalizeBlock(
236236
/**
237237
* Applies state overrides to the world state.
238238
*
239-
* @param accountOverrideMap The AccountOverrideMap containing the state overrides.
239+
* @param stateOverrideMap The StateOverrideMap containing the state overrides.
240240
* @param ws The MutableWorldState to apply the overrides to.
241241
*/
242242
@VisibleForTesting
243243
protected void applyStateOverrides(
244-
final AccountOverrideMap accountOverrideMap, final MutableWorldState ws) {
244+
final StateOverrideMap stateOverrideMap, final MutableWorldState ws) {
245245
var updater = ws.updater();
246-
for (Address accountToOverride : accountOverrideMap.keySet()) {
247-
final AccountOverride override = accountOverrideMap.get(accountToOverride);
246+
for (Address accountToOverride : stateOverrideMap.keySet()) {
247+
final StateOverride override = stateOverrideMap.get(accountToOverride);
248248
MutableAccount account = updater.getOrCreate(accountToOverride);
249249
override.getNonce().ifPresent(account::setNonce);
250250
if (override.getBalance().isPresent()) {

0 commit comments

Comments
 (0)