diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dbe3b2a5a2..5be4d9d89fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Add missing methods to the `Transaction` interface [#5732](https://github.com/hyperledger/besu/pull/5732) ### Bug Fixes +- Make smart contract permissioning features work with london fork [#5727](https://github.com/hyperledger/besu/pull/5727) ### Download Links diff --git a/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_genesis.json b/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_genesis.json index 5aee1cc13b3..04ee1a4882e 100644 --- a/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_genesis.json +++ b/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_genesis.json @@ -1,7 +1,8 @@ { "config": { "chainId": 999, - "petersburgBlock": 0, + "londonBlock": 0, + "zeroBaseFee": true, "ethash": { "fixeddifficulty": 100 } diff --git a/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_ibft_genesis.json b/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_ibft_genesis.json index 907547b0ca9..6be6cfad3fd 100644 --- a/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_ibft_genesis.json +++ b/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_ibft_genesis.json @@ -1,7 +1,8 @@ { "config": { "chainId": 999, - "petersburgBlock": 0, + "londonBlock": 0, + "zeroBaseFee": true, "ibft2": { "blockperiodseconds": 5, "epochlength": 30000, diff --git a/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_v2_genesis.json b/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_v2_genesis.json index 1802856c793..b7ec620f310 100644 --- a/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_v2_genesis.json +++ b/acceptance-tests/tests/src/test/resources/permissioning/simple_permissioning_v2_genesis.json @@ -1,7 +1,8 @@ { "config": { "chainId": 999, - "petersburgBlock": 0, + "londonBlock": 0, + "zeroBaseFee": true, "ethash": { "fixeddifficulty": 100 } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulator.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulator.java index 9a76eafee7b..22c4ac4554f 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulator.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionSimulator.java @@ -28,6 +28,7 @@ import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder; import org.hyperledger.besu.ethereum.core.MutableWorldState; import org.hyperledger.besu.ethereum.core.Transaction; +import org.hyperledger.besu.ethereum.mainnet.ImmutableTransactionValidationParams; import org.hyperledger.besu.ethereum.mainnet.MainnetTransactionProcessor; import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec; @@ -102,7 +103,10 @@ public Optional process( public Optional processAtHead(final CallParameter callParams) { return process( callParams, - TransactionValidationParams.transactionSimulator(), + ImmutableTransactionValidationParams.builder() + .from(TransactionValidationParams.transactionSimulator()) + .isAllowExceedingBalance(true) + .build(), OperationTracer.NO_TRACING, (mutableWorldState, transactionSimulatorResult) -> transactionSimulatorResult, blockchain.getChainHeadHeader());